public static vec4 vec4(vec2 xy, double z, double w) { return(new vec4(xy.x, xy.y, (float)z, (float)w)); }
public static vec4 vec4(double x, double y, vec2 zw) { return(new vec4((float)x, (float)y, zw.x, zw.y)); }
public static vec4 vec4(vec2 xy, vec2 zw) { return(new vec4(xy.x, xy.y, zw.x, zw.y)); }
public static vec3 vec3(double x, vec2 yz) { return(new vec3((float)x, yz.x, yz.y)); }
public static vec3 vec3(vec2 xy, double z) { return(new vec3(xy.x, xy.y, (float)z)); }
public static vec2 mix(vec2 left, vec2 right, float alpha) { throw new NotImplementedException(); }