История изменений
Исправление MOPKOBKA, (текущая версия) :
#include <stdio.h>
typedef float vec3 __attribute__((ext_vector_type(3)));
int main() {
vec3 v = { 0, 0, 0 };
v.xz = 1.5;
v.y = -0.25;
v[0] = v.y + v[2];
printf("%f\n", v.x); // 1.25
vec3 b = v + v;
printf("%f\n", b[0]); // 2.5
return 0;
}
clang main.c ; ./a.out
https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors
Исправление MOPKOBKA, :
#include <stdio.h>
typedef float vec3 __attribute__((ext_vector_type(3)));
int main() {
vec3 v = { 0, 0, 0 };
v.xz = 1.5;
v.y = -0.25;
v[0] = v.y + v[2];
printf("%f\n", v.x); // 1.25
vec3 b = v + v;
printf("%f\n", b[0]); // 2.25
return 0;
}
clang main.c ; ./a.out
https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors
Исправление MOPKOBKA, :
#include <stdio.h>
typedef float vec3 __attribute__((ext_vector_type(3)));
int main() {
vec3 v = { 0, 0, 0 };
v.xz = 1.5;
v.y = -0.25;
v[0] = v.y + v[2];
printf("%f\n", v.x); // 1.25
vec3 b = v + v;
printf("%f\n", b[0]); // 2.25
}
clang main.c ; ./a.out
https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors
Исходная версия MOPKOBKA, :
#include <stdio.h>
typedef float vec3 __attribute__((ext_vector_type(3)));
int main() {
vec3 v = { 0, 0, 0 };
v.xz = 1.5;
v.y = -0.25;
v[0] = v.y + v[2];
printf("%f\n", v.x); // 1.25
}
clang main.c ; ./a.out
https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors