;;; .EnTete "Le-Lisp (c) version 15.2" "" "Test de l'arithme'tique ge'ne'rique" ;;; .EnPied "testgenr.ll" "%" " " ;;; ;;; .SuperTitre "Test de l'arithme'tique ge'ne'rique sur R" ;;; ;;; ;;; .Centre "*****************************************************************" ;;; .Centre " Ce fichier est en lecture seule hors du projet ALE de l'INRIA. " ;;; .Centre " Il est maintenu par ILOG SA, 2 Avenue Gallie'ni, 94250 Gentilly " ;;; .Centre " (c) Le-Lisp est une marque de'pose'e de l'INRIA " ;;; .Centre "*****************************************************************" ;;; ;;; .Centre "$Header: testgenr.ll,v 4.1 88/01/13 12:31:40 kuczynsk Rel $" (unless (>= (version) 15.2) (error 'load 'erricf 'testfn)) (unless (featurep 'testcomm) (libload testcomm t)) (unless (featurep 'genr) (print "Je charge les generiques interpretes") (libload genr t)) (testfn ()) (test-serie "Test de l'arithmetique generique sur R" ()) 12 12 12345678910 12345678910 00000123 123 -123 -123 -32768 -32768 (- 32768) -32768 (+ -16384 -16384) -32768 (+ -16383 -16385) -32768 (* 2 -16384) -32768 (quotient -32768 2) -16384 2/3 2/3 4/6 2/3 -10/2 -5 (setq a 52/4096) 13/1024 (1+ 99999) 100000 (1+ 5/7) 12/7 (1- 7/2) 5/2 (1- 1/2) -1/2 (abs 7/2) 7/2 (abs -1/2) 1/2 (+ 1 2 1/2) 7/2 (+ 1 -1/2 1/3) 5/6 (+ 1/3 2/3) 1 (+ -3 100000) 99997 (+ -3 -100000) -100003 (- -3/2) 3/2 (- 3/2) -3/2 (- 1/2 1/3 1) -5/6 (- 5/3 2/3) 1 (- 1000000 1) 999999 (- 1/100000) -1/100000 (* 12345679 81) 999999999 (* 1/2 -1/3 1/4) -1/24 (* 5/3 6/25) 2/5 (* 22/7 7/11) 2 (* 22/7 7/11 -1/3) -2/3 (/ 1 24) 1/24 (/ 5/3 2/3) 5/2 (/ 1/3) 3 (numberp 2) 2 (numberp -4/6) -2/3 (numberp (tcons 'C 2)) () (rationalp 3) 3 (rationalp 2.0) () (integerp 2) 2 (integerp 4/3) () (integerp 2.0) () (integerp 23) 23 (integerp -2) -2 (<?> 2 4/2) 0 (<?> 3/2 2/3) 1 (<?> 2/3 3/4) -1 (setq a 1234567) 1234567 (setq b 123456) 123456 (+ (* (quotient a b) b) (modulo a b)) 1234567 (+ (* (quotient (- a) (- b)) (- b)) (modulo (- a) (- b))) -1234567 (+ (* (quotient a (- b)) (- b)) (modulo a (- b))) 1234567 (+ (* (quotient (- a) (- b)) (- b)) (modulo (- a) (- b))) -1234567 (/ 1. 100000) 1.e-05 (quotient 7/2 3) 1 (modulo 7/2 3) 1/2 (quotient 3 2/5) 7 (modulo 3 2/5) 1/5 (quotient 7/2 -3) -1 (modulo 7/2 -3) 1/2 (quotient -3 2/5) -8 (modulo -3 2/5) 1/5 (quomod -100000 12342342345) -1 (quotient 22/7 3) 1 (modulo 22/7 3) 1/7 (quotient -22/7 3) -2 (modulo -22/7 3) 20/7 (quotient 22/7 113/47) 1 (modulo 22/7 113/47) 243/329 (+ (* 113/47 (quomod 22/7 113/47)) #:ex:mod) 22/7 (+ (* -113/47 (quomod 22/7 -113/47)) #:ex:mod) 22/7 (** 10 10) 10000000000 (** 2/3 10) 1024/59049 (** 2/3 0) 1 (** 0 2/3) 0 (** 1 2/3) 1 (** 2 -3) 1/8 (** 2 -6) 1/64 123456/7 123456/7 123456/7 17636.57142857142857142857 (truncate 123456/7) 17636 (truncate -123456/7) -17636 (truncate 2/3) 0 (truncate -2/3) 0 (exp 1/3) 1.39561242508608952862 (exp 230.25) 9915268022112193112773804101189156238276877088319739277383448394081381854101321126361892449463681647.60477040681493387718 (exp -19) .00000000560279643755 (log .00000000560279643755) -18.99999999999772748124 (log 1/3) -1.09861228866810969140 (log 123456) 11.72364009626540093516 (atan 1/3) .32175055439664219339 (atan 123456) 1.57078822674305646460 (atan -123456) -1.57078822674305646460 (sin 1/3) .32719469679615224417 (sin 123456) -.7402834538866575367 (sin -123456) .7402834538866575367 (asin 1/3) .3398369094541219 (cos 1/3) .94495694631473766438 (cos 123456) -.67229488165658451960 (cos -123456) -.67229488165658451960 (acos 1/3) 1.230959417340775 (/= 3 3) () (exp 2/3) 1.94773404105467585662 (** 8 1/3) 2. (<?> 123456. 123456) 0 (test-serie "Fin du test" ()) () ()