zephyr/tests/lib/c_lib
Lawrence King 7dae27a90d libc: minimal: math sqrt: sqrtf: fix numeric accuracy of sqrt and sqrtf.
Changed initial guess from a simple x/3 to dividing the exponent by 2.
This makes large or small numbers like 10e10 and 01e-10 converge in a few
loops.

Added a loop counter to ensure that the algorithm breaks out of the loop in
the case that the algorithm doesn't converge (toggling between two
numbers).

Added test cases for sqrt and sqrtf in libc. Tested with a range of numbers
between 10e10 and 10e-10. Verify good accuracy in test case.

Closes: #55962

Signed-off-by: Lawrence King <lawrencek52@gmail.com>
2023-07-14 12:42:41 -04:00
..
src libc: minimal: math sqrt: sqrtf: fix numeric accuracy of sqrt and sqrtf. 2023-07-14 12:42:41 -04:00
CMakeLists.txt
Kconfig tests: lib: c_libc: tests for strerror, strerror_r 2022-07-04 22:53:36 +02:00
prj.conf libc: minimal: Introduce CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS 2022-06-01 11:03:38 +02:00
README.txt
testcase.yaml tests/c_lib: Run basic libc tests using newlib and newlib-nano 2023-07-11 09:42:55 +02:00

Title: Kernel Access to Standard Libraries

Description:

This test verifies kernel access to the standard C libraries.
It is intended to catch issues in which a library is completely absent
or non-functional, and is NOT intended to be a comprehensive test suite
of all functionality provided by the libraries.

--------------------------------------------------------------------------------

Building and Running Project:

This project outputs to the console.  It can be built and executed
on QEMU as follows:

    make run

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

***** BOOTING ZEPHYR OS vxxxx - BUILD: xxxx *****
Running test suite test_libs
tc_start() - limits_test
===================================================================
PASS - limits_test.
tc_start() - stdbool_test
===================================================================
PASS - stdbool_test.
tc_start() - stddef_test
===================================================================
PASS - stddef_test.
tc_start() - stdint_test
===================================================================
PASS - stdint_test.
tc_start() - string_test
===================================================================
PASS - string_test.
===================================================================
PROJECT EXECUTION SUCCESSFUL