Update common.h

Update pocketpy.h
This commit is contained in:
blueloveTH 2023-02-20 04:36:44 +08:00
parent 2d468311a8
commit 410fbc89cf
2 changed files with 3 additions and 3 deletions

View File

@ -36,7 +36,7 @@
#define PK_VERSION "0.8.9" #define PK_VERSION "0.8.9"
#if defined(__EMSCRIPTEN__) || defined(PK_32_BIT) #if defined(__EMSCRIPTEN__) || defined(__arm__) || defined(PK_32_BIT)
typedef int32_t i64; typedef int32_t i64;
typedef float f64; typedef float f64;
const i64 kMinSafeInt = -((i64)1 << 30); const i64 kMinSafeInt = -((i64)1 << 30);

View File

@ -752,7 +752,7 @@ void add_module_random(VM* vm){
return vm->None; return vm->None;
}); });
vm->bind_func<0>(mod, "random", CPP_LAMBDA(vm->PyFloat((f64)std::rand() / RAND_MAX))); vm->bind_func<0>(mod, "random", CPP_LAMBDA(vm->PyFloat(std::rand() / (f64)RAND_MAX)));
vm->bind_func<2>(mod, "randint", [](VM* vm, pkpy::Args& args) { vm->bind_func<2>(mod, "randint", [](VM* vm, pkpy::Args& args) {
i64 a = vm->PyInt_AS_C(args[0]); i64 a = vm->PyInt_AS_C(args[0]);
i64 b = vm->PyInt_AS_C(args[1]); i64 b = vm->PyInt_AS_C(args[1]);
@ -764,7 +764,7 @@ void add_module_random(VM* vm){
f64 a = vm->PyFloat_AS_C(args[0]); f64 a = vm->PyFloat_AS_C(args[0]);
f64 b = vm->PyFloat_AS_C(args[1]); f64 b = vm->PyFloat_AS_C(args[1]);
if(a > b) std::swap(a, b); if(a > b) std::swap(a, b);
return vm->PyFloat(a + (b - a) * std::rand() / RAND_MAX); return vm->PyFloat(a + (b - a) * std::rand() / (f64)RAND_MAX);
}); });
CodeObject_ code = vm->compile(kRandomCode, "random.py", EXEC_MODE); CodeObject_ code = vm->compile(kRandomCode, "random.py", EXEC_MODE);