
mat3d m3d1 = {
    1.0, 2.0, 3.0,
    4.0, 5.0, 6.0,
    7.0, 8.0, 9.0
};

mat4d m4d1 = {
    1.0, 2.0, 3.0, 4.0,
    5.0, 6.0, 7.0, 8.0,
    9.0, 10.0,11.0,12.0,
    13.0,14.0,15.0,16.0
};

mat3d m3f1 = {
    1.0f, 2.0f, 3.0f,
    4.0f, 5.0f, 6.0f,
    7.0f, 8.0f, 9.0f
};

mat4d m4f1 = {
    1.0f, 2.0f, 3.0f, 4.0f,
    5.0f, 6.0f, 7.0f, 8.0f,
    9.0f, 10.0f,11.0f,12.0f,
    13.0f,14.0f,15.0f,16.0f
};

vec3d@test1 = transform({1.0,2.0,3.0}, m3d1);
vec3f@test2 = transform({1.0f,2.0f,3.0f}, m3f1);
vec3d@test3 = transform({1.0,2.0,3.0}, m4d1);
vec3f@test4 = transform({1.0f,2.0f,3.0f}, m4f1);

vec4d@test5 = transform({1.0,2.0,3.0,4.0}, m4d1);
vec4f@test6 = transform({1.0f,2.0f,3.0f,4.0f}, m4f1);

vec3i v3i = {1,2,3};
vec3d@test7 = transform(v3i, m4d1);
vec3f@test8 = transform(v3i, m4f1);
