| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- #include "lua.hpp"
- #include "MathUtils.h"
- #include "Types.h"
- #include "OS.h"
- namespace crown
- {
- extern "C"
- {
- // int32_t math_test_bitmask(lua_State* L, int32_t value, int32_t bitmask);
- // int32_t math_set_bitmask(lua_State* L, int32_t value, int32_t bitmask);
- // int32_t math_unset_bitmask(lua_State* L, int32_t value, int32_t bitmask);
- // int32_t math_deg_to_rad(lua_State* L, float deg);
- // int32_t math_rad_to_deg(lua_State* L, float rad);
- // int32_t math_next_pow_2(lua_State* L, uint32_t x);
- // int32_t math_is_pow_2(lua_State* L, uint32_t x);
- // int32_t math_ceil(lua_State* L, float x);
- // int32_t math_floor(lua_State* L, float x);
- // int32_t math_sqrt(lua_State* L, float x);
- // int32_t math_inv_sqrt(lua_State* L, float x);
- // int32_t math_sin(lua_State* L, float x);
- // int32_t math_cos(lua_State* L, float x);
- // int32_t math_asin(lua_State* L, float x);
- // int32_t math_acos(lua_State* L, float x);
- // int32_t math_tan(lua_State* L, float x);
- // int32_t math_atan2(lua_State* L, float y, float x);
- // int32_t math_abs(lua_State* L, float x);
- // int32_t math_fmod(lua_State* L, float n, float d);
- //-------------------------------------------------------------------
- int32_t math_equals(lua_State* L)
- {
- os::printf("binding called\n");
- float b = luaL_checknumber(L, 1);
- float a = luaL_checknumber(L, 1);
- lua_pushboolean(L, math::equals(a, b, math::FLOAT_PRECISION));
- return 1;
- }
- // //-------------------------------------------------------------------
- // int32_t math_test_bitmask(lua_State* L, int32_t value, int32_t bitmask)
- // {
- // return math::test_bitmask(value, bitmask);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_set_bitmask(lua_State* L, int32_t value, int32_t bitmask)
- // {
- // return math::set_bitmask(value, bitmask);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_unset_bitmask(lua_State* L, int32_t value, int32_t bitmask)
- // {
- // return math::unset_bitmask(value, bitmask);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_deg_to_rad(lua_State* L, float deg)
- // {
- // return math::deg_to_rad(deg);
- // }
- // //-------------------------------------------------------------------
- // inatt32_t math_rad_to_deg(lua_State* L, float rad)
- // {
- // return math::rad_to_deg(rad);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_next_pow_2(lua_State* L, uint32_t x)
- // {
- // return math::next_pow_2(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_is_pow_2(lua_State* L, uint32_t x)
- // {
- // return math::is_pow_2(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_ceil(lua_State* L, float x)
- // {
- // return math::ceil(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_floor(lua_State* L, float x)
- // {
- // return math::floor(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_sqrt(lua_State* L, float x)
- // {
- // return math::sqrt(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_inv_sqrt(lua_State* L, float x)
- // {
- // return math::inv_sqrt(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_sin(lua_State* L, float x)
- // {
- // return math::sin(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_cos(lua_State* L, float x)
- // {
- // return math::cos(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_asin(lua_State* L, float x)
- // {
- // return math::asin(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_acos(lua_State* L, float x)
- // {
- // return math::acos(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_tan(lua_State* L, float x)
- // {
- // return math::tan(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_atan2(lua_State* L, float y, float x)
- // {
- // return math::atan2(y, x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_abs(lua_State* L, float x)
- // {
- // return math::abs(x);
- // }
- // //-------------------------------------------------------------------
- // int32_t math_fmod(lua_State* L, float n, float d)
- // {
- // return math::fmod(n, d);
- // }
- static const struct luaL_Reg Math [] = {
- {"equals", math_equals},
- {NULL, NULL}
- };
- int32_t luaopen_Math(lua_State* L)
- {
- luaL_register(L, "Math", Math);
- return 1;
- }
- }
- } // namespace crown
|