Commit Graph

148 Commits

Author SHA1 Message Date
Petteri Aimonen 7f9c966b5c Merge pull request #4 from cladmi/pr/libfixmath/gcc6
Fix '-Werror=shift-negative-value' for gcc 6
2017-09-28 18:58:34 +03:00
Gaëtan Harter f8596fbada Fix '-Werror=shift-negative-value' for gcc 6
GCC 6 introduced warning for shift on negative value numbers.
When F16C is called with a negative number it evaluates FIXMATH_COMBINE_I_M
with both the positive and the negative value.

Fixes #3
2017-09-28 17:06:54 +02:00
Petteri Aimonen 6928e2f76d Merge pull request #2 from xli2012/const
make some member functions const
2017-08-09 07:15:28 +03:00
Xin Li a2784ee999 make some member functions const 2017-08-08 13:54:48 -07:00
Petteri Aimonen ad9ed940e5 Add license info, as originally on Google Code. 2015-07-07 10:41:09 +03:00
Petteri Aimonen 6d4ced1f8f Create README.md 2015-07-07 10:38:13 +03:00
PetteriAimonen cbbfe85a4a Add F16C() macro for defining values without float support.
Implementation by Jonas Zeiger.
2014-12-30 18:41:55 +00:00
PetteriAimonen 516f37428b Fix typo in benchmark.c. 2014-12-30 18:41:00 +00:00
PetteriAimonen bffee79f7f Fix compile error on GCC 2014-01-16 19:15:34 +00:00
PetteriAimonen 6758096516 Fix errors on Visual Studio (patch by sunside227) 2014-01-16 06:21:59 +00:00
PetteriAimonen 66dcaddf68 Fix bug in fix16_str_unittests on Windows.
Fixes issue 23.
2013-04-19 19:36:49 +00:00
PetteriAimonen b22e67fbf0 Fix bug in the fix16_fft example 2013-02-17 08:12:25 +00:00
PetteriAimonen 6d59de5d60 Add #ifndefs around sdiv/smul/sadd/ssub in the C++ interface.
Closes issue #19.
2013-01-28 15:56:00 +00:00
PetteriAimonen bf4299bf58 Fix error in fix16_lerp16 on platforms with sizeof(int) == 2.
Patch by georgjohann. Closes issue 20.
2013-01-28 15:52:08 +00:00
PetteriAimonen 52214f192f Use >= comparison in fix16_sadd, fix16_ssub.
Patch submitted by georgjohann.
Closes issue #21.
2013-01-28 15:49:07 +00:00
Flatmush b474bff626 Fixed erronous printout of division unit test. 2012-08-31 10:35:15 +00:00
Petteri.Aimonen a3ad27ed10 Fix a division bug on 64-bit platforms.
The GCC builtin clzl depends on the sizeof(long), which
caused an error if it was other than 32 bits.

Fixes issue #17.
2012-08-31 10:16:09 +00:00
Petteri.Aimonen 10af3a6c60 Add shorthand macro F16() for defining numeric constants 2012-08-30 16:52:52 +00:00
Petteri.Aimonen 0bec62409b Edited wiki page FunctionReference through web user interface. 2012-08-29 15:00:42 +00:00
Petteri.Aimonen 543e39f42d Added to/from string conversion functions, and testcases for them. 2012-08-29 14:38:36 +00:00
Petteri.Aimonen cb1744b886 Perform the fix16_min -> fix16_minimum rename in unittests to make them work again. 2012-08-29 13:10:52 +00:00
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