1use crate::aliases::{
2 Qua, TMat, TMat2, TMat2x3, TMat2x4, TMat3, TMat3x2, TMat3x4, TMat4, TMat4x2, TMat4x3, TVec1,
3 TVec2, TVec3, TVec4,
4};
5use crate::RealNumber;
6use na::Scalar;
7
8pub fn vec1<T: Scalar>(x: T) -> TVec1<T> {
19 TVec1::new(x)
20}
21
22pub fn vec2<T: Scalar>(x: T, y: T) -> TVec2<T> {
24 TVec2::new(x, y)
25}
26
27pub fn vec3<T: Scalar>(x: T, y: T, z: T) -> TVec3<T> {
29 TVec3::new(x, y, z)
30}
31
32pub fn vec4<T: Scalar>(x: T, y: T, z: T, w: T) -> TVec4<T> {
34 TVec4::new(x, y, z, w)
35}
36
37#[rustfmt::skip]
39pub fn mat2<T: Scalar>(m11: T, m12: T,
40 m21: T, m22: T) -> TMat2<T> {
41 TMat::<T, 2, 2>::new(
42 m11, m12,
43 m21, m22,
44 )
45}
46
47#[rustfmt::skip]
49pub fn mat2x2<T: Scalar>(m11: T, m12: T,
50 m21: T, m22: T) -> TMat2<T> {
51 TMat::<T, 2, 2>::new(
52 m11, m12,
53 m21, m22,
54 )
55}
56
57#[rustfmt::skip]
59pub fn mat2x3<T: Scalar>(m11: T, m12: T, m13: T,
60 m21: T, m22: T, m23: T) -> TMat2x3<T> {
61 TMat::<T, 2, 3>::new(
62 m11, m12, m13,
63 m21, m22, m23,
64 )
65}
66
67#[rustfmt::skip]
69pub fn mat2x4<T: Scalar>(m11: T, m12: T, m13: T, m14: T,
70 m21: T, m22: T, m23: T, m24: T) -> TMat2x4<T> {
71 TMat::<T, 2, 4>::new(
72 m11, m12, m13, m14,
73 m21, m22, m23, m24,
74 )
75}
76
77#[rustfmt::skip]
94#[allow(clippy::too_many_arguments)]
95pub fn mat3<T: Scalar>(m11: T, m12: T, m13: T,
96 m21: T, m22: T, m23: T,
97 m31: T, m32: T, m33: T) -> TMat3<T> {
98 TMat::<T, 3, 3>::new(
99 m11, m12, m13,
100 m21, m22, m23,
101 m31, m32, m33,
102 )
103}
104
105#[rustfmt::skip]
107pub fn mat3x2<T: Scalar>(m11: T, m12: T,
108 m21: T, m22: T,
109 m31: T, m32: T) -> TMat3x2<T> {
110 TMat::<T, 3, 2>::new(
111 m11, m12,
112 m21, m22,
113 m31, m32,
114 )
115}
116
117#[rustfmt::skip]
119#[allow(clippy::too_many_arguments)]
120pub fn mat3x3<T: Scalar>(m11: T, m12: T, m13: T,
121 m21: T, m22: T, m23: T,
122 m31: T, m32: T, m33: T) -> TMat3<T> {
123 TMat::<T, 3, 3>::new(
124 m11, m12, m13,
125 m21, m22, m23,
126 m31, m32, m33,
127 )
128}
129
130#[rustfmt::skip]
132#[allow(clippy::too_many_arguments)]
133pub fn mat3x4<T: Scalar>(m11: T, m12: T, m13: T, m14: T,
134 m21: T, m22: T, m23: T, m24: T,
135 m31: T, m32: T, m33: T, m34: T) -> TMat3x4<T> {
136 TMat::<T, 3, 4>::new(
137 m11, m12, m13, m14,
138 m21, m22, m23, m24,
139 m31, m32, m33, m34,
140 )
141}
142
143#[rustfmt::skip]
145pub fn mat4x2<T: Scalar>(m11: T, m12: T,
146 m21: T, m22: T,
147 m31: T, m32: T,
148 m41: T, m42: T) -> TMat4x2<T> {
149 TMat::<T, 4, 2>::new(
150 m11, m12,
151 m21, m22,
152 m31, m32,
153 m41, m42,
154 )
155}
156
157#[rustfmt::skip]
159#[allow(clippy::too_many_arguments)]
160pub fn mat4x3<T: Scalar>(m11: T, m12: T, m13: T,
161 m21: T, m22: T, m23: T,
162 m31: T, m32: T, m33: T,
163 m41: T, m42: T, m43: T) -> TMat4x3<T> {
164 TMat::<T, 4, 3>::new(
165 m11, m12, m13,
166 m21, m22, m23,
167 m31, m32, m33,
168 m41, m42, m43,
169 )
170}
171
172#[rustfmt::skip]
174#[allow(clippy::too_many_arguments)]
175pub fn mat4x4<T: Scalar>(m11: T, m12: T, m13: T, m14: T,
176 m21: T, m22: T, m23: T, m24: T,
177 m31: T, m32: T, m33: T, m34: T,
178 m41: T, m42: T, m43: T, m44: T) -> TMat4<T> {
179 TMat::<T, 4, 4>::new(
180 m11, m12, m13, m14,
181 m21, m22, m23, m24,
182 m31, m32, m33, m34,
183 m41, m42, m43, m44,
184 )
185}
186
187#[rustfmt::skip]
189#[allow(clippy::too_many_arguments)]
190pub fn mat4<T: Scalar>(m11: T, m12: T, m13: T, m14: T,
191 m21: T, m22: T, m23: T, m24: T,
192 m31: T, m32: T, m33: T, m34: T,
193 m41: T, m42: T, m43: T, m44: T) -> TMat4<T> {
194 TMat::<T, 4, 4>::new(
195 m11, m12, m13, m14,
196 m21, m22, m23, m24,
197 m31, m32, m33, m34,
198 m41, m42, m43, m44,
199 )
200}
201
202pub fn quat<T: RealNumber>(x: T, y: T, z: T, w: T) -> Qua<T> {
204 Qua::new(w, x, y, z)
205}