#include <altivec.h>
#include <stdio.h>

typedef union {
 float f[4];
 vector float v;
} floatToVector;


void test(float F, vector float *R) {
   floatToVector FTV;
   FTV.f[0] = F;
   *R = (vector float) vec_splat((vector unsigned int)FTV.v, 0);
}

void test2(float F, vector float *R) {
   *R = (vector float){F,F,F,F};
}
void test2a(float F, vector float *X, vector float *R) {
   *R = (vector float){F,F,F,F} + *X;
}


int main() {
  floatToVector X;
  int i;
  test(12.34, &X.v);

  printf("%f %f %f %f\n", X.f[0], X.f[1], X.f[2], X.f[3]);
  return 0;
}
