Age | Commit message (Collapse) | Author |
|
|
|
Should probably include that extra header.
|
|
You can tell it where to start now.
|
|
|
|
|
|
Both very handy. I'll add other numeric setters later, it was very
easy.
|
|
The command line options let you set the initial radix/scale, and
there's a function te test if any number is prime, that's fun.
|
|
...But primes in base 36 and it skips all numbers with digits in the
range 0-9
|
|
This doesn't really matter for this project right now. I keep
forgetting because other ones auto-generate the code from 'git describe'
|
|
You no longer need to set the radix in the current radix.
|
|
|
|
|
|
|
|
|
|
|
|
They weren't that random, the resize routine in PackedIntArray was
written poorly. It was growing too much and computing the size of the
original array incorrectly, so not all the data was being copied every
time.
|
|
We may be able to go even a step further, but it actually parses the
string as a number with the same radix and scale as the left hand side
of the equation and then compares them as Numbers. This means that
it's actually more resiliant to minor formatting differences.
|
|
|
|
|
|
|
|
|
|
|
|
Multiply was ignoring the zero column, which was odd. I fixed this
other places but apparently missed multiply.
|
|
They still don't handle mixed scale comparisons correctly, it shouldn't
be too hard to add, but yeah...not supported yet.
|
|
If the array was zero elements long and then append was used it wouldn't
allocate memory, but it would try to write to a pointer.
|
|
|
|
|
|
It doesn't round yet, and there's a chance I should be increasing the
precision, right now it keeps the precision of the left hand side
number.
|
|
It's funny, I haven't extended division past the ones place yet, but it
does work correctly, so in theory it won't be too hard to do. I may
need a little bit of extra code in the PackedIntArray class to insert a
new digit at the begining.
|
|
It doesn't work by any means, and I think I confused myself partway
through. I shouldn't code when I'm that tired, at least not on
something this complex.
|
|
|
|
|
|
|
|
|
|
|
|
iOrd is now iScale (places to the right of the decimal. And iOrder is
now iIdx, since it was just an index.
|
|
I'm a little embarassed that I didn't do this from the start, made the
code so much easier to read.
|
|
It computes the radix and bitwidth dynamically, we could probably speed
that up another step by simply having a table of common ones, but for
now it'll work for anything.
|
|
|
|
Division now works just fine, but by long division. There are
apparently much faster ways of doing division, but as long as it works I
feel like that's a great start :)
|
|
Still working on division, needed some other operators to make it work.
|
|
Division isn't working yet, there are too many options, I'll figure out
something eventually :-P
|