Commit Graph

74 Commits

Author SHA1 Message Date
Mirko Scholz
4316f928f8 added facility to debug the stack pointer on P3_4 (LCD LED cathode)
roughly 139 bytes
functions were chosen by manually traversing pow_decn to the bottom
2020-09-08 23:46:41 +02:00
Mirko Scholz
7593260487 freed some space for the stack 2020-09-08 16:57:25 +02:00
Mirko Scholz
3f7dfe460b declaration exists already in decn.h 2020-09-08 16:56:50 +02:00
Mirko Scholz
51c2d2e2e7 handle truncation in entering numbers properly 2020-09-05 10:55:33 +02:00
Mirko Scholz
6ab4cfb714 extra checks for multiply 2020-09-05 10:35:45 +02:00
Mirko Scholz
6487fbde6e move constants out of the header
(as far as my C knowledge goes, this may cause problems with the linker)
2020-09-05 10:25:35 +02:00
Mirko Scholz
c18c0dabfd handle special cases for power function 2020-09-05 01:08:09 +02:00
Mirko Scholz
5ea2818fe3 move pow_decn from header to source file 2020-09-05 00:18:47 +02:00
Mirko Scholz
9464360014 compiles under gcc 10 2020-09-04 21:16:46 +02:00
Mirko Scholz
ae9beb120a handle common install paths for catch.hpp 2020-09-04 21:13:26 +02:00
Mirko Scholz
d3314a9de9 gcc 10 refuses to link otherwise 2020-09-04 20:48:09 +02:00
Mirko Scholz
eea645f401 compiles again under sdcc-3.5.0 2020-09-04 20:45:29 +02:00
Jeff Wang
fc0fe7c327 initial reciprocal square root prototyping 2019-12-11 02:27:27 -05:00
Jeff Wang
b04a95e420 increase test coverage 2019-11-20 01:54:04 -05:00
Jeff Wang
218cb67ea7 more automated unit tests 2019-11-19 00:00:18 -05:00
Jeff Wang
e907f4571d start converting testbench to Catch unit tests 2019-11-18 04:30:20 -05:00
Jeff Wang
d532f2cf44 put license notice in all files, use GPLv3+ 2019-11-14 03:45:52 -05:00
Jeff Wang
f70510e46a use cmake everywhere for desktop build, fix build warnings 2019-11-14 02:44:07 -05:00
Jeff Wang
f25a71b74c v1.09: bugfix for taking log/ln of a number with an exponent of 99 2019-11-14 02:15:34 -05:00
Jeff Wang
56e3034f9d bugfix for exponents > 127 getting printed as negative 2019-10-22 02:13:29 -04:00
Jeff Wang
c3aa80289f fix square root of 0 bug 2019-10-22 01:07:28 -04:00
Jeff Wang
581a8e26f1 disallow subtraction/negation of error 2019-10-21 02:36:57 -04:00
Jeff Wang
8f0598d75c move tmp4 to xdata to free up more stack space 2019-10-07 00:08:25 -04:00
Jeff Wang
a3b00dd815 fix division: make recip operate on accum
also avoids extra copy when only taking recip
2019-10-07 00:08:08 -04:00
Jeff Wang
45e4dd25f8 fix e^x calculation for negative x 2019-10-06 21:38:32 -04:00
Jeff Wang
5345843974 update refout 2019-10-06 21:06:48 -04:00
Jeff Wang
5f0cec0bad bugfix for log()/pow: minimize stack usage 2019-10-06 21:04:45 -04:00
Jeff Wang
75dd499630 add power function, try to reduce stack usage, standardize unary ops 2019-10-06 21:04:45 -04:00
Jeff Wang
bf0bfe39a4 calculate relative diff instead of absolute diff 2019-10-06 21:04:45 -04:00
Jeff Wang
1a9bbcc1ce initial exp() implementation
(refout for log(1.5) changed due to using more accurate expected result)
2019-10-06 21:04:40 -04:00
Jeff Wang
277ae0acf3 speedup log calculation by optimizing mulitplication by 1 + 10^-j 2019-10-05 01:04:57 -04:00
Jeff Wang
06ca0b2829 speedup log calculation by optimizing subtracting 10, regenerate reference output 2019-10-05 01:04:38 -04:00
Jeff Wang
ce42e30513 log10() fixes to prevent calculator from crashing 2019-10-04 23:49:42 -04:00
Jeff Wang
181469dd57 set error when trying to calculate log(0) 2019-10-03 00:32:38 -04:00
Jeff Wang
21be4081b2 add log10() function 2019-10-03 00:31:25 -04:00
Jeff Wang
5c194c68e4 build fix 2019-10-02 23:27:58 -04:00
Jeff Wang
77d18b57c5 make sure number not negative before trying to take log
also remove some TODOs
2019-10-02 22:51:02 -04:00
Jeff Wang
23e49a0405 NUM_A_ARRAY cannot be less than num_lsu 2019-10-02 22:45:02 -04:00
Jeff Wang
ac1aaac096 initial natural log implementation 2019-10-02 22:43:23 -04:00
Jeff Wang
acc9c4821f prototyping of reciprocal and log functions 2019-10-02 02:52:08 -04:00
Jeff Wang
6eb48de844 more comments 2019-09-24 00:11:51 -04:00
Jeff Wang
4f020da222 use global registers for division, have sub_mag() operate directly on Accum and B 2019-09-23 23:46:58 -04:00
Jeff Wang
747355222d try to remove more trailing 0s 2019-09-23 23:06:43 -04:00
Jeff Wang
eccd89807a improve initial estimate for division newton raphson iteration 2019-09-23 22:48:06 -04:00
Jeff Wang
52ddf7dd96 do not require BDecn to be preserved (frees up some xdata and code space) 2019-05-02 03:49:21 -04:00
Jeff Wang
0049f3df98 do not compile with stack auto, change functions to be nonreentrant, use fixed parameters
- frees up ~4KB of code space
2019-05-02 03:27:01 -04:00
Jeff Wang
6399cbf44f modify code to use accumulator architecture to minimize pointer usage 2019-05-01 03:54:57 -04:00
Jeff Wang
96c762aeed missed change for making number of exponent bits settable 2019-05-01 01:49:16 -04:00
Jeff Wang
60ed369c47 compare exponent directly for determining NaN 2019-05-01 01:40:23 -04:00
Jeff Wang
58a162fe4d allow number of exponent bits to be adjustable 2019-05-01 01:37:14 -04:00