Commit Graph

538 Commits

Author SHA1 Message Date
Sebastien Lorquet aed8a602b8 stdio: Add support for remove() 2016-08-25 08:40:34 -06:00
Gregory Nutt 6a58f046e6 CONFIG_LIBC_DIFFTIME is no longer used, but was still in Kconfig file. Noted by Sebastien Lorquet 2016-08-25 08:09:23 -06:00
Sebastien Lorquet 51596dc457 Updata difftime. Add a version of difftime for the case where the platform does not support type double 2016-08-25 08:00:50 -06:00
Sebastien Lorquet a626ba5b70 libc/time: This commit adds the difftime() function. Since the function returns a double, I have isolated it in a CONFIG_LIBC_DIFFTIME option (It also depends on the toolchain-dependent CONFIG_HAVE_DOUBLE so is not available on tiny platforms). 2016-08-24 15:43:57 -06:00
Gregory Nutt 67851849da Upate ChangeLog 2016-08-22 10:31:52 -06:00
Gregory Nutt 60b70f7dbb Make xorshift128 re-entrant so that we do do have to suffer the overhad of serialization controls. 2016-08-21 07:47:53 -06:00
Gregory Nutt 757023a909 XorShift128: Add some protection to handle the case where this logic could be called from the interrupt level. 2016-08-20 17:27:41 -06:00
Gregory Nutt 6f833be9d5 Separate XorShift128 PRNG from /dev/urandom and make it generally available. 2016-08-20 11:36:02 -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 155055d564 strtod(): Was not returning endptr on error conditions. 2016-08-11 18:20:25 -06:00
Gregory Nutt 0e35bad987 Update some comments 2016-08-11 10:12:04 -06:00
Gregory Nutt 986c568d34 Correct file header comments 2016-08-07 10:04:02 -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 d36d9d61be Trivial spacing change 2016-07-28 09:34:56 -06:00
Gregory Nutt 2b3bc90ba5 Correct a comment 2016-07-27 09:09:40 -06:00
Pierre-noel Bouteville d4f3954b35 lib_dumpbuffer: Now prints a large on-stack buffer first to avoid problems when the syslog output is prefixed with time. 2016-07-27 08:40:46 -06:00
Gregory Nutt fd42f898f6 libc: Add mkfifo() and pipe() to libc CSV file 2016-07-22 11:02:51 -06:00
Gregory Nutt 7370d3171a Move include/nuttx/lib.h to include/nuttx/lib/lib.h 2016-07-21 14:05:44 -06:00
Gregory Nutt 779d3f98ed Move include/nuttx/math32.h to include/nuttx/lib/math32.h 2016-07-21 14:00:15 -06:00
Gregory Nutt 23a876ab9c Move include/nuttx/math.h to include/nuttx/lib/math.h 2016-07-21 13:58:09 -06:00
Gregory Nutt 72a45c82b7 Move include/nuttx/regex.h to include/nuttx/lib/regex.h 2016-07-21 13:42:18 -06:00
Gregory Nutt ee9c66186c ramdisk.h moved from include/fs/nuttx/ to include/nuttx/drivers. 2016-07-20 14:02:18 -06:00
Gregory Nutt 4b4dbc79a2 Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h 2016-07-20 13:15:37 -06:00
Gregory Nutt e73e82a923 Move prototypes of mkfifo2() from sys/stat.h and pipe2() from unistd.h. They are non-standard and should not be in such a public place. They are not in include/nuttx/fs/fs.h (which isn't a great place either). 2016-07-20 11:57:18 -06:00
Gregory Nutt b28fa8a609 Move pipe() and mkpipe() to nuttx/libc. Change syscalls to pipe2() and mkfifo2() 2016-07-19 14:15:26 -06:00
Gregory Nutt 5a35abb488 Improve some comments 2016-07-17 08:31:02 -06:00
Gregory Nutt 07e20479ad /dev/random: Add configuration option to use the congruential PRNG. 2016-07-17 07:56:25 -06:00
Gregory Nutt ffd3a31649 Rename lib_rand.c to lib_srand.c 2016-07-17 07:11:09 -06:00
Gregory Nutt 95555a0199 PTY: Add ioctls to support locking and unlocking of the slave. LIBC: Add implementation of unlockpt() 2016-07-15 09:39:33 -06:00
Gregory Nutt 6139860c0b PTY: Added PTY IOCTL command definitions. Add support for TIOCGPTN. LIB: Implement ptsname() and ptsname_r() 2016-07-15 08:33:47 -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 f9d4b50207 If there are no streams, let printf() fall back to use syslog() for output. 2016-07-11 13:52:21 -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 830af912a1 Add sig_raise() 2016-07-04 09:32:36 -06:00
Gregory Nutt bde90de12f Fix libc/zoneinfo build 2016-06-30 16:20:43 -06:00
Gregory Nutt aa96a1d2ec Move the TZ/Olson zoneinfo data set from apps/system/zoneinfo to libc/zoneinfo 2016-06-30 15:40:37 -06:00
Gregory Nutt 67ea112767 Update ChangeLog 2016-06-27 13:08:40 -06:00
Gregory Nutt 2a19e16eb0 libc/hex2bin: Move the portable library portion of apps/system/hex2bin to nuttx/libc/hex2bin where it can be shared with the OS internals. 2016-06-27 11:22:38 -06:00
Gregory Nutt 7f16548f57 Replaces last three commits. Does the same thing, but does it in a way that does not change the usage model. 2016-06-21 05:26:08 -06:00
Gregory Nutt b82743612f Even the 'unconditional' _alert() macro should be disabled if all debug features are disabled. 2016-06-20 22:38:54 -06:00
Gregory Nutt 505ca542e8 Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00
Gregory Nutt 2a751068e6 Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err(). 2016-06-20 12:44:38 -06:00
Gregory Nutt 43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt d40a473f72 Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn(). 2016-06-20 09:37:08 -06:00