summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-10-30Fixed remaining known division issues.Mike Buland
It looks great, and works with everything I can think of so far.
2014-10-30Divisors between 0 and 1 break division now.Mike Buland
2014-10-30The new division works great!Mike Buland
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.
2014-09-26Added tests that fail for division.Mike Buland
We need a new division routine.
2014-09-17Added a unit test that breaks divide.Mike Buland
2014-09-17Issues with small decimal numbers were in toString.Mike Buland
It was bailing on very small numbers with only one decimal point of precision, which is silly. This has been fixed.
2013-11-14Fixed (?) parsing order of operations bug, added unit tests.Mike Buland
2013-11-13Forgot to update the version number again.Mike Buland
2013-11-13Added debugging to parser, and disabled debug flag.0.08Mike Buland
2013-11-13Corrected silly bug in variable assignment.Mike Buland
2013-05-22Some compilers need an extra header.Mike Buland
Should probably include that extra header.
2013-05-17The --text-primes option supports a parameter.Mike Buland
You can tell it where to start now.
2013-05-10Added more helpers to Number.0.07Mike Buland
2013-05-10Added more checking & unit-tests.Mike Buland
2013-05-09Added Number::toRadix & Number::set( int32_t ).Mike Buland
Both very handy. I'll add other numeric setters later, it was very easy.
2013-05-09Added better filtering in Number::set, and cli options.Mike Buland
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.
2013-05-08Added a funny option to generate primes.Mike Buland
...But primes in base 36 and it skips all numbers with digits in the range 0-9
2013-05-08Forgot to change the version number in the code.Mike Buland
This doesn't really matter for this project right now. I keep forgetting because other ones auto-generate the code from 'git describe'
2013-05-08Command parameters are taken as strings & decimal.0.06Mike Buland
You no longer need to set the radix in the current radix.
2013-04-24Updated version header.0.05Mike Buland
2013-04-24Fixed order of operations bug.Mike Buland
2013-04-23Now supports modulus (strange for fractions).Mike Buland
2013-04-23Updated the version and startup banner.0.04Mike Buland
2013-04-23Variables work.Mike Buland
2013-04-23Fixed random zeros bug.0.03Mike Buland
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.
2013-04-23Added == operator to compare Numbers & stringsMike Buland
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.
2013-04-23Added stdlib for exit in the options.cpp file.Mike Buland
2013-04-23Added cli params & a unit test.Mike Buland
2013-04-22Just tweaked the starting banner.0.02Mike Buland
2013-04-22Fixed = bug in lexer (they halted it).Mike Buland
2013-04-22There is now a parser & calculator interface.Mike Buland
2013-04-22Fixed bug in multiply, added toInt32 function.Mike Buland
Multiply was ignoring the zero column, which was odd. I fixed this other places but apparently missed multiply.
2013-04-21FIxed fractional support in comparisons.Mike Buland
They still don't handle mixed scale comparisons correctly, it shouldn't be too hard to add, but yeah...not supported yet.
2013-04-21Corrected zero-length PackedIntArray bug.Mike Buland
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.
2013-04-19Added routines to get/set scale.Mike Buland
2013-04-19Corrected bugs in division scaling and string parsing.Mike Buland
2013-04-19Fractional divisoin works.Mike Buland
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.
2013-04-19It does fractional division, but the result is an int.Mike Buland
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.
2013-04-17Division, attempt one - broken.Mike Buland
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.
2013-04-17Now you can multiply fractional numbers.Mike Buland
2013-04-17You can now add and subtract fractional numbers.Mike Buland
2013-04-17Fractional portions parse now.Mike Buland
2013-04-17Well, the fractional portion is...making...progress...Mike Buland
2013-04-16Broke the string parser.Mike Buland
2013-04-16Cleaned up some naming.0.01Mike Buland
iOrd is now iScale (places to the right of the decimal. And iOrder is now iIdx, since it was just an index.
2013-04-16Added formatter for Number.Mike Buland
I'm a little embarassed that I didn't do this from the start, made the code so much easier to read.
2013-04-16Full support for arbitrary radixes is in place.Mike Buland
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.
2013-04-16The divide function is public now.Mike Buland
2013-04-16Added /, %, and = operators.Mike Buland
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 :)
2013-04-16Added operators: -, ==, !=, <, >, <=, >=Mike Buland
Still working on division, needed some other operators to make it work.