Skip to content

Commit 69e3804

Browse files
committed
improved extension and basic errors fix
1 parent 93873f9 commit 69e3804

4 files changed

Lines changed: 31 additions & 2 deletions

File tree

extension/out/extension.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extension/proxpl-1.0.0.vsix

47.6 KB
Binary file not shown.

src/stdlib/math_native.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,3 +241,26 @@ ObjModule* create_std_math_module() {
241241
pop(&vm); // name
242242
return module;
243243
}
244+
245+
// Register math functions as globals (for benchmarks/ease of use)
246+
void register_math_globals(VM* vm) {
247+
defineNative(vm, "abs", native_abs);
248+
defineNative(vm, "ceil", native_ceil);
249+
defineNative(vm, "floor", native_floor);
250+
defineNative(vm, "round", native_round);
251+
defineNative(vm, "max", native_max);
252+
defineNative(vm, "min", native_min);
253+
defineNative(vm, "pow", native_pow);
254+
defineNative(vm, "sqrt", native_sqrt);
255+
defineNative(vm, "sin", native_sin);
256+
defineNative(vm, "cos", native_cos);
257+
defineNative(vm, "tan", native_tan);
258+
defineNative(vm, "asin", native_asin);
259+
defineNative(vm, "acos", native_acos);
260+
defineNative(vm, "atan", native_atan);
261+
defineNative(vm, "log", native_log);
262+
defineNative(vm, "exp", native_exp);
263+
defineNative(vm, "random", native_random);
264+
defineNative(vm, "randint", native_randint);
265+
defineNative(vm, "seed", native_seed);
266+
}

src/stdlib/stdlib_core.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ ObjModule* create_std_core_module();
2323

2424
// Legacy
2525
void register_math_natives(VM* vm);
26+
void register_math_globals(VM* vm);
2627
void register_string_natives(VM* vm);
2728
void register_convert_natives(VM* vm);
2829
void register_system_natives(VM* vm);
@@ -236,7 +237,12 @@ void registerStdLib(VM* vm) {
236237
defineNative(vm, "clock", native_clock);
237238
defineNative(vm, "len", native_len);
238239
defineNative(vm, "list_push", native_push);
239-
defineNative(vm, "limit_pop", native_pop); // wait, list_pop
240+
defineNative(vm, "push", native_push); // Alias for benchmarks
241+
defineNative(vm, "limit_pop", native_pop);
240242
defineNative(vm, "list_pop", native_pop);
243+
defineNative(vm, "pop", native_pop); // Alias for benchmarks
241244
defineNative(vm, "substr", native_substr);
245+
246+
// Register math globals
247+
register_math_globals(vm);
242248
}

0 commit comments

Comments
 (0)