Unittest Construction TODO: Split up these Unittests
vec3 vecClear; assert( !vecClear.ok ); vecClear.clear( 1.0f ); assert( vecClear.ok ); assert( vecClear.data == [ 1.0f, 1.0f, 1.0f ] ); assert( vecClear.data == vec3( 1.0f ).data ); vecClear.clear( float.infinity ); assert( !vecClear.ok ); vecClear.clear( float.nan ); assert( !vecClear.ok ); vecClear.clear( 1.0f ); assert( vecClear.ok ); vec4 b = vec4( 1.0f, vecClear ); assert( b.ok ); assert( b.data == [ 1.0f, 1.0f, 1.0f, 1.0f ] ); assert( b.data == vec4( 1.0f ).data ); vec2 v2_1 = vec2( vec2( 0.0f, 1.0f )); assert( v2_1.data == [ 0.0f, 1.0f ] ); vec2 v2_2 = vec2( 1.0f, 1.0f ); assert( v2_2.data == [ 1.0f, 1.0f ] ); vec3 v3 = vec3( v2_1, 2.0f ); assert( v3.data == [ 0.0f, 1.0f, 2.0f ] ); vec4 v4_1 = vec4( 1.0f, vec2( 2.0f, 3.0f ), 4.0f ); assert( v4_1.data == [ 1.0f, 2.0f, 3.0f, 4.0f ] ); assert( vec3( v4_1 ).data == [ 1.0f, 2.0f, 3.0f ] ); assert( vec2( vec3( v4_1 )).data == [ 1.0f, 2.0f ] ); assert( vec2( vec3( v4_1 )).data == vec2( v4_1 ).data ); assert( v4_1.data == vec4( [ 1.0f, 2.0f, 3.0f, 4.0f ] ).data ); vec4 v4_2 = vec4( vec2( 1.0f, 2.0f ), vec2( 3.0f, 4.0f )); assert( v4_2.data == [ 1.0f, 2.0f, 3.0f, 4.0f ] ); assert( vec3( v4_2 ).data == [ 1.0f, 2.0f, 3.0f ] ); assert( vec2( vec3( v4_2 )).data == [ 1.0f, 2.0f ] ); assert( vec2( vec3( v4_2 )).data == vec2( v4_2 ).data ); assert( v4_2.data == vec4([ 1.0f, 2.0f, 3.0f, 4.0f ] ).data ); float[2] f2 = [ 1.0f, 2.0f ]; float[3] f3 = [ 1.0f, 2.0f, 3.0f ]; float[4] f4 = [ 1.0f, 2.0f, 3.0f, 4.0f ]; assert( vec2( 1.0f, 2.0f ).data == vec2(f2).data); assert( vec3( 1.0f, 2.0f, 3.0f ).data == vec3( f3 ).data ); assert( vec3( 1.0f, 2.0f, 3.0f ).data == vec3( f2, 3.0f ).data ); assert( vec4( 1.0f, 2.0f, 3.0f, 4.0f ).data == vec4( f4 ).data ); assert( vec4( 1.0f, 2.0f, 3.0f, 4.0f ).data == vec4( f3, 4.0f ).data ); assert( vec4( 1.0f, 2.0f, 3.0f, 4.0f ).data == vec4( f2, 3.0f, 4.0f ).data ); // useful for: "vec4 v4 = […]" or "vec4 v4 = other_vector.rgba" assert( vec3( vec3i( 1, 2, 3 )) == vec3( 1.0, 2.0, 3.0 )); assert( vec3d( vec3( 1.0, 2.0, 3.0 )) == vec3d( 1.0, 2.0, 3.0 ));
Sets all values of the vector to value