From f26515125e950b452023e3e8bddcc371861bcbf8 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 20 Nov 2009 15:31:13 -0500 Subject: Evaluate arithmetic expressions during parsing when possible. This is needed for conditionals to work, and for declared identifiers to be evaluated only once. --- tests/dimension/demo.pov | 2 +- tests/dimension/demo.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'tests/dimension') diff --git a/tests/dimension/demo.pov b/tests/dimension/demo.pov index 24d934a..764130d 100644 --- a/tests/dimension/demo.pov +++ b/tests/dimension/demo.pov @@ -24,5 +24,5 @@ box { } sphere { - <1/5 + -1/5, 1/5.0 - 1.0/5, 0>, 1.25 + <1/5 + -1/5, 1/5.0 - 1.0/5, -1 - -1>, 1.25 } diff --git a/tests/dimension/demo.sh b/tests/dimension/demo.sh index bd05f3d..816a317 100755 --- a/tests/dimension/demo.sh +++ b/tests/dimension/demo.sh @@ -20,8 +20,8 @@ ######################################################################### demo=$(${top_builddir}/dimension/dimension --tokenize --parse ${srcdir}/demo.pov) -demo_exp='(box { < - (float "2.0") + (integer "1") , - (integer "2") / (float "2.0") , - (float "1.0") > , < (float "1.0") , \( (float "1.0") + (integer "2") \) * (integer "2") - (integer "5") , (float "1.0") + (integer "2") * (integer "2") - (integer "4") > } sphere { < (integer "1") / (integer "5") + - (integer "1") / (integer "5") , (integer "1") / (float "5.0") - (float "1.0") / (integer "5") , (integer "0") > , (float "1.25") }) -((box (vector (+ (- (float 2)) (integer 1)) (/ (- (integer 2)) (float 2)) (- (float 1))) (vector (float 1) (- (* (+ (float 1) (integer 2)) (integer 2)) (integer 5)) (- (+ (float 1) (* (integer 2) (integer 2))) (integer 4)))) (sphere (vector (+ (/ (integer 1) (integer 5)) (/ (- (integer 1)) (integer 5))) (- (/ (integer 1) (float 5)) (/ (float 1) (integer 5))) (integer 0)) (float 1.25)))' +demo_exp='(box { < - (float "2.0") + (integer "1") , - (integer "2") / (float "2.0") , - (float "1.0") > , < (float "1.0") , \( (float "1.0") + (integer "2") \) * (integer "2") - (integer "5") , (float "1.0") + (integer "2") * (integer "2") - (integer "4") > } sphere { < (integer "1") / (integer "5") + - (integer "1") / (integer "5") , (integer "1") / (float "5.0") - (float "1.0") / (integer "5") , - (integer "1") - - (integer "1") > , (float "1.25") }) +((box (vector (float -1) (float -1) (float -1)) (vector (float 1) (float 1) (float 1))) (sphere (vector (float 0) (float 0) (integer 0)) (float 1.25)))' if [ "$demo" != "$demo_exp" ]; then echo "demo.pov parsed as \"$demo\"" >&2 -- cgit v1.2.3