diff --git a/src/pocketpy.h b/src/pocketpy.h index 5cd31ffa..4f1599d0 100644 --- a/src/pocketpy.h +++ b/src/pocketpy.h @@ -1019,16 +1019,16 @@ inline void init_builtins(VM* _vm) { inline void add_module_time(VM* vm){ PyObject* mod = vm->new_module("time"); vm->bind_func<0>(mod, "time", [](VM* vm, ArgsView args) { - auto now = std::chrono::high_resolution_clock::now(); - return VAR(std::chrono::duration_cast(now.time_since_epoch()).count() / 1000000.0); + auto now = std::chrono::system_clock::now(); + return VAR(std::chrono::duration_cast(now.time_since_epoch()).count() / 1000.0); }); vm->bind_func<1>(mod, "sleep", [](VM* vm, ArgsView args) { f64 seconds = CAST_F(args[0]); - auto begin = std::chrono::high_resolution_clock::now(); + auto begin = std::chrono::system_clock::now(); while(true){ - auto now = std::chrono::high_resolution_clock::now(); - f64 elapsed = std::chrono::duration_cast(now - begin).count() / 1000000.0; + auto now = std::chrono::system_clock::now(); + f64 elapsed = std::chrono::duration_cast(now - begin).count() / 1000.0; if(elapsed >= seconds) break; } return vm->None; diff --git a/src/vm.h b/src/vm.h index 1b9f3f98..ceca3e04 100644 --- a/src/vm.h +++ b/src/vm.h @@ -1156,9 +1156,9 @@ inline PyObject* VM::vectorcall(int ARGC, int KWARGC, bool op_call){ if(args.size() < fn.argc){ vm->TypeError(fmt( "expected ", - fn.argc, + fn.argc - (int)method_call, " positional arguments, but got ", - args.size(), + args.size() - (int)method_call, " (", fn.decl->code->name, ')' )); }