Gregory Nutt
67feda60b2
libc/Kconfig: Use menus vs. comments to better organize the C library menus
2017-02-10 10:04:56 -06:00
Gregory Nutt
de1b68dc4e
libc/Kconfig: Break big Kconfig up into separate Kconfig files in each libc subdirectory.
2017-02-10 09:32:55 -06:00
Gregory Nutt
ba2b345990
Remove a few remaining use of the obsolteted 'Compilation Switches' program section
2017-01-22 08:57:18 -06:00
Gregory Nutt
2f8c2b62e1
Correct cloned typographical error in name of Rhombus OS
2017-01-19 12:11:30 -06:00
Gregory Nutt
eba03c2590
Math library: Leverage optimized ARM functions from BSD license ARM file.
2017-01-19 09:37:33 -06:00
Gregory Nutt
6e5010e0d0
floor(), floorf(), and floorl(): Fix logic error. Was not correctly handling negative integral value.
2016-08-11 18:21:29 -06:00
Gregory Nutt
4daa553328
lib_asinl.c edited online with Bitbucket. Add missing # on endif. Noted by David Alessio.
2016-07-31 16:47:25 +00:00
David S. Alessio
c145159c6b
This commit fixes the following libc/math issues:
...
1) asin[f l]() use Newton’s method to converge on a solution. But Newton’s method converges very slowly (> 500,000 iterations) for values of x close to 1.0; and, in the case of asinl(), sometimes fails to converge (loops forever). The attached patch uses an trig identity for values of x > sqrt(2). The resultant functions converge in no more than 5 iterations, 6 for asinl().
2) The NuttX erf[f l]() functions are based on Chebyshev fitting to a good guess. The problem there’s a bug in the implementation that causes the functions to blow up with x near -3.0. This patch fixes that problem. It should be noted that this method returns the error function erf(x) with fractional error less than 1.2E-07 and that’s fine for the float version erff(), but the same method is used for double and long double version which will yield only slightly better precision. This patch doesn't address the issue of lower precision for erf() and erfl().
3) a faster version of copysignf() for floats is included.
2016-07-30 15:43:56 -06:00
Gregory Nutt
23a876ab9c
Move include/nuttx/math.h to include/nuttx/lib/math.h
2016-07-21 13:58:09 -06:00
David Alessio
912ad2d345
Fix bug in logf() algorithm that caused erroneous INFINITY results.
2016-07-14 20:15:37 -06:00
Gregory Nutt
96edfdb4c7
libm: Fix/improve range checks in lib_expi() and lib_expif().
2016-07-12 09:59:10 -06:00
Gregory Nutt
3bc504b685
Per comment from David Alession: M_E128 will never be used since it is greater than FLT_MAX.
2016-07-12 09:59:08 -06:00
Gregory Nutt
dfe8596e53
Cosmetic
2016-07-11 14:15:34 -06:00
Gregory Nutt
29eae10232
lib_expi/f(): Exponental table should be 'const'. Dimension was wrong for float version.
2016-07-11 13:53:31 -06:00
Gregory Nutt
6a081e118d
Add guess at missing lib_libexpif.c file
2016-07-11 13:43:43 -06:00
David Alessio
261358f1f5
This change should significantly improve the performance of single precision floating point math library functions. The vast majority of changes have to do with preventing the compiler from needlessly promoting floats to doubles, performing the calculation with doubles, only to demote the result to float. These changes only affect the math lib functions that return float.
2016-07-11 07:02:50 -06:00
Gregory Nutt
4f81a60ef6
Add a NAN test on 'x' in asin function of lib_asin.c. Suggested by Pierre-noel Bouteville.
2016-05-31 06:31:04 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
b682190f52
Rename all head files in main NuttX repository with names like *internal.h, removing the internal
2015-12-29 17:31:17 -06:00
Gregory Nutt
e9bd8bceb4
nuttx/libc: Fix some spacing and alignment issues
2015-10-12 07:45:02 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
5b51a9fcdd
Standardize the width of all comment boxes in C files
2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Stefan Kolb
5ac6de118e
libc/math/lib_asin.c: The function did not convert for some input values. Asin did not convert for values which do not belong to the domain of the function. But aside of that the function also did not convert for sine allowed values. I achieved a conversion of the function by reducing the DBL_EPSION and by checking if the input value is in the domain of the function. This is a fix for the problem but the function should always terminate after a given number of iterations. From Stefan Kolb.
2015-09-01 08:45:14 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
1025c3fb21
Fixes to asinh(), atanh(), and sinh(): The 'basic' expansions all exhibited bad cancellation errors near zero (<= 1E-10). This can be easily seen e.g. with x = 1E-30, the results are all zero though they should be extremely close to x. The cutoff values (1E-5, 1E-9) are chosen so that the next term in the Taylor series is negligible (for double). Functions could maybe be optimized to use only first term (x) and a smaller cutoff, just bigger than where the cancellation occurs.
2015-04-09 10:35:07 -06:00
Gregory Nutt
1018296e27
Make some file section headers more consistent with standard
2015-04-08 07:32:08 -06:00
Gregory Nutt
b12cf6d2f5
Add math library support for trunc functions. From Brennan Ashton.
2015-01-26 19:00:35 -06:00
Gregory Nutt
0a11f9b669
Cosmetic
2015-01-26 18:55:17 -06:00
Gregory Nutt
06337a4f7a
Add math library support for copysign. From Brennan Ashton
2015-01-26 18:52:28 -06:00
Gregory Nutt
7e177e1c12
Add error function to math library. From Brennan Ashton.
2015-01-26 13:58:47 -06:00
Gregory Nutt
e153959eea
Add support for inverse hyperbolic functions. From Brennan Ashton
2015-01-26 13:52:53 -06:00
Gregory Nutt
5e285b8bc4
More NxWM build fixes
2014-09-20 16:47:00 -06:00
Gregory Nutt
28ad8e7cfd
Change commenting style to agree with coding standard
2014-09-08 08:02:37 -06:00
Gregory Nutt
9d03879c8b
Correct atan2 implementations from Denis Arnst
2014-09-08 07:55:09 -06:00
Gregory Nutt
f0c90a39ca
Change double_t to double in rint. Add rintf and rintl while we are at it
2014-06-28 10:14:29 -06:00
Gregory Nutt
33121dd0d0
Various changes associated with symbol tables. Most from Pelle Windestam
2014-06-27 08:14:07 -06:00
Gregory Nutt
3a1324741a
More trailing whilespace removal
2014-04-13 14:32:20 -06:00
Gregory Nutt
bdf1ad69d6
libc logic should not directly assign errno, but should use set_errno() macro. This is because in the kernel build, errno is a system call
2013-12-11 14:54:22 -06:00
Gregory Nutt
b553609351
New Kconfig convention: Extra indentation in comments will render as HTML preformatted text
2013-04-22 09:10:58 -06:00
patacongo
d028533b8a
Verified USB HID KBD driver encoding of special characters; apps/examples/hidkbd now decodes encoded keyboar characters.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5463 42af7a65-404d-4744-a932-0658087f49c3
2012-12-26 21:37:50 +00:00
patacongo
5306523bce
Patches from Petteri Aimonen + stdbool and rand() changes for Freddie Chopin
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5415 42af7a65-404d-4744-a932-0658087f49c3
2012-12-07 16:00:56 +00:00
patacongo
5cb8226727
OK.. I think the directory has been recovered and renamed
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5331 42af7a65-404d-4744-a932-0658087f49c3
2012-11-10 16:34:46 +00:00
patacongo
42997ede83
Still trying to recover directory contents
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5330 42af7a65-404d-4744-a932-0658087f49c3
2012-11-10 16:19:12 +00:00