All pastes #498194 Raw Edit

Chao7

public cpp v1 · immutable
·published 2007-05-20 07:08 UTC
rendered paste body
const float4 ePi = float4(        3.14159e-00,        2.65358e-06,        9.79323e-12,        8.46264e-18);#ifndef PI_PRECISION#define PI_PRECISION 0#endif#if PI_PRECISION == 0const float cPi = 3.14159265; // 3.14159274const float getPi() {    return cPi;}#elif PI_PRECISION == -1const float getPi() {    float xPi : register( r2 );    asm {        ps_3_0            }}#elif PI_PRECISION == 24 const float getPi() {    float rPi;    rPi = ePi[3] +          ePi[2] +          ePi[1] +          ePi[0] ;    return rPi;}#elif PI_PRECISION == 18 const float getPi() {    float rPi;    rPi = ePi[2] +          ePi[1] +          ePi[0] ;    return rPi;}#elif PI_PRECISION == 12const float getPi() {    volatile float rPi;    rPi = ePi[1] +          ePi[0] ;    return rPi;}#endif float4 main( float4 unk1 : COLOR1, float4 unk2 : COLOR2 ) : COLOR0 {    // arguments to main are 'uncertain', and so are not const-expression optimized away    float Pi = getPi();    return float4( Pi, Pi, Pi, Pi );}