Age | Commit message (Collapse) | Author |
|
It turned out to be a really simple solution, but man, that was
embarassing. I forgot to include the fractional portion of a number
when fixing my radix+1 compliment numbers.
|
|
There was an issue with order of operations outside of parenthesies,
easily solved.
|
|
Other minor fixes and options such as --version being added.
|
|
|
|
I have to decide how to handle special values like that, but for now
it's better that it doesn't go into an infinite loop.
|
|
No more known division issues.
|
|
I'm not sure what part is broken yet though.
|
|
|
|
|
|
It looks great, and works with everything I can think of so far.
|
|
|
|
Other minor bug fixes including scale issues, digit() access stopped a
digit before the final possible digit in the scale, >, >=, <, <= all
work correctly with mixed scale numbers now, probably other fixes.
|
|
It was bailing on very small numbers with only one decimal point of
precision, which is silly. This has been fixed.
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
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
|
|
This project will most likely just be stuck into libbu++, but I didn't
want to deal with building it all in windows.
|