|
@@ -659,6 +659,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|
| math_extern sinh
|
|
| math_extern sinh
|
|
| math_extern cosh
|
|
| math_extern cosh
|
|
| math_extern tanh
|
|
| math_extern tanh
|
|
|
|
+ | math_extern2 pow
|
|
| math_extern2 atan2
|
|
| math_extern2 atan2
|
|
| math_extern2 fmod
|
|
| math_extern2 fmod
|
|
|
|
|
|
|
|
@@ -670,8 +671,6 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|.ffunc_n math_frexp; NYI
|
|
|.ffunc_n math_frexp; NYI
|
|
|.ffunc_n math_modf; NYI
|
|
|.ffunc_n math_modf; NYI
|
|
|
|
|
|
|
|
- |.ffunc_nn math_pow; NYI
|
|
|
|
- |
|
|
|
|
|.macro math_minmax, name, cmpop
|
|
|.macro math_minmax, name, cmpop
|
|
| .ffunc_1 name
|
|
| .ffunc_1 name
|
|
| NYI
|
|
| NYI
|
|
@@ -827,24 +826,21 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|
|
|
|
|
|
| vm_round vm_floor, 0
|
|
| vm_round vm_floor, 0
|
|
| vm_round vm_ceil, 1
|
|
| vm_round vm_ceil, 1
|
|
|
|
+#if LJ_HASJIT
|
|
| vm_round vm_trunc, 2
|
|
| vm_round vm_trunc, 2
|
|
|
|
+#else
|
|
|
|
+ |->vm_trunc:
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
- |->vm_mod:
|
|
|
|
- | NYI
|
|
|
|
- |
|
|
|
|
- |->vm_exp:
|
|
|
|
- | NYI
|
|
|
|
- |->vm_exp2:
|
|
|
|
- | NYI
|
|
|
|
- |
|
|
|
|
- |->vm_pow:
|
|
|
|
- | NYI
|
|
|
|
- |
|
|
|
|
- |->vm_powi_sse:
|
|
|
|
|
|
+ |->vm_powi:
|
|
|
|
+#if LJ_HASJIT
|
|
| NYI
|
|
| NYI
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|->vm_foldfpm:
|
|
|->vm_foldfpm:
|
|
|
|
+#if LJ_HASJIT
|
|
| NYI
|
|
| NYI
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|// Callable from C: double lj_vm_foldarith(double x, double y, int op)
|
|
|// Callable from C: double lj_vm_foldarith(double x, double y, int op)
|
|
|// Compute x op y for basic arithmetic operators (+ - * / % ^ and unary -)
|
|
|// Compute x op y for basic arithmetic operators (+ - * / % ^ and unary -)
|