static SSEFloat Select(SSEFloat v1, SSEFloat v2, SSEFloat control) { SSEFloat vTemp1 = new SSEFloat( i2f(~f2i(control.r0) & f2i(v1.r0)), i2f(~f2i(control.r1) & f2i(v1.r1)), i2f(~f2i(control.r2) & f2i(v1.r2)), i2f(~f2i(control.r3) & f2i(v1.r3))); SSEFloat vTemp2 = new SSEFloat( i2f(f2i(v2.r0) & f2i(control.r0)), i2f(f2i(v2.r1) & f2i(control.r1)), i2f(f2i(v2.r2) & f2i(control.r2)), i2f(f2i(v2.r3) & f2i(control.r3))); return new SSEFloat( i2f(f2i(vTemp1.r0) | f2i(vTemp2.r0)), i2f(f2i(vTemp1.r1) | f2i(vTemp2.r1)), i2f(f2i(vTemp1.r2) | f2i(vTemp2.r2)), i2f(f2i(vTemp1.r3) | f2i(vTemp2.r3))); }