Это более простое представление о моей проблеме. Я хочу преобразовать значение float в определенный тип v4si (я хочу использовать SIMD-операцию для оптимизации.) Пожалуйста, помогите преобразовать значение float/double в определенный тип.
#include<stdio.h>
typedef double v4si __attribute__ ((vector_size (16)));
int main()
{
double stoptime=36000;
float x =0.5*stoptime;
float * temp = &x;
v4si a = ((v4si)x); // Error: Incompatible data types
v4si b;
v4si *c;
c = ((v4si*)&temp); // Copies address of temp,
b = *(c);
printf("%f\n" , b); // but printing (*c) crashes program
}