Skip to content

Commit 7dfbc88

Browse files
Tamas Czenegalpeter
authored andcommitted
Added Math functions
JerryScript-DCO-1.0-Signed-off-by: Tamas Czene [email protected]
1 parent 7d70304 commit 7dfbc88

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4647
-388
lines changed

CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,9 @@ project (Jerry CXX C ASM)
299299
add_subdirectory(jerry-libc)
300300
endif()
301301

302+
# Jerry's fdlibm
303+
add_subdirectory(third-party/fdlibm)
304+
302305
# Jerry's Core
303306
add_subdirectory(jerry-core)
304307

@@ -319,6 +322,7 @@ project (Jerry CXX C ASM)
319322

320323
set(CORE_TARGET_NAME ${CORE_TARGET_NAME}${MODIFIER_SUFFIX_${MODIFIER}})
321324
endforeach()
325+
set(FDLIBM_TARGET_NAME ${CORE_TARGET_NAME}.jerry-fdlibm.${SUFFIX_THIRD_PARTY_LIB})
322326
set(CORE_TARGET_NAME ${CORE_TARGET_NAME}.jerry-core)
323327

324328
set(DEFINES_JERRY )
@@ -344,7 +348,7 @@ project (Jerry CXX C ASM)
344348
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
345349
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDE_EXTERNAL_LIBS_INTERFACE})
346350
target_link_libraries(${TARGET_NAME} ${PLUGINS_TARGET_NAME} ${CORE_TARGET_NAME} ${LIBC_TARGET_NAME}
347-
${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
351+
${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
348352

349353
add_cppcheck_target(${TARGET_NAME})
350354

@@ -414,14 +418,15 @@ project (Jerry CXX C ASM)
414418
set(TARGET_NAME unit_${TARGET_NAME})
415419

416420
set(CORE_TARGET_NAME unittests.jerry-core)
421+
set(FDLIBM_TARGET_NAME unittests.jerry-fdlibm.${SUFFIX_THIRD_PARTY_LIB})
417422

418423
add_executable(${TARGET_NAME} ${SOURCE_UNIT_TEST_MAIN})
419424
set_property(TARGET ${TARGET_NAME}
420425
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS}")
421426
set_property(TARGET ${TARGET_NAME}
422427
PROPERTY LINK_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_UNITTESTS} ${LINKER_FLAGS_COMMON}")
423428
target_include_directories(${TARGET_NAME} PRIVATE ${INCLUDE_CORE_INTERFACE})
424-
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libc
429+
target_link_libraries(${TARGET_NAME} ${CORE_TARGET_NAME} ${FDLIBM_TARGET_NAME} ${PREFIX_IMPORTED_LIB}libc
425430
${PREFIX_IMPORTED_LIB}libgcc ${PREFIX_IMPORTED_LIB}libgcc_eh)
426431

427432
add_cppcheck_target(${TARGET_NAME})

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ $(BUILD_ALL)_native: $(BUILD_DIRS_NATIVE)
207207
@ mkdir -p $(OUT_DIR)/$@
208208
@ $(MAKE) -C $(BUILD_DIR)/native jerry-libc-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
209209
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
210+
@ $(MAKE) -C $(BUILD_DIR)/native jerry-fdlibm-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
211+
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
210212
@ $(MAKE) -C $(BUILD_DIR)/native plugins-all VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \
211213
(echo "Build failed. See $(OUT_DIR)/$@/make.log for details."; exit 1;)
212214
@ $(MAKE) -C $(BUILD_DIR)/native $(JERRY_LINUX_TARGETS) unittests VERBOSE=1 &>$(OUT_DIR)/$@/make.log || \

jerry-core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ project (JerryCore CXX C ASM)
159159
PROPERTY COMPILE_FLAGS "${COMPILE_FLAGS_JERRY} ${CXX_FLAGS_JERRY} ${FLAGS_COMMON_${BUILD_MODE}}")
160160
target_compile_definitions(${TARGET_NAME}.jerry-core PRIVATE ${DEFINES_JERRY})
161161
target_include_directories(${TARGET_NAME}.jerry-core PRIVATE ${INCLUDE_CORE})
162+
target_include_directories(${TARGET_NAME}.jerry-core PRIVATE ${INCLUDE_FDLIBM})
162163
target_include_directories(${TARGET_NAME}.jerry-core SYSTEM PRIVATE ${INCLUDE_LIBC_INTERFACE})
163164

164165
if("${BUILD_MODE}" STREQUAL "UNITTESTS")

jerry-core/ecma/base/ecma-globals.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,7 @@ typedef uint16_t ecma_char_t;
566566
* Description of an ecma-number
567567
*/
568568
typedef float ecma_number_t;
569+
#define DOUBLE_TO_ECMA_NUMBER_T(value) static_cast<ecma_number_t> (value)
569570

570571
/**
571572
* Maximum number of significant digits that ecma-number can store
@@ -576,6 +577,7 @@ typedef float ecma_number_t;
576577
* Description of an ecma-number
577578
*/
578579
typedef double ecma_number_t;
580+
#define DOUBLE_TO_ECMA_NUMBER_T(value) value
579581

580582
/**
581583
* Maximum number of significant digits that ecma-number can store

0 commit comments

Comments
 (0)