[vertex shader]
void main(out float tex : texcoord, inout float4 pos : sv_position)
{
    tex = (pos.x + 1) * 320;
}

[pixel shader]
float4 main(float tex : texcoord) : sv_target
{
    tex = floor(tex + 0.25);
    return float4(sin(tex), cos(tex), 0, 0);
}

[test]
draw quad
probe ( 0, 0) rgba ( 0.00000000,  1.00000000, 0.0, 0.0)
probe ( 1, 0) rgba ( 0.84147098,  0.54030231, 0.0, 0.0) 1024
probe ( 2, 0) rgba ( 0.90929743, -0.41614684, 0.0, 0.0) 1024
probe ( 3, 0) rgba ( 0.14112001, -0.98999250, 0.0, 0.0) 1024
probe ( 4, 0) rgba (-0.75680250, -0.65364362, 0.0, 0.0) 1024
probe ( 5, 0) rgba (-0.95892427,  0.28366219, 0.0, 0.0) 1024
probe ( 6, 0) rgba (-0.27941550,  0.96017029, 0.0, 0.0) 1024
probe ( 7, 0) rgba ( 0.65698660,  0.75390225, 0.0, 0.0) 1024
probe ( 8, 0) rgba ( 0.98935825, -0.14550003, 0.0, 0.0) 1024
probe ( 9, 0) rgba ( 0.41211849, -0.91113026, 0.0, 0.0) 1024
probe (10, 0) rgba (-0.54402111, -0.83907153, 0.0, 0.0) 1024
probe (11, 0) rgba (-0.99999021,  0.00442570, 0.0, 0.0) 2048
probe (12, 0) rgba (-0.53657292,  0.84385396, 0.0, 0.0) 1024
probe (13, 0) rgba ( 0.42016704,  0.90744678, 0.0, 0.0) 1024
probe (14, 0) rgba ( 0.99060736,  0.13673722, 0.0, 0.0) 1024
probe (15, 0) rgba ( 0.65028784, -0.75968791, 0.0, 0.0) 1024


[pixel shader]
uniform float4 a;

float4 main() : sv_target
{
    return round(1000 * sin(a));
}

[test]
uniform 0 float4 0.0 0.52359877 2.61799387 3.14159265
draw quad
probe all rgba (0.0, 500.0, 500.0, 0.0)


[pixel shader]
uniform float4 a;

float4 main() : sv_target
{
    return round(1000 * cos(a));
}

[test]
uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449
draw quad
probe all rgba (1000.0, 707.0, -0.0, -707.0)