@@ -49,71 +49,92 @@ const ray = @import("ray.zig");
4949/// Public namespaces
5050pub const collision = @import ("collision.zig" );
5151
52+ pub const Vec = vec .VecN ;
53+ pub const Mat = mat .MatNxN ;
54+
5255/// Standard f32 precision types
5356pub const Vec2 = vec .Vec2 (f32 );
5457pub const Vec3 = vec .Vec3 (f32 );
5558pub const Vec4 = vec .Vec4 (f32 );
59+ pub fn VecN (comptime length : usize ) type {
60+ return vec .VecN (f32 , length );
61+ }
5662pub const Quat = q .Quat (f32 );
5763pub const Mat2x2 = mat .Mat2x2 (f32 );
5864pub const Mat3x3 = mat .Mat3x3 (f32 );
5965pub const Mat4x4 = mat .Mat4x4 (f32 );
66+ pub fn MatNxN (comptime rows : usize , comptime cols : usize ) type {
67+ return mat .MatNxN (f32 , rows , cols );
68+ }
6069pub const Ray = ray .Ray3 (f32 );
6170
6271/// Half-precision f16 types
6372pub const Vec2h = vec .Vec2 (f16 );
6473pub const Vec3h = vec .Vec3 (f16 );
6574pub const Vec4h = vec .Vec4 (f16 );
75+ pub fn VecNh (comptime length : usize ) type {
76+ return vec .VecN (f16 , length );
77+ }
6678pub const Quath = q .Quat (f16 );
6779pub const Mat2x2h = mat .Mat2x2 (f16 );
6880pub const Mat3x3h = mat .Mat3x3 (f16 );
6981pub const Mat4x4h = mat .Mat4x4 (f16 );
82+ pub fn MatNxNh (comptime rows : usize , comptime cols : usize ) type {
83+ return mat .MatNxN (f16 , rows , cols );
84+ }
7085pub const Rayh = ray .Ray3 (f16 );
7186
7287/// Double-precision f64 types
7388pub const Vec2d = vec .Vec2 (f64 );
7489pub const Vec3d = vec .Vec3 (f64 );
7590pub const Vec4d = vec .Vec4 (f64 );
91+ pub fn VecNd (comptime length : usize ) type {
92+ return vec .VecN (f64 , length );
93+ }
7694pub const Quatd = q .Quat (f64 );
7795pub const Mat2x2d = mat .Mat2x2 (f64 );
7896pub const Mat3x3d = mat .Mat3x3 (f64 );
7997pub const Mat4x4d = mat .Mat4x4 (f64 );
98+ pub fn MatNxNd (comptime rows : usize , comptime cols : usize ) type {
99+ return mat .MatNxN (f64 , rows , cols );
100+ }
80101pub const Rayd = ray .Ray3 (f64 );
81102
82103/// Standard f32 precision initializers
83- pub const vec2 = Vec2 .init ;
84- pub const vec3 = Vec3 .init ;
85- pub const vec4 = Vec4 .init ;
86- pub const vec2FromInt = Vec2 .fromInt ;
87- pub const vec3FromInt = Vec3 .fromInt ;
88- pub const vec4FromInt = Vec4 .fromInt ;
104+ pub const vec2 = Vec2 .init2 ;
105+ pub const vec3 = Vec3 .init3 ;
106+ pub const vec4 = Vec4 .init4 ;
107+ pub const vec2FromInt = Vec2 .fromInt2 ;
108+ pub const vec3FromInt = Vec3 .fromInt3 ;
109+ pub const vec4FromInt = Vec4 .fromInt4 ;
89110pub const quat = Quat .init ;
90- pub const mat2x2 = Mat2x2 .init ;
91- pub const mat3x3 = Mat3x3 .init ;
92- pub const mat4x4 = Mat4x4 .init ;
111+ pub const mat2x2 = Mat2x2 .init2 ;
112+ pub const mat3x3 = Mat3x3 .init3 ;
113+ pub const mat4x4 = Mat4x4 .init4 ;
93114
94115/// Half-precision f16 initializers
95- pub const vec2h = Vec2h .init ;
96- pub const vec3h = Vec3h .init ;
97- pub const vec4h = Vec4h .init ;
98- pub const vec2hFromInt = Vec2h .fromInt ;
99- pub const vec3hFromInt = Vec3h .fromInt ;
100- pub const vec4hFromInt = Vec4h .fromInt ;
116+ pub const vec2h = Vec2h .init2 ;
117+ pub const vec3h = Vec3h .init3 ;
118+ pub const vec4h = Vec4h .init4 ;
119+ pub const vec2hFromInt = Vec2h .fromInt2 ;
120+ pub const vec3hFromInt = Vec3h .fromInt3 ;
121+ pub const vec4hFromInt = Vec4h .fromInt4 ;
101122pub const quath = Quath .init ;
102- pub const mat2x2h = Mat2x2h .init ;
103- pub const mat3x3h = Mat3x3h .init ;
104- pub const mat4x4h = Mat4x4h .init ;
123+ pub const mat2x2h = Mat2x2h .init2 ;
124+ pub const mat3x3h = Mat3x3h .init3 ;
125+ pub const mat4x4h = Mat4x4h .init4 ;
105126
106127/// Double-precision f64 initializers
107- pub const vec2d = Vec2d .init ;
108- pub const vec3d = Vec3d .init ;
109- pub const vec4d = Vec4d .init ;
110- pub const vec2dFromInt = Vec2d .fromInt ;
111- pub const vec3dFromInt = Vec3d .fromInt ;
112- pub const vec4dFromInt = Vec4d .fromInt ;
128+ pub const vec2d = Vec2d .init2 ;
129+ pub const vec3d = Vec3d .init3 ;
130+ pub const vec4d = Vec4d .init4 ;
131+ pub const vec2dFromInt = Vec2d .fromInt2 ;
132+ pub const vec3dFromInt = Vec3d .fromInt3 ;
133+ pub const vec4dFromInt = Vec4d .fromInt4 ;
113134pub const quatd = Quatd .init ;
114- pub const mat2x2d = Mat2x2d .init ;
115- pub const mat3x3d = Mat3x3d .init ;
116- pub const mat4x4d = Mat4x4d .init ;
135+ pub const mat2x2d = Mat2x2d .init2 ;
136+ pub const mat3x3d = Mat3x3d .init3 ;
137+ pub const mat4x4d = Mat4x4d .init4 ;
117138
118139test {
119140 testing .refAllDeclsRecursive (@This ());
0 commit comments