libc: Move math library from libs/libc/math to libs/libm/libm

to prepare the support of other implementation e.g.:
https://github.com/JuliaMath/openlibm
https://gitlab.com/gtd-gmbh/libmcs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao
2023-02-18 05:21:13 +08:00
committed by Petro Karashchenko
parent 7a4bd09e48
commit 8b4ecac6c2
199 changed files with 903 additions and 470 deletions

View File

@@ -2132,6 +2132,7 @@ endmenu
menu "Library Routines"
source "libs/libc/Kconfig"
source "libs/libm/Kconfig"
source "libs/libxx/Kconfig"
source "libs/libdsp/Kconfig"
endmenu

14
LICENSE
View File

@@ -5888,9 +5888,9 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
libs/libc/math/scalbnf.c
libs/libc/math/scalbn.c
libs/libc/math/scalbnl.c
libs/libm/libm/scalbnf.c
libs/libm/libm/scalbn.c
libs/libm/libm/scalbnl.c
libs/libc/stdlib/lib_strtof.c
======================
@@ -5915,10 +5915,10 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
libs/libc/math/__cos.c
libs/libc/math/__sin.c
libs/libc/math/lib_lgamma.c
libs/libc/math/lib_copysignf.c
libs/libm/libm/__cos.c
libs/libm/libm/__sin.c
libs/libm/libm/lib_lgamma.c
libs/libm/libm/lib_copysignf.c
======================
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.

View File

@@ -327,7 +327,7 @@ endif
EXTRA_LIBS += $(COMPILER_RT_LIB)
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -142,7 +142,7 @@ endif
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -156,7 +156,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -86,7 +86,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -76,7 +76,7 @@ endif
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}}
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif

View File

@@ -295,7 +295,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -117,7 +117,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -65,7 +65,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -103,7 +103,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -69,7 +69,7 @@ endif
EXTRA_LIBS += ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif

View File

@@ -221,7 +221,7 @@ endif
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -108,7 +108,7 @@ else
STDLIBS += -lrt
endif
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
STDLIBS += -lm
endif

View File

@@ -73,7 +73,7 @@ endif
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}}
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif

View File

@@ -75,7 +75,7 @@ endif
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}}
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif

View File

@@ -148,7 +148,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -148,7 +148,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name))
ifneq ($(CONFIG_LIBM),y)
ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif

View File

@@ -35,6 +35,7 @@ CONFIG_I2C_DRIVER=y
CONFIG_I2C_RESET=y
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_LTO_FULL=y
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y

View File

@@ -36,6 +36,7 @@ CONFIG_INIT_STACKSIZE=3072
CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM=y
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_IFUPDOWN=y

View File

@@ -35,6 +35,7 @@ CONFIG_INIT_STACKSIZE=8192
CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y

View File

@@ -61,6 +61,7 @@ CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y

View File

@@ -62,6 +62,7 @@ CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_BUILTIN_APPS=y

View File

@@ -55,6 +55,7 @@ CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_LPUART0_SERIAL_CONSOLE=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y

View File

@@ -43,6 +43,7 @@ CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_LPUART0_SERIAL_CONSOLE=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y

View File

@@ -43,6 +43,7 @@ CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_FLOATINGPOINT=y
CONFIG_LIBC_PERROR_STDOUT=y
CONFIG_LIBC_STRERROR=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_LPUART0_SERIAL_CONSOLE=y
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
CONFIG_NSH_ARCHINIT=y

View File

@@ -95,6 +95,7 @@ CONFIG_IDLETHREAD_STACKSIZE=3072
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_INTELHEX_BINARY=y
CONFIG_LIBC_LONG_LONG=y
CONFIG_LIBM_TOOLCHAIN=y
CONFIG_MM_REGIONS=3
CONFIG_NAME_MAX=48
CONFIG_NETDB_DNSCLIENT=y

View File

@@ -7,7 +7,6 @@ comment "Standard C Library Options"
source "libs/libc/stdio/Kconfig"
source "libs/libc/audio/Kconfig"
source "libs/libc/math/Kconfig"
source "libs/libc/machine/Kconfig"
source "libs/libc/stdlib/Kconfig"
source "libs/libc/unistd/Kconfig"

View File

@@ -37,7 +37,6 @@ include libgen/Make.defs
include locale/Make.defs
include lzf/Make.defs
include machine/Make.defs
include math/Make.defs
include misc/Make.defs
include modlib/Make.defs
include net/Make.defs

View File

@@ -130,19 +130,6 @@ bool lib_isbasedigit(int ch, int base, FAR int *value);
int lib_checkbase(int base, FAR const char **pptr);
/* Defined in lib_expi.c */
#ifdef CONFIG_LIBM
float lib_expif(size_t n);
double lib_expi(size_t n);
#endif
/* Defined in lib_libsqrtapprox.c */
#ifdef CONFIG_LIBM
float lib_sqrtapprox(float x);
#endif
/* Defined in lib_parsehostfile.c */
#ifdef CONFIG_NETDB_HOSTFILE

View File

@@ -121,66 +121,6 @@ config LIBC_ARCH_ELF_64BIT
default n
depends on LIBC_ARCH_ELF
config LIBM_ARCH_CEIL
bool
default n
depends on LIBM
config LIBM_ARCH_FLOOR
bool
default n
depends on LIBM
config LIBM_ARCH_NEARBYINT
bool
default n
depends on LIBM
config LIBM_ARCH_RINT
bool
default n
depends on LIBM
config LIBM_ARCH_ROUND
bool
default n
depends on LIBM
config LIBM_ARCH_TRUNC
bool
default n
depends on LIBM
config LIBM_ARCH_CEILF
bool
default n
depends on LIBM
config LIBM_ARCH_FLOORF
bool
default n
depends on LIBM
config LIBM_ARCH_NEARBYINTF
bool
default n
depends on LIBM
config LIBM_ARCH_RINTF
bool
default n
depends on LIBM
config LIBM_ARCH_ROUNDF
bool
default n
depends on LIBM
config LIBM_ARCH_TRUNCF
bool
default n
depends on LIBM
# One or more the of above may be selected by architecture specific logic
if ARCH_ARM

View File

@@ -53,23 +53,4 @@ config ARMV7M_STRLEN
---help---
Enable optimized ARMv7-M specific strlen() library function
config ARMV7M_LIBM
bool "Architecture specific FPU optimizations"
default n
select LIBM_ARCH_FABSF
select LIBM_ARCH_SQRTF
depends on ARCH_FPU
depends on LIBM
---help---
Enable ARMv7E-M specific floating point optimizations
for fabsf() and fsqrtf()
config LIBM_ARCH_FABSF
bool
default n
config LIBM_ARCH_SQRTF
bool
default n
endif

View File

@@ -46,14 +46,6 @@ ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_FABSF),y)
CSRCS += arch_fabsf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_SQRTF),y)
CSRCS += arch_sqrtf.c
endif
ifeq ($(CONFIG_ARCH_TOOLCHAIN_GNU),y)
DEPPATH += --dep-path machine/arm/armv7-m/gnu
VPATH += :machine/arm/armv7-m/gnu

View File

@@ -53,23 +53,4 @@ config ARMV8M_STRLEN
---help---
Enable optimized ARMv8-M specific strlen() library function
config ARMV8M_LIBM
bool "Architecture specific optimizations"
default n
select LIBM_ARCH_CEIL if ARCH_DPFPU
select LIBM_ARCH_FLOOR if ARCH_DPFPU
select LIBM_ARCH_NEARBYINT if ARCH_DPFPU
select LIBM_ARCH_RINT if ARCH_DPFPU
select LIBM_ARCH_ROUND if ARCH_DPFPU
select LIBM_ARCH_TRUNC if ARCH_DPFPU
select LIBM_ARCH_CEILF if ARCH_FPU
select LIBM_ARCH_FLOORF if ARCH_FPU
select LIBM_ARCH_NEARBYINTF if ARCH_FPU
select LIBM_ARCH_RINTF if ARCH_FPU
select LIBM_ARCH_ROUNDF if ARCH_FPU
select LIBM_ARCH_TRUNCF if ARCH_FPU
depends on LIBM
---help---
Enable ARMv8 specific floating point optimizations.
endif

View File

@@ -22,58 +22,6 @@ ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf.c
endif
ifeq ($(CONFIG_ARMV8M_LIBM),y)
ifeq ($(CONFIG_LIBM_ARCH_CEIL),y)
CSRCS += arch_ceil.c
endif
ifeq ($(CONFIG_LIBM_ARCH_CEILF),y)
CSRCS += arch_ceilf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_FLOOR),y)
CSRCS += arch_floor.c
endif
ifeq ($(CONFIG_LIBM_ARCH_FLOORF),y)
CSRCS += arch_floorf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_NEARBYINT),y)
CSRCS += arch_nearbyint.c
endif
ifeq ($(CONFIG_LIBM_ARCH_NEARBYINTF),y)
CSRCS += arch_nearbyintf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_RINTF),y)
CSRCS += arch_rintf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_ROUNDF),y)
CSRCS += arch_roundf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_TRUNCF),y)
CSRCS += arch_truncf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_RINT),y)
CSRCS += arch_rint.c
endif
ifeq ($(CONFIG_LIBM_ARCH_ROUND),y)
CSRCS += arch_round.c
endif
ifeq ($(CONFIG_LIBM_ARCH_TRUNC),y)
CSRCS += arch_trunc.c
endif
endif # CONFIG_ARMV8M_LIBM
ifeq ($(CONFIG_ARMV8M_MEMCHR),y)
ASRCS += arch_memchr.S
endif

View File

@@ -1,77 +1,77 @@
"acos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"acosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"acosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"asin","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"asinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"asinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"atan","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"atan2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
"atan2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
"atan2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
"atanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"atanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"ceil","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"ceilf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"ceill","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"cos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"cosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"cosh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"coshf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"coshl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"cosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"exp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"expf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"expl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"fabs","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"fabsf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"fabsl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"floor","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"floorf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"floorl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"fmod","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
"fmodf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
"fmodl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
"frexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","int *"
"frexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","int *"
"frexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","int *"
"gamma","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"ldexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","int"
"ldexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","int"
"ldexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","int"
"lgamma","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log10","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log10f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"log10l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"log2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"log2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"log2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"logf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"logl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"modf","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double *"
"modff","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float *"
"modfl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double *"
"pow","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double"
"powf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float"
"powl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double"
"rint","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"rintf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"rintl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"round","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"roundf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"roundl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"sin","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"sinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"sinh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"sinhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"sinhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"sinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"sqrt","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"sqrtf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"sqrtl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"tan","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"tanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"tanh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double"
"tanhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float"
"tanhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"tanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double"
"acos","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"acosf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"acosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"asin","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"asinf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"asinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"atan","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"atan2","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double"
"atan2f","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float"
"atan2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","long double"
"atanf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"atanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"ceil","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"ceilf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"ceill","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"cos","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"cosf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"cosh","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"coshf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"coshl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"cosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"exp","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"expf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"expl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"fabs","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"fabsf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"fabsl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"floor","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"floorf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"floorl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"fmod","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double"
"fmodf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float"
"fmodl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","long double"
"frexp","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","int *"
"frexpf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","int *"
"frexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","int *"
"gamma","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"ldexp","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","int"
"ldexpf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","int"
"ldexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","int"
"lgamma","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"log","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"log10","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"log10f","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"log10l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"log2","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"log2f","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"log2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"logf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"logl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"modf","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double *"
"modff","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float *"
"modfl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","long double *"
"pow","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double"
"powf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float"
"powl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","long double"
"rint","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"rintf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"rintl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"round","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"roundf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"roundl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"sin","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"sinf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"sinh","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"sinhf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"sinhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"sinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"sqrt","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"sqrtf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"sqrtl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"tan","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"tanf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"tanh","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"tanhf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"tanhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"tanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
1 acos math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
2 acosf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
3 acosl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
4 asin math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
5 asinf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
6 asinl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
7 atan math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
8 atan2 math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
9 atan2f math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
10 atan2l math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
11 atanf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
12 atanl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
13 ceil math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
14 ceilf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
15 ceill math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
16 cos math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
17 cosf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
18 cosh math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
19 coshf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
20 coshl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
21 cosl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
22 exp math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
23 expf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
24 expl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
25 fabs math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
26 fabsf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
27 fabsl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
28 floor math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
29 floorf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
30 floorl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
31 fmod math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
32 fmodf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
33 fmodl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
34 frexp math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
35 frexpf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
36 frexpl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
37 gamma math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
38 ldexp math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
39 ldexpf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
40 ldexpl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
41 lgamma math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
42 log math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
43 log10 math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
44 log10f math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
45 log10l math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
46 log2 math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
47 log2f math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
48 log2l math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
49 logf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
50 logl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
51 modf math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
52 modff math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
53 modfl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
54 pow math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
55 powf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
56 powl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
57 rint math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
58 rintf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
59 rintl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
60 round math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
61 roundf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
62 roundl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
63 sin math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
64 sinf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
65 sinh math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
66 sinhf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
67 sinhl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
68 sinl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
69 sqrt math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
70 sqrtf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
71 sqrtl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
72 tan math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
73 tanf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
74 tanh math.h defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE) double double
75 tanhf math.h defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH) !defined(CONFIG_LIBM_NONE) float float
76 tanhl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double
77 tanl math.h defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)) defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE) long double long double

View File

@@ -55,6 +55,7 @@ config NUNGET_CHARS
config LIBC_FLOATINGPOINT
bool "Enable floating point in printf"
default !DEFAULT_SMALL && ARCH_FPU
depends on !LIBM_NONE
---help---
By default, floating point support in printf, sscanf, etc. is
disabled. This option will enable floating point support.

View File

@@ -3,11 +3,13 @@
# see the file kconfig-language.txt in the NuttX tools repository.
#
#menu "Math Library Support"
choice
prompt "Select math library"
default LIBM_NONE if DEFAULT_SMALL
default LIBM_TOOLCHAIN if !DEFAULT_SMALL
config LIBM
bool "Standard Math library"
default n
bool "Math library from NuttX"
depends on !ARCH_MATH_H
select ARCH_FLOAT_H
---help---
@@ -31,4 +33,14 @@ config LIBM
comes from the Rhombus OS and was written by Nick Johnson. The
Rhombus OS math library port was contributed by Darcy Gong.
#endmenu # Math Library Support
config LIBM_TOOLCHAIN
bool "Math library from toolchain"
config LIBM_NONE
bool "No math library"
endchoice
if LIBM
source "libs/libm/libm/Kconfig"
endif

98
libs/libm/Makefile Normal file
View File

@@ -0,0 +1,98 @@
############################################################################
# libs/libc/Makefile
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
###########################################################################
include $(TOPDIR)/Make.defs
ifeq ($(CONFIG_LIBM),y)
include libm/Make.defs
endif
BINDIR ?= bin
AOBJS = $(patsubst %.S, $(BINDIR)$(DELIM)$(DELIM)%$(OBJEXT), $(ASRCS))
COBJS = $(patsubst %.c, $(BINDIR)$(DELIM)$(DELIM)%$(OBJEXT), $(CSRCS))
SRCS = $(ASRCS) $(CSRCS)
OBJS = $(AOBJS) $(COBJS)
KBIN = libkm$(LIBEXT)
BIN ?= libm$(LIBEXT)
all: $(BIN)
.PHONY: clean distclean
$(AOBJS): $(BINDIR)$(DELIM)$(DELIM)%$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
$(COBJS): $(BINDIR)$(DELIM)$(DELIM)%$(OBJEXT): %.c
$(call COMPILE, $<, $@)
# math library for the flat build and
# the user phase of the two-pass kernel build
$(BIN): $(OBJS)
$(call ARCHIVE, $@, $(OBJS))
# math library for the kernel phase of the two-pass kernel build
ifneq ($(BIN),$(KBIN))
$(KBIN): $(OBJS)
$(Q) $(MAKE) $(KBIN) BIN=$(KBIN) EXTRAFLAGS="$(EXTRAFLAGS)"
endif
# Dependencies
makedepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds)
$(call CATFILE, bin/Make.dep, $^)
$(call DELFILE, $^)
makekdepfile: $(CSRCS:.c=.ddc) $(ASRCS:.S=.dds)
$(call CATFILE, kbin/Make.dep, $^)
$(call DELFILE, $^)
.depend: Makefile $(SRCS) $(TOPDIR)$(DELIM).config
$(Q) $(MAKE) makedepfile OBJPATH="bin"
ifneq ($(CONFIG_BUILD_FLAT),y)
$(Q) $(MAKE) makekdepfile CFLAGS="$(CFLAGS) $(KDEFINE)" OBJPATH="kbin"
endif
$(Q) touch $@
depend: .depend
# Clean most derived files, retaining the configuration
clean:
$(Q) $(MAKE) -C bin clean
$(Q) $(MAKE) -C kbin clean
$(call DELFILE, $(BIN))
$(call DELFILE, $(KBIN))
$(call CLEAN)
# Deep clean -- removes all traces of the configuration
distclean: clean
$(Q) $(MAKE) -C bin distclean
$(Q) $(MAKE) -C kbin distclean
$(call DELFILE, bin$(DELIM)Make.dep)
$(call DELFILE, kbin$(DELIM)Make.dep)
$(call DELFILE, .depend)
-include bin$(DELIM)Make.dep
-include kbin$(DELIM)Make.dep

33
libs/libm/bin/Makefile Normal file
View File

@@ -0,0 +1,33 @@
############################################################################
# libs/libc/bin/Makefile
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
###########################################################################
include $(TOPDIR)/Make.defs
all:
.PHONY: clean distclean
# Clean Targets:
clean:
$(call CLEAN)
# Deep clean -- removes all traces of the configuration
distclean: clean

33
libs/libm/kbin/Makefile Normal file
View File

@@ -0,0 +1,33 @@
############################################################################
# libs/libc/kbin/Makefile
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
###########################################################################
include $(TOPDIR)/Make.defs
all:
.PHONY: clean distclean
# Clean Targets:
clean:
$(call CLEAN)
# Deep clean -- removes all traces of the configuration
distclean: clean

85
libs/libm/libm/Kconfig Normal file
View File

@@ -0,0 +1,85 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
# These are library functions that may be overridden by architecture-
# specific implementations. Not all architectures support implementations
# for every library function.
# Default settings for C library functions that may be replaced with
# architecture-specific versions.
config LIBM_ARCH_CEIL
bool
default n
depends on LIBM
config LIBM_ARCH_FLOOR
bool
default n
depends on LIBM
config LIBM_ARCH_NEARBYINT
bool
default n
depends on LIBM
config LIBM_ARCH_RINT
bool
default n
depends on LIBM
config LIBM_ARCH_ROUND
bool
default n
depends on LIBM
config LIBM_ARCH_TRUNC
bool
default n
depends on LIBM
config LIBM_ARCH_CEILF
bool
default n
depends on LIBM
config LIBM_ARCH_FLOORF
bool
default n
depends on LIBM
config LIBM_ARCH_NEARBYINTF
bool
default n
depends on LIBM
config LIBM_ARCH_RINTF
bool
default n
depends on LIBM
config LIBM_ARCH_ROUNDF
bool
default n
depends on LIBM
config LIBM_ARCH_TRUNCF
bool
default n
depends on LIBM
config LIBM_ARCH_FABSF
bool
default n
config LIBM_ARCH_SQRTF
bool
default n
# One or more the of above may be selected by architecture specific logic
if ARCH_ARM
source "libs/libm/libm/arm/Kconfig"
endif

View File

@@ -1,5 +1,5 @@
############################################################################
# libs/libc/math/Make.defs
# libs/libm/libm/Make.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -18,17 +18,15 @@
#
############################################################################
ifeq ($(CONFIG_LIBM),y)
# Add the floating point math C files to the build
CSRCS += lib_acosf.c lib_asinf.c lib_atan2f.c lib_atanf.c lib_cosf.c
CSRCS += lib_coshf.c lib_expf.c lib_fabsf.c lib_fmodf.c lib_frexpf.c
CSRCS += lib_ldexpf.c lib_logf.c lib_log10f.c lib_log2f.c lib_modff.c
CSRCS += lib_powf.c lib_sinf.c lib_sinhf.c lib_sqrtf.c lib_tanf.c
CSRCS += lib_tanhf.c lib_asinhf.c lib_acoshf.c lib_atanhf.c lib_erff.c
CSRCS += lib_copysignf.c lib_scalbnf.c lib_scalbn.c lib_scalbnl.c
CSRCS += lib_sincos.c lib_sincosf.c lib_sincosl.c
CSRCS += lib_coshf.c lib_expf.c lib_fmodf.c lib_frexpf.c lib_ldexpf.c
CSRCS += lib_logf.c lib_log10f.c lib_log2f.c lib_modff.c lib_powf.c
CSRCS += lib_sinf.c lib_sinhf.c lib_tanf.c lib_tanhf.c lib_asinhf.c
CSRCS += lib_acoshf.c lib_atanhf.c lib_erff.c lib_copysignf.c
CSRCS += lib_scalbnf.c lib_scalbn.c lib_scalbnl.c lib_sincos.c
CSRCS += lib_sincosf.c lib_sincosl.c
CSRCS += lib_acos.c lib_asin.c lib_atan.c lib_atan2.c lib_cos.c
CSRCS += lib_cosh.c lib_exp.c lib_fabs.c lib_fmod.c lib_frexp.c
@@ -101,9 +99,21 @@ ifneq ($(CONFIG_LIBM_ARCH_TRUNCF),y)
CSRCS += lib_truncf.c
endif
ifneq ($(CONFIG_LIBM_ARCH_FABSF),y)
CSRCS += lib_fabsf.c
endif
ifneq ($(CONFIG_LIBM_ARCH_SQRTF),y)
CSRCS += lib_sqrtf.c
endif
ifeq ($(CONFIG_ARCH_ARM),y)
include $(TOPDIR)/libs/libm/libm/arm/Make.defs
endif
# Add the floating point math directory to the build
DEPPATH += --dep-path math
VPATH += :math
DEPPATH += --dep-path libm
VPATH += :libm
endif
context:

View File

@@ -1,5 +1,5 @@
/****************************************************************************
* libs/libc/math/__cos.c
* libs/libm/libm/__cos.c
*
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*

View File

@@ -1,5 +1,5 @@
/****************************************************************************
* libs/libc/math/__sin.c
* libs/libm/libm/__sin.c
*
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*

View File

@@ -0,0 +1,12 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_ARMV7M
source "libs/libm/libm/arm/armv7-m/Kconfig"
endif
if ARCH_ARMV8M
source "libs/libm/libm/arm/armv8-m/Kconfig"
endif

View File

@@ -0,0 +1,28 @@
############################################################################
# libs/libm/libm/arm/Make.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
ifeq ($(CONFIG_ARCH_ARMV7M),y)
include $(TOPDIR)/libs/libm/libm/arm/armv7-m/Make.defs
else ifeq ($(CONFIG_ARCH_ARMV8M),y)
include $(TOPDIR)/libs/libm/libm/arm/armv8-m/Make.defs
endif
DEPPATH += --dep-path libm/arm
VPATH += :libm/arm

View File

@@ -0,0 +1,19 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_ARMV7M
config ARMV7M_LIBM
bool "Architecture specific FPU optimizations"
default n
select LIBM_ARCH_FABSF
select LIBM_ARCH_SQRTF
depends on ARCH_FPU
depends on LIBM
---help---
Enable ARMv7E-M specific floating point optimizations
for fabsf() and fsqrtf()
endif

View File

@@ -0,0 +1,30 @@
############################################################################
# libs/libm/libm/arm/armv7-m/Make.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
ifeq ($(CONFIG_LIBM_ARCH_FABSF),y)
CSRCS += arch_fabsf.c
endif
ifeq ($(CONFIG_LIBM_ARCH_SQRTF),y)
CSRCS += arch_sqrtf.c
endif
DEPPATH += --dep-path libm/arm/armv7-m
VPATH += :libm/arm/armv7-m

View File

@@ -1,5 +1,5 @@
/****************************************************************************
* libs/libc/machine/arm/armv7-m/arch_fabsf.c
* libs/libm/libm/arm/armv7-m/arch_fabsf.c
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with

Some files were not shown because too many files have changed in this diff Show More