
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 = pretransform(m3d1, {1.0,2.0,3.0});
vec3f@test2 = pretransform(m3f1, {1.0f,2.0f,3.0f});
vec3d@test3 = pretransform(m4d1, {1.0,2.0,3.0});
vec3f@test4 = pretransform(m4f1, {1.0f,2.0f,3.0f});

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

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