summaryrefslogtreecommitdiff
path: root/testdata/scad
diff options
context:
space:
mode:
authorTorsten Paul <Torsten.Paul@gmx.de>2014-01-23 20:19:15 (GMT)
committerTorsten Paul <Torsten.Paul@gmx.de>2014-01-24 19:52:04 (GMT)
commit1212e2ba7c4d3b3ea20ecf91f716b18f3d1109e0 (patch)
tree5b8ede31e5c38971db44c8796aacecaefe55afff /testdata/scad
parent9d55e33b36d8b7fa802ebf6e962375828b05913d (diff)
Handle NaN / +Inf / -Inf in range evaluation (fixes #606).
Diffstat (limited to 'testdata/scad')
-rw-r--r--testdata/scad/features/for-tests.scad36
1 files changed, 36 insertions, 0 deletions
diff --git a/testdata/scad/features/for-tests.scad b/testdata/scad/features/for-tests.scad
index 10295b1..6bb7f69 100644
--- a/testdata/scad/features/for-tests.scad
+++ b/testdata/scad/features/for-tests.scad
@@ -39,3 +39,39 @@ for(r=[1:true:5]) translate([r*10-60,50,0]) cylinder(r=r);
// Vector
for(r=[1,2,5]) translate([r*10-30,0,0]) cylinder(r=r);
+
+nan = 0/0;
+inf = 1/0;
+ninf = -1/0;
+
+echo(nan);
+echo(inf);
+echo(ninf);
+
+// validate step values
+for(i=[0:nan:0]) { echo("NAN", i); }
+for(i=[0:inf:0]) { echo("INF", i); }
+for(i=[0:ninf:0]) { echo("-INF", i); }
+
+for(i=[0:nan:1]) { echo("NAN", i); }
+for(i=[0:inf:1]) { echo("INF", i); }
+for(i=[0:ninf:1]) { echo("-INF", i); }
+
+for(i=[1:nan:0]) { echo("NAN", i); }
+for(i=[1:inf:0]) { echo("INF", i); }
+for(i=[1:ninf:0]) { echo("-INF", i); }
+
+// validate begin / end values
+for(i = [0:inf]) {}
+for(i = [0:ninf]) {}
+for(i = [inf:0]) {}
+for(i = [ninf:0]) {}
+
+for(i = [0:2:inf]) {}
+for(i = [0:2:ninf]) {}
+for(i = [inf:2:0]) {}
+for(i = [ninf:2:0]) {}
+for(i = [inf:2:inf]) {}
+for(i = [ninf:2:ninf]) {}
+for(i = [inf:2:ninf]) {}
+for(i = [ninf:2:inf]) {}
contact: Jan Huwald // Impressum