blob: 4d690f27f96550454dd784c0609343ecb72c207d [file] [log] [blame]
#include "helpers.h"
v4f32 test0001(float a) {
return (v4f32){a, 0.0, 0.0, 0.0};
}
v4f32 test0010(float a) {
return (v4f32){0.0, a, 0.0, 0.0};
}
v4f32 test0100(float a) {
return (v4f32){0.0, 0.0, a, 0.0};
}
v4f32 test1000(float a) {
return (v4f32){0.0, 0.0, 0.0, a};
}
v4f32 test0011(float a, float b) {
return (v4f32){a, b, 0.0, 0.0};
}
v4f32 test0101(float a, float b) {
return (v4f32){a, 0.0, b, 0.0};
}
v4f32 test1001(float a, float b) {
return (v4f32){a, 0.0, 0.0, b};
}
v4f32 test0110(float a, float b) {
return (v4f32){0.0, a, b, 0.0};
}
v4f32 test1010(float a, float b) {
return (v4f32){0.0, a, 0.0, b};
}
v4f32 test1100(float a, float b) {
return (v4f32){0.0, 0.0, a, b};
}
v4f32 test0111(float a, float b, float c) {
return (v4f32){a, b, c, 0.0};
}
v4f32 test1011(float a, float b, float c) {
return (v4f32){a, b, 0.0, c};
}
v4f32 test1101(float a, float b, float c) {
return (v4f32){a, 0.0, b, c};
}
v4f32 test1110(float a, float b, float c) {
return (v4f32){0.0, a, b, c};
}
int main(int argc, char **argv) {
int i, j;
v4f32 x = {0.0f, 0.0f, 0.0f, 0.0f};
v4f32 y = {0.0f, 0.0f, 0.0f, 0.0f};
v4f32 z = {0.0f, 0.0f, 0.0f, 0.0f};
#ifdef SMALL_PROBLEM_SIZE
#define LENGTH 2
#else
#define LENGTH 100
#endif
for (j = 0; j < LENGTH; ++j) {
x = (v4f32){0.0f, 0.0f, 0.0f, 0.0f};
y = (v4f32){0.0f, 0.0f, 0.0f, 0.0f};
z = (v4f32){0.0f, 0.0f, 0.0f, 0.0f};
for (i = 0; i < 2000000; ++i) {
x += test0001(1.0);
x += test0010(1.0);
x += test0100(1.0);
x += test1000(1.0);
y += test0011(1.0, 2.0);
y += test0101(1.0, 2.0);
y += test1001(1.0, 2.0);
y += test0110(1.0, 2.0);
y += test1010(1.0, 2.0);
y += test1100(1.0, 2.0);
z += test0111(2.0, 3.0, 1.0);
z += test1011(1.0, 1.0, 2.0);
z += test1101(3.0, 2.0, 4.0);
z += test1110(4.0, 6.0, 1.0);
}
}
printFV(&x);
printFV(&y);
printFV(&z);
return 0;
}