[ create a new paste ] login | about

Link: http://codepad.org/nyYJwZTX    [ raw code | output | fork ]

JfirKvmLSsanzoiDIwo - C, pasted on Apr 11:
union XMM {
	struct{ float x,y,z,w; };
	float f[4];
	unsigned char b[16];
};



// test code
#include <stdio.h>
void main()
{
	union XMM xmm;
	xmm.x=123; xmm.y=456; xmm.z=789; xmm.w=123456789;


	
	printf("f[0]=%f, f[1]=%f, f[2]=%f, f[3]=%f\n", xmm.f[0], xmm.f[1], xmm.f[2], xmm.f[3] );

	printf("x   =%f, y   =%f, z   =%f, w   =%f\n", xmm.x, xmm.y, xmm.z, xmm.w );

	printf("b[0~3  ]=%f\n", *((float*)(xmm.b+0)) );
	printf("b[4~7  ]=%f\n", *((float*)(xmm.b+4)) );
	printf("b[8~11 ]=%f\n", *((float*)(xmm.b+8)) );
	printf("b[12~15]=%f\n", *((float*)(xmm.b+12)) );
}


Output:
1
2
3
4
5
6
f[0]=123.000000, f[1]=456.000000, f[2]=789.000000, f[3]=123456792.000000
x   =123.000000, y   =456.000000, z   =789.000000, w   =123456792.000000
b[0~3  ]=123.000000
b[4~7  ]=456.000000
b[8~11 ]=789.000000
b[12~15]=123456792.000000


Create a new paste based on this one


Comments: