mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-19 19:10:17 +00:00
fix a bug
This commit is contained in:
parent
72d5e4d098
commit
cd8ae22c2b
@ -306,7 +306,9 @@ DEF_VECTOR_INT_OPS(3)
|
||||
static bool vec2i__hash__(int argc, py_Ref argv) {
|
||||
PY_CHECK_ARGC(1);
|
||||
c11_vec2i v = py_tovec2i(argv);
|
||||
uint64_t hash = ((uint64_t)v.x << 32) | (uint64_t)v.y;
|
||||
uint64_t x_part = (uint32_t)v.x & 0xFFFFFFFF;
|
||||
uint64_t y_part = (uint32_t)v.y & 0xFFFFFFFF;
|
||||
uint64_t hash = (x_part << 32) | y_part;
|
||||
py_newint(py_retval(), (py_i64)hash);
|
||||
return true;
|
||||
}
|
||||
@ -314,9 +316,9 @@ static bool vec2i__hash__(int argc, py_Ref argv) {
|
||||
static bool vec3i__hash__(int argc, py_Ref argv) {
|
||||
PY_CHECK_ARGC(1);
|
||||
c11_vec3i v = py_tovec3i(argv);
|
||||
uint64_t x_part = (uint64_t)(v.x & 0xFFFFFF);
|
||||
uint64_t y_part = (uint64_t)(v.y & 0xFFFFFF);
|
||||
uint64_t z_part = (uint64_t)(v.z & 0xFFFF);
|
||||
uint64_t x_part = (uint32_t)v.x & 0xFFFFFF;
|
||||
uint64_t y_part = (uint32_t)v.y & 0xFFFFFF;
|
||||
uint64_t z_part = (uint32_t)v.z & 0xFFFF;
|
||||
uint64_t hash = (x_part << 40) | (y_part << 16) | z_part;
|
||||
py_newint(py_retval(), (py_i64)hash);
|
||||
return true;
|
||||
|
@ -408,15 +408,17 @@ assert x == 3.0 and y == 4.0
|
||||
x, y, z = vec3(1.0, 2.0, 3.0)
|
||||
assert x == 1.0 and y == 2.0 and z == 3.0
|
||||
|
||||
assert hash(vec2i(11, -1)) == 51539607551
|
||||
assert hash(vec3i(11, -1, 0)) == 13194139467776
|
||||
|
||||
d = {vec2i(12, 12): 1035.313708305359, vec2i(12, 11): 2059.313708305359, vec2i(12, 13): 2059.313708305359, vec2i(11, 12): 2059.313708305359, vec2i(13, 12): 2059.313708305359, vec2i(13, 11): 3083.313708305359, vec2i(13, 13): 3083.313708305359, vec2i(14, 12): 3083.313708305359, vec2i(12, 14): 3083.313708305359, vec2i(11, 13): 3083.313708305359, vec2i(12, 10): 3083.313708305359, vec2i(11, 11): 3083.313708305359, vec2i(10, 12): 3083.313708305359, vec2i(13, 14): 4107.313708305359, vec2i(14, 13): 4107.313708305359, vec2i(14, 11): 4107.313708305359, vec2i(15, 12): 4107.313708305359, vec2i(12, 15): 4107.313708305359, vec2i(11, 14): 4107.313708305359, vec2i(13, 10): 4107.313708305359, vec2i(10, 13): 4107.313708305359, vec2i(11, 10): 4107.313708305359, vec2i(10, 11): 4107.313708305359, vec2i(12, 9): 4107.313708305359, vec2i(9, 12): 4107.313708305359, vec2i(14, 14): 5131.313708305359, vec2i(15, 13): 5131.313708305359, vec2i(13, 15): 5131.313708305359, vec2i(15, 11): 5131.313708305359, vec2i(16, 12): 5131.313708305359, vec2i(12, 16): 5131.313708305359, vec2i(11, 15): 5131.313708305359, vec2i(14, 10): 5131.313708305359, vec2i(10, 14): 5131.313708305359, vec2i(13, 9): 5131.313708305359, vec2i(9, 13): 5131.313708305359}
|
||||
d[vec2i(11, 9)] = 1
|
||||
|
||||
e = {}
|
||||
for i in range(10000):
|
||||
for i in range(-1000, 10000):
|
||||
e[vec2i(12, i)] = i
|
||||
e[vec2i(11, i)] = i
|
||||
e[vec2i(13, i)] = i
|
||||
e[vec2i(i, 12)] = i
|
||||
e[vec2i(i, 11)] = i
|
||||
e[vec2i(i, 13)] = i
|
||||
e[vec2i(i, 13)] = i
|
||||
|
Loading…
x
Reference in New Issue
Block a user