# Checking the binary operations. -*- Autotest -*- # Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. # # This file is part of GNU libmatheval # # GNU libmatheval is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2, or (at # your option) any later version. # # GNU libmatheval is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with program; see the file COPYING. If not, write to the Free # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AT_BANNER([[Checking evaluating binary operations.]]) AT_SETUP([Check binary operations.]) AT_DATA([function.scm], [[ (define f (evaluator-create "4+x")) (display (evaluator-evaluate-x f 1)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [5.0], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4+x")) (define f_prim (evaluator-derivative-x f)) (display (evaluator-get-string f_prim)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [1], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4-x")) (display (evaluator-evaluate-x f 1)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [3.0], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4-x")) (define f_prim (evaluator-derivative-x f)) (display (evaluator-get-string f_prim)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [(-1)], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4*x")) (display (evaluator-evaluate-x f 1)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [4.0], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4*x")) (define f_prim (evaluator-derivative-x f)) (display (evaluator-get-string f_prim)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [((0*x)+4)], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4/x")) (display (evaluator-evaluate-x f 1)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [4.0], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4/x")) (define f_prim (evaluator-derivative-x f)) (display (evaluator-get-string f_prim)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [(((0*x)-4)/(x^2))], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4^x")) (display (evaluator-evaluate-x f 1)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [4.0], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "4^x")) (define f_prim (evaluator-derivative-x f)) (display (evaluator-get-string f_prim)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [((4^x)*(1.38629+(x*0)))], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "x^4")) (display (evaluator-evaluate-x f 1)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [1.0], [ignore]) AT_DATA([function.scm], [[ (define f (evaluator-create "x^4")) (define f_prim (evaluator-derivative-x f)) (display (evaluator-get-string f_prim)) ]]) AT_CHECK([matheval.sh function.scm], [ignore], [(4*(x^3))], [ignore]) AT_CLEANUP