diff options
author | Torsten Paul <Torsten.Paul@gmx.de> | 2014-01-23 20:19:15 (GMT) |
---|---|---|
committer | Torsten Paul <Torsten.Paul@gmx.de> | 2014-01-24 19:52:04 (GMT) |
commit | 1212e2ba7c4d3b3ea20ecf91f716b18f3d1109e0 (patch) | |
tree | 5b8ede31e5c38971db44c8796aacecaefe55afff /testdata/scad | |
parent | 9d55e33b36d8b7fa802ebf6e962375828b05913d (diff) |
Handle NaN / +Inf / -Inf in range evaluation (fixes #606).
Diffstat (limited to 'testdata/scad')
-rw-r--r-- | testdata/scad/features/for-tests.scad | 36 |
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]) {} |