diff options
65 files changed, 491 insertions, 0 deletions
diff --git a/tests/hlsl-intrinsic/scalar-double-.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-.slang.expected.txt new file mode 100644 index 000000000..8f4fc17f6 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +150 +300 +600 +1200 diff --git a/tests/hlsl-intrinsic/scalar-double-abs.slang b/tests/hlsl-intrinsic/scalar-double-abs.slang new file mode 100644 index 000000000..c4b7e65ed --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-abs.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(abs(double(i) - 1.5) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-abs.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-abs.slang.expected.txt new file mode 100644 index 000000000..3aab68509 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-abs.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +150 +50 +50 +150 diff --git a/tests/hlsl-intrinsic/scalar-double-acos.slang b/tests/hlsl-intrinsic/scalar-double-acos.slang new file mode 100644 index 000000000..da875f895 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-acos.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(acos(double(i) / 3.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-acos.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-acos.slang.expected.txt new file mode 100644 index 000000000..ad4630040 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-acos.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +157 +123 +84 +0 diff --git a/tests/hlsl-intrinsic/scalar-double-asdouble.slang b/tests/hlsl-intrinsic/scalar-double-asdouble.slang new file mode 100644 index 000000000..1aca3867a --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-asdouble.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(asdouble(uint(i * 2), uint(i * 2 + 1)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-asdouble.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-asdouble.slang.expected.txt new file mode 100644 index 000000000..b9efb5a97 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-asdouble.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +0 +0 +0 diff --git a/tests/hlsl-intrinsic/scalar-double-asin.slang b/tests/hlsl-intrinsic/scalar-double-asin.slang new file mode 100644 index 000000000..37a493fac --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-asin.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(asin(double(i) / 3.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-asin.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-asin.slang.expected.txt new file mode 100644 index 000000000..b5bc8a81c --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-asin.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +33 +72 +157 diff --git a/tests/hlsl-intrinsic/scalar-double-asuint.slang b/tests/hlsl-intrinsic/scalar-double-asuint.slang new file mode 100644 index 000000000..b2fab7c7d --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-asuint.slang @@ -0,0 +1,13 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + uint low, high; + asuint(double(i), low, high); + outputBuffer[i * 2] = int(low); + outputBuffer[i * 2 + 1] = int(high); +} diff --git a/tests/hlsl-intrinsic/scalar-double-asuint.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-asuint.slang.expected.txt new file mode 100644 index 000000000..3d08e2c51 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-asuint.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +0 +0 +1072693248 diff --git a/tests/hlsl-intrinsic/scalar-double-atan.slang b/tests/hlsl-intrinsic/scalar-double-atan.slang new file mode 100644 index 000000000..02af3f7ea --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-atan.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(atan(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-atan.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-atan.slang.expected.txt new file mode 100644 index 000000000..ca43262d1 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-atan.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +78 +110 +124 diff --git a/tests/hlsl-intrinsic/scalar-double-atan2.slang b/tests/hlsl-intrinsic/scalar-double-atan2.slang new file mode 100644 index 000000000..f806ef8d2 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-atan2.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(atan2(double(i), 2.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-atan2.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-atan2.slang.expected.txt new file mode 100644 index 000000000..0314fa635 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-atan2.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +46 +78 +98 diff --git a/tests/hlsl-intrinsic/scalar-double-ceil.slang b/tests/hlsl-intrinsic/scalar-double-ceil.slang new file mode 100644 index 000000000..73f7862cf --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-ceil.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(ceil(double(i) - 0.5) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-ceil.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-ceil.slang.expected.txt new file mode 100644 index 000000000..4dfaed307 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-ceil.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +200 +300 diff --git a/tests/hlsl-intrinsic/scalar-double-clamp.slang b/tests/hlsl-intrinsic/scalar-double-clamp.slang new file mode 100644 index 000000000..f123c52b4 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-clamp.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(clamp(double(i), 1.0, 2.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-clamp.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-clamp.slang.expected.txt new file mode 100644 index 000000000..3f065bde2 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-clamp.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +100 +200 +200 diff --git a/tests/hlsl-intrinsic/scalar-double-cos.slang b/tests/hlsl-intrinsic/scalar-double-cos.slang new file mode 100644 index 000000000..c7f0abe25 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-cos.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(cos(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-cos.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-cos.slang.expected.txt new file mode 100644 index 000000000..1e70b8eff --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-cos.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +54 +-41 +-98 diff --git a/tests/hlsl-intrinsic/scalar-double-exp.slang b/tests/hlsl-intrinsic/scalar-double-exp.slang new file mode 100644 index 000000000..6748bbcdd --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-exp.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(exp(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-exp.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-exp.slang.expected.txt new file mode 100644 index 000000000..3ba256bdb --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-exp.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +271 +738 +2008 diff --git a/tests/hlsl-intrinsic/scalar-double-exp2.slang b/tests/hlsl-intrinsic/scalar-double-exp2.slang new file mode 100644 index 000000000..2bf2d5db7 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-exp2.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(exp2(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-exp2.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-exp2.slang.expected.txt new file mode 100644 index 000000000..0cd919963 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-exp2.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +200 +400 +800 diff --git a/tests/hlsl-intrinsic/scalar-double-floor.slang b/tests/hlsl-intrinsic/scalar-double-floor.slang new file mode 100644 index 000000000..75f079284 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-floor.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(floor(double(i) + 0.5) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-floor.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-floor.slang.expected.txt new file mode 100644 index 000000000..4dfaed307 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-floor.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +200 +300 diff --git a/tests/hlsl-intrinsic/scalar-double-frac.slang b/tests/hlsl-intrinsic/scalar-double-frac.slang new file mode 100644 index 000000000..85aa81cb9 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-frac.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(frac(double(i) * 1.5) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-frac.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-frac.slang.expected.txt new file mode 100644 index 000000000..6b1afa87d --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-frac.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +50 +0 +50 diff --git a/tests/hlsl-intrinsic/scalar-double-ldexp.slang b/tests/hlsl-intrinsic/scalar-double-ldexp.slang new file mode 100644 index 000000000..ebd1c9d6c --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-ldexp.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(ldexp(1.5, int(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-ldexp.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-ldexp.slang.expected.txt new file mode 100644 index 000000000..8f4fc17f6 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-ldexp.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +150 +300 +600 +1200 diff --git a/tests/hlsl-intrinsic/scalar-double-lerp.slang b/tests/hlsl-intrinsic/scalar-double-lerp.slang new file mode 100644 index 000000000..e304b4e67 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-lerp.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(lerp(-100.0, 100.0, double(i) / 3.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-lerp.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-lerp.slang.expected.txt new file mode 100644 index 000000000..2a7b8f710 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-lerp.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +-10000 +-3333 +3333 +10000 diff --git a/tests/hlsl-intrinsic/scalar-double-log.slang b/tests/hlsl-intrinsic/scalar-double-log.slang new file mode 100644 index 000000000..8dbc01815 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-log.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(log(double(i) + 1.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-log.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-log.slang.expected.txt new file mode 100644 index 000000000..e4a6603c4 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-log.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +69 +109 +138 diff --git a/tests/hlsl-intrinsic/scalar-double-log2.slang b/tests/hlsl-intrinsic/scalar-double-log2.slang new file mode 100644 index 000000000..ca06ab05a --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-log2.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(log2(double(i) + 1.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-log2.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-log2.slang.expected.txt new file mode 100644 index 000000000..2edb16061 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-log2.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +158 +200 diff --git a/tests/hlsl-intrinsic/scalar-double-max.slang b/tests/hlsl-intrinsic/scalar-double-max.slang new file mode 100644 index 000000000..e5e1f3156 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-max.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(max(1.0, double(i) / 2.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-max.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-max.slang.expected.txt new file mode 100644 index 000000000..163764465 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-max.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +100 +100 +150 diff --git a/tests/hlsl-intrinsic/scalar-double-min.slang b/tests/hlsl-intrinsic/scalar-double-min.slang new file mode 100644 index 000000000..a90d11665 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-min.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(min(1.0, double(i) / 2.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-min.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-min.slang.expected.txt new file mode 100644 index 000000000..c0bbd3650 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-min.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +50 +100 +100 diff --git a/tests/hlsl-intrinsic/scalar-double-pow.slang b/tests/hlsl-intrinsic/scalar-double-pow.slang new file mode 100644 index 000000000..3c48c2dac --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-pow.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(pow(double(i), 2.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-pow.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-pow.slang.expected.txt new file mode 100644 index 000000000..b36b3d527 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-pow.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +400 +900 diff --git a/tests/hlsl-intrinsic/scalar-double-rcp.slang b/tests/hlsl-intrinsic/scalar-double-rcp.slang new file mode 100644 index 000000000..c3a48bbac --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-rcp.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(rcp(1.0 + double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-rcp.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-rcp.slang.expected.txt new file mode 100644 index 000000000..9410cd126 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-rcp.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +50 +33 +25 diff --git a/tests/hlsl-intrinsic/scalar-double-rsqrt.slang b/tests/hlsl-intrinsic/scalar-double-rsqrt.slang new file mode 100644 index 000000000..ef17263d7 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-rsqrt.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(rsqrt(1.0 + double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-rsqrt.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-rsqrt.slang.expected.txt new file mode 100644 index 000000000..5fddbd630 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-rsqrt.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +100 +70 +57 +50 diff --git a/tests/hlsl-intrinsic/scalar-double-saturate.slang b/tests/hlsl-intrinsic/scalar-double-saturate.slang new file mode 100644 index 000000000..ac4679f20 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-saturate.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(saturate((double(i) - 1.5) / 2.0) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-saturate.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-saturate.slang.expected.txt new file mode 100644 index 000000000..e5e38de91 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-saturate.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +0 +25 +75 diff --git a/tests/hlsl-intrinsic/scalar-double-sign.slang b/tests/hlsl-intrinsic/scalar-double-sign.slang new file mode 100644 index 000000000..7db652fa2 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sign.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(sign(double(i) - 1.5) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-sign.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-sign.slang.expected.txt new file mode 100644 index 000000000..359497898 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sign.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +-100 +-100 +100 +100 diff --git a/tests/hlsl-intrinsic/scalar-double-sin.slang b/tests/hlsl-intrinsic/scalar-double-sin.slang new file mode 100644 index 000000000..d580b1ff1 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sin.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(sin(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-sin.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-sin.slang.expected.txt new file mode 100644 index 000000000..2d9da37bc --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sin.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +84 +90 +14 diff --git a/tests/hlsl-intrinsic/scalar-double-sincos.slang b/tests/hlsl-intrinsic/scalar-double-sincos.slang new file mode 100644 index 000000000..2afcf8f8b --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sincos.slang @@ -0,0 +1,13 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + double s, c; + sincos(double(i), s, c); + outputBuffer[i * 2] = int(s * 100); + outputBuffer[i * 2 + 1] = int(c * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-sincos.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-sincos.slang.expected.txt new file mode 100644 index 000000000..b854d6209 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sincos.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +84 +54 diff --git a/tests/hlsl-intrinsic/scalar-double-smoothstep.slang b/tests/hlsl-intrinsic/scalar-double-smoothstep.slang new file mode 100644 index 000000000..c90d1dcd0 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-smoothstep.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(smoothstep(1.0, 2.0, double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-smoothstep.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-smoothstep.slang.expected.txt new file mode 100644 index 000000000..30fafd76e --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-smoothstep.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +0 +100 +100 diff --git a/tests/hlsl-intrinsic/scalar-double-sqrt.slang b/tests/hlsl-intrinsic/scalar-double-sqrt.slang new file mode 100644 index 000000000..bff3a3d6f --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sqrt.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(sqrt(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-sqrt.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-sqrt.slang.expected.txt new file mode 100644 index 000000000..a95f0d2ca --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-sqrt.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +141 +173 diff --git a/tests/hlsl-intrinsic/scalar-double-step.slang b/tests/hlsl-intrinsic/scalar-double-step.slang new file mode 100644 index 000000000..b248a1c82 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-step.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(step(1.5, double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-step.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-step.slang.expected.txt new file mode 100644 index 000000000..30fafd76e --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-step.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +0 +100 +100 diff --git a/tests/hlsl-intrinsic/scalar-double-tan.slang b/tests/hlsl-intrinsic/scalar-double-tan.slang new file mode 100644 index 000000000..5c1c14e56 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-tan.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(tan(double(i)) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-tan.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-tan.slang.expected.txt new file mode 100644 index 000000000..79085b2c5 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-tan.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +155 +-218 +-14 diff --git a/tests/hlsl-intrinsic/scalar-double-trunc.slang b/tests/hlsl-intrinsic/scalar-double-trunc.slang new file mode 100644 index 000000000..6b04bd6a5 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-trunc.slang @@ -0,0 +1,10 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -output-using-type + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer +RWStructuredBuffer<int> outputBuffer; + +[numthreads(4, 1, 1)] +void computeMain(in uint i : SV_GroupIndex) +{ + outputBuffer[i] = int(trunc(double(i) + 0.5) * 100); +} diff --git a/tests/hlsl-intrinsic/scalar-double-trunc.slang.expected.txt b/tests/hlsl-intrinsic/scalar-double-trunc.slang.expected.txt new file mode 100644 index 000000000..4dfaed307 --- /dev/null +++ b/tests/hlsl-intrinsic/scalar-double-trunc.slang.expected.txt @@ -0,0 +1,5 @@ +type: int32_t +0 +100 +200 +300 |
