# Conversions Between Fvec and Ivec

Convert the lower double-precision floating-point value of A to a 32-bit integer with truncation.

int F64vec2ToInt(F64vec42 A);
r := (int)A0;

Convert the four floating-point values of A to two the two least significant double-precision floating-point values.

F64vec2 F32vec4ToF64vec2(F32vec4 A);
r0 := (double)A0;
r1 := (double)A1;

Convert the two double-precision floating-point values of A to two single-precision floating-point values.

F32vec4 F64vec2ToF32vec4(F64vec2 A);
r0 := (float)A0;
r1 := (float)A1;

Convert the signed int in B to a double-precision floating-point value and pass the upper double-precision value from A through to the result.

F64vec2 InttoF64vec2(F64vec2 A, int B);
r0 := (double)B;
r1 := A1;

Convert the lower floating-point value of A to a 32-bit integer with truncation.

int F32vec4ToInt(F32vec4 A);
r := (int)A0;

Convert the two lower floating-point values of A to two 32-bit integer with truncation, returning the integers in packed form.

Is32vec2 F32vec4ToIs32vec2 (F32vec4 A);
r0 := (int)A0;
r1 := (int)A1;

Convert the 32-bit integer value B to a floating-point value; the upper three floating-point values are passed through from A.

F32vec4 IntToF32vec4(F32vec4 A, int B);
r0 := (float)B;
r1 := A1;
r2 := A2;
r3 := A3;

Convert the two 32-bit integer values in packed form in B to two floating-point values; the upper two floating-point values are passed through from A.

F32vec4 Is32vec2ToF32vec4(F32vec4 A, Is32vec2 B);
r0 := (float)B0;
r1 := (float)B1;
r2 := A2;
r3 := A3;