annotate pytouhou/utils/vector.pxd @ 791:a29122662cde

utils: Simplify translate_2d and align Mat4 to 16 bytes This lowers the amount of instructions from 61 to 32 on PowerPC with AltiVec, and from 25 to 14 on amd64 with AVX2.
author Link Mauve <linkmauve@linkmauve.fr>
date Sat, 17 Jan 2026 14:19:58 +0100
parents 7f016dfbdfb1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
524
7f016dfbdfb1 Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 436
diff changeset
1 cdef struct Vector:
7f016dfbdfb1 Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 436
diff changeset
2 float x, y, z
436
cb5c68598ab0 Cythonize pytouhou.utils.maths and pytouhou.utils.vector.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
3
524
7f016dfbdfb1 Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 436
diff changeset
4 cdef Vector sub(Vector vec1, Vector vec2)
436
cb5c68598ab0 Cythonize pytouhou.utils.maths and pytouhou.utils.vector.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
5 cdef Vector cross(Vector vec1, Vector vec2)
524
7f016dfbdfb1 Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 436
diff changeset
6 cdef float dot(Vector vec1, Vector vec2) nogil
436
cb5c68598ab0 Cythonize pytouhou.utils.maths and pytouhou.utils.vector.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
7 cdef Vector normalize(Vector vec)