26.01.1998:
- Finished rt_fixed-0.1.tar.gz
27.01.1998:
- Fixed bugs in the rt_fixed14_sin(x) and rt_fixed14_cos(x) functions.
- Added some usefull macros, namely:
- to_first_intervall(x)
- degree_to_table_index(x)
- Added some definitions, namely:
- TRIGONOMETRIC_TABLE_SIZE
- TRIGONOMETRIC_RES
- Added function rt_fixed14_ldexp(x) (implemented as a macro)
- Corrected wrong dates in this file
- new version rt_fixed-0.1a.tar.gz
28.01.1998:
- added tangent approximation
- new version rt_fixed-0.1b.tar.gz
29.01.1998:
- some minor changes
- new version rt_fixed-0.1c.tar.gz
31.01.1998:
- added tangent approximation
- Threw away:
- TRIGONOMETRIC_RES
- new version rt_fixed-0.1d.tar.gz
01.02.1998
- Added some definitions, namely:
- RT_FIXED14MAX
- RT_FIXED14MIN
- Added a little bit documentation.
- Switched arc functions to degrees instead of radians.
- new version rt_fixed-0.1e.tar.gz
22.02.1998
- Awfull lot of changes only the major changes are mentioned below
- Switched to arbitrary precision. This means the fixed point numbers
can have different number of bits for the fractional part.
- Switched all trigonometric functions to radians.
- Wrote more documentation.
01.03.1998
- Debugged the library and removed a lot of errors.
- renamed library to librt_fix.so
- renamed kernel module to rt_fix.o
- Added fixcalc example and rt_process kernel module which belongs
to the fixcalc example (must be insmoded first).
- new version rt_fixed-0.2.tar.gz
02.03.1998
- fixed two bug in the fixcalc example
1 + (-3) gave wrong results
=> bug in scanner the minus sign in the natural and the reel
definition was too much. The minus is interpreted in the
parser
1 / 10 gave wrong results
=> bug in scanner natural definition missed a + at the end
- new version rt_fixed-0.2a.tar.gz
07.03.1998
- added rt_fix_exp(x) function. Works pretty precise for x e [-1, 1]
and less precise, if x is outside this intevall. It also seems to
be a bit buggy.
- added exp(x), sin(x) and cos(x) in the fixcalc example.
08.03.1998
- fixed precision in rt_fix_exp(x) function.
- the integer word length of result of the basic operations rt_fix_mul(x,y),
rt_fix_div(x/y), rt_fix_add(x,y) and rt_fix_sub(x,y) is kept minimal now.
- added tan(x), asin(x), acos(x), round(x), floor(x), ceil(x), frac(x)
and abs(x) in the fixcalc example.
09.03.1998
- added html stuff in doc directory.
- new version rt_fixed-0.2b.tar.gz
18.03.1998
- changed implementation of rt_fix_shl(x, b) and rt_fix_shr(x, b) (shift
left and shift right) functions.
- added measurements subdirectory in test directory. This directory contains
some simple and probably not precise measurements for comparing operations
using the FPU with their equivalents using fixed point arithmetic.
- started to inline some functions. The inline functions are use, if
programs are compiled with the -O option.
- decided to export the function rt_fix_min_iwl(x) which left aligns a fixed
point number. This is usefull in order to be able to inline more
functions.
- decided to export the constants rt_fix_min, rt_fix_max and rt_fix_pi.
- decided to throw away the divzero_handler and instead return rt_fix_max
as the result of a division by zero.
19.03.1998
- inlined all basic functions (except rt_fix_sqrt() and the trigonometric functions).
- wrote more measurement functions.
- added program atprio which allows root to run measurements using soft real time
scheduling (SCHED_FIFO).
21.03.1998
- deleted attribute _string_rep in type rt_fix and changed parameters of
function rt_fix_toa().
- deleted attribute _overflow_handler. If in an operation the result overflows or
underflows the result is set to RT_FIXMAX or RT_FIXMIN depending on the type
of error.
22.03.1998
- added evaluate() program in ./test/measurements
23.03.1998
- added rt_fix_log() function which calculates the natural logarithm.
25.03.1998
- fixed bug in rt_fix_div() which caused errors in calculations like
1 / 0.1.
26.03.1998
- added rt_fix_log10() and rt_fix_log2() functions.
- decided to export rt_fix_1 (= 1) constant.
27.03.1998
- fixed bugs in functions for comparisons.
- added rt_fix_pow().
- added hyperbolic functions.
29.03.1998
- added rt_fix_atan() function.
30.03.1998
- fixed bug in rt_fix_sqrt(). The bug was that I forgot to minimize
the integer word length of the result before returning the result.
- decided to exchange the table based versions of rt_fix_asin() and
rt_fix_acos() with approximations based on rt_fix_atan().
- decided to exchange the table based versions of rt_fix_sin(),
rt_fix_cos() and rt_fix_tan() with approximations (slower but much
more precise).
- deleted include file rt_fix_tables.h. It is not needed anymore.
31.03.1998
- decided to make some functions (rt_fix_ass?(), rt_fix_toa(),
rt_fix_atofix(), rt_fix_set_*(), rt_fix_get_*()) optional.
If they are needed the library must be recompiled with
RT_FIXMISC defined.
13.04.1998
- added rt_fix_neg(arg) functions, which calculates arg * -1.
25.04.1998
- To be more conforming to ISO/IEC 10967-1 (Information technology -
Language independent arithmetic) I changed the following names:
* rt_fix_get_sign -> rt_fix_sign
* rt_fix_gt -> rt_fix_gtr
* rt_fix_gt -> rt_fix_gtr
* rt_fix_lt -> rt_fix_lss
26.04.1998
- fixed some bugs
02.05.1998
- all functions returning a boolean value are of return type short now.
- deleted attribute _fwl out of type rt_fix
- changed type of attribute _iwl from unsigned int to unsigned short.
03.05.1998
- implemented error reporting.