diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..608b1d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode/ +build/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e1e84a8 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,39 @@ +project (tiny-js) +cmake_minimum_required (VERSION 2.6) + +set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + +set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") + +if (NOT CMAKE_BUILD_TYPE) + set (CMAKE_BUILD_TYPE "Debug") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") +else() + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") +endif(NOT CMAKE_BUILD_TYPE) + +if (NOT WIN32) + include(CheckCXXCompilerFlag) + CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14) + if(COMPILER_SUPPORTS_CXX14) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall") + else() + message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER} has no C++14 support.") + endif() +endif(NOT WIN32) + +FILE(GLOB TINY_JS_HEADER_FILES + ${CMAKE_CURRENT_LIST_DIR}/TinyJS.h +) + +FILE(GLOB TINY_JS_SOURCE_FILES + ${CMAKE_CURRENT_LIST_DIR}/TinyJS.cpp + ${CMAKE_CURRENT_LIST_DIR}/TinyJS_Functions.cpp + ${CMAKE_CURRENT_LIST_DIR}/TinyJS_MathFunctions.cpp +) + +add_library(tiny-js STATIC ${TINY_JS_HEADER_FILES} ${TINY_JS_SOURCE_FILES}) + +ADD_EXECUTABLE(tiny-js-cli Script.cpp ${TINY_JS_SOURCE_FILES}) + +ADD_EXECUTABLE(tiny-js-tests run_tests.cpp ${TINY_JS_SOURCE_FILES}) \ No newline at end of file diff --git a/TinyJS_MathFunctions.cpp b/TinyJS_MathFunctions.cpp index 1d79882..c155df2 100755 --- a/TinyJS_MathFunctions.cpp +++ b/TinyJS_MathFunctions.cpp @@ -188,7 +188,7 @@ void scMathSinh(CScriptVar *c, void *userdata) { //Math.asinh(a) - returns trig. hyperbolic arcsine of given angle in radians void scMathASinh(CScriptVar *c, void *userdata) { - scReturnDouble( asinh( scGetDouble("a") ) ); + scReturnDouble( asinh( (long double)scGetDouble("a") ) ); } //Math.cosh(a) - returns trig. hyperbolic cosine of given angle in radians @@ -198,7 +198,7 @@ void scMathCosh(CScriptVar *c, void *userdata) { //Math.acosh(a) - returns trig. hyperbolic arccosine of given angle in radians void scMathACosh(CScriptVar *c, void *userdata) { - scReturnDouble( acosh( scGetDouble("a") ) ); + scReturnDouble( acosh( (long double)scGetDouble("a") ) ); } //Math.tanh(a) - returns trig. hyperbolic tangent of given angle in radians