skia2/tests/sksl/runtime/LoopFloat.rte
Brian Osman 3d81fdcbd2 Add unit tests for for-loop unrolling
Change-Id: I350a6768ac124362b0d3e0f17e7a026265acf804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/353627
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-01-14 14:38:16 +00:00

41 lines
732 B
Plaintext

// Should return 5
float return_loop() {
for (float i = 0; i < 10; ++i) {
if (i == 5) { return i; }
}
return 0;
}
// Should return 35
float continue_loop() {
float sum = 0;
for (float i = 0; i < 10; ++i) {
if (i < 5) { continue; }
sum += i;
}
return sum;
}
// Should return 15
float break_loop() {
float sum = 0;
for (float i = 0; i < 10; ++i) {
if (i > 5) { break; }
sum += i;
}
return sum;
}
// Should return ~1.725
float float_loop() {
float sum = 0;
for (float i = 0.123; i < 0.6; i += 0.111) {
sum += i;
}
return sum;
}
half4 main() {
return half4(return_loop(), continue_loop(), break_loop(), float_loop());
}