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" menu "Library Routines"
source "libs/libc/Kconfig" source "libs/libc/Kconfig"
source "libs/libm/Kconfig"
source "libs/libxx/Kconfig" source "libs/libxx/Kconfig"
source "libs/libdsp/Kconfig" source "libs/libdsp/Kconfig"
endmenu 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 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. POSSIBILITY OF SUCH DAMAGE.
libs/libc/math/scalbnf.c libs/libm/libm/scalbnf.c
libs/libc/math/scalbn.c libs/libm/libm/scalbn.c
libs/libc/math/scalbnl.c libs/libm/libm/scalbnl.c
libs/libc/stdlib/lib_strtof.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 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
libs/libc/math/__cos.c libs/libm/libm/__cos.c
libs/libc/math/__sin.c libs/libm/libm/__sin.c
libs/libc/math/lib_lgamma.c libs/libm/libm/lib_lgamma.c
libs/libc/math/lib_copysignf.c libs/libm/libm/lib_copysignf.c
====================== ======================
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.

View File

@ -327,7 +327,7 @@ endif
EXTRA_LIBS += $(COMPILER_RT_LIB) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -142,7 +142,7 @@ endif
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -156,7 +156,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -86,7 +86,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -76,7 +76,7 @@ endif
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}} 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}} EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif endif

View File

@ -295,7 +295,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -117,7 +117,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -65,7 +65,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -103,7 +103,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -69,7 +69,7 @@ endif
EXTRA_LIBS += ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name} 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}} EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif endif

View File

@ -221,7 +221,7 @@ endif
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

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

View File

@ -73,7 +73,7 @@ endif
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}} 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}} EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif endif

View File

@ -75,7 +75,7 @@ endif
EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name}} 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}} EXTRA_LIBS += ${wildcard ${shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a}}
endif endif

View File

@ -148,7 +148,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

@ -148,7 +148,7 @@ OBJDUMP = $(CROSSDEV)objdump
EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-libgcc-file-name)) 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)) EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) --print-file-name=libm.a))
endif endif

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -37,7 +37,6 @@ include libgen/Make.defs
include locale/Make.defs include locale/Make.defs
include lzf/Make.defs include lzf/Make.defs
include machine/Make.defs include machine/Make.defs
include math/Make.defs
include misc/Make.defs include misc/Make.defs
include modlib/Make.defs include modlib/Make.defs
include net/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); 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 */ /* Defined in lib_parsehostfile.c */
#ifdef CONFIG_NETDB_HOSTFILE #ifdef CONFIG_NETDB_HOSTFILE

View File

@ -121,66 +121,6 @@ config LIBC_ARCH_ELF_64BIT
default n default n
depends on LIBC_ARCH_ELF 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 # One or more the of above may be selected by architecture specific logic
if ARCH_ARM if ARCH_ARM

View File

@ -53,23 +53,4 @@ config ARMV7M_STRLEN
---help--- ---help---
Enable optimized ARMv7-M specific strlen() library function 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 endif

View File

@ -46,14 +46,6 @@ ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf.c CSRCS += arch_elf.c
endif 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) ifeq ($(CONFIG_ARCH_TOOLCHAIN_GNU),y)
DEPPATH += --dep-path machine/arm/armv7-m/gnu DEPPATH += --dep-path machine/arm/armv7-m/gnu
VPATH += :machine/arm/armv7-m/gnu VPATH += :machine/arm/armv7-m/gnu

View File

@ -53,23 +53,4 @@ config ARMV8M_STRLEN
---help--- ---help---
Enable optimized ARMv8-M specific strlen() library function 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 endif

View File

@ -22,58 +22,6 @@ ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf.c CSRCS += arch_elf.c
endif 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) ifeq ($(CONFIG_ARMV8M_MEMCHR),y)
ASRCS += arch_memchr.S ASRCS += arch_memchr.S
endif endif

View File

@ -1,77 +1,77 @@
"acos","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double" "acos","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"acosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "acosf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"acosl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "asin","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"asinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "asinf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"asinl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "atan","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"atan2","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","double" "atan2","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double"
"atan2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float" "atan2f","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float"
"atan2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double" "atan2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double","long double"
"atanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "atanf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"atanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "ceil","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"ceilf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "ceilf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"ceill","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "cos","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"cosf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "cosf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"cosh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double" "cosh","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"coshf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "coshf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"coshl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","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) || defined(CONFIG_ARCH_MATH))","double","double" "exp","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"expf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "expf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"expl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "fabs","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"fabsf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "fabsf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"fabsl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "floor","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"floorf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "floorf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"floorl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double","double" "fmod","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double"
"fmodf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float" "fmodf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float"
"fmodl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double","int *" "frexp","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","int *"
"frexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","int *" "frexpf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","int *"
"frexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","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) || defined(CONFIG_ARCH_MATH))","double","double" "gamma","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"ldexp","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double","int" "ldexp","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","int"
"ldexpf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","int" "ldexpf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","int"
"ldexpl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","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) || defined(CONFIG_ARCH_MATH))","double","double" "lgamma","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"log","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_NONE)","double","double"
"log10","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_NONE)","double","double"
"log10f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "log10f","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"log10l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "log2","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"log2f","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "log2f","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"log2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "log2l","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"
"logf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "logf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"logl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double","double *" "modf","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double *"
"modff","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float *" "modff","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float *"
"modfl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double *" "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) || defined(CONFIG_ARCH_MATH))","double","double","double" "pow","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double","double"
"powf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float","float" "powf","math.h","!defined(CONFIG_LIBM_NONE)","float","float","float"
"powl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "rint","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"rintf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "rintf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"rintl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "round","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"roundf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "roundf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"roundl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "sin","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"sinf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "sinf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"sinh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double" "sinh","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"sinhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "sinhf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"sinhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","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) || defined(CONFIG_ARCH_MATH))","double","double" "sqrt","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"sqrtf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "sqrtf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"sqrtl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","double","double" "tan","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"tanf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "tanf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"tanh","math.h","defined(CONFIG_HAVE_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","double","double" "tanh","math.h","defined(CONFIG_HAVE_DOUBLE) && !defined(CONFIG_LIBM_NONE)","double","double"
"tanhf","math.h","defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH)","float","float" "tanhf","math.h","!defined(CONFIG_LIBM_NONE)","float","float"
"tanhl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && (defined(CONFIG_LIBM) || defined(CONFIG_ARCH_MATH))","long double","long double" "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) || defined(CONFIG_ARCH_MATH))","long double","long double" "tanl","math.h","defined(CONFIG_HAVE_LONG_DOUBLE) && !defined(CONFIG_LIBM_NONE)","long double","long double"

Can't render this file because it has a wrong number of fields in line 8.

View File

@ -55,6 +55,7 @@ config NUNGET_CHARS
config LIBC_FLOATINGPOINT config LIBC_FLOATINGPOINT
bool "Enable floating point in printf" bool "Enable floating point in printf"
default !DEFAULT_SMALL && ARCH_FPU default !DEFAULT_SMALL && ARCH_FPU
depends on !LIBM_NONE
---help--- ---help---
By default, floating point support in printf, sscanf, etc. is By default, floating point support in printf, sscanf, etc. is
disabled. This option will enable floating point support. 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. # 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 config LIBM
bool "Standard Math library" bool "Math library from NuttX"
default n
depends on !ARCH_MATH_H depends on !ARCH_MATH_H
select ARCH_FLOAT_H select ARCH_FLOAT_H
---help--- ---help---
@ -31,4 +33,14 @@ config LIBM
comes from the Rhombus OS and was written by Nick Johnson. The comes from the Rhombus OS and was written by Nick Johnson. The
Rhombus OS math library port was contributed by Darcy Gong. 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 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with # 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 # 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_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_coshf.c lib_expf.c lib_fmodf.c lib_frexpf.c lib_ldexpf.c
CSRCS += lib_ldexpf.c lib_logf.c lib_log10f.c lib_log2f.c lib_modff.c CSRCS += lib_logf.c lib_log10f.c lib_log2f.c lib_modff.c lib_powf.c
CSRCS += lib_powf.c lib_sinf.c lib_sinhf.c lib_sqrtf.c lib_tanf.c CSRCS += lib_sinf.c lib_sinhf.c lib_tanf.c lib_tanhf.c lib_asinhf.c
CSRCS += lib_tanhf.c lib_asinhf.c lib_acoshf.c lib_atanhf.c lib_erff.c CSRCS += lib_acoshf.c lib_atanhf.c lib_erff.c lib_copysignf.c
CSRCS += lib_copysignf.c lib_scalbnf.c lib_scalbn.c lib_scalbnl.c CSRCS += lib_scalbnf.c lib_scalbn.c lib_scalbnl.c lib_sincos.c
CSRCS += lib_sincos.c lib_sincosf.c lib_sincosl.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_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 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 CSRCS += lib_truncf.c
endif 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 # Add the floating point math directory to the build
DEPPATH += --dep-path math DEPPATH += --dep-path libm
VPATH += :math 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. * 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. * 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 * Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with * contributor license agreements. See the NOTICE file distributed with

View File

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

View File

@ -0,0 +1,27 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_ARMV8M
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

@ -0,0 +1,70 @@
############################################################################
# libs/libm/libm/arm/armv8-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_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
DEPPATH += --dep-path libm/arm/armv8-m
VPATH += :libm/arm/armv8-m

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_ceil.c * libs/libm/libm/arm/armv8-m/arch_ceil.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_ceilf.c * libs/libm/libm/arm/armv8-m/arch_ceilf.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_floor.c * libs/libm/libm/arm/armv8-m/arch_floor.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_floorf.c * libs/libm/libm/arm/armv8-m/arch_floorf.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_nearbyint.c * libs/libm/libm/arm/armv8-m/arch_nearbyint.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_nearbyintf.c * libs/libm/libm/arm/armv8-m/arch_nearbyintf.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_rint.c * libs/libm/libm/arm/armv8-m/arch_rint.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_rintf.c * libs/libm/libm/arm/armv8-m/arch_rintf.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_round.c * libs/libm/libm/arm/armv8-m/arch_round.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_roundf.c * libs/libm/libm/arm/armv8-m/arch_roundf.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_trunc.c * libs/libm/libm/arm/armv8-m/arch_trunc.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/machine/arm/armv8-m/arch_truncf.c * libs/libm/libm/arm/armv8-m/arch_truncf.c
* *
* Copyright (c) 2011, 2012 ARM Ltd. All rights reserved. * Copyright (c) 2011, 2012 ARM Ltd. All rights reserved.
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_acos.c * libs/libm/libm/lib_acos.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_acosf.c * libs/libm/libm/lib_acosf.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_acosl.c * libs/libm/libm/lib_acosl.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_asin.c * libs/libm/libm/lib_asin.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_asinf.c * libs/libm/libm/lib_asinf.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_asinl.c * libs/libm/libm/lib_asinl.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_atan.c * libs/libm/libm/lib_atan.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_atan2.c * libs/libm/libm/lib_atan2.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_atan2f.c * libs/libm/libm/lib_atan2f.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_atan2l.c * libs/libm/libm/lib_atan2l.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_atanf.c * libs/libm/libm/lib_atanf.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_atanl.c * libs/libm/libm/lib_atanl.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

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

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_ceil.c * libs/libm/libm/lib_ceil.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_ceilf.c * libs/libm/libm/lib_ceilf.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_ceill.c * libs/libm/libm/lib_ceill.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_cos.c * libs/libm/libm/lib_cos.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_cosf.c * libs/libm/libm/lib_cosf.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_cosh.c * libs/libm/libm/lib_cosh.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_coshf.c * libs/libm/libm/lib_coshf.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_coshl.c * libs/libm/libm/lib_coshl.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_cosl.c * libs/libm/libm/lib_cosl.c
* *
* This file is a part of NuttX: * This file is a part of NuttX:
* *

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libc/math/lib_erf.c * libs/libm/libm/lib_erf.c
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with * 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