diff --git a/vm/booleans.cpp b/vm/booleans.cpp index 8407e10099..6a1bb79298 100644 --- a/vm/booleans.cpp +++ b/vm/booleans.cpp @@ -3,14 +3,24 @@ namespace factor { -VM_C_API void box_boolean(bool value) +void factorvm::box_boolean(bool value) { dpush(value ? T : F); } -VM_C_API bool to_boolean(cell value) +VM_C_API void box_boolean(bool value) +{ + return vm->box_boolean(value); +} + +bool factorvm::to_boolean(cell value) { return value != F; } +VM_C_API bool to_boolean(cell value) +{ + return vm->to_boolean(value); +} + } diff --git a/vm/vm.hpp b/vm/vm.hpp index 087e1ebe95..fbdfe125d3 100644 --- a/vm/vm.hpp +++ b/vm/vm.hpp @@ -221,6 +221,10 @@ struct factorvm { inline void vmprim_string_nth(); inline void vmprim_set_string_nth_fast(); inline void vmprim_set_string_nth_slow(); + + //booleans + void box_boolean(bool value); + bool to_boolean(cell value); // next method here: