-#X1. Type: float[5] // An array type with 5 elements
-#X2. Return value: float[5] func() { ... } // Function with a 5-element array return value
+#X1. Type: float[5] // An array type with 5 elements
+#X2. Return value: float[5] func() { ... } // Function with a 5-element array return value
#X3. Array constructor: float[3] (1.0, 2.0, 5.5) // 3-element array with given elements
# // Fails with array of matrices!
#X4. As unnamed parameter: void func(float[5]);
# float y[] = float[3] (1.0, 2.0, 3.0); // Size of y is 3 (equivalent)
# float z[] = y; // Size of z is 3
#X7. Testing that 2-dimensional arrays don't work: float a[5][3]; // Illegal
-# float[5] a[3]; // Illegal
+# float[5] a[3]; // Illegal
#X8. Testing that array declaration with dynamic variables as array size won't work.
-#X9. Testing length() operator: z.length(); // Returns 3 for z defined before
+#X9. Testing length() operator: z.length(); // Returns 3 for z defined before
#X10. Test C/C++ style {}-constructor
#X11. Test struct arrays
#X12. Test array element access at initialization with const/dynamic values
${SETUP}
vec3[3] x;
- x = vec3[3] ( vec3(in0.x, in0.y, in0.z) ,
+ x = vec3[3] ( vec3(in0.x, in0.y, in0.z) ,
vec3(-in0.y, -in0.z, -in0.x),
vec3(in0.z, in0.x, in0.y) );
out0 = vec3(x[0].x, x[1].y, x[2].z);
${SETUP}
ivec3[3] x;
- x = ivec3[3] ( ivec3(in0.x, in0.y, in0.z) ,
+ x = ivec3[3] ( ivec3(in0.x, in0.y, in0.z) ,
ivec3(-in0.y, -in0.z, -in0.x),
ivec3(in0.z, in0.x, in0.y) );
out0 = ivec3(x[0].x, x[1].y, x[2].z);
${SETUP}
bvec3[3] x;
- x = bvec3[3] ( bvec3(in0.x, in0.y, in0.z) ,
+ x = bvec3[3] ( bvec3(in0.x, in0.y, in0.z) ,
bvec3(in0.y, in0.z, in0.x),
bvec3(in0.z, in0.x, in0.y) );
out0 = bvec3(x[0].x, x[1].y, x[2].z);
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(7.4, -1.0, 2.0) | vec3(3.0, 1.6, -2.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(7.4, -1.0, 2.0) | vec3(3.0, 1.6, -2.0) ];
output vec3 out0 = [ vec3(2.0, -0.5, 1.0) | vec3(2.0, -7.4, -1.0) | vec3(-2.0, -3.0, 1.6) ];
}
version 300 es
values
{
- input bvec3 in0 = [ bvec3(false, true, true) ];
+ input bvec3 in0 = [ bvec3(false, true, true) ];
output bvec3 out0 = [ bvec3(true, false, true) ];
}
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(-0.5, 11.2, -1.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(-0.5, 11.2, -1.0) ];
output vec3 out0 = [ vec3(1.0, 0.5, -2.0) | vec3(11.2, -0.5, 1.0) ];
}
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) ];
output vec3 out0 = [ vec3(-1.0, 2.0, 0.5) ];
}
version 300 es
values
{
- input ivec3 in0 = [ ivec3(5, 1, 2) | ivec3(-5, 11, -1) ];
+ input ivec3 in0 = [ ivec3(5, 1, 2) | ivec3(-5, 11, -1) ];
output ivec3 out0 = [ ivec3(1, 5, -2) | ivec3(11, -5, 1) ];
}
version 300 es
values
{
- input bvec3 in0 = [ bvec3(true, false, false) ];
+ input bvec3 in0 = [ bvec3(true, false, false) ];
output bvec3 out0 = [ bvec3(false, true, false) ];
}
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(7.4, -1.0, 2.0) | vec3(3.0, 1.6, -2.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(7.4, -1.0, 2.0) | vec3(3.0, 1.6, -2.0) ];
output vec3 out0 = [ vec3(2.0, 0.5, 1.0) | vec3(2.0, 7.4, -1.0) | vec3(-2.0, 3.0, 1.6) ];
}
version 300 es
values
{
- input ivec3 in0 = [ ivec3(0, 1, 2) | ivec3(7, -1, 2) | ivec3(3, 1, -2) ];
+ input ivec3 in0 = [ ivec3(0, 1, 2) | ivec3(7, -1, 2) | ivec3(3, 1, -2) ];
output ivec3 out0 = [ ivec3(2, 0, 1) | ivec3(2, 7, -1) | ivec3(-2, 3, 1) ];
}
version 300 es
values
{
- input bvec3 in0 = [ bvec3(false, true, true) ];
+ input bvec3 in0 = [ bvec3(false, true, true) ];
output bvec3 out0 = [ bvec3(true, false, true) ];
}
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) ];
output vec3 out0 = [ vec3(-1.0, 2.0, 0.5) ];
}
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(-0.5, 11.2, -1.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(-0.5, 11.2, -1.0) ];
output vec3 out0 = [ vec3(1.0, 0.5, -2.0) | vec3(11.2, -0.5, 1.0) ];
}
version 300 es
values
{
- input ivec3 in0 = [ ivec3(5, 1, 2) | ivec3(-5, 11, -1) ];
+ input ivec3 in0 = [ ivec3(5, 1, 2) | ivec3(-5, 11, -1) ];
output ivec3 out0 = [ ivec3(1, 5, -2) | ivec3(11, -5, 1) ];
}
version 300 es
values
{
- input bvec3 in0 = [ bvec3(true, false, false) ];
+ input bvec3 in0 = [ bvec3(true, false, false) ];
output bvec3 out0 = [ bvec3(false, true, false) ];
}
version 300 es
values
{
- input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(-0.5, 11.2, -1.0) ];
+ input vec3 in0 = [ vec3(0.5, 1.0, 2.0) | vec3(-0.5, 11.2, -1.0) ];
output vec3 out0 = [ vec3(0.5, -2.0, 1.0) | vec3(-0.5, 1.0, 11.2) ];
}
version 300 es
values
{
- input ivec3 in0 = [ ivec3(0, 1, 2) | ivec3(5, 11, -1) ];
+ input ivec3 in0 = [ ivec3(0, 1, 2) | ivec3(5, 11, -1) ];
output ivec3 out0 = [ ivec3(0, -2, 1) | ivec3(5, 1, 11) ];
}
version 300 es
values
{
- input bvec3 in0 = [ bvec3(true, false, true) ];
+ input bvec3 in0 = [ bvec3(true, false, true) ];
output bvec3 out0 = [ bvec3(true, true, false) ];
}