1e5c31af7Sopenharmony_ci# WARNING: This file is auto-generated. Do NOT modify it manually, but rather 2e5c31af7Sopenharmony_ci# modify the generating script file. Otherwise changes will be lost! 3e5c31af7Sopenharmony_ci 4e5c31af7Sopenharmony_cigroup vector_add "Vector swizzle math operations" 5e5c31af7Sopenharmony_ci 6e5c31af7Sopenharmony_ci case mediump_vec2_x_x 7e5c31af7Sopenharmony_ci version 300 es 8e5c31af7Sopenharmony_ci values 9e5c31af7Sopenharmony_ci { 10e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 11e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 12e5c31af7Sopenharmony_ci output float out0 = [ 0.2 | 2.0 | -1.0 | -64.0 | -1.5 ]; 13e5c31af7Sopenharmony_ci } 14e5c31af7Sopenharmony_ci 15e5c31af7Sopenharmony_ci both "" 16e5c31af7Sopenharmony_ci #version 300 es 17e5c31af7Sopenharmony_ci precision mediump float; 18e5c31af7Sopenharmony_ci 19e5c31af7Sopenharmony_ci ${DECLARATIONS} 20e5c31af7Sopenharmony_ci 21e5c31af7Sopenharmony_ci void main() 22e5c31af7Sopenharmony_ci { 23e5c31af7Sopenharmony_ci ${SETUP} 24e5c31af7Sopenharmony_ci out0 = in0.x + in1.x; 25e5c31af7Sopenharmony_ci ${OUTPUT} 26e5c31af7Sopenharmony_ci } 27e5c31af7Sopenharmony_ci "" 28e5c31af7Sopenharmony_ci end 29e5c31af7Sopenharmony_ci 30e5c31af7Sopenharmony_ci case mediump_vec2_xx_xx 31e5c31af7Sopenharmony_ci version 300 es 32e5c31af7Sopenharmony_ci values 33e5c31af7Sopenharmony_ci { 34e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 35e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 36e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.2, 0.2) | vec2(2.0, 2.0) | vec2(-1.0, -1.0) | vec2(-64.0, -64.0) | vec2(-1.5, -1.5) ]; 37e5c31af7Sopenharmony_ci } 38e5c31af7Sopenharmony_ci 39e5c31af7Sopenharmony_ci both "" 40e5c31af7Sopenharmony_ci #version 300 es 41e5c31af7Sopenharmony_ci precision mediump float; 42e5c31af7Sopenharmony_ci 43e5c31af7Sopenharmony_ci ${DECLARATIONS} 44e5c31af7Sopenharmony_ci 45e5c31af7Sopenharmony_ci void main() 46e5c31af7Sopenharmony_ci { 47e5c31af7Sopenharmony_ci ${SETUP} 48e5c31af7Sopenharmony_ci out0 = in0.xx + in1.xx; 49e5c31af7Sopenharmony_ci ${OUTPUT} 50e5c31af7Sopenharmony_ci } 51e5c31af7Sopenharmony_ci "" 52e5c31af7Sopenharmony_ci end 53e5c31af7Sopenharmony_ci 54e5c31af7Sopenharmony_ci case mediump_vec2_xy_yx 55e5c31af7Sopenharmony_ci version 300 es 56e5c31af7Sopenharmony_ci values 57e5c31af7Sopenharmony_ci { 58e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 59e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 60e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.6, 0.6) | vec2(2.25, 2.25) | vec2(-2.75, -2.75) | vec2(32.0, 32.0) | vec2(-0.782258064516, -0.782258064516) ]; 61e5c31af7Sopenharmony_ci } 62e5c31af7Sopenharmony_ci 63e5c31af7Sopenharmony_ci both "" 64e5c31af7Sopenharmony_ci #version 300 es 65e5c31af7Sopenharmony_ci precision mediump float; 66e5c31af7Sopenharmony_ci 67e5c31af7Sopenharmony_ci ${DECLARATIONS} 68e5c31af7Sopenharmony_ci 69e5c31af7Sopenharmony_ci void main() 70e5c31af7Sopenharmony_ci { 71e5c31af7Sopenharmony_ci ${SETUP} 72e5c31af7Sopenharmony_ci out0 = in0.xy + in1.yx; 73e5c31af7Sopenharmony_ci ${OUTPUT} 74e5c31af7Sopenharmony_ci } 75e5c31af7Sopenharmony_ci "" 76e5c31af7Sopenharmony_ci end 77e5c31af7Sopenharmony_ci 78e5c31af7Sopenharmony_ci case mediump_vec2_yx_xy 79e5c31af7Sopenharmony_ci version 300 es 80e5c31af7Sopenharmony_ci values 81e5c31af7Sopenharmony_ci { 82e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 83e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 84e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.6, 0.6) | vec2(2.25, 2.25) | vec2(-2.75, -2.75) | vec2(32.0, 32.0) | vec2(-0.782258064516, -0.782258064516) ]; 85e5c31af7Sopenharmony_ci } 86e5c31af7Sopenharmony_ci 87e5c31af7Sopenharmony_ci both "" 88e5c31af7Sopenharmony_ci #version 300 es 89e5c31af7Sopenharmony_ci precision mediump float; 90e5c31af7Sopenharmony_ci 91e5c31af7Sopenharmony_ci ${DECLARATIONS} 92e5c31af7Sopenharmony_ci 93e5c31af7Sopenharmony_ci void main() 94e5c31af7Sopenharmony_ci { 95e5c31af7Sopenharmony_ci ${SETUP} 96e5c31af7Sopenharmony_ci out0 = in0.yx + in1.xy; 97e5c31af7Sopenharmony_ci ${OUTPUT} 98e5c31af7Sopenharmony_ci } 99e5c31af7Sopenharmony_ci "" 100e5c31af7Sopenharmony_ci end 101e5c31af7Sopenharmony_ci 102e5c31af7Sopenharmony_ci case mediump_vec2_yxy_xyy 103e5c31af7Sopenharmony_ci version 300 es 104e5c31af7Sopenharmony_ci values 105e5c31af7Sopenharmony_ci { 106e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 107e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 108e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.6, 0.6, 1.0) | vec3(2.25, 2.25, 2.5) | vec3(-2.75, -2.75, -4.5) | vec3(32.0, 32.0, 128.0) | vec3(-0.782258064516, -0.782258064516, -0.0645161290323) ]; 109e5c31af7Sopenharmony_ci } 110e5c31af7Sopenharmony_ci 111e5c31af7Sopenharmony_ci both "" 112e5c31af7Sopenharmony_ci #version 300 es 113e5c31af7Sopenharmony_ci precision mediump float; 114e5c31af7Sopenharmony_ci 115e5c31af7Sopenharmony_ci ${DECLARATIONS} 116e5c31af7Sopenharmony_ci 117e5c31af7Sopenharmony_ci void main() 118e5c31af7Sopenharmony_ci { 119e5c31af7Sopenharmony_ci ${SETUP} 120e5c31af7Sopenharmony_ci out0 = in0.yxy + in1.xyy; 121e5c31af7Sopenharmony_ci ${OUTPUT} 122e5c31af7Sopenharmony_ci } 123e5c31af7Sopenharmony_ci "" 124e5c31af7Sopenharmony_ci end 125e5c31af7Sopenharmony_ci 126e5c31af7Sopenharmony_ci case mediump_vec2_xyxx_yxxx 127e5c31af7Sopenharmony_ci version 300 es 128e5c31af7Sopenharmony_ci values 129e5c31af7Sopenharmony_ci { 130e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 131e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 132e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.6, 0.6, 0.2, 0.2) | vec4(2.25, 2.25, 2.0, 2.0) | vec4(-2.75, -2.75, -1.0, -1.0) | vec4(32.0, 32.0, -64.0, -64.0) | vec4(-0.782258064516, -0.782258064516, -1.5, -1.5) ]; 133e5c31af7Sopenharmony_ci } 134e5c31af7Sopenharmony_ci 135e5c31af7Sopenharmony_ci both "" 136e5c31af7Sopenharmony_ci #version 300 es 137e5c31af7Sopenharmony_ci precision mediump float; 138e5c31af7Sopenharmony_ci 139e5c31af7Sopenharmony_ci ${DECLARATIONS} 140e5c31af7Sopenharmony_ci 141e5c31af7Sopenharmony_ci void main() 142e5c31af7Sopenharmony_ci { 143e5c31af7Sopenharmony_ci ${SETUP} 144e5c31af7Sopenharmony_ci out0 = in0.xyxx + in1.yxxx; 145e5c31af7Sopenharmony_ci ${OUTPUT} 146e5c31af7Sopenharmony_ci } 147e5c31af7Sopenharmony_ci "" 148e5c31af7Sopenharmony_ci end 149e5c31af7Sopenharmony_ci 150e5c31af7Sopenharmony_ci case mediump_vec2_yxyx_xyxy 151e5c31af7Sopenharmony_ci version 300 es 152e5c31af7Sopenharmony_ci values 153e5c31af7Sopenharmony_ci { 154e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 155e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 156e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.6, 0.6, 0.6, 0.6) | vec4(2.25, 2.25, 2.25, 2.25) | vec4(-2.75, -2.75, -2.75, -2.75) | vec4(32.0, 32.0, 32.0, 32.0) | vec4(-0.782258064516, -0.782258064516, -0.782258064516, -0.782258064516) ]; 157e5c31af7Sopenharmony_ci } 158e5c31af7Sopenharmony_ci 159e5c31af7Sopenharmony_ci both "" 160e5c31af7Sopenharmony_ci #version 300 es 161e5c31af7Sopenharmony_ci precision mediump float; 162e5c31af7Sopenharmony_ci 163e5c31af7Sopenharmony_ci ${DECLARATIONS} 164e5c31af7Sopenharmony_ci 165e5c31af7Sopenharmony_ci void main() 166e5c31af7Sopenharmony_ci { 167e5c31af7Sopenharmony_ci ${SETUP} 168e5c31af7Sopenharmony_ci out0 = in0.yxyx + in1.xyxy; 169e5c31af7Sopenharmony_ci ${OUTPUT} 170e5c31af7Sopenharmony_ci } 171e5c31af7Sopenharmony_ci "" 172e5c31af7Sopenharmony_ci end 173e5c31af7Sopenharmony_ci 174e5c31af7Sopenharmony_ci case mediump_vec3_x_x 175e5c31af7Sopenharmony_ci version 300 es 176e5c31af7Sopenharmony_ci values 177e5c31af7Sopenharmony_ci { 178e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 179e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 180e5c31af7Sopenharmony_ci output float out0 = [ 0.2 | 2.0 | -1.0 | -64.0 | -1.5 ]; 181e5c31af7Sopenharmony_ci } 182e5c31af7Sopenharmony_ci 183e5c31af7Sopenharmony_ci both "" 184e5c31af7Sopenharmony_ci #version 300 es 185e5c31af7Sopenharmony_ci precision mediump float; 186e5c31af7Sopenharmony_ci 187e5c31af7Sopenharmony_ci ${DECLARATIONS} 188e5c31af7Sopenharmony_ci 189e5c31af7Sopenharmony_ci void main() 190e5c31af7Sopenharmony_ci { 191e5c31af7Sopenharmony_ci ${SETUP} 192e5c31af7Sopenharmony_ci out0 = in0.x + in1.x; 193e5c31af7Sopenharmony_ci ${OUTPUT} 194e5c31af7Sopenharmony_ci } 195e5c31af7Sopenharmony_ci "" 196e5c31af7Sopenharmony_ci end 197e5c31af7Sopenharmony_ci 198e5c31af7Sopenharmony_ci case mediump_vec3_z_z 199e5c31af7Sopenharmony_ci version 300 es 200e5c31af7Sopenharmony_ci values 201e5c31af7Sopenharmony_ci { 202e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 203e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 204e5c31af7Sopenharmony_ci output float out0 = [ 1.5 | 2.25 | -9.75 | -102.0 | 0.105263157895 ]; 205e5c31af7Sopenharmony_ci } 206e5c31af7Sopenharmony_ci 207e5c31af7Sopenharmony_ci both "" 208e5c31af7Sopenharmony_ci #version 300 es 209e5c31af7Sopenharmony_ci precision mediump float; 210e5c31af7Sopenharmony_ci 211e5c31af7Sopenharmony_ci ${DECLARATIONS} 212e5c31af7Sopenharmony_ci 213e5c31af7Sopenharmony_ci void main() 214e5c31af7Sopenharmony_ci { 215e5c31af7Sopenharmony_ci ${SETUP} 216e5c31af7Sopenharmony_ci out0 = in0.z + in1.z; 217e5c31af7Sopenharmony_ci ${OUTPUT} 218e5c31af7Sopenharmony_ci } 219e5c31af7Sopenharmony_ci "" 220e5c31af7Sopenharmony_ci end 221e5c31af7Sopenharmony_ci 222e5c31af7Sopenharmony_ci case mediump_vec3_xz_zx 223e5c31af7Sopenharmony_ci version 300 es 224e5c31af7Sopenharmony_ci values 225e5c31af7Sopenharmony_ci { 226e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 227e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 228e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.85, 0.85) | vec2(2.125, 2.125) | vec2(-5.375, -5.375) | vec2(-83.0, -83.0) | vec2(-0.697368421053, -0.697368421053) ]; 229e5c31af7Sopenharmony_ci } 230e5c31af7Sopenharmony_ci 231e5c31af7Sopenharmony_ci both "" 232e5c31af7Sopenharmony_ci #version 300 es 233e5c31af7Sopenharmony_ci precision mediump float; 234e5c31af7Sopenharmony_ci 235e5c31af7Sopenharmony_ci ${DECLARATIONS} 236e5c31af7Sopenharmony_ci 237e5c31af7Sopenharmony_ci void main() 238e5c31af7Sopenharmony_ci { 239e5c31af7Sopenharmony_ci ${SETUP} 240e5c31af7Sopenharmony_ci out0 = in0.xz + in1.zx; 241e5c31af7Sopenharmony_ci ${OUTPUT} 242e5c31af7Sopenharmony_ci } 243e5c31af7Sopenharmony_ci "" 244e5c31af7Sopenharmony_ci end 245e5c31af7Sopenharmony_ci 246e5c31af7Sopenharmony_ci case mediump_vec3_zz_zz 247e5c31af7Sopenharmony_ci version 300 es 248e5c31af7Sopenharmony_ci values 249e5c31af7Sopenharmony_ci { 250e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 251e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 252e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.5, 1.5) | vec2(2.25, 2.25) | vec2(-9.75, -9.75) | vec2(-102.0, -102.0) | vec2(0.105263157895, 0.105263157895) ]; 253e5c31af7Sopenharmony_ci } 254e5c31af7Sopenharmony_ci 255e5c31af7Sopenharmony_ci both "" 256e5c31af7Sopenharmony_ci #version 300 es 257e5c31af7Sopenharmony_ci precision mediump float; 258e5c31af7Sopenharmony_ci 259e5c31af7Sopenharmony_ci ${DECLARATIONS} 260e5c31af7Sopenharmony_ci 261e5c31af7Sopenharmony_ci void main() 262e5c31af7Sopenharmony_ci { 263e5c31af7Sopenharmony_ci ${SETUP} 264e5c31af7Sopenharmony_ci out0 = in0.zz + in1.zz; 265e5c31af7Sopenharmony_ci ${OUTPUT} 266e5c31af7Sopenharmony_ci } 267e5c31af7Sopenharmony_ci "" 268e5c31af7Sopenharmony_ci end 269e5c31af7Sopenharmony_ci 270e5c31af7Sopenharmony_ci case mediump_vec3_xyz_yzx 271e5c31af7Sopenharmony_ci version 300 es 272e5c31af7Sopenharmony_ci values 273e5c31af7Sopenharmony_ci { 274e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 275e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 276e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.6, 1.25, 0.85) | vec3(2.25, 2.375, 2.125) | vec3(-2.75, -7.125, -5.375) | vec3(32.0, 13.0, -83.0) | vec3(-0.782258064516, 0.0203735144312, -0.697368421053) ]; 277e5c31af7Sopenharmony_ci } 278e5c31af7Sopenharmony_ci 279e5c31af7Sopenharmony_ci both "" 280e5c31af7Sopenharmony_ci #version 300 es 281e5c31af7Sopenharmony_ci precision mediump float; 282e5c31af7Sopenharmony_ci 283e5c31af7Sopenharmony_ci ${DECLARATIONS} 284e5c31af7Sopenharmony_ci 285e5c31af7Sopenharmony_ci void main() 286e5c31af7Sopenharmony_ci { 287e5c31af7Sopenharmony_ci ${SETUP} 288e5c31af7Sopenharmony_ci out0 = in0.xyz + in1.yzx; 289e5c31af7Sopenharmony_ci ${OUTPUT} 290e5c31af7Sopenharmony_ci } 291e5c31af7Sopenharmony_ci "" 292e5c31af7Sopenharmony_ci end 293e5c31af7Sopenharmony_ci 294e5c31af7Sopenharmony_ci case mediump_vec3_zyx_yxz 295e5c31af7Sopenharmony_ci version 300 es 296e5c31af7Sopenharmony_ci values 297e5c31af7Sopenharmony_ci { 298e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 299e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 300e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.25, 0.6, 0.85) | vec3(2.375, 2.25, 2.125) | vec3(-7.125, -2.75, -5.375) | vec3(13.0, 32.0, -83.0) | vec3(0.0203735144312, -0.782258064516, -0.697368421053) ]; 301e5c31af7Sopenharmony_ci } 302e5c31af7Sopenharmony_ci 303e5c31af7Sopenharmony_ci both "" 304e5c31af7Sopenharmony_ci #version 300 es 305e5c31af7Sopenharmony_ci precision mediump float; 306e5c31af7Sopenharmony_ci 307e5c31af7Sopenharmony_ci ${DECLARATIONS} 308e5c31af7Sopenharmony_ci 309e5c31af7Sopenharmony_ci void main() 310e5c31af7Sopenharmony_ci { 311e5c31af7Sopenharmony_ci ${SETUP} 312e5c31af7Sopenharmony_ci out0 = in0.zyx + in1.yxz; 313e5c31af7Sopenharmony_ci ${OUTPUT} 314e5c31af7Sopenharmony_ci } 315e5c31af7Sopenharmony_ci "" 316e5c31af7Sopenharmony_ci end 317e5c31af7Sopenharmony_ci 318e5c31af7Sopenharmony_ci case mediump_vec3_xxx_xxx 319e5c31af7Sopenharmony_ci version 300 es 320e5c31af7Sopenharmony_ci values 321e5c31af7Sopenharmony_ci { 322e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 323e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 324e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.2, 0.2, 0.2) | vec3(2.0, 2.0, 2.0) | vec3(-1.0, -1.0, -1.0) | vec3(-64.0, -64.0, -64.0) | vec3(-1.5, -1.5, -1.5) ]; 325e5c31af7Sopenharmony_ci } 326e5c31af7Sopenharmony_ci 327e5c31af7Sopenharmony_ci both "" 328e5c31af7Sopenharmony_ci #version 300 es 329e5c31af7Sopenharmony_ci precision mediump float; 330e5c31af7Sopenharmony_ci 331e5c31af7Sopenharmony_ci ${DECLARATIONS} 332e5c31af7Sopenharmony_ci 333e5c31af7Sopenharmony_ci void main() 334e5c31af7Sopenharmony_ci { 335e5c31af7Sopenharmony_ci ${SETUP} 336e5c31af7Sopenharmony_ci out0 = in0.xxx + in1.xxx; 337e5c31af7Sopenharmony_ci ${OUTPUT} 338e5c31af7Sopenharmony_ci } 339e5c31af7Sopenharmony_ci "" 340e5c31af7Sopenharmony_ci end 341e5c31af7Sopenharmony_ci 342e5c31af7Sopenharmony_ci case mediump_vec3_zzz_zzz 343e5c31af7Sopenharmony_ci version 300 es 344e5c31af7Sopenharmony_ci values 345e5c31af7Sopenharmony_ci { 346e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 347e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 348e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.5, 1.5, 1.5) | vec3(2.25, 2.25, 2.25) | vec3(-9.75, -9.75, -9.75) | vec3(-102.0, -102.0, -102.0) | vec3(0.105263157895, 0.105263157895, 0.105263157895) ]; 349e5c31af7Sopenharmony_ci } 350e5c31af7Sopenharmony_ci 351e5c31af7Sopenharmony_ci both "" 352e5c31af7Sopenharmony_ci #version 300 es 353e5c31af7Sopenharmony_ci precision mediump float; 354e5c31af7Sopenharmony_ci 355e5c31af7Sopenharmony_ci ${DECLARATIONS} 356e5c31af7Sopenharmony_ci 357e5c31af7Sopenharmony_ci void main() 358e5c31af7Sopenharmony_ci { 359e5c31af7Sopenharmony_ci ${SETUP} 360e5c31af7Sopenharmony_ci out0 = in0.zzz + in1.zzz; 361e5c31af7Sopenharmony_ci ${OUTPUT} 362e5c31af7Sopenharmony_ci } 363e5c31af7Sopenharmony_ci "" 364e5c31af7Sopenharmony_ci end 365e5c31af7Sopenharmony_ci 366e5c31af7Sopenharmony_ci case mediump_vec3_zzy_zyz 367e5c31af7Sopenharmony_ci version 300 es 368e5c31af7Sopenharmony_ci values 369e5c31af7Sopenharmony_ci { 370e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 371e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 372e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.5, 1.25, 1.25) | vec3(2.25, 2.375, 2.375) | vec3(-9.75, -7.125, -7.125) | vec3(-102.0, 13.0, 13.0) | vec3(0.105263157895, 0.0203735144312, 0.0203735144312) ]; 373e5c31af7Sopenharmony_ci } 374e5c31af7Sopenharmony_ci 375e5c31af7Sopenharmony_ci both "" 376e5c31af7Sopenharmony_ci #version 300 es 377e5c31af7Sopenharmony_ci precision mediump float; 378e5c31af7Sopenharmony_ci 379e5c31af7Sopenharmony_ci ${DECLARATIONS} 380e5c31af7Sopenharmony_ci 381e5c31af7Sopenharmony_ci void main() 382e5c31af7Sopenharmony_ci { 383e5c31af7Sopenharmony_ci ${SETUP} 384e5c31af7Sopenharmony_ci out0 = in0.zzy + in1.zyz; 385e5c31af7Sopenharmony_ci ${OUTPUT} 386e5c31af7Sopenharmony_ci } 387e5c31af7Sopenharmony_ci "" 388e5c31af7Sopenharmony_ci end 389e5c31af7Sopenharmony_ci 390e5c31af7Sopenharmony_ci case mediump_vec3_yxy_xyy 391e5c31af7Sopenharmony_ci version 300 es 392e5c31af7Sopenharmony_ci values 393e5c31af7Sopenharmony_ci { 394e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 395e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 396e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.6, 0.6, 1.0) | vec3(2.25, 2.25, 2.5) | vec3(-2.75, -2.75, -4.5) | vec3(32.0, 32.0, 128.0) | vec3(-0.782258064516, -0.782258064516, -0.0645161290323) ]; 397e5c31af7Sopenharmony_ci } 398e5c31af7Sopenharmony_ci 399e5c31af7Sopenharmony_ci both "" 400e5c31af7Sopenharmony_ci #version 300 es 401e5c31af7Sopenharmony_ci precision mediump float; 402e5c31af7Sopenharmony_ci 403e5c31af7Sopenharmony_ci ${DECLARATIONS} 404e5c31af7Sopenharmony_ci 405e5c31af7Sopenharmony_ci void main() 406e5c31af7Sopenharmony_ci { 407e5c31af7Sopenharmony_ci ${SETUP} 408e5c31af7Sopenharmony_ci out0 = in0.yxy + in1.xyy; 409e5c31af7Sopenharmony_ci ${OUTPUT} 410e5c31af7Sopenharmony_ci } 411e5c31af7Sopenharmony_ci "" 412e5c31af7Sopenharmony_ci end 413e5c31af7Sopenharmony_ci 414e5c31af7Sopenharmony_ci case mediump_vec3_xzx_zxx 415e5c31af7Sopenharmony_ci version 300 es 416e5c31af7Sopenharmony_ci values 417e5c31af7Sopenharmony_ci { 418e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 419e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 420e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.85, 0.85, 0.2) | vec3(2.125, 2.125, 2.0) | vec3(-5.375, -5.375, -1.0) | vec3(-83.0, -83.0, -64.0) | vec3(-0.697368421053, -0.697368421053, -1.5) ]; 421e5c31af7Sopenharmony_ci } 422e5c31af7Sopenharmony_ci 423e5c31af7Sopenharmony_ci both "" 424e5c31af7Sopenharmony_ci #version 300 es 425e5c31af7Sopenharmony_ci precision mediump float; 426e5c31af7Sopenharmony_ci 427e5c31af7Sopenharmony_ci ${DECLARATIONS} 428e5c31af7Sopenharmony_ci 429e5c31af7Sopenharmony_ci void main() 430e5c31af7Sopenharmony_ci { 431e5c31af7Sopenharmony_ci ${SETUP} 432e5c31af7Sopenharmony_ci out0 = in0.xzx + in1.zxx; 433e5c31af7Sopenharmony_ci ${OUTPUT} 434e5c31af7Sopenharmony_ci } 435e5c31af7Sopenharmony_ci "" 436e5c31af7Sopenharmony_ci end 437e5c31af7Sopenharmony_ci 438e5c31af7Sopenharmony_ci case mediump_vec3_xyyx_yyxx 439e5c31af7Sopenharmony_ci version 300 es 440e5c31af7Sopenharmony_ci values 441e5c31af7Sopenharmony_ci { 442e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 443e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 444e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.6, 1.0, 0.6, 0.2) | vec4(2.25, 2.5, 2.25, 2.0) | vec4(-2.75, -4.5, -2.75, -1.0) | vec4(32.0, 128.0, 32.0, -64.0) | vec4(-0.782258064516, -0.0645161290323, -0.782258064516, -1.5) ]; 445e5c31af7Sopenharmony_ci } 446e5c31af7Sopenharmony_ci 447e5c31af7Sopenharmony_ci both "" 448e5c31af7Sopenharmony_ci #version 300 es 449e5c31af7Sopenharmony_ci precision mediump float; 450e5c31af7Sopenharmony_ci 451e5c31af7Sopenharmony_ci ${DECLARATIONS} 452e5c31af7Sopenharmony_ci 453e5c31af7Sopenharmony_ci void main() 454e5c31af7Sopenharmony_ci { 455e5c31af7Sopenharmony_ci ${SETUP} 456e5c31af7Sopenharmony_ci out0 = in0.xyyx + in1.yyxx; 457e5c31af7Sopenharmony_ci ${OUTPUT} 458e5c31af7Sopenharmony_ci } 459e5c31af7Sopenharmony_ci "" 460e5c31af7Sopenharmony_ci end 461e5c31af7Sopenharmony_ci 462e5c31af7Sopenharmony_ci case mediump_vec3_zxyz_xyzz 463e5c31af7Sopenharmony_ci version 300 es 464e5c31af7Sopenharmony_ci values 465e5c31af7Sopenharmony_ci { 466e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 467e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 468e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.85, 0.6, 1.25, 1.5) | vec4(2.125, 2.25, 2.375, 2.25) | vec4(-5.375, -2.75, -7.125, -9.75) | vec4(-83.0, 32.0, 13.0, -102.0) | vec4(-0.697368421053, -0.782258064516, 0.0203735144312, 0.105263157895) ]; 469e5c31af7Sopenharmony_ci } 470e5c31af7Sopenharmony_ci 471e5c31af7Sopenharmony_ci both "" 472e5c31af7Sopenharmony_ci #version 300 es 473e5c31af7Sopenharmony_ci precision mediump float; 474e5c31af7Sopenharmony_ci 475e5c31af7Sopenharmony_ci ${DECLARATIONS} 476e5c31af7Sopenharmony_ci 477e5c31af7Sopenharmony_ci void main() 478e5c31af7Sopenharmony_ci { 479e5c31af7Sopenharmony_ci ${SETUP} 480e5c31af7Sopenharmony_ci out0 = in0.zxyz + in1.xyzz; 481e5c31af7Sopenharmony_ci ${OUTPUT} 482e5c31af7Sopenharmony_ci } 483e5c31af7Sopenharmony_ci "" 484e5c31af7Sopenharmony_ci end 485e5c31af7Sopenharmony_ci 486e5c31af7Sopenharmony_ci case mediump_vec4_x_x 487e5c31af7Sopenharmony_ci version 300 es 488e5c31af7Sopenharmony_ci values 489e5c31af7Sopenharmony_ci { 490e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 491e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 492e5c31af7Sopenharmony_ci output float out0 = [ 0.2 | 2.0 | -1.0 | -64.0 | -1.5 ]; 493e5c31af7Sopenharmony_ci } 494e5c31af7Sopenharmony_ci 495e5c31af7Sopenharmony_ci both "" 496e5c31af7Sopenharmony_ci #version 300 es 497e5c31af7Sopenharmony_ci precision mediump float; 498e5c31af7Sopenharmony_ci 499e5c31af7Sopenharmony_ci ${DECLARATIONS} 500e5c31af7Sopenharmony_ci 501e5c31af7Sopenharmony_ci void main() 502e5c31af7Sopenharmony_ci { 503e5c31af7Sopenharmony_ci ${SETUP} 504e5c31af7Sopenharmony_ci out0 = in0.x + in1.x; 505e5c31af7Sopenharmony_ci ${OUTPUT} 506e5c31af7Sopenharmony_ci } 507e5c31af7Sopenharmony_ci "" 508e5c31af7Sopenharmony_ci end 509e5c31af7Sopenharmony_ci 510e5c31af7Sopenharmony_ci case mediump_vec4_w_w 511e5c31af7Sopenharmony_ci version 300 es 512e5c31af7Sopenharmony_ci values 513e5c31af7Sopenharmony_ci { 514e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 515e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 516e5c31af7Sopenharmony_ci output float out0 = [ 1.65 | 3.5 | 18.0 | 48.0 | 0.5 ]; 517e5c31af7Sopenharmony_ci } 518e5c31af7Sopenharmony_ci 519e5c31af7Sopenharmony_ci both "" 520e5c31af7Sopenharmony_ci #version 300 es 521e5c31af7Sopenharmony_ci precision mediump float; 522e5c31af7Sopenharmony_ci 523e5c31af7Sopenharmony_ci ${DECLARATIONS} 524e5c31af7Sopenharmony_ci 525e5c31af7Sopenharmony_ci void main() 526e5c31af7Sopenharmony_ci { 527e5c31af7Sopenharmony_ci ${SETUP} 528e5c31af7Sopenharmony_ci out0 = in0.w + in1.w; 529e5c31af7Sopenharmony_ci ${OUTPUT} 530e5c31af7Sopenharmony_ci } 531e5c31af7Sopenharmony_ci "" 532e5c31af7Sopenharmony_ci end 533e5c31af7Sopenharmony_ci 534e5c31af7Sopenharmony_ci case mediump_vec4_wx_xw 535e5c31af7Sopenharmony_ci version 300 es 536e5c31af7Sopenharmony_ci values 537e5c31af7Sopenharmony_ci { 538e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 539e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 540e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.925, 0.925) | vec2(2.75, 2.75) | vec2(8.5, 8.5) | vec2(-8.0, -8.0) | vec2(-0.5, -0.5) ]; 541e5c31af7Sopenharmony_ci } 542e5c31af7Sopenharmony_ci 543e5c31af7Sopenharmony_ci both "" 544e5c31af7Sopenharmony_ci #version 300 es 545e5c31af7Sopenharmony_ci precision mediump float; 546e5c31af7Sopenharmony_ci 547e5c31af7Sopenharmony_ci ${DECLARATIONS} 548e5c31af7Sopenharmony_ci 549e5c31af7Sopenharmony_ci void main() 550e5c31af7Sopenharmony_ci { 551e5c31af7Sopenharmony_ci ${SETUP} 552e5c31af7Sopenharmony_ci out0 = in0.wx + in1.xw; 553e5c31af7Sopenharmony_ci ${OUTPUT} 554e5c31af7Sopenharmony_ci } 555e5c31af7Sopenharmony_ci "" 556e5c31af7Sopenharmony_ci end 557e5c31af7Sopenharmony_ci 558e5c31af7Sopenharmony_ci case mediump_vec4_wz_zw 559e5c31af7Sopenharmony_ci version 300 es 560e5c31af7Sopenharmony_ci values 561e5c31af7Sopenharmony_ci { 562e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 563e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 564e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.575, 1.575) | vec2(2.875, 2.875) | vec2(4.125, 4.125) | vec2(-27.0, -27.0) | vec2(0.302631578947, 0.302631578947) ]; 565e5c31af7Sopenharmony_ci } 566e5c31af7Sopenharmony_ci 567e5c31af7Sopenharmony_ci both "" 568e5c31af7Sopenharmony_ci #version 300 es 569e5c31af7Sopenharmony_ci precision mediump float; 570e5c31af7Sopenharmony_ci 571e5c31af7Sopenharmony_ci ${DECLARATIONS} 572e5c31af7Sopenharmony_ci 573e5c31af7Sopenharmony_ci void main() 574e5c31af7Sopenharmony_ci { 575e5c31af7Sopenharmony_ci ${SETUP} 576e5c31af7Sopenharmony_ci out0 = in0.wz + in1.zw; 577e5c31af7Sopenharmony_ci ${OUTPUT} 578e5c31af7Sopenharmony_ci } 579e5c31af7Sopenharmony_ci "" 580e5c31af7Sopenharmony_ci end 581e5c31af7Sopenharmony_ci 582e5c31af7Sopenharmony_ci case mediump_vec4_www_www 583e5c31af7Sopenharmony_ci version 300 es 584e5c31af7Sopenharmony_ci values 585e5c31af7Sopenharmony_ci { 586e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 587e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 588e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.65, 1.65, 1.65) | vec3(3.5, 3.5, 3.5) | vec3(18.0, 18.0, 18.0) | vec3(48.0, 48.0, 48.0) | vec3(0.5, 0.5, 0.5) ]; 589e5c31af7Sopenharmony_ci } 590e5c31af7Sopenharmony_ci 591e5c31af7Sopenharmony_ci both "" 592e5c31af7Sopenharmony_ci #version 300 es 593e5c31af7Sopenharmony_ci precision mediump float; 594e5c31af7Sopenharmony_ci 595e5c31af7Sopenharmony_ci ${DECLARATIONS} 596e5c31af7Sopenharmony_ci 597e5c31af7Sopenharmony_ci void main() 598e5c31af7Sopenharmony_ci { 599e5c31af7Sopenharmony_ci ${SETUP} 600e5c31af7Sopenharmony_ci out0 = in0.www + in1.www; 601e5c31af7Sopenharmony_ci ${OUTPUT} 602e5c31af7Sopenharmony_ci } 603e5c31af7Sopenharmony_ci "" 604e5c31af7Sopenharmony_ci end 605e5c31af7Sopenharmony_ci 606e5c31af7Sopenharmony_ci case mediump_vec4_yyw_ywy 607e5c31af7Sopenharmony_ci version 300 es 608e5c31af7Sopenharmony_ci values 609e5c31af7Sopenharmony_ci { 610e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 611e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 612e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 1.325, 1.325) | vec3(2.5, 3.0, 3.0) | vec3(-4.5, 6.75, 6.75) | vec3(128.0, 88.0, 88.0) | vec3(-0.0645161290323, 0.217741935484, 0.217741935484) ]; 613e5c31af7Sopenharmony_ci } 614e5c31af7Sopenharmony_ci 615e5c31af7Sopenharmony_ci both "" 616e5c31af7Sopenharmony_ci #version 300 es 617e5c31af7Sopenharmony_ci precision mediump float; 618e5c31af7Sopenharmony_ci 619e5c31af7Sopenharmony_ci ${DECLARATIONS} 620e5c31af7Sopenharmony_ci 621e5c31af7Sopenharmony_ci void main() 622e5c31af7Sopenharmony_ci { 623e5c31af7Sopenharmony_ci ${SETUP} 624e5c31af7Sopenharmony_ci out0 = in0.yyw + in1.ywy; 625e5c31af7Sopenharmony_ci ${OUTPUT} 626e5c31af7Sopenharmony_ci } 627e5c31af7Sopenharmony_ci "" 628e5c31af7Sopenharmony_ci end 629e5c31af7Sopenharmony_ci 630e5c31af7Sopenharmony_ci case mediump_vec4_wzy_zyw 631e5c31af7Sopenharmony_ci version 300 es 632e5c31af7Sopenharmony_ci values 633e5c31af7Sopenharmony_ci { 634e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 635e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 636e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.575, 1.25, 1.325) | vec3(2.875, 2.375, 3.0) | vec3(4.125, -7.125, 6.75) | vec3(-27.0, 13.0, 88.0) | vec3(0.302631578947, 0.0203735144312, 0.217741935484) ]; 637e5c31af7Sopenharmony_ci } 638e5c31af7Sopenharmony_ci 639e5c31af7Sopenharmony_ci both "" 640e5c31af7Sopenharmony_ci #version 300 es 641e5c31af7Sopenharmony_ci precision mediump float; 642e5c31af7Sopenharmony_ci 643e5c31af7Sopenharmony_ci ${DECLARATIONS} 644e5c31af7Sopenharmony_ci 645e5c31af7Sopenharmony_ci void main() 646e5c31af7Sopenharmony_ci { 647e5c31af7Sopenharmony_ci ${SETUP} 648e5c31af7Sopenharmony_ci out0 = in0.wzy + in1.zyw; 649e5c31af7Sopenharmony_ci ${OUTPUT} 650e5c31af7Sopenharmony_ci } 651e5c31af7Sopenharmony_ci "" 652e5c31af7Sopenharmony_ci end 653e5c31af7Sopenharmony_ci 654e5c31af7Sopenharmony_ci case mediump_vec4_xyzw_yzwx 655e5c31af7Sopenharmony_ci version 300 es 656e5c31af7Sopenharmony_ci values 657e5c31af7Sopenharmony_ci { 658e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 659e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 660e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.6, 1.25, 1.575, 0.925) | vec4(2.25, 2.375, 2.875, 2.75) | vec4(-2.75, -7.125, 4.125, 8.5) | vec4(32.0, 13.0, -27.0, -8.0) | vec4(-0.782258064516, 0.0203735144312, 0.302631578947, -0.5) ]; 661e5c31af7Sopenharmony_ci } 662e5c31af7Sopenharmony_ci 663e5c31af7Sopenharmony_ci both "" 664e5c31af7Sopenharmony_ci #version 300 es 665e5c31af7Sopenharmony_ci precision mediump float; 666e5c31af7Sopenharmony_ci 667e5c31af7Sopenharmony_ci ${DECLARATIONS} 668e5c31af7Sopenharmony_ci 669e5c31af7Sopenharmony_ci void main() 670e5c31af7Sopenharmony_ci { 671e5c31af7Sopenharmony_ci ${SETUP} 672e5c31af7Sopenharmony_ci out0 = in0.xyzw + in1.yzwx; 673e5c31af7Sopenharmony_ci ${OUTPUT} 674e5c31af7Sopenharmony_ci } 675e5c31af7Sopenharmony_ci "" 676e5c31af7Sopenharmony_ci end 677e5c31af7Sopenharmony_ci 678e5c31af7Sopenharmony_ci case mediump_vec4_wzyx_zyxw 679e5c31af7Sopenharmony_ci version 300 es 680e5c31af7Sopenharmony_ci values 681e5c31af7Sopenharmony_ci { 682e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 683e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 684e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.575, 1.25, 0.6, 0.925) | vec4(2.875, 2.375, 2.25, 2.75) | vec4(4.125, -7.125, -2.75, 8.5) | vec4(-27.0, 13.0, 32.0, -8.0) | vec4(0.302631578947, 0.0203735144312, -0.782258064516, -0.5) ]; 685e5c31af7Sopenharmony_ci } 686e5c31af7Sopenharmony_ci 687e5c31af7Sopenharmony_ci both "" 688e5c31af7Sopenharmony_ci #version 300 es 689e5c31af7Sopenharmony_ci precision mediump float; 690e5c31af7Sopenharmony_ci 691e5c31af7Sopenharmony_ci ${DECLARATIONS} 692e5c31af7Sopenharmony_ci 693e5c31af7Sopenharmony_ci void main() 694e5c31af7Sopenharmony_ci { 695e5c31af7Sopenharmony_ci ${SETUP} 696e5c31af7Sopenharmony_ci out0 = in0.wzyx + in1.zyxw; 697e5c31af7Sopenharmony_ci ${OUTPUT} 698e5c31af7Sopenharmony_ci } 699e5c31af7Sopenharmony_ci "" 700e5c31af7Sopenharmony_ci end 701e5c31af7Sopenharmony_ci 702e5c31af7Sopenharmony_ci case mediump_vec4_xyxy_yxyx 703e5c31af7Sopenharmony_ci version 300 es 704e5c31af7Sopenharmony_ci values 705e5c31af7Sopenharmony_ci { 706e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 707e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 708e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.6, 0.6, 0.6, 0.6) | vec4(2.25, 2.25, 2.25, 2.25) | vec4(-2.75, -2.75, -2.75, -2.75) | vec4(32.0, 32.0, 32.0, 32.0) | vec4(-0.782258064516, -0.782258064516, -0.782258064516, -0.782258064516) ]; 709e5c31af7Sopenharmony_ci } 710e5c31af7Sopenharmony_ci 711e5c31af7Sopenharmony_ci both "" 712e5c31af7Sopenharmony_ci #version 300 es 713e5c31af7Sopenharmony_ci precision mediump float; 714e5c31af7Sopenharmony_ci 715e5c31af7Sopenharmony_ci ${DECLARATIONS} 716e5c31af7Sopenharmony_ci 717e5c31af7Sopenharmony_ci void main() 718e5c31af7Sopenharmony_ci { 719e5c31af7Sopenharmony_ci ${SETUP} 720e5c31af7Sopenharmony_ci out0 = in0.xyxy + in1.yxyx; 721e5c31af7Sopenharmony_ci ${OUTPUT} 722e5c31af7Sopenharmony_ci } 723e5c31af7Sopenharmony_ci "" 724e5c31af7Sopenharmony_ci end 725e5c31af7Sopenharmony_ci 726e5c31af7Sopenharmony_ci case mediump_vec4_yzzy_zzyy 727e5c31af7Sopenharmony_ci version 300 es 728e5c31af7Sopenharmony_ci values 729e5c31af7Sopenharmony_ci { 730e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 731e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 732e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.25, 1.5, 1.25, 1.0) | vec4(2.375, 2.25, 2.375, 2.5) | vec4(-7.125, -9.75, -7.125, -4.5) | vec4(13.0, -102.0, 13.0, 128.0) | vec4(0.0203735144312, 0.105263157895, 0.0203735144312, -0.0645161290323) ]; 733e5c31af7Sopenharmony_ci } 734e5c31af7Sopenharmony_ci 735e5c31af7Sopenharmony_ci both "" 736e5c31af7Sopenharmony_ci #version 300 es 737e5c31af7Sopenharmony_ci precision mediump float; 738e5c31af7Sopenharmony_ci 739e5c31af7Sopenharmony_ci ${DECLARATIONS} 740e5c31af7Sopenharmony_ci 741e5c31af7Sopenharmony_ci void main() 742e5c31af7Sopenharmony_ci { 743e5c31af7Sopenharmony_ci ${SETUP} 744e5c31af7Sopenharmony_ci out0 = in0.yzzy + in1.zzyy; 745e5c31af7Sopenharmony_ci ${OUTPUT} 746e5c31af7Sopenharmony_ci } 747e5c31af7Sopenharmony_ci "" 748e5c31af7Sopenharmony_ci end 749e5c31af7Sopenharmony_ci 750e5c31af7Sopenharmony_ci case mediump_vec4_wxww_xwww 751e5c31af7Sopenharmony_ci version 300 es 752e5c31af7Sopenharmony_ci values 753e5c31af7Sopenharmony_ci { 754e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 755e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 756e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.925, 0.925, 1.65, 1.65) | vec4(2.75, 2.75, 3.5, 3.5) | vec4(8.5, 8.5, 18.0, 18.0) | vec4(-8.0, -8.0, 48.0, 48.0) | vec4(-0.5, -0.5, 0.5, 0.5) ]; 757e5c31af7Sopenharmony_ci } 758e5c31af7Sopenharmony_ci 759e5c31af7Sopenharmony_ci both "" 760e5c31af7Sopenharmony_ci #version 300 es 761e5c31af7Sopenharmony_ci precision mediump float; 762e5c31af7Sopenharmony_ci 763e5c31af7Sopenharmony_ci ${DECLARATIONS} 764e5c31af7Sopenharmony_ci 765e5c31af7Sopenharmony_ci void main() 766e5c31af7Sopenharmony_ci { 767e5c31af7Sopenharmony_ci ${SETUP} 768e5c31af7Sopenharmony_ci out0 = in0.wxww + in1.xwww; 769e5c31af7Sopenharmony_ci ${OUTPUT} 770e5c31af7Sopenharmony_ci } 771e5c31af7Sopenharmony_ci "" 772e5c31af7Sopenharmony_ci end 773e5c31af7Sopenharmony_ci 774e5c31af7Sopenharmony_ci case mediump_vec4_xyxx_yxxx 775e5c31af7Sopenharmony_ci version 300 es 776e5c31af7Sopenharmony_ci values 777e5c31af7Sopenharmony_ci { 778e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 779e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 780e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.6, 0.6, 0.2, 0.2) | vec4(2.25, 2.25, 2.0, 2.0) | vec4(-2.75, -2.75, -1.0, -1.0) | vec4(32.0, 32.0, -64.0, -64.0) | vec4(-0.782258064516, -0.782258064516, -1.5, -1.5) ]; 781e5c31af7Sopenharmony_ci } 782e5c31af7Sopenharmony_ci 783e5c31af7Sopenharmony_ci both "" 784e5c31af7Sopenharmony_ci #version 300 es 785e5c31af7Sopenharmony_ci precision mediump float; 786e5c31af7Sopenharmony_ci 787e5c31af7Sopenharmony_ci ${DECLARATIONS} 788e5c31af7Sopenharmony_ci 789e5c31af7Sopenharmony_ci void main() 790e5c31af7Sopenharmony_ci { 791e5c31af7Sopenharmony_ci ${SETUP} 792e5c31af7Sopenharmony_ci out0 = in0.xyxx + in1.yxxx; 793e5c31af7Sopenharmony_ci ${OUTPUT} 794e5c31af7Sopenharmony_ci } 795e5c31af7Sopenharmony_ci "" 796e5c31af7Sopenharmony_ci end 797e5c31af7Sopenharmony_ci 798e5c31af7Sopenharmony_ci case mediump_vec4_zzzz_zzzz 799e5c31af7Sopenharmony_ci version 300 es 800e5c31af7Sopenharmony_ci values 801e5c31af7Sopenharmony_ci { 802e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 803e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 804e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.5, 1.5, 1.5, 1.5) | vec4(2.25, 2.25, 2.25, 2.25) | vec4(-9.75, -9.75, -9.75, -9.75) | vec4(-102.0, -102.0, -102.0, -102.0) | vec4(0.105263157895, 0.105263157895, 0.105263157895, 0.105263157895) ]; 805e5c31af7Sopenharmony_ci } 806e5c31af7Sopenharmony_ci 807e5c31af7Sopenharmony_ci both "" 808e5c31af7Sopenharmony_ci #version 300 es 809e5c31af7Sopenharmony_ci precision mediump float; 810e5c31af7Sopenharmony_ci 811e5c31af7Sopenharmony_ci ${DECLARATIONS} 812e5c31af7Sopenharmony_ci 813e5c31af7Sopenharmony_ci void main() 814e5c31af7Sopenharmony_ci { 815e5c31af7Sopenharmony_ci ${SETUP} 816e5c31af7Sopenharmony_ci out0 = in0.zzzz + in1.zzzz; 817e5c31af7Sopenharmony_ci ${OUTPUT} 818e5c31af7Sopenharmony_ci } 819e5c31af7Sopenharmony_ci "" 820e5c31af7Sopenharmony_ci end 821e5c31af7Sopenharmony_ci 822e5c31af7Sopenharmony_ci case mediump_ivec2_x_x 823e5c31af7Sopenharmony_ci version 300 es 824e5c31af7Sopenharmony_ci values 825e5c31af7Sopenharmony_ci { 826e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 827e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 828e5c31af7Sopenharmony_ci output int out0 = [ -2 | 2 | -2 ]; 829e5c31af7Sopenharmony_ci } 830e5c31af7Sopenharmony_ci 831e5c31af7Sopenharmony_ci both "" 832e5c31af7Sopenharmony_ci #version 300 es 833e5c31af7Sopenharmony_ci precision mediump float; 834e5c31af7Sopenharmony_ci 835e5c31af7Sopenharmony_ci ${DECLARATIONS} 836e5c31af7Sopenharmony_ci 837e5c31af7Sopenharmony_ci void main() 838e5c31af7Sopenharmony_ci { 839e5c31af7Sopenharmony_ci ${SETUP} 840e5c31af7Sopenharmony_ci out0 = in0.x + in1.x; 841e5c31af7Sopenharmony_ci ${OUTPUT} 842e5c31af7Sopenharmony_ci } 843e5c31af7Sopenharmony_ci "" 844e5c31af7Sopenharmony_ci end 845e5c31af7Sopenharmony_ci 846e5c31af7Sopenharmony_ci case mediump_ivec2_xx_xx 847e5c31af7Sopenharmony_ci version 300 es 848e5c31af7Sopenharmony_ci values 849e5c31af7Sopenharmony_ci { 850e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 851e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 852e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-2, -2) | ivec2(2, 2) | ivec2(-2, -2) ]; 853e5c31af7Sopenharmony_ci } 854e5c31af7Sopenharmony_ci 855e5c31af7Sopenharmony_ci both "" 856e5c31af7Sopenharmony_ci #version 300 es 857e5c31af7Sopenharmony_ci precision mediump float; 858e5c31af7Sopenharmony_ci 859e5c31af7Sopenharmony_ci ${DECLARATIONS} 860e5c31af7Sopenharmony_ci 861e5c31af7Sopenharmony_ci void main() 862e5c31af7Sopenharmony_ci { 863e5c31af7Sopenharmony_ci ${SETUP} 864e5c31af7Sopenharmony_ci out0 = in0.xx + in1.xx; 865e5c31af7Sopenharmony_ci ${OUTPUT} 866e5c31af7Sopenharmony_ci } 867e5c31af7Sopenharmony_ci "" 868e5c31af7Sopenharmony_ci end 869e5c31af7Sopenharmony_ci 870e5c31af7Sopenharmony_ci case mediump_ivec2_xy_yx 871e5c31af7Sopenharmony_ci version 300 es 872e5c31af7Sopenharmony_ci values 873e5c31af7Sopenharmony_ci { 874e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 875e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 876e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(3, 3) | ivec2(-3, -3) ]; 877e5c31af7Sopenharmony_ci } 878e5c31af7Sopenharmony_ci 879e5c31af7Sopenharmony_ci both "" 880e5c31af7Sopenharmony_ci #version 300 es 881e5c31af7Sopenharmony_ci precision mediump float; 882e5c31af7Sopenharmony_ci 883e5c31af7Sopenharmony_ci ${DECLARATIONS} 884e5c31af7Sopenharmony_ci 885e5c31af7Sopenharmony_ci void main() 886e5c31af7Sopenharmony_ci { 887e5c31af7Sopenharmony_ci ${SETUP} 888e5c31af7Sopenharmony_ci out0 = in0.xy + in1.yx; 889e5c31af7Sopenharmony_ci ${OUTPUT} 890e5c31af7Sopenharmony_ci } 891e5c31af7Sopenharmony_ci "" 892e5c31af7Sopenharmony_ci end 893e5c31af7Sopenharmony_ci 894e5c31af7Sopenharmony_ci case mediump_ivec2_yx_xy 895e5c31af7Sopenharmony_ci version 300 es 896e5c31af7Sopenharmony_ci values 897e5c31af7Sopenharmony_ci { 898e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 899e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 900e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(3, 3) | ivec2(-3, -3) ]; 901e5c31af7Sopenharmony_ci } 902e5c31af7Sopenharmony_ci 903e5c31af7Sopenharmony_ci both "" 904e5c31af7Sopenharmony_ci #version 300 es 905e5c31af7Sopenharmony_ci precision mediump float; 906e5c31af7Sopenharmony_ci 907e5c31af7Sopenharmony_ci ${DECLARATIONS} 908e5c31af7Sopenharmony_ci 909e5c31af7Sopenharmony_ci void main() 910e5c31af7Sopenharmony_ci { 911e5c31af7Sopenharmony_ci ${SETUP} 912e5c31af7Sopenharmony_ci out0 = in0.yx + in1.xy; 913e5c31af7Sopenharmony_ci ${OUTPUT} 914e5c31af7Sopenharmony_ci } 915e5c31af7Sopenharmony_ci "" 916e5c31af7Sopenharmony_ci end 917e5c31af7Sopenharmony_ci 918e5c31af7Sopenharmony_ci case mediump_ivec2_yxy_xyy 919e5c31af7Sopenharmony_ci version 300 es 920e5c31af7Sopenharmony_ci values 921e5c31af7Sopenharmony_ci { 922e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 923e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 924e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 2) | ivec3(3, 3, 4) | ivec3(-3, -3, -4) ]; 925e5c31af7Sopenharmony_ci } 926e5c31af7Sopenharmony_ci 927e5c31af7Sopenharmony_ci both "" 928e5c31af7Sopenharmony_ci #version 300 es 929e5c31af7Sopenharmony_ci precision mediump float; 930e5c31af7Sopenharmony_ci 931e5c31af7Sopenharmony_ci ${DECLARATIONS} 932e5c31af7Sopenharmony_ci 933e5c31af7Sopenharmony_ci void main() 934e5c31af7Sopenharmony_ci { 935e5c31af7Sopenharmony_ci ${SETUP} 936e5c31af7Sopenharmony_ci out0 = in0.yxy + in1.xyy; 937e5c31af7Sopenharmony_ci ${OUTPUT} 938e5c31af7Sopenharmony_ci } 939e5c31af7Sopenharmony_ci "" 940e5c31af7Sopenharmony_ci end 941e5c31af7Sopenharmony_ci 942e5c31af7Sopenharmony_ci case mediump_ivec2_xyxx_yxxx 943e5c31af7Sopenharmony_ci version 300 es 944e5c31af7Sopenharmony_ci values 945e5c31af7Sopenharmony_ci { 946e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 947e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 948e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, -2, -2) | ivec4(3, 3, 2, 2) | ivec4(-3, -3, -2, -2) ]; 949e5c31af7Sopenharmony_ci } 950e5c31af7Sopenharmony_ci 951e5c31af7Sopenharmony_ci both "" 952e5c31af7Sopenharmony_ci #version 300 es 953e5c31af7Sopenharmony_ci precision mediump float; 954e5c31af7Sopenharmony_ci 955e5c31af7Sopenharmony_ci ${DECLARATIONS} 956e5c31af7Sopenharmony_ci 957e5c31af7Sopenharmony_ci void main() 958e5c31af7Sopenharmony_ci { 959e5c31af7Sopenharmony_ci ${SETUP} 960e5c31af7Sopenharmony_ci out0 = in0.xyxx + in1.yxxx; 961e5c31af7Sopenharmony_ci ${OUTPUT} 962e5c31af7Sopenharmony_ci } 963e5c31af7Sopenharmony_ci "" 964e5c31af7Sopenharmony_ci end 965e5c31af7Sopenharmony_ci 966e5c31af7Sopenharmony_ci case mediump_ivec2_yxyx_xyxy 967e5c31af7Sopenharmony_ci version 300 es 968e5c31af7Sopenharmony_ci values 969e5c31af7Sopenharmony_ci { 970e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 971e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 972e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(3, 3, 3, 3) | ivec4(-3, -3, -3, -3) ]; 973e5c31af7Sopenharmony_ci } 974e5c31af7Sopenharmony_ci 975e5c31af7Sopenharmony_ci both "" 976e5c31af7Sopenharmony_ci #version 300 es 977e5c31af7Sopenharmony_ci precision mediump float; 978e5c31af7Sopenharmony_ci 979e5c31af7Sopenharmony_ci ${DECLARATIONS} 980e5c31af7Sopenharmony_ci 981e5c31af7Sopenharmony_ci void main() 982e5c31af7Sopenharmony_ci { 983e5c31af7Sopenharmony_ci ${SETUP} 984e5c31af7Sopenharmony_ci out0 = in0.yxyx + in1.xyxy; 985e5c31af7Sopenharmony_ci ${OUTPUT} 986e5c31af7Sopenharmony_ci } 987e5c31af7Sopenharmony_ci "" 988e5c31af7Sopenharmony_ci end 989e5c31af7Sopenharmony_ci 990e5c31af7Sopenharmony_ci case mediump_ivec3_x_x 991e5c31af7Sopenharmony_ci version 300 es 992e5c31af7Sopenharmony_ci values 993e5c31af7Sopenharmony_ci { 994e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 995e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 996e5c31af7Sopenharmony_ci output int out0 = [ -2 | 2 | -2 ]; 997e5c31af7Sopenharmony_ci } 998e5c31af7Sopenharmony_ci 999e5c31af7Sopenharmony_ci both "" 1000e5c31af7Sopenharmony_ci #version 300 es 1001e5c31af7Sopenharmony_ci precision mediump float; 1002e5c31af7Sopenharmony_ci 1003e5c31af7Sopenharmony_ci ${DECLARATIONS} 1004e5c31af7Sopenharmony_ci 1005e5c31af7Sopenharmony_ci void main() 1006e5c31af7Sopenharmony_ci { 1007e5c31af7Sopenharmony_ci ${SETUP} 1008e5c31af7Sopenharmony_ci out0 = in0.x + in1.x; 1009e5c31af7Sopenharmony_ci ${OUTPUT} 1010e5c31af7Sopenharmony_ci } 1011e5c31af7Sopenharmony_ci "" 1012e5c31af7Sopenharmony_ci end 1013e5c31af7Sopenharmony_ci 1014e5c31af7Sopenharmony_ci case mediump_ivec3_z_z 1015e5c31af7Sopenharmony_ci version 300 es 1016e5c31af7Sopenharmony_ci values 1017e5c31af7Sopenharmony_ci { 1018e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1019e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1020e5c31af7Sopenharmony_ci output int out0 = [ -2 | 6 | -8 ]; 1021e5c31af7Sopenharmony_ci } 1022e5c31af7Sopenharmony_ci 1023e5c31af7Sopenharmony_ci both "" 1024e5c31af7Sopenharmony_ci #version 300 es 1025e5c31af7Sopenharmony_ci precision mediump float; 1026e5c31af7Sopenharmony_ci 1027e5c31af7Sopenharmony_ci ${DECLARATIONS} 1028e5c31af7Sopenharmony_ci 1029e5c31af7Sopenharmony_ci void main() 1030e5c31af7Sopenharmony_ci { 1031e5c31af7Sopenharmony_ci ${SETUP} 1032e5c31af7Sopenharmony_ci out0 = in0.z + in1.z; 1033e5c31af7Sopenharmony_ci ${OUTPUT} 1034e5c31af7Sopenharmony_ci } 1035e5c31af7Sopenharmony_ci "" 1036e5c31af7Sopenharmony_ci end 1037e5c31af7Sopenharmony_ci 1038e5c31af7Sopenharmony_ci case mediump_ivec3_xz_zx 1039e5c31af7Sopenharmony_ci version 300 es 1040e5c31af7Sopenharmony_ci values 1041e5c31af7Sopenharmony_ci { 1042e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1043e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1044e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-2, -2) | ivec2(4, 4) | ivec2(-5, -5) ]; 1045e5c31af7Sopenharmony_ci } 1046e5c31af7Sopenharmony_ci 1047e5c31af7Sopenharmony_ci both "" 1048e5c31af7Sopenharmony_ci #version 300 es 1049e5c31af7Sopenharmony_ci precision mediump float; 1050e5c31af7Sopenharmony_ci 1051e5c31af7Sopenharmony_ci ${DECLARATIONS} 1052e5c31af7Sopenharmony_ci 1053e5c31af7Sopenharmony_ci void main() 1054e5c31af7Sopenharmony_ci { 1055e5c31af7Sopenharmony_ci ${SETUP} 1056e5c31af7Sopenharmony_ci out0 = in0.xz + in1.zx; 1057e5c31af7Sopenharmony_ci ${OUTPUT} 1058e5c31af7Sopenharmony_ci } 1059e5c31af7Sopenharmony_ci "" 1060e5c31af7Sopenharmony_ci end 1061e5c31af7Sopenharmony_ci 1062e5c31af7Sopenharmony_ci case mediump_ivec3_zz_zz 1063e5c31af7Sopenharmony_ci version 300 es 1064e5c31af7Sopenharmony_ci values 1065e5c31af7Sopenharmony_ci { 1066e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1067e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1068e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-2, -2) | ivec2(6, 6) | ivec2(-8, -8) ]; 1069e5c31af7Sopenharmony_ci } 1070e5c31af7Sopenharmony_ci 1071e5c31af7Sopenharmony_ci both "" 1072e5c31af7Sopenharmony_ci #version 300 es 1073e5c31af7Sopenharmony_ci precision mediump float; 1074e5c31af7Sopenharmony_ci 1075e5c31af7Sopenharmony_ci ${DECLARATIONS} 1076e5c31af7Sopenharmony_ci 1077e5c31af7Sopenharmony_ci void main() 1078e5c31af7Sopenharmony_ci { 1079e5c31af7Sopenharmony_ci ${SETUP} 1080e5c31af7Sopenharmony_ci out0 = in0.zz + in1.zz; 1081e5c31af7Sopenharmony_ci ${OUTPUT} 1082e5c31af7Sopenharmony_ci } 1083e5c31af7Sopenharmony_ci "" 1084e5c31af7Sopenharmony_ci end 1085e5c31af7Sopenharmony_ci 1086e5c31af7Sopenharmony_ci case mediump_ivec3_xyz_yzx 1087e5c31af7Sopenharmony_ci version 300 es 1088e5c31af7Sopenharmony_ci values 1089e5c31af7Sopenharmony_ci { 1090e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1091e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1092e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, -2) | ivec3(3, 5, 4) | ivec3(-3, -6, -5) ]; 1093e5c31af7Sopenharmony_ci } 1094e5c31af7Sopenharmony_ci 1095e5c31af7Sopenharmony_ci both "" 1096e5c31af7Sopenharmony_ci #version 300 es 1097e5c31af7Sopenharmony_ci precision mediump float; 1098e5c31af7Sopenharmony_ci 1099e5c31af7Sopenharmony_ci ${DECLARATIONS} 1100e5c31af7Sopenharmony_ci 1101e5c31af7Sopenharmony_ci void main() 1102e5c31af7Sopenharmony_ci { 1103e5c31af7Sopenharmony_ci ${SETUP} 1104e5c31af7Sopenharmony_ci out0 = in0.xyz + in1.yzx; 1105e5c31af7Sopenharmony_ci ${OUTPUT} 1106e5c31af7Sopenharmony_ci } 1107e5c31af7Sopenharmony_ci "" 1108e5c31af7Sopenharmony_ci end 1109e5c31af7Sopenharmony_ci 1110e5c31af7Sopenharmony_ci case mediump_ivec3_zyx_yxz 1111e5c31af7Sopenharmony_ci version 300 es 1112e5c31af7Sopenharmony_ci values 1113e5c31af7Sopenharmony_ci { 1114e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1115e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1116e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, -2) | ivec3(5, 3, 4) | ivec3(-6, -3, -5) ]; 1117e5c31af7Sopenharmony_ci } 1118e5c31af7Sopenharmony_ci 1119e5c31af7Sopenharmony_ci both "" 1120e5c31af7Sopenharmony_ci #version 300 es 1121e5c31af7Sopenharmony_ci precision mediump float; 1122e5c31af7Sopenharmony_ci 1123e5c31af7Sopenharmony_ci ${DECLARATIONS} 1124e5c31af7Sopenharmony_ci 1125e5c31af7Sopenharmony_ci void main() 1126e5c31af7Sopenharmony_ci { 1127e5c31af7Sopenharmony_ci ${SETUP} 1128e5c31af7Sopenharmony_ci out0 = in0.zyx + in1.yxz; 1129e5c31af7Sopenharmony_ci ${OUTPUT} 1130e5c31af7Sopenharmony_ci } 1131e5c31af7Sopenharmony_ci "" 1132e5c31af7Sopenharmony_ci end 1133e5c31af7Sopenharmony_ci 1134e5c31af7Sopenharmony_ci case mediump_ivec3_xxx_xxx 1135e5c31af7Sopenharmony_ci version 300 es 1136e5c31af7Sopenharmony_ci values 1137e5c31af7Sopenharmony_ci { 1138e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1139e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1140e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-2, -2, -2) | ivec3(2, 2, 2) | ivec3(-2, -2, -2) ]; 1141e5c31af7Sopenharmony_ci } 1142e5c31af7Sopenharmony_ci 1143e5c31af7Sopenharmony_ci both "" 1144e5c31af7Sopenharmony_ci #version 300 es 1145e5c31af7Sopenharmony_ci precision mediump float; 1146e5c31af7Sopenharmony_ci 1147e5c31af7Sopenharmony_ci ${DECLARATIONS} 1148e5c31af7Sopenharmony_ci 1149e5c31af7Sopenharmony_ci void main() 1150e5c31af7Sopenharmony_ci { 1151e5c31af7Sopenharmony_ci ${SETUP} 1152e5c31af7Sopenharmony_ci out0 = in0.xxx + in1.xxx; 1153e5c31af7Sopenharmony_ci ${OUTPUT} 1154e5c31af7Sopenharmony_ci } 1155e5c31af7Sopenharmony_ci "" 1156e5c31af7Sopenharmony_ci end 1157e5c31af7Sopenharmony_ci 1158e5c31af7Sopenharmony_ci case mediump_ivec3_zzz_zzz 1159e5c31af7Sopenharmony_ci version 300 es 1160e5c31af7Sopenharmony_ci values 1161e5c31af7Sopenharmony_ci { 1162e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1163e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1164e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-2, -2, -2) | ivec3(6, 6, 6) | ivec3(-8, -8, -8) ]; 1165e5c31af7Sopenharmony_ci } 1166e5c31af7Sopenharmony_ci 1167e5c31af7Sopenharmony_ci both "" 1168e5c31af7Sopenharmony_ci #version 300 es 1169e5c31af7Sopenharmony_ci precision mediump float; 1170e5c31af7Sopenharmony_ci 1171e5c31af7Sopenharmony_ci ${DECLARATIONS} 1172e5c31af7Sopenharmony_ci 1173e5c31af7Sopenharmony_ci void main() 1174e5c31af7Sopenharmony_ci { 1175e5c31af7Sopenharmony_ci ${SETUP} 1176e5c31af7Sopenharmony_ci out0 = in0.zzz + in1.zzz; 1177e5c31af7Sopenharmony_ci ${OUTPUT} 1178e5c31af7Sopenharmony_ci } 1179e5c31af7Sopenharmony_ci "" 1180e5c31af7Sopenharmony_ci end 1181e5c31af7Sopenharmony_ci 1182e5c31af7Sopenharmony_ci case mediump_ivec3_zzy_zyz 1183e5c31af7Sopenharmony_ci version 300 es 1184e5c31af7Sopenharmony_ci values 1185e5c31af7Sopenharmony_ci { 1186e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1187e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1188e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-2, 0, 0) | ivec3(6, 5, 5) | ivec3(-8, -6, -6) ]; 1189e5c31af7Sopenharmony_ci } 1190e5c31af7Sopenharmony_ci 1191e5c31af7Sopenharmony_ci both "" 1192e5c31af7Sopenharmony_ci #version 300 es 1193e5c31af7Sopenharmony_ci precision mediump float; 1194e5c31af7Sopenharmony_ci 1195e5c31af7Sopenharmony_ci ${DECLARATIONS} 1196e5c31af7Sopenharmony_ci 1197e5c31af7Sopenharmony_ci void main() 1198e5c31af7Sopenharmony_ci { 1199e5c31af7Sopenharmony_ci ${SETUP} 1200e5c31af7Sopenharmony_ci out0 = in0.zzy + in1.zyz; 1201e5c31af7Sopenharmony_ci ${OUTPUT} 1202e5c31af7Sopenharmony_ci } 1203e5c31af7Sopenharmony_ci "" 1204e5c31af7Sopenharmony_ci end 1205e5c31af7Sopenharmony_ci 1206e5c31af7Sopenharmony_ci case mediump_ivec3_yxy_xyy 1207e5c31af7Sopenharmony_ci version 300 es 1208e5c31af7Sopenharmony_ci values 1209e5c31af7Sopenharmony_ci { 1210e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1211e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1212e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 2) | ivec3(3, 3, 4) | ivec3(-3, -3, -4) ]; 1213e5c31af7Sopenharmony_ci } 1214e5c31af7Sopenharmony_ci 1215e5c31af7Sopenharmony_ci both "" 1216e5c31af7Sopenharmony_ci #version 300 es 1217e5c31af7Sopenharmony_ci precision mediump float; 1218e5c31af7Sopenharmony_ci 1219e5c31af7Sopenharmony_ci ${DECLARATIONS} 1220e5c31af7Sopenharmony_ci 1221e5c31af7Sopenharmony_ci void main() 1222e5c31af7Sopenharmony_ci { 1223e5c31af7Sopenharmony_ci ${SETUP} 1224e5c31af7Sopenharmony_ci out0 = in0.yxy + in1.xyy; 1225e5c31af7Sopenharmony_ci ${OUTPUT} 1226e5c31af7Sopenharmony_ci } 1227e5c31af7Sopenharmony_ci "" 1228e5c31af7Sopenharmony_ci end 1229e5c31af7Sopenharmony_ci 1230e5c31af7Sopenharmony_ci case mediump_ivec3_xzx_zxx 1231e5c31af7Sopenharmony_ci version 300 es 1232e5c31af7Sopenharmony_ci values 1233e5c31af7Sopenharmony_ci { 1234e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1235e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1236e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-2, -2, -2) | ivec3(4, 4, 2) | ivec3(-5, -5, -2) ]; 1237e5c31af7Sopenharmony_ci } 1238e5c31af7Sopenharmony_ci 1239e5c31af7Sopenharmony_ci both "" 1240e5c31af7Sopenharmony_ci #version 300 es 1241e5c31af7Sopenharmony_ci precision mediump float; 1242e5c31af7Sopenharmony_ci 1243e5c31af7Sopenharmony_ci ${DECLARATIONS} 1244e5c31af7Sopenharmony_ci 1245e5c31af7Sopenharmony_ci void main() 1246e5c31af7Sopenharmony_ci { 1247e5c31af7Sopenharmony_ci ${SETUP} 1248e5c31af7Sopenharmony_ci out0 = in0.xzx + in1.zxx; 1249e5c31af7Sopenharmony_ci ${OUTPUT} 1250e5c31af7Sopenharmony_ci } 1251e5c31af7Sopenharmony_ci "" 1252e5c31af7Sopenharmony_ci end 1253e5c31af7Sopenharmony_ci 1254e5c31af7Sopenharmony_ci case mediump_ivec3_xyyx_yyxx 1255e5c31af7Sopenharmony_ci version 300 es 1256e5c31af7Sopenharmony_ci values 1257e5c31af7Sopenharmony_ci { 1258e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1259e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1260e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 2, 0, -2) | ivec4(3, 4, 3, 2) | ivec4(-3, -4, -3, -2) ]; 1261e5c31af7Sopenharmony_ci } 1262e5c31af7Sopenharmony_ci 1263e5c31af7Sopenharmony_ci both "" 1264e5c31af7Sopenharmony_ci #version 300 es 1265e5c31af7Sopenharmony_ci precision mediump float; 1266e5c31af7Sopenharmony_ci 1267e5c31af7Sopenharmony_ci ${DECLARATIONS} 1268e5c31af7Sopenharmony_ci 1269e5c31af7Sopenharmony_ci void main() 1270e5c31af7Sopenharmony_ci { 1271e5c31af7Sopenharmony_ci ${SETUP} 1272e5c31af7Sopenharmony_ci out0 = in0.xyyx + in1.yyxx; 1273e5c31af7Sopenharmony_ci ${OUTPUT} 1274e5c31af7Sopenharmony_ci } 1275e5c31af7Sopenharmony_ci "" 1276e5c31af7Sopenharmony_ci end 1277e5c31af7Sopenharmony_ci 1278e5c31af7Sopenharmony_ci case mediump_ivec3_zxyz_xyzz 1279e5c31af7Sopenharmony_ci version 300 es 1280e5c31af7Sopenharmony_ci values 1281e5c31af7Sopenharmony_ci { 1282e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1283e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 1284e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, 0, 0, -2) | ivec4(4, 3, 5, 6) | ivec4(-5, -3, -6, -8) ]; 1285e5c31af7Sopenharmony_ci } 1286e5c31af7Sopenharmony_ci 1287e5c31af7Sopenharmony_ci both "" 1288e5c31af7Sopenharmony_ci #version 300 es 1289e5c31af7Sopenharmony_ci precision mediump float; 1290e5c31af7Sopenharmony_ci 1291e5c31af7Sopenharmony_ci ${DECLARATIONS} 1292e5c31af7Sopenharmony_ci 1293e5c31af7Sopenharmony_ci void main() 1294e5c31af7Sopenharmony_ci { 1295e5c31af7Sopenharmony_ci ${SETUP} 1296e5c31af7Sopenharmony_ci out0 = in0.zxyz + in1.xyzz; 1297e5c31af7Sopenharmony_ci ${OUTPUT} 1298e5c31af7Sopenharmony_ci } 1299e5c31af7Sopenharmony_ci "" 1300e5c31af7Sopenharmony_ci end 1301e5c31af7Sopenharmony_ci 1302e5c31af7Sopenharmony_ci case mediump_ivec4_x_x 1303e5c31af7Sopenharmony_ci version 300 es 1304e5c31af7Sopenharmony_ci values 1305e5c31af7Sopenharmony_ci { 1306e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1307e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1308e5c31af7Sopenharmony_ci output int out0 = [ -2 | 2 | -2 ]; 1309e5c31af7Sopenharmony_ci } 1310e5c31af7Sopenharmony_ci 1311e5c31af7Sopenharmony_ci both "" 1312e5c31af7Sopenharmony_ci #version 300 es 1313e5c31af7Sopenharmony_ci precision mediump float; 1314e5c31af7Sopenharmony_ci 1315e5c31af7Sopenharmony_ci ${DECLARATIONS} 1316e5c31af7Sopenharmony_ci 1317e5c31af7Sopenharmony_ci void main() 1318e5c31af7Sopenharmony_ci { 1319e5c31af7Sopenharmony_ci ${SETUP} 1320e5c31af7Sopenharmony_ci out0 = in0.x + in1.x; 1321e5c31af7Sopenharmony_ci ${OUTPUT} 1322e5c31af7Sopenharmony_ci } 1323e5c31af7Sopenharmony_ci "" 1324e5c31af7Sopenharmony_ci end 1325e5c31af7Sopenharmony_ci 1326e5c31af7Sopenharmony_ci case mediump_ivec4_w_w 1327e5c31af7Sopenharmony_ci version 300 es 1328e5c31af7Sopenharmony_ci values 1329e5c31af7Sopenharmony_ci { 1330e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1331e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1332e5c31af7Sopenharmony_ci output int out0 = [ 2 | 8 | -18 ]; 1333e5c31af7Sopenharmony_ci } 1334e5c31af7Sopenharmony_ci 1335e5c31af7Sopenharmony_ci both "" 1336e5c31af7Sopenharmony_ci #version 300 es 1337e5c31af7Sopenharmony_ci precision mediump float; 1338e5c31af7Sopenharmony_ci 1339e5c31af7Sopenharmony_ci ${DECLARATIONS} 1340e5c31af7Sopenharmony_ci 1341e5c31af7Sopenharmony_ci void main() 1342e5c31af7Sopenharmony_ci { 1343e5c31af7Sopenharmony_ci ${SETUP} 1344e5c31af7Sopenharmony_ci out0 = in0.w + in1.w; 1345e5c31af7Sopenharmony_ci ${OUTPUT} 1346e5c31af7Sopenharmony_ci } 1347e5c31af7Sopenharmony_ci "" 1348e5c31af7Sopenharmony_ci end 1349e5c31af7Sopenharmony_ci 1350e5c31af7Sopenharmony_ci case mediump_ivec4_wx_xw 1351e5c31af7Sopenharmony_ci version 300 es 1352e5c31af7Sopenharmony_ci values 1353e5c31af7Sopenharmony_ci { 1354e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1355e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1356e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(5, 5) | ivec2(-10, -10) ]; 1357e5c31af7Sopenharmony_ci } 1358e5c31af7Sopenharmony_ci 1359e5c31af7Sopenharmony_ci both "" 1360e5c31af7Sopenharmony_ci #version 300 es 1361e5c31af7Sopenharmony_ci precision mediump float; 1362e5c31af7Sopenharmony_ci 1363e5c31af7Sopenharmony_ci ${DECLARATIONS} 1364e5c31af7Sopenharmony_ci 1365e5c31af7Sopenharmony_ci void main() 1366e5c31af7Sopenharmony_ci { 1367e5c31af7Sopenharmony_ci ${SETUP} 1368e5c31af7Sopenharmony_ci out0 = in0.wx + in1.xw; 1369e5c31af7Sopenharmony_ci ${OUTPUT} 1370e5c31af7Sopenharmony_ci } 1371e5c31af7Sopenharmony_ci "" 1372e5c31af7Sopenharmony_ci end 1373e5c31af7Sopenharmony_ci 1374e5c31af7Sopenharmony_ci case mediump_ivec4_wz_zw 1375e5c31af7Sopenharmony_ci version 300 es 1376e5c31af7Sopenharmony_ci values 1377e5c31af7Sopenharmony_ci { 1378e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1379e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1380e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(7, 7) | ivec2(-13, -13) ]; 1381e5c31af7Sopenharmony_ci } 1382e5c31af7Sopenharmony_ci 1383e5c31af7Sopenharmony_ci both "" 1384e5c31af7Sopenharmony_ci #version 300 es 1385e5c31af7Sopenharmony_ci precision mediump float; 1386e5c31af7Sopenharmony_ci 1387e5c31af7Sopenharmony_ci ${DECLARATIONS} 1388e5c31af7Sopenharmony_ci 1389e5c31af7Sopenharmony_ci void main() 1390e5c31af7Sopenharmony_ci { 1391e5c31af7Sopenharmony_ci ${SETUP} 1392e5c31af7Sopenharmony_ci out0 = in0.wz + in1.zw; 1393e5c31af7Sopenharmony_ci ${OUTPUT} 1394e5c31af7Sopenharmony_ci } 1395e5c31af7Sopenharmony_ci "" 1396e5c31af7Sopenharmony_ci end 1397e5c31af7Sopenharmony_ci 1398e5c31af7Sopenharmony_ci case mediump_ivec4_www_www 1399e5c31af7Sopenharmony_ci version 300 es 1400e5c31af7Sopenharmony_ci values 1401e5c31af7Sopenharmony_ci { 1402e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1403e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1404e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(2, 2, 2) | ivec3(8, 8, 8) | ivec3(-18, -18, -18) ]; 1405e5c31af7Sopenharmony_ci } 1406e5c31af7Sopenharmony_ci 1407e5c31af7Sopenharmony_ci both "" 1408e5c31af7Sopenharmony_ci #version 300 es 1409e5c31af7Sopenharmony_ci precision mediump float; 1410e5c31af7Sopenharmony_ci 1411e5c31af7Sopenharmony_ci ${DECLARATIONS} 1412e5c31af7Sopenharmony_ci 1413e5c31af7Sopenharmony_ci void main() 1414e5c31af7Sopenharmony_ci { 1415e5c31af7Sopenharmony_ci ${SETUP} 1416e5c31af7Sopenharmony_ci out0 = in0.www + in1.www; 1417e5c31af7Sopenharmony_ci ${OUTPUT} 1418e5c31af7Sopenharmony_ci } 1419e5c31af7Sopenharmony_ci "" 1420e5c31af7Sopenharmony_ci end 1421e5c31af7Sopenharmony_ci 1422e5c31af7Sopenharmony_ci case mediump_ivec4_yyw_ywy 1423e5c31af7Sopenharmony_ci version 300 es 1424e5c31af7Sopenharmony_ci values 1425e5c31af7Sopenharmony_ci { 1426e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1427e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1428e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(2, 2, 2) | ivec3(4, 6, 6) | ivec3(-4, -11, -11) ]; 1429e5c31af7Sopenharmony_ci } 1430e5c31af7Sopenharmony_ci 1431e5c31af7Sopenharmony_ci both "" 1432e5c31af7Sopenharmony_ci #version 300 es 1433e5c31af7Sopenharmony_ci precision mediump float; 1434e5c31af7Sopenharmony_ci 1435e5c31af7Sopenharmony_ci ${DECLARATIONS} 1436e5c31af7Sopenharmony_ci 1437e5c31af7Sopenharmony_ci void main() 1438e5c31af7Sopenharmony_ci { 1439e5c31af7Sopenharmony_ci ${SETUP} 1440e5c31af7Sopenharmony_ci out0 = in0.yyw + in1.ywy; 1441e5c31af7Sopenharmony_ci ${OUTPUT} 1442e5c31af7Sopenharmony_ci } 1443e5c31af7Sopenharmony_ci "" 1444e5c31af7Sopenharmony_ci end 1445e5c31af7Sopenharmony_ci 1446e5c31af7Sopenharmony_ci case mediump_ivec4_wzy_zyw 1447e5c31af7Sopenharmony_ci version 300 es 1448e5c31af7Sopenharmony_ci values 1449e5c31af7Sopenharmony_ci { 1450e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1451e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1452e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 2) | ivec3(7, 5, 6) | ivec3(-13, -6, -11) ]; 1453e5c31af7Sopenharmony_ci } 1454e5c31af7Sopenharmony_ci 1455e5c31af7Sopenharmony_ci both "" 1456e5c31af7Sopenharmony_ci #version 300 es 1457e5c31af7Sopenharmony_ci precision mediump float; 1458e5c31af7Sopenharmony_ci 1459e5c31af7Sopenharmony_ci ${DECLARATIONS} 1460e5c31af7Sopenharmony_ci 1461e5c31af7Sopenharmony_ci void main() 1462e5c31af7Sopenharmony_ci { 1463e5c31af7Sopenharmony_ci ${SETUP} 1464e5c31af7Sopenharmony_ci out0 = in0.wzy + in1.zyw; 1465e5c31af7Sopenharmony_ci ${OUTPUT} 1466e5c31af7Sopenharmony_ci } 1467e5c31af7Sopenharmony_ci "" 1468e5c31af7Sopenharmony_ci end 1469e5c31af7Sopenharmony_ci 1470e5c31af7Sopenharmony_ci case mediump_ivec4_xyzw_yzwx 1471e5c31af7Sopenharmony_ci version 300 es 1472e5c31af7Sopenharmony_ci values 1473e5c31af7Sopenharmony_ci { 1474e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1475e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1476e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(3, 5, 7, 5) | ivec4(-3, -6, -13, -10) ]; 1477e5c31af7Sopenharmony_ci } 1478e5c31af7Sopenharmony_ci 1479e5c31af7Sopenharmony_ci both "" 1480e5c31af7Sopenharmony_ci #version 300 es 1481e5c31af7Sopenharmony_ci precision mediump float; 1482e5c31af7Sopenharmony_ci 1483e5c31af7Sopenharmony_ci ${DECLARATIONS} 1484e5c31af7Sopenharmony_ci 1485e5c31af7Sopenharmony_ci void main() 1486e5c31af7Sopenharmony_ci { 1487e5c31af7Sopenharmony_ci ${SETUP} 1488e5c31af7Sopenharmony_ci out0 = in0.xyzw + in1.yzwx; 1489e5c31af7Sopenharmony_ci ${OUTPUT} 1490e5c31af7Sopenharmony_ci } 1491e5c31af7Sopenharmony_ci "" 1492e5c31af7Sopenharmony_ci end 1493e5c31af7Sopenharmony_ci 1494e5c31af7Sopenharmony_ci case mediump_ivec4_wzyx_zyxw 1495e5c31af7Sopenharmony_ci version 300 es 1496e5c31af7Sopenharmony_ci values 1497e5c31af7Sopenharmony_ci { 1498e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1499e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1500e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(7, 5, 3, 5) | ivec4(-13, -6, -3, -10) ]; 1501e5c31af7Sopenharmony_ci } 1502e5c31af7Sopenharmony_ci 1503e5c31af7Sopenharmony_ci both "" 1504e5c31af7Sopenharmony_ci #version 300 es 1505e5c31af7Sopenharmony_ci precision mediump float; 1506e5c31af7Sopenharmony_ci 1507e5c31af7Sopenharmony_ci ${DECLARATIONS} 1508e5c31af7Sopenharmony_ci 1509e5c31af7Sopenharmony_ci void main() 1510e5c31af7Sopenharmony_ci { 1511e5c31af7Sopenharmony_ci ${SETUP} 1512e5c31af7Sopenharmony_ci out0 = in0.wzyx + in1.zyxw; 1513e5c31af7Sopenharmony_ci ${OUTPUT} 1514e5c31af7Sopenharmony_ci } 1515e5c31af7Sopenharmony_ci "" 1516e5c31af7Sopenharmony_ci end 1517e5c31af7Sopenharmony_ci 1518e5c31af7Sopenharmony_ci case mediump_ivec4_xyxy_yxyx 1519e5c31af7Sopenharmony_ci version 300 es 1520e5c31af7Sopenharmony_ci values 1521e5c31af7Sopenharmony_ci { 1522e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1523e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1524e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(3, 3, 3, 3) | ivec4(-3, -3, -3, -3) ]; 1525e5c31af7Sopenharmony_ci } 1526e5c31af7Sopenharmony_ci 1527e5c31af7Sopenharmony_ci both "" 1528e5c31af7Sopenharmony_ci #version 300 es 1529e5c31af7Sopenharmony_ci precision mediump float; 1530e5c31af7Sopenharmony_ci 1531e5c31af7Sopenharmony_ci ${DECLARATIONS} 1532e5c31af7Sopenharmony_ci 1533e5c31af7Sopenharmony_ci void main() 1534e5c31af7Sopenharmony_ci { 1535e5c31af7Sopenharmony_ci ${SETUP} 1536e5c31af7Sopenharmony_ci out0 = in0.xyxy + in1.yxyx; 1537e5c31af7Sopenharmony_ci ${OUTPUT} 1538e5c31af7Sopenharmony_ci } 1539e5c31af7Sopenharmony_ci "" 1540e5c31af7Sopenharmony_ci end 1541e5c31af7Sopenharmony_ci 1542e5c31af7Sopenharmony_ci case mediump_ivec4_yzzy_zzyy 1543e5c31af7Sopenharmony_ci version 300 es 1544e5c31af7Sopenharmony_ci values 1545e5c31af7Sopenharmony_ci { 1546e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1547e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1548e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, -2, 0, 2) | ivec4(5, 6, 5, 4) | ivec4(-6, -8, -6, -4) ]; 1549e5c31af7Sopenharmony_ci } 1550e5c31af7Sopenharmony_ci 1551e5c31af7Sopenharmony_ci both "" 1552e5c31af7Sopenharmony_ci #version 300 es 1553e5c31af7Sopenharmony_ci precision mediump float; 1554e5c31af7Sopenharmony_ci 1555e5c31af7Sopenharmony_ci ${DECLARATIONS} 1556e5c31af7Sopenharmony_ci 1557e5c31af7Sopenharmony_ci void main() 1558e5c31af7Sopenharmony_ci { 1559e5c31af7Sopenharmony_ci ${SETUP} 1560e5c31af7Sopenharmony_ci out0 = in0.yzzy + in1.zzyy; 1561e5c31af7Sopenharmony_ci ${OUTPUT} 1562e5c31af7Sopenharmony_ci } 1563e5c31af7Sopenharmony_ci "" 1564e5c31af7Sopenharmony_ci end 1565e5c31af7Sopenharmony_ci 1566e5c31af7Sopenharmony_ci case mediump_ivec4_wxww_xwww 1567e5c31af7Sopenharmony_ci version 300 es 1568e5c31af7Sopenharmony_ci values 1569e5c31af7Sopenharmony_ci { 1570e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1571e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1572e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, 2, 2) | ivec4(5, 5, 8, 8) | ivec4(-10, -10, -18, -18) ]; 1573e5c31af7Sopenharmony_ci } 1574e5c31af7Sopenharmony_ci 1575e5c31af7Sopenharmony_ci both "" 1576e5c31af7Sopenharmony_ci #version 300 es 1577e5c31af7Sopenharmony_ci precision mediump float; 1578e5c31af7Sopenharmony_ci 1579e5c31af7Sopenharmony_ci ${DECLARATIONS} 1580e5c31af7Sopenharmony_ci 1581e5c31af7Sopenharmony_ci void main() 1582e5c31af7Sopenharmony_ci { 1583e5c31af7Sopenharmony_ci ${SETUP} 1584e5c31af7Sopenharmony_ci out0 = in0.wxww + in1.xwww; 1585e5c31af7Sopenharmony_ci ${OUTPUT} 1586e5c31af7Sopenharmony_ci } 1587e5c31af7Sopenharmony_ci "" 1588e5c31af7Sopenharmony_ci end 1589e5c31af7Sopenharmony_ci 1590e5c31af7Sopenharmony_ci case mediump_ivec4_xyxx_yxxx 1591e5c31af7Sopenharmony_ci version 300 es 1592e5c31af7Sopenharmony_ci values 1593e5c31af7Sopenharmony_ci { 1594e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1595e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1596e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, -2, -2) | ivec4(3, 3, 2, 2) | ivec4(-3, -3, -2, -2) ]; 1597e5c31af7Sopenharmony_ci } 1598e5c31af7Sopenharmony_ci 1599e5c31af7Sopenharmony_ci both "" 1600e5c31af7Sopenharmony_ci #version 300 es 1601e5c31af7Sopenharmony_ci precision mediump float; 1602e5c31af7Sopenharmony_ci 1603e5c31af7Sopenharmony_ci ${DECLARATIONS} 1604e5c31af7Sopenharmony_ci 1605e5c31af7Sopenharmony_ci void main() 1606e5c31af7Sopenharmony_ci { 1607e5c31af7Sopenharmony_ci ${SETUP} 1608e5c31af7Sopenharmony_ci out0 = in0.xyxx + in1.yxxx; 1609e5c31af7Sopenharmony_ci ${OUTPUT} 1610e5c31af7Sopenharmony_ci } 1611e5c31af7Sopenharmony_ci "" 1612e5c31af7Sopenharmony_ci end 1613e5c31af7Sopenharmony_ci 1614e5c31af7Sopenharmony_ci case mediump_ivec4_zzzz_zzzz 1615e5c31af7Sopenharmony_ci version 300 es 1616e5c31af7Sopenharmony_ci values 1617e5c31af7Sopenharmony_ci { 1618e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1619e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 1620e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, -2, -2, -2) | ivec4(6, 6, 6, 6) | ivec4(-8, -8, -8, -8) ]; 1621e5c31af7Sopenharmony_ci } 1622e5c31af7Sopenharmony_ci 1623e5c31af7Sopenharmony_ci both "" 1624e5c31af7Sopenharmony_ci #version 300 es 1625e5c31af7Sopenharmony_ci precision mediump float; 1626e5c31af7Sopenharmony_ci 1627e5c31af7Sopenharmony_ci ${DECLARATIONS} 1628e5c31af7Sopenharmony_ci 1629e5c31af7Sopenharmony_ci void main() 1630e5c31af7Sopenharmony_ci { 1631e5c31af7Sopenharmony_ci ${SETUP} 1632e5c31af7Sopenharmony_ci out0 = in0.zzzz + in1.zzzz; 1633e5c31af7Sopenharmony_ci ${OUTPUT} 1634e5c31af7Sopenharmony_ci } 1635e5c31af7Sopenharmony_ci "" 1636e5c31af7Sopenharmony_ci end 1637e5c31af7Sopenharmony_ci 1638e5c31af7Sopenharmony_ci 1639e5c31af7Sopenharmony_ciend # vector_add 1640e5c31af7Sopenharmony_cigroup vector_subtract "Vector swizzle math operations" 1641e5c31af7Sopenharmony_ci 1642e5c31af7Sopenharmony_ci case mediump_vec2_x_x 1643e5c31af7Sopenharmony_ci version 300 es 1644e5c31af7Sopenharmony_ci values 1645e5c31af7Sopenharmony_ci { 1646e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1647e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1648e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 0.0 | 0.0 | 0.0 | 0.0 ]; 1649e5c31af7Sopenharmony_ci } 1650e5c31af7Sopenharmony_ci 1651e5c31af7Sopenharmony_ci both "" 1652e5c31af7Sopenharmony_ci #version 300 es 1653e5c31af7Sopenharmony_ci precision mediump float; 1654e5c31af7Sopenharmony_ci 1655e5c31af7Sopenharmony_ci ${DECLARATIONS} 1656e5c31af7Sopenharmony_ci 1657e5c31af7Sopenharmony_ci void main() 1658e5c31af7Sopenharmony_ci { 1659e5c31af7Sopenharmony_ci ${SETUP} 1660e5c31af7Sopenharmony_ci out0 = in0.x - in1.x; 1661e5c31af7Sopenharmony_ci ${OUTPUT} 1662e5c31af7Sopenharmony_ci } 1663e5c31af7Sopenharmony_ci "" 1664e5c31af7Sopenharmony_ci end 1665e5c31af7Sopenharmony_ci 1666e5c31af7Sopenharmony_ci case mediump_vec2_xx_xx 1667e5c31af7Sopenharmony_ci version 300 es 1668e5c31af7Sopenharmony_ci values 1669e5c31af7Sopenharmony_ci { 1670e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1671e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1672e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 0.0) ]; 1673e5c31af7Sopenharmony_ci } 1674e5c31af7Sopenharmony_ci 1675e5c31af7Sopenharmony_ci both "" 1676e5c31af7Sopenharmony_ci #version 300 es 1677e5c31af7Sopenharmony_ci precision mediump float; 1678e5c31af7Sopenharmony_ci 1679e5c31af7Sopenharmony_ci ${DECLARATIONS} 1680e5c31af7Sopenharmony_ci 1681e5c31af7Sopenharmony_ci void main() 1682e5c31af7Sopenharmony_ci { 1683e5c31af7Sopenharmony_ci ${SETUP} 1684e5c31af7Sopenharmony_ci out0 = in0.xx - in1.xx; 1685e5c31af7Sopenharmony_ci ${OUTPUT} 1686e5c31af7Sopenharmony_ci } 1687e5c31af7Sopenharmony_ci "" 1688e5c31af7Sopenharmony_ci end 1689e5c31af7Sopenharmony_ci 1690e5c31af7Sopenharmony_ci case mediump_vec2_xy_yx 1691e5c31af7Sopenharmony_ci version 300 es 1692e5c31af7Sopenharmony_ci values 1693e5c31af7Sopenharmony_ci { 1694e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1695e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1696e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(-0.4, 0.4) | vec2(-0.25, 0.25) | vec2(1.75, -1.75) | vec2(-96.0, 96.0) | vec2(-0.717741935484, 0.717741935484) ]; 1697e5c31af7Sopenharmony_ci } 1698e5c31af7Sopenharmony_ci 1699e5c31af7Sopenharmony_ci both "" 1700e5c31af7Sopenharmony_ci #version 300 es 1701e5c31af7Sopenharmony_ci precision mediump float; 1702e5c31af7Sopenharmony_ci 1703e5c31af7Sopenharmony_ci ${DECLARATIONS} 1704e5c31af7Sopenharmony_ci 1705e5c31af7Sopenharmony_ci void main() 1706e5c31af7Sopenharmony_ci { 1707e5c31af7Sopenharmony_ci ${SETUP} 1708e5c31af7Sopenharmony_ci out0 = in0.xy - in1.yx; 1709e5c31af7Sopenharmony_ci ${OUTPUT} 1710e5c31af7Sopenharmony_ci } 1711e5c31af7Sopenharmony_ci "" 1712e5c31af7Sopenharmony_ci end 1713e5c31af7Sopenharmony_ci 1714e5c31af7Sopenharmony_ci case mediump_vec2_yx_xy 1715e5c31af7Sopenharmony_ci version 300 es 1716e5c31af7Sopenharmony_ci values 1717e5c31af7Sopenharmony_ci { 1718e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1719e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1720e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.4, -0.4) | vec2(0.25, -0.25) | vec2(-1.75, 1.75) | vec2(96.0, -96.0) | vec2(0.717741935484, -0.717741935484) ]; 1721e5c31af7Sopenharmony_ci } 1722e5c31af7Sopenharmony_ci 1723e5c31af7Sopenharmony_ci both "" 1724e5c31af7Sopenharmony_ci #version 300 es 1725e5c31af7Sopenharmony_ci precision mediump float; 1726e5c31af7Sopenharmony_ci 1727e5c31af7Sopenharmony_ci ${DECLARATIONS} 1728e5c31af7Sopenharmony_ci 1729e5c31af7Sopenharmony_ci void main() 1730e5c31af7Sopenharmony_ci { 1731e5c31af7Sopenharmony_ci ${SETUP} 1732e5c31af7Sopenharmony_ci out0 = in0.yx - in1.xy; 1733e5c31af7Sopenharmony_ci ${OUTPUT} 1734e5c31af7Sopenharmony_ci } 1735e5c31af7Sopenharmony_ci "" 1736e5c31af7Sopenharmony_ci end 1737e5c31af7Sopenharmony_ci 1738e5c31af7Sopenharmony_ci case mediump_vec2_yxy_xyy 1739e5c31af7Sopenharmony_ci version 300 es 1740e5c31af7Sopenharmony_ci values 1741e5c31af7Sopenharmony_ci { 1742e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1743e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1744e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.4, -0.4, 0.0) | vec3(0.25, -0.25, 0.0) | vec3(-1.75, 1.75, 0.0) | vec3(96.0, -96.0, 0.0) | vec3(0.717741935484, -0.717741935484, 0.0) ]; 1745e5c31af7Sopenharmony_ci } 1746e5c31af7Sopenharmony_ci 1747e5c31af7Sopenharmony_ci both "" 1748e5c31af7Sopenharmony_ci #version 300 es 1749e5c31af7Sopenharmony_ci precision mediump float; 1750e5c31af7Sopenharmony_ci 1751e5c31af7Sopenharmony_ci ${DECLARATIONS} 1752e5c31af7Sopenharmony_ci 1753e5c31af7Sopenharmony_ci void main() 1754e5c31af7Sopenharmony_ci { 1755e5c31af7Sopenharmony_ci ${SETUP} 1756e5c31af7Sopenharmony_ci out0 = in0.yxy - in1.xyy; 1757e5c31af7Sopenharmony_ci ${OUTPUT} 1758e5c31af7Sopenharmony_ci } 1759e5c31af7Sopenharmony_ci "" 1760e5c31af7Sopenharmony_ci end 1761e5c31af7Sopenharmony_ci 1762e5c31af7Sopenharmony_ci case mediump_vec2_xyxx_yxxx 1763e5c31af7Sopenharmony_ci version 300 es 1764e5c31af7Sopenharmony_ci values 1765e5c31af7Sopenharmony_ci { 1766e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1767e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1768e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(-0.4, 0.4, 0.0, 0.0) | vec4(-0.25, 0.25, 0.0, 0.0) | vec4(1.75, -1.75, 0.0, 0.0) | vec4(-96.0, 96.0, 0.0, 0.0) | vec4(-0.717741935484, 0.717741935484, 0.0, 0.0) ]; 1769e5c31af7Sopenharmony_ci } 1770e5c31af7Sopenharmony_ci 1771e5c31af7Sopenharmony_ci both "" 1772e5c31af7Sopenharmony_ci #version 300 es 1773e5c31af7Sopenharmony_ci precision mediump float; 1774e5c31af7Sopenharmony_ci 1775e5c31af7Sopenharmony_ci ${DECLARATIONS} 1776e5c31af7Sopenharmony_ci 1777e5c31af7Sopenharmony_ci void main() 1778e5c31af7Sopenharmony_ci { 1779e5c31af7Sopenharmony_ci ${SETUP} 1780e5c31af7Sopenharmony_ci out0 = in0.xyxx - in1.yxxx; 1781e5c31af7Sopenharmony_ci ${OUTPUT} 1782e5c31af7Sopenharmony_ci } 1783e5c31af7Sopenharmony_ci "" 1784e5c31af7Sopenharmony_ci end 1785e5c31af7Sopenharmony_ci 1786e5c31af7Sopenharmony_ci case mediump_vec2_yxyx_xyxy 1787e5c31af7Sopenharmony_ci version 300 es 1788e5c31af7Sopenharmony_ci values 1789e5c31af7Sopenharmony_ci { 1790e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1791e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 1792e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.4, -0.4, 0.4, -0.4) | vec4(0.25, -0.25, 0.25, -0.25) | vec4(-1.75, 1.75, -1.75, 1.75) | vec4(96.0, -96.0, 96.0, -96.0) | vec4(0.717741935484, -0.717741935484, 0.717741935484, -0.717741935484) ]; 1793e5c31af7Sopenharmony_ci } 1794e5c31af7Sopenharmony_ci 1795e5c31af7Sopenharmony_ci both "" 1796e5c31af7Sopenharmony_ci #version 300 es 1797e5c31af7Sopenharmony_ci precision mediump float; 1798e5c31af7Sopenharmony_ci 1799e5c31af7Sopenharmony_ci ${DECLARATIONS} 1800e5c31af7Sopenharmony_ci 1801e5c31af7Sopenharmony_ci void main() 1802e5c31af7Sopenharmony_ci { 1803e5c31af7Sopenharmony_ci ${SETUP} 1804e5c31af7Sopenharmony_ci out0 = in0.yxyx - in1.xyxy; 1805e5c31af7Sopenharmony_ci ${OUTPUT} 1806e5c31af7Sopenharmony_ci } 1807e5c31af7Sopenharmony_ci "" 1808e5c31af7Sopenharmony_ci end 1809e5c31af7Sopenharmony_ci 1810e5c31af7Sopenharmony_ci case mediump_vec3_x_x 1811e5c31af7Sopenharmony_ci version 300 es 1812e5c31af7Sopenharmony_ci values 1813e5c31af7Sopenharmony_ci { 1814e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1815e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1816e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 0.0 | 0.0 | 0.0 | 0.0 ]; 1817e5c31af7Sopenharmony_ci } 1818e5c31af7Sopenharmony_ci 1819e5c31af7Sopenharmony_ci both "" 1820e5c31af7Sopenharmony_ci #version 300 es 1821e5c31af7Sopenharmony_ci precision mediump float; 1822e5c31af7Sopenharmony_ci 1823e5c31af7Sopenharmony_ci ${DECLARATIONS} 1824e5c31af7Sopenharmony_ci 1825e5c31af7Sopenharmony_ci void main() 1826e5c31af7Sopenharmony_ci { 1827e5c31af7Sopenharmony_ci ${SETUP} 1828e5c31af7Sopenharmony_ci out0 = in0.x - in1.x; 1829e5c31af7Sopenharmony_ci ${OUTPUT} 1830e5c31af7Sopenharmony_ci } 1831e5c31af7Sopenharmony_ci "" 1832e5c31af7Sopenharmony_ci end 1833e5c31af7Sopenharmony_ci 1834e5c31af7Sopenharmony_ci case mediump_vec3_z_z 1835e5c31af7Sopenharmony_ci version 300 es 1836e5c31af7Sopenharmony_ci values 1837e5c31af7Sopenharmony_ci { 1838e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1839e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1840e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 0.0 | 0.0 | 0.0 | 0.0 ]; 1841e5c31af7Sopenharmony_ci } 1842e5c31af7Sopenharmony_ci 1843e5c31af7Sopenharmony_ci both "" 1844e5c31af7Sopenharmony_ci #version 300 es 1845e5c31af7Sopenharmony_ci precision mediump float; 1846e5c31af7Sopenharmony_ci 1847e5c31af7Sopenharmony_ci ${DECLARATIONS} 1848e5c31af7Sopenharmony_ci 1849e5c31af7Sopenharmony_ci void main() 1850e5c31af7Sopenharmony_ci { 1851e5c31af7Sopenharmony_ci ${SETUP} 1852e5c31af7Sopenharmony_ci out0 = in0.z - in1.z; 1853e5c31af7Sopenharmony_ci ${OUTPUT} 1854e5c31af7Sopenharmony_ci } 1855e5c31af7Sopenharmony_ci "" 1856e5c31af7Sopenharmony_ci end 1857e5c31af7Sopenharmony_ci 1858e5c31af7Sopenharmony_ci case mediump_vec3_xz_zx 1859e5c31af7Sopenharmony_ci version 300 es 1860e5c31af7Sopenharmony_ci values 1861e5c31af7Sopenharmony_ci { 1862e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1863e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1864e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(-0.65, 0.65) | vec2(-0.125, 0.125) | vec2(4.375, -4.375) | vec2(19.0, -19.0) | vec2(-0.802631578947, 0.802631578947) ]; 1865e5c31af7Sopenharmony_ci } 1866e5c31af7Sopenharmony_ci 1867e5c31af7Sopenharmony_ci both "" 1868e5c31af7Sopenharmony_ci #version 300 es 1869e5c31af7Sopenharmony_ci precision mediump float; 1870e5c31af7Sopenharmony_ci 1871e5c31af7Sopenharmony_ci ${DECLARATIONS} 1872e5c31af7Sopenharmony_ci 1873e5c31af7Sopenharmony_ci void main() 1874e5c31af7Sopenharmony_ci { 1875e5c31af7Sopenharmony_ci ${SETUP} 1876e5c31af7Sopenharmony_ci out0 = in0.xz - in1.zx; 1877e5c31af7Sopenharmony_ci ${OUTPUT} 1878e5c31af7Sopenharmony_ci } 1879e5c31af7Sopenharmony_ci "" 1880e5c31af7Sopenharmony_ci end 1881e5c31af7Sopenharmony_ci 1882e5c31af7Sopenharmony_ci case mediump_vec3_zz_zz 1883e5c31af7Sopenharmony_ci version 300 es 1884e5c31af7Sopenharmony_ci values 1885e5c31af7Sopenharmony_ci { 1886e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1887e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1888e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 0.0) ]; 1889e5c31af7Sopenharmony_ci } 1890e5c31af7Sopenharmony_ci 1891e5c31af7Sopenharmony_ci both "" 1892e5c31af7Sopenharmony_ci #version 300 es 1893e5c31af7Sopenharmony_ci precision mediump float; 1894e5c31af7Sopenharmony_ci 1895e5c31af7Sopenharmony_ci ${DECLARATIONS} 1896e5c31af7Sopenharmony_ci 1897e5c31af7Sopenharmony_ci void main() 1898e5c31af7Sopenharmony_ci { 1899e5c31af7Sopenharmony_ci ${SETUP} 1900e5c31af7Sopenharmony_ci out0 = in0.zz - in1.zz; 1901e5c31af7Sopenharmony_ci ${OUTPUT} 1902e5c31af7Sopenharmony_ci } 1903e5c31af7Sopenharmony_ci "" 1904e5c31af7Sopenharmony_ci end 1905e5c31af7Sopenharmony_ci 1906e5c31af7Sopenharmony_ci case mediump_vec3_xyz_yzx 1907e5c31af7Sopenharmony_ci version 300 es 1908e5c31af7Sopenharmony_ci values 1909e5c31af7Sopenharmony_ci { 1910e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1911e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1912e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(-0.4, -0.25, 0.65) | vec3(-0.25, 0.125, 0.125) | vec3(1.75, 2.625, -4.375) | vec3(-96.0, 115.0, -19.0) | vec3(-0.717741935484, -0.0848896434635, 0.802631578947) ]; 1913e5c31af7Sopenharmony_ci } 1914e5c31af7Sopenharmony_ci 1915e5c31af7Sopenharmony_ci both "" 1916e5c31af7Sopenharmony_ci #version 300 es 1917e5c31af7Sopenharmony_ci precision mediump float; 1918e5c31af7Sopenharmony_ci 1919e5c31af7Sopenharmony_ci ${DECLARATIONS} 1920e5c31af7Sopenharmony_ci 1921e5c31af7Sopenharmony_ci void main() 1922e5c31af7Sopenharmony_ci { 1923e5c31af7Sopenharmony_ci ${SETUP} 1924e5c31af7Sopenharmony_ci out0 = in0.xyz - in1.yzx; 1925e5c31af7Sopenharmony_ci ${OUTPUT} 1926e5c31af7Sopenharmony_ci } 1927e5c31af7Sopenharmony_ci "" 1928e5c31af7Sopenharmony_ci end 1929e5c31af7Sopenharmony_ci 1930e5c31af7Sopenharmony_ci case mediump_vec3_zyx_yxz 1931e5c31af7Sopenharmony_ci version 300 es 1932e5c31af7Sopenharmony_ci values 1933e5c31af7Sopenharmony_ci { 1934e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1935e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1936e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.25, 0.4, -0.65) | vec3(-0.125, 0.25, -0.125) | vec3(-2.625, -1.75, 4.375) | vec3(-115.0, 96.0, 19.0) | vec3(0.0848896434635, 0.717741935484, -0.802631578947) ]; 1937e5c31af7Sopenharmony_ci } 1938e5c31af7Sopenharmony_ci 1939e5c31af7Sopenharmony_ci both "" 1940e5c31af7Sopenharmony_ci #version 300 es 1941e5c31af7Sopenharmony_ci precision mediump float; 1942e5c31af7Sopenharmony_ci 1943e5c31af7Sopenharmony_ci ${DECLARATIONS} 1944e5c31af7Sopenharmony_ci 1945e5c31af7Sopenharmony_ci void main() 1946e5c31af7Sopenharmony_ci { 1947e5c31af7Sopenharmony_ci ${SETUP} 1948e5c31af7Sopenharmony_ci out0 = in0.zyx - in1.yxz; 1949e5c31af7Sopenharmony_ci ${OUTPUT} 1950e5c31af7Sopenharmony_ci } 1951e5c31af7Sopenharmony_ci "" 1952e5c31af7Sopenharmony_ci end 1953e5c31af7Sopenharmony_ci 1954e5c31af7Sopenharmony_ci case mediump_vec3_xxx_xxx 1955e5c31af7Sopenharmony_ci version 300 es 1956e5c31af7Sopenharmony_ci values 1957e5c31af7Sopenharmony_ci { 1958e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1959e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1960e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) ]; 1961e5c31af7Sopenharmony_ci } 1962e5c31af7Sopenharmony_ci 1963e5c31af7Sopenharmony_ci both "" 1964e5c31af7Sopenharmony_ci #version 300 es 1965e5c31af7Sopenharmony_ci precision mediump float; 1966e5c31af7Sopenharmony_ci 1967e5c31af7Sopenharmony_ci ${DECLARATIONS} 1968e5c31af7Sopenharmony_ci 1969e5c31af7Sopenharmony_ci void main() 1970e5c31af7Sopenharmony_ci { 1971e5c31af7Sopenharmony_ci ${SETUP} 1972e5c31af7Sopenharmony_ci out0 = in0.xxx - in1.xxx; 1973e5c31af7Sopenharmony_ci ${OUTPUT} 1974e5c31af7Sopenharmony_ci } 1975e5c31af7Sopenharmony_ci "" 1976e5c31af7Sopenharmony_ci end 1977e5c31af7Sopenharmony_ci 1978e5c31af7Sopenharmony_ci case mediump_vec3_zzz_zzz 1979e5c31af7Sopenharmony_ci version 300 es 1980e5c31af7Sopenharmony_ci values 1981e5c31af7Sopenharmony_ci { 1982e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1983e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 1984e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) ]; 1985e5c31af7Sopenharmony_ci } 1986e5c31af7Sopenharmony_ci 1987e5c31af7Sopenharmony_ci both "" 1988e5c31af7Sopenharmony_ci #version 300 es 1989e5c31af7Sopenharmony_ci precision mediump float; 1990e5c31af7Sopenharmony_ci 1991e5c31af7Sopenharmony_ci ${DECLARATIONS} 1992e5c31af7Sopenharmony_ci 1993e5c31af7Sopenharmony_ci void main() 1994e5c31af7Sopenharmony_ci { 1995e5c31af7Sopenharmony_ci ${SETUP} 1996e5c31af7Sopenharmony_ci out0 = in0.zzz - in1.zzz; 1997e5c31af7Sopenharmony_ci ${OUTPUT} 1998e5c31af7Sopenharmony_ci } 1999e5c31af7Sopenharmony_ci "" 2000e5c31af7Sopenharmony_ci end 2001e5c31af7Sopenharmony_ci 2002e5c31af7Sopenharmony_ci case mediump_vec3_zzy_zyz 2003e5c31af7Sopenharmony_ci version 300 es 2004e5c31af7Sopenharmony_ci values 2005e5c31af7Sopenharmony_ci { 2006e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2007e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2008e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.0, 0.25, -0.25) | vec3(0.0, -0.125, 0.125) | vec3(0.0, -2.625, 2.625) | vec3(0.0, -115.0, 115.0) | vec3(0.0, 0.0848896434635, -0.0848896434635) ]; 2009e5c31af7Sopenharmony_ci } 2010e5c31af7Sopenharmony_ci 2011e5c31af7Sopenharmony_ci both "" 2012e5c31af7Sopenharmony_ci #version 300 es 2013e5c31af7Sopenharmony_ci precision mediump float; 2014e5c31af7Sopenharmony_ci 2015e5c31af7Sopenharmony_ci ${DECLARATIONS} 2016e5c31af7Sopenharmony_ci 2017e5c31af7Sopenharmony_ci void main() 2018e5c31af7Sopenharmony_ci { 2019e5c31af7Sopenharmony_ci ${SETUP} 2020e5c31af7Sopenharmony_ci out0 = in0.zzy - in1.zyz; 2021e5c31af7Sopenharmony_ci ${OUTPUT} 2022e5c31af7Sopenharmony_ci } 2023e5c31af7Sopenharmony_ci "" 2024e5c31af7Sopenharmony_ci end 2025e5c31af7Sopenharmony_ci 2026e5c31af7Sopenharmony_ci case mediump_vec3_yxy_xyy 2027e5c31af7Sopenharmony_ci version 300 es 2028e5c31af7Sopenharmony_ci values 2029e5c31af7Sopenharmony_ci { 2030e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2031e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2032e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.4, -0.4, 0.0) | vec3(0.25, -0.25, 0.0) | vec3(-1.75, 1.75, 0.0) | vec3(96.0, -96.0, 0.0) | vec3(0.717741935484, -0.717741935484, 0.0) ]; 2033e5c31af7Sopenharmony_ci } 2034e5c31af7Sopenharmony_ci 2035e5c31af7Sopenharmony_ci both "" 2036e5c31af7Sopenharmony_ci #version 300 es 2037e5c31af7Sopenharmony_ci precision mediump float; 2038e5c31af7Sopenharmony_ci 2039e5c31af7Sopenharmony_ci ${DECLARATIONS} 2040e5c31af7Sopenharmony_ci 2041e5c31af7Sopenharmony_ci void main() 2042e5c31af7Sopenharmony_ci { 2043e5c31af7Sopenharmony_ci ${SETUP} 2044e5c31af7Sopenharmony_ci out0 = in0.yxy - in1.xyy; 2045e5c31af7Sopenharmony_ci ${OUTPUT} 2046e5c31af7Sopenharmony_ci } 2047e5c31af7Sopenharmony_ci "" 2048e5c31af7Sopenharmony_ci end 2049e5c31af7Sopenharmony_ci 2050e5c31af7Sopenharmony_ci case mediump_vec3_xzx_zxx 2051e5c31af7Sopenharmony_ci version 300 es 2052e5c31af7Sopenharmony_ci values 2053e5c31af7Sopenharmony_ci { 2054e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2055e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2056e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(-0.65, 0.65, 0.0) | vec3(-0.125, 0.125, 0.0) | vec3(4.375, -4.375, 0.0) | vec3(19.0, -19.0, 0.0) | vec3(-0.802631578947, 0.802631578947, 0.0) ]; 2057e5c31af7Sopenharmony_ci } 2058e5c31af7Sopenharmony_ci 2059e5c31af7Sopenharmony_ci both "" 2060e5c31af7Sopenharmony_ci #version 300 es 2061e5c31af7Sopenharmony_ci precision mediump float; 2062e5c31af7Sopenharmony_ci 2063e5c31af7Sopenharmony_ci ${DECLARATIONS} 2064e5c31af7Sopenharmony_ci 2065e5c31af7Sopenharmony_ci void main() 2066e5c31af7Sopenharmony_ci { 2067e5c31af7Sopenharmony_ci ${SETUP} 2068e5c31af7Sopenharmony_ci out0 = in0.xzx - in1.zxx; 2069e5c31af7Sopenharmony_ci ${OUTPUT} 2070e5c31af7Sopenharmony_ci } 2071e5c31af7Sopenharmony_ci "" 2072e5c31af7Sopenharmony_ci end 2073e5c31af7Sopenharmony_ci 2074e5c31af7Sopenharmony_ci case mediump_vec3_xyyx_yyxx 2075e5c31af7Sopenharmony_ci version 300 es 2076e5c31af7Sopenharmony_ci values 2077e5c31af7Sopenharmony_ci { 2078e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2079e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2080e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(-0.4, 0.0, 0.4, 0.0) | vec4(-0.25, 0.0, 0.25, 0.0) | vec4(1.75, 0.0, -1.75, 0.0) | vec4(-96.0, 0.0, 96.0, 0.0) | vec4(-0.717741935484, 0.0, 0.717741935484, 0.0) ]; 2081e5c31af7Sopenharmony_ci } 2082e5c31af7Sopenharmony_ci 2083e5c31af7Sopenharmony_ci both "" 2084e5c31af7Sopenharmony_ci #version 300 es 2085e5c31af7Sopenharmony_ci precision mediump float; 2086e5c31af7Sopenharmony_ci 2087e5c31af7Sopenharmony_ci ${DECLARATIONS} 2088e5c31af7Sopenharmony_ci 2089e5c31af7Sopenharmony_ci void main() 2090e5c31af7Sopenharmony_ci { 2091e5c31af7Sopenharmony_ci ${SETUP} 2092e5c31af7Sopenharmony_ci out0 = in0.xyyx - in1.yyxx; 2093e5c31af7Sopenharmony_ci ${OUTPUT} 2094e5c31af7Sopenharmony_ci } 2095e5c31af7Sopenharmony_ci "" 2096e5c31af7Sopenharmony_ci end 2097e5c31af7Sopenharmony_ci 2098e5c31af7Sopenharmony_ci case mediump_vec3_zxyz_xyzz 2099e5c31af7Sopenharmony_ci version 300 es 2100e5c31af7Sopenharmony_ci values 2101e5c31af7Sopenharmony_ci { 2102e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2103e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 2104e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.65, -0.4, -0.25, 0.0) | vec4(0.125, -0.25, 0.125, 0.0) | vec4(-4.375, 1.75, 2.625, 0.0) | vec4(-19.0, -96.0, 115.0, 0.0) | vec4(0.802631578947, -0.717741935484, -0.0848896434635, 0.0) ]; 2105e5c31af7Sopenharmony_ci } 2106e5c31af7Sopenharmony_ci 2107e5c31af7Sopenharmony_ci both "" 2108e5c31af7Sopenharmony_ci #version 300 es 2109e5c31af7Sopenharmony_ci precision mediump float; 2110e5c31af7Sopenharmony_ci 2111e5c31af7Sopenharmony_ci ${DECLARATIONS} 2112e5c31af7Sopenharmony_ci 2113e5c31af7Sopenharmony_ci void main() 2114e5c31af7Sopenharmony_ci { 2115e5c31af7Sopenharmony_ci ${SETUP} 2116e5c31af7Sopenharmony_ci out0 = in0.zxyz - in1.xyzz; 2117e5c31af7Sopenharmony_ci ${OUTPUT} 2118e5c31af7Sopenharmony_ci } 2119e5c31af7Sopenharmony_ci "" 2120e5c31af7Sopenharmony_ci end 2121e5c31af7Sopenharmony_ci 2122e5c31af7Sopenharmony_ci case mediump_vec4_x_x 2123e5c31af7Sopenharmony_ci version 300 es 2124e5c31af7Sopenharmony_ci values 2125e5c31af7Sopenharmony_ci { 2126e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2127e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2128e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 0.0 | 0.0 | 0.0 | 0.0 ]; 2129e5c31af7Sopenharmony_ci } 2130e5c31af7Sopenharmony_ci 2131e5c31af7Sopenharmony_ci both "" 2132e5c31af7Sopenharmony_ci #version 300 es 2133e5c31af7Sopenharmony_ci precision mediump float; 2134e5c31af7Sopenharmony_ci 2135e5c31af7Sopenharmony_ci ${DECLARATIONS} 2136e5c31af7Sopenharmony_ci 2137e5c31af7Sopenharmony_ci void main() 2138e5c31af7Sopenharmony_ci { 2139e5c31af7Sopenharmony_ci ${SETUP} 2140e5c31af7Sopenharmony_ci out0 = in0.x - in1.x; 2141e5c31af7Sopenharmony_ci ${OUTPUT} 2142e5c31af7Sopenharmony_ci } 2143e5c31af7Sopenharmony_ci "" 2144e5c31af7Sopenharmony_ci end 2145e5c31af7Sopenharmony_ci 2146e5c31af7Sopenharmony_ci case mediump_vec4_w_w 2147e5c31af7Sopenharmony_ci version 300 es 2148e5c31af7Sopenharmony_ci values 2149e5c31af7Sopenharmony_ci { 2150e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2151e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2152e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 0.0 | 0.0 | 0.0 | 0.0 ]; 2153e5c31af7Sopenharmony_ci } 2154e5c31af7Sopenharmony_ci 2155e5c31af7Sopenharmony_ci both "" 2156e5c31af7Sopenharmony_ci #version 300 es 2157e5c31af7Sopenharmony_ci precision mediump float; 2158e5c31af7Sopenharmony_ci 2159e5c31af7Sopenharmony_ci ${DECLARATIONS} 2160e5c31af7Sopenharmony_ci 2161e5c31af7Sopenharmony_ci void main() 2162e5c31af7Sopenharmony_ci { 2163e5c31af7Sopenharmony_ci ${SETUP} 2164e5c31af7Sopenharmony_ci out0 = in0.w - in1.w; 2165e5c31af7Sopenharmony_ci ${OUTPUT} 2166e5c31af7Sopenharmony_ci } 2167e5c31af7Sopenharmony_ci "" 2168e5c31af7Sopenharmony_ci end 2169e5c31af7Sopenharmony_ci 2170e5c31af7Sopenharmony_ci case mediump_vec4_wx_xw 2171e5c31af7Sopenharmony_ci version 300 es 2172e5c31af7Sopenharmony_ci values 2173e5c31af7Sopenharmony_ci { 2174e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2175e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2176e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.725, -0.725) | vec2(0.75, -0.75) | vec2(9.5, -9.5) | vec2(56.0, -56.0) | vec2(1.0, -1.0) ]; 2177e5c31af7Sopenharmony_ci } 2178e5c31af7Sopenharmony_ci 2179e5c31af7Sopenharmony_ci both "" 2180e5c31af7Sopenharmony_ci #version 300 es 2181e5c31af7Sopenharmony_ci precision mediump float; 2182e5c31af7Sopenharmony_ci 2183e5c31af7Sopenharmony_ci ${DECLARATIONS} 2184e5c31af7Sopenharmony_ci 2185e5c31af7Sopenharmony_ci void main() 2186e5c31af7Sopenharmony_ci { 2187e5c31af7Sopenharmony_ci ${SETUP} 2188e5c31af7Sopenharmony_ci out0 = in0.wx - in1.xw; 2189e5c31af7Sopenharmony_ci ${OUTPUT} 2190e5c31af7Sopenharmony_ci } 2191e5c31af7Sopenharmony_ci "" 2192e5c31af7Sopenharmony_ci end 2193e5c31af7Sopenharmony_ci 2194e5c31af7Sopenharmony_ci case mediump_vec4_wz_zw 2195e5c31af7Sopenharmony_ci version 300 es 2196e5c31af7Sopenharmony_ci values 2197e5c31af7Sopenharmony_ci { 2198e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2199e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2200e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.075, -0.075) | vec2(0.625, -0.625) | vec2(13.875, -13.875) | vec2(75.0, -75.0) | vec2(0.197368421053, -0.197368421053) ]; 2201e5c31af7Sopenharmony_ci } 2202e5c31af7Sopenharmony_ci 2203e5c31af7Sopenharmony_ci both "" 2204e5c31af7Sopenharmony_ci #version 300 es 2205e5c31af7Sopenharmony_ci precision mediump float; 2206e5c31af7Sopenharmony_ci 2207e5c31af7Sopenharmony_ci ${DECLARATIONS} 2208e5c31af7Sopenharmony_ci 2209e5c31af7Sopenharmony_ci void main() 2210e5c31af7Sopenharmony_ci { 2211e5c31af7Sopenharmony_ci ${SETUP} 2212e5c31af7Sopenharmony_ci out0 = in0.wz - in1.zw; 2213e5c31af7Sopenharmony_ci ${OUTPUT} 2214e5c31af7Sopenharmony_ci } 2215e5c31af7Sopenharmony_ci "" 2216e5c31af7Sopenharmony_ci end 2217e5c31af7Sopenharmony_ci 2218e5c31af7Sopenharmony_ci case mediump_vec4_www_www 2219e5c31af7Sopenharmony_ci version 300 es 2220e5c31af7Sopenharmony_ci values 2221e5c31af7Sopenharmony_ci { 2222e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2223e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2224e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) ]; 2225e5c31af7Sopenharmony_ci } 2226e5c31af7Sopenharmony_ci 2227e5c31af7Sopenharmony_ci both "" 2228e5c31af7Sopenharmony_ci #version 300 es 2229e5c31af7Sopenharmony_ci precision mediump float; 2230e5c31af7Sopenharmony_ci 2231e5c31af7Sopenharmony_ci ${DECLARATIONS} 2232e5c31af7Sopenharmony_ci 2233e5c31af7Sopenharmony_ci void main() 2234e5c31af7Sopenharmony_ci { 2235e5c31af7Sopenharmony_ci ${SETUP} 2236e5c31af7Sopenharmony_ci out0 = in0.www - in1.www; 2237e5c31af7Sopenharmony_ci ${OUTPUT} 2238e5c31af7Sopenharmony_ci } 2239e5c31af7Sopenharmony_ci "" 2240e5c31af7Sopenharmony_ci end 2241e5c31af7Sopenharmony_ci 2242e5c31af7Sopenharmony_ci case mediump_vec4_yyw_ywy 2243e5c31af7Sopenharmony_ci version 300 es 2244e5c31af7Sopenharmony_ci values 2245e5c31af7Sopenharmony_ci { 2246e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2247e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2248e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.0, -0.325, 0.325) | vec3(0.0, -0.5, 0.5) | vec3(0.0, -11.25, 11.25) | vec3(0.0, 40.0, -40.0) | vec3(0.0, -0.282258064516, 0.282258064516) ]; 2249e5c31af7Sopenharmony_ci } 2250e5c31af7Sopenharmony_ci 2251e5c31af7Sopenharmony_ci both "" 2252e5c31af7Sopenharmony_ci #version 300 es 2253e5c31af7Sopenharmony_ci precision mediump float; 2254e5c31af7Sopenharmony_ci 2255e5c31af7Sopenharmony_ci ${DECLARATIONS} 2256e5c31af7Sopenharmony_ci 2257e5c31af7Sopenharmony_ci void main() 2258e5c31af7Sopenharmony_ci { 2259e5c31af7Sopenharmony_ci ${SETUP} 2260e5c31af7Sopenharmony_ci out0 = in0.yyw - in1.ywy; 2261e5c31af7Sopenharmony_ci ${OUTPUT} 2262e5c31af7Sopenharmony_ci } 2263e5c31af7Sopenharmony_ci "" 2264e5c31af7Sopenharmony_ci end 2265e5c31af7Sopenharmony_ci 2266e5c31af7Sopenharmony_ci case mediump_vec4_wzy_zyw 2267e5c31af7Sopenharmony_ci version 300 es 2268e5c31af7Sopenharmony_ci values 2269e5c31af7Sopenharmony_ci { 2270e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2271e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2272e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.075, 0.25, -0.325) | vec3(0.625, -0.125, -0.5) | vec3(13.875, -2.625, -11.25) | vec3(75.0, -115.0, 40.0) | vec3(0.197368421053, 0.0848896434635, -0.282258064516) ]; 2273e5c31af7Sopenharmony_ci } 2274e5c31af7Sopenharmony_ci 2275e5c31af7Sopenharmony_ci both "" 2276e5c31af7Sopenharmony_ci #version 300 es 2277e5c31af7Sopenharmony_ci precision mediump float; 2278e5c31af7Sopenharmony_ci 2279e5c31af7Sopenharmony_ci ${DECLARATIONS} 2280e5c31af7Sopenharmony_ci 2281e5c31af7Sopenharmony_ci void main() 2282e5c31af7Sopenharmony_ci { 2283e5c31af7Sopenharmony_ci ${SETUP} 2284e5c31af7Sopenharmony_ci out0 = in0.wzy - in1.zyw; 2285e5c31af7Sopenharmony_ci ${OUTPUT} 2286e5c31af7Sopenharmony_ci } 2287e5c31af7Sopenharmony_ci "" 2288e5c31af7Sopenharmony_ci end 2289e5c31af7Sopenharmony_ci 2290e5c31af7Sopenharmony_ci case mediump_vec4_xyzw_yzwx 2291e5c31af7Sopenharmony_ci version 300 es 2292e5c31af7Sopenharmony_ci values 2293e5c31af7Sopenharmony_ci { 2294e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2295e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2296e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(-0.4, -0.25, -0.075, 0.725) | vec4(-0.25, 0.125, -0.625, 0.75) | vec4(1.75, 2.625, -13.875, 9.5) | vec4(-96.0, 115.0, -75.0, 56.0) | vec4(-0.717741935484, -0.0848896434635, -0.197368421053, 1.0) ]; 2297e5c31af7Sopenharmony_ci } 2298e5c31af7Sopenharmony_ci 2299e5c31af7Sopenharmony_ci both "" 2300e5c31af7Sopenharmony_ci #version 300 es 2301e5c31af7Sopenharmony_ci precision mediump float; 2302e5c31af7Sopenharmony_ci 2303e5c31af7Sopenharmony_ci ${DECLARATIONS} 2304e5c31af7Sopenharmony_ci 2305e5c31af7Sopenharmony_ci void main() 2306e5c31af7Sopenharmony_ci { 2307e5c31af7Sopenharmony_ci ${SETUP} 2308e5c31af7Sopenharmony_ci out0 = in0.xyzw - in1.yzwx; 2309e5c31af7Sopenharmony_ci ${OUTPUT} 2310e5c31af7Sopenharmony_ci } 2311e5c31af7Sopenharmony_ci "" 2312e5c31af7Sopenharmony_ci end 2313e5c31af7Sopenharmony_ci 2314e5c31af7Sopenharmony_ci case mediump_vec4_wzyx_zyxw 2315e5c31af7Sopenharmony_ci version 300 es 2316e5c31af7Sopenharmony_ci values 2317e5c31af7Sopenharmony_ci { 2318e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2319e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2320e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.075, 0.25, 0.4, -0.725) | vec4(0.625, -0.125, 0.25, -0.75) | vec4(13.875, -2.625, -1.75, -9.5) | vec4(75.0, -115.0, 96.0, -56.0) | vec4(0.197368421053, 0.0848896434635, 0.717741935484, -1.0) ]; 2321e5c31af7Sopenharmony_ci } 2322e5c31af7Sopenharmony_ci 2323e5c31af7Sopenharmony_ci both "" 2324e5c31af7Sopenharmony_ci #version 300 es 2325e5c31af7Sopenharmony_ci precision mediump float; 2326e5c31af7Sopenharmony_ci 2327e5c31af7Sopenharmony_ci ${DECLARATIONS} 2328e5c31af7Sopenharmony_ci 2329e5c31af7Sopenharmony_ci void main() 2330e5c31af7Sopenharmony_ci { 2331e5c31af7Sopenharmony_ci ${SETUP} 2332e5c31af7Sopenharmony_ci out0 = in0.wzyx - in1.zyxw; 2333e5c31af7Sopenharmony_ci ${OUTPUT} 2334e5c31af7Sopenharmony_ci } 2335e5c31af7Sopenharmony_ci "" 2336e5c31af7Sopenharmony_ci end 2337e5c31af7Sopenharmony_ci 2338e5c31af7Sopenharmony_ci case mediump_vec4_xyxy_yxyx 2339e5c31af7Sopenharmony_ci version 300 es 2340e5c31af7Sopenharmony_ci values 2341e5c31af7Sopenharmony_ci { 2342e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2343e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2344e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(-0.4, 0.4, -0.4, 0.4) | vec4(-0.25, 0.25, -0.25, 0.25) | vec4(1.75, -1.75, 1.75, -1.75) | vec4(-96.0, 96.0, -96.0, 96.0) | vec4(-0.717741935484, 0.717741935484, -0.717741935484, 0.717741935484) ]; 2345e5c31af7Sopenharmony_ci } 2346e5c31af7Sopenharmony_ci 2347e5c31af7Sopenharmony_ci both "" 2348e5c31af7Sopenharmony_ci #version 300 es 2349e5c31af7Sopenharmony_ci precision mediump float; 2350e5c31af7Sopenharmony_ci 2351e5c31af7Sopenharmony_ci ${DECLARATIONS} 2352e5c31af7Sopenharmony_ci 2353e5c31af7Sopenharmony_ci void main() 2354e5c31af7Sopenharmony_ci { 2355e5c31af7Sopenharmony_ci ${SETUP} 2356e5c31af7Sopenharmony_ci out0 = in0.xyxy - in1.yxyx; 2357e5c31af7Sopenharmony_ci ${OUTPUT} 2358e5c31af7Sopenharmony_ci } 2359e5c31af7Sopenharmony_ci "" 2360e5c31af7Sopenharmony_ci end 2361e5c31af7Sopenharmony_ci 2362e5c31af7Sopenharmony_ci case mediump_vec4_yzzy_zzyy 2363e5c31af7Sopenharmony_ci version 300 es 2364e5c31af7Sopenharmony_ci values 2365e5c31af7Sopenharmony_ci { 2366e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2367e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2368e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(-0.25, 0.0, 0.25, 0.0) | vec4(0.125, 0.0, -0.125, 0.0) | vec4(2.625, 0.0, -2.625, 0.0) | vec4(115.0, 0.0, -115.0, 0.0) | vec4(-0.0848896434635, 0.0, 0.0848896434635, 0.0) ]; 2369e5c31af7Sopenharmony_ci } 2370e5c31af7Sopenharmony_ci 2371e5c31af7Sopenharmony_ci both "" 2372e5c31af7Sopenharmony_ci #version 300 es 2373e5c31af7Sopenharmony_ci precision mediump float; 2374e5c31af7Sopenharmony_ci 2375e5c31af7Sopenharmony_ci ${DECLARATIONS} 2376e5c31af7Sopenharmony_ci 2377e5c31af7Sopenharmony_ci void main() 2378e5c31af7Sopenharmony_ci { 2379e5c31af7Sopenharmony_ci ${SETUP} 2380e5c31af7Sopenharmony_ci out0 = in0.yzzy - in1.zzyy; 2381e5c31af7Sopenharmony_ci ${OUTPUT} 2382e5c31af7Sopenharmony_ci } 2383e5c31af7Sopenharmony_ci "" 2384e5c31af7Sopenharmony_ci end 2385e5c31af7Sopenharmony_ci 2386e5c31af7Sopenharmony_ci case mediump_vec4_wxww_xwww 2387e5c31af7Sopenharmony_ci version 300 es 2388e5c31af7Sopenharmony_ci values 2389e5c31af7Sopenharmony_ci { 2390e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2391e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2392e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.725, -0.725, 0.0, 0.0) | vec4(0.75, -0.75, 0.0, 0.0) | vec4(9.5, -9.5, 0.0, 0.0) | vec4(56.0, -56.0, 0.0, 0.0) | vec4(1.0, -1.0, 0.0, 0.0) ]; 2393e5c31af7Sopenharmony_ci } 2394e5c31af7Sopenharmony_ci 2395e5c31af7Sopenharmony_ci both "" 2396e5c31af7Sopenharmony_ci #version 300 es 2397e5c31af7Sopenharmony_ci precision mediump float; 2398e5c31af7Sopenharmony_ci 2399e5c31af7Sopenharmony_ci ${DECLARATIONS} 2400e5c31af7Sopenharmony_ci 2401e5c31af7Sopenharmony_ci void main() 2402e5c31af7Sopenharmony_ci { 2403e5c31af7Sopenharmony_ci ${SETUP} 2404e5c31af7Sopenharmony_ci out0 = in0.wxww - in1.xwww; 2405e5c31af7Sopenharmony_ci ${OUTPUT} 2406e5c31af7Sopenharmony_ci } 2407e5c31af7Sopenharmony_ci "" 2408e5c31af7Sopenharmony_ci end 2409e5c31af7Sopenharmony_ci 2410e5c31af7Sopenharmony_ci case mediump_vec4_xyxx_yxxx 2411e5c31af7Sopenharmony_ci version 300 es 2412e5c31af7Sopenharmony_ci values 2413e5c31af7Sopenharmony_ci { 2414e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2415e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2416e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(-0.4, 0.4, 0.0, 0.0) | vec4(-0.25, 0.25, 0.0, 0.0) | vec4(1.75, -1.75, 0.0, 0.0) | vec4(-96.0, 96.0, 0.0, 0.0) | vec4(-0.717741935484, 0.717741935484, 0.0, 0.0) ]; 2417e5c31af7Sopenharmony_ci } 2418e5c31af7Sopenharmony_ci 2419e5c31af7Sopenharmony_ci both "" 2420e5c31af7Sopenharmony_ci #version 300 es 2421e5c31af7Sopenharmony_ci precision mediump float; 2422e5c31af7Sopenharmony_ci 2423e5c31af7Sopenharmony_ci ${DECLARATIONS} 2424e5c31af7Sopenharmony_ci 2425e5c31af7Sopenharmony_ci void main() 2426e5c31af7Sopenharmony_ci { 2427e5c31af7Sopenharmony_ci ${SETUP} 2428e5c31af7Sopenharmony_ci out0 = in0.xyxx - in1.yxxx; 2429e5c31af7Sopenharmony_ci ${OUTPUT} 2430e5c31af7Sopenharmony_ci } 2431e5c31af7Sopenharmony_ci "" 2432e5c31af7Sopenharmony_ci end 2433e5c31af7Sopenharmony_ci 2434e5c31af7Sopenharmony_ci case mediump_vec4_zzzz_zzzz 2435e5c31af7Sopenharmony_ci version 300 es 2436e5c31af7Sopenharmony_ci values 2437e5c31af7Sopenharmony_ci { 2438e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2439e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 2440e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(0.0, 0.0, 0.0, 0.0) ]; 2441e5c31af7Sopenharmony_ci } 2442e5c31af7Sopenharmony_ci 2443e5c31af7Sopenharmony_ci both "" 2444e5c31af7Sopenharmony_ci #version 300 es 2445e5c31af7Sopenharmony_ci precision mediump float; 2446e5c31af7Sopenharmony_ci 2447e5c31af7Sopenharmony_ci ${DECLARATIONS} 2448e5c31af7Sopenharmony_ci 2449e5c31af7Sopenharmony_ci void main() 2450e5c31af7Sopenharmony_ci { 2451e5c31af7Sopenharmony_ci ${SETUP} 2452e5c31af7Sopenharmony_ci out0 = in0.zzzz - in1.zzzz; 2453e5c31af7Sopenharmony_ci ${OUTPUT} 2454e5c31af7Sopenharmony_ci } 2455e5c31af7Sopenharmony_ci "" 2456e5c31af7Sopenharmony_ci end 2457e5c31af7Sopenharmony_ci 2458e5c31af7Sopenharmony_ci case mediump_ivec2_x_x 2459e5c31af7Sopenharmony_ci version 300 es 2460e5c31af7Sopenharmony_ci values 2461e5c31af7Sopenharmony_ci { 2462e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2463e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2464e5c31af7Sopenharmony_ci output int out0 = [ 0 | 0 | 0 ]; 2465e5c31af7Sopenharmony_ci } 2466e5c31af7Sopenharmony_ci 2467e5c31af7Sopenharmony_ci both "" 2468e5c31af7Sopenharmony_ci #version 300 es 2469e5c31af7Sopenharmony_ci precision mediump float; 2470e5c31af7Sopenharmony_ci 2471e5c31af7Sopenharmony_ci ${DECLARATIONS} 2472e5c31af7Sopenharmony_ci 2473e5c31af7Sopenharmony_ci void main() 2474e5c31af7Sopenharmony_ci { 2475e5c31af7Sopenharmony_ci ${SETUP} 2476e5c31af7Sopenharmony_ci out0 = in0.x - in1.x; 2477e5c31af7Sopenharmony_ci ${OUTPUT} 2478e5c31af7Sopenharmony_ci } 2479e5c31af7Sopenharmony_ci "" 2480e5c31af7Sopenharmony_ci end 2481e5c31af7Sopenharmony_ci 2482e5c31af7Sopenharmony_ci case mediump_ivec2_xx_xx 2483e5c31af7Sopenharmony_ci version 300 es 2484e5c31af7Sopenharmony_ci values 2485e5c31af7Sopenharmony_ci { 2486e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2487e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2488e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 0) ]; 2489e5c31af7Sopenharmony_ci } 2490e5c31af7Sopenharmony_ci 2491e5c31af7Sopenharmony_ci both "" 2492e5c31af7Sopenharmony_ci #version 300 es 2493e5c31af7Sopenharmony_ci precision mediump float; 2494e5c31af7Sopenharmony_ci 2495e5c31af7Sopenharmony_ci ${DECLARATIONS} 2496e5c31af7Sopenharmony_ci 2497e5c31af7Sopenharmony_ci void main() 2498e5c31af7Sopenharmony_ci { 2499e5c31af7Sopenharmony_ci ${SETUP} 2500e5c31af7Sopenharmony_ci out0 = in0.xx - in1.xx; 2501e5c31af7Sopenharmony_ci ${OUTPUT} 2502e5c31af7Sopenharmony_ci } 2503e5c31af7Sopenharmony_ci "" 2504e5c31af7Sopenharmony_ci end 2505e5c31af7Sopenharmony_ci 2506e5c31af7Sopenharmony_ci case mediump_ivec2_xy_yx 2507e5c31af7Sopenharmony_ci version 300 es 2508e5c31af7Sopenharmony_ci values 2509e5c31af7Sopenharmony_ci { 2510e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2511e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2512e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-2, 2) | ivec2(-1, 1) | ivec2(1, -1) ]; 2513e5c31af7Sopenharmony_ci } 2514e5c31af7Sopenharmony_ci 2515e5c31af7Sopenharmony_ci both "" 2516e5c31af7Sopenharmony_ci #version 300 es 2517e5c31af7Sopenharmony_ci precision mediump float; 2518e5c31af7Sopenharmony_ci 2519e5c31af7Sopenharmony_ci ${DECLARATIONS} 2520e5c31af7Sopenharmony_ci 2521e5c31af7Sopenharmony_ci void main() 2522e5c31af7Sopenharmony_ci { 2523e5c31af7Sopenharmony_ci ${SETUP} 2524e5c31af7Sopenharmony_ci out0 = in0.xy - in1.yx; 2525e5c31af7Sopenharmony_ci ${OUTPUT} 2526e5c31af7Sopenharmony_ci } 2527e5c31af7Sopenharmony_ci "" 2528e5c31af7Sopenharmony_ci end 2529e5c31af7Sopenharmony_ci 2530e5c31af7Sopenharmony_ci case mediump_ivec2_yx_xy 2531e5c31af7Sopenharmony_ci version 300 es 2532e5c31af7Sopenharmony_ci values 2533e5c31af7Sopenharmony_ci { 2534e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2535e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2536e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(2, -2) | ivec2(1, -1) | ivec2(-1, 1) ]; 2537e5c31af7Sopenharmony_ci } 2538e5c31af7Sopenharmony_ci 2539e5c31af7Sopenharmony_ci both "" 2540e5c31af7Sopenharmony_ci #version 300 es 2541e5c31af7Sopenharmony_ci precision mediump float; 2542e5c31af7Sopenharmony_ci 2543e5c31af7Sopenharmony_ci ${DECLARATIONS} 2544e5c31af7Sopenharmony_ci 2545e5c31af7Sopenharmony_ci void main() 2546e5c31af7Sopenharmony_ci { 2547e5c31af7Sopenharmony_ci ${SETUP} 2548e5c31af7Sopenharmony_ci out0 = in0.yx - in1.xy; 2549e5c31af7Sopenharmony_ci ${OUTPUT} 2550e5c31af7Sopenharmony_ci } 2551e5c31af7Sopenharmony_ci "" 2552e5c31af7Sopenharmony_ci end 2553e5c31af7Sopenharmony_ci 2554e5c31af7Sopenharmony_ci case mediump_ivec2_yxy_xyy 2555e5c31af7Sopenharmony_ci version 300 es 2556e5c31af7Sopenharmony_ci values 2557e5c31af7Sopenharmony_ci { 2558e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2559e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2560e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(2, -2, 0) | ivec3(1, -1, 0) | ivec3(-1, 1, 0) ]; 2561e5c31af7Sopenharmony_ci } 2562e5c31af7Sopenharmony_ci 2563e5c31af7Sopenharmony_ci both "" 2564e5c31af7Sopenharmony_ci #version 300 es 2565e5c31af7Sopenharmony_ci precision mediump float; 2566e5c31af7Sopenharmony_ci 2567e5c31af7Sopenharmony_ci ${DECLARATIONS} 2568e5c31af7Sopenharmony_ci 2569e5c31af7Sopenharmony_ci void main() 2570e5c31af7Sopenharmony_ci { 2571e5c31af7Sopenharmony_ci ${SETUP} 2572e5c31af7Sopenharmony_ci out0 = in0.yxy - in1.xyy; 2573e5c31af7Sopenharmony_ci ${OUTPUT} 2574e5c31af7Sopenharmony_ci } 2575e5c31af7Sopenharmony_ci "" 2576e5c31af7Sopenharmony_ci end 2577e5c31af7Sopenharmony_ci 2578e5c31af7Sopenharmony_ci case mediump_ivec2_xyxx_yxxx 2579e5c31af7Sopenharmony_ci version 300 es 2580e5c31af7Sopenharmony_ci values 2581e5c31af7Sopenharmony_ci { 2582e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2583e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2584e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, 2, 0, 0) | ivec4(-1, 1, 0, 0) | ivec4(1, -1, 0, 0) ]; 2585e5c31af7Sopenharmony_ci } 2586e5c31af7Sopenharmony_ci 2587e5c31af7Sopenharmony_ci both "" 2588e5c31af7Sopenharmony_ci #version 300 es 2589e5c31af7Sopenharmony_ci precision mediump float; 2590e5c31af7Sopenharmony_ci 2591e5c31af7Sopenharmony_ci ${DECLARATIONS} 2592e5c31af7Sopenharmony_ci 2593e5c31af7Sopenharmony_ci void main() 2594e5c31af7Sopenharmony_ci { 2595e5c31af7Sopenharmony_ci ${SETUP} 2596e5c31af7Sopenharmony_ci out0 = in0.xyxx - in1.yxxx; 2597e5c31af7Sopenharmony_ci ${OUTPUT} 2598e5c31af7Sopenharmony_ci } 2599e5c31af7Sopenharmony_ci "" 2600e5c31af7Sopenharmony_ci end 2601e5c31af7Sopenharmony_ci 2602e5c31af7Sopenharmony_ci case mediump_ivec2_yxyx_xyxy 2603e5c31af7Sopenharmony_ci version 300 es 2604e5c31af7Sopenharmony_ci values 2605e5c31af7Sopenharmony_ci { 2606e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2607e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 2608e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(2, -2, 2, -2) | ivec4(1, -1, 1, -1) | ivec4(-1, 1, -1, 1) ]; 2609e5c31af7Sopenharmony_ci } 2610e5c31af7Sopenharmony_ci 2611e5c31af7Sopenharmony_ci both "" 2612e5c31af7Sopenharmony_ci #version 300 es 2613e5c31af7Sopenharmony_ci precision mediump float; 2614e5c31af7Sopenharmony_ci 2615e5c31af7Sopenharmony_ci ${DECLARATIONS} 2616e5c31af7Sopenharmony_ci 2617e5c31af7Sopenharmony_ci void main() 2618e5c31af7Sopenharmony_ci { 2619e5c31af7Sopenharmony_ci ${SETUP} 2620e5c31af7Sopenharmony_ci out0 = in0.yxyx - in1.xyxy; 2621e5c31af7Sopenharmony_ci ${OUTPUT} 2622e5c31af7Sopenharmony_ci } 2623e5c31af7Sopenharmony_ci "" 2624e5c31af7Sopenharmony_ci end 2625e5c31af7Sopenharmony_ci 2626e5c31af7Sopenharmony_ci case mediump_ivec3_x_x 2627e5c31af7Sopenharmony_ci version 300 es 2628e5c31af7Sopenharmony_ci values 2629e5c31af7Sopenharmony_ci { 2630e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2631e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2632e5c31af7Sopenharmony_ci output int out0 = [ 0 | 0 | 0 ]; 2633e5c31af7Sopenharmony_ci } 2634e5c31af7Sopenharmony_ci 2635e5c31af7Sopenharmony_ci both "" 2636e5c31af7Sopenharmony_ci #version 300 es 2637e5c31af7Sopenharmony_ci precision mediump float; 2638e5c31af7Sopenharmony_ci 2639e5c31af7Sopenharmony_ci ${DECLARATIONS} 2640e5c31af7Sopenharmony_ci 2641e5c31af7Sopenharmony_ci void main() 2642e5c31af7Sopenharmony_ci { 2643e5c31af7Sopenharmony_ci ${SETUP} 2644e5c31af7Sopenharmony_ci out0 = in0.x - in1.x; 2645e5c31af7Sopenharmony_ci ${OUTPUT} 2646e5c31af7Sopenharmony_ci } 2647e5c31af7Sopenharmony_ci "" 2648e5c31af7Sopenharmony_ci end 2649e5c31af7Sopenharmony_ci 2650e5c31af7Sopenharmony_ci case mediump_ivec3_z_z 2651e5c31af7Sopenharmony_ci version 300 es 2652e5c31af7Sopenharmony_ci values 2653e5c31af7Sopenharmony_ci { 2654e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2655e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2656e5c31af7Sopenharmony_ci output int out0 = [ 0 | 0 | 0 ]; 2657e5c31af7Sopenharmony_ci } 2658e5c31af7Sopenharmony_ci 2659e5c31af7Sopenharmony_ci both "" 2660e5c31af7Sopenharmony_ci #version 300 es 2661e5c31af7Sopenharmony_ci precision mediump float; 2662e5c31af7Sopenharmony_ci 2663e5c31af7Sopenharmony_ci ${DECLARATIONS} 2664e5c31af7Sopenharmony_ci 2665e5c31af7Sopenharmony_ci void main() 2666e5c31af7Sopenharmony_ci { 2667e5c31af7Sopenharmony_ci ${SETUP} 2668e5c31af7Sopenharmony_ci out0 = in0.z - in1.z; 2669e5c31af7Sopenharmony_ci ${OUTPUT} 2670e5c31af7Sopenharmony_ci } 2671e5c31af7Sopenharmony_ci "" 2672e5c31af7Sopenharmony_ci end 2673e5c31af7Sopenharmony_ci 2674e5c31af7Sopenharmony_ci case mediump_ivec3_xz_zx 2675e5c31af7Sopenharmony_ci version 300 es 2676e5c31af7Sopenharmony_ci values 2677e5c31af7Sopenharmony_ci { 2678e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2679e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2680e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(-2, 2) | ivec2(3, -3) ]; 2681e5c31af7Sopenharmony_ci } 2682e5c31af7Sopenharmony_ci 2683e5c31af7Sopenharmony_ci both "" 2684e5c31af7Sopenharmony_ci #version 300 es 2685e5c31af7Sopenharmony_ci precision mediump float; 2686e5c31af7Sopenharmony_ci 2687e5c31af7Sopenharmony_ci ${DECLARATIONS} 2688e5c31af7Sopenharmony_ci 2689e5c31af7Sopenharmony_ci void main() 2690e5c31af7Sopenharmony_ci { 2691e5c31af7Sopenharmony_ci ${SETUP} 2692e5c31af7Sopenharmony_ci out0 = in0.xz - in1.zx; 2693e5c31af7Sopenharmony_ci ${OUTPUT} 2694e5c31af7Sopenharmony_ci } 2695e5c31af7Sopenharmony_ci "" 2696e5c31af7Sopenharmony_ci end 2697e5c31af7Sopenharmony_ci 2698e5c31af7Sopenharmony_ci case mediump_ivec3_zz_zz 2699e5c31af7Sopenharmony_ci version 300 es 2700e5c31af7Sopenharmony_ci values 2701e5c31af7Sopenharmony_ci { 2702e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2703e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2704e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 0) ]; 2705e5c31af7Sopenharmony_ci } 2706e5c31af7Sopenharmony_ci 2707e5c31af7Sopenharmony_ci both "" 2708e5c31af7Sopenharmony_ci #version 300 es 2709e5c31af7Sopenharmony_ci precision mediump float; 2710e5c31af7Sopenharmony_ci 2711e5c31af7Sopenharmony_ci ${DECLARATIONS} 2712e5c31af7Sopenharmony_ci 2713e5c31af7Sopenharmony_ci void main() 2714e5c31af7Sopenharmony_ci { 2715e5c31af7Sopenharmony_ci ${SETUP} 2716e5c31af7Sopenharmony_ci out0 = in0.zz - in1.zz; 2717e5c31af7Sopenharmony_ci ${OUTPUT} 2718e5c31af7Sopenharmony_ci } 2719e5c31af7Sopenharmony_ci "" 2720e5c31af7Sopenharmony_ci end 2721e5c31af7Sopenharmony_ci 2722e5c31af7Sopenharmony_ci case mediump_ivec3_xyz_yzx 2723e5c31af7Sopenharmony_ci version 300 es 2724e5c31af7Sopenharmony_ci values 2725e5c31af7Sopenharmony_ci { 2726e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2727e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2728e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-2, 2, 0) | ivec3(-1, -1, 2) | ivec3(1, 2, -3) ]; 2729e5c31af7Sopenharmony_ci } 2730e5c31af7Sopenharmony_ci 2731e5c31af7Sopenharmony_ci both "" 2732e5c31af7Sopenharmony_ci #version 300 es 2733e5c31af7Sopenharmony_ci precision mediump float; 2734e5c31af7Sopenharmony_ci 2735e5c31af7Sopenharmony_ci ${DECLARATIONS} 2736e5c31af7Sopenharmony_ci 2737e5c31af7Sopenharmony_ci void main() 2738e5c31af7Sopenharmony_ci { 2739e5c31af7Sopenharmony_ci ${SETUP} 2740e5c31af7Sopenharmony_ci out0 = in0.xyz - in1.yzx; 2741e5c31af7Sopenharmony_ci ${OUTPUT} 2742e5c31af7Sopenharmony_ci } 2743e5c31af7Sopenharmony_ci "" 2744e5c31af7Sopenharmony_ci end 2745e5c31af7Sopenharmony_ci 2746e5c31af7Sopenharmony_ci case mediump_ivec3_zyx_yxz 2747e5c31af7Sopenharmony_ci version 300 es 2748e5c31af7Sopenharmony_ci values 2749e5c31af7Sopenharmony_ci { 2750e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2751e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2752e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-2, 2, 0) | ivec3(1, 1, -2) | ivec3(-2, -1, 3) ]; 2753e5c31af7Sopenharmony_ci } 2754e5c31af7Sopenharmony_ci 2755e5c31af7Sopenharmony_ci both "" 2756e5c31af7Sopenharmony_ci #version 300 es 2757e5c31af7Sopenharmony_ci precision mediump float; 2758e5c31af7Sopenharmony_ci 2759e5c31af7Sopenharmony_ci ${DECLARATIONS} 2760e5c31af7Sopenharmony_ci 2761e5c31af7Sopenharmony_ci void main() 2762e5c31af7Sopenharmony_ci { 2763e5c31af7Sopenharmony_ci ${SETUP} 2764e5c31af7Sopenharmony_ci out0 = in0.zyx - in1.yxz; 2765e5c31af7Sopenharmony_ci ${OUTPUT} 2766e5c31af7Sopenharmony_ci } 2767e5c31af7Sopenharmony_ci "" 2768e5c31af7Sopenharmony_ci end 2769e5c31af7Sopenharmony_ci 2770e5c31af7Sopenharmony_ci case mediump_ivec3_xxx_xxx 2771e5c31af7Sopenharmony_ci version 300 es 2772e5c31af7Sopenharmony_ci values 2773e5c31af7Sopenharmony_ci { 2774e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2775e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2776e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ]; 2777e5c31af7Sopenharmony_ci } 2778e5c31af7Sopenharmony_ci 2779e5c31af7Sopenharmony_ci both "" 2780e5c31af7Sopenharmony_ci #version 300 es 2781e5c31af7Sopenharmony_ci precision mediump float; 2782e5c31af7Sopenharmony_ci 2783e5c31af7Sopenharmony_ci ${DECLARATIONS} 2784e5c31af7Sopenharmony_ci 2785e5c31af7Sopenharmony_ci void main() 2786e5c31af7Sopenharmony_ci { 2787e5c31af7Sopenharmony_ci ${SETUP} 2788e5c31af7Sopenharmony_ci out0 = in0.xxx - in1.xxx; 2789e5c31af7Sopenharmony_ci ${OUTPUT} 2790e5c31af7Sopenharmony_ci } 2791e5c31af7Sopenharmony_ci "" 2792e5c31af7Sopenharmony_ci end 2793e5c31af7Sopenharmony_ci 2794e5c31af7Sopenharmony_ci case mediump_ivec3_zzz_zzz 2795e5c31af7Sopenharmony_ci version 300 es 2796e5c31af7Sopenharmony_ci values 2797e5c31af7Sopenharmony_ci { 2798e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2799e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2800e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ]; 2801e5c31af7Sopenharmony_ci } 2802e5c31af7Sopenharmony_ci 2803e5c31af7Sopenharmony_ci both "" 2804e5c31af7Sopenharmony_ci #version 300 es 2805e5c31af7Sopenharmony_ci precision mediump float; 2806e5c31af7Sopenharmony_ci 2807e5c31af7Sopenharmony_ci ${DECLARATIONS} 2808e5c31af7Sopenharmony_ci 2809e5c31af7Sopenharmony_ci void main() 2810e5c31af7Sopenharmony_ci { 2811e5c31af7Sopenharmony_ci ${SETUP} 2812e5c31af7Sopenharmony_ci out0 = in0.zzz - in1.zzz; 2813e5c31af7Sopenharmony_ci ${OUTPUT} 2814e5c31af7Sopenharmony_ci } 2815e5c31af7Sopenharmony_ci "" 2816e5c31af7Sopenharmony_ci end 2817e5c31af7Sopenharmony_ci 2818e5c31af7Sopenharmony_ci case mediump_ivec3_zzy_zyz 2819e5c31af7Sopenharmony_ci version 300 es 2820e5c31af7Sopenharmony_ci values 2821e5c31af7Sopenharmony_ci { 2822e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2823e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2824e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, -2, 2) | ivec3(0, 1, -1) | ivec3(0, -2, 2) ]; 2825e5c31af7Sopenharmony_ci } 2826e5c31af7Sopenharmony_ci 2827e5c31af7Sopenharmony_ci both "" 2828e5c31af7Sopenharmony_ci #version 300 es 2829e5c31af7Sopenharmony_ci precision mediump float; 2830e5c31af7Sopenharmony_ci 2831e5c31af7Sopenharmony_ci ${DECLARATIONS} 2832e5c31af7Sopenharmony_ci 2833e5c31af7Sopenharmony_ci void main() 2834e5c31af7Sopenharmony_ci { 2835e5c31af7Sopenharmony_ci ${SETUP} 2836e5c31af7Sopenharmony_ci out0 = in0.zzy - in1.zyz; 2837e5c31af7Sopenharmony_ci ${OUTPUT} 2838e5c31af7Sopenharmony_ci } 2839e5c31af7Sopenharmony_ci "" 2840e5c31af7Sopenharmony_ci end 2841e5c31af7Sopenharmony_ci 2842e5c31af7Sopenharmony_ci case mediump_ivec3_yxy_xyy 2843e5c31af7Sopenharmony_ci version 300 es 2844e5c31af7Sopenharmony_ci values 2845e5c31af7Sopenharmony_ci { 2846e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2847e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2848e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(2, -2, 0) | ivec3(1, -1, 0) | ivec3(-1, 1, 0) ]; 2849e5c31af7Sopenharmony_ci } 2850e5c31af7Sopenharmony_ci 2851e5c31af7Sopenharmony_ci both "" 2852e5c31af7Sopenharmony_ci #version 300 es 2853e5c31af7Sopenharmony_ci precision mediump float; 2854e5c31af7Sopenharmony_ci 2855e5c31af7Sopenharmony_ci ${DECLARATIONS} 2856e5c31af7Sopenharmony_ci 2857e5c31af7Sopenharmony_ci void main() 2858e5c31af7Sopenharmony_ci { 2859e5c31af7Sopenharmony_ci ${SETUP} 2860e5c31af7Sopenharmony_ci out0 = in0.yxy - in1.xyy; 2861e5c31af7Sopenharmony_ci ${OUTPUT} 2862e5c31af7Sopenharmony_ci } 2863e5c31af7Sopenharmony_ci "" 2864e5c31af7Sopenharmony_ci end 2865e5c31af7Sopenharmony_ci 2866e5c31af7Sopenharmony_ci case mediump_ivec3_xzx_zxx 2867e5c31af7Sopenharmony_ci version 300 es 2868e5c31af7Sopenharmony_ci values 2869e5c31af7Sopenharmony_ci { 2870e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2871e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2872e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(-2, 2, 0) | ivec3(3, -3, 0) ]; 2873e5c31af7Sopenharmony_ci } 2874e5c31af7Sopenharmony_ci 2875e5c31af7Sopenharmony_ci both "" 2876e5c31af7Sopenharmony_ci #version 300 es 2877e5c31af7Sopenharmony_ci precision mediump float; 2878e5c31af7Sopenharmony_ci 2879e5c31af7Sopenharmony_ci ${DECLARATIONS} 2880e5c31af7Sopenharmony_ci 2881e5c31af7Sopenharmony_ci void main() 2882e5c31af7Sopenharmony_ci { 2883e5c31af7Sopenharmony_ci ${SETUP} 2884e5c31af7Sopenharmony_ci out0 = in0.xzx - in1.zxx; 2885e5c31af7Sopenharmony_ci ${OUTPUT} 2886e5c31af7Sopenharmony_ci } 2887e5c31af7Sopenharmony_ci "" 2888e5c31af7Sopenharmony_ci end 2889e5c31af7Sopenharmony_ci 2890e5c31af7Sopenharmony_ci case mediump_ivec3_xyyx_yyxx 2891e5c31af7Sopenharmony_ci version 300 es 2892e5c31af7Sopenharmony_ci values 2893e5c31af7Sopenharmony_ci { 2894e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2895e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2896e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, 0, 2, 0) | ivec4(-1, 0, 1, 0) | ivec4(1, 0, -1, 0) ]; 2897e5c31af7Sopenharmony_ci } 2898e5c31af7Sopenharmony_ci 2899e5c31af7Sopenharmony_ci both "" 2900e5c31af7Sopenharmony_ci #version 300 es 2901e5c31af7Sopenharmony_ci precision mediump float; 2902e5c31af7Sopenharmony_ci 2903e5c31af7Sopenharmony_ci ${DECLARATIONS} 2904e5c31af7Sopenharmony_ci 2905e5c31af7Sopenharmony_ci void main() 2906e5c31af7Sopenharmony_ci { 2907e5c31af7Sopenharmony_ci ${SETUP} 2908e5c31af7Sopenharmony_ci out0 = in0.xyyx - in1.yyxx; 2909e5c31af7Sopenharmony_ci ${OUTPUT} 2910e5c31af7Sopenharmony_ci } 2911e5c31af7Sopenharmony_ci "" 2912e5c31af7Sopenharmony_ci end 2913e5c31af7Sopenharmony_ci 2914e5c31af7Sopenharmony_ci case mediump_ivec3_zxyz_xyzz 2915e5c31af7Sopenharmony_ci version 300 es 2916e5c31af7Sopenharmony_ci values 2917e5c31af7Sopenharmony_ci { 2918e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2919e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 2920e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, -2, 2, 0) | ivec4(2, -1, -1, 0) | ivec4(-3, 1, 2, 0) ]; 2921e5c31af7Sopenharmony_ci } 2922e5c31af7Sopenharmony_ci 2923e5c31af7Sopenharmony_ci both "" 2924e5c31af7Sopenharmony_ci #version 300 es 2925e5c31af7Sopenharmony_ci precision mediump float; 2926e5c31af7Sopenharmony_ci 2927e5c31af7Sopenharmony_ci ${DECLARATIONS} 2928e5c31af7Sopenharmony_ci 2929e5c31af7Sopenharmony_ci void main() 2930e5c31af7Sopenharmony_ci { 2931e5c31af7Sopenharmony_ci ${SETUP} 2932e5c31af7Sopenharmony_ci out0 = in0.zxyz - in1.xyzz; 2933e5c31af7Sopenharmony_ci ${OUTPUT} 2934e5c31af7Sopenharmony_ci } 2935e5c31af7Sopenharmony_ci "" 2936e5c31af7Sopenharmony_ci end 2937e5c31af7Sopenharmony_ci 2938e5c31af7Sopenharmony_ci case mediump_ivec4_x_x 2939e5c31af7Sopenharmony_ci version 300 es 2940e5c31af7Sopenharmony_ci values 2941e5c31af7Sopenharmony_ci { 2942e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 2943e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 2944e5c31af7Sopenharmony_ci output int out0 = [ 0 | 0 | 0 ]; 2945e5c31af7Sopenharmony_ci } 2946e5c31af7Sopenharmony_ci 2947e5c31af7Sopenharmony_ci both "" 2948e5c31af7Sopenharmony_ci #version 300 es 2949e5c31af7Sopenharmony_ci precision mediump float; 2950e5c31af7Sopenharmony_ci 2951e5c31af7Sopenharmony_ci ${DECLARATIONS} 2952e5c31af7Sopenharmony_ci 2953e5c31af7Sopenharmony_ci void main() 2954e5c31af7Sopenharmony_ci { 2955e5c31af7Sopenharmony_ci ${SETUP} 2956e5c31af7Sopenharmony_ci out0 = in0.x - in1.x; 2957e5c31af7Sopenharmony_ci ${OUTPUT} 2958e5c31af7Sopenharmony_ci } 2959e5c31af7Sopenharmony_ci "" 2960e5c31af7Sopenharmony_ci end 2961e5c31af7Sopenharmony_ci 2962e5c31af7Sopenharmony_ci case mediump_ivec4_w_w 2963e5c31af7Sopenharmony_ci version 300 es 2964e5c31af7Sopenharmony_ci values 2965e5c31af7Sopenharmony_ci { 2966e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 2967e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 2968e5c31af7Sopenharmony_ci output int out0 = [ 0 | 0 | 0 ]; 2969e5c31af7Sopenharmony_ci } 2970e5c31af7Sopenharmony_ci 2971e5c31af7Sopenharmony_ci both "" 2972e5c31af7Sopenharmony_ci #version 300 es 2973e5c31af7Sopenharmony_ci precision mediump float; 2974e5c31af7Sopenharmony_ci 2975e5c31af7Sopenharmony_ci ${DECLARATIONS} 2976e5c31af7Sopenharmony_ci 2977e5c31af7Sopenharmony_ci void main() 2978e5c31af7Sopenharmony_ci { 2979e5c31af7Sopenharmony_ci ${SETUP} 2980e5c31af7Sopenharmony_ci out0 = in0.w - in1.w; 2981e5c31af7Sopenharmony_ci ${OUTPUT} 2982e5c31af7Sopenharmony_ci } 2983e5c31af7Sopenharmony_ci "" 2984e5c31af7Sopenharmony_ci end 2985e5c31af7Sopenharmony_ci 2986e5c31af7Sopenharmony_ci case mediump_ivec4_wx_xw 2987e5c31af7Sopenharmony_ci version 300 es 2988e5c31af7Sopenharmony_ci values 2989e5c31af7Sopenharmony_ci { 2990e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 2991e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 2992e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(2, -2) | ivec2(3, -3) | ivec2(-8, 8) ]; 2993e5c31af7Sopenharmony_ci } 2994e5c31af7Sopenharmony_ci 2995e5c31af7Sopenharmony_ci both "" 2996e5c31af7Sopenharmony_ci #version 300 es 2997e5c31af7Sopenharmony_ci precision mediump float; 2998e5c31af7Sopenharmony_ci 2999e5c31af7Sopenharmony_ci ${DECLARATIONS} 3000e5c31af7Sopenharmony_ci 3001e5c31af7Sopenharmony_ci void main() 3002e5c31af7Sopenharmony_ci { 3003e5c31af7Sopenharmony_ci ${SETUP} 3004e5c31af7Sopenharmony_ci out0 = in0.wx - in1.xw; 3005e5c31af7Sopenharmony_ci ${OUTPUT} 3006e5c31af7Sopenharmony_ci } 3007e5c31af7Sopenharmony_ci "" 3008e5c31af7Sopenharmony_ci end 3009e5c31af7Sopenharmony_ci 3010e5c31af7Sopenharmony_ci case mediump_ivec4_wz_zw 3011e5c31af7Sopenharmony_ci version 300 es 3012e5c31af7Sopenharmony_ci values 3013e5c31af7Sopenharmony_ci { 3014e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3015e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3016e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(2, -2) | ivec2(1, -1) | ivec2(-5, 5) ]; 3017e5c31af7Sopenharmony_ci } 3018e5c31af7Sopenharmony_ci 3019e5c31af7Sopenharmony_ci both "" 3020e5c31af7Sopenharmony_ci #version 300 es 3021e5c31af7Sopenharmony_ci precision mediump float; 3022e5c31af7Sopenharmony_ci 3023e5c31af7Sopenharmony_ci ${DECLARATIONS} 3024e5c31af7Sopenharmony_ci 3025e5c31af7Sopenharmony_ci void main() 3026e5c31af7Sopenharmony_ci { 3027e5c31af7Sopenharmony_ci ${SETUP} 3028e5c31af7Sopenharmony_ci out0 = in0.wz - in1.zw; 3029e5c31af7Sopenharmony_ci ${OUTPUT} 3030e5c31af7Sopenharmony_ci } 3031e5c31af7Sopenharmony_ci "" 3032e5c31af7Sopenharmony_ci end 3033e5c31af7Sopenharmony_ci 3034e5c31af7Sopenharmony_ci case mediump_ivec4_www_www 3035e5c31af7Sopenharmony_ci version 300 es 3036e5c31af7Sopenharmony_ci values 3037e5c31af7Sopenharmony_ci { 3038e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3039e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3040e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ]; 3041e5c31af7Sopenharmony_ci } 3042e5c31af7Sopenharmony_ci 3043e5c31af7Sopenharmony_ci both "" 3044e5c31af7Sopenharmony_ci #version 300 es 3045e5c31af7Sopenharmony_ci precision mediump float; 3046e5c31af7Sopenharmony_ci 3047e5c31af7Sopenharmony_ci ${DECLARATIONS} 3048e5c31af7Sopenharmony_ci 3049e5c31af7Sopenharmony_ci void main() 3050e5c31af7Sopenharmony_ci { 3051e5c31af7Sopenharmony_ci ${SETUP} 3052e5c31af7Sopenharmony_ci out0 = in0.www - in1.www; 3053e5c31af7Sopenharmony_ci ${OUTPUT} 3054e5c31af7Sopenharmony_ci } 3055e5c31af7Sopenharmony_ci "" 3056e5c31af7Sopenharmony_ci end 3057e5c31af7Sopenharmony_ci 3058e5c31af7Sopenharmony_ci case mediump_ivec4_yyw_ywy 3059e5c31af7Sopenharmony_ci version 300 es 3060e5c31af7Sopenharmony_ci values 3061e5c31af7Sopenharmony_ci { 3062e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3063e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3064e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(0, -2, 2) | ivec3(0, 7, -7) ]; 3065e5c31af7Sopenharmony_ci } 3066e5c31af7Sopenharmony_ci 3067e5c31af7Sopenharmony_ci both "" 3068e5c31af7Sopenharmony_ci #version 300 es 3069e5c31af7Sopenharmony_ci precision mediump float; 3070e5c31af7Sopenharmony_ci 3071e5c31af7Sopenharmony_ci ${DECLARATIONS} 3072e5c31af7Sopenharmony_ci 3073e5c31af7Sopenharmony_ci void main() 3074e5c31af7Sopenharmony_ci { 3075e5c31af7Sopenharmony_ci ${SETUP} 3076e5c31af7Sopenharmony_ci out0 = in0.yyw - in1.ywy; 3077e5c31af7Sopenharmony_ci ${OUTPUT} 3078e5c31af7Sopenharmony_ci } 3079e5c31af7Sopenharmony_ci "" 3080e5c31af7Sopenharmony_ci end 3081e5c31af7Sopenharmony_ci 3082e5c31af7Sopenharmony_ci case mediump_ivec4_wzy_zyw 3083e5c31af7Sopenharmony_ci version 300 es 3084e5c31af7Sopenharmony_ci values 3085e5c31af7Sopenharmony_ci { 3086e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3087e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3088e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(2, -2, 0) | ivec3(1, 1, -2) | ivec3(-5, -2, 7) ]; 3089e5c31af7Sopenharmony_ci } 3090e5c31af7Sopenharmony_ci 3091e5c31af7Sopenharmony_ci both "" 3092e5c31af7Sopenharmony_ci #version 300 es 3093e5c31af7Sopenharmony_ci precision mediump float; 3094e5c31af7Sopenharmony_ci 3095e5c31af7Sopenharmony_ci ${DECLARATIONS} 3096e5c31af7Sopenharmony_ci 3097e5c31af7Sopenharmony_ci void main() 3098e5c31af7Sopenharmony_ci { 3099e5c31af7Sopenharmony_ci ${SETUP} 3100e5c31af7Sopenharmony_ci out0 = in0.wzy - in1.zyw; 3101e5c31af7Sopenharmony_ci ${OUTPUT} 3102e5c31af7Sopenharmony_ci } 3103e5c31af7Sopenharmony_ci "" 3104e5c31af7Sopenharmony_ci end 3105e5c31af7Sopenharmony_ci 3106e5c31af7Sopenharmony_ci case mediump_ivec4_xyzw_yzwx 3107e5c31af7Sopenharmony_ci version 300 es 3108e5c31af7Sopenharmony_ci values 3109e5c31af7Sopenharmony_ci { 3110e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3111e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3112e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, 2, -2, 2) | ivec4(-1, -1, -1, 3) | ivec4(1, 2, 5, -8) ]; 3113e5c31af7Sopenharmony_ci } 3114e5c31af7Sopenharmony_ci 3115e5c31af7Sopenharmony_ci both "" 3116e5c31af7Sopenharmony_ci #version 300 es 3117e5c31af7Sopenharmony_ci precision mediump float; 3118e5c31af7Sopenharmony_ci 3119e5c31af7Sopenharmony_ci ${DECLARATIONS} 3120e5c31af7Sopenharmony_ci 3121e5c31af7Sopenharmony_ci void main() 3122e5c31af7Sopenharmony_ci { 3123e5c31af7Sopenharmony_ci ${SETUP} 3124e5c31af7Sopenharmony_ci out0 = in0.xyzw - in1.yzwx; 3125e5c31af7Sopenharmony_ci ${OUTPUT} 3126e5c31af7Sopenharmony_ci } 3127e5c31af7Sopenharmony_ci "" 3128e5c31af7Sopenharmony_ci end 3129e5c31af7Sopenharmony_ci 3130e5c31af7Sopenharmony_ci case mediump_ivec4_wzyx_zyxw 3131e5c31af7Sopenharmony_ci version 300 es 3132e5c31af7Sopenharmony_ci values 3133e5c31af7Sopenharmony_ci { 3134e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3135e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3136e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(2, -2, 2, -2) | ivec4(1, 1, 1, -3) | ivec4(-5, -2, -1, 8) ]; 3137e5c31af7Sopenharmony_ci } 3138e5c31af7Sopenharmony_ci 3139e5c31af7Sopenharmony_ci both "" 3140e5c31af7Sopenharmony_ci #version 300 es 3141e5c31af7Sopenharmony_ci precision mediump float; 3142e5c31af7Sopenharmony_ci 3143e5c31af7Sopenharmony_ci ${DECLARATIONS} 3144e5c31af7Sopenharmony_ci 3145e5c31af7Sopenharmony_ci void main() 3146e5c31af7Sopenharmony_ci { 3147e5c31af7Sopenharmony_ci ${SETUP} 3148e5c31af7Sopenharmony_ci out0 = in0.wzyx - in1.zyxw; 3149e5c31af7Sopenharmony_ci ${OUTPUT} 3150e5c31af7Sopenharmony_ci } 3151e5c31af7Sopenharmony_ci "" 3152e5c31af7Sopenharmony_ci end 3153e5c31af7Sopenharmony_ci 3154e5c31af7Sopenharmony_ci case mediump_ivec4_xyxy_yxyx 3155e5c31af7Sopenharmony_ci version 300 es 3156e5c31af7Sopenharmony_ci values 3157e5c31af7Sopenharmony_ci { 3158e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3159e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3160e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, 2, -2, 2) | ivec4(-1, 1, -1, 1) | ivec4(1, -1, 1, -1) ]; 3161e5c31af7Sopenharmony_ci } 3162e5c31af7Sopenharmony_ci 3163e5c31af7Sopenharmony_ci both "" 3164e5c31af7Sopenharmony_ci #version 300 es 3165e5c31af7Sopenharmony_ci precision mediump float; 3166e5c31af7Sopenharmony_ci 3167e5c31af7Sopenharmony_ci ${DECLARATIONS} 3168e5c31af7Sopenharmony_ci 3169e5c31af7Sopenharmony_ci void main() 3170e5c31af7Sopenharmony_ci { 3171e5c31af7Sopenharmony_ci ${SETUP} 3172e5c31af7Sopenharmony_ci out0 = in0.xyxy - in1.yxyx; 3173e5c31af7Sopenharmony_ci ${OUTPUT} 3174e5c31af7Sopenharmony_ci } 3175e5c31af7Sopenharmony_ci "" 3176e5c31af7Sopenharmony_ci end 3177e5c31af7Sopenharmony_ci 3178e5c31af7Sopenharmony_ci case mediump_ivec4_yzzy_zzyy 3179e5c31af7Sopenharmony_ci version 300 es 3180e5c31af7Sopenharmony_ci values 3181e5c31af7Sopenharmony_ci { 3182e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3183e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3184e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(2, 0, -2, 0) | ivec4(-1, 0, 1, 0) | ivec4(2, 0, -2, 0) ]; 3185e5c31af7Sopenharmony_ci } 3186e5c31af7Sopenharmony_ci 3187e5c31af7Sopenharmony_ci both "" 3188e5c31af7Sopenharmony_ci #version 300 es 3189e5c31af7Sopenharmony_ci precision mediump float; 3190e5c31af7Sopenharmony_ci 3191e5c31af7Sopenharmony_ci ${DECLARATIONS} 3192e5c31af7Sopenharmony_ci 3193e5c31af7Sopenharmony_ci void main() 3194e5c31af7Sopenharmony_ci { 3195e5c31af7Sopenharmony_ci ${SETUP} 3196e5c31af7Sopenharmony_ci out0 = in0.yzzy - in1.zzyy; 3197e5c31af7Sopenharmony_ci ${OUTPUT} 3198e5c31af7Sopenharmony_ci } 3199e5c31af7Sopenharmony_ci "" 3200e5c31af7Sopenharmony_ci end 3201e5c31af7Sopenharmony_ci 3202e5c31af7Sopenharmony_ci case mediump_ivec4_wxww_xwww 3203e5c31af7Sopenharmony_ci version 300 es 3204e5c31af7Sopenharmony_ci values 3205e5c31af7Sopenharmony_ci { 3206e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3207e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3208e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(2, -2, 0, 0) | ivec4(3, -3, 0, 0) | ivec4(-8, 8, 0, 0) ]; 3209e5c31af7Sopenharmony_ci } 3210e5c31af7Sopenharmony_ci 3211e5c31af7Sopenharmony_ci both "" 3212e5c31af7Sopenharmony_ci #version 300 es 3213e5c31af7Sopenharmony_ci precision mediump float; 3214e5c31af7Sopenharmony_ci 3215e5c31af7Sopenharmony_ci ${DECLARATIONS} 3216e5c31af7Sopenharmony_ci 3217e5c31af7Sopenharmony_ci void main() 3218e5c31af7Sopenharmony_ci { 3219e5c31af7Sopenharmony_ci ${SETUP} 3220e5c31af7Sopenharmony_ci out0 = in0.wxww - in1.xwww; 3221e5c31af7Sopenharmony_ci ${OUTPUT} 3222e5c31af7Sopenharmony_ci } 3223e5c31af7Sopenharmony_ci "" 3224e5c31af7Sopenharmony_ci end 3225e5c31af7Sopenharmony_ci 3226e5c31af7Sopenharmony_ci case mediump_ivec4_xyxx_yxxx 3227e5c31af7Sopenharmony_ci version 300 es 3228e5c31af7Sopenharmony_ci values 3229e5c31af7Sopenharmony_ci { 3230e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3231e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3232e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-2, 2, 0, 0) | ivec4(-1, 1, 0, 0) | ivec4(1, -1, 0, 0) ]; 3233e5c31af7Sopenharmony_ci } 3234e5c31af7Sopenharmony_ci 3235e5c31af7Sopenharmony_ci both "" 3236e5c31af7Sopenharmony_ci #version 300 es 3237e5c31af7Sopenharmony_ci precision mediump float; 3238e5c31af7Sopenharmony_ci 3239e5c31af7Sopenharmony_ci ${DECLARATIONS} 3240e5c31af7Sopenharmony_ci 3241e5c31af7Sopenharmony_ci void main() 3242e5c31af7Sopenharmony_ci { 3243e5c31af7Sopenharmony_ci ${SETUP} 3244e5c31af7Sopenharmony_ci out0 = in0.xyxx - in1.yxxx; 3245e5c31af7Sopenharmony_ci ${OUTPUT} 3246e5c31af7Sopenharmony_ci } 3247e5c31af7Sopenharmony_ci "" 3248e5c31af7Sopenharmony_ci end 3249e5c31af7Sopenharmony_ci 3250e5c31af7Sopenharmony_ci case mediump_ivec4_zzzz_zzzz 3251e5c31af7Sopenharmony_ci version 300 es 3252e5c31af7Sopenharmony_ci values 3253e5c31af7Sopenharmony_ci { 3254e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3255e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 3256e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) ]; 3257e5c31af7Sopenharmony_ci } 3258e5c31af7Sopenharmony_ci 3259e5c31af7Sopenharmony_ci both "" 3260e5c31af7Sopenharmony_ci #version 300 es 3261e5c31af7Sopenharmony_ci precision mediump float; 3262e5c31af7Sopenharmony_ci 3263e5c31af7Sopenharmony_ci ${DECLARATIONS} 3264e5c31af7Sopenharmony_ci 3265e5c31af7Sopenharmony_ci void main() 3266e5c31af7Sopenharmony_ci { 3267e5c31af7Sopenharmony_ci ${SETUP} 3268e5c31af7Sopenharmony_ci out0 = in0.zzzz - in1.zzzz; 3269e5c31af7Sopenharmony_ci ${OUTPUT} 3270e5c31af7Sopenharmony_ci } 3271e5c31af7Sopenharmony_ci "" 3272e5c31af7Sopenharmony_ci end 3273e5c31af7Sopenharmony_ci 3274e5c31af7Sopenharmony_ci 3275e5c31af7Sopenharmony_ciend # vector_subtract 3276e5c31af7Sopenharmony_cigroup vector_multiply "Vector swizzle math operations" 3277e5c31af7Sopenharmony_ci 3278e5c31af7Sopenharmony_ci case mediump_vec2_x_x 3279e5c31af7Sopenharmony_ci version 300 es 3280e5c31af7Sopenharmony_ci values 3281e5c31af7Sopenharmony_ci { 3282e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3283e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3284e5c31af7Sopenharmony_ci output float out0 = [ 0.01 | 1.0 | 0.25 | 1024.0 | 0.5625 ]; 3285e5c31af7Sopenharmony_ci } 3286e5c31af7Sopenharmony_ci 3287e5c31af7Sopenharmony_ci both "" 3288e5c31af7Sopenharmony_ci #version 300 es 3289e5c31af7Sopenharmony_ci precision mediump float; 3290e5c31af7Sopenharmony_ci 3291e5c31af7Sopenharmony_ci ${DECLARATIONS} 3292e5c31af7Sopenharmony_ci 3293e5c31af7Sopenharmony_ci void main() 3294e5c31af7Sopenharmony_ci { 3295e5c31af7Sopenharmony_ci ${SETUP} 3296e5c31af7Sopenharmony_ci out0 = in0.x * in1.x; 3297e5c31af7Sopenharmony_ci ${OUTPUT} 3298e5c31af7Sopenharmony_ci } 3299e5c31af7Sopenharmony_ci "" 3300e5c31af7Sopenharmony_ci end 3301e5c31af7Sopenharmony_ci 3302e5c31af7Sopenharmony_ci case mediump_vec2_xx_xx 3303e5c31af7Sopenharmony_ci version 300 es 3304e5c31af7Sopenharmony_ci values 3305e5c31af7Sopenharmony_ci { 3306e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3307e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3308e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.01, 0.01) | vec2(1.0, 1.0) | vec2(0.25, 0.25) | vec2(1024.0, 1024.0) | vec2(0.5625, 0.5625) ]; 3309e5c31af7Sopenharmony_ci } 3310e5c31af7Sopenharmony_ci 3311e5c31af7Sopenharmony_ci both "" 3312e5c31af7Sopenharmony_ci #version 300 es 3313e5c31af7Sopenharmony_ci precision mediump float; 3314e5c31af7Sopenharmony_ci 3315e5c31af7Sopenharmony_ci ${DECLARATIONS} 3316e5c31af7Sopenharmony_ci 3317e5c31af7Sopenharmony_ci void main() 3318e5c31af7Sopenharmony_ci { 3319e5c31af7Sopenharmony_ci ${SETUP} 3320e5c31af7Sopenharmony_ci out0 = in0.xx * in1.xx; 3321e5c31af7Sopenharmony_ci ${OUTPUT} 3322e5c31af7Sopenharmony_ci } 3323e5c31af7Sopenharmony_ci "" 3324e5c31af7Sopenharmony_ci end 3325e5c31af7Sopenharmony_ci 3326e5c31af7Sopenharmony_ci case mediump_vec2_xy_yx 3327e5c31af7Sopenharmony_ci version 300 es 3328e5c31af7Sopenharmony_ci values 3329e5c31af7Sopenharmony_ci { 3330e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3331e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3332e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.05, 0.05) | vec2(1.25, 1.25) | vec2(1.125, 1.125) | vec2(-2048.0, -2048.0) | vec2(0.0241935483871, 0.0241935483871) ]; 3333e5c31af7Sopenharmony_ci } 3334e5c31af7Sopenharmony_ci 3335e5c31af7Sopenharmony_ci both "" 3336e5c31af7Sopenharmony_ci #version 300 es 3337e5c31af7Sopenharmony_ci precision mediump float; 3338e5c31af7Sopenharmony_ci 3339e5c31af7Sopenharmony_ci ${DECLARATIONS} 3340e5c31af7Sopenharmony_ci 3341e5c31af7Sopenharmony_ci void main() 3342e5c31af7Sopenharmony_ci { 3343e5c31af7Sopenharmony_ci ${SETUP} 3344e5c31af7Sopenharmony_ci out0 = in0.xy * in1.yx; 3345e5c31af7Sopenharmony_ci ${OUTPUT} 3346e5c31af7Sopenharmony_ci } 3347e5c31af7Sopenharmony_ci "" 3348e5c31af7Sopenharmony_ci end 3349e5c31af7Sopenharmony_ci 3350e5c31af7Sopenharmony_ci case mediump_vec2_yx_xy 3351e5c31af7Sopenharmony_ci version 300 es 3352e5c31af7Sopenharmony_ci values 3353e5c31af7Sopenharmony_ci { 3354e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3355e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3356e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.05, 0.05) | vec2(1.25, 1.25) | vec2(1.125, 1.125) | vec2(-2048.0, -2048.0) | vec2(0.0241935483871, 0.0241935483871) ]; 3357e5c31af7Sopenharmony_ci } 3358e5c31af7Sopenharmony_ci 3359e5c31af7Sopenharmony_ci both "" 3360e5c31af7Sopenharmony_ci #version 300 es 3361e5c31af7Sopenharmony_ci precision mediump float; 3362e5c31af7Sopenharmony_ci 3363e5c31af7Sopenharmony_ci ${DECLARATIONS} 3364e5c31af7Sopenharmony_ci 3365e5c31af7Sopenharmony_ci void main() 3366e5c31af7Sopenharmony_ci { 3367e5c31af7Sopenharmony_ci ${SETUP} 3368e5c31af7Sopenharmony_ci out0 = in0.yx * in1.xy; 3369e5c31af7Sopenharmony_ci ${OUTPUT} 3370e5c31af7Sopenharmony_ci } 3371e5c31af7Sopenharmony_ci "" 3372e5c31af7Sopenharmony_ci end 3373e5c31af7Sopenharmony_ci 3374e5c31af7Sopenharmony_ci case mediump_vec2_yxy_xyy 3375e5c31af7Sopenharmony_ci version 300 es 3376e5c31af7Sopenharmony_ci values 3377e5c31af7Sopenharmony_ci { 3378e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3379e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3380e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.05, 0.05, 0.25) | vec3(1.25, 1.25, 1.5625) | vec3(1.125, 1.125, 5.0625) | vec3(-2048.0, -2048.0, 4096.0) | vec3(0.0241935483871, 0.0241935483871, 0.00104058272633) ]; 3381e5c31af7Sopenharmony_ci } 3382e5c31af7Sopenharmony_ci 3383e5c31af7Sopenharmony_ci both "" 3384e5c31af7Sopenharmony_ci #version 300 es 3385e5c31af7Sopenharmony_ci precision mediump float; 3386e5c31af7Sopenharmony_ci 3387e5c31af7Sopenharmony_ci ${DECLARATIONS} 3388e5c31af7Sopenharmony_ci 3389e5c31af7Sopenharmony_ci void main() 3390e5c31af7Sopenharmony_ci { 3391e5c31af7Sopenharmony_ci ${SETUP} 3392e5c31af7Sopenharmony_ci out0 = in0.yxy * in1.xyy; 3393e5c31af7Sopenharmony_ci ${OUTPUT} 3394e5c31af7Sopenharmony_ci } 3395e5c31af7Sopenharmony_ci "" 3396e5c31af7Sopenharmony_ci end 3397e5c31af7Sopenharmony_ci 3398e5c31af7Sopenharmony_ci case mediump_vec2_xyxx_yxxx 3399e5c31af7Sopenharmony_ci version 300 es 3400e5c31af7Sopenharmony_ci values 3401e5c31af7Sopenharmony_ci { 3402e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3403e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3404e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.05, 0.05, 0.01, 0.01) | vec4(1.25, 1.25, 1.0, 1.0) | vec4(1.125, 1.125, 0.25, 0.25) | vec4(-2048.0, -2048.0, 1024.0, 1024.0) | vec4(0.0241935483871, 0.0241935483871, 0.5625, 0.5625) ]; 3405e5c31af7Sopenharmony_ci } 3406e5c31af7Sopenharmony_ci 3407e5c31af7Sopenharmony_ci both "" 3408e5c31af7Sopenharmony_ci #version 300 es 3409e5c31af7Sopenharmony_ci precision mediump float; 3410e5c31af7Sopenharmony_ci 3411e5c31af7Sopenharmony_ci ${DECLARATIONS} 3412e5c31af7Sopenharmony_ci 3413e5c31af7Sopenharmony_ci void main() 3414e5c31af7Sopenharmony_ci { 3415e5c31af7Sopenharmony_ci ${SETUP} 3416e5c31af7Sopenharmony_ci out0 = in0.xyxx * in1.yxxx; 3417e5c31af7Sopenharmony_ci ${OUTPUT} 3418e5c31af7Sopenharmony_ci } 3419e5c31af7Sopenharmony_ci "" 3420e5c31af7Sopenharmony_ci end 3421e5c31af7Sopenharmony_ci 3422e5c31af7Sopenharmony_ci case mediump_vec2_yxyx_xyxy 3423e5c31af7Sopenharmony_ci version 300 es 3424e5c31af7Sopenharmony_ci values 3425e5c31af7Sopenharmony_ci { 3426e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3427e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 3428e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.05, 0.05, 0.05, 0.05) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-2048.0, -2048.0, -2048.0, -2048.0) | vec4(0.0241935483871, 0.0241935483871, 0.0241935483871, 0.0241935483871) ]; 3429e5c31af7Sopenharmony_ci } 3430e5c31af7Sopenharmony_ci 3431e5c31af7Sopenharmony_ci both "" 3432e5c31af7Sopenharmony_ci #version 300 es 3433e5c31af7Sopenharmony_ci precision mediump float; 3434e5c31af7Sopenharmony_ci 3435e5c31af7Sopenharmony_ci ${DECLARATIONS} 3436e5c31af7Sopenharmony_ci 3437e5c31af7Sopenharmony_ci void main() 3438e5c31af7Sopenharmony_ci { 3439e5c31af7Sopenharmony_ci ${SETUP} 3440e5c31af7Sopenharmony_ci out0 = in0.yxyx * in1.xyxy; 3441e5c31af7Sopenharmony_ci ${OUTPUT} 3442e5c31af7Sopenharmony_ci } 3443e5c31af7Sopenharmony_ci "" 3444e5c31af7Sopenharmony_ci end 3445e5c31af7Sopenharmony_ci 3446e5c31af7Sopenharmony_ci case mediump_vec3_x_x 3447e5c31af7Sopenharmony_ci version 300 es 3448e5c31af7Sopenharmony_ci values 3449e5c31af7Sopenharmony_ci { 3450e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3451e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3452e5c31af7Sopenharmony_ci output float out0 = [ 0.01 | 1.0 | 0.25 | 1024.0 | 0.5625 ]; 3453e5c31af7Sopenharmony_ci } 3454e5c31af7Sopenharmony_ci 3455e5c31af7Sopenharmony_ci both "" 3456e5c31af7Sopenharmony_ci #version 300 es 3457e5c31af7Sopenharmony_ci precision mediump float; 3458e5c31af7Sopenharmony_ci 3459e5c31af7Sopenharmony_ci ${DECLARATIONS} 3460e5c31af7Sopenharmony_ci 3461e5c31af7Sopenharmony_ci void main() 3462e5c31af7Sopenharmony_ci { 3463e5c31af7Sopenharmony_ci ${SETUP} 3464e5c31af7Sopenharmony_ci out0 = in0.x * in1.x; 3465e5c31af7Sopenharmony_ci ${OUTPUT} 3466e5c31af7Sopenharmony_ci } 3467e5c31af7Sopenharmony_ci "" 3468e5c31af7Sopenharmony_ci end 3469e5c31af7Sopenharmony_ci 3470e5c31af7Sopenharmony_ci case mediump_vec3_z_z 3471e5c31af7Sopenharmony_ci version 300 es 3472e5c31af7Sopenharmony_ci values 3473e5c31af7Sopenharmony_ci { 3474e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3475e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3476e5c31af7Sopenharmony_ci output float out0 = [ 0.5625 | 1.265625 | 23.765625 | 2601.0 | 0.00277008310249 ]; 3477e5c31af7Sopenharmony_ci } 3478e5c31af7Sopenharmony_ci 3479e5c31af7Sopenharmony_ci both "" 3480e5c31af7Sopenharmony_ci #version 300 es 3481e5c31af7Sopenharmony_ci precision mediump float; 3482e5c31af7Sopenharmony_ci 3483e5c31af7Sopenharmony_ci ${DECLARATIONS} 3484e5c31af7Sopenharmony_ci 3485e5c31af7Sopenharmony_ci void main() 3486e5c31af7Sopenharmony_ci { 3487e5c31af7Sopenharmony_ci ${SETUP} 3488e5c31af7Sopenharmony_ci out0 = in0.z * in1.z; 3489e5c31af7Sopenharmony_ci ${OUTPUT} 3490e5c31af7Sopenharmony_ci } 3491e5c31af7Sopenharmony_ci "" 3492e5c31af7Sopenharmony_ci end 3493e5c31af7Sopenharmony_ci 3494e5c31af7Sopenharmony_ci case mediump_vec3_xz_zx 3495e5c31af7Sopenharmony_ci version 300 es 3496e5c31af7Sopenharmony_ci values 3497e5c31af7Sopenharmony_ci { 3498e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3499e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3500e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.075, 0.075) | vec2(1.125, 1.125) | vec2(2.4375, 2.4375) | vec2(1632.0, 1632.0) | vec2(-0.0394736842105, -0.0394736842105) ]; 3501e5c31af7Sopenharmony_ci } 3502e5c31af7Sopenharmony_ci 3503e5c31af7Sopenharmony_ci both "" 3504e5c31af7Sopenharmony_ci #version 300 es 3505e5c31af7Sopenharmony_ci precision mediump float; 3506e5c31af7Sopenharmony_ci 3507e5c31af7Sopenharmony_ci ${DECLARATIONS} 3508e5c31af7Sopenharmony_ci 3509e5c31af7Sopenharmony_ci void main() 3510e5c31af7Sopenharmony_ci { 3511e5c31af7Sopenharmony_ci ${SETUP} 3512e5c31af7Sopenharmony_ci out0 = in0.xz * in1.zx; 3513e5c31af7Sopenharmony_ci ${OUTPUT} 3514e5c31af7Sopenharmony_ci } 3515e5c31af7Sopenharmony_ci "" 3516e5c31af7Sopenharmony_ci end 3517e5c31af7Sopenharmony_ci 3518e5c31af7Sopenharmony_ci case mediump_vec3_zz_zz 3519e5c31af7Sopenharmony_ci version 300 es 3520e5c31af7Sopenharmony_ci values 3521e5c31af7Sopenharmony_ci { 3522e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3523e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3524e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.5625, 0.5625) | vec2(1.265625, 1.265625) | vec2(23.765625, 23.765625) | vec2(2601.0, 2601.0) | vec2(0.00277008310249, 0.00277008310249) ]; 3525e5c31af7Sopenharmony_ci } 3526e5c31af7Sopenharmony_ci 3527e5c31af7Sopenharmony_ci both "" 3528e5c31af7Sopenharmony_ci #version 300 es 3529e5c31af7Sopenharmony_ci precision mediump float; 3530e5c31af7Sopenharmony_ci 3531e5c31af7Sopenharmony_ci ${DECLARATIONS} 3532e5c31af7Sopenharmony_ci 3533e5c31af7Sopenharmony_ci void main() 3534e5c31af7Sopenharmony_ci { 3535e5c31af7Sopenharmony_ci ${SETUP} 3536e5c31af7Sopenharmony_ci out0 = in0.zz * in1.zz; 3537e5c31af7Sopenharmony_ci ${OUTPUT} 3538e5c31af7Sopenharmony_ci } 3539e5c31af7Sopenharmony_ci "" 3540e5c31af7Sopenharmony_ci end 3541e5c31af7Sopenharmony_ci 3542e5c31af7Sopenharmony_ci case mediump_vec3_xyz_yzx 3543e5c31af7Sopenharmony_ci version 300 es 3544e5c31af7Sopenharmony_ci values 3545e5c31af7Sopenharmony_ci { 3546e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3547e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3548e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.05, 0.375, 0.075) | vec3(1.25, 1.40625, 1.125) | vec3(1.125, 10.96875, 2.4375) | vec3(-2048.0, -3264.0, 1632.0) | vec3(0.0241935483871, -0.00169779286927, -0.0394736842105) ]; 3549e5c31af7Sopenharmony_ci } 3550e5c31af7Sopenharmony_ci 3551e5c31af7Sopenharmony_ci both "" 3552e5c31af7Sopenharmony_ci #version 300 es 3553e5c31af7Sopenharmony_ci precision mediump float; 3554e5c31af7Sopenharmony_ci 3555e5c31af7Sopenharmony_ci ${DECLARATIONS} 3556e5c31af7Sopenharmony_ci 3557e5c31af7Sopenharmony_ci void main() 3558e5c31af7Sopenharmony_ci { 3559e5c31af7Sopenharmony_ci ${SETUP} 3560e5c31af7Sopenharmony_ci out0 = in0.xyz * in1.yzx; 3561e5c31af7Sopenharmony_ci ${OUTPUT} 3562e5c31af7Sopenharmony_ci } 3563e5c31af7Sopenharmony_ci "" 3564e5c31af7Sopenharmony_ci end 3565e5c31af7Sopenharmony_ci 3566e5c31af7Sopenharmony_ci case mediump_vec3_zyx_yxz 3567e5c31af7Sopenharmony_ci version 300 es 3568e5c31af7Sopenharmony_ci values 3569e5c31af7Sopenharmony_ci { 3570e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3571e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3572e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.375, 0.05, 0.075) | vec3(1.40625, 1.25, 1.125) | vec3(10.96875, 1.125, 2.4375) | vec3(-3264.0, -2048.0, 1632.0) | vec3(-0.00169779286927, 0.0241935483871, -0.0394736842105) ]; 3573e5c31af7Sopenharmony_ci } 3574e5c31af7Sopenharmony_ci 3575e5c31af7Sopenharmony_ci both "" 3576e5c31af7Sopenharmony_ci #version 300 es 3577e5c31af7Sopenharmony_ci precision mediump float; 3578e5c31af7Sopenharmony_ci 3579e5c31af7Sopenharmony_ci ${DECLARATIONS} 3580e5c31af7Sopenharmony_ci 3581e5c31af7Sopenharmony_ci void main() 3582e5c31af7Sopenharmony_ci { 3583e5c31af7Sopenharmony_ci ${SETUP} 3584e5c31af7Sopenharmony_ci out0 = in0.zyx * in1.yxz; 3585e5c31af7Sopenharmony_ci ${OUTPUT} 3586e5c31af7Sopenharmony_ci } 3587e5c31af7Sopenharmony_ci "" 3588e5c31af7Sopenharmony_ci end 3589e5c31af7Sopenharmony_ci 3590e5c31af7Sopenharmony_ci case mediump_vec3_xxx_xxx 3591e5c31af7Sopenharmony_ci version 300 es 3592e5c31af7Sopenharmony_ci values 3593e5c31af7Sopenharmony_ci { 3594e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3595e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3596e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.01, 0.01, 0.01) | vec3(1.0, 1.0, 1.0) | vec3(0.25, 0.25, 0.25) | vec3(1024.0, 1024.0, 1024.0) | vec3(0.5625, 0.5625, 0.5625) ]; 3597e5c31af7Sopenharmony_ci } 3598e5c31af7Sopenharmony_ci 3599e5c31af7Sopenharmony_ci both "" 3600e5c31af7Sopenharmony_ci #version 300 es 3601e5c31af7Sopenharmony_ci precision mediump float; 3602e5c31af7Sopenharmony_ci 3603e5c31af7Sopenharmony_ci ${DECLARATIONS} 3604e5c31af7Sopenharmony_ci 3605e5c31af7Sopenharmony_ci void main() 3606e5c31af7Sopenharmony_ci { 3607e5c31af7Sopenharmony_ci ${SETUP} 3608e5c31af7Sopenharmony_ci out0 = in0.xxx * in1.xxx; 3609e5c31af7Sopenharmony_ci ${OUTPUT} 3610e5c31af7Sopenharmony_ci } 3611e5c31af7Sopenharmony_ci "" 3612e5c31af7Sopenharmony_ci end 3613e5c31af7Sopenharmony_ci 3614e5c31af7Sopenharmony_ci case mediump_vec3_zzz_zzz 3615e5c31af7Sopenharmony_ci version 300 es 3616e5c31af7Sopenharmony_ci values 3617e5c31af7Sopenharmony_ci { 3618e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3619e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3620e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.5625, 0.5625, 0.5625) | vec3(1.265625, 1.265625, 1.265625) | vec3(23.765625, 23.765625, 23.765625) | vec3(2601.0, 2601.0, 2601.0) | vec3(0.00277008310249, 0.00277008310249, 0.00277008310249) ]; 3621e5c31af7Sopenharmony_ci } 3622e5c31af7Sopenharmony_ci 3623e5c31af7Sopenharmony_ci both "" 3624e5c31af7Sopenharmony_ci #version 300 es 3625e5c31af7Sopenharmony_ci precision mediump float; 3626e5c31af7Sopenharmony_ci 3627e5c31af7Sopenharmony_ci ${DECLARATIONS} 3628e5c31af7Sopenharmony_ci 3629e5c31af7Sopenharmony_ci void main() 3630e5c31af7Sopenharmony_ci { 3631e5c31af7Sopenharmony_ci ${SETUP} 3632e5c31af7Sopenharmony_ci out0 = in0.zzz * in1.zzz; 3633e5c31af7Sopenharmony_ci ${OUTPUT} 3634e5c31af7Sopenharmony_ci } 3635e5c31af7Sopenharmony_ci "" 3636e5c31af7Sopenharmony_ci end 3637e5c31af7Sopenharmony_ci 3638e5c31af7Sopenharmony_ci case mediump_vec3_zzy_zyz 3639e5c31af7Sopenharmony_ci version 300 es 3640e5c31af7Sopenharmony_ci values 3641e5c31af7Sopenharmony_ci { 3642e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3643e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3644e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.5625, 0.375, 0.375) | vec3(1.265625, 1.40625, 1.40625) | vec3(23.765625, 10.96875, 10.96875) | vec3(2601.0, -3264.0, -3264.0) | vec3(0.00277008310249, -0.00169779286927, -0.00169779286927) ]; 3645e5c31af7Sopenharmony_ci } 3646e5c31af7Sopenharmony_ci 3647e5c31af7Sopenharmony_ci both "" 3648e5c31af7Sopenharmony_ci #version 300 es 3649e5c31af7Sopenharmony_ci precision mediump float; 3650e5c31af7Sopenharmony_ci 3651e5c31af7Sopenharmony_ci ${DECLARATIONS} 3652e5c31af7Sopenharmony_ci 3653e5c31af7Sopenharmony_ci void main() 3654e5c31af7Sopenharmony_ci { 3655e5c31af7Sopenharmony_ci ${SETUP} 3656e5c31af7Sopenharmony_ci out0 = in0.zzy * in1.zyz; 3657e5c31af7Sopenharmony_ci ${OUTPUT} 3658e5c31af7Sopenharmony_ci } 3659e5c31af7Sopenharmony_ci "" 3660e5c31af7Sopenharmony_ci end 3661e5c31af7Sopenharmony_ci 3662e5c31af7Sopenharmony_ci case mediump_vec3_yxy_xyy 3663e5c31af7Sopenharmony_ci version 300 es 3664e5c31af7Sopenharmony_ci values 3665e5c31af7Sopenharmony_ci { 3666e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3667e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3668e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.05, 0.05, 0.25) | vec3(1.25, 1.25, 1.5625) | vec3(1.125, 1.125, 5.0625) | vec3(-2048.0, -2048.0, 4096.0) | vec3(0.0241935483871, 0.0241935483871, 0.00104058272633) ]; 3669e5c31af7Sopenharmony_ci } 3670e5c31af7Sopenharmony_ci 3671e5c31af7Sopenharmony_ci both "" 3672e5c31af7Sopenharmony_ci #version 300 es 3673e5c31af7Sopenharmony_ci precision mediump float; 3674e5c31af7Sopenharmony_ci 3675e5c31af7Sopenharmony_ci ${DECLARATIONS} 3676e5c31af7Sopenharmony_ci 3677e5c31af7Sopenharmony_ci void main() 3678e5c31af7Sopenharmony_ci { 3679e5c31af7Sopenharmony_ci ${SETUP} 3680e5c31af7Sopenharmony_ci out0 = in0.yxy * in1.xyy; 3681e5c31af7Sopenharmony_ci ${OUTPUT} 3682e5c31af7Sopenharmony_ci } 3683e5c31af7Sopenharmony_ci "" 3684e5c31af7Sopenharmony_ci end 3685e5c31af7Sopenharmony_ci 3686e5c31af7Sopenharmony_ci case mediump_vec3_xzx_zxx 3687e5c31af7Sopenharmony_ci version 300 es 3688e5c31af7Sopenharmony_ci values 3689e5c31af7Sopenharmony_ci { 3690e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3691e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3692e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.075, 0.075, 0.01) | vec3(1.125, 1.125, 1.0) | vec3(2.4375, 2.4375, 0.25) | vec3(1632.0, 1632.0, 1024.0) | vec3(-0.0394736842105, -0.0394736842105, 0.5625) ]; 3693e5c31af7Sopenharmony_ci } 3694e5c31af7Sopenharmony_ci 3695e5c31af7Sopenharmony_ci both "" 3696e5c31af7Sopenharmony_ci #version 300 es 3697e5c31af7Sopenharmony_ci precision mediump float; 3698e5c31af7Sopenharmony_ci 3699e5c31af7Sopenharmony_ci ${DECLARATIONS} 3700e5c31af7Sopenharmony_ci 3701e5c31af7Sopenharmony_ci void main() 3702e5c31af7Sopenharmony_ci { 3703e5c31af7Sopenharmony_ci ${SETUP} 3704e5c31af7Sopenharmony_ci out0 = in0.xzx * in1.zxx; 3705e5c31af7Sopenharmony_ci ${OUTPUT} 3706e5c31af7Sopenharmony_ci } 3707e5c31af7Sopenharmony_ci "" 3708e5c31af7Sopenharmony_ci end 3709e5c31af7Sopenharmony_ci 3710e5c31af7Sopenharmony_ci case mediump_vec3_xyyx_yyxx 3711e5c31af7Sopenharmony_ci version 300 es 3712e5c31af7Sopenharmony_ci values 3713e5c31af7Sopenharmony_ci { 3714e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3715e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3716e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.05, 0.25, 0.05, 0.01) | vec4(1.25, 1.5625, 1.25, 1.0) | vec4(1.125, 5.0625, 1.125, 0.25) | vec4(-2048.0, 4096.0, -2048.0, 1024.0) | vec4(0.0241935483871, 0.00104058272633, 0.0241935483871, 0.5625) ]; 3717e5c31af7Sopenharmony_ci } 3718e5c31af7Sopenharmony_ci 3719e5c31af7Sopenharmony_ci both "" 3720e5c31af7Sopenharmony_ci #version 300 es 3721e5c31af7Sopenharmony_ci precision mediump float; 3722e5c31af7Sopenharmony_ci 3723e5c31af7Sopenharmony_ci ${DECLARATIONS} 3724e5c31af7Sopenharmony_ci 3725e5c31af7Sopenharmony_ci void main() 3726e5c31af7Sopenharmony_ci { 3727e5c31af7Sopenharmony_ci ${SETUP} 3728e5c31af7Sopenharmony_ci out0 = in0.xyyx * in1.yyxx; 3729e5c31af7Sopenharmony_ci ${OUTPUT} 3730e5c31af7Sopenharmony_ci } 3731e5c31af7Sopenharmony_ci "" 3732e5c31af7Sopenharmony_ci end 3733e5c31af7Sopenharmony_ci 3734e5c31af7Sopenharmony_ci case mediump_vec3_zxyz_xyzz 3735e5c31af7Sopenharmony_ci version 300 es 3736e5c31af7Sopenharmony_ci values 3737e5c31af7Sopenharmony_ci { 3738e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3739e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 3740e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.075, 0.05, 0.375, 0.5625) | vec4(1.125, 1.25, 1.40625, 1.265625) | vec4(2.4375, 1.125, 10.96875, 23.765625) | vec4(1632.0, -2048.0, -3264.0, 2601.0) | vec4(-0.0394736842105, 0.0241935483871, -0.00169779286927, 0.00277008310249) ]; 3741e5c31af7Sopenharmony_ci } 3742e5c31af7Sopenharmony_ci 3743e5c31af7Sopenharmony_ci both "" 3744e5c31af7Sopenharmony_ci #version 300 es 3745e5c31af7Sopenharmony_ci precision mediump float; 3746e5c31af7Sopenharmony_ci 3747e5c31af7Sopenharmony_ci ${DECLARATIONS} 3748e5c31af7Sopenharmony_ci 3749e5c31af7Sopenharmony_ci void main() 3750e5c31af7Sopenharmony_ci { 3751e5c31af7Sopenharmony_ci ${SETUP} 3752e5c31af7Sopenharmony_ci out0 = in0.zxyz * in1.xyzz; 3753e5c31af7Sopenharmony_ci ${OUTPUT} 3754e5c31af7Sopenharmony_ci } 3755e5c31af7Sopenharmony_ci "" 3756e5c31af7Sopenharmony_ci end 3757e5c31af7Sopenharmony_ci 3758e5c31af7Sopenharmony_ci case mediump_vec4_x_x 3759e5c31af7Sopenharmony_ci version 300 es 3760e5c31af7Sopenharmony_ci values 3761e5c31af7Sopenharmony_ci { 3762e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3763e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3764e5c31af7Sopenharmony_ci output float out0 = [ 0.01 | 1.0 | 0.25 | 1024.0 | 0.5625 ]; 3765e5c31af7Sopenharmony_ci } 3766e5c31af7Sopenharmony_ci 3767e5c31af7Sopenharmony_ci both "" 3768e5c31af7Sopenharmony_ci #version 300 es 3769e5c31af7Sopenharmony_ci precision mediump float; 3770e5c31af7Sopenharmony_ci 3771e5c31af7Sopenharmony_ci ${DECLARATIONS} 3772e5c31af7Sopenharmony_ci 3773e5c31af7Sopenharmony_ci void main() 3774e5c31af7Sopenharmony_ci { 3775e5c31af7Sopenharmony_ci ${SETUP} 3776e5c31af7Sopenharmony_ci out0 = in0.x * in1.x; 3777e5c31af7Sopenharmony_ci ${OUTPUT} 3778e5c31af7Sopenharmony_ci } 3779e5c31af7Sopenharmony_ci "" 3780e5c31af7Sopenharmony_ci end 3781e5c31af7Sopenharmony_ci 3782e5c31af7Sopenharmony_ci case mediump_vec4_w_w 3783e5c31af7Sopenharmony_ci version 300 es 3784e5c31af7Sopenharmony_ci values 3785e5c31af7Sopenharmony_ci { 3786e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3787e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3788e5c31af7Sopenharmony_ci output float out0 = [ 0.680625 | 3.0625 | 81.0 | 576.0 | 0.0625 ]; 3789e5c31af7Sopenharmony_ci } 3790e5c31af7Sopenharmony_ci 3791e5c31af7Sopenharmony_ci both "" 3792e5c31af7Sopenharmony_ci #version 300 es 3793e5c31af7Sopenharmony_ci precision mediump float; 3794e5c31af7Sopenharmony_ci 3795e5c31af7Sopenharmony_ci ${DECLARATIONS} 3796e5c31af7Sopenharmony_ci 3797e5c31af7Sopenharmony_ci void main() 3798e5c31af7Sopenharmony_ci { 3799e5c31af7Sopenharmony_ci ${SETUP} 3800e5c31af7Sopenharmony_ci out0 = in0.w * in1.w; 3801e5c31af7Sopenharmony_ci ${OUTPUT} 3802e5c31af7Sopenharmony_ci } 3803e5c31af7Sopenharmony_ci "" 3804e5c31af7Sopenharmony_ci end 3805e5c31af7Sopenharmony_ci 3806e5c31af7Sopenharmony_ci case mediump_vec4_wx_xw 3807e5c31af7Sopenharmony_ci version 300 es 3808e5c31af7Sopenharmony_ci values 3809e5c31af7Sopenharmony_ci { 3810e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3811e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3812e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.0825, 0.0825) | vec2(1.75, 1.75) | vec2(-4.5, -4.5) | vec2(-768.0, -768.0) | vec2(-0.1875, -0.1875) ]; 3813e5c31af7Sopenharmony_ci } 3814e5c31af7Sopenharmony_ci 3815e5c31af7Sopenharmony_ci both "" 3816e5c31af7Sopenharmony_ci #version 300 es 3817e5c31af7Sopenharmony_ci precision mediump float; 3818e5c31af7Sopenharmony_ci 3819e5c31af7Sopenharmony_ci ${DECLARATIONS} 3820e5c31af7Sopenharmony_ci 3821e5c31af7Sopenharmony_ci void main() 3822e5c31af7Sopenharmony_ci { 3823e5c31af7Sopenharmony_ci ${SETUP} 3824e5c31af7Sopenharmony_ci out0 = in0.wx * in1.xw; 3825e5c31af7Sopenharmony_ci ${OUTPUT} 3826e5c31af7Sopenharmony_ci } 3827e5c31af7Sopenharmony_ci "" 3828e5c31af7Sopenharmony_ci end 3829e5c31af7Sopenharmony_ci 3830e5c31af7Sopenharmony_ci case mediump_vec4_wz_zw 3831e5c31af7Sopenharmony_ci version 300 es 3832e5c31af7Sopenharmony_ci values 3833e5c31af7Sopenharmony_ci { 3834e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3835e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3836e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.61875, 0.61875) | vec2(1.96875, 1.96875) | vec2(-43.875, -43.875) | vec2(-1224.0, -1224.0) | vec2(0.0131578947368, 0.0131578947368) ]; 3837e5c31af7Sopenharmony_ci } 3838e5c31af7Sopenharmony_ci 3839e5c31af7Sopenharmony_ci both "" 3840e5c31af7Sopenharmony_ci #version 300 es 3841e5c31af7Sopenharmony_ci precision mediump float; 3842e5c31af7Sopenharmony_ci 3843e5c31af7Sopenharmony_ci ${DECLARATIONS} 3844e5c31af7Sopenharmony_ci 3845e5c31af7Sopenharmony_ci void main() 3846e5c31af7Sopenharmony_ci { 3847e5c31af7Sopenharmony_ci ${SETUP} 3848e5c31af7Sopenharmony_ci out0 = in0.wz * in1.zw; 3849e5c31af7Sopenharmony_ci ${OUTPUT} 3850e5c31af7Sopenharmony_ci } 3851e5c31af7Sopenharmony_ci "" 3852e5c31af7Sopenharmony_ci end 3853e5c31af7Sopenharmony_ci 3854e5c31af7Sopenharmony_ci case mediump_vec4_www_www 3855e5c31af7Sopenharmony_ci version 300 es 3856e5c31af7Sopenharmony_ci values 3857e5c31af7Sopenharmony_ci { 3858e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3859e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3860e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.680625, 0.680625, 0.680625) | vec3(3.0625, 3.0625, 3.0625) | vec3(81.0, 81.0, 81.0) | vec3(576.0, 576.0, 576.0) | vec3(0.0625, 0.0625, 0.0625) ]; 3861e5c31af7Sopenharmony_ci } 3862e5c31af7Sopenharmony_ci 3863e5c31af7Sopenharmony_ci both "" 3864e5c31af7Sopenharmony_ci #version 300 es 3865e5c31af7Sopenharmony_ci precision mediump float; 3866e5c31af7Sopenharmony_ci 3867e5c31af7Sopenharmony_ci ${DECLARATIONS} 3868e5c31af7Sopenharmony_ci 3869e5c31af7Sopenharmony_ci void main() 3870e5c31af7Sopenharmony_ci { 3871e5c31af7Sopenharmony_ci ${SETUP} 3872e5c31af7Sopenharmony_ci out0 = in0.www * in1.www; 3873e5c31af7Sopenharmony_ci ${OUTPUT} 3874e5c31af7Sopenharmony_ci } 3875e5c31af7Sopenharmony_ci "" 3876e5c31af7Sopenharmony_ci end 3877e5c31af7Sopenharmony_ci 3878e5c31af7Sopenharmony_ci case mediump_vec4_yyw_ywy 3879e5c31af7Sopenharmony_ci version 300 es 3880e5c31af7Sopenharmony_ci values 3881e5c31af7Sopenharmony_ci { 3882e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3883e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3884e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.25, 0.4125, 0.4125) | vec3(1.5625, 2.1875, 2.1875) | vec3(5.0625, -20.25, -20.25) | vec3(4096.0, 1536.0, 1536.0) | vec3(0.00104058272633, -0.00806451612903, -0.00806451612903) ]; 3885e5c31af7Sopenharmony_ci } 3886e5c31af7Sopenharmony_ci 3887e5c31af7Sopenharmony_ci both "" 3888e5c31af7Sopenharmony_ci #version 300 es 3889e5c31af7Sopenharmony_ci precision mediump float; 3890e5c31af7Sopenharmony_ci 3891e5c31af7Sopenharmony_ci ${DECLARATIONS} 3892e5c31af7Sopenharmony_ci 3893e5c31af7Sopenharmony_ci void main() 3894e5c31af7Sopenharmony_ci { 3895e5c31af7Sopenharmony_ci ${SETUP} 3896e5c31af7Sopenharmony_ci out0 = in0.yyw * in1.ywy; 3897e5c31af7Sopenharmony_ci ${OUTPUT} 3898e5c31af7Sopenharmony_ci } 3899e5c31af7Sopenharmony_ci "" 3900e5c31af7Sopenharmony_ci end 3901e5c31af7Sopenharmony_ci 3902e5c31af7Sopenharmony_ci case mediump_vec4_wzy_zyw 3903e5c31af7Sopenharmony_ci version 300 es 3904e5c31af7Sopenharmony_ci values 3905e5c31af7Sopenharmony_ci { 3906e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3907e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3908e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.61875, 0.375, 0.4125) | vec3(1.96875, 1.40625, 2.1875) | vec3(-43.875, 10.96875, -20.25) | vec3(-1224.0, -3264.0, 1536.0) | vec3(0.0131578947368, -0.00169779286927, -0.00806451612903) ]; 3909e5c31af7Sopenharmony_ci } 3910e5c31af7Sopenharmony_ci 3911e5c31af7Sopenharmony_ci both "" 3912e5c31af7Sopenharmony_ci #version 300 es 3913e5c31af7Sopenharmony_ci precision mediump float; 3914e5c31af7Sopenharmony_ci 3915e5c31af7Sopenharmony_ci ${DECLARATIONS} 3916e5c31af7Sopenharmony_ci 3917e5c31af7Sopenharmony_ci void main() 3918e5c31af7Sopenharmony_ci { 3919e5c31af7Sopenharmony_ci ${SETUP} 3920e5c31af7Sopenharmony_ci out0 = in0.wzy * in1.zyw; 3921e5c31af7Sopenharmony_ci ${OUTPUT} 3922e5c31af7Sopenharmony_ci } 3923e5c31af7Sopenharmony_ci "" 3924e5c31af7Sopenharmony_ci end 3925e5c31af7Sopenharmony_ci 3926e5c31af7Sopenharmony_ci case mediump_vec4_xyzw_yzwx 3927e5c31af7Sopenharmony_ci version 300 es 3928e5c31af7Sopenharmony_ci values 3929e5c31af7Sopenharmony_ci { 3930e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3931e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3932e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.05, 0.375, 0.61875, 0.0825) | vec4(1.25, 1.40625, 1.96875, 1.75) | vec4(1.125, 10.96875, -43.875, -4.5) | vec4(-2048.0, -3264.0, -1224.0, -768.0) | vec4(0.0241935483871, -0.00169779286927, 0.0131578947368, -0.1875) ]; 3933e5c31af7Sopenharmony_ci } 3934e5c31af7Sopenharmony_ci 3935e5c31af7Sopenharmony_ci both "" 3936e5c31af7Sopenharmony_ci #version 300 es 3937e5c31af7Sopenharmony_ci precision mediump float; 3938e5c31af7Sopenharmony_ci 3939e5c31af7Sopenharmony_ci ${DECLARATIONS} 3940e5c31af7Sopenharmony_ci 3941e5c31af7Sopenharmony_ci void main() 3942e5c31af7Sopenharmony_ci { 3943e5c31af7Sopenharmony_ci ${SETUP} 3944e5c31af7Sopenharmony_ci out0 = in0.xyzw * in1.yzwx; 3945e5c31af7Sopenharmony_ci ${OUTPUT} 3946e5c31af7Sopenharmony_ci } 3947e5c31af7Sopenharmony_ci "" 3948e5c31af7Sopenharmony_ci end 3949e5c31af7Sopenharmony_ci 3950e5c31af7Sopenharmony_ci case mediump_vec4_wzyx_zyxw 3951e5c31af7Sopenharmony_ci version 300 es 3952e5c31af7Sopenharmony_ci values 3953e5c31af7Sopenharmony_ci { 3954e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3955e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3956e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.61875, 0.375, 0.05, 0.0825) | vec4(1.96875, 1.40625, 1.25, 1.75) | vec4(-43.875, 10.96875, 1.125, -4.5) | vec4(-1224.0, -3264.0, -2048.0, -768.0) | vec4(0.0131578947368, -0.00169779286927, 0.0241935483871, -0.1875) ]; 3957e5c31af7Sopenharmony_ci } 3958e5c31af7Sopenharmony_ci 3959e5c31af7Sopenharmony_ci both "" 3960e5c31af7Sopenharmony_ci #version 300 es 3961e5c31af7Sopenharmony_ci precision mediump float; 3962e5c31af7Sopenharmony_ci 3963e5c31af7Sopenharmony_ci ${DECLARATIONS} 3964e5c31af7Sopenharmony_ci 3965e5c31af7Sopenharmony_ci void main() 3966e5c31af7Sopenharmony_ci { 3967e5c31af7Sopenharmony_ci ${SETUP} 3968e5c31af7Sopenharmony_ci out0 = in0.wzyx * in1.zyxw; 3969e5c31af7Sopenharmony_ci ${OUTPUT} 3970e5c31af7Sopenharmony_ci } 3971e5c31af7Sopenharmony_ci "" 3972e5c31af7Sopenharmony_ci end 3973e5c31af7Sopenharmony_ci 3974e5c31af7Sopenharmony_ci case mediump_vec4_xyxy_yxyx 3975e5c31af7Sopenharmony_ci version 300 es 3976e5c31af7Sopenharmony_ci values 3977e5c31af7Sopenharmony_ci { 3978e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3979e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 3980e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.05, 0.05, 0.05, 0.05) | vec4(1.25, 1.25, 1.25, 1.25) | vec4(1.125, 1.125, 1.125, 1.125) | vec4(-2048.0, -2048.0, -2048.0, -2048.0) | vec4(0.0241935483871, 0.0241935483871, 0.0241935483871, 0.0241935483871) ]; 3981e5c31af7Sopenharmony_ci } 3982e5c31af7Sopenharmony_ci 3983e5c31af7Sopenharmony_ci both "" 3984e5c31af7Sopenharmony_ci #version 300 es 3985e5c31af7Sopenharmony_ci precision mediump float; 3986e5c31af7Sopenharmony_ci 3987e5c31af7Sopenharmony_ci ${DECLARATIONS} 3988e5c31af7Sopenharmony_ci 3989e5c31af7Sopenharmony_ci void main() 3990e5c31af7Sopenharmony_ci { 3991e5c31af7Sopenharmony_ci ${SETUP} 3992e5c31af7Sopenharmony_ci out0 = in0.xyxy * in1.yxyx; 3993e5c31af7Sopenharmony_ci ${OUTPUT} 3994e5c31af7Sopenharmony_ci } 3995e5c31af7Sopenharmony_ci "" 3996e5c31af7Sopenharmony_ci end 3997e5c31af7Sopenharmony_ci 3998e5c31af7Sopenharmony_ci case mediump_vec4_yzzy_zzyy 3999e5c31af7Sopenharmony_ci version 300 es 4000e5c31af7Sopenharmony_ci values 4001e5c31af7Sopenharmony_ci { 4002e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4003e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4004e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.375, 0.5625, 0.375, 0.25) | vec4(1.40625, 1.265625, 1.40625, 1.5625) | vec4(10.96875, 23.765625, 10.96875, 5.0625) | vec4(-3264.0, 2601.0, -3264.0, 4096.0) | vec4(-0.00169779286927, 0.00277008310249, -0.00169779286927, 0.00104058272633) ]; 4005e5c31af7Sopenharmony_ci } 4006e5c31af7Sopenharmony_ci 4007e5c31af7Sopenharmony_ci both "" 4008e5c31af7Sopenharmony_ci #version 300 es 4009e5c31af7Sopenharmony_ci precision mediump float; 4010e5c31af7Sopenharmony_ci 4011e5c31af7Sopenharmony_ci ${DECLARATIONS} 4012e5c31af7Sopenharmony_ci 4013e5c31af7Sopenharmony_ci void main() 4014e5c31af7Sopenharmony_ci { 4015e5c31af7Sopenharmony_ci ${SETUP} 4016e5c31af7Sopenharmony_ci out0 = in0.yzzy * in1.zzyy; 4017e5c31af7Sopenharmony_ci ${OUTPUT} 4018e5c31af7Sopenharmony_ci } 4019e5c31af7Sopenharmony_ci "" 4020e5c31af7Sopenharmony_ci end 4021e5c31af7Sopenharmony_ci 4022e5c31af7Sopenharmony_ci case mediump_vec4_wxww_xwww 4023e5c31af7Sopenharmony_ci version 300 es 4024e5c31af7Sopenharmony_ci values 4025e5c31af7Sopenharmony_ci { 4026e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4027e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4028e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.0825, 0.0825, 0.680625, 0.680625) | vec4(1.75, 1.75, 3.0625, 3.0625) | vec4(-4.5, -4.5, 81.0, 81.0) | vec4(-768.0, -768.0, 576.0, 576.0) | vec4(-0.1875, -0.1875, 0.0625, 0.0625) ]; 4029e5c31af7Sopenharmony_ci } 4030e5c31af7Sopenharmony_ci 4031e5c31af7Sopenharmony_ci both "" 4032e5c31af7Sopenharmony_ci #version 300 es 4033e5c31af7Sopenharmony_ci precision mediump float; 4034e5c31af7Sopenharmony_ci 4035e5c31af7Sopenharmony_ci ${DECLARATIONS} 4036e5c31af7Sopenharmony_ci 4037e5c31af7Sopenharmony_ci void main() 4038e5c31af7Sopenharmony_ci { 4039e5c31af7Sopenharmony_ci ${SETUP} 4040e5c31af7Sopenharmony_ci out0 = in0.wxww * in1.xwww; 4041e5c31af7Sopenharmony_ci ${OUTPUT} 4042e5c31af7Sopenharmony_ci } 4043e5c31af7Sopenharmony_ci "" 4044e5c31af7Sopenharmony_ci end 4045e5c31af7Sopenharmony_ci 4046e5c31af7Sopenharmony_ci case mediump_vec4_xyxx_yxxx 4047e5c31af7Sopenharmony_ci version 300 es 4048e5c31af7Sopenharmony_ci values 4049e5c31af7Sopenharmony_ci { 4050e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4051e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4052e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.05, 0.05, 0.01, 0.01) | vec4(1.25, 1.25, 1.0, 1.0) | vec4(1.125, 1.125, 0.25, 0.25) | vec4(-2048.0, -2048.0, 1024.0, 1024.0) | vec4(0.0241935483871, 0.0241935483871, 0.5625, 0.5625) ]; 4053e5c31af7Sopenharmony_ci } 4054e5c31af7Sopenharmony_ci 4055e5c31af7Sopenharmony_ci both "" 4056e5c31af7Sopenharmony_ci #version 300 es 4057e5c31af7Sopenharmony_ci precision mediump float; 4058e5c31af7Sopenharmony_ci 4059e5c31af7Sopenharmony_ci ${DECLARATIONS} 4060e5c31af7Sopenharmony_ci 4061e5c31af7Sopenharmony_ci void main() 4062e5c31af7Sopenharmony_ci { 4063e5c31af7Sopenharmony_ci ${SETUP} 4064e5c31af7Sopenharmony_ci out0 = in0.xyxx * in1.yxxx; 4065e5c31af7Sopenharmony_ci ${OUTPUT} 4066e5c31af7Sopenharmony_ci } 4067e5c31af7Sopenharmony_ci "" 4068e5c31af7Sopenharmony_ci end 4069e5c31af7Sopenharmony_ci 4070e5c31af7Sopenharmony_ci case mediump_vec4_zzzz_zzzz 4071e5c31af7Sopenharmony_ci version 300 es 4072e5c31af7Sopenharmony_ci values 4073e5c31af7Sopenharmony_ci { 4074e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4075e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 4076e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.5625, 0.5625, 0.5625, 0.5625) | vec4(1.265625, 1.265625, 1.265625, 1.265625) | vec4(23.765625, 23.765625, 23.765625, 23.765625) | vec4(2601.0, 2601.0, 2601.0, 2601.0) | vec4(0.00277008310249, 0.00277008310249, 0.00277008310249, 0.00277008310249) ]; 4077e5c31af7Sopenharmony_ci } 4078e5c31af7Sopenharmony_ci 4079e5c31af7Sopenharmony_ci both "" 4080e5c31af7Sopenharmony_ci #version 300 es 4081e5c31af7Sopenharmony_ci precision mediump float; 4082e5c31af7Sopenharmony_ci 4083e5c31af7Sopenharmony_ci ${DECLARATIONS} 4084e5c31af7Sopenharmony_ci 4085e5c31af7Sopenharmony_ci void main() 4086e5c31af7Sopenharmony_ci { 4087e5c31af7Sopenharmony_ci ${SETUP} 4088e5c31af7Sopenharmony_ci out0 = in0.zzzz * in1.zzzz; 4089e5c31af7Sopenharmony_ci ${OUTPUT} 4090e5c31af7Sopenharmony_ci } 4091e5c31af7Sopenharmony_ci "" 4092e5c31af7Sopenharmony_ci end 4093e5c31af7Sopenharmony_ci 4094e5c31af7Sopenharmony_ci case mediump_ivec2_x_x 4095e5c31af7Sopenharmony_ci version 300 es 4096e5c31af7Sopenharmony_ci values 4097e5c31af7Sopenharmony_ci { 4098e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4099e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4100e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 4101e5c31af7Sopenharmony_ci } 4102e5c31af7Sopenharmony_ci 4103e5c31af7Sopenharmony_ci both "" 4104e5c31af7Sopenharmony_ci #version 300 es 4105e5c31af7Sopenharmony_ci precision mediump float; 4106e5c31af7Sopenharmony_ci 4107e5c31af7Sopenharmony_ci ${DECLARATIONS} 4108e5c31af7Sopenharmony_ci 4109e5c31af7Sopenharmony_ci void main() 4110e5c31af7Sopenharmony_ci { 4111e5c31af7Sopenharmony_ci ${SETUP} 4112e5c31af7Sopenharmony_ci out0 = in0.x * in1.x; 4113e5c31af7Sopenharmony_ci ${OUTPUT} 4114e5c31af7Sopenharmony_ci } 4115e5c31af7Sopenharmony_ci "" 4116e5c31af7Sopenharmony_ci end 4117e5c31af7Sopenharmony_ci 4118e5c31af7Sopenharmony_ci case mediump_ivec2_xx_xx 4119e5c31af7Sopenharmony_ci version 300 es 4120e5c31af7Sopenharmony_ci values 4121e5c31af7Sopenharmony_ci { 4122e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4123e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4124e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(1, 1) ]; 4125e5c31af7Sopenharmony_ci } 4126e5c31af7Sopenharmony_ci 4127e5c31af7Sopenharmony_ci both "" 4128e5c31af7Sopenharmony_ci #version 300 es 4129e5c31af7Sopenharmony_ci precision mediump float; 4130e5c31af7Sopenharmony_ci 4131e5c31af7Sopenharmony_ci ${DECLARATIONS} 4132e5c31af7Sopenharmony_ci 4133e5c31af7Sopenharmony_ci void main() 4134e5c31af7Sopenharmony_ci { 4135e5c31af7Sopenharmony_ci ${SETUP} 4136e5c31af7Sopenharmony_ci out0 = in0.xx * in1.xx; 4137e5c31af7Sopenharmony_ci ${OUTPUT} 4138e5c31af7Sopenharmony_ci } 4139e5c31af7Sopenharmony_ci "" 4140e5c31af7Sopenharmony_ci end 4141e5c31af7Sopenharmony_ci 4142e5c31af7Sopenharmony_ci case mediump_ivec2_xy_yx 4143e5c31af7Sopenharmony_ci version 300 es 4144e5c31af7Sopenharmony_ci values 4145e5c31af7Sopenharmony_ci { 4146e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4147e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4148e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(2, 2) | ivec2(2, 2) ]; 4149e5c31af7Sopenharmony_ci } 4150e5c31af7Sopenharmony_ci 4151e5c31af7Sopenharmony_ci both "" 4152e5c31af7Sopenharmony_ci #version 300 es 4153e5c31af7Sopenharmony_ci precision mediump float; 4154e5c31af7Sopenharmony_ci 4155e5c31af7Sopenharmony_ci ${DECLARATIONS} 4156e5c31af7Sopenharmony_ci 4157e5c31af7Sopenharmony_ci void main() 4158e5c31af7Sopenharmony_ci { 4159e5c31af7Sopenharmony_ci ${SETUP} 4160e5c31af7Sopenharmony_ci out0 = in0.xy * in1.yx; 4161e5c31af7Sopenharmony_ci ${OUTPUT} 4162e5c31af7Sopenharmony_ci } 4163e5c31af7Sopenharmony_ci "" 4164e5c31af7Sopenharmony_ci end 4165e5c31af7Sopenharmony_ci 4166e5c31af7Sopenharmony_ci case mediump_ivec2_yx_xy 4167e5c31af7Sopenharmony_ci version 300 es 4168e5c31af7Sopenharmony_ci values 4169e5c31af7Sopenharmony_ci { 4170e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4171e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4172e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(2, 2) | ivec2(2, 2) ]; 4173e5c31af7Sopenharmony_ci } 4174e5c31af7Sopenharmony_ci 4175e5c31af7Sopenharmony_ci both "" 4176e5c31af7Sopenharmony_ci #version 300 es 4177e5c31af7Sopenharmony_ci precision mediump float; 4178e5c31af7Sopenharmony_ci 4179e5c31af7Sopenharmony_ci ${DECLARATIONS} 4180e5c31af7Sopenharmony_ci 4181e5c31af7Sopenharmony_ci void main() 4182e5c31af7Sopenharmony_ci { 4183e5c31af7Sopenharmony_ci ${SETUP} 4184e5c31af7Sopenharmony_ci out0 = in0.yx * in1.xy; 4185e5c31af7Sopenharmony_ci ${OUTPUT} 4186e5c31af7Sopenharmony_ci } 4187e5c31af7Sopenharmony_ci "" 4188e5c31af7Sopenharmony_ci end 4189e5c31af7Sopenharmony_ci 4190e5c31af7Sopenharmony_ci case mediump_ivec2_yxy_xyy 4191e5c31af7Sopenharmony_ci version 300 es 4192e5c31af7Sopenharmony_ci values 4193e5c31af7Sopenharmony_ci { 4194e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4195e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4196e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(2, 2, 4) | ivec3(2, 2, 4) ]; 4197e5c31af7Sopenharmony_ci } 4198e5c31af7Sopenharmony_ci 4199e5c31af7Sopenharmony_ci both "" 4200e5c31af7Sopenharmony_ci #version 300 es 4201e5c31af7Sopenharmony_ci precision mediump float; 4202e5c31af7Sopenharmony_ci 4203e5c31af7Sopenharmony_ci ${DECLARATIONS} 4204e5c31af7Sopenharmony_ci 4205e5c31af7Sopenharmony_ci void main() 4206e5c31af7Sopenharmony_ci { 4207e5c31af7Sopenharmony_ci ${SETUP} 4208e5c31af7Sopenharmony_ci out0 = in0.yxy * in1.xyy; 4209e5c31af7Sopenharmony_ci ${OUTPUT} 4210e5c31af7Sopenharmony_ci } 4211e5c31af7Sopenharmony_ci "" 4212e5c31af7Sopenharmony_ci end 4213e5c31af7Sopenharmony_ci 4214e5c31af7Sopenharmony_ci case mediump_ivec2_xyxx_yxxx 4215e5c31af7Sopenharmony_ci version 300 es 4216e5c31af7Sopenharmony_ci values 4217e5c31af7Sopenharmony_ci { 4218e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4219e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4220e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, 1, 1) | ivec4(2, 2, 1, 1) | ivec4(2, 2, 1, 1) ]; 4221e5c31af7Sopenharmony_ci } 4222e5c31af7Sopenharmony_ci 4223e5c31af7Sopenharmony_ci both "" 4224e5c31af7Sopenharmony_ci #version 300 es 4225e5c31af7Sopenharmony_ci precision mediump float; 4226e5c31af7Sopenharmony_ci 4227e5c31af7Sopenharmony_ci ${DECLARATIONS} 4228e5c31af7Sopenharmony_ci 4229e5c31af7Sopenharmony_ci void main() 4230e5c31af7Sopenharmony_ci { 4231e5c31af7Sopenharmony_ci ${SETUP} 4232e5c31af7Sopenharmony_ci out0 = in0.xyxx * in1.yxxx; 4233e5c31af7Sopenharmony_ci ${OUTPUT} 4234e5c31af7Sopenharmony_ci } 4235e5c31af7Sopenharmony_ci "" 4236e5c31af7Sopenharmony_ci end 4237e5c31af7Sopenharmony_ci 4238e5c31af7Sopenharmony_ci case mediump_ivec2_yxyx_xyxy 4239e5c31af7Sopenharmony_ci version 300 es 4240e5c31af7Sopenharmony_ci values 4241e5c31af7Sopenharmony_ci { 4242e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4243e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 4244e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(2, 2, 2, 2) | ivec4(2, 2, 2, 2) ]; 4245e5c31af7Sopenharmony_ci } 4246e5c31af7Sopenharmony_ci 4247e5c31af7Sopenharmony_ci both "" 4248e5c31af7Sopenharmony_ci #version 300 es 4249e5c31af7Sopenharmony_ci precision mediump float; 4250e5c31af7Sopenharmony_ci 4251e5c31af7Sopenharmony_ci ${DECLARATIONS} 4252e5c31af7Sopenharmony_ci 4253e5c31af7Sopenharmony_ci void main() 4254e5c31af7Sopenharmony_ci { 4255e5c31af7Sopenharmony_ci ${SETUP} 4256e5c31af7Sopenharmony_ci out0 = in0.yxyx * in1.xyxy; 4257e5c31af7Sopenharmony_ci ${OUTPUT} 4258e5c31af7Sopenharmony_ci } 4259e5c31af7Sopenharmony_ci "" 4260e5c31af7Sopenharmony_ci end 4261e5c31af7Sopenharmony_ci 4262e5c31af7Sopenharmony_ci case mediump_ivec3_x_x 4263e5c31af7Sopenharmony_ci version 300 es 4264e5c31af7Sopenharmony_ci values 4265e5c31af7Sopenharmony_ci { 4266e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4267e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4268e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 4269e5c31af7Sopenharmony_ci } 4270e5c31af7Sopenharmony_ci 4271e5c31af7Sopenharmony_ci both "" 4272e5c31af7Sopenharmony_ci #version 300 es 4273e5c31af7Sopenharmony_ci precision mediump float; 4274e5c31af7Sopenharmony_ci 4275e5c31af7Sopenharmony_ci ${DECLARATIONS} 4276e5c31af7Sopenharmony_ci 4277e5c31af7Sopenharmony_ci void main() 4278e5c31af7Sopenharmony_ci { 4279e5c31af7Sopenharmony_ci ${SETUP} 4280e5c31af7Sopenharmony_ci out0 = in0.x * in1.x; 4281e5c31af7Sopenharmony_ci ${OUTPUT} 4282e5c31af7Sopenharmony_ci } 4283e5c31af7Sopenharmony_ci "" 4284e5c31af7Sopenharmony_ci end 4285e5c31af7Sopenharmony_ci 4286e5c31af7Sopenharmony_ci case mediump_ivec3_z_z 4287e5c31af7Sopenharmony_ci version 300 es 4288e5c31af7Sopenharmony_ci values 4289e5c31af7Sopenharmony_ci { 4290e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4291e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4292e5c31af7Sopenharmony_ci output int out0 = [ 1 | 9 | 16 ]; 4293e5c31af7Sopenharmony_ci } 4294e5c31af7Sopenharmony_ci 4295e5c31af7Sopenharmony_ci both "" 4296e5c31af7Sopenharmony_ci #version 300 es 4297e5c31af7Sopenharmony_ci precision mediump float; 4298e5c31af7Sopenharmony_ci 4299e5c31af7Sopenharmony_ci ${DECLARATIONS} 4300e5c31af7Sopenharmony_ci 4301e5c31af7Sopenharmony_ci void main() 4302e5c31af7Sopenharmony_ci { 4303e5c31af7Sopenharmony_ci ${SETUP} 4304e5c31af7Sopenharmony_ci out0 = in0.z * in1.z; 4305e5c31af7Sopenharmony_ci ${OUTPUT} 4306e5c31af7Sopenharmony_ci } 4307e5c31af7Sopenharmony_ci "" 4308e5c31af7Sopenharmony_ci end 4309e5c31af7Sopenharmony_ci 4310e5c31af7Sopenharmony_ci case mediump_ivec3_xz_zx 4311e5c31af7Sopenharmony_ci version 300 es 4312e5c31af7Sopenharmony_ci values 4313e5c31af7Sopenharmony_ci { 4314e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4315e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4316e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(3, 3) | ivec2(4, 4) ]; 4317e5c31af7Sopenharmony_ci } 4318e5c31af7Sopenharmony_ci 4319e5c31af7Sopenharmony_ci both "" 4320e5c31af7Sopenharmony_ci #version 300 es 4321e5c31af7Sopenharmony_ci precision mediump float; 4322e5c31af7Sopenharmony_ci 4323e5c31af7Sopenharmony_ci ${DECLARATIONS} 4324e5c31af7Sopenharmony_ci 4325e5c31af7Sopenharmony_ci void main() 4326e5c31af7Sopenharmony_ci { 4327e5c31af7Sopenharmony_ci ${SETUP} 4328e5c31af7Sopenharmony_ci out0 = in0.xz * in1.zx; 4329e5c31af7Sopenharmony_ci ${OUTPUT} 4330e5c31af7Sopenharmony_ci } 4331e5c31af7Sopenharmony_ci "" 4332e5c31af7Sopenharmony_ci end 4333e5c31af7Sopenharmony_ci 4334e5c31af7Sopenharmony_ci case mediump_ivec3_zz_zz 4335e5c31af7Sopenharmony_ci version 300 es 4336e5c31af7Sopenharmony_ci values 4337e5c31af7Sopenharmony_ci { 4338e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4339e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4340e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(9, 9) | ivec2(16, 16) ]; 4341e5c31af7Sopenharmony_ci } 4342e5c31af7Sopenharmony_ci 4343e5c31af7Sopenharmony_ci both "" 4344e5c31af7Sopenharmony_ci #version 300 es 4345e5c31af7Sopenharmony_ci precision mediump float; 4346e5c31af7Sopenharmony_ci 4347e5c31af7Sopenharmony_ci ${DECLARATIONS} 4348e5c31af7Sopenharmony_ci 4349e5c31af7Sopenharmony_ci void main() 4350e5c31af7Sopenharmony_ci { 4351e5c31af7Sopenharmony_ci ${SETUP} 4352e5c31af7Sopenharmony_ci out0 = in0.zz * in1.zz; 4353e5c31af7Sopenharmony_ci ${OUTPUT} 4354e5c31af7Sopenharmony_ci } 4355e5c31af7Sopenharmony_ci "" 4356e5c31af7Sopenharmony_ci end 4357e5c31af7Sopenharmony_ci 4358e5c31af7Sopenharmony_ci case mediump_ivec3_xyz_yzx 4359e5c31af7Sopenharmony_ci version 300 es 4360e5c31af7Sopenharmony_ci values 4361e5c31af7Sopenharmony_ci { 4362e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4363e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4364e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(2, 6, 3) | ivec3(2, 8, 4) ]; 4365e5c31af7Sopenharmony_ci } 4366e5c31af7Sopenharmony_ci 4367e5c31af7Sopenharmony_ci both "" 4368e5c31af7Sopenharmony_ci #version 300 es 4369e5c31af7Sopenharmony_ci precision mediump float; 4370e5c31af7Sopenharmony_ci 4371e5c31af7Sopenharmony_ci ${DECLARATIONS} 4372e5c31af7Sopenharmony_ci 4373e5c31af7Sopenharmony_ci void main() 4374e5c31af7Sopenharmony_ci { 4375e5c31af7Sopenharmony_ci ${SETUP} 4376e5c31af7Sopenharmony_ci out0 = in0.xyz * in1.yzx; 4377e5c31af7Sopenharmony_ci ${OUTPUT} 4378e5c31af7Sopenharmony_ci } 4379e5c31af7Sopenharmony_ci "" 4380e5c31af7Sopenharmony_ci end 4381e5c31af7Sopenharmony_ci 4382e5c31af7Sopenharmony_ci case mediump_ivec3_zyx_yxz 4383e5c31af7Sopenharmony_ci version 300 es 4384e5c31af7Sopenharmony_ci values 4385e5c31af7Sopenharmony_ci { 4386e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4387e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4388e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(6, 2, 3) | ivec3(8, 2, 4) ]; 4389e5c31af7Sopenharmony_ci } 4390e5c31af7Sopenharmony_ci 4391e5c31af7Sopenharmony_ci both "" 4392e5c31af7Sopenharmony_ci #version 300 es 4393e5c31af7Sopenharmony_ci precision mediump float; 4394e5c31af7Sopenharmony_ci 4395e5c31af7Sopenharmony_ci ${DECLARATIONS} 4396e5c31af7Sopenharmony_ci 4397e5c31af7Sopenharmony_ci void main() 4398e5c31af7Sopenharmony_ci { 4399e5c31af7Sopenharmony_ci ${SETUP} 4400e5c31af7Sopenharmony_ci out0 = in0.zyx * in1.yxz; 4401e5c31af7Sopenharmony_ci ${OUTPUT} 4402e5c31af7Sopenharmony_ci } 4403e5c31af7Sopenharmony_ci "" 4404e5c31af7Sopenharmony_ci end 4405e5c31af7Sopenharmony_ci 4406e5c31af7Sopenharmony_ci case mediump_ivec3_xxx_xxx 4407e5c31af7Sopenharmony_ci version 300 es 4408e5c31af7Sopenharmony_ci values 4409e5c31af7Sopenharmony_ci { 4410e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4411e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4412e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(1, 1, 1) ]; 4413e5c31af7Sopenharmony_ci } 4414e5c31af7Sopenharmony_ci 4415e5c31af7Sopenharmony_ci both "" 4416e5c31af7Sopenharmony_ci #version 300 es 4417e5c31af7Sopenharmony_ci precision mediump float; 4418e5c31af7Sopenharmony_ci 4419e5c31af7Sopenharmony_ci ${DECLARATIONS} 4420e5c31af7Sopenharmony_ci 4421e5c31af7Sopenharmony_ci void main() 4422e5c31af7Sopenharmony_ci { 4423e5c31af7Sopenharmony_ci ${SETUP} 4424e5c31af7Sopenharmony_ci out0 = in0.xxx * in1.xxx; 4425e5c31af7Sopenharmony_ci ${OUTPUT} 4426e5c31af7Sopenharmony_ci } 4427e5c31af7Sopenharmony_ci "" 4428e5c31af7Sopenharmony_ci end 4429e5c31af7Sopenharmony_ci 4430e5c31af7Sopenharmony_ci case mediump_ivec3_zzz_zzz 4431e5c31af7Sopenharmony_ci version 300 es 4432e5c31af7Sopenharmony_ci values 4433e5c31af7Sopenharmony_ci { 4434e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4435e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4436e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(9, 9, 9) | ivec3(16, 16, 16) ]; 4437e5c31af7Sopenharmony_ci } 4438e5c31af7Sopenharmony_ci 4439e5c31af7Sopenharmony_ci both "" 4440e5c31af7Sopenharmony_ci #version 300 es 4441e5c31af7Sopenharmony_ci precision mediump float; 4442e5c31af7Sopenharmony_ci 4443e5c31af7Sopenharmony_ci ${DECLARATIONS} 4444e5c31af7Sopenharmony_ci 4445e5c31af7Sopenharmony_ci void main() 4446e5c31af7Sopenharmony_ci { 4447e5c31af7Sopenharmony_ci ${SETUP} 4448e5c31af7Sopenharmony_ci out0 = in0.zzz * in1.zzz; 4449e5c31af7Sopenharmony_ci ${OUTPUT} 4450e5c31af7Sopenharmony_ci } 4451e5c31af7Sopenharmony_ci "" 4452e5c31af7Sopenharmony_ci end 4453e5c31af7Sopenharmony_ci 4454e5c31af7Sopenharmony_ci case mediump_ivec3_zzy_zyz 4455e5c31af7Sopenharmony_ci version 300 es 4456e5c31af7Sopenharmony_ci values 4457e5c31af7Sopenharmony_ci { 4458e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4459e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4460e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, -1, -1) | ivec3(9, 6, 6) | ivec3(16, 8, 8) ]; 4461e5c31af7Sopenharmony_ci } 4462e5c31af7Sopenharmony_ci 4463e5c31af7Sopenharmony_ci both "" 4464e5c31af7Sopenharmony_ci #version 300 es 4465e5c31af7Sopenharmony_ci precision mediump float; 4466e5c31af7Sopenharmony_ci 4467e5c31af7Sopenharmony_ci ${DECLARATIONS} 4468e5c31af7Sopenharmony_ci 4469e5c31af7Sopenharmony_ci void main() 4470e5c31af7Sopenharmony_ci { 4471e5c31af7Sopenharmony_ci ${SETUP} 4472e5c31af7Sopenharmony_ci out0 = in0.zzy * in1.zyz; 4473e5c31af7Sopenharmony_ci ${OUTPUT} 4474e5c31af7Sopenharmony_ci } 4475e5c31af7Sopenharmony_ci "" 4476e5c31af7Sopenharmony_ci end 4477e5c31af7Sopenharmony_ci 4478e5c31af7Sopenharmony_ci case mediump_ivec3_yxy_xyy 4479e5c31af7Sopenharmony_ci version 300 es 4480e5c31af7Sopenharmony_ci values 4481e5c31af7Sopenharmony_ci { 4482e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4483e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4484e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(2, 2, 4) | ivec3(2, 2, 4) ]; 4485e5c31af7Sopenharmony_ci } 4486e5c31af7Sopenharmony_ci 4487e5c31af7Sopenharmony_ci both "" 4488e5c31af7Sopenharmony_ci #version 300 es 4489e5c31af7Sopenharmony_ci precision mediump float; 4490e5c31af7Sopenharmony_ci 4491e5c31af7Sopenharmony_ci ${DECLARATIONS} 4492e5c31af7Sopenharmony_ci 4493e5c31af7Sopenharmony_ci void main() 4494e5c31af7Sopenharmony_ci { 4495e5c31af7Sopenharmony_ci ${SETUP} 4496e5c31af7Sopenharmony_ci out0 = in0.yxy * in1.xyy; 4497e5c31af7Sopenharmony_ci ${OUTPUT} 4498e5c31af7Sopenharmony_ci } 4499e5c31af7Sopenharmony_ci "" 4500e5c31af7Sopenharmony_ci end 4501e5c31af7Sopenharmony_ci 4502e5c31af7Sopenharmony_ci case mediump_ivec3_xzx_zxx 4503e5c31af7Sopenharmony_ci version 300 es 4504e5c31af7Sopenharmony_ci values 4505e5c31af7Sopenharmony_ci { 4506e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4507e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4508e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(3, 3, 1) | ivec3(4, 4, 1) ]; 4509e5c31af7Sopenharmony_ci } 4510e5c31af7Sopenharmony_ci 4511e5c31af7Sopenharmony_ci both "" 4512e5c31af7Sopenharmony_ci #version 300 es 4513e5c31af7Sopenharmony_ci precision mediump float; 4514e5c31af7Sopenharmony_ci 4515e5c31af7Sopenharmony_ci ${DECLARATIONS} 4516e5c31af7Sopenharmony_ci 4517e5c31af7Sopenharmony_ci void main() 4518e5c31af7Sopenharmony_ci { 4519e5c31af7Sopenharmony_ci ${SETUP} 4520e5c31af7Sopenharmony_ci out0 = in0.xzx * in1.zxx; 4521e5c31af7Sopenharmony_ci ${OUTPUT} 4522e5c31af7Sopenharmony_ci } 4523e5c31af7Sopenharmony_ci "" 4524e5c31af7Sopenharmony_ci end 4525e5c31af7Sopenharmony_ci 4526e5c31af7Sopenharmony_ci case mediump_ivec3_xyyx_yyxx 4527e5c31af7Sopenharmony_ci version 300 es 4528e5c31af7Sopenharmony_ci values 4529e5c31af7Sopenharmony_ci { 4530e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4531e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4532e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, 1, -1, 1) | ivec4(2, 4, 2, 1) | ivec4(2, 4, 2, 1) ]; 4533e5c31af7Sopenharmony_ci } 4534e5c31af7Sopenharmony_ci 4535e5c31af7Sopenharmony_ci both "" 4536e5c31af7Sopenharmony_ci #version 300 es 4537e5c31af7Sopenharmony_ci precision mediump float; 4538e5c31af7Sopenharmony_ci 4539e5c31af7Sopenharmony_ci ${DECLARATIONS} 4540e5c31af7Sopenharmony_ci 4541e5c31af7Sopenharmony_ci void main() 4542e5c31af7Sopenharmony_ci { 4543e5c31af7Sopenharmony_ci ${SETUP} 4544e5c31af7Sopenharmony_ci out0 = in0.xyyx * in1.yyxx; 4545e5c31af7Sopenharmony_ci ${OUTPUT} 4546e5c31af7Sopenharmony_ci } 4547e5c31af7Sopenharmony_ci "" 4548e5c31af7Sopenharmony_ci end 4549e5c31af7Sopenharmony_ci 4550e5c31af7Sopenharmony_ci case mediump_ivec3_zxyz_xyzz 4551e5c31af7Sopenharmony_ci version 300 es 4552e5c31af7Sopenharmony_ci values 4553e5c31af7Sopenharmony_ci { 4554e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4555e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 4556e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(1, -1, -1, 1) | ivec4(3, 2, 6, 9) | ivec4(4, 2, 8, 16) ]; 4557e5c31af7Sopenharmony_ci } 4558e5c31af7Sopenharmony_ci 4559e5c31af7Sopenharmony_ci both "" 4560e5c31af7Sopenharmony_ci #version 300 es 4561e5c31af7Sopenharmony_ci precision mediump float; 4562e5c31af7Sopenharmony_ci 4563e5c31af7Sopenharmony_ci ${DECLARATIONS} 4564e5c31af7Sopenharmony_ci 4565e5c31af7Sopenharmony_ci void main() 4566e5c31af7Sopenharmony_ci { 4567e5c31af7Sopenharmony_ci ${SETUP} 4568e5c31af7Sopenharmony_ci out0 = in0.zxyz * in1.xyzz; 4569e5c31af7Sopenharmony_ci ${OUTPUT} 4570e5c31af7Sopenharmony_ci } 4571e5c31af7Sopenharmony_ci "" 4572e5c31af7Sopenharmony_ci end 4573e5c31af7Sopenharmony_ci 4574e5c31af7Sopenharmony_ci case mediump_ivec4_x_x 4575e5c31af7Sopenharmony_ci version 300 es 4576e5c31af7Sopenharmony_ci values 4577e5c31af7Sopenharmony_ci { 4578e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4579e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4580e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 4581e5c31af7Sopenharmony_ci } 4582e5c31af7Sopenharmony_ci 4583e5c31af7Sopenharmony_ci both "" 4584e5c31af7Sopenharmony_ci #version 300 es 4585e5c31af7Sopenharmony_ci precision mediump float; 4586e5c31af7Sopenharmony_ci 4587e5c31af7Sopenharmony_ci ${DECLARATIONS} 4588e5c31af7Sopenharmony_ci 4589e5c31af7Sopenharmony_ci void main() 4590e5c31af7Sopenharmony_ci { 4591e5c31af7Sopenharmony_ci ${SETUP} 4592e5c31af7Sopenharmony_ci out0 = in0.x * in1.x; 4593e5c31af7Sopenharmony_ci ${OUTPUT} 4594e5c31af7Sopenharmony_ci } 4595e5c31af7Sopenharmony_ci "" 4596e5c31af7Sopenharmony_ci end 4597e5c31af7Sopenharmony_ci 4598e5c31af7Sopenharmony_ci case mediump_ivec4_w_w 4599e5c31af7Sopenharmony_ci version 300 es 4600e5c31af7Sopenharmony_ci values 4601e5c31af7Sopenharmony_ci { 4602e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4603e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4604e5c31af7Sopenharmony_ci output int out0 = [ 1 | 16 | 81 ]; 4605e5c31af7Sopenharmony_ci } 4606e5c31af7Sopenharmony_ci 4607e5c31af7Sopenharmony_ci both "" 4608e5c31af7Sopenharmony_ci #version 300 es 4609e5c31af7Sopenharmony_ci precision mediump float; 4610e5c31af7Sopenharmony_ci 4611e5c31af7Sopenharmony_ci ${DECLARATIONS} 4612e5c31af7Sopenharmony_ci 4613e5c31af7Sopenharmony_ci void main() 4614e5c31af7Sopenharmony_ci { 4615e5c31af7Sopenharmony_ci ${SETUP} 4616e5c31af7Sopenharmony_ci out0 = in0.w * in1.w; 4617e5c31af7Sopenharmony_ci ${OUTPUT} 4618e5c31af7Sopenharmony_ci } 4619e5c31af7Sopenharmony_ci "" 4620e5c31af7Sopenharmony_ci end 4621e5c31af7Sopenharmony_ci 4622e5c31af7Sopenharmony_ci case mediump_ivec4_wx_xw 4623e5c31af7Sopenharmony_ci version 300 es 4624e5c31af7Sopenharmony_ci values 4625e5c31af7Sopenharmony_ci { 4626e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4627e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4628e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(4, 4) | ivec2(9, 9) ]; 4629e5c31af7Sopenharmony_ci } 4630e5c31af7Sopenharmony_ci 4631e5c31af7Sopenharmony_ci both "" 4632e5c31af7Sopenharmony_ci #version 300 es 4633e5c31af7Sopenharmony_ci precision mediump float; 4634e5c31af7Sopenharmony_ci 4635e5c31af7Sopenharmony_ci ${DECLARATIONS} 4636e5c31af7Sopenharmony_ci 4637e5c31af7Sopenharmony_ci void main() 4638e5c31af7Sopenharmony_ci { 4639e5c31af7Sopenharmony_ci ${SETUP} 4640e5c31af7Sopenharmony_ci out0 = in0.wx * in1.xw; 4641e5c31af7Sopenharmony_ci ${OUTPUT} 4642e5c31af7Sopenharmony_ci } 4643e5c31af7Sopenharmony_ci "" 4644e5c31af7Sopenharmony_ci end 4645e5c31af7Sopenharmony_ci 4646e5c31af7Sopenharmony_ci case mediump_ivec4_wz_zw 4647e5c31af7Sopenharmony_ci version 300 es 4648e5c31af7Sopenharmony_ci values 4649e5c31af7Sopenharmony_ci { 4650e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4651e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4652e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(12, 12) | ivec2(36, 36) ]; 4653e5c31af7Sopenharmony_ci } 4654e5c31af7Sopenharmony_ci 4655e5c31af7Sopenharmony_ci both "" 4656e5c31af7Sopenharmony_ci #version 300 es 4657e5c31af7Sopenharmony_ci precision mediump float; 4658e5c31af7Sopenharmony_ci 4659e5c31af7Sopenharmony_ci ${DECLARATIONS} 4660e5c31af7Sopenharmony_ci 4661e5c31af7Sopenharmony_ci void main() 4662e5c31af7Sopenharmony_ci { 4663e5c31af7Sopenharmony_ci ${SETUP} 4664e5c31af7Sopenharmony_ci out0 = in0.wz * in1.zw; 4665e5c31af7Sopenharmony_ci ${OUTPUT} 4666e5c31af7Sopenharmony_ci } 4667e5c31af7Sopenharmony_ci "" 4668e5c31af7Sopenharmony_ci end 4669e5c31af7Sopenharmony_ci 4670e5c31af7Sopenharmony_ci case mediump_ivec4_www_www 4671e5c31af7Sopenharmony_ci version 300 es 4672e5c31af7Sopenharmony_ci values 4673e5c31af7Sopenharmony_ci { 4674e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4675e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4676e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(16, 16, 16) | ivec3(81, 81, 81) ]; 4677e5c31af7Sopenharmony_ci } 4678e5c31af7Sopenharmony_ci 4679e5c31af7Sopenharmony_ci both "" 4680e5c31af7Sopenharmony_ci #version 300 es 4681e5c31af7Sopenharmony_ci precision mediump float; 4682e5c31af7Sopenharmony_ci 4683e5c31af7Sopenharmony_ci ${DECLARATIONS} 4684e5c31af7Sopenharmony_ci 4685e5c31af7Sopenharmony_ci void main() 4686e5c31af7Sopenharmony_ci { 4687e5c31af7Sopenharmony_ci ${SETUP} 4688e5c31af7Sopenharmony_ci out0 = in0.www * in1.www; 4689e5c31af7Sopenharmony_ci ${OUTPUT} 4690e5c31af7Sopenharmony_ci } 4691e5c31af7Sopenharmony_ci "" 4692e5c31af7Sopenharmony_ci end 4693e5c31af7Sopenharmony_ci 4694e5c31af7Sopenharmony_ci case mediump_ivec4_yyw_ywy 4695e5c31af7Sopenharmony_ci version 300 es 4696e5c31af7Sopenharmony_ci values 4697e5c31af7Sopenharmony_ci { 4698e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4699e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4700e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(4, 8, 8) | ivec3(4, 18, 18) ]; 4701e5c31af7Sopenharmony_ci } 4702e5c31af7Sopenharmony_ci 4703e5c31af7Sopenharmony_ci both "" 4704e5c31af7Sopenharmony_ci #version 300 es 4705e5c31af7Sopenharmony_ci precision mediump float; 4706e5c31af7Sopenharmony_ci 4707e5c31af7Sopenharmony_ci ${DECLARATIONS} 4708e5c31af7Sopenharmony_ci 4709e5c31af7Sopenharmony_ci void main() 4710e5c31af7Sopenharmony_ci { 4711e5c31af7Sopenharmony_ci ${SETUP} 4712e5c31af7Sopenharmony_ci out0 = in0.yyw * in1.ywy; 4713e5c31af7Sopenharmony_ci ${OUTPUT} 4714e5c31af7Sopenharmony_ci } 4715e5c31af7Sopenharmony_ci "" 4716e5c31af7Sopenharmony_ci end 4717e5c31af7Sopenharmony_ci 4718e5c31af7Sopenharmony_ci case mediump_ivec4_wzy_zyw 4719e5c31af7Sopenharmony_ci version 300 es 4720e5c31af7Sopenharmony_ci values 4721e5c31af7Sopenharmony_ci { 4722e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4723e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4724e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(12, 6, 8) | ivec3(36, 8, 18) ]; 4725e5c31af7Sopenharmony_ci } 4726e5c31af7Sopenharmony_ci 4727e5c31af7Sopenharmony_ci both "" 4728e5c31af7Sopenharmony_ci #version 300 es 4729e5c31af7Sopenharmony_ci precision mediump float; 4730e5c31af7Sopenharmony_ci 4731e5c31af7Sopenharmony_ci ${DECLARATIONS} 4732e5c31af7Sopenharmony_ci 4733e5c31af7Sopenharmony_ci void main() 4734e5c31af7Sopenharmony_ci { 4735e5c31af7Sopenharmony_ci ${SETUP} 4736e5c31af7Sopenharmony_ci out0 = in0.wzy * in1.zyw; 4737e5c31af7Sopenharmony_ci ${OUTPUT} 4738e5c31af7Sopenharmony_ci } 4739e5c31af7Sopenharmony_ci "" 4740e5c31af7Sopenharmony_ci end 4741e5c31af7Sopenharmony_ci 4742e5c31af7Sopenharmony_ci case mediump_ivec4_xyzw_yzwx 4743e5c31af7Sopenharmony_ci version 300 es 4744e5c31af7Sopenharmony_ci values 4745e5c31af7Sopenharmony_ci { 4746e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4747e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4748e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(2, 6, 12, 4) | ivec4(2, 8, 36, 9) ]; 4749e5c31af7Sopenharmony_ci } 4750e5c31af7Sopenharmony_ci 4751e5c31af7Sopenharmony_ci both "" 4752e5c31af7Sopenharmony_ci #version 300 es 4753e5c31af7Sopenharmony_ci precision mediump float; 4754e5c31af7Sopenharmony_ci 4755e5c31af7Sopenharmony_ci ${DECLARATIONS} 4756e5c31af7Sopenharmony_ci 4757e5c31af7Sopenharmony_ci void main() 4758e5c31af7Sopenharmony_ci { 4759e5c31af7Sopenharmony_ci ${SETUP} 4760e5c31af7Sopenharmony_ci out0 = in0.xyzw * in1.yzwx; 4761e5c31af7Sopenharmony_ci ${OUTPUT} 4762e5c31af7Sopenharmony_ci } 4763e5c31af7Sopenharmony_ci "" 4764e5c31af7Sopenharmony_ci end 4765e5c31af7Sopenharmony_ci 4766e5c31af7Sopenharmony_ci case mediump_ivec4_wzyx_zyxw 4767e5c31af7Sopenharmony_ci version 300 es 4768e5c31af7Sopenharmony_ci values 4769e5c31af7Sopenharmony_ci { 4770e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4771e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4772e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(12, 6, 2, 4) | ivec4(36, 8, 2, 9) ]; 4773e5c31af7Sopenharmony_ci } 4774e5c31af7Sopenharmony_ci 4775e5c31af7Sopenharmony_ci both "" 4776e5c31af7Sopenharmony_ci #version 300 es 4777e5c31af7Sopenharmony_ci precision mediump float; 4778e5c31af7Sopenharmony_ci 4779e5c31af7Sopenharmony_ci ${DECLARATIONS} 4780e5c31af7Sopenharmony_ci 4781e5c31af7Sopenharmony_ci void main() 4782e5c31af7Sopenharmony_ci { 4783e5c31af7Sopenharmony_ci ${SETUP} 4784e5c31af7Sopenharmony_ci out0 = in0.wzyx * in1.zyxw; 4785e5c31af7Sopenharmony_ci ${OUTPUT} 4786e5c31af7Sopenharmony_ci } 4787e5c31af7Sopenharmony_ci "" 4788e5c31af7Sopenharmony_ci end 4789e5c31af7Sopenharmony_ci 4790e5c31af7Sopenharmony_ci case mediump_ivec4_xyxy_yxyx 4791e5c31af7Sopenharmony_ci version 300 es 4792e5c31af7Sopenharmony_ci values 4793e5c31af7Sopenharmony_ci { 4794e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4795e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4796e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(2, 2, 2, 2) | ivec4(2, 2, 2, 2) ]; 4797e5c31af7Sopenharmony_ci } 4798e5c31af7Sopenharmony_ci 4799e5c31af7Sopenharmony_ci both "" 4800e5c31af7Sopenharmony_ci #version 300 es 4801e5c31af7Sopenharmony_ci precision mediump float; 4802e5c31af7Sopenharmony_ci 4803e5c31af7Sopenharmony_ci ${DECLARATIONS} 4804e5c31af7Sopenharmony_ci 4805e5c31af7Sopenharmony_ci void main() 4806e5c31af7Sopenharmony_ci { 4807e5c31af7Sopenharmony_ci ${SETUP} 4808e5c31af7Sopenharmony_ci out0 = in0.xyxy * in1.yxyx; 4809e5c31af7Sopenharmony_ci ${OUTPUT} 4810e5c31af7Sopenharmony_ci } 4811e5c31af7Sopenharmony_ci "" 4812e5c31af7Sopenharmony_ci end 4813e5c31af7Sopenharmony_ci 4814e5c31af7Sopenharmony_ci case mediump_ivec4_yzzy_zzyy 4815e5c31af7Sopenharmony_ci version 300 es 4816e5c31af7Sopenharmony_ci values 4817e5c31af7Sopenharmony_ci { 4818e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4819e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4820e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, 1, -1, 1) | ivec4(6, 9, 6, 4) | ivec4(8, 16, 8, 4) ]; 4821e5c31af7Sopenharmony_ci } 4822e5c31af7Sopenharmony_ci 4823e5c31af7Sopenharmony_ci both "" 4824e5c31af7Sopenharmony_ci #version 300 es 4825e5c31af7Sopenharmony_ci precision mediump float; 4826e5c31af7Sopenharmony_ci 4827e5c31af7Sopenharmony_ci ${DECLARATIONS} 4828e5c31af7Sopenharmony_ci 4829e5c31af7Sopenharmony_ci void main() 4830e5c31af7Sopenharmony_ci { 4831e5c31af7Sopenharmony_ci ${SETUP} 4832e5c31af7Sopenharmony_ci out0 = in0.yzzy * in1.zzyy; 4833e5c31af7Sopenharmony_ci ${OUTPUT} 4834e5c31af7Sopenharmony_ci } 4835e5c31af7Sopenharmony_ci "" 4836e5c31af7Sopenharmony_ci end 4837e5c31af7Sopenharmony_ci 4838e5c31af7Sopenharmony_ci case mediump_ivec4_wxww_xwww 4839e5c31af7Sopenharmony_ci version 300 es 4840e5c31af7Sopenharmony_ci values 4841e5c31af7Sopenharmony_ci { 4842e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4843e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4844e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, 1, 1) | ivec4(4, 4, 16, 16) | ivec4(9, 9, 81, 81) ]; 4845e5c31af7Sopenharmony_ci } 4846e5c31af7Sopenharmony_ci 4847e5c31af7Sopenharmony_ci both "" 4848e5c31af7Sopenharmony_ci #version 300 es 4849e5c31af7Sopenharmony_ci precision mediump float; 4850e5c31af7Sopenharmony_ci 4851e5c31af7Sopenharmony_ci ${DECLARATIONS} 4852e5c31af7Sopenharmony_ci 4853e5c31af7Sopenharmony_ci void main() 4854e5c31af7Sopenharmony_ci { 4855e5c31af7Sopenharmony_ci ${SETUP} 4856e5c31af7Sopenharmony_ci out0 = in0.wxww * in1.xwww; 4857e5c31af7Sopenharmony_ci ${OUTPUT} 4858e5c31af7Sopenharmony_ci } 4859e5c31af7Sopenharmony_ci "" 4860e5c31af7Sopenharmony_ci end 4861e5c31af7Sopenharmony_ci 4862e5c31af7Sopenharmony_ci case mediump_ivec4_xyxx_yxxx 4863e5c31af7Sopenharmony_ci version 300 es 4864e5c31af7Sopenharmony_ci values 4865e5c31af7Sopenharmony_ci { 4866e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4867e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4868e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, 1, 1) | ivec4(2, 2, 1, 1) | ivec4(2, 2, 1, 1) ]; 4869e5c31af7Sopenharmony_ci } 4870e5c31af7Sopenharmony_ci 4871e5c31af7Sopenharmony_ci both "" 4872e5c31af7Sopenharmony_ci #version 300 es 4873e5c31af7Sopenharmony_ci precision mediump float; 4874e5c31af7Sopenharmony_ci 4875e5c31af7Sopenharmony_ci ${DECLARATIONS} 4876e5c31af7Sopenharmony_ci 4877e5c31af7Sopenharmony_ci void main() 4878e5c31af7Sopenharmony_ci { 4879e5c31af7Sopenharmony_ci ${SETUP} 4880e5c31af7Sopenharmony_ci out0 = in0.xyxx * in1.yxxx; 4881e5c31af7Sopenharmony_ci ${OUTPUT} 4882e5c31af7Sopenharmony_ci } 4883e5c31af7Sopenharmony_ci "" 4884e5c31af7Sopenharmony_ci end 4885e5c31af7Sopenharmony_ci 4886e5c31af7Sopenharmony_ci case mediump_ivec4_zzzz_zzzz 4887e5c31af7Sopenharmony_ci version 300 es 4888e5c31af7Sopenharmony_ci values 4889e5c31af7Sopenharmony_ci { 4890e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4891e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 4892e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(9, 9, 9, 9) | ivec4(16, 16, 16, 16) ]; 4893e5c31af7Sopenharmony_ci } 4894e5c31af7Sopenharmony_ci 4895e5c31af7Sopenharmony_ci both "" 4896e5c31af7Sopenharmony_ci #version 300 es 4897e5c31af7Sopenharmony_ci precision mediump float; 4898e5c31af7Sopenharmony_ci 4899e5c31af7Sopenharmony_ci ${DECLARATIONS} 4900e5c31af7Sopenharmony_ci 4901e5c31af7Sopenharmony_ci void main() 4902e5c31af7Sopenharmony_ci { 4903e5c31af7Sopenharmony_ci ${SETUP} 4904e5c31af7Sopenharmony_ci out0 = in0.zzzz * in1.zzzz; 4905e5c31af7Sopenharmony_ci ${OUTPUT} 4906e5c31af7Sopenharmony_ci } 4907e5c31af7Sopenharmony_ci "" 4908e5c31af7Sopenharmony_ci end 4909e5c31af7Sopenharmony_ci 4910e5c31af7Sopenharmony_ci 4911e5c31af7Sopenharmony_ciend # vector_multiply 4912e5c31af7Sopenharmony_cigroup vector_divide "Vector swizzle math operations" 4913e5c31af7Sopenharmony_ci 4914e5c31af7Sopenharmony_ci case mediump_vec2_x_x 4915e5c31af7Sopenharmony_ci version 300 es 4916e5c31af7Sopenharmony_ci values 4917e5c31af7Sopenharmony_ci { 4918e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4919e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4920e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 1.0 | 1.0 | 1.0 | 1.0 ]; 4921e5c31af7Sopenharmony_ci } 4922e5c31af7Sopenharmony_ci 4923e5c31af7Sopenharmony_ci both "" 4924e5c31af7Sopenharmony_ci #version 300 es 4925e5c31af7Sopenharmony_ci precision mediump float; 4926e5c31af7Sopenharmony_ci 4927e5c31af7Sopenharmony_ci ${DECLARATIONS} 4928e5c31af7Sopenharmony_ci 4929e5c31af7Sopenharmony_ci void main() 4930e5c31af7Sopenharmony_ci { 4931e5c31af7Sopenharmony_ci ${SETUP} 4932e5c31af7Sopenharmony_ci out0 = in0.x / in1.x; 4933e5c31af7Sopenharmony_ci ${OUTPUT} 4934e5c31af7Sopenharmony_ci } 4935e5c31af7Sopenharmony_ci "" 4936e5c31af7Sopenharmony_ci end 4937e5c31af7Sopenharmony_ci 4938e5c31af7Sopenharmony_ci case mediump_vec2_xx_xx 4939e5c31af7Sopenharmony_ci version 300 es 4940e5c31af7Sopenharmony_ci values 4941e5c31af7Sopenharmony_ci { 4942e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4943e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4944e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.0, 1.0) | vec2(1.0, 1.0) | vec2(1.0, 1.0) | vec2(1.0, 1.0) | vec2(1.0, 1.0) ]; 4945e5c31af7Sopenharmony_ci } 4946e5c31af7Sopenharmony_ci 4947e5c31af7Sopenharmony_ci both "" 4948e5c31af7Sopenharmony_ci #version 300 es 4949e5c31af7Sopenharmony_ci precision mediump float; 4950e5c31af7Sopenharmony_ci 4951e5c31af7Sopenharmony_ci ${DECLARATIONS} 4952e5c31af7Sopenharmony_ci 4953e5c31af7Sopenharmony_ci void main() 4954e5c31af7Sopenharmony_ci { 4955e5c31af7Sopenharmony_ci ${SETUP} 4956e5c31af7Sopenharmony_ci out0 = in0.xx / in1.xx; 4957e5c31af7Sopenharmony_ci ${OUTPUT} 4958e5c31af7Sopenharmony_ci } 4959e5c31af7Sopenharmony_ci "" 4960e5c31af7Sopenharmony_ci end 4961e5c31af7Sopenharmony_ci 4962e5c31af7Sopenharmony_ci case mediump_vec2_xy_yx 4963e5c31af7Sopenharmony_ci version 300 es 4964e5c31af7Sopenharmony_ci values 4965e5c31af7Sopenharmony_ci { 4966e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4967e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4968e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.2, 5.0) | vec2(0.8, 1.25) | vec2(0.222222222222, 4.5) | vec2(-0.5, -2.0) | vec2(23.25, 0.0430107526882) ]; 4969e5c31af7Sopenharmony_ci } 4970e5c31af7Sopenharmony_ci 4971e5c31af7Sopenharmony_ci both "" 4972e5c31af7Sopenharmony_ci #version 300 es 4973e5c31af7Sopenharmony_ci precision mediump float; 4974e5c31af7Sopenharmony_ci 4975e5c31af7Sopenharmony_ci ${DECLARATIONS} 4976e5c31af7Sopenharmony_ci 4977e5c31af7Sopenharmony_ci void main() 4978e5c31af7Sopenharmony_ci { 4979e5c31af7Sopenharmony_ci ${SETUP} 4980e5c31af7Sopenharmony_ci out0 = in0.xy / in1.yx; 4981e5c31af7Sopenharmony_ci ${OUTPUT} 4982e5c31af7Sopenharmony_ci } 4983e5c31af7Sopenharmony_ci "" 4984e5c31af7Sopenharmony_ci end 4985e5c31af7Sopenharmony_ci 4986e5c31af7Sopenharmony_ci case mediump_vec2_yx_xy 4987e5c31af7Sopenharmony_ci version 300 es 4988e5c31af7Sopenharmony_ci values 4989e5c31af7Sopenharmony_ci { 4990e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4991e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 4992e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(5.0, 0.2) | vec2(1.25, 0.8) | vec2(4.5, 0.222222222222) | vec2(-2.0, -0.5) | vec2(0.0430107526882, 23.25) ]; 4993e5c31af7Sopenharmony_ci } 4994e5c31af7Sopenharmony_ci 4995e5c31af7Sopenharmony_ci both "" 4996e5c31af7Sopenharmony_ci #version 300 es 4997e5c31af7Sopenharmony_ci precision mediump float; 4998e5c31af7Sopenharmony_ci 4999e5c31af7Sopenharmony_ci ${DECLARATIONS} 5000e5c31af7Sopenharmony_ci 5001e5c31af7Sopenharmony_ci void main() 5002e5c31af7Sopenharmony_ci { 5003e5c31af7Sopenharmony_ci ${SETUP} 5004e5c31af7Sopenharmony_ci out0 = in0.yx / in1.xy; 5005e5c31af7Sopenharmony_ci ${OUTPUT} 5006e5c31af7Sopenharmony_ci } 5007e5c31af7Sopenharmony_ci "" 5008e5c31af7Sopenharmony_ci end 5009e5c31af7Sopenharmony_ci 5010e5c31af7Sopenharmony_ci case mediump_vec2_yxy_xyy 5011e5c31af7Sopenharmony_ci version 300 es 5012e5c31af7Sopenharmony_ci values 5013e5c31af7Sopenharmony_ci { 5014e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 5015e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 5016e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(5.0, 0.2, 1.0) | vec3(1.25, 0.8, 1.0) | vec3(4.5, 0.222222222222, 1.0) | vec3(-2.0, -0.5, 1.0) | vec3(0.0430107526882, 23.25, 1.0) ]; 5017e5c31af7Sopenharmony_ci } 5018e5c31af7Sopenharmony_ci 5019e5c31af7Sopenharmony_ci both "" 5020e5c31af7Sopenharmony_ci #version 300 es 5021e5c31af7Sopenharmony_ci precision mediump float; 5022e5c31af7Sopenharmony_ci 5023e5c31af7Sopenharmony_ci ${DECLARATIONS} 5024e5c31af7Sopenharmony_ci 5025e5c31af7Sopenharmony_ci void main() 5026e5c31af7Sopenharmony_ci { 5027e5c31af7Sopenharmony_ci ${SETUP} 5028e5c31af7Sopenharmony_ci out0 = in0.yxy / in1.xyy; 5029e5c31af7Sopenharmony_ci ${OUTPUT} 5030e5c31af7Sopenharmony_ci } 5031e5c31af7Sopenharmony_ci "" 5032e5c31af7Sopenharmony_ci end 5033e5c31af7Sopenharmony_ci 5034e5c31af7Sopenharmony_ci case mediump_vec2_xyxx_yxxx 5035e5c31af7Sopenharmony_ci version 300 es 5036e5c31af7Sopenharmony_ci values 5037e5c31af7Sopenharmony_ci { 5038e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 5039e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 5040e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.2, 5.0, 1.0, 1.0) | vec4(0.8, 1.25, 1.0, 1.0) | vec4(0.222222222222, 4.5, 1.0, 1.0) | vec4(-0.5, -2.0, 1.0, 1.0) | vec4(23.25, 0.0430107526882, 1.0, 1.0) ]; 5041e5c31af7Sopenharmony_ci } 5042e5c31af7Sopenharmony_ci 5043e5c31af7Sopenharmony_ci both "" 5044e5c31af7Sopenharmony_ci #version 300 es 5045e5c31af7Sopenharmony_ci precision mediump float; 5046e5c31af7Sopenharmony_ci 5047e5c31af7Sopenharmony_ci ${DECLARATIONS} 5048e5c31af7Sopenharmony_ci 5049e5c31af7Sopenharmony_ci void main() 5050e5c31af7Sopenharmony_ci { 5051e5c31af7Sopenharmony_ci ${SETUP} 5052e5c31af7Sopenharmony_ci out0 = in0.xyxx / in1.yxxx; 5053e5c31af7Sopenharmony_ci ${OUTPUT} 5054e5c31af7Sopenharmony_ci } 5055e5c31af7Sopenharmony_ci "" 5056e5c31af7Sopenharmony_ci end 5057e5c31af7Sopenharmony_ci 5058e5c31af7Sopenharmony_ci case mediump_vec2_yxyx_xyxy 5059e5c31af7Sopenharmony_ci version 300 es 5060e5c31af7Sopenharmony_ci values 5061e5c31af7Sopenharmony_ci { 5062e5c31af7Sopenharmony_ci input vec2 in0 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 5063e5c31af7Sopenharmony_ci input vec2 in1 = [ vec2(0.1, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 5064e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(5.0, 0.2, 5.0, 0.2) | vec4(1.25, 0.8, 1.25, 0.8) | vec4(4.5, 0.222222222222, 4.5, 0.222222222222) | vec4(-2.0, -0.5, -2.0, -0.5) | vec4(0.0430107526882, 23.25, 0.0430107526882, 23.25) ]; 5065e5c31af7Sopenharmony_ci } 5066e5c31af7Sopenharmony_ci 5067e5c31af7Sopenharmony_ci both "" 5068e5c31af7Sopenharmony_ci #version 300 es 5069e5c31af7Sopenharmony_ci precision mediump float; 5070e5c31af7Sopenharmony_ci 5071e5c31af7Sopenharmony_ci ${DECLARATIONS} 5072e5c31af7Sopenharmony_ci 5073e5c31af7Sopenharmony_ci void main() 5074e5c31af7Sopenharmony_ci { 5075e5c31af7Sopenharmony_ci ${SETUP} 5076e5c31af7Sopenharmony_ci out0 = in0.yxyx / in1.xyxy; 5077e5c31af7Sopenharmony_ci ${OUTPUT} 5078e5c31af7Sopenharmony_ci } 5079e5c31af7Sopenharmony_ci "" 5080e5c31af7Sopenharmony_ci end 5081e5c31af7Sopenharmony_ci 5082e5c31af7Sopenharmony_ci case mediump_vec3_x_x 5083e5c31af7Sopenharmony_ci version 300 es 5084e5c31af7Sopenharmony_ci values 5085e5c31af7Sopenharmony_ci { 5086e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5087e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5088e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 1.0 | 1.0 | 1.0 | 1.0 ]; 5089e5c31af7Sopenharmony_ci } 5090e5c31af7Sopenharmony_ci 5091e5c31af7Sopenharmony_ci both "" 5092e5c31af7Sopenharmony_ci #version 300 es 5093e5c31af7Sopenharmony_ci precision mediump float; 5094e5c31af7Sopenharmony_ci 5095e5c31af7Sopenharmony_ci ${DECLARATIONS} 5096e5c31af7Sopenharmony_ci 5097e5c31af7Sopenharmony_ci void main() 5098e5c31af7Sopenharmony_ci { 5099e5c31af7Sopenharmony_ci ${SETUP} 5100e5c31af7Sopenharmony_ci out0 = in0.x / in1.x; 5101e5c31af7Sopenharmony_ci ${OUTPUT} 5102e5c31af7Sopenharmony_ci } 5103e5c31af7Sopenharmony_ci "" 5104e5c31af7Sopenharmony_ci end 5105e5c31af7Sopenharmony_ci 5106e5c31af7Sopenharmony_ci case mediump_vec3_z_z 5107e5c31af7Sopenharmony_ci version 300 es 5108e5c31af7Sopenharmony_ci values 5109e5c31af7Sopenharmony_ci { 5110e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5111e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5112e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 1.0 | 1.0 | 1.0 | 1.0 ]; 5113e5c31af7Sopenharmony_ci } 5114e5c31af7Sopenharmony_ci 5115e5c31af7Sopenharmony_ci both "" 5116e5c31af7Sopenharmony_ci #version 300 es 5117e5c31af7Sopenharmony_ci precision mediump float; 5118e5c31af7Sopenharmony_ci 5119e5c31af7Sopenharmony_ci ${DECLARATIONS} 5120e5c31af7Sopenharmony_ci 5121e5c31af7Sopenharmony_ci void main() 5122e5c31af7Sopenharmony_ci { 5123e5c31af7Sopenharmony_ci ${SETUP} 5124e5c31af7Sopenharmony_ci out0 = in0.z / in1.z; 5125e5c31af7Sopenharmony_ci ${OUTPUT} 5126e5c31af7Sopenharmony_ci } 5127e5c31af7Sopenharmony_ci "" 5128e5c31af7Sopenharmony_ci end 5129e5c31af7Sopenharmony_ci 5130e5c31af7Sopenharmony_ci case mediump_vec3_xz_zx 5131e5c31af7Sopenharmony_ci version 300 es 5132e5c31af7Sopenharmony_ci values 5133e5c31af7Sopenharmony_ci { 5134e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5135e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5136e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(0.133333333333, 7.5) | vec2(0.888888888889, 1.125) | vec2(0.102564102564, 9.75) | vec2(0.627450980392, 1.59375) | vec2(-14.25, -0.0701754385965) ]; 5137e5c31af7Sopenharmony_ci } 5138e5c31af7Sopenharmony_ci 5139e5c31af7Sopenharmony_ci both "" 5140e5c31af7Sopenharmony_ci #version 300 es 5141e5c31af7Sopenharmony_ci precision mediump float; 5142e5c31af7Sopenharmony_ci 5143e5c31af7Sopenharmony_ci ${DECLARATIONS} 5144e5c31af7Sopenharmony_ci 5145e5c31af7Sopenharmony_ci void main() 5146e5c31af7Sopenharmony_ci { 5147e5c31af7Sopenharmony_ci ${SETUP} 5148e5c31af7Sopenharmony_ci out0 = in0.xz / in1.zx; 5149e5c31af7Sopenharmony_ci ${OUTPUT} 5150e5c31af7Sopenharmony_ci } 5151e5c31af7Sopenharmony_ci "" 5152e5c31af7Sopenharmony_ci end 5153e5c31af7Sopenharmony_ci 5154e5c31af7Sopenharmony_ci case mediump_vec3_zz_zz 5155e5c31af7Sopenharmony_ci version 300 es 5156e5c31af7Sopenharmony_ci values 5157e5c31af7Sopenharmony_ci { 5158e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5159e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5160e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.0, 1.0) | vec2(1.0, 1.0) | vec2(1.0, 1.0) | vec2(1.0, 1.0) | vec2(1.0, 1.0) ]; 5161e5c31af7Sopenharmony_ci } 5162e5c31af7Sopenharmony_ci 5163e5c31af7Sopenharmony_ci both "" 5164e5c31af7Sopenharmony_ci #version 300 es 5165e5c31af7Sopenharmony_ci precision mediump float; 5166e5c31af7Sopenharmony_ci 5167e5c31af7Sopenharmony_ci ${DECLARATIONS} 5168e5c31af7Sopenharmony_ci 5169e5c31af7Sopenharmony_ci void main() 5170e5c31af7Sopenharmony_ci { 5171e5c31af7Sopenharmony_ci ${SETUP} 5172e5c31af7Sopenharmony_ci out0 = in0.zz / in1.zz; 5173e5c31af7Sopenharmony_ci ${OUTPUT} 5174e5c31af7Sopenharmony_ci } 5175e5c31af7Sopenharmony_ci "" 5176e5c31af7Sopenharmony_ci end 5177e5c31af7Sopenharmony_ci 5178e5c31af7Sopenharmony_ci case mediump_vec3_xyz_yzx 5179e5c31af7Sopenharmony_ci version 300 es 5180e5c31af7Sopenharmony_ci values 5181e5c31af7Sopenharmony_ci { 5182e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5183e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5184e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.2, 0.666666666667, 7.5) | vec3(0.8, 1.11111111111, 1.125) | vec3(0.222222222222, 0.461538461538, 9.75) | vec3(-0.5, -1.25490196078, 1.59375) | vec3(23.25, -0.612903225806, -0.0701754385965) ]; 5185e5c31af7Sopenharmony_ci } 5186e5c31af7Sopenharmony_ci 5187e5c31af7Sopenharmony_ci both "" 5188e5c31af7Sopenharmony_ci #version 300 es 5189e5c31af7Sopenharmony_ci precision mediump float; 5190e5c31af7Sopenharmony_ci 5191e5c31af7Sopenharmony_ci ${DECLARATIONS} 5192e5c31af7Sopenharmony_ci 5193e5c31af7Sopenharmony_ci void main() 5194e5c31af7Sopenharmony_ci { 5195e5c31af7Sopenharmony_ci ${SETUP} 5196e5c31af7Sopenharmony_ci out0 = in0.xyz / in1.yzx; 5197e5c31af7Sopenharmony_ci ${OUTPUT} 5198e5c31af7Sopenharmony_ci } 5199e5c31af7Sopenharmony_ci "" 5200e5c31af7Sopenharmony_ci end 5201e5c31af7Sopenharmony_ci 5202e5c31af7Sopenharmony_ci case mediump_vec3_zyx_yxz 5203e5c31af7Sopenharmony_ci version 300 es 5204e5c31af7Sopenharmony_ci values 5205e5c31af7Sopenharmony_ci { 5206e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5207e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5208e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.5, 5.0, 0.133333333333) | vec3(0.9, 1.25, 0.888888888889) | vec3(2.16666666667, 4.5, 0.102564102564) | vec3(-0.796875, -2.0, 0.627450980392) | vec3(-1.63157894737, 0.0430107526882, -14.25) ]; 5209e5c31af7Sopenharmony_ci } 5210e5c31af7Sopenharmony_ci 5211e5c31af7Sopenharmony_ci both "" 5212e5c31af7Sopenharmony_ci #version 300 es 5213e5c31af7Sopenharmony_ci precision mediump float; 5214e5c31af7Sopenharmony_ci 5215e5c31af7Sopenharmony_ci ${DECLARATIONS} 5216e5c31af7Sopenharmony_ci 5217e5c31af7Sopenharmony_ci void main() 5218e5c31af7Sopenharmony_ci { 5219e5c31af7Sopenharmony_ci ${SETUP} 5220e5c31af7Sopenharmony_ci out0 = in0.zyx / in1.yxz; 5221e5c31af7Sopenharmony_ci ${OUTPUT} 5222e5c31af7Sopenharmony_ci } 5223e5c31af7Sopenharmony_ci "" 5224e5c31af7Sopenharmony_ci end 5225e5c31af7Sopenharmony_ci 5226e5c31af7Sopenharmony_ci case mediump_vec3_xxx_xxx 5227e5c31af7Sopenharmony_ci version 300 es 5228e5c31af7Sopenharmony_ci values 5229e5c31af7Sopenharmony_ci { 5230e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5231e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5232e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) ]; 5233e5c31af7Sopenharmony_ci } 5234e5c31af7Sopenharmony_ci 5235e5c31af7Sopenharmony_ci both "" 5236e5c31af7Sopenharmony_ci #version 300 es 5237e5c31af7Sopenharmony_ci precision mediump float; 5238e5c31af7Sopenharmony_ci 5239e5c31af7Sopenharmony_ci ${DECLARATIONS} 5240e5c31af7Sopenharmony_ci 5241e5c31af7Sopenharmony_ci void main() 5242e5c31af7Sopenharmony_ci { 5243e5c31af7Sopenharmony_ci ${SETUP} 5244e5c31af7Sopenharmony_ci out0 = in0.xxx / in1.xxx; 5245e5c31af7Sopenharmony_ci ${OUTPUT} 5246e5c31af7Sopenharmony_ci } 5247e5c31af7Sopenharmony_ci "" 5248e5c31af7Sopenharmony_ci end 5249e5c31af7Sopenharmony_ci 5250e5c31af7Sopenharmony_ci case mediump_vec3_zzz_zzz 5251e5c31af7Sopenharmony_ci version 300 es 5252e5c31af7Sopenharmony_ci values 5253e5c31af7Sopenharmony_ci { 5254e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5255e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5256e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) ]; 5257e5c31af7Sopenharmony_ci } 5258e5c31af7Sopenharmony_ci 5259e5c31af7Sopenharmony_ci both "" 5260e5c31af7Sopenharmony_ci #version 300 es 5261e5c31af7Sopenharmony_ci precision mediump float; 5262e5c31af7Sopenharmony_ci 5263e5c31af7Sopenharmony_ci ${DECLARATIONS} 5264e5c31af7Sopenharmony_ci 5265e5c31af7Sopenharmony_ci void main() 5266e5c31af7Sopenharmony_ci { 5267e5c31af7Sopenharmony_ci ${SETUP} 5268e5c31af7Sopenharmony_ci out0 = in0.zzz / in1.zzz; 5269e5c31af7Sopenharmony_ci ${OUTPUT} 5270e5c31af7Sopenharmony_ci } 5271e5c31af7Sopenharmony_ci "" 5272e5c31af7Sopenharmony_ci end 5273e5c31af7Sopenharmony_ci 5274e5c31af7Sopenharmony_ci case mediump_vec3_zzy_zyz 5275e5c31af7Sopenharmony_ci version 300 es 5276e5c31af7Sopenharmony_ci values 5277e5c31af7Sopenharmony_ci { 5278e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5279e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5280e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 1.5, 0.666666666667) | vec3(1.0, 0.9, 1.11111111111) | vec3(1.0, 2.16666666667, 0.461538461538) | vec3(1.0, -0.796875, -1.25490196078) | vec3(1.0, -1.63157894737, -0.612903225806) ]; 5281e5c31af7Sopenharmony_ci } 5282e5c31af7Sopenharmony_ci 5283e5c31af7Sopenharmony_ci both "" 5284e5c31af7Sopenharmony_ci #version 300 es 5285e5c31af7Sopenharmony_ci precision mediump float; 5286e5c31af7Sopenharmony_ci 5287e5c31af7Sopenharmony_ci ${DECLARATIONS} 5288e5c31af7Sopenharmony_ci 5289e5c31af7Sopenharmony_ci void main() 5290e5c31af7Sopenharmony_ci { 5291e5c31af7Sopenharmony_ci ${SETUP} 5292e5c31af7Sopenharmony_ci out0 = in0.zzy / in1.zyz; 5293e5c31af7Sopenharmony_ci ${OUTPUT} 5294e5c31af7Sopenharmony_ci } 5295e5c31af7Sopenharmony_ci "" 5296e5c31af7Sopenharmony_ci end 5297e5c31af7Sopenharmony_ci 5298e5c31af7Sopenharmony_ci case mediump_vec3_yxy_xyy 5299e5c31af7Sopenharmony_ci version 300 es 5300e5c31af7Sopenharmony_ci values 5301e5c31af7Sopenharmony_ci { 5302e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5303e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5304e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(5.0, 0.2, 1.0) | vec3(1.25, 0.8, 1.0) | vec3(4.5, 0.222222222222, 1.0) | vec3(-2.0, -0.5, 1.0) | vec3(0.0430107526882, 23.25, 1.0) ]; 5305e5c31af7Sopenharmony_ci } 5306e5c31af7Sopenharmony_ci 5307e5c31af7Sopenharmony_ci both "" 5308e5c31af7Sopenharmony_ci #version 300 es 5309e5c31af7Sopenharmony_ci precision mediump float; 5310e5c31af7Sopenharmony_ci 5311e5c31af7Sopenharmony_ci ${DECLARATIONS} 5312e5c31af7Sopenharmony_ci 5313e5c31af7Sopenharmony_ci void main() 5314e5c31af7Sopenharmony_ci { 5315e5c31af7Sopenharmony_ci ${SETUP} 5316e5c31af7Sopenharmony_ci out0 = in0.yxy / in1.xyy; 5317e5c31af7Sopenharmony_ci ${OUTPUT} 5318e5c31af7Sopenharmony_ci } 5319e5c31af7Sopenharmony_ci "" 5320e5c31af7Sopenharmony_ci end 5321e5c31af7Sopenharmony_ci 5322e5c31af7Sopenharmony_ci case mediump_vec3_xzx_zxx 5323e5c31af7Sopenharmony_ci version 300 es 5324e5c31af7Sopenharmony_ci values 5325e5c31af7Sopenharmony_ci { 5326e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5327e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5328e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.133333333333, 7.5, 1.0) | vec3(0.888888888889, 1.125, 1.0) | vec3(0.102564102564, 9.75, 1.0) | vec3(0.627450980392, 1.59375, 1.0) | vec3(-14.25, -0.0701754385965, 1.0) ]; 5329e5c31af7Sopenharmony_ci } 5330e5c31af7Sopenharmony_ci 5331e5c31af7Sopenharmony_ci both "" 5332e5c31af7Sopenharmony_ci #version 300 es 5333e5c31af7Sopenharmony_ci precision mediump float; 5334e5c31af7Sopenharmony_ci 5335e5c31af7Sopenharmony_ci ${DECLARATIONS} 5336e5c31af7Sopenharmony_ci 5337e5c31af7Sopenharmony_ci void main() 5338e5c31af7Sopenharmony_ci { 5339e5c31af7Sopenharmony_ci ${SETUP} 5340e5c31af7Sopenharmony_ci out0 = in0.xzx / in1.zxx; 5341e5c31af7Sopenharmony_ci ${OUTPUT} 5342e5c31af7Sopenharmony_ci } 5343e5c31af7Sopenharmony_ci "" 5344e5c31af7Sopenharmony_ci end 5345e5c31af7Sopenharmony_ci 5346e5c31af7Sopenharmony_ci case mediump_vec3_xyyx_yyxx 5347e5c31af7Sopenharmony_ci version 300 es 5348e5c31af7Sopenharmony_ci values 5349e5c31af7Sopenharmony_ci { 5350e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5351e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5352e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.2, 1.0, 5.0, 1.0) | vec4(0.8, 1.0, 1.25, 1.0) | vec4(0.222222222222, 1.0, 4.5, 1.0) | vec4(-0.5, 1.0, -2.0, 1.0) | vec4(23.25, 1.0, 0.0430107526882, 1.0) ]; 5353e5c31af7Sopenharmony_ci } 5354e5c31af7Sopenharmony_ci 5355e5c31af7Sopenharmony_ci both "" 5356e5c31af7Sopenharmony_ci #version 300 es 5357e5c31af7Sopenharmony_ci precision mediump float; 5358e5c31af7Sopenharmony_ci 5359e5c31af7Sopenharmony_ci ${DECLARATIONS} 5360e5c31af7Sopenharmony_ci 5361e5c31af7Sopenharmony_ci void main() 5362e5c31af7Sopenharmony_ci { 5363e5c31af7Sopenharmony_ci ${SETUP} 5364e5c31af7Sopenharmony_ci out0 = in0.xyyx / in1.yyxx; 5365e5c31af7Sopenharmony_ci ${OUTPUT} 5366e5c31af7Sopenharmony_ci } 5367e5c31af7Sopenharmony_ci "" 5368e5c31af7Sopenharmony_ci end 5369e5c31af7Sopenharmony_ci 5370e5c31af7Sopenharmony_ci case mediump_vec3_zxyz_xyzz 5371e5c31af7Sopenharmony_ci version 300 es 5372e5c31af7Sopenharmony_ci values 5373e5c31af7Sopenharmony_ci { 5374e5c31af7Sopenharmony_ci input vec3 in0 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5375e5c31af7Sopenharmony_ci input vec3 in1 = [ vec3(0.1, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 5376e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(7.5, 0.2, 0.666666666667, 1.0) | vec4(1.125, 0.8, 1.11111111111, 1.0) | vec4(9.75, 0.222222222222, 0.461538461538, 1.0) | vec4(1.59375, -0.5, -1.25490196078, 1.0) | vec4(-0.0701754385965, 23.25, -0.612903225806, 1.0) ]; 5377e5c31af7Sopenharmony_ci } 5378e5c31af7Sopenharmony_ci 5379e5c31af7Sopenharmony_ci both "" 5380e5c31af7Sopenharmony_ci #version 300 es 5381e5c31af7Sopenharmony_ci precision mediump float; 5382e5c31af7Sopenharmony_ci 5383e5c31af7Sopenharmony_ci ${DECLARATIONS} 5384e5c31af7Sopenharmony_ci 5385e5c31af7Sopenharmony_ci void main() 5386e5c31af7Sopenharmony_ci { 5387e5c31af7Sopenharmony_ci ${SETUP} 5388e5c31af7Sopenharmony_ci out0 = in0.zxyz / in1.xyzz; 5389e5c31af7Sopenharmony_ci ${OUTPUT} 5390e5c31af7Sopenharmony_ci } 5391e5c31af7Sopenharmony_ci "" 5392e5c31af7Sopenharmony_ci end 5393e5c31af7Sopenharmony_ci 5394e5c31af7Sopenharmony_ci case mediump_vec4_x_x 5395e5c31af7Sopenharmony_ci version 300 es 5396e5c31af7Sopenharmony_ci values 5397e5c31af7Sopenharmony_ci { 5398e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5399e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5400e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 1.0 | 1.0 | 1.0 | 1.0 ]; 5401e5c31af7Sopenharmony_ci } 5402e5c31af7Sopenharmony_ci 5403e5c31af7Sopenharmony_ci both "" 5404e5c31af7Sopenharmony_ci #version 300 es 5405e5c31af7Sopenharmony_ci precision mediump float; 5406e5c31af7Sopenharmony_ci 5407e5c31af7Sopenharmony_ci ${DECLARATIONS} 5408e5c31af7Sopenharmony_ci 5409e5c31af7Sopenharmony_ci void main() 5410e5c31af7Sopenharmony_ci { 5411e5c31af7Sopenharmony_ci ${SETUP} 5412e5c31af7Sopenharmony_ci out0 = in0.x / in1.x; 5413e5c31af7Sopenharmony_ci ${OUTPUT} 5414e5c31af7Sopenharmony_ci } 5415e5c31af7Sopenharmony_ci "" 5416e5c31af7Sopenharmony_ci end 5417e5c31af7Sopenharmony_ci 5418e5c31af7Sopenharmony_ci case mediump_vec4_w_w 5419e5c31af7Sopenharmony_ci version 300 es 5420e5c31af7Sopenharmony_ci values 5421e5c31af7Sopenharmony_ci { 5422e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5423e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5424e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 1.0 | 1.0 | 1.0 | 1.0 ]; 5425e5c31af7Sopenharmony_ci } 5426e5c31af7Sopenharmony_ci 5427e5c31af7Sopenharmony_ci both "" 5428e5c31af7Sopenharmony_ci #version 300 es 5429e5c31af7Sopenharmony_ci precision mediump float; 5430e5c31af7Sopenharmony_ci 5431e5c31af7Sopenharmony_ci ${DECLARATIONS} 5432e5c31af7Sopenharmony_ci 5433e5c31af7Sopenharmony_ci void main() 5434e5c31af7Sopenharmony_ci { 5435e5c31af7Sopenharmony_ci ${SETUP} 5436e5c31af7Sopenharmony_ci out0 = in0.w / in1.w; 5437e5c31af7Sopenharmony_ci ${OUTPUT} 5438e5c31af7Sopenharmony_ci } 5439e5c31af7Sopenharmony_ci "" 5440e5c31af7Sopenharmony_ci end 5441e5c31af7Sopenharmony_ci 5442e5c31af7Sopenharmony_ci case mediump_vec4_wx_xw 5443e5c31af7Sopenharmony_ci version 300 es 5444e5c31af7Sopenharmony_ci values 5445e5c31af7Sopenharmony_ci { 5446e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5447e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5448e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(8.25, 0.121212121212) | vec2(1.75, 0.571428571429) | vec2(-18.0, -0.0555555555556) | vec2(-0.75, -1.33333333333) | vec2(-0.333333333333, -3.0) ]; 5449e5c31af7Sopenharmony_ci } 5450e5c31af7Sopenharmony_ci 5451e5c31af7Sopenharmony_ci both "" 5452e5c31af7Sopenharmony_ci #version 300 es 5453e5c31af7Sopenharmony_ci precision mediump float; 5454e5c31af7Sopenharmony_ci 5455e5c31af7Sopenharmony_ci ${DECLARATIONS} 5456e5c31af7Sopenharmony_ci 5457e5c31af7Sopenharmony_ci void main() 5458e5c31af7Sopenharmony_ci { 5459e5c31af7Sopenharmony_ci ${SETUP} 5460e5c31af7Sopenharmony_ci out0 = in0.wx / in1.xw; 5461e5c31af7Sopenharmony_ci ${OUTPUT} 5462e5c31af7Sopenharmony_ci } 5463e5c31af7Sopenharmony_ci "" 5464e5c31af7Sopenharmony_ci end 5465e5c31af7Sopenharmony_ci 5466e5c31af7Sopenharmony_ci case mediump_vec4_wz_zw 5467e5c31af7Sopenharmony_ci version 300 es 5468e5c31af7Sopenharmony_ci values 5469e5c31af7Sopenharmony_ci { 5470e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5471e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5472e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.1, 0.909090909091) | vec2(1.55555555556, 0.642857142857) | vec2(-1.84615384615, -0.541666666667) | vec2(-0.470588235294, -2.125) | vec2(4.75, 0.210526315789) ]; 5473e5c31af7Sopenharmony_ci } 5474e5c31af7Sopenharmony_ci 5475e5c31af7Sopenharmony_ci both "" 5476e5c31af7Sopenharmony_ci #version 300 es 5477e5c31af7Sopenharmony_ci precision mediump float; 5478e5c31af7Sopenharmony_ci 5479e5c31af7Sopenharmony_ci ${DECLARATIONS} 5480e5c31af7Sopenharmony_ci 5481e5c31af7Sopenharmony_ci void main() 5482e5c31af7Sopenharmony_ci { 5483e5c31af7Sopenharmony_ci ${SETUP} 5484e5c31af7Sopenharmony_ci out0 = in0.wz / in1.zw; 5485e5c31af7Sopenharmony_ci ${OUTPUT} 5486e5c31af7Sopenharmony_ci } 5487e5c31af7Sopenharmony_ci "" 5488e5c31af7Sopenharmony_ci end 5489e5c31af7Sopenharmony_ci 5490e5c31af7Sopenharmony_ci case mediump_vec4_www_www 5491e5c31af7Sopenharmony_ci version 300 es 5492e5c31af7Sopenharmony_ci values 5493e5c31af7Sopenharmony_ci { 5494e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5495e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5496e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) ]; 5497e5c31af7Sopenharmony_ci } 5498e5c31af7Sopenharmony_ci 5499e5c31af7Sopenharmony_ci both "" 5500e5c31af7Sopenharmony_ci #version 300 es 5501e5c31af7Sopenharmony_ci precision mediump float; 5502e5c31af7Sopenharmony_ci 5503e5c31af7Sopenharmony_ci ${DECLARATIONS} 5504e5c31af7Sopenharmony_ci 5505e5c31af7Sopenharmony_ci void main() 5506e5c31af7Sopenharmony_ci { 5507e5c31af7Sopenharmony_ci ${SETUP} 5508e5c31af7Sopenharmony_ci out0 = in0.www / in1.www; 5509e5c31af7Sopenharmony_ci ${OUTPUT} 5510e5c31af7Sopenharmony_ci } 5511e5c31af7Sopenharmony_ci "" 5512e5c31af7Sopenharmony_ci end 5513e5c31af7Sopenharmony_ci 5514e5c31af7Sopenharmony_ci case mediump_vec4_yyw_ywy 5515e5c31af7Sopenharmony_ci version 300 es 5516e5c31af7Sopenharmony_ci values 5517e5c31af7Sopenharmony_ci { 5518e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5519e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5520e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 0.606060606061, 1.65) | vec3(1.0, 0.714285714286, 1.4) | vec3(1.0, -0.25, -4.0) | vec3(1.0, 2.66666666667, 0.375) | vec3(1.0, -0.129032258065, -7.75) ]; 5521e5c31af7Sopenharmony_ci } 5522e5c31af7Sopenharmony_ci 5523e5c31af7Sopenharmony_ci both "" 5524e5c31af7Sopenharmony_ci #version 300 es 5525e5c31af7Sopenharmony_ci precision mediump float; 5526e5c31af7Sopenharmony_ci 5527e5c31af7Sopenharmony_ci ${DECLARATIONS} 5528e5c31af7Sopenharmony_ci 5529e5c31af7Sopenharmony_ci void main() 5530e5c31af7Sopenharmony_ci { 5531e5c31af7Sopenharmony_ci ${SETUP} 5532e5c31af7Sopenharmony_ci out0 = in0.yyw / in1.ywy; 5533e5c31af7Sopenharmony_ci ${OUTPUT} 5534e5c31af7Sopenharmony_ci } 5535e5c31af7Sopenharmony_ci "" 5536e5c31af7Sopenharmony_ci end 5537e5c31af7Sopenharmony_ci 5538e5c31af7Sopenharmony_ci case mediump_vec4_wzy_zyw 5539e5c31af7Sopenharmony_ci version 300 es 5540e5c31af7Sopenharmony_ci values 5541e5c31af7Sopenharmony_ci { 5542e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5543e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5544e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.1, 1.5, 0.606060606061) | vec3(1.55555555556, 0.9, 0.714285714286) | vec3(-1.84615384615, 2.16666666667, -0.25) | vec3(-0.470588235294, -0.796875, 2.66666666667) | vec3(4.75, -1.63157894737, -0.129032258065) ]; 5545e5c31af7Sopenharmony_ci } 5546e5c31af7Sopenharmony_ci 5547e5c31af7Sopenharmony_ci both "" 5548e5c31af7Sopenharmony_ci #version 300 es 5549e5c31af7Sopenharmony_ci precision mediump float; 5550e5c31af7Sopenharmony_ci 5551e5c31af7Sopenharmony_ci ${DECLARATIONS} 5552e5c31af7Sopenharmony_ci 5553e5c31af7Sopenharmony_ci void main() 5554e5c31af7Sopenharmony_ci { 5555e5c31af7Sopenharmony_ci ${SETUP} 5556e5c31af7Sopenharmony_ci out0 = in0.wzy / in1.zyw; 5557e5c31af7Sopenharmony_ci ${OUTPUT} 5558e5c31af7Sopenharmony_ci } 5559e5c31af7Sopenharmony_ci "" 5560e5c31af7Sopenharmony_ci end 5561e5c31af7Sopenharmony_ci 5562e5c31af7Sopenharmony_ci case mediump_vec4_xyzw_yzwx 5563e5c31af7Sopenharmony_ci version 300 es 5564e5c31af7Sopenharmony_ci values 5565e5c31af7Sopenharmony_ci { 5566e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5567e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5568e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.2, 0.666666666667, 0.909090909091, 8.25) | vec4(0.8, 1.11111111111, 0.642857142857, 1.75) | vec4(0.222222222222, 0.461538461538, -0.541666666667, -18.0) | vec4(-0.5, -1.25490196078, -2.125, -0.75) | vec4(23.25, -0.612903225806, 0.210526315789, -0.333333333333) ]; 5569e5c31af7Sopenharmony_ci } 5570e5c31af7Sopenharmony_ci 5571e5c31af7Sopenharmony_ci both "" 5572e5c31af7Sopenharmony_ci #version 300 es 5573e5c31af7Sopenharmony_ci precision mediump float; 5574e5c31af7Sopenharmony_ci 5575e5c31af7Sopenharmony_ci ${DECLARATIONS} 5576e5c31af7Sopenharmony_ci 5577e5c31af7Sopenharmony_ci void main() 5578e5c31af7Sopenharmony_ci { 5579e5c31af7Sopenharmony_ci ${SETUP} 5580e5c31af7Sopenharmony_ci out0 = in0.xyzw / in1.yzwx; 5581e5c31af7Sopenharmony_ci ${OUTPUT} 5582e5c31af7Sopenharmony_ci } 5583e5c31af7Sopenharmony_ci "" 5584e5c31af7Sopenharmony_ci end 5585e5c31af7Sopenharmony_ci 5586e5c31af7Sopenharmony_ci case mediump_vec4_wzyx_zyxw 5587e5c31af7Sopenharmony_ci version 300 es 5588e5c31af7Sopenharmony_ci values 5589e5c31af7Sopenharmony_ci { 5590e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5591e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5592e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.1, 1.5, 5.0, 0.121212121212) | vec4(1.55555555556, 0.9, 1.25, 0.571428571429) | vec4(-1.84615384615, 2.16666666667, 4.5, -0.0555555555556) | vec4(-0.470588235294, -0.796875, -2.0, -1.33333333333) | vec4(4.75, -1.63157894737, 0.0430107526882, -3.0) ]; 5593e5c31af7Sopenharmony_ci } 5594e5c31af7Sopenharmony_ci 5595e5c31af7Sopenharmony_ci both "" 5596e5c31af7Sopenharmony_ci #version 300 es 5597e5c31af7Sopenharmony_ci precision mediump float; 5598e5c31af7Sopenharmony_ci 5599e5c31af7Sopenharmony_ci ${DECLARATIONS} 5600e5c31af7Sopenharmony_ci 5601e5c31af7Sopenharmony_ci void main() 5602e5c31af7Sopenharmony_ci { 5603e5c31af7Sopenharmony_ci ${SETUP} 5604e5c31af7Sopenharmony_ci out0 = in0.wzyx / in1.zyxw; 5605e5c31af7Sopenharmony_ci ${OUTPUT} 5606e5c31af7Sopenharmony_ci } 5607e5c31af7Sopenharmony_ci "" 5608e5c31af7Sopenharmony_ci end 5609e5c31af7Sopenharmony_ci 5610e5c31af7Sopenharmony_ci case mediump_vec4_xyxy_yxyx 5611e5c31af7Sopenharmony_ci version 300 es 5612e5c31af7Sopenharmony_ci values 5613e5c31af7Sopenharmony_ci { 5614e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5615e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5616e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.2, 5.0, 0.2, 5.0) | vec4(0.8, 1.25, 0.8, 1.25) | vec4(0.222222222222, 4.5, 0.222222222222, 4.5) | vec4(-0.5, -2.0, -0.5, -2.0) | vec4(23.25, 0.0430107526882, 23.25, 0.0430107526882) ]; 5617e5c31af7Sopenharmony_ci } 5618e5c31af7Sopenharmony_ci 5619e5c31af7Sopenharmony_ci both "" 5620e5c31af7Sopenharmony_ci #version 300 es 5621e5c31af7Sopenharmony_ci precision mediump float; 5622e5c31af7Sopenharmony_ci 5623e5c31af7Sopenharmony_ci ${DECLARATIONS} 5624e5c31af7Sopenharmony_ci 5625e5c31af7Sopenharmony_ci void main() 5626e5c31af7Sopenharmony_ci { 5627e5c31af7Sopenharmony_ci ${SETUP} 5628e5c31af7Sopenharmony_ci out0 = in0.xyxy / in1.yxyx; 5629e5c31af7Sopenharmony_ci ${OUTPUT} 5630e5c31af7Sopenharmony_ci } 5631e5c31af7Sopenharmony_ci "" 5632e5c31af7Sopenharmony_ci end 5633e5c31af7Sopenharmony_ci 5634e5c31af7Sopenharmony_ci case mediump_vec4_yzzy_zzyy 5635e5c31af7Sopenharmony_ci version 300 es 5636e5c31af7Sopenharmony_ci values 5637e5c31af7Sopenharmony_ci { 5638e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5639e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5640e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.666666666667, 1.0, 1.5, 1.0) | vec4(1.11111111111, 1.0, 0.9, 1.0) | vec4(0.461538461538, 1.0, 2.16666666667, 1.0) | vec4(-1.25490196078, 1.0, -0.796875, 1.0) | vec4(-0.612903225806, 1.0, -1.63157894737, 1.0) ]; 5641e5c31af7Sopenharmony_ci } 5642e5c31af7Sopenharmony_ci 5643e5c31af7Sopenharmony_ci both "" 5644e5c31af7Sopenharmony_ci #version 300 es 5645e5c31af7Sopenharmony_ci precision mediump float; 5646e5c31af7Sopenharmony_ci 5647e5c31af7Sopenharmony_ci ${DECLARATIONS} 5648e5c31af7Sopenharmony_ci 5649e5c31af7Sopenharmony_ci void main() 5650e5c31af7Sopenharmony_ci { 5651e5c31af7Sopenharmony_ci ${SETUP} 5652e5c31af7Sopenharmony_ci out0 = in0.yzzy / in1.zzyy; 5653e5c31af7Sopenharmony_ci ${OUTPUT} 5654e5c31af7Sopenharmony_ci } 5655e5c31af7Sopenharmony_ci "" 5656e5c31af7Sopenharmony_ci end 5657e5c31af7Sopenharmony_ci 5658e5c31af7Sopenharmony_ci case mediump_vec4_wxww_xwww 5659e5c31af7Sopenharmony_ci version 300 es 5660e5c31af7Sopenharmony_ci values 5661e5c31af7Sopenharmony_ci { 5662e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5663e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5664e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(8.25, 0.121212121212, 1.0, 1.0) | vec4(1.75, 0.571428571429, 1.0, 1.0) | vec4(-18.0, -0.0555555555556, 1.0, 1.0) | vec4(-0.75, -1.33333333333, 1.0, 1.0) | vec4(-0.333333333333, -3.0, 1.0, 1.0) ]; 5665e5c31af7Sopenharmony_ci } 5666e5c31af7Sopenharmony_ci 5667e5c31af7Sopenharmony_ci both "" 5668e5c31af7Sopenharmony_ci #version 300 es 5669e5c31af7Sopenharmony_ci precision mediump float; 5670e5c31af7Sopenharmony_ci 5671e5c31af7Sopenharmony_ci ${DECLARATIONS} 5672e5c31af7Sopenharmony_ci 5673e5c31af7Sopenharmony_ci void main() 5674e5c31af7Sopenharmony_ci { 5675e5c31af7Sopenharmony_ci ${SETUP} 5676e5c31af7Sopenharmony_ci out0 = in0.wxww / in1.xwww; 5677e5c31af7Sopenharmony_ci ${OUTPUT} 5678e5c31af7Sopenharmony_ci } 5679e5c31af7Sopenharmony_ci "" 5680e5c31af7Sopenharmony_ci end 5681e5c31af7Sopenharmony_ci 5682e5c31af7Sopenharmony_ci case mediump_vec4_xyxx_yxxx 5683e5c31af7Sopenharmony_ci version 300 es 5684e5c31af7Sopenharmony_ci values 5685e5c31af7Sopenharmony_ci { 5686e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5687e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5688e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(0.2, 5.0, 1.0, 1.0) | vec4(0.8, 1.25, 1.0, 1.0) | vec4(0.222222222222, 4.5, 1.0, 1.0) | vec4(-0.5, -2.0, 1.0, 1.0) | vec4(23.25, 0.0430107526882, 1.0, 1.0) ]; 5689e5c31af7Sopenharmony_ci } 5690e5c31af7Sopenharmony_ci 5691e5c31af7Sopenharmony_ci both "" 5692e5c31af7Sopenharmony_ci #version 300 es 5693e5c31af7Sopenharmony_ci precision mediump float; 5694e5c31af7Sopenharmony_ci 5695e5c31af7Sopenharmony_ci ${DECLARATIONS} 5696e5c31af7Sopenharmony_ci 5697e5c31af7Sopenharmony_ci void main() 5698e5c31af7Sopenharmony_ci { 5699e5c31af7Sopenharmony_ci ${SETUP} 5700e5c31af7Sopenharmony_ci out0 = in0.xyxx / in1.yxxx; 5701e5c31af7Sopenharmony_ci ${OUTPUT} 5702e5c31af7Sopenharmony_ci } 5703e5c31af7Sopenharmony_ci "" 5704e5c31af7Sopenharmony_ci end 5705e5c31af7Sopenharmony_ci 5706e5c31af7Sopenharmony_ci case mediump_vec4_zzzz_zzzz 5707e5c31af7Sopenharmony_ci version 300 es 5708e5c31af7Sopenharmony_ci values 5709e5c31af7Sopenharmony_ci { 5710e5c31af7Sopenharmony_ci input vec4 in0 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5711e5c31af7Sopenharmony_ci input vec4 in1 = [ vec4(0.1, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 5712e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(1.0, 1.0, 1.0, 1.0) ]; 5713e5c31af7Sopenharmony_ci } 5714e5c31af7Sopenharmony_ci 5715e5c31af7Sopenharmony_ci both "" 5716e5c31af7Sopenharmony_ci #version 300 es 5717e5c31af7Sopenharmony_ci precision mediump float; 5718e5c31af7Sopenharmony_ci 5719e5c31af7Sopenharmony_ci ${DECLARATIONS} 5720e5c31af7Sopenharmony_ci 5721e5c31af7Sopenharmony_ci void main() 5722e5c31af7Sopenharmony_ci { 5723e5c31af7Sopenharmony_ci ${SETUP} 5724e5c31af7Sopenharmony_ci out0 = in0.zzzz / in1.zzzz; 5725e5c31af7Sopenharmony_ci ${OUTPUT} 5726e5c31af7Sopenharmony_ci } 5727e5c31af7Sopenharmony_ci "" 5728e5c31af7Sopenharmony_ci end 5729e5c31af7Sopenharmony_ci 5730e5c31af7Sopenharmony_ci case mediump_ivec2_x_x 5731e5c31af7Sopenharmony_ci version 300 es 5732e5c31af7Sopenharmony_ci values 5733e5c31af7Sopenharmony_ci { 5734e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5735e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5736e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 5737e5c31af7Sopenharmony_ci } 5738e5c31af7Sopenharmony_ci 5739e5c31af7Sopenharmony_ci both "" 5740e5c31af7Sopenharmony_ci #version 300 es 5741e5c31af7Sopenharmony_ci precision mediump float; 5742e5c31af7Sopenharmony_ci 5743e5c31af7Sopenharmony_ci ${DECLARATIONS} 5744e5c31af7Sopenharmony_ci 5745e5c31af7Sopenharmony_ci void main() 5746e5c31af7Sopenharmony_ci { 5747e5c31af7Sopenharmony_ci ${SETUP} 5748e5c31af7Sopenharmony_ci out0 = in0.x / in1.x; 5749e5c31af7Sopenharmony_ci ${OUTPUT} 5750e5c31af7Sopenharmony_ci } 5751e5c31af7Sopenharmony_ci "" 5752e5c31af7Sopenharmony_ci end 5753e5c31af7Sopenharmony_ci 5754e5c31af7Sopenharmony_ci case mediump_ivec2_xx_xx 5755e5c31af7Sopenharmony_ci version 300 es 5756e5c31af7Sopenharmony_ci values 5757e5c31af7Sopenharmony_ci { 5758e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5759e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5760e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(1, 1) ]; 5761e5c31af7Sopenharmony_ci } 5762e5c31af7Sopenharmony_ci 5763e5c31af7Sopenharmony_ci both "" 5764e5c31af7Sopenharmony_ci #version 300 es 5765e5c31af7Sopenharmony_ci precision mediump float; 5766e5c31af7Sopenharmony_ci 5767e5c31af7Sopenharmony_ci ${DECLARATIONS} 5768e5c31af7Sopenharmony_ci 5769e5c31af7Sopenharmony_ci void main() 5770e5c31af7Sopenharmony_ci { 5771e5c31af7Sopenharmony_ci ${SETUP} 5772e5c31af7Sopenharmony_ci out0 = in0.xx / in1.xx; 5773e5c31af7Sopenharmony_ci ${OUTPUT} 5774e5c31af7Sopenharmony_ci } 5775e5c31af7Sopenharmony_ci "" 5776e5c31af7Sopenharmony_ci end 5777e5c31af7Sopenharmony_ci 5778e5c31af7Sopenharmony_ci case mediump_ivec2_xy_yx 5779e5c31af7Sopenharmony_ci version 300 es 5780e5c31af7Sopenharmony_ci values 5781e5c31af7Sopenharmony_ci { 5782e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5783e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5784e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(0, 2) | ivec2(0, 2) ]; 5785e5c31af7Sopenharmony_ci } 5786e5c31af7Sopenharmony_ci 5787e5c31af7Sopenharmony_ci both "" 5788e5c31af7Sopenharmony_ci #version 300 es 5789e5c31af7Sopenharmony_ci precision mediump float; 5790e5c31af7Sopenharmony_ci 5791e5c31af7Sopenharmony_ci ${DECLARATIONS} 5792e5c31af7Sopenharmony_ci 5793e5c31af7Sopenharmony_ci void main() 5794e5c31af7Sopenharmony_ci { 5795e5c31af7Sopenharmony_ci ${SETUP} 5796e5c31af7Sopenharmony_ci out0 = in0.xy / in1.yx; 5797e5c31af7Sopenharmony_ci ${OUTPUT} 5798e5c31af7Sopenharmony_ci } 5799e5c31af7Sopenharmony_ci "" 5800e5c31af7Sopenharmony_ci end 5801e5c31af7Sopenharmony_ci 5802e5c31af7Sopenharmony_ci case mediump_ivec2_yx_xy 5803e5c31af7Sopenharmony_ci version 300 es 5804e5c31af7Sopenharmony_ci values 5805e5c31af7Sopenharmony_ci { 5806e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5807e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5808e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(2, 0) | ivec2(2, 0) ]; 5809e5c31af7Sopenharmony_ci } 5810e5c31af7Sopenharmony_ci 5811e5c31af7Sopenharmony_ci both "" 5812e5c31af7Sopenharmony_ci #version 300 es 5813e5c31af7Sopenharmony_ci precision mediump float; 5814e5c31af7Sopenharmony_ci 5815e5c31af7Sopenharmony_ci ${DECLARATIONS} 5816e5c31af7Sopenharmony_ci 5817e5c31af7Sopenharmony_ci void main() 5818e5c31af7Sopenharmony_ci { 5819e5c31af7Sopenharmony_ci ${SETUP} 5820e5c31af7Sopenharmony_ci out0 = in0.yx / in1.xy; 5821e5c31af7Sopenharmony_ci ${OUTPUT} 5822e5c31af7Sopenharmony_ci } 5823e5c31af7Sopenharmony_ci "" 5824e5c31af7Sopenharmony_ci end 5825e5c31af7Sopenharmony_ci 5826e5c31af7Sopenharmony_ci case mediump_ivec2_yxy_xyy 5827e5c31af7Sopenharmony_ci version 300 es 5828e5c31af7Sopenharmony_ci values 5829e5c31af7Sopenharmony_ci { 5830e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5831e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5832e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(2, 0, 1) | ivec3(2, 0, 1) ]; 5833e5c31af7Sopenharmony_ci } 5834e5c31af7Sopenharmony_ci 5835e5c31af7Sopenharmony_ci both "" 5836e5c31af7Sopenharmony_ci #version 300 es 5837e5c31af7Sopenharmony_ci precision mediump float; 5838e5c31af7Sopenharmony_ci 5839e5c31af7Sopenharmony_ci ${DECLARATIONS} 5840e5c31af7Sopenharmony_ci 5841e5c31af7Sopenharmony_ci void main() 5842e5c31af7Sopenharmony_ci { 5843e5c31af7Sopenharmony_ci ${SETUP} 5844e5c31af7Sopenharmony_ci out0 = in0.yxy / in1.xyy; 5845e5c31af7Sopenharmony_ci ${OUTPUT} 5846e5c31af7Sopenharmony_ci } 5847e5c31af7Sopenharmony_ci "" 5848e5c31af7Sopenharmony_ci end 5849e5c31af7Sopenharmony_ci 5850e5c31af7Sopenharmony_ci case mediump_ivec2_xyxx_yxxx 5851e5c31af7Sopenharmony_ci version 300 es 5852e5c31af7Sopenharmony_ci values 5853e5c31af7Sopenharmony_ci { 5854e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5855e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5856e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, 1, 1) | ivec4(0, 2, 1, 1) | ivec4(0, 2, 1, 1) ]; 5857e5c31af7Sopenharmony_ci } 5858e5c31af7Sopenharmony_ci 5859e5c31af7Sopenharmony_ci both "" 5860e5c31af7Sopenharmony_ci #version 300 es 5861e5c31af7Sopenharmony_ci precision mediump float; 5862e5c31af7Sopenharmony_ci 5863e5c31af7Sopenharmony_ci ${DECLARATIONS} 5864e5c31af7Sopenharmony_ci 5865e5c31af7Sopenharmony_ci void main() 5866e5c31af7Sopenharmony_ci { 5867e5c31af7Sopenharmony_ci ${SETUP} 5868e5c31af7Sopenharmony_ci out0 = in0.xyxx / in1.yxxx; 5869e5c31af7Sopenharmony_ci ${OUTPUT} 5870e5c31af7Sopenharmony_ci } 5871e5c31af7Sopenharmony_ci "" 5872e5c31af7Sopenharmony_ci end 5873e5c31af7Sopenharmony_ci 5874e5c31af7Sopenharmony_ci case mediump_ivec2_yxyx_xyxy 5875e5c31af7Sopenharmony_ci version 300 es 5876e5c31af7Sopenharmony_ci values 5877e5c31af7Sopenharmony_ci { 5878e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5879e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-1, 1) | ivec2(1, 2) | ivec2(-1, -2) ]; 5880e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(2, 0, 2, 0) | ivec4(2, 0, 2, 0) ]; 5881e5c31af7Sopenharmony_ci } 5882e5c31af7Sopenharmony_ci 5883e5c31af7Sopenharmony_ci both "" 5884e5c31af7Sopenharmony_ci #version 300 es 5885e5c31af7Sopenharmony_ci precision mediump float; 5886e5c31af7Sopenharmony_ci 5887e5c31af7Sopenharmony_ci ${DECLARATIONS} 5888e5c31af7Sopenharmony_ci 5889e5c31af7Sopenharmony_ci void main() 5890e5c31af7Sopenharmony_ci { 5891e5c31af7Sopenharmony_ci ${SETUP} 5892e5c31af7Sopenharmony_ci out0 = in0.yxyx / in1.xyxy; 5893e5c31af7Sopenharmony_ci ${OUTPUT} 5894e5c31af7Sopenharmony_ci } 5895e5c31af7Sopenharmony_ci "" 5896e5c31af7Sopenharmony_ci end 5897e5c31af7Sopenharmony_ci 5898e5c31af7Sopenharmony_ci case mediump_ivec3_x_x 5899e5c31af7Sopenharmony_ci version 300 es 5900e5c31af7Sopenharmony_ci values 5901e5c31af7Sopenharmony_ci { 5902e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5903e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5904e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 5905e5c31af7Sopenharmony_ci } 5906e5c31af7Sopenharmony_ci 5907e5c31af7Sopenharmony_ci both "" 5908e5c31af7Sopenharmony_ci #version 300 es 5909e5c31af7Sopenharmony_ci precision mediump float; 5910e5c31af7Sopenharmony_ci 5911e5c31af7Sopenharmony_ci ${DECLARATIONS} 5912e5c31af7Sopenharmony_ci 5913e5c31af7Sopenharmony_ci void main() 5914e5c31af7Sopenharmony_ci { 5915e5c31af7Sopenharmony_ci ${SETUP} 5916e5c31af7Sopenharmony_ci out0 = in0.x / in1.x; 5917e5c31af7Sopenharmony_ci ${OUTPUT} 5918e5c31af7Sopenharmony_ci } 5919e5c31af7Sopenharmony_ci "" 5920e5c31af7Sopenharmony_ci end 5921e5c31af7Sopenharmony_ci 5922e5c31af7Sopenharmony_ci case mediump_ivec3_z_z 5923e5c31af7Sopenharmony_ci version 300 es 5924e5c31af7Sopenharmony_ci values 5925e5c31af7Sopenharmony_ci { 5926e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5927e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5928e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 5929e5c31af7Sopenharmony_ci } 5930e5c31af7Sopenharmony_ci 5931e5c31af7Sopenharmony_ci both "" 5932e5c31af7Sopenharmony_ci #version 300 es 5933e5c31af7Sopenharmony_ci precision mediump float; 5934e5c31af7Sopenharmony_ci 5935e5c31af7Sopenharmony_ci ${DECLARATIONS} 5936e5c31af7Sopenharmony_ci 5937e5c31af7Sopenharmony_ci void main() 5938e5c31af7Sopenharmony_ci { 5939e5c31af7Sopenharmony_ci ${SETUP} 5940e5c31af7Sopenharmony_ci out0 = in0.z / in1.z; 5941e5c31af7Sopenharmony_ci ${OUTPUT} 5942e5c31af7Sopenharmony_ci } 5943e5c31af7Sopenharmony_ci "" 5944e5c31af7Sopenharmony_ci end 5945e5c31af7Sopenharmony_ci 5946e5c31af7Sopenharmony_ci case mediump_ivec3_xz_zx 5947e5c31af7Sopenharmony_ci version 300 es 5948e5c31af7Sopenharmony_ci values 5949e5c31af7Sopenharmony_ci { 5950e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5951e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5952e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 3) | ivec2(0, 4) ]; 5953e5c31af7Sopenharmony_ci } 5954e5c31af7Sopenharmony_ci 5955e5c31af7Sopenharmony_ci both "" 5956e5c31af7Sopenharmony_ci #version 300 es 5957e5c31af7Sopenharmony_ci precision mediump float; 5958e5c31af7Sopenharmony_ci 5959e5c31af7Sopenharmony_ci ${DECLARATIONS} 5960e5c31af7Sopenharmony_ci 5961e5c31af7Sopenharmony_ci void main() 5962e5c31af7Sopenharmony_ci { 5963e5c31af7Sopenharmony_ci ${SETUP} 5964e5c31af7Sopenharmony_ci out0 = in0.xz / in1.zx; 5965e5c31af7Sopenharmony_ci ${OUTPUT} 5966e5c31af7Sopenharmony_ci } 5967e5c31af7Sopenharmony_ci "" 5968e5c31af7Sopenharmony_ci end 5969e5c31af7Sopenharmony_ci 5970e5c31af7Sopenharmony_ci case mediump_ivec3_zz_zz 5971e5c31af7Sopenharmony_ci version 300 es 5972e5c31af7Sopenharmony_ci values 5973e5c31af7Sopenharmony_ci { 5974e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5975e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5976e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(1, 1) ]; 5977e5c31af7Sopenharmony_ci } 5978e5c31af7Sopenharmony_ci 5979e5c31af7Sopenharmony_ci both "" 5980e5c31af7Sopenharmony_ci #version 300 es 5981e5c31af7Sopenharmony_ci precision mediump float; 5982e5c31af7Sopenharmony_ci 5983e5c31af7Sopenharmony_ci ${DECLARATIONS} 5984e5c31af7Sopenharmony_ci 5985e5c31af7Sopenharmony_ci void main() 5986e5c31af7Sopenharmony_ci { 5987e5c31af7Sopenharmony_ci ${SETUP} 5988e5c31af7Sopenharmony_ci out0 = in0.zz / in1.zz; 5989e5c31af7Sopenharmony_ci ${OUTPUT} 5990e5c31af7Sopenharmony_ci } 5991e5c31af7Sopenharmony_ci "" 5992e5c31af7Sopenharmony_ci end 5993e5c31af7Sopenharmony_ci 5994e5c31af7Sopenharmony_ci case mediump_ivec3_xyz_yzx 5995e5c31af7Sopenharmony_ci version 300 es 5996e5c31af7Sopenharmony_ci values 5997e5c31af7Sopenharmony_ci { 5998e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 5999e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6000e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(0, 0, 3) | ivec3(0, 0, 4) ]; 6001e5c31af7Sopenharmony_ci } 6002e5c31af7Sopenharmony_ci 6003e5c31af7Sopenharmony_ci both "" 6004e5c31af7Sopenharmony_ci #version 300 es 6005e5c31af7Sopenharmony_ci precision mediump float; 6006e5c31af7Sopenharmony_ci 6007e5c31af7Sopenharmony_ci ${DECLARATIONS} 6008e5c31af7Sopenharmony_ci 6009e5c31af7Sopenharmony_ci void main() 6010e5c31af7Sopenharmony_ci { 6011e5c31af7Sopenharmony_ci ${SETUP} 6012e5c31af7Sopenharmony_ci out0 = in0.xyz / in1.yzx; 6013e5c31af7Sopenharmony_ci ${OUTPUT} 6014e5c31af7Sopenharmony_ci } 6015e5c31af7Sopenharmony_ci "" 6016e5c31af7Sopenharmony_ci end 6017e5c31af7Sopenharmony_ci 6018e5c31af7Sopenharmony_ci case mediump_ivec3_zyx_yxz 6019e5c31af7Sopenharmony_ci version 300 es 6020e5c31af7Sopenharmony_ci values 6021e5c31af7Sopenharmony_ci { 6022e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6023e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6024e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(1, 2, 0) | ivec3(2, 2, 0) ]; 6025e5c31af7Sopenharmony_ci } 6026e5c31af7Sopenharmony_ci 6027e5c31af7Sopenharmony_ci both "" 6028e5c31af7Sopenharmony_ci #version 300 es 6029e5c31af7Sopenharmony_ci precision mediump float; 6030e5c31af7Sopenharmony_ci 6031e5c31af7Sopenharmony_ci ${DECLARATIONS} 6032e5c31af7Sopenharmony_ci 6033e5c31af7Sopenharmony_ci void main() 6034e5c31af7Sopenharmony_ci { 6035e5c31af7Sopenharmony_ci ${SETUP} 6036e5c31af7Sopenharmony_ci out0 = in0.zyx / in1.yxz; 6037e5c31af7Sopenharmony_ci ${OUTPUT} 6038e5c31af7Sopenharmony_ci } 6039e5c31af7Sopenharmony_ci "" 6040e5c31af7Sopenharmony_ci end 6041e5c31af7Sopenharmony_ci 6042e5c31af7Sopenharmony_ci case mediump_ivec3_xxx_xxx 6043e5c31af7Sopenharmony_ci version 300 es 6044e5c31af7Sopenharmony_ci values 6045e5c31af7Sopenharmony_ci { 6046e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6047e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6048e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(1, 1, 1) ]; 6049e5c31af7Sopenharmony_ci } 6050e5c31af7Sopenharmony_ci 6051e5c31af7Sopenharmony_ci both "" 6052e5c31af7Sopenharmony_ci #version 300 es 6053e5c31af7Sopenharmony_ci precision mediump float; 6054e5c31af7Sopenharmony_ci 6055e5c31af7Sopenharmony_ci ${DECLARATIONS} 6056e5c31af7Sopenharmony_ci 6057e5c31af7Sopenharmony_ci void main() 6058e5c31af7Sopenharmony_ci { 6059e5c31af7Sopenharmony_ci ${SETUP} 6060e5c31af7Sopenharmony_ci out0 = in0.xxx / in1.xxx; 6061e5c31af7Sopenharmony_ci ${OUTPUT} 6062e5c31af7Sopenharmony_ci } 6063e5c31af7Sopenharmony_ci "" 6064e5c31af7Sopenharmony_ci end 6065e5c31af7Sopenharmony_ci 6066e5c31af7Sopenharmony_ci case mediump_ivec3_zzz_zzz 6067e5c31af7Sopenharmony_ci version 300 es 6068e5c31af7Sopenharmony_ci values 6069e5c31af7Sopenharmony_ci { 6070e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6071e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6072e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(1, 1, 1) ]; 6073e5c31af7Sopenharmony_ci } 6074e5c31af7Sopenharmony_ci 6075e5c31af7Sopenharmony_ci both "" 6076e5c31af7Sopenharmony_ci #version 300 es 6077e5c31af7Sopenharmony_ci precision mediump float; 6078e5c31af7Sopenharmony_ci 6079e5c31af7Sopenharmony_ci ${DECLARATIONS} 6080e5c31af7Sopenharmony_ci 6081e5c31af7Sopenharmony_ci void main() 6082e5c31af7Sopenharmony_ci { 6083e5c31af7Sopenharmony_ci ${SETUP} 6084e5c31af7Sopenharmony_ci out0 = in0.zzz / in1.zzz; 6085e5c31af7Sopenharmony_ci ${OUTPUT} 6086e5c31af7Sopenharmony_ci } 6087e5c31af7Sopenharmony_ci "" 6088e5c31af7Sopenharmony_ci end 6089e5c31af7Sopenharmony_ci 6090e5c31af7Sopenharmony_ci case mediump_ivec3_zzy_zyz 6091e5c31af7Sopenharmony_ci version 300 es 6092e5c31af7Sopenharmony_ci values 6093e5c31af7Sopenharmony_ci { 6094e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6095e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6096e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, -1, -1) | ivec3(1, 1, 0) | ivec3(1, 2, 0) ]; 6097e5c31af7Sopenharmony_ci } 6098e5c31af7Sopenharmony_ci 6099e5c31af7Sopenharmony_ci both "" 6100e5c31af7Sopenharmony_ci #version 300 es 6101e5c31af7Sopenharmony_ci precision mediump float; 6102e5c31af7Sopenharmony_ci 6103e5c31af7Sopenharmony_ci ${DECLARATIONS} 6104e5c31af7Sopenharmony_ci 6105e5c31af7Sopenharmony_ci void main() 6106e5c31af7Sopenharmony_ci { 6107e5c31af7Sopenharmony_ci ${SETUP} 6108e5c31af7Sopenharmony_ci out0 = in0.zzy / in1.zyz; 6109e5c31af7Sopenharmony_ci ${OUTPUT} 6110e5c31af7Sopenharmony_ci } 6111e5c31af7Sopenharmony_ci "" 6112e5c31af7Sopenharmony_ci end 6113e5c31af7Sopenharmony_ci 6114e5c31af7Sopenharmony_ci case mediump_ivec3_yxy_xyy 6115e5c31af7Sopenharmony_ci version 300 es 6116e5c31af7Sopenharmony_ci values 6117e5c31af7Sopenharmony_ci { 6118e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6119e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6120e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(2, 0, 1) | ivec3(2, 0, 1) ]; 6121e5c31af7Sopenharmony_ci } 6122e5c31af7Sopenharmony_ci 6123e5c31af7Sopenharmony_ci both "" 6124e5c31af7Sopenharmony_ci #version 300 es 6125e5c31af7Sopenharmony_ci precision mediump float; 6126e5c31af7Sopenharmony_ci 6127e5c31af7Sopenharmony_ci ${DECLARATIONS} 6128e5c31af7Sopenharmony_ci 6129e5c31af7Sopenharmony_ci void main() 6130e5c31af7Sopenharmony_ci { 6131e5c31af7Sopenharmony_ci ${SETUP} 6132e5c31af7Sopenharmony_ci out0 = in0.yxy / in1.xyy; 6133e5c31af7Sopenharmony_ci ${OUTPUT} 6134e5c31af7Sopenharmony_ci } 6135e5c31af7Sopenharmony_ci "" 6136e5c31af7Sopenharmony_ci end 6137e5c31af7Sopenharmony_ci 6138e5c31af7Sopenharmony_ci case mediump_ivec3_xzx_zxx 6139e5c31af7Sopenharmony_ci version 300 es 6140e5c31af7Sopenharmony_ci values 6141e5c31af7Sopenharmony_ci { 6142e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6143e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6144e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 3, 1) | ivec3(0, 4, 1) ]; 6145e5c31af7Sopenharmony_ci } 6146e5c31af7Sopenharmony_ci 6147e5c31af7Sopenharmony_ci both "" 6148e5c31af7Sopenharmony_ci #version 300 es 6149e5c31af7Sopenharmony_ci precision mediump float; 6150e5c31af7Sopenharmony_ci 6151e5c31af7Sopenharmony_ci ${DECLARATIONS} 6152e5c31af7Sopenharmony_ci 6153e5c31af7Sopenharmony_ci void main() 6154e5c31af7Sopenharmony_ci { 6155e5c31af7Sopenharmony_ci ${SETUP} 6156e5c31af7Sopenharmony_ci out0 = in0.xzx / in1.zxx; 6157e5c31af7Sopenharmony_ci ${OUTPUT} 6158e5c31af7Sopenharmony_ci } 6159e5c31af7Sopenharmony_ci "" 6160e5c31af7Sopenharmony_ci end 6161e5c31af7Sopenharmony_ci 6162e5c31af7Sopenharmony_ci case mediump_ivec3_xyyx_yyxx 6163e5c31af7Sopenharmony_ci version 300 es 6164e5c31af7Sopenharmony_ci values 6165e5c31af7Sopenharmony_ci { 6166e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6167e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6168e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, 1, -1, 1) | ivec4(0, 1, 2, 1) | ivec4(0, 1, 2, 1) ]; 6169e5c31af7Sopenharmony_ci } 6170e5c31af7Sopenharmony_ci 6171e5c31af7Sopenharmony_ci both "" 6172e5c31af7Sopenharmony_ci #version 300 es 6173e5c31af7Sopenharmony_ci precision mediump float; 6174e5c31af7Sopenharmony_ci 6175e5c31af7Sopenharmony_ci ${DECLARATIONS} 6176e5c31af7Sopenharmony_ci 6177e5c31af7Sopenharmony_ci void main() 6178e5c31af7Sopenharmony_ci { 6179e5c31af7Sopenharmony_ci ${SETUP} 6180e5c31af7Sopenharmony_ci out0 = in0.xyyx / in1.yyxx; 6181e5c31af7Sopenharmony_ci ${OUTPUT} 6182e5c31af7Sopenharmony_ci } 6183e5c31af7Sopenharmony_ci "" 6184e5c31af7Sopenharmony_ci end 6185e5c31af7Sopenharmony_ci 6186e5c31af7Sopenharmony_ci case mediump_ivec3_zxyz_xyzz 6187e5c31af7Sopenharmony_ci version 300 es 6188e5c31af7Sopenharmony_ci values 6189e5c31af7Sopenharmony_ci { 6190e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6191e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(-1, 1, -1) | ivec3(1, 2, 3) | ivec3(-1, -2, -4) ]; 6192e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(1, -1, -1, 1) | ivec4(3, 0, 0, 1) | ivec4(4, 0, 0, 1) ]; 6193e5c31af7Sopenharmony_ci } 6194e5c31af7Sopenharmony_ci 6195e5c31af7Sopenharmony_ci both "" 6196e5c31af7Sopenharmony_ci #version 300 es 6197e5c31af7Sopenharmony_ci precision mediump float; 6198e5c31af7Sopenharmony_ci 6199e5c31af7Sopenharmony_ci ${DECLARATIONS} 6200e5c31af7Sopenharmony_ci 6201e5c31af7Sopenharmony_ci void main() 6202e5c31af7Sopenharmony_ci { 6203e5c31af7Sopenharmony_ci ${SETUP} 6204e5c31af7Sopenharmony_ci out0 = in0.zxyz / in1.xyzz; 6205e5c31af7Sopenharmony_ci ${OUTPUT} 6206e5c31af7Sopenharmony_ci } 6207e5c31af7Sopenharmony_ci "" 6208e5c31af7Sopenharmony_ci end 6209e5c31af7Sopenharmony_ci 6210e5c31af7Sopenharmony_ci case mediump_ivec4_x_x 6211e5c31af7Sopenharmony_ci version 300 es 6212e5c31af7Sopenharmony_ci values 6213e5c31af7Sopenharmony_ci { 6214e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6215e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6216e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 6217e5c31af7Sopenharmony_ci } 6218e5c31af7Sopenharmony_ci 6219e5c31af7Sopenharmony_ci both "" 6220e5c31af7Sopenharmony_ci #version 300 es 6221e5c31af7Sopenharmony_ci precision mediump float; 6222e5c31af7Sopenharmony_ci 6223e5c31af7Sopenharmony_ci ${DECLARATIONS} 6224e5c31af7Sopenharmony_ci 6225e5c31af7Sopenharmony_ci void main() 6226e5c31af7Sopenharmony_ci { 6227e5c31af7Sopenharmony_ci ${SETUP} 6228e5c31af7Sopenharmony_ci out0 = in0.x / in1.x; 6229e5c31af7Sopenharmony_ci ${OUTPUT} 6230e5c31af7Sopenharmony_ci } 6231e5c31af7Sopenharmony_ci "" 6232e5c31af7Sopenharmony_ci end 6233e5c31af7Sopenharmony_ci 6234e5c31af7Sopenharmony_ci case mediump_ivec4_w_w 6235e5c31af7Sopenharmony_ci version 300 es 6236e5c31af7Sopenharmony_ci values 6237e5c31af7Sopenharmony_ci { 6238e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6239e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6240e5c31af7Sopenharmony_ci output int out0 = [ 1 | 1 | 1 ]; 6241e5c31af7Sopenharmony_ci } 6242e5c31af7Sopenharmony_ci 6243e5c31af7Sopenharmony_ci both "" 6244e5c31af7Sopenharmony_ci #version 300 es 6245e5c31af7Sopenharmony_ci precision mediump float; 6246e5c31af7Sopenharmony_ci 6247e5c31af7Sopenharmony_ci ${DECLARATIONS} 6248e5c31af7Sopenharmony_ci 6249e5c31af7Sopenharmony_ci void main() 6250e5c31af7Sopenharmony_ci { 6251e5c31af7Sopenharmony_ci ${SETUP} 6252e5c31af7Sopenharmony_ci out0 = in0.w / in1.w; 6253e5c31af7Sopenharmony_ci ${OUTPUT} 6254e5c31af7Sopenharmony_ci } 6255e5c31af7Sopenharmony_ci "" 6256e5c31af7Sopenharmony_ci end 6257e5c31af7Sopenharmony_ci 6258e5c31af7Sopenharmony_ci case mediump_ivec4_wx_xw 6259e5c31af7Sopenharmony_ci version 300 es 6260e5c31af7Sopenharmony_ci values 6261e5c31af7Sopenharmony_ci { 6262e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6263e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6264e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(4, 0) | ivec2(9, 0) ]; 6265e5c31af7Sopenharmony_ci } 6266e5c31af7Sopenharmony_ci 6267e5c31af7Sopenharmony_ci both "" 6268e5c31af7Sopenharmony_ci #version 300 es 6269e5c31af7Sopenharmony_ci precision mediump float; 6270e5c31af7Sopenharmony_ci 6271e5c31af7Sopenharmony_ci ${DECLARATIONS} 6272e5c31af7Sopenharmony_ci 6273e5c31af7Sopenharmony_ci void main() 6274e5c31af7Sopenharmony_ci { 6275e5c31af7Sopenharmony_ci ${SETUP} 6276e5c31af7Sopenharmony_ci out0 = in0.wx / in1.xw; 6277e5c31af7Sopenharmony_ci ${OUTPUT} 6278e5c31af7Sopenharmony_ci } 6279e5c31af7Sopenharmony_ci "" 6280e5c31af7Sopenharmony_ci end 6281e5c31af7Sopenharmony_ci 6282e5c31af7Sopenharmony_ci case mediump_ivec4_wz_zw 6283e5c31af7Sopenharmony_ci version 300 es 6284e5c31af7Sopenharmony_ci values 6285e5c31af7Sopenharmony_ci { 6286e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6287e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6288e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(-1, -1) | ivec2(1, 0) | ivec2(2, 0) ]; 6289e5c31af7Sopenharmony_ci } 6290e5c31af7Sopenharmony_ci 6291e5c31af7Sopenharmony_ci both "" 6292e5c31af7Sopenharmony_ci #version 300 es 6293e5c31af7Sopenharmony_ci precision mediump float; 6294e5c31af7Sopenharmony_ci 6295e5c31af7Sopenharmony_ci ${DECLARATIONS} 6296e5c31af7Sopenharmony_ci 6297e5c31af7Sopenharmony_ci void main() 6298e5c31af7Sopenharmony_ci { 6299e5c31af7Sopenharmony_ci ${SETUP} 6300e5c31af7Sopenharmony_ci out0 = in0.wz / in1.zw; 6301e5c31af7Sopenharmony_ci ${OUTPUT} 6302e5c31af7Sopenharmony_ci } 6303e5c31af7Sopenharmony_ci "" 6304e5c31af7Sopenharmony_ci end 6305e5c31af7Sopenharmony_ci 6306e5c31af7Sopenharmony_ci case mediump_ivec4_www_www 6307e5c31af7Sopenharmony_ci version 300 es 6308e5c31af7Sopenharmony_ci values 6309e5c31af7Sopenharmony_ci { 6310e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6311e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6312e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(1, 1, 1) ]; 6313e5c31af7Sopenharmony_ci } 6314e5c31af7Sopenharmony_ci 6315e5c31af7Sopenharmony_ci both "" 6316e5c31af7Sopenharmony_ci #version 300 es 6317e5c31af7Sopenharmony_ci precision mediump float; 6318e5c31af7Sopenharmony_ci 6319e5c31af7Sopenharmony_ci ${DECLARATIONS} 6320e5c31af7Sopenharmony_ci 6321e5c31af7Sopenharmony_ci void main() 6322e5c31af7Sopenharmony_ci { 6323e5c31af7Sopenharmony_ci ${SETUP} 6324e5c31af7Sopenharmony_ci out0 = in0.www / in1.www; 6325e5c31af7Sopenharmony_ci ${OUTPUT} 6326e5c31af7Sopenharmony_ci } 6327e5c31af7Sopenharmony_ci "" 6328e5c31af7Sopenharmony_ci end 6329e5c31af7Sopenharmony_ci 6330e5c31af7Sopenharmony_ci case mediump_ivec4_yyw_ywy 6331e5c31af7Sopenharmony_ci version 300 es 6332e5c31af7Sopenharmony_ci values 6333e5c31af7Sopenharmony_ci { 6334e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6335e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6336e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(1, 0, 2) | ivec3(1, 0, 4) ]; 6337e5c31af7Sopenharmony_ci } 6338e5c31af7Sopenharmony_ci 6339e5c31af7Sopenharmony_ci both "" 6340e5c31af7Sopenharmony_ci #version 300 es 6341e5c31af7Sopenharmony_ci precision mediump float; 6342e5c31af7Sopenharmony_ci 6343e5c31af7Sopenharmony_ci ${DECLARATIONS} 6344e5c31af7Sopenharmony_ci 6345e5c31af7Sopenharmony_ci void main() 6346e5c31af7Sopenharmony_ci { 6347e5c31af7Sopenharmony_ci ${SETUP} 6348e5c31af7Sopenharmony_ci out0 = in0.yyw / in1.ywy; 6349e5c31af7Sopenharmony_ci ${OUTPUT} 6350e5c31af7Sopenharmony_ci } 6351e5c31af7Sopenharmony_ci "" 6352e5c31af7Sopenharmony_ci end 6353e5c31af7Sopenharmony_ci 6354e5c31af7Sopenharmony_ci case mediump_ivec4_wzy_zyw 6355e5c31af7Sopenharmony_ci version 300 es 6356e5c31af7Sopenharmony_ci values 6357e5c31af7Sopenharmony_ci { 6358e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6359e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6360e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(-1, -1, 1) | ivec3(1, 1, 0) | ivec3(2, 2, 0) ]; 6361e5c31af7Sopenharmony_ci } 6362e5c31af7Sopenharmony_ci 6363e5c31af7Sopenharmony_ci both "" 6364e5c31af7Sopenharmony_ci #version 300 es 6365e5c31af7Sopenharmony_ci precision mediump float; 6366e5c31af7Sopenharmony_ci 6367e5c31af7Sopenharmony_ci ${DECLARATIONS} 6368e5c31af7Sopenharmony_ci 6369e5c31af7Sopenharmony_ci void main() 6370e5c31af7Sopenharmony_ci { 6371e5c31af7Sopenharmony_ci ${SETUP} 6372e5c31af7Sopenharmony_ci out0 = in0.wzy / in1.zyw; 6373e5c31af7Sopenharmony_ci ${OUTPUT} 6374e5c31af7Sopenharmony_ci } 6375e5c31af7Sopenharmony_ci "" 6376e5c31af7Sopenharmony_ci end 6377e5c31af7Sopenharmony_ci 6378e5c31af7Sopenharmony_ci case mediump_ivec4_xyzw_yzwx 6379e5c31af7Sopenharmony_ci version 300 es 6380e5c31af7Sopenharmony_ci values 6381e5c31af7Sopenharmony_ci { 6382e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6383e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6384e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(0, 0, 0, 4) | ivec4(0, 0, 0, 9) ]; 6385e5c31af7Sopenharmony_ci } 6386e5c31af7Sopenharmony_ci 6387e5c31af7Sopenharmony_ci both "" 6388e5c31af7Sopenharmony_ci #version 300 es 6389e5c31af7Sopenharmony_ci precision mediump float; 6390e5c31af7Sopenharmony_ci 6391e5c31af7Sopenharmony_ci ${DECLARATIONS} 6392e5c31af7Sopenharmony_ci 6393e5c31af7Sopenharmony_ci void main() 6394e5c31af7Sopenharmony_ci { 6395e5c31af7Sopenharmony_ci ${SETUP} 6396e5c31af7Sopenharmony_ci out0 = in0.xyzw / in1.yzwx; 6397e5c31af7Sopenharmony_ci ${OUTPUT} 6398e5c31af7Sopenharmony_ci } 6399e5c31af7Sopenharmony_ci "" 6400e5c31af7Sopenharmony_ci end 6401e5c31af7Sopenharmony_ci 6402e5c31af7Sopenharmony_ci case mediump_ivec4_wzyx_zyxw 6403e5c31af7Sopenharmony_ci version 300 es 6404e5c31af7Sopenharmony_ci values 6405e5c31af7Sopenharmony_ci { 6406e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6407e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6408e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(1, 1, 2, 0) | ivec4(2, 2, 2, 0) ]; 6409e5c31af7Sopenharmony_ci } 6410e5c31af7Sopenharmony_ci 6411e5c31af7Sopenharmony_ci both "" 6412e5c31af7Sopenharmony_ci #version 300 es 6413e5c31af7Sopenharmony_ci precision mediump float; 6414e5c31af7Sopenharmony_ci 6415e5c31af7Sopenharmony_ci ${DECLARATIONS} 6416e5c31af7Sopenharmony_ci 6417e5c31af7Sopenharmony_ci void main() 6418e5c31af7Sopenharmony_ci { 6419e5c31af7Sopenharmony_ci ${SETUP} 6420e5c31af7Sopenharmony_ci out0 = in0.wzyx / in1.zyxw; 6421e5c31af7Sopenharmony_ci ${OUTPUT} 6422e5c31af7Sopenharmony_ci } 6423e5c31af7Sopenharmony_ci "" 6424e5c31af7Sopenharmony_ci end 6425e5c31af7Sopenharmony_ci 6426e5c31af7Sopenharmony_ci case mediump_ivec4_xyxy_yxyx 6427e5c31af7Sopenharmony_ci version 300 es 6428e5c31af7Sopenharmony_ci values 6429e5c31af7Sopenharmony_ci { 6430e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6431e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6432e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, -1, -1) | ivec4(0, 2, 0, 2) | ivec4(0, 2, 0, 2) ]; 6433e5c31af7Sopenharmony_ci } 6434e5c31af7Sopenharmony_ci 6435e5c31af7Sopenharmony_ci both "" 6436e5c31af7Sopenharmony_ci #version 300 es 6437e5c31af7Sopenharmony_ci precision mediump float; 6438e5c31af7Sopenharmony_ci 6439e5c31af7Sopenharmony_ci ${DECLARATIONS} 6440e5c31af7Sopenharmony_ci 6441e5c31af7Sopenharmony_ci void main() 6442e5c31af7Sopenharmony_ci { 6443e5c31af7Sopenharmony_ci ${SETUP} 6444e5c31af7Sopenharmony_ci out0 = in0.xyxy / in1.yxyx; 6445e5c31af7Sopenharmony_ci ${OUTPUT} 6446e5c31af7Sopenharmony_ci } 6447e5c31af7Sopenharmony_ci "" 6448e5c31af7Sopenharmony_ci end 6449e5c31af7Sopenharmony_ci 6450e5c31af7Sopenharmony_ci case mediump_ivec4_yzzy_zzyy 6451e5c31af7Sopenharmony_ci version 300 es 6452e5c31af7Sopenharmony_ci values 6453e5c31af7Sopenharmony_ci { 6454e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6455e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6456e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, 1, -1, 1) | ivec4(0, 1, 1, 1) | ivec4(0, 1, 2, 1) ]; 6457e5c31af7Sopenharmony_ci } 6458e5c31af7Sopenharmony_ci 6459e5c31af7Sopenharmony_ci both "" 6460e5c31af7Sopenharmony_ci #version 300 es 6461e5c31af7Sopenharmony_ci precision mediump float; 6462e5c31af7Sopenharmony_ci 6463e5c31af7Sopenharmony_ci ${DECLARATIONS} 6464e5c31af7Sopenharmony_ci 6465e5c31af7Sopenharmony_ci void main() 6466e5c31af7Sopenharmony_ci { 6467e5c31af7Sopenharmony_ci ${SETUP} 6468e5c31af7Sopenharmony_ci out0 = in0.yzzy / in1.zzyy; 6469e5c31af7Sopenharmony_ci ${OUTPUT} 6470e5c31af7Sopenharmony_ci } 6471e5c31af7Sopenharmony_ci "" 6472e5c31af7Sopenharmony_ci end 6473e5c31af7Sopenharmony_ci 6474e5c31af7Sopenharmony_ci case mediump_ivec4_wxww_xwww 6475e5c31af7Sopenharmony_ci version 300 es 6476e5c31af7Sopenharmony_ci values 6477e5c31af7Sopenharmony_ci { 6478e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6479e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6480e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, 1, 1) | ivec4(4, 0, 1, 1) | ivec4(9, 0, 1, 1) ]; 6481e5c31af7Sopenharmony_ci } 6482e5c31af7Sopenharmony_ci 6483e5c31af7Sopenharmony_ci both "" 6484e5c31af7Sopenharmony_ci #version 300 es 6485e5c31af7Sopenharmony_ci precision mediump float; 6486e5c31af7Sopenharmony_ci 6487e5c31af7Sopenharmony_ci ${DECLARATIONS} 6488e5c31af7Sopenharmony_ci 6489e5c31af7Sopenharmony_ci void main() 6490e5c31af7Sopenharmony_ci { 6491e5c31af7Sopenharmony_ci ${SETUP} 6492e5c31af7Sopenharmony_ci out0 = in0.wxww / in1.xwww; 6493e5c31af7Sopenharmony_ci ${OUTPUT} 6494e5c31af7Sopenharmony_ci } 6495e5c31af7Sopenharmony_ci "" 6496e5c31af7Sopenharmony_ci end 6497e5c31af7Sopenharmony_ci 6498e5c31af7Sopenharmony_ci case mediump_ivec4_xyxx_yxxx 6499e5c31af7Sopenharmony_ci version 300 es 6500e5c31af7Sopenharmony_ci values 6501e5c31af7Sopenharmony_ci { 6502e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6503e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6504e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(-1, -1, 1, 1) | ivec4(0, 2, 1, 1) | ivec4(0, 2, 1, 1) ]; 6505e5c31af7Sopenharmony_ci } 6506e5c31af7Sopenharmony_ci 6507e5c31af7Sopenharmony_ci both "" 6508e5c31af7Sopenharmony_ci #version 300 es 6509e5c31af7Sopenharmony_ci precision mediump float; 6510e5c31af7Sopenharmony_ci 6511e5c31af7Sopenharmony_ci ${DECLARATIONS} 6512e5c31af7Sopenharmony_ci 6513e5c31af7Sopenharmony_ci void main() 6514e5c31af7Sopenharmony_ci { 6515e5c31af7Sopenharmony_ci ${SETUP} 6516e5c31af7Sopenharmony_ci out0 = in0.xyxx / in1.yxxx; 6517e5c31af7Sopenharmony_ci ${OUTPUT} 6518e5c31af7Sopenharmony_ci } 6519e5c31af7Sopenharmony_ci "" 6520e5c31af7Sopenharmony_ci end 6521e5c31af7Sopenharmony_ci 6522e5c31af7Sopenharmony_ci case mediump_ivec4_zzzz_zzzz 6523e5c31af7Sopenharmony_ci version 300 es 6524e5c31af7Sopenharmony_ci values 6525e5c31af7Sopenharmony_ci { 6526e5c31af7Sopenharmony_ci input ivec4 in0 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6527e5c31af7Sopenharmony_ci input ivec4 in1 = [ ivec4(-1, 1, -1, 1) | ivec4(1, 2, 3, 4) | ivec4(-1, -2, -4, -9) ]; 6528e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(1, 1, 1, 1) | ivec4(1, 1, 1, 1) ]; 6529e5c31af7Sopenharmony_ci } 6530e5c31af7Sopenharmony_ci 6531e5c31af7Sopenharmony_ci both "" 6532e5c31af7Sopenharmony_ci #version 300 es 6533e5c31af7Sopenharmony_ci precision mediump float; 6534e5c31af7Sopenharmony_ci 6535e5c31af7Sopenharmony_ci ${DECLARATIONS} 6536e5c31af7Sopenharmony_ci 6537e5c31af7Sopenharmony_ci void main() 6538e5c31af7Sopenharmony_ci { 6539e5c31af7Sopenharmony_ci ${SETUP} 6540e5c31af7Sopenharmony_ci out0 = in0.zzzz / in1.zzzz; 6541e5c31af7Sopenharmony_ci ${OUTPUT} 6542e5c31af7Sopenharmony_ci } 6543e5c31af7Sopenharmony_ci "" 6544e5c31af7Sopenharmony_ci end 6545e5c31af7Sopenharmony_ci 6546e5c31af7Sopenharmony_ci 6547e5c31af7Sopenharmony_ciend # vector_divide 6548