Extend test program a bit to try the new reset() method.
This commit is contained in:
parent
cfc8bb89f8
commit
68df4d3371
1 changed files with 30 additions and 0 deletions
|
@ -24,6 +24,24 @@ System.print("my_sum = %(my_sum) (expected: 19)")
|
||||||
var my_sub = Maths.sub(Maths.sub(8, 5), Maths.sub(20, 19)) + 1
|
var my_sub = Maths.sub(Maths.sub(8, 5), Maths.sub(20, 19)) + 1
|
||||||
System.print("my_sub = %(my_sub) (expected: 3)")
|
System.print("my_sub = %(my_sub) (expected: 3)")
|
||||||
|
|
||||||
|
)script";
|
||||||
|
|
||||||
|
const constexpr char g_script_2[] = ""
|
||||||
|
R"script(class Maths {
|
||||||
|
foreign static mul(a,b)
|
||||||
|
foreign static div(a,b)
|
||||||
|
foreign static sum(a,b)
|
||||||
|
foreign static sub(a,b)
|
||||||
|
}
|
||||||
|
|
||||||
|
var my_mul_2 = Maths.mul(Maths.mul(2, 2), Maths.mul(3, 2)) - 4
|
||||||
|
System.print("my_mul_2 = %(my_mul_2) (expected: 20)")
|
||||||
|
|
||||||
|
var my_sum_2 = Maths.sum(Maths.sum(3, 4), Maths.sum(5, -1)) + 8
|
||||||
|
System.print("my_sum_2 = %(my_sum_2) (expected: 19)")
|
||||||
|
|
||||||
|
var my_sub_2 = Maths.sub(Maths.sub(8, 5), Maths.sub(20, 19)) + 1
|
||||||
|
System.print("my_sub_2 = %(my_sub_2) (expected: 3)")
|
||||||
)script";
|
)script";
|
||||||
|
|
||||||
class MyConfig : public wren::DefConfiguration {
|
class MyConfig : public wren::DefConfiguration {
|
||||||
|
@ -89,6 +107,18 @@ int main() {
|
||||||
|
|
||||||
wren::VM vm(&config, nullptr);
|
wren::VM vm(&config, nullptr);
|
||||||
vm.interpret("main", g_script);
|
vm.interpret("main", g_script);
|
||||||
|
wren::variable_ensure_slot(vm, {"main", "my_mul"}, 0);
|
||||||
|
|
||||||
|
std::cout << "Dynafunc mem usage: " << vm.dynafunc_byte_size() << " bytes\n";
|
||||||
|
|
||||||
|
vm.reset(&config);
|
||||||
|
std::cout << "Dynafunc mem usage after reset: " << vm.dynafunc_byte_size() << " bytes\n";
|
||||||
|
vm.interpret("main", g_script_2);
|
||||||
|
|
||||||
|
{
|
||||||
|
auto [var] = wren::variables<int>(vm, wren::ModuleAndName{"main", "my_mul_2"});
|
||||||
|
std::cout << "main::my_mul2 == " << var << " (expected: 20)\n";
|
||||||
|
}
|
||||||
|
|
||||||
std::cout << "Dynafunc mem usage: " << vm.dynafunc_byte_size() << " bytes\n";
|
std::cout << "Dynafunc mem usage: " << vm.dynafunc_byte_size() << " bytes\n";
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue