Updates the vector with the values from other. Unittest for setting Values
vec2 v2 = vec2( 1.0f, 2.0f ); assert( v2.x == 1.0f ); assert( v2.y == 2.0f ); v2.x = 3.0f; assert( v2.data == [ 3.0f, 2.0f ] ); v2.y = 4.0f; assert( v2.data == [ 3.0f, 4.0f ] ); assert(( v2.x == 3.0f ) && ( v2.x == v2.r ) && ( v2.x == v2.s )); assert( v2.y == 4.0f ); assert(( v2.y == 4.0f ) && ( v2.y == v2.g ) && ( v2.y == v2.t )); v2 = [ 0.0f, 1.0f ]; assert( v2.data == [ 0.0f, 1.0f ] ); //v2.update( vec2( 3.0f, 4.0f )); //assert( v2.data == [ 3.0f, 4.0f ] ); vec3 v3 = vec3( 1.0f, 2.0f, 3.0f ); assert( v3.x == 1.0f ); assert( v3.y == 2.0f ); assert( v3.z == 3.0f ); v3.x = 3.0f; assert( v3.data == [ 3.0f, 2.0f, 3.0f ] ); v3.y = 4.0f; assert( v3.data == [ 3.0f, 4.0f, 3.0f ] ); v3.z = 5.0f; assert( v3.data == [ 3.0f, 4.0f, 5.0f ] ); assert(( v3.x == 3.0f ) && ( v3.x == v3.r ) && ( v3.x == v3.s )); assert(( v3.y == 4.0f ) && ( v3.y == v3.g ) && ( v3.y == v3.t )); assert(( v3.z == 5.0f ) && ( v3.z == v3.b ) && ( v3.z == v3.p )); v3 = [ 0.0f, 1.0f, 2.0f ]; assert( v3.data == [ 0.0f, 1.0f, 2.0f ] ); //v3.update( vec3( 3.0f, 4.0f, 5.0f )); //assert( v3.data == [ 3.0f, 4.0f, 5.0f ] ); vec4 v4 = vec4( 1.0f, 2.0f, vec2( 3.0f, 4.0f )); assert( v4.x == 1.0f ); assert( v4.y == 2.0f ); assert( v4.z == 3.0f ); assert( v4.w == 4.0f ); v4.x = 3.0f; assert( v4.data == [ 3.0f, 2.0f, 3.0f, 4.0f ] ); v4.y = 4.0f; assert( v4.data == [ 3.0f, 4.0f, 3.0f, 4.0f ] ); v4.z = 5.0f; assert( v4.data == [ 3.0f, 4.0f, 5.0f, 4.0f ] ); v4.w = 6.0f; assert( v4.data == [ 3.0f, 4.0f, 5.0f, 6.0f ] ); assert(( v4.x == 3.0f ) && ( v4.x == v4.r ) && ( v4.x == v4.s )); assert(( v4.y == 4.0f ) && ( v4.y == v4.g ) && ( v4.y == v4.t )); assert(( v4.z == 5.0f ) && ( v4.z == v4.b ) && ( v4.z == v4.p )); assert(( v4.w == 6.0f ) && ( v4.w == v4.a ) && ( v4.w == v4.q )); v4 = [ 0.0f, 1.0f, 2.0f, 3.0f ]; assert( v4.data == [ 0.0f, 1.0f, 2.0f, 3.0f ] ); //v4.update( vec4( 3.0/, 4.0f, 5.0f, 6.0f )); //assert( v4.data == [ 3.0f, 4.0f, 5.0f, 6.0f ] );
TODO : patch unittest according to access sets !!!
vec2 v2 = vec2( 1.0f, 2.0f ); assert( v2.ts == [ 2.0f, 1.0f ] ); assert( vec3( 1.0f, 2.0f, 3.0f ).xyz == [ 1.0f, 2.0f, 3.0f ] ); assert( vec4( v2, 3.0f, 4.0f ).xyzw == [ 1.0f, 2.0f, 3.0f, 4.0f ] ); assert( vec4( v2, 3.0f, 4.0f ).wxyz == [ 4.0f, 1.0f, 2.0f, 3.0f ] ); assert( vec4( 1.0f, v2.yx, 2.0f ).data == [ 1.0f, 2.0f, 1.0f, 2.0f ] );