Petteri.Aimonen
4ffed9b5ff
Const allows more optimizations than pure
2012-08-05 16:16:12 +00:00
Petteri.Aimonen
40ef134f4d
Add fix16_sq() inline function as a shorthand to square values
2012-08-05 16:11:40 +00:00
Flatmush
85204f4a28
Updated coding style document.
...
Cleaned up some code.
2012-07-25 14:49:11 +00:00
Flatmush
bc77d6a360
Added basic code style document to project.
2012-07-25 11:18:25 +00:00
Flatmush
fb944f6adc
Added abs, floor, ceil, min, max, clamp.
...
More code cleanup.
2012-07-25 10:38:03 +00:00
Flatmush
71eed13ecf
Added log base 2 functions kindly provided by Tev Olsen.
2012-07-25 10:24:47 +00:00
Flatmush
d9944df6d2
Added some deg/rad conversion functions.
...
Fixed up some code style inconsistencies.
Added a modulo function to allow optimization on 8-bit machines.
2012-07-25 09:54:58 +00:00
Flatmush
c2a48b8910
Added a patch to make operator results constant in the C++ interface as suggested in Issue 15.
2012-07-02 16:07:50 +00:00
Petteri.Aimonen
e490cce6b0
Added FFT code as an extra in the "contrib" folder
2012-05-29 15:17:32 +00:00
Petteri.Aimonen
9169c3663c
Fix the check around 'leaf' attribute, which is supported only by GCC > 4.6.
2012-05-06 09:09:16 +00:00
Petteri.Aimonen
329afef0d2
Updated exp() and log() on wiki page.
2012-02-27 16:54:14 +00:00
Petteri.Aimonen
91c5422472
Fix useless warning on AVR
2012-02-27 16:44:21 +00:00
Petteri.Aimonen
90973e833d
Benchmark suite using simulators
2012-02-27 16:40:45 +00:00
Petteri.Aimonen
e929442f71
Improved fix16_exp() (half runtime, more accuracy), added fix16_log(), made unittests for both.
2012-02-27 16:40:07 +00:00
Petteri.Aimonen
eb1cb67561
Added some function attributes when using GCC; these may help the optimizer a bit.
2012-01-27 15:06:46 +00:00
Petteri.Aimonen
03f046b59d
FunctionReference added conversion functions
2012-01-27 15:03:18 +00:00
Flatmush
f6ae47adc3
Documented the un-documented compilation features.
2012-01-27 12:01:52 +00:00
Petteri.Aimonen
0dfdd9964e
Edited wiki page Benchmarks through web user interface.
2012-01-26 17:28:42 +00:00
Petteri.Aimonen
a0426a95fd
Edited wiki page Benchmarks through web user interface.
2012-01-26 17:07:31 +00:00
Petteri.Aimonen
24214eabe4
Created wiki page through web user interface.
2012-01-26 16:54:14 +00:00
Petteri.Aimonen
31a2ca8e66
Edited wiki page FunctionReference through web user interface.
2012-01-26 16:29:13 +00:00
Petteri.Aimonen
352f1b49eb
Created wiki page through web user interface.
2012-01-26 16:28:40 +00:00
Petteri.Aimonen
befda5c4dc
Edited wiki page FunctionReference through web user interface.
2012-01-26 16:22:01 +00:00
Petteri.Aimonen
2a98e98255
Created wiki page through web user interface.
2012-01-26 16:09:32 +00:00
Petteri.Aimonen
9ae3e0bf47
Created wiki page through web user interface.
2012-01-26 16:09:06 +00:00
Petteri.Aimonen
f7effa525a
Created wiki page through web user interface.
2012-01-26 15:55:57 +00:00
Petteri.Aimonen
1076285d26
Merging a bunch of separately developed functions:
...
fix16_mul, fix16_div, fix16_sqrt.
They are faster & more accurate than the previous versions.
Closes issue #13 .
Includes unittests for the functions in question, runnable
by typing 'make' in the unittests folder.
2012-01-26 15:43:30 +00:00
vincent.del.medico
681fd5aea1
Back to previous Makefile I unintentionally modified
2011-06-11 10:11:11 +00:00
vincent.del.medico
495b0a23ad
Added a fix16_sqr32 function, which computes sqrt with reduced 64-bit operations (and without any 64-bit operations by setting FIXMATH_NO_64BIT)
2011-06-11 10:03:17 +00:00
vincent.del.medico
c59675818b
Fixed issue 12 in fix16_div when FIXMATH_NO_64BIT defined
2011-06-10 13:49:11 +00:00
vincent.del.medico
5248e45183
Faster atan2 algorithm (about twice faster), same precision
2011-06-09 12:32:50 +00:00
vincent.del.medico
716d5fa179
Added a new algo for sin() function, and a small error analysis to show the precision differences
2011-06-08 22:46:14 +00:00
Flatmush
b2e8a96e21
Fixed some compiler errors in int64.h.
...
Fixed and tested ARM assembler version of fix16_mul.
2011-03-16 10:56:29 +00:00
joe.schaack
39d1029807
Changed the #if defined to __thumb2__
...
did not test a compile
2011-03-15 15:48:46 +00:00
Flatmush
8f01005d11
Fixed assembler error in fix16_mul, had used 'or' instead of the correct 'orr' mnemonic.
2011-03-14 21:02:43 +00:00
Flatmush
ccf378f1e0
Fixed a dumb mistake in compilation macros which meant that fix16_mul didn't correctly compile for a certain mix of ARM and Thumb macros.
2011-03-14 20:57:36 +00:00
Flatmush
e83267f757
Changed ARM fix16_mul to be disabled for thumb.
2011-03-13 18:39:26 +00:00
flatmush
98bbaf3b17
Added ARM specific fix16_mul which should be faster, this is untested however so if somebody with an ARM target could compile and check it then I'd be greatful.
2011-03-04 12:42:58 +00:00
flatmush
5fd33d1f98
Updated lerp6 and lerp16 (LinEar inteRPolation) to use the new int64 header so that it can be used with FIXMATH_NO_64BIT.
...
Included "int64.h" in "fixmath.h" so that 64-bit integer support is now part of the libraries functionality.
2011-03-03 11:51:10 +00:00
flatmush
cc1e97463e
Added int64.h which performs 64-bit calculations using 32-bit operations, this means that the FIXMATH_NO_64BIT macro can now be used to enable these operations on compilers without 64-bit support, note that some of these operations are slower than the built-in gcc ones (though some are faster too).
...
sqrt can now be compiled without 64-bit compiler support.
All remaining functions which aren't supported in 32-bit are now disabled when the FIXMATH_NO_64BIT macro is enable which should stop any compiler errors on compilers where 64-bit isn't supported.
2011-03-03 11:21:20 +00:00
joe.schaack
88b4ee4c0e
I assume you mean to subtract the two for the ssub function...
2011-03-02 19:56:20 +00:00
flatmush
e8ab51042b
Added fix16_add, fix16_sub, fix16_ssub as static inline functions.
...
Updated C++ interface to include saturated operators.
2011-03-02 16:33:28 +00:00
flatmush
62eb1059a5
Updated C++ interface slightly, to make it more coherent.
2011-03-02 14:21:26 +00:00
flatmush
46cb5cd8df
Added C++ class interface.
...
Optimized rounding on 32-bit divide function.
2011-03-02 12:58:08 +00:00
Flatmush
359ed66670
Edited wiki page Trig_Math through web user interface.
2011-03-01 16:00:53 +00:00
flatmush
324ae1684e
Updated code::blocks project file to compile optimized release by default.
2011-03-01 15:34:50 +00:00
flatmush
9c8a4f9aa9
Updated 32-bit division so it's now actually accurate to within 0.00065% even for non-reciprocals, the algorithm is slightly slower and slightly less accurate than the 64-bit version on my machine though.
...
Added 32-bit tan port using joe's atan2_complex algorithm, this is accurate to 0.0055% when used with the new 32-bit divide.
2011-03-01 15:26:37 +00:00
joe.schaack
577a41ec50
Edited wiki page Trig_Math through web user interface.
2011-03-01 04:09:51 +00:00
joeschaack
ed9401264c
Added some more images for the wiki
2011-03-01 04:07:24 +00:00
joe.schaack
d5a2503cc9
Added a bunch of info regarding the trig stuff
2011-03-01 03:33:02 +00:00