glamx 0.5.0
Physics-oriented extensions of glam (Rot2, Pose2, Pose3, SdpMatrix, symmetric eigen): port of Dimforge glamx on the fixed Q32.32 scalar
Pure Cairo port of Dimforge's glamx 0.3.1 on the
fixed Q32.32 scalar and
glam: Rot2, Rot3, Pose2, Pose3,
SdpMatrix2, SdpMatrix3 and SymmetricEigen3.
[dependencies]
glamx = "0.4.1"
Compatible with Cairo 2.20.0. It depends on glam_core and fixed (not on the glam facade).
glamx values interoperate with glam facade users: glam::vec3::Vec3, glam::quat::Quat,
glam::mat4::Mat4 and the other facade types are the glam_core types glamx takes and returns.
Sierra gas (l2 gas, what a transaction pays) and prover cost (steps, range checks) of one call, net of the test overhead (X__op - X__base, see scripts/bench.py), measured with scarb 2.20.1, starknet-foundry 0.64.0 (.tool-versions). Source of truth: gas/*.snap; this region is generated by scripts/gas_tables.py, do not edit it.
Pose3mul_pose3
18 360
164
28
inv_mul
20 580
182
34
inverse
10 240
94
12
transform_point
10 140
93
12
transform_vector
9 240
84
12
inverse_transform_point
11 460
102
18
nlerp
34 790
284
59
to_mat4
21 240
183
42
Pose2mul
8 720
76
16
inv_mul
9 800
84
20
inverse
5 060
45
8
transform_point
4 960
44
8
transform_vector
4 560
40
8
Rot2mul
4 560
40
8
mul_vec2
4 560
40
8
inverse
400
4
0
from_angle
31 300
243
62
angle
29 630
207
44
normalize
8 820
75
18
lerp
4 760
42
8
slerp
71 960
536
126
SdpMatrix3mul_vec
7 040
62
12
mul_mat
19 520
170
36
add
5 840
50
12
quadform
21 010
183
24
inverse_regular
27 650
226
56
from_rotated_diagonal
35 550
299
66
SymmetricEigen3new (generic)
550 950
4 578
961
new (diagonal)
57 960
484
62
eigenvalues (generic)
507 470
4 205
873
The committed snapshots are measured by
scripts/bench.py and checked in CI.
Version 0.5.0
Uploaded 1 week ago
License MIT
Cairo version ^2.20.0
Size 97.7 KB
Run the following command in your project dir
scarb add glamx@0.5.0
Or add the following line to your Scarb.toml
glamx = "0.5.0"