tisp

tiny lisp
git clone git://edryd.org/tisp
Log | Files | Refs | LICENSE

commit 90eaef4ab925dff9a98e6727ec531071456e5f0c
parent dcdb9ea1b8303e13fcd96a5218c0bd0984f6c9dc
Author: Ed van Bruggen <edvb@uw.edu>
Date:   Fri, 18 Jan 2019 15:57:34 -0800

Add arithmetic function tests

Diffstat:
test.c | 80++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 65 insertions(+), 15 deletions(-)

diff --git a/test.c b/test.c @@ -161,23 +161,73 @@ char *tests[][2] = { { "(add2 2)", "4" }, { "lambda", NULL }, - { "((lambda (x) x) 3)", "3" }, - { "((lambda (x) x) (+ 1 2))", "3" }, - { "((lambda (x) (+ x 1)) 8)", "9" }, - { "((lambda (a b) (+ a b)) 2 2)", "4" }, - { "((lambda () 5))", "5" }, + { "((lambda (x) x) 3)", "3" }, + { "((lambda (x) x) (+ 1 2))", "3" }, + { "((lambda (x) (+ x 1)) 8)", "9" }, + { "((lambda (a b) (+ a b)) 2 2)", "4" }, + { "((lambda () 5))", "5" }, - { "add", NULL }, - { "(+ 1 1)", "2" }, - { "(+ 1 (+ 1 2))", "4" }, - { "(+ 1029 283)", "1312" }, + { "add", NULL }, + { "(+ 1 1)", "2" }, + { "(+ 1 (+ 1 2))", "4" }, + { "(+ 1029 283)", "1312" }, + { "(+ 204 8.3)", "212.3" }, + { "(+ 33 3/4)", "135/4" }, + { "(+ 1/3 5)", "16/3" }, + { "(+ 7/4 pi)", "4.89159265358979" }, + { "(+ 2/5 3/2)", "19/10" }, + { "(+ 2.1 2)", "4.1" }, + { "(+ 8.6 5.3)", "13.9" }, + { "(+ 3.7 1/8)", "3.825" }, - { "sub", NULL }, - { "(- 3)", "-3" }, - { "(- +3)", "-3" }, - { "(- -289)", "289" }, - { "(- 5 4)", "1" }, - { "(- 53 88)", "-35" }, + { "subtract", NULL }, + { "(- 3)", "-3" }, + { "(- +3)", "-3" }, + { "(- -289)", "289" }, + { "(- 7/8)", "-7/8" }, + { "(- -6.412E2)", "641.2" }, + { "(- 5 4)", "1" }, + { "(- 53 88)", "-35" }, + { "(- 204 8.3)", "195.7" }, + { "(- 33 3/4)", "129/4" }, + { "(- 1/3 5)", "-14/3" }, + { "(- 7/4 pi)", "-1.39159265358979" }, + { "(- 2/5 3/2)", "-11/10" }, + { "(- 2.1 2)", "0.1" }, + { "(- 8.6 5.3)", "3.3" }, + { "(- 3.7 1/8)", "3.575" }, + + { "multiply", NULL }, + { "(* 3 2)", "6" }, + { "(* -2 8.89)", "-17.78" }, + { "(* 6 3/4)", "9/2" }, + { "(* 1.004 8)", "8.032" }, + { "(* 1.34e3 .0012)", "1.608" }, + { "(* e -5/2)", "-6.79570457114761" }, + { "(* 1/3 6)", "2" }, + { "(* 5/2 14.221)", "35.5525" }, + { "(* 6/8 8/7)", "6/7" }, + + { "divide", NULL }, + { "(/ 1 2)", "1/2" }, + { "(/ 8 4)", "2" }, + { "(/ 6 2.1)", "2.85714285714286" }, + { "(/ 4 4/3)", "3" }, + { "(/ 10.42 5)", "2.084" }, + { "(/ 1.34e-2 4.3332)", "0.0030924028431644" }, + { "(/ 1.04 -15/4)", "-0.277333333333333" }, + { "(/ 4/3 7)", "4/21" }, + { "(/ 5/4 3.2)", "0.390625" }, + { "(/ 1/3 5/4)", "4/15" }, + + { "mod", NULL }, + { "(mod 10 3)", "1" }, + { "(mod -11 3)", "-2" }, + { "(mod 10 -3)", "1" }, + { "(mod -10 -3)", "-1" }, + { "(mod 10 5)", "0" }, + { "(mod 7 2)", "1" }, + { "(mod 8 5)", "3" }, { "compare", NULL }, { "(< 2 3)", "t" },