pure-lang-svn Mailing List for Pure (Page 13)
Status: Beta
Brought to you by:
agraef
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
(141) |
Jun
(184) |
Jul
(97) |
Aug
(232) |
Sep
(196) |
Oct
|
Nov
|
Dec
|
---|
From: <ag...@us...> - 2008-08-22 12:32:23
|
Revision: 570 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=570&view=rev Author: agraef Date: 2008-08-22 12:32:31 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Round results to 6 digits, to prevent failing tests due to small rounding discrepancies. Modified Paths: -------------- pure/trunk/test/test020.log pure/trunk/test/test020.pure Modified: pure/trunk/test/test020.log =================================================================== --- pure/trunk/test/test020.log 2008-08-22 11:37:41 UTC (rev 569) +++ pure/trunk/test/test020.log 2008-08-22 12:32:31 UTC (rev 570) @@ -36,84 +36,89 @@ <var> state 1 state 1: #0 }) x; -test f/*0:01*/ (x/*0:101*/,y/*0:11*/) = puts$str (f/*0:01*/,x/*0:101*/,y/*0:11*/,check f/*0:01*/ (x/*0:101*/,y/*0:11*/) (catch __error__ (f/*1:01*/ x/*1:101*/ y/*1:11*/))); -test f/*0:01*/ x/*0:1*/ = puts$str (f/*0:01*/,x/*0:1*/,check f/*0:01*/ x/*0:1*/ (catch __error__ (f/*1:01*/ x/*1:1*/))); -check f/*0:001*/ (x/*0:0101*/,y/*0:011*/) z@(f1@_/*0:100*/ x1/*0:101*/ y1/*0:11*/) = __failed__ z/*0:1*/ if f/*0:001*/===f1/*0:100*/&&x/*0:0101*/===x1/*0:101*/&&y/*0:011*/===y1/*0:11*/; -check f/*0:001*/ x/*0:01*/ z@(f1@_/*0:10*/ x1/*0:11*/) = __failed__ z/*0:1*/ if f/*0:001*/===f1/*0:10*/&&x/*0:01*/===x1/*0:11*/; +test f/*0:01*/ (x/*0:101*/,y/*0:11*/) = puts$format (f/*0:01*/,x/*0:101*/,y/*0:11*/,check f/*0:01*/ (x/*0:101*/,y/*0:11*/) (catch __error__ (f/*1:01*/ x/*1:101*/ y/*1:11*/))); +test f/*0:01*/ x/*0:1*/ = puts$format (f/*0:01*/,x/*0:1*/,check f/*0:01*/ x/*0:1*/ (catch __error__ (f/*1:01*/ x/*1:1*/))); +check f/*0:001*/ _/*0:01*/ (g@_/*0:100*/ _/*0:101*/ _/*0:11*/) = __failed__ if f/*0:001*/===g/*0:100*/; +check f/*0:001*/ _/*0:01*/ (g@_/*0:10*/ _/*0:11*/) = __failed__ if f/*0:001*/===g/*0:10*/; check _/*0:001*/ _/*0:01*/ z/*0:1*/ = z/*0:1*/; +format (f/*0:101*/,x/*0:1101*/,y/*0:11101*/,z/*0:1111*/) = str f/*0:101*/+","+show x/*0:1101*/+","+show y/*0:11101*/+","+show z/*0:1111*/; +format (f/*0:101*/,x/*0:1101*/,z/*0:111*/) = str f/*0:101*/+","+show x/*0:1101*/+","+show z/*0:111*/; +show x/*0:1*/::double = sprintf "%#0.6g" x/*0:1*/; +show (x/*0:101*/+:y/*0:11*/) = show x/*0:101*/+"+:"+show y/*0:11*/; +show (x/*0:101*/<:y/*0:11*/) = show x/*0:101*/+"<:"+show y/*0:11*/; +show x/*0:1*/ = str x/*0:1*/; { - rule #0: check f (x,y) z@(f1@_ x1 y1) = __failed__ z if f===f1&&x===x1&&y===y1 - rule #1: check f x z@(f1@_ x1) = __failed__ z if f===f1&&x===x1 + rule #0: check f _ (g@_ _ _) = __failed__ if f===g + rule #1: check f _ (g@_ _) = __failed__ if f===g rule #2: check _ _ z = z state 0: #0 #1 #2 <var> state 1 state 1: #0 #1 #2 <var> state 2 - <app> state 7 - state 2: #1 #2 + state 2: #0 #1 #2 <var> state 3 <app> state 4 state 3: #2 - state 4: #1 #2 + state 4: #0 #1 #2 <var> state 5 + <app> state 7 state 5: #1 #2 <var> state 6 state 6: #1 #2 state 7: #0 #1 #2 <var> state 8 - <app> state 14 - state 8: #1 #2 + state 8: #0 #1 #2 <var> state 9 - state 9: #1 #2 + state 9: #0 #1 #2 <var> state 10 - <app> state 11 - state 10: #2 - state 11: #1 #2 + state 10: #0 #1 #2 +} +{ + rule #0: format (f,x,y,z) = str f+","+show x+","+show y+","+show z + rule #1: format (f,x,z) = str f+","+show x+","+show z + state 0: #0 #1 + <app> state 1 + state 1: #0 #1 + <app> state 2 + state 2: #0 #1 + , state 3 + state 3: #0 #1 + <var> state 4 + state 4: #0 #1 + <app> state 5 + state 5: #0 #1 + <app> state 6 + state 6: #0 #1 + , state 7 + state 7: #0 #1 + <var> state 8 + state 8: #0 #1 + <var> state 9 + <app> state 10 + state 9: #1 + state 10: #0 #1 + <var> state 11 + <app> state 13 + state 11: #1 <var> state 12 - state 12: #1 #2 - <var> state 13 - state 13: #1 #2 - state 14: #0 #1 #2 + state 12: #1 + state 13: #0 #1 + <var> state 14 + , state 17 + state 14: #1 <var> state 15 - , state 22 - state 15: #1 #2 + state 15: #1 <var> state 16 - state 16: #1 #2 - <var> state 17 - state 17: #1 #2 + state 16: #1 + state 17: #0 #1 <var> state 18 - <app> state 19 - state 18: #2 - state 19: #1 #2 - <var> state 20 - state 20: #1 #2 - <var> state 21 - state 21: #1 #2 - state 22: #0 #1 #2 - <var> state 23 - state 23: #0 #1 #2 - <var> state 24 - state 24: #0 #1 #2 - <var> state 25 - <app> state 26 - state 25: #2 - state 26: #0 #1 #2 - <var> state 27 - <app> state 29 - state 27: #1 #2 - <var> state 28 - state 28: #1 #2 - state 29: #0 #1 #2 - <var> state 30 - state 30: #0 #1 #2 - <var> state 31 - state 31: #0 #1 #2 - <var> state 32 - state 32: #0 #1 #2 + state 18: #0 #1 + <var> state 19 + state 19: #0 #1 } { - rule #0: test f (x,y) = puts$str (f,x,y,check f (x,y) (catch __error__ (f x y))) - rule #1: test f x = puts$str (f,x,check f x (catch __error__ (f x))) + rule #0: test f (x,y) = puts$format (f,x,y,check f (x,y) (catch __error__ (f x y))) + rule #1: test f x = puts$format (f,x,check f x (catch __error__ (f x))) state 0: #0 #1 <var> state 1 state 1: #0 #1 @@ -140,394 +145,431 @@ <var> state 12 state 12: #0 #1 } +{ + rule #0: show x::double = sprintf "%#0.6g" x + rule #1: show (x+:y) = show x+"+:"+show y + rule #2: show (x<:y) = show x+"<:"+show y + rule #3: show x = str x + state 0: #0 #1 #2 #3 + <var> state 1 + <var>::double state 2 + <app> state 3 + state 1: #3 + state 2: #0 #3 + state 3: #1 #2 #3 + <var> state 4 + <app> state 6 + state 4: #3 + <var> state 5 + state 5: #3 + state 6: #1 #2 #3 + <var> state 7 + +: state 10 + <: state 13 + state 7: #3 + <var> state 8 + state 8: #3 + <var> state 9 + state 9: #3 + state 10: #1 #3 + <var> state 11 + state 11: #1 #3 + <var> state 12 + state 12: #1 #3 + state 13: #2 #3 + <var> state 14 + state 14: #2 #3 + <var> state 15 + state 15: #2 #3 +} *** UNARY *** -sqrt,1,1.0 -sqrt,-1,0.0+:1.0 -sqrt,0,0.0 -sqrt,0.0,0.0 -sqrt,1.2,1.09544511501033 -sqrt,-1.2,0.0+:1.09544511501033 -sqrt,1L%3L,0.577350269189626 -sqrt,(-1L)%4L,0.0+:0.5 -sqrt,1+:2,1.27201964951407+:0.786151377757423 -sqrt,-1+:2,0.786151377757423+:1.27201964951407 -sqrt,1+:-2,1.27201964951407+:0.786151377757423 -sqrt,-1.2+:4.3,1.27755682008863+:1.68289970840659 -sqrt,1.2+:-4.3,1.68289970840659+:1.27755682008863 -sqrt,1L%2L+:1,0.899453719973934+:0.555892970251421 -sqrt,1L%2L+:3L%4L,0.83707461401777+:0.447988738064919 -sqrt,3<:1,1.73205080756888<:0.5 -sqrt,3<:-2.14159265358979,1.73205080756888<:-1.0707963267949 -sqrt,3.0<:-3,1.73205080756888<:-1.5 -sqrt,3.1<:2.5,1.7606816861659<:1.25 -sqrt,2L%3L<:2,0.816496580927726<:1.0 -sqrt,1L%2L<:3L%4L,0.707106781186548<:0.375 -sqrt,-inf,0.0+:inf +sqrt,1,1.00000 +sqrt,-1,0.00000+:1.00000 +sqrt,0,0.00000 +sqrt,0.00000,0.00000 +sqrt,1.20000,1.09545 +sqrt,-1.20000,0.00000+:1.09545 +sqrt,1L%3L,0.577350 +sqrt,(-1L)%4L,0.00000+:0.500000 +sqrt,1+:2,1.27202+:0.786151 +sqrt,-1+:2,0.786151+:1.27202 +sqrt,1+:-2,1.27202+:0.786151 +sqrt,-1.20000+:4.30000,1.27756+:1.68290 +sqrt,1.20000+:-4.30000,1.68290+:1.27756 +sqrt,1L%2L+:1,0.899454+:0.555893 +sqrt,1L%2L+:3L%4L,0.837075+:0.447989 +sqrt,3<:1,1.73205<:0.500000 +sqrt,3<:-2.14159,1.73205<:-1.07080 +sqrt,3.00000<:-3,1.73205<:-1.50000 +sqrt,3.10000<:2.50000,1.76068<:1.25000 +sqrt,2L%3L<:2,0.816497<:1.00000 +sqrt,1L%2L<:3L%4L,0.707107<:0.375000 +sqrt,-inf,0.00000+:inf sqrt,nan,nan -sin,1,0.841470984807897 -sin,-1,-0.841470984807897 -sin,0,0.0 -sin,0.0,0.0 -sin,1.2,0.932039085967226 -sin,-1.2,-0.932039085967226 -sin,1L%3L,0.327194696796152 -sin,(-1L)%4L,-0.247403959254523 -sin,1+:2,3.16577851321617+:1.95960104142161 -sin,-1+:2,-3.16577851321617+:1.95960104142161 -sin,1+:-2,3.16577851321617+:-1.95960104142161 -sin,-1.2+:4.3,-34.351867391542+:13.3503875389022 -sin,1.2+:-4.3,34.351867391542+:-13.3503875389022 -sin,1L%2L+:1,0.739792264456014+:1.03133607425455 -sin,1L%2L+:3L%4L,0.620704231078055+:0.721650824297564 -sin,3<:1,6.28163530398568<:-0.0494726344890117 -sin,3<:-2.14159265358979,6.28163530398567<:3.09212001910078 -sin,3.0<:-3,0.468364088212104<:1.97989764678311 -sin,3.1<:2.5,3.17788867786845<:-2.25266146393774 -sin,2L%3L<:2,0.699833695459732<:2.05499060924475 -sin,1L%2L<:3L%4L,0.498700404819053<:0.708394123409847 +sin,1,0.841471 +sin,-1,-0.841471 +sin,0,0.00000 +sin,0.00000,0.00000 +sin,1.20000,0.932039 +sin,-1.20000,-0.932039 +sin,1L%3L,0.327195 +sin,(-1L)%4L,-0.247404 +sin,1+:2,3.16578+:1.95960 +sin,-1+:2,-3.16578+:1.95960 +sin,1+:-2,3.16578+:-1.95960 +sin,-1.20000+:4.30000,-34.3519+:13.3504 +sin,1.20000+:-4.30000,34.3519+:-13.3504 +sin,1L%2L+:1,0.739792+:1.03134 +sin,1L%2L+:3L%4L,0.620704+:0.721651 +sin,3<:1,6.28164<:-0.0494726 +sin,3<:-2.14159,6.28164<:3.09212 +sin,3.00000<:-3,0.468364<:1.97990 +sin,3.10000<:2.50000,3.17789<:-2.25266 +sin,2L%3L<:2,0.699834<:2.05499 +sin,1L%2L<:3L%4L,0.498700<:0.708394 sin,-inf,nan sin,nan,nan -cos,1,0.54030230586814 -cos,-1,0.54030230586814 -cos,0,1.0 -cos,0.0,1.0 -cos,1.2,0.362357754476674 -cos,-1.2,0.362357754476674 -cos,1L%3L,0.944956946314738 -cos,(-1L)%4L,0.968912421710645 -cos,1+:2,2.03272300701967+:-3.0518977991518 -cos,-1+:2,2.03272300701967+:3.0518977991518 -cos,1+:-2,2.03272300701967+:3.0518977991518 -cos,-1.2+:4.3,13.3553042114774+:34.3392209642024 -cos,1.2+:-4.3,13.3553042114774+:34.3392209642024 -cos,1L%2L+:1,1.35418065670458+:-0.563421465230982 -cos,1L%2L+:3L%4L,1.13619147380335+:-0.394239642111583 -cos,3<:1,6.20193195969258<:-1.62155307254104 -cos,3<:-2.14159265358979,6.20193195969257<:-1.62155307254104 -cos,3.0<:-3,1.07751445241005<:-3.07241725532314 -cos,3.1<:2.5,3.21728657985303<:2.50707118166099 -cos,2L%3L<:2,1.15747143172116<:0.152985430170633 -cos,1L%2L<:3L%4L,0.996367993542271<:-0.125077153297551 +cos,1,0.540302 +cos,-1,0.540302 +cos,0,1.00000 +cos,0.00000,1.00000 +cos,1.20000,0.362358 +cos,-1.20000,0.362358 +cos,1L%3L,0.944957 +cos,(-1L)%4L,0.968912 +cos,1+:2,2.03272+:-3.05190 +cos,-1+:2,2.03272+:3.05190 +cos,1+:-2,2.03272+:3.05190 +cos,-1.20000+:4.30000,13.3553+:34.3392 +cos,1.20000+:-4.30000,13.3553+:34.3392 +cos,1L%2L+:1,1.35418+:-0.563421 +cos,1L%2L+:3L%4L,1.13619+:-0.394240 +cos,3<:1,6.20193<:-1.62155 +cos,3<:-2.14159,6.20193<:-1.62155 +cos,3.00000<:-3,1.07751<:-3.07242 +cos,3.10000<:2.50000,3.21729<:2.50707 +cos,2L%3L<:2,1.15747<:0.152985 +cos,1L%2L<:3L%4L,0.996368<:-0.125077 cos,-inf,nan cos,nan,nan -tan,1,1.5574077246549 -tan,-1,-1.5574077246549 -tan,0,0.0 -tan,0.0,0.0 -tan,1.2,2.57215162212632 -tan,-1.2,-2.57215162212632 -tan,1L%3L,0.346253549510575 -tan,(-1L)%4L,-0.255341921221036 -tan,1+:2,0.0338128260798967+:1.01479361614663 -tan,-1+:2,-0.0338128260798967+:1.01479361614663 -tan,1+:-2,0.0338128260798967+:-1.01479361614663 -tan,-1.2+:4.3,-0.000248780909688767+:1.00027152283444 -tan,1.2+:-4.3,0.000248780909688767+:-1.00027152283444 -tan,1L%2L+:1,0.195577310065934+:0.842966204845783 -tan,1L%2L+:3L%4L,0.290893461829618+:0.736084170551191 -tan,3<:1,1.01285137354152<:1.57208043805203 -tan,3<:-2.14159265358979,1.01285137354152<:-1.56951221553776 -tan,3.0<:-3,0.434670817792307<:-1.23087040507334 -tan,3.1<:2.5,0.987754307548699<:1.52345266158086 -tan,2L%3L<:2,0.604622866949795<:1.90200517907412 -tan,1L%2L<:3L%4L,0.500518290482296<:0.833471276707398 +tan,1,1.55741 +tan,-1,-1.55741 +tan,0,0.00000 +tan,0.00000,0.00000 +tan,1.20000,2.57215 +tan,-1.20000,-2.57215 +tan,1L%3L,0.346254 +tan,(-1L)%4L,-0.255342 +tan,1+:2,0.0338128+:1.01479 +tan,-1+:2,-0.0338128+:1.01479 +tan,1+:-2,0.0338128+:-1.01479 +tan,-1.20000+:4.30000,-0.000248781+:1.00027 +tan,1.20000+:-4.30000,0.000248781+:-1.00027 +tan,1L%2L+:1,0.195577+:0.842966 +tan,1L%2L+:3L%4L,0.290893+:0.736084 +tan,3<:1,1.01285<:1.57208 +tan,3<:-2.14159,1.01285<:-1.56951 +tan,3.00000<:-3,0.434671<:-1.23087 +tan,3.10000<:2.50000,0.987754<:1.52345 +tan,2L%3L<:2,0.604623<:1.90201 +tan,1L%2L<:3L%4L,0.500518<:0.833471 tan,-inf,nan tan,nan,nan -ln,1,0.0 -ln,-1,0.0+:3.14159265358979 +ln,1,0.00000 +ln,-1,0.00000+:3.14159 ln,0,-inf -ln,0.0,-inf -ln,1.2,0.182321556793955 -ln,-1.2,0.182321556793955+:3.14159265358979 -ln,1L%3L,-1.09861228866811 -ln,(-1L)%4L,-1.38629436111989+:3.14159265358979 -ln,1+:2,0.80471895621705+:1.10714871779409 -ln,-1+:2,0.80471895621705+:2.0344439357957 -ln,1+:-2,0.80471895621705+:-1.10714871779409 -ln,-1.2+:4.3,1.49611306711235+:1.84294221732608 -ln,1.2+:-4.3,1.49611306711235+:-1.29865043626371 -ln,1L%2L+:1,0.111571775657105+:1.10714871779409 -ln,1L%2L+:3L%4L,-0.103819682389122+:0.982793723247329 -ln,3<:1,1.48558034478536<:0.738443417734099 -ln,3<:-2.14159265358979,2.40694163924312<:-1.09681203355936 -ln,3.0<:-3,3.19483160132308<:-1.21975934437627 -ln,3.1<:2.5,2.74409743593163<:1.14581484226141 -ln,2L%3L<:2,2.04068663784844<:1.77081795644967 -ln,1L%2L<:3L%4L,1.02125071060842<:2.31681982604851 -ln,-inf,inf+:3.14159265358979 +ln,0.00000,-inf +ln,1.20000,0.182322 +ln,-1.20000,0.182322+:3.14159 +ln,1L%3L,-1.09861 +ln,(-1L)%4L,-1.38629+:3.14159 +ln,1+:2,0.804719+:1.10715 +ln,-1+:2,0.804719+:2.03444 +ln,1+:-2,0.804719+:-1.10715 +ln,-1.20000+:4.30000,1.49611+:1.84294 +ln,1.20000+:-4.30000,1.49611+:-1.29865 +ln,1L%2L+:1,0.111572+:1.10715 +ln,1L%2L+:3L%4L,-0.103820+:0.982794 +ln,3<:1,1.48558<:0.738443 +ln,3<:-2.14159,2.40694<:-1.09681 +ln,3.00000<:-3,3.19483<:-1.21976 +ln,3.10000<:2.50000,2.74410<:1.14581 +ln,2L%3L<:2,2.04069<:1.77082 +ln,1L%2L<:3L%4L,1.02125<:2.31682 +ln,-inf,inf+:3.14159 ln,nan,nan -log,1,0.0 -log,-1,0.0+:1.36437635384184 +log,1,0.00000 +log,-1,0.00000+:1.36438 log,0,-inf -log,0.0,-inf -log,1.2,0.0791812460476248 -log,-1.2,0.0791812460476248+:1.36437635384184 -log,1L%3L,-0.477121254719662 -log,(-1L)%4L,-0.602059991327962+:1.36437635384184 -log,1+:2,0.349485002168009+:0.480828578784234 -log,-1+:2,0.349485002168009+:0.883547775057607 -log,1+:-2,0.349485002168009+:-0.480828578784234 -log,-1.2+:4.3,0.649753649350244+:0.800379635451262 -log,1.2+:-4.3,0.649753649350244+:-0.56399671839058 -log,1L%2L+:1,0.0484550065040282+:0.480828578784234 -log,1L%2L+:3L%4L,-0.045088315174544+:0.426821890855467 -log,3<:1,0.645179346164211<:0.738443417734099 -log,3<:-2.14159265358979,1.04532147218645<:-1.09681203355936 -log,3.0<:-3,1.38749773506474<:-1.21975934437627 -log,3.1<:2.5,1.19174637422997<:1.14581484226141 -log,2L%3L<:2,0.886258946111277<:1.77081795644967 -log,1L%2L<:3L%4L,0.443523548257011<:2.31681982604851 -log,-inf,inf+:1.36437635384184 +log,0.00000,-inf +log,1.20000,0.0791812 +log,-1.20000,0.0791812+:1.36438 +log,1L%3L,-0.477121 +log,(-1L)%4L,-0.602060+:1.36438 +log,1+:2,0.349485+:0.480829 +log,-1+:2,0.349485+:0.883548 +log,1+:-2,0.349485+:-0.480829 +log,-1.20000+:4.30000,0.649754+:0.800380 +log,1.20000+:-4.30000,0.649754+:-0.563997 +log,1L%2L+:1,0.0484550+:0.480829 +log,1L%2L+:3L%4L,-0.0450883+:0.426822 +log,3<:1,0.645179<:0.738443 +log,3<:-2.14159,1.04532<:-1.09681 +log,3.00000<:-3,1.38750<:-1.21976 +log,3.10000<:2.50000,1.19175<:1.14581 +log,2L%3L<:2,0.886259<:1.77082 +log,1L%2L<:3L%4L,0.443524<:2.31682 +log,-inf,inf+:1.36438 log,nan,nan -exp,1,2.71828182845905 -exp,-1,0.367879441171442 -exp,0,1.0 -exp,0.0,1.0 -exp,1.2,3.32011692273655 -exp,-1.2,0.301194211912202 -exp,1L%3L,1.39561242508609 -exp,(-1L)%4L,0.778800783071405 -exp,1+:2,-1.13120438375681+:2.47172667200482 -exp,-1+:2,-0.153091865674226+:0.334511829239262 -exp,1+:-2,-1.13120438375681+:-2.47172667200482 -exp,-1.2+:4.3,-0.120718390769691+:-0.275943877300056 -exp,1.2+:-4.3,-1.33070011384152+:3.04177803063665 -exp,1L%2L+:1,0.890807904293129+:1.38735111132976 -exp,1L%2L+:3L%4L,1.20635100164679+:1.12383232258413 -exp,3<:1,5.05767513183927<:2.52441295442369 -exp,3<:-2.14159265358979,0.197719302630721<:-2.52441295442369 -exp,3.0<:-3,0.0513044651926248<:-0.423360024179602 -exp,3.1<:2.5,0.0834468640645693<:1.85526364672227 -exp,2L%3L<:2,0.757727676013212<:0.606198284550454 -exp,1L%2L<:3L%4L,1.44173094152246<:0.340819380011667 -exp,-inf,0.0 +exp,1,2.71828 +exp,-1,0.367879 +exp,0,1.00000 +exp,0.00000,1.00000 +exp,1.20000,3.32012 +exp,-1.20000,0.301194 +exp,1L%3L,1.39561 +exp,(-1L)%4L,0.778801 +exp,1+:2,-1.13120+:2.47173 +exp,-1+:2,-0.153092+:0.334512 +exp,1+:-2,-1.13120+:-2.47173 +exp,-1.20000+:4.30000,-0.120718+:-0.275944 +exp,1.20000+:-4.30000,-1.33070+:3.04178 +exp,1L%2L+:1,0.890808+:1.38735 +exp,1L%2L+:3L%4L,1.20635+:1.12383 +exp,3<:1,5.05768<:2.52441 +exp,3<:-2.14159,0.197719<:-2.52441 +exp,3.00000<:-3,0.0513045<:-0.423360 +exp,3.10000<:2.50000,0.0834469<:1.85526 +exp,2L%3L<:2,0.757728<:0.606198 +exp,1L%2L<:3L%4L,1.44173<:0.340819 +exp,-inf,0.00000 exp,nan,nan -atan,1,0.785398163397448 -atan,-1,-0.785398163397448 -atan,0,0.0 -atan,0.0,0.0 -atan,1.2,0.876058050598193 -atan,-1.2,-0.876058050598193 -atan,1L%3L,0.321750554396642 -atan,(-1L)%4L,-0.244978663126864 -atan,1+:2,1.33897252229449+:0.402359478108525 -atan,-1+:2,-1.33897252229449+:0.402359478108525 -atan,1+:-2,1.33897252229449+:-0.402359478108525 -atan,-1.2+:4.3,-1.50774129532113+:0.218342844644895 -atan,1.2+:-4.3,1.50774129532113+:-0.218342844644895 -atan,1L%2L+:1,0.90788749496088+:0.708303336014054 -atan,1L%2L+:3L%4L,0.692724188399601+:0.590213500279505 -atan,3<:1,1.37829430594262+:0.277918809215814 -atan,3<:-2.14159265358979,-1.37829430594262+:-0.277918809215814 -atan,3.0<:-3,-1.2514562387973+:-0.0424376137199477 -atan,3.1<:2.5,-1.30916663257012+:0.182562248419793 -atan,2L%3L<:2,-0.392386988985284+:0.609487349380993 -atan,1L%2L<:3L%4L,0.386520254485461+:0.305841704408549 -atan,-inf,-1.5707963267949 +atan,1,0.785398 +atan,-1,-0.785398 +atan,0,0.00000 +atan,0.00000,0.00000 +atan,1.20000,0.876058 +atan,-1.20000,-0.876058 +atan,1L%3L,0.321751 +atan,(-1L)%4L,-0.244979 +atan,1+:2,1.33897+:0.402359 +atan,-1+:2,-1.33897+:0.402359 +atan,1+:-2,1.33897+:-0.402359 +atan,-1.20000+:4.30000,-1.50774+:0.218343 +atan,1.20000+:-4.30000,1.50774+:-0.218343 +atan,1L%2L+:1,0.907887+:0.708303 +atan,1L%2L+:3L%4L,0.692724+:0.590214 +atan,3<:1,1.37829+:0.277919 +atan,3<:-2.14159,-1.37829+:-0.277919 +atan,3.00000<:-3,-1.25146+:-0.0424376 +atan,3.10000<:2.50000,-1.30917+:0.182562 +atan,2L%3L<:2,-0.392387+:0.609487 +atan,1L%2L<:3L%4L,0.386520+:0.305842 +atan,-inf,-1.57080 atan,nan,nan -asin,1,1.5707963267949 -asin,-1,-1.5707963267949 -asin,0,0.0 -asin,0.0,0.0 -asin,1.2,nan -asin,-1.2,nan -asin,1L%3L,0.339836909454122 -asin,(-1L)%4L,-0.252680255142079 -asin,1+:2,1.46783725642233+:-0.652507008444884 -asin,-1+:2,-0.427078586392475+:1.528570919481 -asin,1+:-2,0.427078586392476+:-1.528570919481 -asin,-1.2+:4.3,-0.265853221247092+:2.19988173922994 -asin,1.2+:-4.3,0.26585322124709+:-2.19988173922993 -asin,1L%2L+:1,1.16425299086589+:0.0607070375665663 -asin,1L%2L+:3L%4L,1.07765608825196+:0.0769964640772277 -asin,3<:1,1.52625913130154+:-1.15038039260516 -asin,3<:-2.14159265358979,-0.0164841832973784+:-1.64677129011767 -asin,3.0<:-3,-0.191829829869345+:0.118072277108134 -asin,3.1<:2.5,-0.90374717342567+:1.81806436268745 -asin,2L%3L<:2,-0.23762596948846+:0.589062385533765 -asin,1L%2L<:3L%4L,0.640642731202035+:0.197350122856685 +asin,1,1.57080 +asin,-1,-1.57080 +asin,0,0.00000 +asin,0.00000,0.00000 +asin,1.20000,nan +asin,-1.20000,nan +asin,1L%3L,0.339837 +asin,(-1L)%4L,-0.252680 +asin,1+:2,1.46784+:-0.652507 +asin,-1+:2,-0.427079+:1.52857 +asin,1+:-2,0.427079+:-1.52857 +asin,-1.20000+:4.30000,-0.265853+:2.19988 +asin,1.20000+:-4.30000,0.265853+:-2.19988 +asin,1L%2L+:1,1.16425+:0.0607070 +asin,1L%2L+:3L%4L,1.07766+:0.0769965 +asin,3<:1,1.52626+:-1.15038 +asin,3<:-2.14159,-0.0164842+:-1.64677 +asin,3.00000<:-3,-0.191830+:0.118072 +asin,3.10000<:2.50000,-0.903747+:1.81806 +asin,2L%3L<:2,-0.237626+:0.589062 +asin,1L%2L<:3L%4L,0.640643+:0.197350 asin,-inf,nan asin,nan,nan -acos,1,0.0 -acos,-1,3.14159265358979 -acos,0,1.5707963267949 -acos,0.0,1.5707963267949 -acos,1.2,nan -acos,-1.2,nan -acos,1L%3L,1.23095941734077 -acos,(-1L)%4L,1.82347658193698 -acos,1+:2,1.14371774040242+:-1.528570919481 -acos,-1+:2,1.59219225096909+:-1.43468662650293 -acos,1+:-2,0.102959070372571+:-0.652507008444884 -acos,-1.2+:4.3,1.57414021038985+:-2.16412406339493 -acos,1.2+:-4.3,0.0450678724709049+:-0.864279184310815 -acos,1L%2L+:1,1.22135726393768+:-0.926133031350183 -acos,1L%2L+:3L%4L,1.17251845325659+:-0.743320426325279 -acos,3<:1,1.02436728160651+:-1.80400811392948 -acos,3<:-2.14159265358979,2.11722537198328+:1.80400811392947 -acos,3.0<:-3,2.9915586031129+:1.76406194521987 -acos,3.1<:2.5,1.6042510533514+:-1.33844137461137 -acos,2L%3L<:2,1.64522180739974+:-0.56333169914685 -acos,1L%2L<:3L%4L,1.21973646993134+:-0.355425797099242 +acos,1,0.00000 +acos,-1,3.14159 +acos,0,1.57080 +acos,0.00000,1.57080 +acos,1.20000,nan +acos,-1.20000,nan +acos,1L%3L,1.23096 +acos,(-1L)%4L,1.82348 +acos,1+:2,1.14372+:-1.52857 +acos,-1+:2,1.59219+:-1.43469 +acos,1+:-2,0.102959+:-0.652507 +acos,-1.20000+:4.30000,1.57414+:-2.16412 +acos,1.20000+:-4.30000,0.0450679+:-0.864279 +acos,1L%2L+:1,1.22136+:-0.926133 +acos,1L%2L+:3L%4L,1.17252+:-0.743320 +acos,3<:1,1.02437+:-1.80401 +acos,3<:-2.14159,2.11723+:1.80401 +acos,3.00000<:-3,2.99156+:1.76406 +acos,3.10000<:2.50000,1.60425+:-1.33844 +acos,2L%3L<:2,1.64522+:-0.563332 +acos,1L%2L<:3L%4L,1.21974+:-0.355426 acos,-inf,nan acos,nan,nan -sinh,1,1.1752011936438 -sinh,-1,-1.1752011936438 -sinh,0,0.0 -sinh,0.0,0.0 -sinh,1.2,1.50946135541217 -sinh,-1.2,-1.50946135541217 -sinh,1L%3L,0.33954055725615 -sinh,(-1L)%4L,-0.252612316808168 -sinh,1+:2,-0.489056259041294+:1.40311925062204 -sinh,-1+:2,0.489056259041294+:1.40311925062204 -sinh,1+:-2,-0.489056259041294+:-1.40311925062204 -sinh,-1.2+:4.3,0.604990861535916+:-1.65886095396835 -sinh,1.2+:-4.3,-0.604990861535916+:1.65886095396835 -sinh,1L%2L+:1,0.281548995135334+:0.948864531437168 -sinh,1L%2L+:3L%4L,0.381279634652178+:0.768633564693393 -sinh,3<:1,2.49794510056597<:2.48704664338341 -sinh,3<:-2.14159265358979,2.49794510056597<:-0.654546010206382 -sinh,3.0<:-3,9.72876623396115<:-2.71625741503569 -sinh,3.1<:2.5,6.02702978942574<:1.29005852510914 -sinh,2L%3L<:2,0.635275606273034<:1.94283855664387 -sinh,1L%2L<:3L%4L,0.501647644053453<:0.791507934297849 +sinh,1,1.17520 +sinh,-1,-1.17520 +sinh,0,0.00000 +sinh,0.00000,0.00000 +sinh,1.20000,1.50946 +sinh,-1.20000,-1.50946 +sinh,1L%3L,0.339541 +sinh,(-1L)%4L,-0.252612 +sinh,1+:2,-0.489056+:1.40312 +sinh,-1+:2,0.489056+:1.40312 +sinh,1+:-2,-0.489056+:-1.40312 +sinh,-1.20000+:4.30000,0.604991+:-1.65886 +sinh,1.20000+:-4.30000,-0.604991+:1.65886 +sinh,1L%2L+:1,0.281549+:0.948865 +sinh,1L%2L+:3L%4L,0.381280+:0.768634 +sinh,3<:1,2.49795<:2.48705 +sinh,3<:-2.14159,2.49795<:-0.654546 +sinh,3.00000<:-3,9.72877<:-2.71626 +sinh,3.10000<:2.50000,6.02703<:1.29006 +sinh,2L%3L<:2,0.635276<:1.94284 +sinh,1L%2L<:3L%4L,0.501648<:0.791508 sinh,-inf,-inf sinh,nan,nan -cosh,1,1.54308063481524 -cosh,-1,1.54308063481524 -cosh,0,1.0 -cosh,0.0,1.0 -cosh,1.2,1.81065556732437 -cosh,-1.2,1.81065556732437 -cosh,1L%3L,1.05607186782994 -cosh,(-1L)%4L,1.03141309987957 -cosh,1+:2,-0.64214812471552+:1.06860742138278 -cosh,-1+:2,-0.64214812471552+:-1.06860742138278 -cosh,1+:-2,-0.64214812471552+:-1.06860742138278 -cosh,-1.2+:4.3,-0.725709252305608+:1.38291707666829 -cosh,1.2+:-4.3,-0.725709252305608+:1.38291707666829 -cosh,1L%2L+:1,0.609258909157794+:0.438486579892595 -cosh,1L%2L+:3L%4L,0.825071366994607+:0.355198757890738 -cosh,3<:1,2.56317295660819<:2.56082793818154 -cosh,3<:-2.14159265358979,2.56317295660819<:2.56082793818154 -cosh,3.0<:-3,9.76275249045336<:0.421391685963163 -cosh,3.1<:2.5,5.95672835395987<:-1.85903718102565 -cosh,2L%3L<:2,0.86853394700555<:-0.185395179123782 -cosh,1L%2L<:3L%4L,1.01399782693401<:0.12362173219921 +cosh,1,1.54308 +cosh,-1,1.54308 +cosh,0,1.00000 +cosh,0.00000,1.00000 +cosh,1.20000,1.81066 +cosh,-1.20000,1.81066 +cosh,1L%3L,1.05607 +cosh,(-1L)%4L,1.03141 +cosh,1+:2,-0.642148+:1.06861 +cosh,-1+:2,-0.642148+:-1.06861 +cosh,1+:-2,-0.642148+:-1.06861 +cosh,-1.20000+:4.30000,-0.725709+:1.38292 +cosh,1.20000+:-4.30000,-0.725709+:1.38292 +cosh,1L%2L+:1,0.609259+:0.438487 +cosh,1L%2L+:3L%4L,0.825071+:0.355199 +cosh,3<:1,2.56317<:2.56083 +cosh,3<:-2.14159,2.56317<:2.56083 +cosh,3.00000<:-3,9.76275<:0.421392 +cosh,3.10000<:2.50000,5.95673<:-1.85904 +cosh,2L%3L<:2,0.868534<:-0.185395 +cosh,1L%2L<:3L%4L,1.01400<:0.123622 cosh,-inf,inf cosh,nan,nan -tanh,1,0.761594155955765 -tanh,-1,-0.761594155955765 -tanh,0,0.0 -tanh,0.0,0.0 -tanh,1.2,0.833654607012155 -tanh,-1.2,-0.833654607012155 -tanh,1L%3L,0.321512737531634 -tanh,(-1L)%4L,-0.244918662403709 -tanh,1+:2,1.16673625724092+:-0.243458201185725 -tanh,-1+:2,-1.16673625724092+:-0.243458201185725 -tanh,1+:-2,1.16673625724092+:0.243458201185725 -tanh,-1.2+:4.3,-1.12053602253626+:0.150545901177205 -tanh,1.2+:-4.3,1.12053602253626+:-0.150545901177205 -tanh,1L%2L+:1,1.04283072834436+:0.806877412163085 -tanh,1L%2L+:3L%4L,0.728211801280472+:0.618096394806202 -tanh,3<:1,0.974551910016818<:-0.0737812947981276 -tanh,3<:-2.14159265358979,0.974551910016818<:3.06781135879167 -tanh,3.0<:-3,0.996518783352805<:-3.13764910099886 -tanh,3.1<:2.5,1.01180202139302<:-3.1340896010448 -tanh,2L%3L<:2,0.731434399845024<:2.12823373576766 -tanh,1L%2L<:3L%4L,0.494722602680784<:0.667886202098639 -tanh,-inf,-1.0 +tanh,1,0.761594 +tanh,-1,-0.761594 +tanh,0,0.00000 +tanh,0.00000,0.00000 +tanh,1.20000,0.833655 +tanh,-1.20000,-0.833655 +tanh,1L%3L,0.321513 +tanh,(-1L)%4L,-0.244919 +tanh,1+:2,1.16674+:-0.243458 +tanh,-1+:2,-1.16674+:-0.243458 +tanh,1+:-2,1.16674+:0.243458 +tanh,-1.20000+:4.30000,-1.12054+:0.150546 +tanh,1.20000+:-4.30000,1.12054+:-0.150546 +tanh,1L%2L+:1,1.04283+:0.806877 +tanh,1L%2L+:3L%4L,0.728212+:0.618096 +tanh,3<:1,0.974552<:-0.0737813 +tanh,3<:-2.14159,0.974552<:3.06781 +tanh,3.00000<:-3,0.996519<:-3.13765 +tanh,3.10000<:2.50000,1.01180<:-3.13409 +tanh,2L%3L<:2,0.731434<:2.12823 +tanh,1L%2L<:3L%4L,0.494723<:0.667886 +tanh,-inf,-1.00000 tanh,nan,nan -asinh,1,0.881373587019543 -asinh,-1,-0.881373587019543 -asinh,0,0.0 -asinh,0.0,0.0 -asinh,1.2,1.01597313417969 -asinh,-1.2,-1.01597313417969 -asinh,1L%3L,0.327450150237258 -asinh,(-1L)%4L,-0.247466461547263 -asinh,1+:2,1.46935174436819+:1.06344002357775 -asinh,-1+:2,1.33514626150007+:1.54137900229449 -asinh,1+:-2,0.752047373447746+:-0.0949376700463558 -asinh,-1.2+:4.3,2.13903157554736+:1.56712608995557 -asinh,1.2+:-4.3,0.889371672158385+:-0.0447415192265362 -asinh,1L%2L+:1,0.732857675973645+:0.89590748120889 -asinh,1L%2L+:3L%4L,0.606334999887351+:0.682203965583432 -asinh,3<:1,1.78102534527989+:0.973891130816354 -asinh,3<:-2.14159265358979,-1.78102534527989+:-0.973891130816354 -asinh,3.0<:-3,-1.81749921747243+:-0.13440282951171 -asinh,3.1<:2.5,1.28655350979512+:1.53475346270792 -asinh,2L%3L<:2,-0.00714161261602409+:0.938171779746577 -asinh,1L%2L<:3L%4L,0.376884772780086+:0.323585858402972 +asinh,1,0.881374 +asinh,-1,-0.881374 +asinh,0,0.00000 +asinh,0.00000,0.00000 +asinh,1.20000,1.01597 +asinh,-1.20000,-1.01597 +asinh,1L%3L,0.327450 +asinh,(-1L)%4L,-0.247466 +asinh,1+:2,1.46935+:1.06344 +asinh,-1+:2,1.33515+:1.54138 +asinh,1+:-2,0.752047+:-0.0949377 +asinh,-1.20000+:4.30000,2.13903+:1.56713 +asinh,1.20000+:-4.30000,0.889372+:-0.0447415 +asinh,1L%2L+:1,0.732858+:0.895907 +asinh,1L%2L+:3L%4L,0.606335+:0.682204 +asinh,3<:1,1.78103+:0.973891 +asinh,3<:-2.14159,-1.78103+:-0.973891 +asinh,3.00000<:-3,-1.81750+:-0.134403 +asinh,3.10000<:2.50000,1.28655+:1.53475 +asinh,2L%3L<:2,-0.00714161+:0.938172 +asinh,1L%2L<:3L%4L,0.376885+:0.323586 asinh,-inf,-inf asinh,nan,nan -acosh,1,0.0 -acosh,-1,0.0+:3.14159265358979 -acosh,0,0.0+:1.5707963267949 -acosh,0.0,0.0+:1.5707963267949 -acosh,1.2,0.622362503714779 -acosh,-1.2,-0.622362503714779+:3.14159265358979 -acosh,1L%3L,0.0+:1.23095941734077 -acosh,(-1L)%4L,0.0+:1.82347658193698 -acosh,1+:2,1.528570919481+:1.14371774040242 -acosh,-1+:2,1.43468662650293+:1.59219225096909 -acosh,1+:-2,0.652507008444884+:0.102959070372571 -acosh,-1.2+:4.3,2.16412406339493+:1.57414021038985 -acosh,1.2+:-4.3,0.864279184310815+:0.0450678724709049 -acosh,1L%2L+:1,0.926133031350183+:1.22135726393768 -acosh,1L%2L+:3L%4L,0.743320426325279+:1.17251845325659 -acosh,3<:1,1.80400811392948+:1.02436728160651 -acosh,3<:-2.14159265358979,-1.80400811392947+:2.11722537198328 -acosh,3.0<:-3,-1.76406194521987+:2.9915586031129 -acosh,3.1<:2.5,1.33844137461137+:1.6042510533514 -acosh,2L%3L<:2,0.56333169914685+:1.64522180739974 -acosh,1L%2L<:3L%4L,0.355425797099242+:1.21973646993134 +acosh,1,0.00000 +acosh,-1,0.00000+:3.14159 +acosh,0,0.00000+:1.57080 +acosh,0.00000,0.00000+:1.57080 +acosh,1.20000,0.622363 +acosh,-1.20000,-0.622363+:3.14159 +acosh,1L%3L,0.00000+:1.23096 +acosh,(-1L)%4L,0.00000+:1.82348 +acosh,1+:2,1.52857+:1.14372 +acosh,-1+:2,1.43469+:1.59219 +acosh,1+:-2,0.652507+:0.102959 +acosh,-1.20000+:4.30000,2.16412+:1.57414 +acosh,1.20000+:-4.30000,0.864279+:0.0450679 +acosh,1L%2L+:1,0.926133+:1.22136 +acosh,1L%2L+:3L%4L,0.743320+:1.17252 +acosh,3<:1,1.80401+:1.02437 +acosh,3<:-2.14159,-1.80401+:2.11723 +acosh,3.00000<:-3,-1.76406+:2.99156 +acosh,3.10000<:2.50000,1.33844+:1.60425 +acosh,2L%3L<:2,0.563332+:1.64522 +acosh,1L%2L<:3L%4L,0.355426+:1.21974 acosh,-inf,nan+:nan acosh,nan,nan atanh,1,inf atanh,-1,-inf -atanh,0,0.0 -atanh,0.0,0.0 -atanh,1.2,1.19894763639919+:-1.5707963267949 -atanh,-1.2,-1.19894763639919+:1.5707963267949 -atanh,1L%3L,0.346573590279973 -atanh,(-1L)%4L,-0.255412811882995 -atanh,1+:2,0.173286795139986+:1.17809724509617 -atanh,-1+:2,-0.173286795139986+:1.17809724509617 -atanh,1+:-2,0.173286795139986+:-1.17809724509617 -atanh,-1.2+:4.3,-0.0575872614340175+:1.35758209063893 -atanh,1.2+:-4.3,0.0575872614340176+:-1.35758209063893 -atanh,1L%2L+:1,0.238877861256859+:0.847575660670829 -atanh,1L%2L+:3L%4L,0.310428283077196+:0.723220666124068 -atanh,3<:1,0.1681562506274+:1.28930826312627 -atanh,3<:-2.14159265358979,-0.168156250627401+:-1.28930826312627 -atanh,3.0<:-3,-0.341908696667975+:-1.518072611328 -atanh,3.1<:2.5,-0.253850363925408+:1.36734421742892 -atanh,2L%3L<:2,-0.202451040350963+:0.570560037832821 -atanh,1L%2L<:3L%4L,0.335282255752869+:0.368842031953307 +atanh,0,0.00000 +atanh,0.00000,0.00000 +atanh,1.20000,1.19895+:-1.57080 +atanh,-1.20000,-1.19895+:1.57080 +atanh,1L%3L,0.346574 +atanh,(-1L)%4L,-0.255413 +atanh,1+:2,0.173287+:1.17810 +atanh,-1+:2,-0.173287+:1.17810 +atanh,1+:-2,0.173287+:-1.17810 +atanh,-1.20000+:4.30000,-0.0575873+:1.35758 +atanh,1.20000+:-4.30000,0.0575873+:-1.35758 +atanh,1L%2L+:1,0.238878+:0.847576 +atanh,1L%2L+:3L%4L,0.310428+:0.723221 +atanh,3<:1,0.168156+:1.28931 +atanh,3<:-2.14159,-0.168156+:-1.28931 +atanh,3.00000<:-3,-0.341909+:-1.51807 +atanh,3.10000<:2.50000,-0.253850+:1.36734 +atanh,2L%3L<:2,-0.202451+:0.570560 +atanh,1L%2L<:3L%4L,0.335282+:0.368842 atanh,-inf,nan+:nan atanh,nan,nan abs,1,1 abs,-1,1 abs,0,0 -abs,0.0,0.0 -abs,1.2,1.2 -abs,-1.2,1.2 +abs,0.00000,0.00000 +abs,1.20000,1.20000 +abs,-1.20000,1.20000 abs,1L%3L,1L%3L abs,(-1L)%4L,1L%4L -abs,1+:2,2.23606797749979 -abs,-1+:2,2.23606797749979 -abs,1+:-2,2.23606797749979 -abs,-1.2+:4.3,4.46430285710994 -abs,1.2+:-4.3,4.46430285710994 -abs,1L%2L+:1,1.11803398874989 -abs,1L%2L+:3L%4L,0.901387818865997 +abs,1+:2,2.23607 +abs,-1+:2,2.23607 +abs,1+:-2,2.23607 +abs,-1.20000+:4.30000,4.46430 +abs,1.20000+:-4.30000,4.46430 +abs,1L%2L+:1,1.11803 +abs,1L%2L+:3L%4L,0.901388 abs,3<:1,3 -abs,3<:-2.14159265358979,3 -abs,3.0<:-3,3.0 -abs,3.1<:2.5,3.1 +abs,3<:-2.14159,3 +abs,3.00000<:-3,3.00000 +abs,3.10000<:2.50000,3.10000 abs,2L%3L<:2,2L%3L abs,1L%2L<:3L%4L,1L%2L abs,-inf,inf @@ -535,91 +577,91 @@ re,1,1 re,-1,-1 re,0,0 -re,0.0,0.0 -re,1.2,1.2 -re,-1.2,-1.2 +re,0.00000,0.00000 +re,1.20000,1.20000 +re,-1.20000,-1.20000 re,1L%3L,1L%3L re,(-1L)%4L,(-1L)%4L re,1+:2,1 re,-1+:2,-1 re,1+:-2,1 -re,-1.2+:4.3,-1.2 -re,1.2+:-4.3,1.2 +re,-1.20000+:4.30000,-1.20000 +re,1.20000+:-4.30000,1.20000 re,1L%2L+:1,1L%2L re,1L%2L+:3L%4L,1L%2L -re,3<:1,2.52441295442369 -re,3<:-2.14159265358979,-2.52441295442369 -re,3.0<:-3,-0.423360024179602 -re,3.1<:2.5,1.85526364672227 -re,2L%3L<:2,0.606198284550454 -re,1L%2L<:3L%4L,0.340819380011667 +re,3<:1,2.52441 +re,3<:-2.14159,-2.52441 +re,3.00000<:-3,-0.423360 +re,3.10000<:2.50000,1.85526 +re,2L%3L<:2,0.606198 +re,1L%2L<:3L%4L,0.340819 re,-inf,-inf re,nan,nan im,1,0 im,-1,0 im,0,0 -im,0.0,0.0 -im,1.2,0.0 -im,-1.2,0.0 +im,0.00000,0.00000 +im,1.20000,0.00000 +im,-1.20000,0.00000 im,1L%3L,0L%1L im,(-1L)%4L,0L%1L im,1+:2,2 im,-1+:2,2 im,1+:-2,-2 -im,-1.2+:4.3,4.3 -im,1.2+:-4.3,-4.3 +im,-1.20000+:4.30000,4.30000 +im,1.20000+:-4.30000,-4.30000 im,1L%2L+:1,1 im,1L%2L+:3L%4L,3L%4L -im,3<:1,1.62090691760442 -im,3<:-2.14159265358979,-1.62090691760442 -im,3.0<:-3,-2.96997748980134 -im,3.1<:2.5,-2.48354520819549 -im,2L%3L<:2,-0.277431224364762 -im,1L%2L<:3L%4L,0.36584443443691 -im,-inf,0.0 -im,nan,0.0 -arg,1,0.0 -arg,-1,3.14159265358979 -arg,0,0.0 -arg,0.0,0.0 -arg,1.2,0.0 -arg,-1.2,3.14159265358979 -arg,1L%3L,0.0 -arg,(-1L)%4L,3.14159265358979 -arg,1+:2,1.10714871779409 -arg,-1+:2,2.0344439357957 -arg,1+:-2,-1.10714871779409 -arg,-1.2+:4.3,1.84294221732608 -arg,1.2+:-4.3,-1.29865043626371 -arg,1L%2L+:1,1.10714871779409 -arg,1L%2L+:3L%4L,0.982793723247329 +im,3<:1,1.62091 +im,3<:-2.14159,-1.62091 +im,3.00000<:-3,-2.96998 +im,3.10000<:2.50000,-2.48355 +im,2L%3L<:2,-0.277431 +im,1L%2L<:3L%4L,0.365844 +im,-inf,0.00000 +im,nan,0.00000 +arg,1,0.00000 +arg,-1,3.14159 +arg,0,0.00000 +arg,0.00000,0.00000 +arg,1.20000,0.00000 +arg,-1.20000,3.14159 +arg,1L%3L,0.00000 +arg,(-1L)%4L,3.14159 +arg,1+:2,1.10715 +arg,-1+:2,2.03444 +arg,1+:-2,-1.10715 +arg,-1.20000+:4.30000,1.84294 +arg,1.20000+:-4.30000,-1.29865 +arg,1L%2L+:1,1.10715 +arg,1L%2L+:3L%4L,0.982794 arg,3<:1,1 -arg,3<:-2.14159265358979,-2.14159265358979 -arg,3.0<:-3,-3 -arg,3.1<:2.5,2.5 +arg,3<:-2.14159,-2.14159 +arg,3.00000<:-3,-3 +arg,3.10000<:2.50000,2.50000 arg,2L%3L<:2,2 arg,1L%2L<:3L%4L,3L%4L -arg,-inf,3.14159265358979 +arg,-inf,3.14159 arg,nan,nan conj,1,1 conj,-1,-1 conj,0,0 -conj,0.0,0.0 -conj,1.2,1.2 -conj,-1.2,-1.2 +conj,0.00000,0.00000 +conj,1.20000,1.20000 +conj,-1.20000,-1.20000 conj,1L%3L,1L%3L conj,(-1L)%4L,(-1L)%4L conj,1+:2,1+:-2 conj,-1+:2,-1+:-2 conj,1+:-2,1+:2 -conj,-1.2+:4.3,-1.2+:-4.3 -conj,1.2+:-4.3,1.2+:4.3 +conj,-1.20000+:4.30000,-1.20000+:-4.30000 +conj,1.20000+:-4.30000,1.20000+:4.30000 conj,1L%2L+:1,1L%2L+:-1 conj,1L%2L+:3L%4L,1L%2L+:(-3L)%4L conj,3<:1,3<:-1 -conj,3<:-2.14159265358979,3<:2.14159265358979 -conj,3.0<:-3,3.0<:3 -conj,3.1<:2.5,3.1<:-2.5 +conj,3<:-2.14159,3<:2.14159 +conj,3.00000<:-3,3.00000<:3 +conj,3.10000<:2.50000,3.10000<:-2.50000 conj,2L%3L<:2,2L%3L<:-2 conj,1L%2L<:3L%4L,1L%2L<:(-3L)%4L conj,-inf,-inf @@ -627,183 +669,183 @@ rect,1,1+:0 rect,-1,-1+:0 rect,0,0+:0 -rect,0.0,0.0+:0.0 -rect,1.2,1.2+:0.0 -rect,-1.2,-1.2+:0.0 +rect,0.00000,0.00000+:0.00000 +rect,1.20000,1.20000+:0.00000 +rect,-1.20000,-1.20000+:0.00000 rect,1L%3L,1L%3L+:0L%1L rect,(-1L)%4L,(-1L)%4L+:0L%1L rect,1+:2,1+:2 rect,-1+:2,-1+:2 rect,1+:-2,1+:-2 -rect,-1.2+:4.3,-1.2+:4.3 -rect,1.2+:-4.3,1.2+:-4.3 +rect,-1.20000+:4.30000,-1.20000+:4.30000 +rect,1.20000+:-4.30000,1.20000+:-4.30000 rect,1L%2L+:1,1L%2L+:1 rect,1L%2L+:3L%4L,1L%2L+:3L%4L -rect,3<:1,1.62090691760442+:2.52441295442369 -rect,3<:-2.14159265358979,-1.62090691760442+:-2.52441295442369 -rect,3.0<:-3,-2.96997748980134+:-0.423360024179602 -rect,3.1<:2.5,-2.48354520819549+:1.85526364672227 -rect,2L%3L<:2,-0.277431224364762+:0.606198284550454 -rect,1L%2L<:3L%4L,0.36584443443691+:0.340819380011667 -rect,-inf,-inf+:0.0 -rect,nan,nan+:0.0 +rect,3<:1,1.62091+:2.52441 +rect,3<:-2.14159,-1.62091+:-2.52441 +rect,3.00000<:-3,-2.96998+:-0.423360 +rect,3.10000<:2.50000,-2.48355+:1.85526 +rect,2L%3L<:2,-0.277431+:0.606198 +rect,1L%2L<:3L%4L,0.365844+:0.340819 +rect,-inf,-inf+:0.00000 +rect,nan,nan+:0.00000 polar,1,1<:0 -polar,-1,1<:3.14159265358979 +polar,-1,1<:3.14159 polar,0,0<:0 -polar,0.0,0.0<:0.0 -polar,1.2,1.2<:0.0 -polar,-1.2,1.2<:3.14159265358979 +polar,0.00000,0.00000<:0.00000 +polar,1.20000,1.20000<:0.00000 +polar,-1.20000,1.20000<:3.14159 polar,1L%3L,1L%3L<:0L%1L -polar,(-1L)%4L,1L%4L<:3.14159265358979 -polar,1+:2,2.23606797749979<:1.10714871779409 -polar,-1+:2,2.23606797749979<:2.0344439357957 -polar,1+:-2,2.23606797749979<:-1.10714871779409 -polar,-1.2+:4.3,4.46430285710994<:1.84294221732608 -polar,1.2+:-4.3,4.46430285710994<:-1.29865043626371 -polar,1L%2L+:1,1.11803398874989<:1.10714871779409 -polar,1L%2L+:3L%4L,0.901387818865997<:0.982793723247329 +polar,(-1L)%4L,1L%4L<:3.14159 +polar,1+:2,2.23607<:1.10715 +polar,-1+:2,2.23607<:2.03444 +polar,1+:-2,2.23607<:-1.10715 +polar,-1.20000+:4.30000,4.46430<:1.84294 +polar,1.20000+:-4.30000,4.46430<:-1.29865 +polar,1L%2L+:1,1.11803<:1.10715 +polar,1L%2L+:3L%4L,0.901388<:0.982794 polar,3<:1,3<:1 -polar,3<:-2.14159265358979,3<:-2.14159265358979 -polar,3.0<:-3,3.0<:-3 -polar,3.1<:2.5,3.1<:2.5 +polar,3<:-2.14159,3<:-2.14159 +polar,3.00000<:-3,3.00000<:-3 +polar,3.10000<:2.50000,3.10000<:2.50000 polar,2L%3L<:2,2L%3L<:2 polar,1L%2L<:3L%4L,1L%2L<:3L%4L -polar,-inf,inf<:3.14159265358979 -polar,nan,nan<:0.0 -cis,1,0.54030230586814+:0.841470984807897 -cis,-1,0.54030230586814+:-0.841470984807897 -cis,0,1.0+:0.0 -cis,0.0,1.0+:0.0 -cis,1.2,0.362357754476674+:0.932039085967226 -cis,-1.2,0.362357754476674+:-0.932039085967226 -cis,1L%3L,0.944956946314738+:0.327194696796152 -cis,(-1L)%4L,0.968912421710645+:-0.247403959254523 -cis,1+:2,__failed__ (cis (1+:2)) -cis,-1+:2,__failed__ (cis (-1+:2)) -cis,1+:-2,__failed__ (cis (1+:-2)) -cis,-1.2+:4.3,__failed__ (cis (-1.2+:4.3)) -cis,1.2+:-4.3,__failed__ (cis (1.2+:-4.3)) -cis,1L%2L+:1,__failed__ (cis (1L%2L+:1)) -cis,1L%2L+:3L%4L,__failed__ (cis (1L%2L+:3L%4L)) -cis,3<:1,__failed__ (cis (3<:1)) -cis,3<:-2.14159265358979,__failed__ (cis (3<:-2.14159265358979)) -cis,3.0<:-3,__failed__ (cis (3.0<:-3)) -cis,3.1<:2.5,__failed__ (cis (3.1<:2.5)) -cis,2L%3L<:2,__failed__ (cis (2L%3L<:2)) -cis,1L%2L<:3L%4L,__failed__ (cis (1L%2L<:3L%4L)) +polar,-inf,inf<:3.14159 +polar,nan,nan<:0.00000 +cis,1,0.540302+:0.841471 +cis,-1,0.540302+:-0.841471 +cis,0,1.00000+:0.00000 +cis,0.00000,1.00000+:0.00000 +cis,1.20000,0.362358+:0.932039 +cis,-1.20000,0.362358+:-0.932039 +cis,1L%3L,0.944957+:0.327195 +cis,(-1L)%4L,0.968912+:-0.247404 +cis,1+:2,__failed__ +cis,-1+:2,__failed__ +cis,1+:-2,__failed__ +cis,-1.20000+:4.30000,__failed__ +cis,1.20000+:-4.30000,__failed__ +cis,1L%2L+:1,__failed__ +cis,1L%2L+:3L%4L,__failed__ +cis,3<:1,__failed__ +cis,3<:-2.14159,__failed__ +cis,3.00000<:-3,__failed__ +cis,3.10000<:2.50000,__failed__ +cis,2L%3L<:2,__failed__ +cis,1L%2L<:3L%4L,__failed__ cis,-inf,nan+:nan cis,nan,nan+:nan ceil,1,1 ceil,-1,-1 ceil,0,0 -ceil,0.0,0.0 -ceil,1.2,2.0 -ceil,-1.2,-1.0 +ceil,0.00000,0.00000 +ceil,1.20000,2.00000 +ceil,-1.20000,-1.00000 ceil,1L%3L,1L ceil,(-1L)%4L,0L -ceil,1+:2,__failed__ (ceil (1+:2)) -ceil,-1+:2,__failed__ (ceil (-1+:2)) -ceil,1+:-2,__failed__ (ceil (1+:-2)) -ceil,-1.2+:4.3,__failed__ (ceil (-1.2+:4.3)) -ceil,1.2+:-4.3,__failed__ (ceil (1.2+:-4.3)) -ceil,1L%2L+:1,__failed__ (ceil (1L%2L+:1)) -ceil,1L%2L+:3L%4L,__failed__ (ceil (1L%2L+:3L%4L)) -ceil,3<:1,__failed__ (ceil (3<:1)) -ceil,3<:-2.14159265358979,__failed__ (ceil (3<:-2.14159265358979)) -ceil,3.0<:-3,__failed__ (ceil (3.0<:-3)) -ceil,3.1<:2.5,__failed__ (ceil (3.1<:2.5)) -ceil,2L%3L<:2,__failed__ (ceil (2L%3L<:2)) -ceil,1L%2L<:3L%4L,__failed__ (ceil (1L%2L<:3L%4L)) +ceil,1+:2,__failed__ +ceil,-1+:2,__failed__ +ceil,1+:-2,__failed__ +ceil,-1.20000+:4.30000,__failed__ +ceil,1.20000+:-4.30000,__failed__ +ceil,1L%2L+:1,__failed__ +ceil,1L%2L+:3L%4L,__failed__ +ceil,3<:1,__failed__ +ceil,3<:-2.14159,__failed__ +ceil,3.00000<:-3,__failed__ +ceil,3.10000<:2.50000,__failed__ +ceil,2L%3L<:2,__failed__ +ceil,1L%2L<:3L%4L,__failed__ ceil,-inf,-inf ceil,nan,nan floor,1,1 floor,-1,-1 floor,0,0 -floor,0.0,0.0 -floor,1.2,1.0 -floor,-1.2,-2.0 +floor,0.00000,0.00000 +floor,1.20000,1.00000 +floor,-1.20000,-2.00000 floor,1L%3L,0L floor,(-1L)%4L,-1L -floor,1+:2,__failed__ (floor (1+:2)) -floor,-1+:2,__failed__ (floor (-1+:2)) -floor,1+:-2,__failed__ (floor (1+:-2)) -floor,-1.2+:4.3,__failed__ (floor (-1.2+:4.3)) -floor,1.2+:-4.3,__failed__ (floor (1.2+:-4.3)) -floor,1L%2L+:1,__failed__ (floor (1L%2L+:1)) -floor,1L%2L+:3L%4L,__failed__ (floor (1L%2L+:3L%4L)) -floor,3<:1,__failed__ (floor (3<:1)) -floor,3<:-2.14159265358979,__failed__ (floor (3<:-2.14159265358979)) -floor,3.0<:-3,__failed__ (floor (3.0<:-3)) -floor,3.1<:2.5,__failed__ (floor (3.1<:2.5)) -floor,2L%3L<:2,__failed__ (floor (2L%3L<:2)) -floor,1L%2L<:3L%4L,__failed__ (floor (1L%2L<:3L%4L)) +floor,1+:2,__failed__ +floor,-1+:2,__failed__ +floor,1+:-2,__failed__ +floor,-1.20000+:4.30000,__failed__ +floor,1.20000+:-4.30000,__failed__ +floor,1L%2L+:1,__failed__ +floor,1L%2L+:3L%4L,__failed__ +floor,3<:1,__failed__ +floor,3<:-2.14159,__failed__ +floor,3.00000<:-3,__failed__ +floor,3.10000<:2.50000,__failed__ +floor,2L%3L<:2,__failed__ +floor,1L%2L<:3L%4L,__failed__ floor,-inf,-inf floor,nan,nan round,1,1 round,-1,-1 round,0,0 -round,0.0,0.0 -round,1.2,1.0 -round,-1.2,-1.0 +round,0.00000,0.00000 +round,1.20000,1.00000 +round,-1.20000,-1.00000 round,1L%3L,0L round,(-1L)%4L,0L -round,1+:2,__failed__ (round (1+:2)) -round,-1+:2,__failed__ (round (-1+:2)) -round,1+:-2,__failed__ (round (1+:-2)) -round,-1.2+:4.3,__failed__ (round (-1.2+:4.3)) -round,1.2+:-4.3,__failed__ (round (1.2+:-4.3)) -round,1L%2L+:1,__failed__ (round (1L%2L+:1)) -round,1L%2L+:3L%4L,__failed__ (round (1L%2L+:3L%4L)) -round,3<:1,__failed__ (round (3<:1)) -round,3<:-2.14159265358979,__failed__ (round (3<:-2.14159265358979)) -round,3.0<:-3,__failed__ (round (3.0<:-3)) -round,3.1<:2.5,__failed__ (round (3.1<:2.5)) -round,2L%3L<:2,__failed__ (round (2L%3L<:2)) -round,1L%2L<:3L%4L,__failed__ (round (1L%2L<:3L%4L)) +round,1+:2,__failed__ +round,-1+:2,__failed__ +round,1+:-2,__failed__ +round,-1.20000+:4.30000,__failed__ +round,1.20000+:-4.30000,__failed__ +round,1L%2L+:1,__failed__ +round,1L%2L+:3L%4L,__failed__ +round,3<:1,__failed__ +round,3<:-2.14159,__failed__ +round,3.00000<:-3,__failed__ +round,3.10000<:2.50000,__failed__ +round,2L%3L<:2,__failed__ +round,1L%2L<:3L%4L,__failed__ round,-inf,-inf round,nan,nan frac,1,0 frac,-1,0 frac,0,0 -frac,0.0,0.0 -frac,1.2,0.2 -frac,-1.2,-0.2 +frac,0.00000,0.00000 +frac,1.20000,0.200000 +frac,-1.20000,-0.200000 frac,1L%3L,1L%3L frac,(-1L)%4L,(-1L)%4L -frac,1+:2,__failed__ (frac (1+:2)) -frac,-1+:2,__failed__ (frac (-1+:2)) -frac,1+:-2,__failed__ (frac (1+:-2)) -frac,-1.2+:4.3,__failed__ (frac (-1.2+:4.3)) -frac,1.2+:-4.3,__failed__ (frac (1.2+:-4.3)) -frac,1L%2L+:1,__failed__ (frac (1L%2L+:1)) -frac,1L%2L+:3L%4L,__failed__ (frac (1L%2L+:3L%4L)) -frac,3<:1,__failed__ (frac (3<:1)) -frac,3<:-2.14159265358979,__failed__ (frac (3<:-2.14159265358979)) -frac,3.0<:-3,__failed__ (frac (3.0<:-3)) -frac,3.1<:2.5,__failed__ (frac (3.1<:2.5)) -frac,2L%3L<:2,__failed__ (frac (2L%3L<:2)) -frac,1L%2L<:3L%4L,__failed__ (frac (1L%2L<:3L%4L)) +frac,1+:2,__failed__ +frac,-1+:2,__failed__ +frac,1+:-2,__failed__ +frac,-1.20000+:4.30000,__failed__ +frac,1.20000+:-4.30000,__failed__ +frac,1L%2L+:1,__failed__ +frac,1L%2L+:3L%4L,__failed__ +frac,3<:1,__failed__ +frac,3<:-2.14159,__failed__ +frac,3.00000<:-3,__failed__ +frac,3.10000<:2.50000,__failed__ +frac,2L%3L<:2,__failed__ +frac,1L%2L<:3L%4L,__failed__ frac,-inf,nan frac,nan,nan complexp,1,0 complexp,-1,0 complexp,0,0 -complexp,0.0,0 -complexp,1.2,0 -complexp,-1.2,0 +complexp,0.00000,0 +complexp,1.20000,0 +complexp,-1.20000,0 complexp,1L%3L,0 complexp,(-1L)%4L,0 complexp,1+:2,1 complexp,-1+:2,1 complexp,1+:-2,1 -complexp,-1.2+:4.3,1 -complexp,1.2+:-4.3,1 +complexp,-1.20000+:4.30000,1 +complexp,1.20000+:-4.30000,1 complexp,1L%2L+:1,1 complexp,1L%2L+:3L%4L,1 complexp,3<:1,1 -complexp,3<:-2.14159265358979,1 -complexp,3.0<:-3,1 -complexp,3.1<:2.5,1 +complexp,3<:-2.14159,1 +complexp,3.00000<:-3,1 +complexp,3.10000<:2.50000,1 complexp,2L%3L<:2,1 complexp,1L%2L<:3L%4L,1 complexp,-inf,0 @@ -811,22 +853,22 @@ realp,1,1 realp,-1,1 realp,0,1 -realp,0.0,1 -realp,1.2,1 -realp,-1.2,1 +realp,0.00000,1 +realp,1.20000,1 +realp,-1.20000,1 realp,1L%3L,1 realp,(-1L)%4L,1 realp,1+:2,0 realp,-1+:2,0 realp,1+:-2,0 -realp,-1.2+:4.3,0 -realp,1.2+:-4.3,0 +realp,-1.20000+:4.30000,0 +realp,1.20000+:-4.30000,0 realp,1L%2L+:1,0 realp,1L%2L+:3L%4L,0 realp,3<:1,0 -realp,3<:-2.14159265358979,0 -realp,3.0<:-3,0 -realp,3.1<:2.5,0 +realp,3<:-2.14159,0 +realp,3.00000<:-3,0 +realp,3.10000<:2.50000,0 realp,2L%3L<:2,0 realp,1L%2L<:3L%4L,0 realp,-inf,1 @@ -834,22 +876,22 @@ rationalp,1,0 rationalp,-1,0 rationalp,0,0 -rationalp,0.0,0 -rationalp,1.2,0 -rationalp,-1.2,0 +rationalp,0.00000,0 +rationalp,1.20000,0 +rationalp,-1.20000,0 rationalp,1L%3L,1 rationalp,(-1L)%4L,1 rationalp,1+:2,0 rationalp,-1+:2,0 rationalp,1+:-2,0 -rationalp,-1.2+:4.3,0 -rationalp,1.2+:-4.3,0 +rationalp,-1.20000+:4.30000,0 +rationalp,1.20000+:-4.30000,0 rationalp,1L%2L+:1,0 rationalp,1L%2L+:3L%4L,0 rationalp,3<:1,0 -rationalp,3<:-2.14159265358979,0 -rationalp,3.0<:-3,0 -rationalp,3.1<:2.5,0 +rationalp,3<:-2.14159,0 +rationalp,3.00000<:-3,0 +rationalp,3.10000<:2.50000,0 rationalp,2L%3L<:2,0 rationalp,1L%2L<:3L%4L,0 rationalp,-inf,0 @@ -857,22 +899,22 @@ numberp,1,1 numberp,-1,1 numberp,0,1 -numberp,0.0,1 -numberp,1.2,1 -numberp,-1.2,1 +numberp,0.00000,1 +numberp,1.20000,1 +numberp,-1.20000,1 numberp,1L%3L,1 numberp,(-1L)%4L,1 numberp,1+:2,1 numberp,-1+:2,1 numberp,1+:-2,1 -numberp,-1.2+:4.3,1 -numberp,1.2+:-4.3,1 +numberp,-1.20000+:4.30000,1 +numberp,1.20000+:-4.30000,1 numberp,1L%2L+:1,1 numberp,1L%2L+:3L%4L,1 numberp,3<:1,1 -numberp,3<:-2.14159265358979,1 -numberp,3.0<:-3,1 -numberp,3.1<:2.5,1 +numberp,3<:-2.14159,1 +numberp,3.00000<:-3,1 +numberp,3.10000<:2.50000,1 numberp,2L%3L<:2,1 numberp,1L%2L<:3L%4L,1 numberp,-inf,1 @@ -880,22 +922,22 @@ exactp,1,1 exactp,-1,1 exactp,0,1 -exactp,0.0,0 -exactp,1.2,0 -exactp,-1.2,0 +exactp,0.00000,0 +exactp,1.20000,0 +exactp,-1.20000,0 exactp,1L%3L,1 exactp,(-1L)%4L,1 exactp,1+:2,1 exactp,-1+:2,1 exactp,1+:-2,1 -exactp,-1.2+:4.3,0 -exactp,1.2+:-4.3,0 +exactp,-1.20000+:4.30000,0 +exactp,1.20000+:-4.30000,0 exactp,1L%2L+:1,1 exactp,1L%2L+:3L%4L,1 exactp,3<:1,0 -exactp,3<:-2.14159265358979,0 -exactp,3.0<:-3,0 -exactp,3.1<:2.5,0 +exactp,3<:-2.14159,0 +exactp,3.00000<:-3,0 +exactp,3.10000<:2.50000,0 exactp,2L%3L<:2,0 exactp,1L%2L<:3L%4L,0 exactp,-inf,0 @@ -903,22 +945,22 @@ inexactp,1,0 inexactp,-1,0 inexactp,0,0 -inexactp,0.0,1 -inexactp,1.2,1 -inexactp,-1.2,1 +inexactp,0.00000,1 +inexactp,1.20000,1 +inexactp,-1.20000,1 inexactp,1L%3L,0 inexactp,(-1L)%4L,0 inexactp,1+:2,0 inexactp,-1+:2,0 inexactp,1+:-2,0 -inexactp,-1.2+:4.3,1 -inexactp,1.2+:-4.3,1 +inexactp,-1.20000+:4.30000,1 +inexactp,1.20000+:-4.30000,1 inexactp,1L%2L+:1,0 inexactp,1L%2L+:3L%4L,0 inexactp,3<:1,1 -inexactp,3<:-2.14159265358979,1 -inexactp,3.0<:-3,1 -inexactp,3.1<:2.5,1 +inexactp,3<:-2.14159,1 +inexactp,3.00000<:-3,1 +inexactp,3.10000<:2.50000,1 inexactp,2L%3L<:2,1 inexactp,1L%2L<:3L%4L,1 inexactp,-inf,1 @@ -926,22 +968,22 @@ infp,1,0 infp,-1,0 infp,0,0 -infp,0.0,0 -infp,1.2,0 -infp,-1.2,0 +infp,0.00000,0 +infp,1.20000,0 +infp,-1.20000,0 infp,1L%3L,0 infp,(-1L)%4L,0 infp,1+:2,0 infp,-1+:2,0 infp,1+:-2,0 -infp,-1.2+:4.3,0 -infp,1.2+:-4.3,0 +infp,-1.20000+:4.30000,0 +infp,1.20000+:-4.30000,0 infp,1L%2L+:1,0 infp,1L%2L+:3L%4L,0 infp,3<:1,0 -infp,3<:-2.14159265358979,0 -infp,3.0<:-3,0 -infp,3.1<:2.5,0 +infp,3<:-2.14159,0 +infp,3.00000<:-3,0 +infp,3.10000<:2.50000,0 infp,2L%3L<:2,0 infp,1L%2L<:3L%4L,0 infp,-inf,1 @@ -949,22 +991,22 @@ nanp,1,0 nanp,-1,0 nanp,0,0 -nanp,0.0,0 -nanp,1.2,0 -nanp,-1.2,0 +nanp,0.00000,0 +nanp,1.20000,0 +nanp,-1.20000,0 nanp,1L%3L,0 nanp,(-1L)%4L,0 nanp,1+:2,0 nanp,-1+:2,0 nanp,1+:-2,0 -nanp,-1.2+:4.3,0 -nanp,1.2+:-4.3,0 +nanp,-1.20000+:4.30000,0 +nanp,1.20000+:-4.30000,0 nanp,1L%2L+:1,0 nanp,1L%2L+:3L%4L,0 nanp,3<:1,0 -nanp,3<:-2.14159265358979,0 -nanp,3.0<:-3,0 -nanp,3.1<:2.5,0 +nanp,3<:-2.14159,0 +nanp,3.00000<:-3,0 +nanp,3.10000<:2.50000,0 nanp,2L%3L<:2,0 nanp,1L%2L<:3L%4L,0 nanp,-inf,0 @@ -973,1080 +1015,1080 @@ (+),1,1,2 (+),1,-1,0 (+),1,0,1 -(+),1,0.0,1.0 -(+),1,1.2,2.2 -(+),1,-1.2,-0.2 +(+),1,0.00000,1.00000 +(+),1,1.20000,2.20000 +(+),1,-1.20000,-0.200000 (+),1,1L%3L,4L%3L (+),1,(-1L)%4L,3L%4L (+),1,1+:2,2+:2 (+),1,-1+:2,0+:2 (+),1,1+:-2,2+:-2 -(+),1,-1.2+:4.3,-0.2+:4.3 -(+),1,1.2+:-4.3,2.2+:-4.3 +(+),1,-1.20000+:4.30000,-0.200000+:4.30000 +(+),1,1.20000+:-4.30000,2.20000+:-4.30000 (+),1,1L%2L+:1,3L%2L+:1 (+),1,1L%2L+:3L%4L,3L%2L+:3L%4L -(+),1,3<:1,2.62090691760442+:2.52441295442369 -(+),1,3<:-2.14159265358979,-0.62090691760442+:-2.52441295442369 -(+),1,3.0<:-3,-1.96997748980134+:-0.423360024179602 -(+),1,3.1<:2.5,-1.48354520819549+:1.85526364672227 -(+),1,2L%3L<:2,0.722568775635238+:0.606198284550454 -(+),1,1L%2L<:3L%4L,1.36584443443691+:0.340819380011667 +(+),1,3<:1,2.62091+:2.52441 +(+),1,3<:-2.14159,-0.620907+:-2.52441 +(+),1,3.00000<:-3,-1.96998+:-0.423360 +(+),1,3.10000<:2.50000,-1.48355+:1.85526 +(+),1,2L%3L<:2,0.722569+:0.606198 +(+),1,1L%2L<:3L%4L,1.36584+:0.340819 (+),1,-inf,-inf (+),1,nan,nan (+),-1,1,0 (+),-1,-1,-2 (+),-1,0,-1 -(+),-1,0.0,-1.0 -(+),-1,1.2,0.2 -(+),-1,-1.2,-2.2 +(+),-1,0.00000,-1.00000 +(+),-1,1.20000,0.200000 +(+),-1,-1.20000,-2.20000 (+),-1,1L%3L,(-2L)%3L (+),-1,(-1L)%4L,(-5L)%4L (+),-1,1+:2,0+:2 (+),-1,-1+:2,-2+:2 (+),-1,1+:-2,0+:-2 -(+),-1,-1.2+:4.3,-2.2+:4.3 -(+),-1,1.2+:-4.3,0.2+:-4.3 +(+),-1,-1.20000+:4.30000,-2.20000+:4.30000 +(+),-1,1.20000+:-4.30000,0.200000+:-4.30000 (+),-1,1L%2L+:1,(-1L)%2L+:1 (+),-1,1L%2L+:3L%4L,(-1L)%2L+:3L%4L -(+),-1,3<:1,0.620906917604419+:2.52441295442369 -(+),-1,3<:-2.14159265358979,-2.62090691760442+:-2.52441295442369 -(+),-1,3.0<:-3,-3.96997748980134+:-0.423360024179602 -(+),-1,3.1<:2.5,-3.48354520819549+:1.85526364672227 -(+),-1,2L%3L<:2,-1.27743122436476+:0.606198284550454 -(+),-1,1L%2L<:3L%4L,-0.634155565563089+:0.340819380011667 +(+),-1,3<:1,0.620907+:2.52441 +(+),-1,3<:-2.14159,-2.62091+:-2.52441 +(+),-1,3.00000<:-3,-3.96998+:-0.423360 +(+),-1,3.10000<:2.50000,-3.48355+:1.85526 +(+),-1,2L%3L<:2,-1.27743+:0.606198 +(+),-1,1L%2L<:3L%4L,-0.634156+:0.340819 (+),-1,-inf,-inf (+),-1,nan,nan (+),0,1,1 (+),0,-1,-1 (+),0,0,0 -(+),0,0.0,0.0 -(+),0,1.2,1.2 -(+),0,-1.2,-1.2 +(+),0,0.00000,0.00000 +(+),0,1.20000,1.20000 +(+),0,-1.20000,-1.20000 (+),0,1L%3L,1L%3L (+),0,(-1L)%4L,(-1L)%4L (+),0,1+:2,1+:2 (+),0,-1+:2,-1+:2 (+),0,1+:-2,1+:-2 -(+),0,-1.2+:4.3,-1.2+:4.3 -(+),0,1.2+:-4.3,1.2+:-4.3 +(+),0,-1.20000+:4.30000,-1.20000+:4.30000 +(+),0,1.20000+:-4.30000,1.20000+:-4.30000 (+),0,1L%2L+:1,1L%2L+:1 (+),0,1L%2L+:3L%4L,1L%2L+:3L%4L -(+),0,3<:1,1.62090691760442+:2.52441295442369 -(+),0,3<:-2.14159265358979,-1.62090691760442+:-2.52441295442369 -(+),0,3.0<:-3,-2.96997748980134+:-0.423360024179602 -(+),0,3.1<:2.5,-2.48354520819549+:1.85526364672227 -(+),0,2L%3L<:2,-0.277431224364762+:0.606198284550454 -(+),0,1L%2L<:3L%4L,0.36584443443691+:0.340819380011667 +(+),0,3<:1,1.62091+:2.52441 +(+),0,3<:-2.14159,-1.62091+:-2.52441 +(+),0,3.00000<:-3,-2.96998+:-0.423360 +(+),0,3.10000<:2.50000,-2.48355+:1.85526 +(+),0,2L%3L<:2,-0.277431+:0.606198 +(+),0,1L%2L<:3L%4L,0.365844+:0.340819 (+),0,-inf,-inf (+),0,nan,nan -(+),0.0,1,1.0 -(+),0.0,-1,-1.0 -(+),0.0,0,0.0 -(+),0.0,0.0,0.0 -(+),0.0,1.2,1.2 -(+),0.0,-1.2,-1.2 -(+),0.0,1L%3L,0.333333333333333 -(+),0.0,(-1L)%4L,-0.25 -(+),0.0,1+:2,1.0+:2 -(+),0.0,-1+:2,-1.0+:2 -(+),0.0,1+:-2,1.0+:-2 -(+),0.0,-1.2+:4.3,-1.2+:4.3 -(+),0.0,1.2+:-4.3,1.2+:-4.3 -(+),0.0,1L%2L+:1,0.5+:1 -(+),0.0,1L%2L+:3L%4L,0.5+:3L%4L -(+),0.0,3<:1,1.62090691760442+:2.52441295442369 -(+),0.0,3<:-2.14159265358979,-1.62090691760442+:-2.52441295442369 -(+),0.0,3.0<:-3,-2.96997748980134+:-0.423360024179602 -(+),0.0,3.1<:2.5,-2.48354520819549+:1.85526364672227 -(+),0.0,2L%3L<:2,-0.277431224364762+:0.606198284550454 -(+),0.0,1L%2L<:3L%4L,0.36584443443691+:0.340819380011667 -(+),0.0,-inf,-inf -(+),0.0,nan,nan -(+),1.2,1,2.2 -(+),1.2,-1,0.2 -(+),1.2,0,1.2 -(+),1.2,0.0,1.2 -(+),1.2,1.2,2.4 -(+),1.2,-1.2,0.0 -(+),1.2,1L%3L,1.53333333333333 -(+),1.2,(-1L)%4L,0.95 -(+),1.2,1+:2,2.2+:2 -(+),1.2,-1+:2,0.2+:2 -(+),1.2,1+:-2,2.2+:-2 -(+),1.2,-1.2+:4.3,0.0+:4.3 -(+),1.2,1.2+:-4.3,2.4+:-4.3 -(+),1.2,1L%2L+:1,1.7+:1 -(+),1.2,1L%2L+:3L%4L,1.7+:3L%4L -(+),1.2,3<:1,2.82090691760442+:2.52441295442369 -(+),1.2,3<:-2.14159265358979,-0.42090691760442+:-2.52441295442369 -(+),1.2,3.0<:-3,-1.76997748980134+:-0.423360024179602 -(+),1.2,3.1<:2.5,-1.28354520819549+:1.85526364672227 -(+),1.2,2L%3L<:2,0.922568775635238+:0.606198284550454 -(+),1.2,1L%2L<:3L%4L,1.56584443443691+:0.340819380011667 -(+),1.2,-inf,-inf -(+),1.2,nan,nan -(+),-1.2,1,-0.2 -(+),-1.2,-1,-2.2 -(+),-1.2,0,-1.2 -(+),-1.2,0.0,-1.2 -(+),-1.2,1.2,0.0 -(+),-1.2,-1.2,-2.4 -(+),-1.2,1L%3L,-0.866666666666667 -(+),-1.2,(-1L)%4L,-1.45 -(+),-1.2,1+:2,-0.2+:2 -(+),-1.2,-1+:2,-2.2+:2 -(+),-1.2,1+:-2,-0.2+:-2 -(+),-1.2,-1.2+:4.3,-2.4+:4.3 -(+),-1.2,1.2+:-4.3,0.0+:-4.3 -(+),-1.2,1L%2L+:1,-0.7+:1 -(+),-1.2,1L%2L+:3L%4L,-0.7+:3L%4L -(+),-1.2,3<:1,0.420906917604419+:2.52441295442369 -(+),-1.2,3<:-2.14159265358979,-2.82090691760442+:-2.52441295442369 -(+),-1.2,3.0<:-3,-4.16997748980134+:-0.423360024179602 -(+),-1.2,3.1<:2.5,-3.68354520819549+:1.85526364672227 -(+),-1.2,2L%3L<:2,-1.47743122436476+:0.606198284550454 -(+),-1.2,1L%2L<:3L%4L,-0.834155565563089+:0.340819380011667 -(+),-1.2,-inf,-inf -(+),-1.2,nan,nan +(+),0.00000,1,1.00000 +(+),0.00000,-1,-1.00000 +(+),0.00000,0,0.00000 +(+),0.00000,0.00000,0.00000 +(+),0.00000,1.20000,1.20000 +(+),0.00000,-1.20000,-1.20000 +(+),0.00000,1L%3L,0.333333 +(+),0.00000,(-1L)%4L,-0.250000 +(+),0.00000,1+:2,1.00000+:2 +(+),0.00000,-1+:2,-1.00000+:2 +(+),0.00000,1+:-2,1.00000+:-2 +(+),0.00000,-1.20000+:4.30000,-1.20000+:4.30000 +(+),0.00000,1.20000+:-4.30000,1.20000+:-4.30000 +(+),0.00000,1L%2L+:1,0.500000+:1 +(+),0.00000,1L%2L+:3L%4L,0.500000+:3L%4L +(+),0.00000,3<:1,1.62091+:2.52441 +(+),0.00000,3<:-2.14159,-1.62091+:-2.52441 +(+),0.00000,3.00000<:-3,-2.96998+:-0.423360 +(+),0.00000,3.10000<:2.50000,-2.48355+:1.85526 +(+),0.00000,2L%3L<:2,-0.277431+:0.606198 +(+),0.00000,1L%2L<:3L%4L,0.365844+:0.340819 +(+),0.00000,-inf,-inf +(+),0.00000,nan,nan +(+),1.20000,1,2.20000 +(+),1.20000,-1,0.200000 +(+),1.20000,0,1.20000 +(+),1.20000,0.00000,1.20000 +(+),1.20000,1.20000,2.40000 +(+),1.20000,-1.20000,0.00000 +(+),1.20000,1L%3L,1.53333 +(+),1.20000,(-1L)%4L,0.950000 +(+),1.20000,1+:2,2.20000+:2 +(+),1.20000,-1+:2,0.200000+:2 +(+),1.20000,1+:-2,2.20000+:-2 +(+),1.20000,-1.20000+:4.30000,0.00000+:4.30000 +(+),1.20000,1.20000+:-4.30000,2.40000+:-4.30000 +(+),1.20000,1L%2L+:1,1.70000+:1 +(+),1.20000,1L%2L+:3L%4L,1.70000+:3L%4L +(+),1.20000,3<:1,2.82091+:2.52441 +(+),1.20000,3<:-2.14159,-0.420907+:-2.52441 +(+),1.20000,3.00000<:-3,-1.76998+:-0.423360 +(+),1.20000,3.10000<:2.50000,-1.28355+:1.85526 +(+),1.20000,2L%3L<:2,0.922569+:0.606198 +(+),1.20000,1L%2L<:3L%4L,1.56584+:0.340819 +(+),1.20000,-inf,-inf +(+),1.20000,nan,nan +(+),-1.20000,1,-0.200000 +(+),-1.20000,-1,-2.20000 +(+),-1.20000,0,-1.20000 +(+),-1.20000,0.00000,-1.20000 +(+),-1.20000,1.20000,0.00000 +(+),-1.20000,-1.20000,-2.40000 +(+),-1.20000,1L%3L,-0.866667 +(+),-1.20000,(-1L)%4L,-1.45000 +(+),-1.20000,1+:2,-0.200000+:2 +(+),-1.20000,-1+:2,-2.20000+:2 +(+),-1.20000,1+:-2,-0.200000+:-2 +(+),-1.20000,-1.20000+:4.30000,-2.40000+:4.30000 +(+),-1.20000,1.20000+:-4.30000,0.00000+:-4.30000 +(+),-1.20000,1L%2L+:1,-0.700000+:1 +(+),-1.20000,1L%2L+:3L%4L,-0.700000+:3L%4L +(+),-1.20000,3<:1,0.420907+:2.52441 +(+),-1.20000,3<:-2.14159,-2.82091+:-2.52441 +(+),-1.20000,3.00000<:-3,-4.16998+:-0.423360 +(+),-1.20000,3.10000<:2.50000,-3.68355+:1.85526 +(+),-1.20000,2L%3L<:2,-1.47743+:0.606198 +(+),-1.20000,1L%2L<:3L%4L,-0.834156+:0.340819 +(+),-1.20000,-inf,-inf +(+),-1.20000,nan,nan (+),1L%3L,1,4L%3L (+),1L%3L,-1,(-2L)%3L (+),1L%3L,0,1L%3L -(+),1L%3L,0.0,0.333333333333333 -(+),1L%3L,1.2,1.53333333333333 -(+),1L%3L,-1.2,-0.866666666666667 +(+),1L%3L,0.00000,0.333333 +(+),1L%3L,1.20000,1.53333 +(+),1L%3L,-1.20000,-0.866667 (+),1L%3L,1L%3L,2L%3L (+),1L%3L,(-1L)%4L,1L%12L (+),1L%3L,1+:2,4L%3L+:2 (+),1L%3L,-1+:2,(-2L)%3L+:2 (+),1L%3L,1+:-2,4L%3L+:-2 -(+),1L%3L,-1.2+:4.3,-0.866666666666667+:4.3 -(+),1L%3L,1.2+:-4.3,1.53333333333333+:-4.3 +(+),1L%3L,-1.20000+:4.30000,-0.866667+:4.30000 +(+),1L%3L,1.20000+:-4.30000,1.53333+:-4.30000 (+),1L%3L,1L%2L+:1,5L%6L+:1 (+),1L%3L,1L%2L+:3L%4L,5L%6L+:3L%4L -(+),1L%3L,3<:1,1.95424025093775+:2.52441295442369 -(+),1L%3L,3<:-2.14159265358979,-1.28757358427109+:-2.52441295442369 -(+),1L%3L,3.0<:-3,-2.636644156468+:-0.423360024179602 -(+),1L%3L,3.1<:2.5,-2.15021187486216+:1.85526364672227 -(+),1L%3L,2L%3L<:2,0.0559021089685718+:0.606198284550454 -(+),1L%3L,1L%2L<:3L%4L,0.699177767770244+:0.340819380011667 +(+),1L%3L,3<:1,1.95424+:2.52441 +(+),1L%3L,3<:-2.14159,-1.28757+:-2.52441 +(+),1L%3L,3.00000<:-3,-2.63664+:-0.423360 +(+),1L%3L,3.10000<:2.50000,-2.15021+:1.85526 +(+),1L%3L,2L%3L<:2,0.0559021+:0.606198 +(+),1L%3L,1L%2L<:3L%4L,0.699178+:0.340819 (+),1L%3L,-inf,-inf (+),1L%3L,nan,nan (+),(-1L)%4L,1,3L%4L (+),(-1L)%4L,-1,(-5L)%4L (+),(-1L)%4L,0,(-1L)%4L -(+),(-1L)%4L,0.0,-0.25 -(+),(-1L)%4L,1.2,0.95 -(+),(-1L)%4L,-1.2,-1.45 +(+),(-1L)%4L,0.00000,-0.250000 +(+),(-1L)%4L,1.20000,0.950000 +(+),(-1L)%4L,-1.20000,-1.45000 (+),(-1L)%4L,1L%3L,1L%12L (+),(-1L)%4L,(-1L)%4L,(-1L)%2L (+),(-1L)%4L,1+:2,3L%4L+:2 (+),(-1L)%4L,-1+:2,(-5L)%4L+:2 (+),(-1L)%4L,1+:-2,3L%4L+:-2 -(+),(-1L)%4L,-1.2+:4.3,-1.45+:4.3 -(+),(-1L)%4L,1.2+:-4.3,0.95+:-4.3 +(+),(-1L)%4L,-1.20000+:4.30000,-1.45000+:4.30000 +(+),(-1L)%4L,1.20000+:-4.30000,0.950000+:-4.30000 (+),(-1L)%4L,1L%2L+:1,1L%4L+:1 (+),(-1L)%4L,1L%2L+:3L%4L,1L%4L+:3L%4L -(+),(-1L)%4L,3<:1,1.37090691760442+:2.52441295442369 -(+),(-1L)%4L,3<:-2.14159265358979,-1.87090691760442+:-2.52441295442369 -(+),(-1L)%4L,3.0<:-3,-3.21997748980134+:-0.423360024179602 -(+),(-1L)%4L,3.1<:2.5,-2.73354520819549+:1.85526364672227 -(+),(-1L)%4L,2L%3L<:2,-0.527431224364762+:0.606198284550454 -(+),(-1L)%4L,1L%2L<:3L%4L,0.11584443443691+:0.340819380011667 +(+),(-1L)%4L,3<:1,1.37091+:2.52441 +(+),(-1L)%4L,3<:-2.14159,-1.87091+:-2.52441 +(+),(-1L)%4L,3.00000<:-3,-3.21998+:-0.423360 +(+),(-1L)%4L,3.10000<:2.50000,-2.73355+:1.85526 +(+),(-1L)%4L,2L%3L<:2,-0.527431+:0.606198 +(+),(-1L)%4L,1L%2L<:3L%4L,0.115844+:0.340819 (+),(-1L)%4L,-inf,-inf (+),(-1L)%4L,nan,nan (+),1+:2,1,2+:2 (+),1+:2,-1,0+:2 (+),1+:2,0,1+:2 -(+),1+:2,0.0,1.0+:2 -(+),1+:2,1.2,2.2+:2 -(+),1+:2,-1.2,-0.2+:2 +(+),1+:2,0.00000,1.00000+:2 +(+),1+:2,1.20000,2.20000+:2 +(+),1+:2,-1.20000,-0.200000+:2 (+),1+:2,1L%3L,4L%3L+:2 (+),1+:2,(-1L)%4L,3L%4L+:2 (+),1+:2,1+:2,2+:4 (+),1+:2,-1+:2,0+:4 (+),1+:2,1+:-2,2+:0 -(+),1+:2,-1.2+:4.3,-0.2+:6.3 -(+),1+:2,1.2+:-4.3,2.2+:-2.3 +(+),1+:2,-1.20000+:4.30000,-0.200000+:6.30000 +(+),1+:2,1.20000+:-4.30000,2.20000+:-2.30000 (+),1+:2,1L%2L+:1,3L%2L+:3 (+),1+:2,1L%2L+:3L%4L,3L%2L+:11L%4L -(+),1+:2,3<:1,2.62090691760442+:4.52441295442369 -(+),1+:2,3<:-2.14159265358979,-0.62090691760442+:-0.524412954423689 -(+),1+:2,3.0<:-3,-1.96997748980134+:1.5766399758204 -(+),1+:2,3.1<:2.5,-1.48354520819549+:3.85526364672227 -(+),1+:2,2L%3L<:2,0.722568775635238+:2.60619828455045 -(+),1+:2,1L%2L<:3L%4L,1.36584443443691+:2.34081938001167 +(+),1+:2,3<:1,2.62091+:4.52441 +(+),1+:2,3<:-2.14159,-0.620907+:-0.524413 +(+),1+:2,3.00000<:-3,-1.96998+:1.57664 +(+),1+:2,3.10000<:2.50000,-1.48355+:3.85526 +(+),1+:2,2L%3L<:2,0.722569+:2.60620 +(+),1+:2,1L%2L<:3L%4L,1.36584+:2.34082 (+),1+:2,-inf,-inf+:2 (+),1+:2,nan,nan+:2 (+),-1+:2,1,0+:2 (+),-1+:2,-1,-2+:2 (+),-1+:2,0,-1+:2 -(+),-1+:2,0.0,-1.0+:2 -(+),-1+:2,1.2,0.2+:2 -(+),-1+:2,-1.2,-2.2+:2 +(+),-1+:2,0.00000,-1.00000+:2 +(+),-1+:2,1.20000,0.200000+:2 +(+),-1+:2,-1.20000,-2.20000+:2 (+),-1+:2,1L%3L,(-2L)%3L+:2 (+),-1+:2,(-1L)%4L,(-5L)%4L+:2 (+),-1+:2,1+:2,0+:4 (+),-1+:2,-1+:2,-2+:4 (+),-1+:2,1+:-2,0+:0 -(+),-1+:2,-1.2+:4.3,-2.2+:6.3 -(+),-1+:2,1.2+:-4.3,0.2+:-2.3 +(+),-1+:2,-1.20000+:4.30000,-2.20000+:6.30000 +(+),-1+:2,1.20000+:-4.30000,0.200000+:-2.30000 (+),-1+:2,1L%2L+:1,(-1L)%2L+:3 (+),-1+:2,1L%2L+:3L%4L,(-1L)%2L+:11L%4L -(+),-1+:2,3<:1,0.620906917604419+:4.52441295442369 -(+),-1+:2,3<:-2.14159265358979,-2.62090691760442+:-0.524412954423689 -(+),-1+:2,3.0<:-3,-3.96997748980134+:1.5766399758204 -(+),-1+:2,3.1<:2.5,-3.48354520819549+:3.85526364672227 -(+),-1+:2,2L%3L<:2,-1.27743122436476+:2.60619828455045 -(+),-1+:2,1L%2L<:3L%4L,-0.634155565563089+:2.34081938001167 +(+),-1+:2,3<:1,0.620907+:4.52441 +(+),-1+:2,3<:-2.14159,-2.62091+:-0.524413 +(+),-1+:2,3.00000<:-3,-3.96998+:1.57664 +(+),-1+:2,3.10000<:2.50000,-3.48355+:3.85526 +(+),-1+:2,2L%3L<:2,-1.27743+:2.60620 +(+),-1+:2,1L%2L<:3L%4L,-0.634156+:2.34082 (+),-1+:2,-inf,-inf+:2 (+),-1+:2,nan,nan+:2 (+),1+:-2,1,2+:-2 (+),1+:-2,-1,0+:-2 (+),1+:-2,0,1+:-2 -(+),1+:-2,0.0,1.0+:-2 -(+),1+:-2,1.2,2.2+:-2 -(+),1+:-2,-1.2,-0.2+:-2 +(+),1+:-2,0.00000,1.00000+:-2 +(+),1+:-2,1.20000,2.20000+:-2 +(+),1+:-2,-1.20000,-0.200000+:-2 (+),1+:-2,1L%3L,4L%3L+:-2 (+),1+:-2,(-1L)%4L,3L%4L+:-2 (+),1+:-2,1+:2,2+:0 (+),1+:-2,-1+:2,0+:0 (+),1+:-2,1+:-2,2+:-4 -(+),1+:-2,-1.2+:4.3,-0.... [truncated message content] |
From: <ag...@us...> - 2008-08-22 11:37:31
|
Revision: 569 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=569&view=rev Author: agraef Date: 2008-08-22 11:37:41 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Final touches (0.5 release). Modified Paths: -------------- pure/trunk/INSTALL Modified: pure/trunk/INSTALL =================================================================== --- pure/trunk/INSTALL 2008-08-22 11:09:24 UTC (rev 568) +++ pure/trunk/INSTALL 2008-08-22 11:37:41 UTC (rev 569) @@ -376,21 +376,11 @@ Cyrille Berger, which is to be applied in the llvm-2.3 source directory, is available at http://pure-lang.sf.net/X86JITInfo.cpp.pic.2.3.patch. -Also, the debug build currently does *not* work on x86-64 Linux versions. This -seems to be a bug in LLVM, so there's hope that it will go away in a future -LLVM version. You can tell that you're bitten by this bug if a normal build -works, but 'make check' fails on some tests with the debug build (or if you -manually disable optimization). Fortunately, it seems that you can easily work -around this by making sure that you have at least -O enabled when compiling -runtime.cc. Also please note that the default and release builds should work -fine. 32 bit builds also seem to be unaffected. - LINUX ----- Linux is the primary development platform for this software, and the sources -should build out of the box on all recent Linux distributions. (But note the -issues on x86-64 Linux systems described above.) +should build out of the box on all recent Linux distributions. MAC OSX --- --- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 11:09:16
|
Revision: 568 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=568&view=rev Author: agraef Date: 2008-08-22 11:09:24 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Final touches (0.5 release). Modified Paths: -------------- pure/trunk/pure.1.in Modified: pure/trunk/pure.1.in =================================================================== --- pure/trunk/pure.1.in 2008-08-22 10:39:04 UTC (rev 567) +++ pure/trunk/pure.1.in 2008-08-22 11:09:24 UTC (rev 568) @@ -1,4 +1,4 @@ -.TH Pure 1 "June 2008" "Pure Version @version@" +.TH Pure 1 "August 2008" "Pure Version @version@" .SH NAME pure \- the Pure interpreter .SH SYNOPSIS This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 10:38:59
|
Revision: 567 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=567&view=rev Author: agraef Date: 2008-08-22 10:39:04 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Use new $$ operator for sequencing expressions. Modified Paths: -------------- pure/trunk/examples/libor/date.pure Modified: pure/trunk/examples/libor/date.pure =================================================================== --- pure/trunk/examples/libor/date.pure 2008-08-22 10:29:59 UTC (rev 566) +++ pure/trunk/examples/libor/date.pure 2008-08-22 10:39:04 UTC (rev 567) @@ -180,7 +180,7 @@ mayanleft = str (days2mayan (int nextcycle)); complete = 100.0*(phase 0 cycledays daytoday); -// usage = puts "Usage: pure -x date.pure [anyarg]" $ +// usage = puts "Usage: pure -x date.pure [anyarg]" $$ // puts "\tanyarg for help\n"; // usage with pure -x commented out to enable interactive and "using" modes @@ -191,27 +191,27 @@ puts "* New Calendar/Clock, Copyright (c) 2008 by Libor Spacek *"; puts "****************************************************************"; - puts ((strftime "%x" time) + "\t Gregorian date") $ - puts ((strftime "%X" time) + "\t local time") $ - puts ((gmparse utc time) + "\t UTC time") $ -// printf "%s \t UTC Time in h:t:d:s\n" (str (secs2htds (int secsnow)))$ - printf "%12.4f \t Julian day\n" jdaytoday $ - printf "%12.4f \t Mayan day\n" daytoday $ - printf "%s\t Mayan long count date\n" longtoday $ - printf "%6.4f \t days till the next full Moon\n" nextfmoon $ - printf "%7.4f \t days till the next inf. conjunction of Venus\n" nextvenus$ - printf "%9.4f \t days till the end of the Mayan cycle\n" nextcycle $ - printf "%s\t long countdown to the end of the cycle\n" mayanleft $ - printf "%11.8f %%\t completion of this cycle of >5125 years\n" complete $ + puts ((strftime "%x" time) + "\t Gregorian date") $$ + puts ((strftime "%X" time) + "\t local time") $$ + puts ((gmparse utc time) + "\t UTC time") $$ +// printf "%s \t UTC Time in h:t:d:s\n" (str (secs2htds (int secsnow))) $$ + printf "%12.4f \t Julian day\n" jdaytoday $$ + printf "%12.4f \t Mayan day\n" daytoday $$ + printf "%s\t Mayan long count date\n" longtoday $$ + printf "%6.4f \t days till the next full Moon\n" nextfmoon $$ + printf "%7.4f \t days till the next inf. conjunction of Venus\n" nextvenus $$ + printf "%9.4f \t days till the end of the Mayan cycle\n" nextcycle $$ + printf "%s\t long countdown to the end of the cycle\n" mayanleft $$ + printf "%11.8f %%\t completion of this cycle of >5125 years\n" complete $$ puts "****************************************************************"; // 2 = // another argument was presented -> print help and usage - puts "Mayan long count digits and their ranges of values:" $ - puts "Baktun(0-12) : Katun(0-19) : Tun(0-19) : Vinal(0-17) : Kin(0-19)" $ - puts "Baktun=144000days Katun=7200days Tun=360days Vinal=20days Kin=day" $ + puts "Mayan long count digits and their ranges of values:" $$ + puts "Baktun(0-12) : Katun(0-19) : Tun(0-19) : Vinal(0-17) : Kin(0-19)" $$ + puts "Baktun=144000days Katun=7200days Tun=360days Vinal=20days Kin=day" $$ puts "****************************************************************"; -// puts "\nNew clock digits and their ranges of values:" $ -// puts "hour(0-23) : tre(0-19) : dici(0-17) : second(0-9)" $ -// puts "hour=3600s : tre=180s : dici=10s : s=second\n" $ +// puts "\nNew clock digits and their ranges of values:" $$ +// puts "hour(0-23) : tre(0-19) : dici(0-17) : second(0-9)" $$ +// puts "hour=3600s : tre=180s : dici=10s : s=second\n" $$ // puts "Full time spec: Baktun:Katun:Tun:Vinal:Kin hour:tre:dici:second\n" ; // usage; // n = usage // any other number of arguments -> just print usage This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 10:29:50
|
Revision: 566 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=566&view=rev Author: agraef Date: 2008-08-22 10:29:59 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Final touches (0.5 release). Modified Paths: -------------- pure/trunk/INSTALL pure/trunk/NEWS pure/trunk/README Modified: pure/trunk/INSTALL =================================================================== --- pure/trunk/INSTALL 2008-08-22 10:12:53 UTC (rev 565) +++ pure/trunk/INSTALL 2008-08-22 10:29:59 UTC (rev 566) @@ -330,9 +330,9 @@ the latter if you know what you are doing, since it will remove files which require special tools to be regenerated.) -There also are a number of targets like 'html' and 'pdf' which generate the -documentation in a variety of formats (this requires groff); see the Makefile -for details. +There also are a number of targets like 'html' (this requires rman) and 'pdf' +(this requires groff) which generate the documentation in a variety of +formats; see the Makefile for details. Maintainers can roll distribution tarballs with 'make dist' and 'make distcheck' (the latter is like 'make dist', but also does a test build and @@ -395,8 +395,8 @@ MAC OSX --- --- -Pure has been reported to work on OSX, and a port by Ryan Schmidt exists in -the MacPorts collection, see http://www.macports.org/. +Pure works fine on OSX, and a port by Ryan Schmidt exists in the MacPorts +collection, see http://www.macports.org/. Note that with at least some versions of the Apple gcc compiler, with all warnings turned on you'll get the (bogus) warning "control reaches end of @@ -421,6 +421,6 @@ the Pure interpreter and read online documentation in html help format. -June 2008 +August 2008 Albert Graef <Dr.Graef at t-online.de> Eddie Rucker <erucker at bmc.edu> Modified: pure/trunk/NEWS =================================================================== --- pure/trunk/NEWS 2008-08-22 10:12:53 UTC (rev 565) +++ pure/trunk/NEWS 2008-08-22 10:29:59 UTC (rev 566) @@ -1,5 +1,5 @@ -** Pure 0.5 2008-08-20 +** Pure 0.5 2008-08-22 This release sports LLVM 2.3 support and a bunch of bug fixes and improvements in the language, the standard library and the code generator. As usual, please Modified: pure/trunk/README =================================================================== --- pure/trunk/README 2008-08-22 10:12:53 UTC (rev 565) +++ pure/trunk/README 2008-08-22 10:29:59 UTC (rev 566) @@ -5,10 +5,10 @@ Pure is a functional programming language based on term rewriting. It has a modern syntax featuring curried function applications, lexical closures and equational definitions with pattern matching, and thus is somewhat similar to -languages of the Haskell and ML variety. But Pure is also a very dynamic and -reflective language, and is more like Lisp in this respect. The interpreter -has an LLVM backend to do JIT compilation, hence programs run blazingly fast -and interfacing to C modules is easy. +languages of the Haskell and ML variety. But Pure is also a very dynamic +language, and is more like Lisp in this respect. The interpreter has an LLVM +backend to do JIT compilation, hence programs run blazingly fast and +interfacing to C modules is easy. WHERE TO GET IT ----- -- --- -- @@ -41,7 +41,7 @@ To start the Pure interpreter, just type 'pure' at the command prompt. You'll be greeted with a sign-on message, after which the interpreter leaves you at its prompt and you can start typing definitions and expressions to be -evaluated. Use the 'quit' command to exit the interpreter (on Unix systems you +evaluated. Use the 'quit' command to exit the interpreter (on most systems you can also just type EOF a.k.a. Ctrl-D at the beginning of the interpreter's command line). For instance: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 10:12:47
|
Revision: 565 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=565&view=rev Author: agraef Date: 2008-08-22 10:12:53 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Cosmetic changes in the help message. Modified Paths: -------------- pure/trunk/pure.cc Modified: pure/trunk/pure.cc =================================================================== --- pure/trunk/pure.cc 2008-08-22 09:26:07 UTC (rev 564) +++ pure/trunk/pure.cc 2008-08-22 10:12:53 UTC (rev 565) @@ -32,25 +32,25 @@ #define COPYRIGHT "Copyright (c) 2008 by Albert Graef" #define USAGE \ -"Usage: pure [options ...] [script ...] [-- args ...]\n\ - pure [options ...] -x script [args ...]\n\ +"Usage: pure [options ...] [script ...] [-- args ...]\n\ + pure [options ...] -x script [args ...]\n\ Options:\n\ --h: Print this message and exit.\n\ --i: Force interactive mode (read commands from stdin).\n\ --I: Add directory to search for included source files.\n\ --L: Add directory to search for dynamic libraries.\n\ --n: Suppress automatic inclusion of the prelude.\n\ --q: Quiet startup (suppresses sign-on message).\n\ --v: Set verbosity level (useful for debugging purposes).\n\ --x: Execute script with given command line arguments.\n\ ---: Stop option processing, pass remaining args in argv variable.\n\ +-h Print this message and exit.\n\ +-i Force interactive mode (read commands from stdin).\n\ +-Idirectory Add directory to search for included source files.\n\ +-Ldirectory Add directory to search for dynamic libraries.\n\ +-n Suppress automatic inclusion of the prelude.\n\ +-q Quiet startup (suppresses sign-on message).\n\ +-v[level] Set debugging level (default: 1).\n\ +-x Execute script with given command line arguments.\n\ +-- Stop option processing, pass remaining args in argv variable.\n\ Environment:\n\ -PURELIB: Directory to search for library scripts and the prelude.\n\ -PURE_INCLUDE: Path to search for included source files.\n\ -PURE_LIBRARY: Path to search for dynamic libraries.\n\ -PURE_MORE: Shell command for paging through output of the 'list' command.\n\ -PURE_PS: Command prompt to be used in the interactive command loop.\n\ -PURE_STACK: Maximum stack size in kilobytes (default: 0 = unlimited).\n" +PURELIB Directory to search for library scripts and the prelude.\n\ +PURE_INCLUDE Path to search for included source files.\n\ +PURE_LIBRARY Path to search for dynamic libraries.\n\ +PURE_MORE Shell command for paging through output of the 'list' command.\n\ +PURE_PS Command prompt to be used in the interactive command loop.\n\ +PURE_STACK Maximum stack size in kilobytes (default: 0 = unlimited).\n" #define LICENSE "This program is free software distributed under the GNU Public License\n(GPL V3 or later). Please see the COPYING file for details.\n" static const char *commands[] = { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 09:25:57
|
Revision: 564 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=564&view=rev Author: agraef Date: 2008-08-22 09:26:07 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Add missing entry for test019.pure. Modified Paths: -------------- pure/trunk/ChangeLog Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-08-22 08:48:07 UTC (rev 563) +++ pure/trunk/ChangeLog 2008-08-22 09:26:07 UTC (rev 564) @@ -17,6 +17,8 @@ processed, to prevent name capture in const substitutions. Reported by Eddie Rucker. + * test/test019.pure: Regression test for the above. + 2008-08-20 Albert Graef <Dr....@t-...> * expr.cc (env::operator=): Bugfix: Only set temporary level of a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 08:47:57
|
Revision: 563 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=563&view=rev Author: agraef Date: 2008-08-22 08:48:07 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Added math.pure tests by Eddie Rucker. Modified Paths: -------------- pure/trunk/ChangeLog Added Paths: ----------- pure/trunk/test/test020.log pure/trunk/test/test020.pure Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-08-22 08:31:46 UTC (rev 562) +++ pure/trunk/ChangeLog 2008-08-22 08:48:07 UTC (rev 563) @@ -2,6 +2,8 @@ * 0.5 release. + * test/test020.pure: Added math.pure tests by Eddie Rucker. + * runtime.cc (same): Bugfix in comparison of global functions. Handle the case of of an external which may chain to a Pure definition of the same global. In that case we may safely assume Added: pure/trunk/test/test020.log =================================================================== --- pure/trunk/test/test020.log (rev 0) +++ pure/trunk/test/test020.log 2008-08-22 08:48:07 UTC (rev 563) @@ -0,0 +1,4697 @@ +{ + rule #0: f = [sqrt,sin,cos,tan,ln,log,exp,atan,asin,acos,sinh,cosh,tanh,asinh,acosh,atanh,abs,re,im,arg,conj,rect,polar,cis,ceil,floor,round,frac,complexp,realp,rationalp,numberp,exactp,inexactp,infp,nanp] + state 0: #0 + <var> state 1 + state 1: #0 +} +let f = [sqrt,sin,cos,tan,ln,log,exp,atan,asin,acos,sinh,cosh,tanh,asinh,acosh,atanh,abs,re,im,arg,conj,rect,polar,cis,ceil,floor,round,frac,complexp,realp,rationalp,numberp,exactp,inexactp,infp,nanp]; +{ + rule #0: x = [1,-1,0,0.0,1.2,-1.2,1%3,-1%4,1+:2,-1+:2,1+:-2,-1.2+:4.3,1.2+:-4.3,1%2+:1,1%2+:3%4,3<:1,-3<:1,3.0<:-3,3.1<:2.5,2%3<:2,1%2<:3%4,-1e+307*1e+307,1e+307*1e+307-1e+307*1e+307] + state 0: #0 + <var> state 1 + state 1: #0 +} +let x = [1,-1,0,0.0,1.2,-1.2,1%3,-1%4,1+:2,-1+:2,1+:-2,-1.2+:4.3,1.2+:-4.3,1%2+:1,1%2+:3%4,3<:1,-3<:1,3.0<:-3,3.1<:2.5,2%3<:2,1%2<:3%4,-1e+307*1e+307,1e+307*1e+307-1e+307*1e+307]; +{ + rule #0: f2 = [(+),(-),(*),(/),(^),atan2,pow] + state 0: #0 + <var> state 1 + state 1: #0 +} +let f2 = [(+),(-),(*),(/),(^),atan2,pow]; +{ + rule #0: x2 = catmap (\i -> catmap (\j -> [(i,j)]) x) x + state 0: #0 + <var> state 1 + state 1: #0 +} +let x2 = catmap (\i/*0:*/ -> catmap (\j/*0:*/ -> [(i/*1:*/,j/*0:*/)] { + rule #0: j = [(i,j)] + state 0: #0 + <var> state 1 + state 1: #0 +}) x { + rule #0: i = catmap (\j -> [(i,j)]) x + state 0: #0 + <var> state 1 + state 1: #0 +}) x; +test f/*0:01*/ (x/*0:101*/,y/*0:11*/) = puts$str (f/*0:01*/,x/*0:101*/,y/*0:11*/,check f/*0:01*/ (x/*0:101*/,y/*0:11*/) (catch __error__ (f/*1:01*/ x/*1:101*/ y/*1:11*/))); +test f/*0:01*/ x/*0:1*/ = puts$str (f/*0:01*/,x/*0:1*/,check f/*0:01*/ x/*0:1*/ (catch __error__ (f/*1:01*/ x/*1:1*/))); +check f/*0:001*/ (x/*0:0101*/,y/*0:011*/) z@(f1@_/*0:100*/ x1/*0:101*/ y1/*0:11*/) = __failed__ z/*0:1*/ if f/*0:001*/===f1/*0:100*/&&x/*0:0101*/===x1/*0:101*/&&y/*0:011*/===y1/*0:11*/; +check f/*0:001*/ x/*0:01*/ z@(f1@_/*0:10*/ x1/*0:11*/) = __failed__ z/*0:1*/ if f/*0:001*/===f1/*0:10*/&&x/*0:01*/===x1/*0:11*/; +check _/*0:001*/ _/*0:01*/ z/*0:1*/ = z/*0:1*/; +{ + rule #0: check f (x,y) z@(f1@_ x1 y1) = __failed__ z if f===f1&&x===x1&&y===y1 + rule #1: check f x z@(f1@_ x1) = __failed__ z if f===f1&&x===x1 + rule #2: check _ _ z = z + state 0: #0 #1 #2 + <var> state 1 + state 1: #0 #1 #2 + <var> state 2 + <app> state 7 + state 2: #1 #2 + <var> state 3 + <app> state 4 + state 3: #2 + state 4: #1 #2 + <var> state 5 + state 5: #1 #2 + <var> state 6 + state 6: #1 #2 + state 7: #0 #1 #2 + <var> state 8 + <app> state 14 + state 8: #1 #2 + <var> state 9 + state 9: #1 #2 + <var> state 10 + <app> state 11 + state 10: #2 + state 11: #1 #2 + <var> state 12 + state 12: #1 #2 + <var> state 13 + state 13: #1 #2 + state 14: #0 #1 #2 + <var> state 15 + , state 22 + state 15: #1 #2 + <var> state 16 + state 16: #1 #2 + <var> state 17 + state 17: #1 #2 + <var> state 18 + <app> state 19 + state 18: #2 + state 19: #1 #2 + <var> state 20 + state 20: #1 #2 + <var> state 21 + state 21: #1 #2 + state 22: #0 #1 #2 + <var> state 23 + state 23: #0 #1 #2 + <var> state 24 + state 24: #0 #1 #2 + <var> state 25 + <app> state 26 + state 25: #2 + state 26: #0 #1 #2 + <var> state 27 + <app> state 29 + state 27: #1 #2 + <var> state 28 + state 28: #1 #2 + state 29: #0 #1 #2 + <var> state 30 + state 30: #0 #1 #2 + <var> state 31 + state 31: #0 #1 #2 + <var> state 32 + state 32: #0 #1 #2 +} +{ + rule #0: test f (x,y) = puts$str (f,x,y,check f (x,y) (catch __error__ (f x y))) + rule #1: test f x = puts$str (f,x,check f x (catch __error__ (f x))) + state 0: #0 #1 + <var> state 1 + state 1: #0 #1 + <var> state 2 + <app> state 3 + state 2: #1 + state 3: #0 #1 + <var> state 4 + <app> state 6 + state 4: #1 + <var> state 5 + state 5: #1 + state 6: #0 #1 + <var> state 7 + , state 10 + state 7: #1 + <var> state 8 + state 8: #1 + <var> state 9 + state 9: #1 + state 10: #0 #1 + <var> state 11 + state 11: #0 #1 + <var> state 12 + state 12: #0 #1 +} +*** UNARY *** +sqrt,1,1.0 +sqrt,-1,0.0+:1.0 +sqrt,0,0.0 +sqrt,0.0,0.0 +sqrt,1.2,1.09544511501033 +sqrt,-1.2,0.0+:1.09544511501033 +sqrt,1L%3L,0.577350269189626 +sqrt,(-1L)%4L,0.0+:0.5 +sqrt,1+:2,1.27201964951407+:0.786151377757423 +sqrt,-1+:2,0.786151377757423+:1.27201964951407 +sqrt,1+:-2,1.27201964951407+:0.786151377757423 +sqrt,-1.2+:4.3,1.27755682008863+:1.68289970840659 +sqrt,1.2+:-4.3,1.68289970840659+:1.27755682008863 +sqrt,1L%2L+:1,0.899453719973934+:0.555892970251421 +sqrt,1L%2L+:3L%4L,0.83707461401777+:0.447988738064919 +sqrt,3<:1,1.73205080756888<:0.5 +sqrt,3<:-2.14159265358979,1.73205080756888<:-1.0707963267949 +sqrt,3.0<:-3,1.73205080756888<:-1.5 +sqrt,3.1<:2.5,1.7606816861659<:1.25 +sqrt,2L%3L<:2,0.816496580927726<:1.0 +sqrt,1L%2L<:3L%4L,0.707106781186548<:0.375 +sqrt,-inf,0.0+:inf +sqrt,nan,nan +sin,1,0.841470984807897 +sin,-1,-0.841470984807897 +sin,0,0.0 +sin,0.0,0.0 +sin,1.2,0.932039085967226 +sin,-1.2,-0.932039085967226 +sin,1L%3L,0.327194696796152 +sin,(-1L)%4L,-0.247403959254523 +sin,1+:2,3.16577851321617+:1.95960104142161 +sin,-1+:2,-3.16577851321617+:1.95960104142161 +sin,1+:-2,3.16577851321617+:-1.95960104142161 +sin,-1.2+:4.3,-34.351867391542+:13.3503875389022 +sin,1.2+:-4.3,34.351867391542+:-13.3503875389022 +sin,1L%2L+:1,0.739792264456014+:1.03133607425455 +sin,1L%2L+:3L%4L,0.620704231078055+:0.721650824297564 +sin,3<:1,6.28163530398568<:-0.0494726344890117 +sin,3<:-2.14159265358979,6.28163530398567<:3.09212001910078 +sin,3.0<:-3,0.468364088212104<:1.97989764678311 +sin,3.1<:2.5,3.17788867786845<:-2.25266146393774 +sin,2L%3L<:2,0.699833695459732<:2.05499060924475 +sin,1L%2L<:3L%4L,0.498700404819053<:0.708394123409847 +sin,-inf,nan +sin,nan,nan +cos,1,0.54030230586814 +cos,-1,0.54030230586814 +cos,0,1.0 +cos,0.0,1.0 +cos,1.2,0.362357754476674 +cos,-1.2,0.362357754476674 +cos,1L%3L,0.944956946314738 +cos,(-1L)%4L,0.968912421710645 +cos,1+:2,2.03272300701967+:-3.0518977991518 +cos,-1+:2,2.03272300701967+:3.0518977991518 +cos,1+:-2,2.03272300701967+:3.0518977991518 +cos,-1.2+:4.3,13.3553042114774+:34.3392209642024 +cos,1.2+:-4.3,13.3553042114774+:34.3392209642024 +cos,1L%2L+:1,1.35418065670458+:-0.563421465230982 +cos,1L%2L+:3L%4L,1.13619147380335+:-0.394239642111583 +cos,3<:1,6.20193195969258<:-1.62155307254104 +cos,3<:-2.14159265358979,6.20193195969257<:-1.62155307254104 +cos,3.0<:-3,1.07751445241005<:-3.07241725532314 +cos,3.1<:2.5,3.21728657985303<:2.50707118166099 +cos,2L%3L<:2,1.15747143172116<:0.152985430170633 +cos,1L%2L<:3L%4L,0.996367993542271<:-0.125077153297551 +cos,-inf,nan +cos,nan,nan +tan,1,1.5574077246549 +tan,-1,-1.5574077246549 +tan,0,0.0 +tan,0.0,0.0 +tan,1.2,2.57215162212632 +tan,-1.2,-2.57215162212632 +tan,1L%3L,0.346253549510575 +tan,(-1L)%4L,-0.255341921221036 +tan,1+:2,0.0338128260798967+:1.01479361614663 +tan,-1+:2,-0.0338128260798967+:1.01479361614663 +tan,1+:-2,0.0338128260798967+:-1.01479361614663 +tan,-1.2+:4.3,-0.000248780909688767+:1.00027152283444 +tan,1.2+:-4.3,0.000248780909688767+:-1.00027152283444 +tan,1L%2L+:1,0.195577310065934+:0.842966204845783 +tan,1L%2L+:3L%4L,0.290893461829618+:0.736084170551191 +tan,3<:1,1.01285137354152<:1.57208043805203 +tan,3<:-2.14159265358979,1.01285137354152<:-1.56951221553776 +tan,3.0<:-3,0.434670817792307<:-1.23087040507334 +tan,3.1<:2.5,0.987754307548699<:1.52345266158086 +tan,2L%3L<:2,0.604622866949795<:1.90200517907412 +tan,1L%2L<:3L%4L,0.500518290482296<:0.833471276707398 +tan,-inf,nan +tan,nan,nan +ln,1,0.0 +ln,-1,0.0+:3.14159265358979 +ln,0,-inf +ln,0.0,-inf +ln,1.2,0.182321556793955 +ln,-1.2,0.182321556793955+:3.14159265358979 +ln,1L%3L,-1.09861228866811 +ln,(-1L)%4L,-1.38629436111989+:3.14159265358979 +ln,1+:2,0.80471895621705+:1.10714871779409 +ln,-1+:2,0.80471895621705+:2.0344439357957 +ln,1+:-2,0.80471895621705+:-1.10714871779409 +ln,-1.2+:4.3,1.49611306711235+:1.84294221732608 +ln,1.2+:-4.3,1.49611306711235+:-1.29865043626371 +ln,1L%2L+:1,0.111571775657105+:1.10714871779409 +ln,1L%2L+:3L%4L,-0.103819682389122+:0.982793723247329 +ln,3<:1,1.48558034478536<:0.738443417734099 +ln,3<:-2.14159265358979,2.40694163924312<:-1.09681203355936 +ln,3.0<:-3,3.19483160132308<:-1.21975934437627 +ln,3.1<:2.5,2.74409743593163<:1.14581484226141 +ln,2L%3L<:2,2.04068663784844<:1.77081795644967 +ln,1L%2L<:3L%4L,1.02125071060842<:2.31681982604851 +ln,-inf,inf+:3.14159265358979 +ln,nan,nan +log,1,0.0 +log,-1,0.0+:1.36437635384184 +log,0,-inf +log,0.0,-inf +log,1.2,0.0791812460476248 +log,-1.2,0.0791812460476248+:1.36437635384184 +log,1L%3L,-0.477121254719662 +log,(-1L)%4L,-0.602059991327962+:1.36437635384184 +log,1+:2,0.349485002168009+:0.480828578784234 +log,-1+:2,0.349485002168009+:0.883547775057607 +log,1+:-2,0.349485002168009+:-0.480828578784234 +log,-1.2+:4.3,0.649753649350244+:0.800379635451262 +log,1.2+:-4.3,0.649753649350244+:-0.56399671839058 +log,1L%2L+:1,0.0484550065040282+:0.480828578784234 +log,1L%2L+:3L%4L,-0.045088315174544+:0.426821890855467 +log,3<:1,0.645179346164211<:0.738443417734099 +log,3<:-2.14159265358979,1.04532147218645<:-1.09681203355936 +log,3.0<:-3,1.38749773506474<:-1.21975934437627 +log,3.1<:2.5,1.19174637422997<:1.14581484226141 +log,2L%3L<:2,0.886258946111277<:1.77081795644967 +log,1L%2L<:3L%4L,0.443523548257011<:2.31681982604851 +log,-inf,inf+:1.36437635384184 +log,nan,nan +exp,1,2.71828182845905 +exp,-1,0.367879441171442 +exp,0,1.0 +exp,0.0,1.0 +exp,1.2,3.32011692273655 +exp,-1.2,0.301194211912202 +exp,1L%3L,1.39561242508609 +exp,(-1L)%4L,0.778800783071405 +exp,1+:2,-1.13120438375681+:2.47172667200482 +exp,-1+:2,-0.153091865674226+:0.334511829239262 +exp,1+:-2,-1.13120438375681+:-2.47172667200482 +exp,-1.2+:4.3,-0.120718390769691+:-0.275943877300056 +exp,1.2+:-4.3,-1.33070011384152+:3.04177803063665 +exp,1L%2L+:1,0.890807904293129+:1.38735111132976 +exp,1L%2L+:3L%4L,1.20635100164679+:1.12383232258413 +exp,3<:1,5.05767513183927<:2.52441295442369 +exp,3<:-2.14159265358979,0.197719302630721<:-2.52441295442369 +exp,3.0<:-3,0.0513044651926248<:-0.423360024179602 +exp,3.1<:2.5,0.0834468640645693<:1.85526364672227 +exp,2L%3L<:2,0.757727676013212<:0.606198284550454 +exp,1L%2L<:3L%4L,1.44173094152246<:0.340819380011667 +exp,-inf,0.0 +exp,nan,nan +atan,1,0.785398163397448 +atan,-1,-0.785398163397448 +atan,0,0.0 +atan,0.0,0.0 +atan,1.2,0.876058050598193 +atan,-1.2,-0.876058050598193 +atan,1L%3L,0.321750554396642 +atan,(-1L)%4L,-0.244978663126864 +atan,1+:2,1.33897252229449+:0.402359478108525 +atan,-1+:2,-1.33897252229449+:0.402359478108525 +atan,1+:-2,1.33897252229449+:-0.402359478108525 +atan,-1.2+:4.3,-1.50774129532113+:0.218342844644895 +atan,1.2+:-4.3,1.50774129532113+:-0.218342844644895 +atan,1L%2L+:1,0.90788749496088+:0.708303336014054 +atan,1L%2L+:3L%4L,0.692724188399601+:0.590213500279505 +atan,3<:1,1.37829430594262+:0.277918809215814 +atan,3<:-2.14159265358979,-1.37829430594262+:-0.277918809215814 +atan,3.0<:-3,-1.2514562387973+:-0.0424376137199477 +atan,3.1<:2.5,-1.30916663257012+:0.182562248419793 +atan,2L%3L<:2,-0.392386988985284+:0.609487349380993 +atan,1L%2L<:3L%4L,0.386520254485461+:0.305841704408549 +atan,-inf,-1.5707963267949 +atan,nan,nan +asin,1,1.5707963267949 +asin,-1,-1.5707963267949 +asin,0,0.0 +asin,0.0,0.0 +asin,1.2,nan +asin,-1.2,nan +asin,1L%3L,0.339836909454122 +asin,(-1L)%4L,-0.252680255142079 +asin,1+:2,1.46783725642233+:-0.652507008444884 +asin,-1+:2,-0.427078586392475+:1.528570919481 +asin,1+:-2,0.427078586392476+:-1.528570919481 +asin,-1.2+:4.3,-0.265853221247092+:2.19988173922994 +asin,1.2+:-4.3,0.26585322124709+:-2.19988173922993 +asin,1L%2L+:1,1.16425299086589+:0.0607070375665663 +asin,1L%2L+:3L%4L,1.07765608825196+:0.0769964640772277 +asin,3<:1,1.52625913130154+:-1.15038039260516 +asin,3<:-2.14159265358979,-0.0164841832973784+:-1.64677129011767 +asin,3.0<:-3,-0.191829829869345+:0.118072277108134 +asin,3.1<:2.5,-0.90374717342567+:1.81806436268745 +asin,2L%3L<:2,-0.23762596948846+:0.589062385533765 +asin,1L%2L<:3L%4L,0.640642731202035+:0.197350122856685 +asin,-inf,nan +asin,nan,nan +acos,1,0.0 +acos,-1,3.14159265358979 +acos,0,1.5707963267949 +acos,0.0,1.5707963267949 +acos,1.2,nan +acos,-1.2,nan +acos,1L%3L,1.23095941734077 +acos,(-1L)%4L,1.82347658193698 +acos,1+:2,1.14371774040242+:-1.528570919481 +acos,-1+:2,1.59219225096909+:-1.43468662650293 +acos,1+:-2,0.102959070372571+:-0.652507008444884 +acos,-1.2+:4.3,1.57414021038985+:-2.16412406339493 +acos,1.2+:-4.3,0.0450678724709049+:-0.864279184310815 +acos,1L%2L+:1,1.22135726393768+:-0.926133031350183 +acos,1L%2L+:3L%4L,1.17251845325659+:-0.743320426325279 +acos,3<:1,1.02436728160651+:-1.80400811392948 +acos,3<:-2.14159265358979,2.11722537198328+:1.80400811392947 +acos,3.0<:-3,2.9915586031129+:1.76406194521987 +acos,3.1<:2.5,1.6042510533514+:-1.33844137461137 +acos,2L%3L<:2,1.64522180739974+:-0.56333169914685 +acos,1L%2L<:3L%4L,1.21973646993134+:-0.355425797099242 +acos,-inf,nan +acos,nan,nan +sinh,1,1.1752011936438 +sinh,-1,-1.1752011936438 +sinh,0,0.0 +sinh,0.0,0.0 +sinh,1.2,1.50946135541217 +sinh,-1.2,-1.50946135541217 +sinh,1L%3L,0.33954055725615 +sinh,(-1L)%4L,-0.252612316808168 +sinh,1+:2,-0.489056259041294+:1.40311925062204 +sinh,-1+:2,0.489056259041294+:1.40311925062204 +sinh,1+:-2,-0.489056259041294+:-1.40311925062204 +sinh,-1.2+:4.3,0.604990861535916+:-1.65886095396835 +sinh,1.2+:-4.3,-0.604990861535916+:1.65886095396835 +sinh,1L%2L+:1,0.281548995135334+:0.948864531437168 +sinh,1L%2L+:3L%4L,0.381279634652178+:0.768633564693393 +sinh,3<:1,2.49794510056597<:2.48704664338341 +sinh,3<:-2.14159265358979,2.49794510056597<:-0.654546010206382 +sinh,3.0<:-3,9.72876623396115<:-2.71625741503569 +sinh,3.1<:2.5,6.02702978942574<:1.29005852510914 +sinh,2L%3L<:2,0.635275606273034<:1.94283855664387 +sinh,1L%2L<:3L%4L,0.501647644053453<:0.791507934297849 +sinh,-inf,-inf +sinh,nan,nan +cosh,1,1.54308063481524 +cosh,-1,1.54308063481524 +cosh,0,1.0 +cosh,0.0,1.0 +cosh,1.2,1.81065556732437 +cosh,-1.2,1.81065556732437 +cosh,1L%3L,1.05607186782994 +cosh,(-1L)%4L,1.03141309987957 +cosh,1+:2,-0.64214812471552+:1.06860742138278 +cosh,-1+:2,-0.64214812471552+:-1.06860742138278 +cosh,1+:-2,-0.64214812471552+:-1.06860742138278 +cosh,-1.2+:4.3,-0.725709252305608+:1.38291707666829 +cosh,1.2+:-4.3,-0.725709252305608+:1.38291707666829 +cosh,1L%2L+:1,0.609258909157794+:0.438486579892595 +cosh,1L%2L+:3L%4L,0.825071366994607+:0.355198757890738 +cosh,3<:1,2.56317295660819<:2.56082793818154 +cosh,3<:-2.14159265358979,2.56317295660819<:2.56082793818154 +cosh,3.0<:-3,9.76275249045336<:0.421391685963163 +cosh,3.1<:2.5,5.95672835395987<:-1.85903718102565 +cosh,2L%3L<:2,0.86853394700555<:-0.185395179123782 +cosh,1L%2L<:3L%4L,1.01399782693401<:0.12362173219921 +cosh,-inf,inf +cosh,nan,nan +tanh,1,0.761594155955765 +tanh,-1,-0.761594155955765 +tanh,0,0.0 +tanh,0.0,0.0 +tanh,1.2,0.833654607012155 +tanh,-1.2,-0.833654607012155 +tanh,1L%3L,0.321512737531634 +tanh,(-1L)%4L,-0.244918662403709 +tanh,1+:2,1.16673625724092+:-0.243458201185725 +tanh,-1+:2,-1.16673625724092+:-0.243458201185725 +tanh,1+:-2,1.16673625724092+:0.243458201185725 +tanh,-1.2+:4.3,-1.12053602253626+:0.150545901177205 +tanh,1.2+:-4.3,1.12053602253626+:-0.150545901177205 +tanh,1L%2L+:1,1.04283072834436+:0.806877412163085 +tanh,1L%2L+:3L%4L,0.728211801280472+:0.618096394806202 +tanh,3<:1,0.974551910016818<:-0.0737812947981276 +tanh,3<:-2.14159265358979,0.974551910016818<:3.06781135879167 +tanh,3.0<:-3,0.996518783352805<:-3.13764910099886 +tanh,3.1<:2.5,1.01180202139302<:-3.1340896010448 +tanh,2L%3L<:2,0.731434399845024<:2.12823373576766 +tanh,1L%2L<:3L%4L,0.494722602680784<:0.667886202098639 +tanh,-inf,-1.0 +tanh,nan,nan +asinh,1,0.881373587019543 +asinh,-1,-0.881373587019543 +asinh,0,0.0 +asinh,0.0,0.0 +asinh,1.2,1.01597313417969 +asinh,-1.2,-1.01597313417969 +asinh,1L%3L,0.327450150237258 +asinh,(-1L)%4L,-0.247466461547263 +asinh,1+:2,1.46935174436819+:1.06344002357775 +asinh,-1+:2,1.33514626150007+:1.54137900229449 +asinh,1+:-2,0.752047373447746+:-0.0949376700463558 +asinh,-1.2+:4.3,2.13903157554736+:1.56712608995557 +asinh,1.2+:-4.3,0.889371672158385+:-0.0447415192265362 +asinh,1L%2L+:1,0.732857675973645+:0.89590748120889 +asinh,1L%2L+:3L%4L,0.606334999887351+:0.682203965583432 +asinh,3<:1,1.78102534527989+:0.973891130816354 +asinh,3<:-2.14159265358979,-1.78102534527989+:-0.973891130816354 +asinh,3.0<:-3,-1.81749921747243+:-0.13440282951171 +asinh,3.1<:2.5,1.28655350979512+:1.53475346270792 +asinh,2L%3L<:2,-0.00714161261602409+:0.938171779746577 +asinh,1L%2L<:3L%4L,0.376884772780086+:0.323585858402972 +asinh,-inf,-inf +asinh,nan,nan +acosh,1,0.0 +acosh,-1,0.0+:3.14159265358979 +acosh,0,0.0+:1.5707963267949 +acosh,0.0,0.0+:1.5707963267949 +acosh,1.2,0.622362503714779 +acosh,-1.2,-0.622362503714779+:3.14159265358979 +acosh,1L%3L,0.0+:1.23095941734077 +acosh,(-1L)%4L,0.0+:1.82347658193698 +acosh,1+:2,1.528570919481+:1.14371774040242 +acosh,-1+:2,1.43468662650293+:1.59219225096909 +acosh,1+:-2,0.652507008444884+:0.102959070372571 +acosh,-1.2+:4.3,2.16412406339493+:1.57414021038985 +acosh,1.2+:-4.3,0.864279184310815+:0.0450678724709049 +acosh,1L%2L+:1,0.926133031350183+:1.22135726393768 +acosh,1L%2L+:3L%4L,0.743320426325279+:1.17251845325659 +acosh,3<:1,1.80400811392948+:1.02436728160651 +acosh,3<:-2.14159265358979,-1.80400811392947+:2.11722537198328 +acosh,3.0<:-3,-1.76406194521987+:2.9915586031129 +acosh,3.1<:2.5,1.33844137461137+:1.6042510533514 +acosh,2L%3L<:2,0.56333169914685+:1.64522180739974 +acosh,1L%2L<:3L%4L,0.355425797099242+:1.21973646993134 +acosh,-inf,nan+:nan +acosh,nan,nan +atanh,1,inf +atanh,-1,-inf +atanh,0,0.0 +atanh,0.0,0.0 +atanh,1.2,1.19894763639919+:-1.5707963267949 +atanh,-1.2,-1.19894763639919+:1.5707963267949 +atanh,1L%3L,0.346573590279973 +atanh,(-1L)%4L,-0.255412811882995 +atanh,1+:2,0.173286795139986+:1.17809724509617 +atanh,-1+:2,-0.173286795139986+:1.17809724509617 +atanh,1+:-2,0.173286795139986+:-1.17809724509617 +atanh,-1.2+:4.3,-0.0575872614340175+:1.35758209063893 +atanh,1.2+:-4.3,0.0575872614340176+:-1.35758209063893 +atanh,1L%2L+:1,0.238877861256859+:0.847575660670829 +atanh,1L%2L+:3L%4L,0.310428283077196+:0.723220666124068 +atanh,3<:1,0.1681562506274+:1.28930826312627 +atanh,3<:-2.14159265358979,-0.168156250627401+:-1.28930826312627 +atanh,3.0<:-3,-0.341908696667975+:-1.518072611328 +atanh,3.1<:2.5,-0.253850363925408+:1.36734421742892 +atanh,2L%3L<:2,-0.202451040350963+:0.570560037832821 +atanh,1L%2L<:3L%4L,0.335282255752869+:0.368842031953307 +atanh,-inf,nan+:nan +atanh,nan,nan +abs,1,1 +abs,-1,1 +abs,0,0 +abs,0.0,0.0 +abs,1.2,1.2 +abs,-1.2,1.2 +abs,1L%3L,1L%3L +abs,(-1L)%4L,1L%4L +abs,1+:2,2.23606797749979 +abs,-1+:2,2.23606797749979 +abs,1+:-2,2.23606797749979 +abs,-1.2+:4.3,4.46430285710994 +abs,1.2+:-4.3,4.46430285710994 +abs,1L%2L+:1,1.11803398874989 +abs,1L%2L+:3L%4L,0.901387818865997 +abs,3<:1,3 +abs,3<:-2.14159265358979,3 +abs,3.0<:-3,3.0 +abs,3.1<:2.5,3.1 +abs,2L%3L<:2,2L%3L +abs,1L%2L<:3L%4L,1L%2L +abs,-inf,inf +abs,nan,nan +re,1,1 +re,-1,-1 +re,0,0 +re,0.0,0.0 +re,1.2,1.2 +re,-1.2,-1.2 +re,1L%3L,1L%3L +re,(-1L)%4L,(-1L)%4L +re,1+:2,1 +re,-1+:2,-1 +re,1+:-2,1 +re,-1.2+:4.3,-1.2 +re,1.2+:-4.3,1.2 +re,1L%2L+:1,1L%2L +re,1L%2L+:3L%4L,1L%2L +re,3<:1,2.52441295442369 +re,3<:-2.14159265358979,-2.52441295442369 +re,3.0<:-3,-0.423360024179602 +re,3.1<:2.5,1.85526364672227 +re,2L%3L<:2,0.606198284550454 +re,1L%2L<:3L%4L,0.340819380011667 +re,-inf,-inf +re,nan,nan +im,1,0 +im,-1,0 +im,0,0 +im,0.0,0.0 +im,1.2,0.0 +im,-1.2,0.0 +im,1L%3L,0L%1L +im,(-1L)%4L,0L%1L +im,1+:2,2 +im,-1+:2,2 +im,1+:-2,-2 +im,-1.2+:4.3,4.3 +im,1.2+:-4.3,-4.3 +im,1L%2L+:1,1 +im,1L%2L+:3L%4L,3L%4L +im,3<:1,1.62090691760442 +im,3<:-2.14159265358979,-1.62090691760442 +im,3.0<:-3,-2.96997748980134 +im,3.1<:2.5,-2.48354520819549 +im,2L%3L<:2,-0.277431224364762 +im,1L%2L<:3L%4L,0.36584443443691 +im,-inf,0.0 +im,nan,0.0 +arg,1,0.0 +arg,-1,3.14159265358979 +arg,0,0.0 +arg,0.0,0.0 +arg,1.2,0.0 +arg,-1.2,3.14159265358979 +arg,1L%3L,0.0 +arg,(-1L)%4L,3.14159265358979 +arg,1+:2,1.10714871779409 +arg,-1+:2,2.0344439357957 +arg,1+:-2,-1.10714871779409 +arg,-1.2+:4.3,1.84294221732608 +arg,1.2+:-4.3,-1.29865043626371 +arg,1L%2L+:1,1.10714871779409 +arg,1L%2L+:3L%4L,0.982793723247329 +arg,3<:1,1 +arg,3<:-2.14159265358979,-2.14159265358979 +arg,3.0<:-3,-3 +arg,3.1<:2.5,2.5 +arg,2L%3L<:2,2 +arg,1L%2L<:3L%4L,3L%4L +arg,-inf,3.14159265358979 +arg,nan,nan +conj,1,1 +conj,-1,-1 +conj,0,0 +conj,0.0,0.0 +conj,1.2,1.2 +conj,-1.2,-1.2 +conj,1L%3L,1L%3L +conj,(-1L)%4L,(-1L)%4L +conj,1+:2,1+:-2 +conj,-1+:2,-1+:-2 +conj,1+:-2,1+:2 +conj,-1.2+:4.3,-1.2+:-4.3 +conj,1.2+:-4.3,1.2+:4.3 +conj,1L%2L+:1,1L%2L+:-1 +conj,1L%2L+:3L%4L,1L%2L+:(-3L)%4L +conj,3<:1,3<:-1 +conj,3<:-2.14159265358979,3<:2.14159265358979 +conj,3.0<:-3,3.0<:3 +conj,3.1<:2.5,3.1<:-2.5 +conj,2L%3L<:2,2L%3L<:-2 +conj,1L%2L<:3L%4L,1L%2L<:(-3L)%4L +conj,-inf,-inf +conj,nan,nan +rect,1,1+:0 +rect,-1,-1+:0 +rect,0,0+:0 +rect,0.0,0.0+:0.0 +rect,1.2,1.2+:0.0 +rect,-1.2,-1.2+:0.0 +rect,1L%3L,1L%3L+:0L%1L +rect,(-1L)%4L,(-1L)%4L+:0L%1L +rect,1+:2,1+:2 +rect,-1+:2,-1+:2 +rect,1+:-2,1+:-2 +rect,-1.2+:4.3,-1.2+:4.3 +rect,1.2+:-4.3,1.2+:-4.3 +rect,1L%2L+:1,1L%2L+:1 +rect,1L%2L+:3L%4L,1L%2L+:3L%4L +rect,3<:1,1.62090691760442+:2.52441295442369 +rect,3<:-2.14159265358979,-1.62090691760442+:-2.52441295442369 +rect,3.0<:-3,-2.96997748980134+:-0.423360024179602 +rect,3.1<:2.5,-2.48354520819549+:1.85526364672227 +rect,2L%3L<:2,-0.277431224364762+:0.606198284550454 +rect,1L%2L<:3L%4L,0.36584443443691+:0.340819380011667 +rect,-inf,-inf+:0.0 +rect,nan,nan+:0.0 +polar,1,1<:0 +polar,-1,1<:3.14159265358979 +polar,0,0<:0 +polar,0.0,0.0<:0.0 +polar,1.2,1.2<:0.0 +polar,-1.2,1.2<:3.14159265358979 +polar,1L%3L,1L%3L<:0L%1L +polar,(-1L)%4L,1L%4L<:3.14159265358979 +polar,1+:2,2.23606797749979<:1.10714871779409 +polar,-1+:2,2.23606797749979<:2.0344439357957 +polar,1+:-2,2.23606797749979<:-1.10714871779409 +polar,-1.2+:4.3,4.46430285710994<:1.84294221732608 +polar,1.2+:-4.3,4.46430285710994<:-1.29865043626371 +polar,1L%2L+:1,1.11803398874989<:1.10714871779409 +polar,1L%2L+:3L%4L,0.901387818865997<:0.982793723247329 +polar,3<:1,3<:1 +polar,3<:-2.14159265358979,3<:-2.14159265358979 +polar,3.0<:-3,3.0<:-3 +polar,3.1<:2.5,3.1<:2.5 +polar,2L%3L<:2,2L%3L<:2 +polar,1L%2L<:3L%4L,1L%2L<:3L%4L +polar,-inf,inf<:3.14159265358979 +polar,nan,nan<:0.0 +cis,1,0.54030230586814+:0.841470984807897 +cis,-1,0.54030230586814+:-0.841470984807897 +cis,0,1.0+:0.0 +cis,0.0,1.0+:0.0 +cis,1.2,0.362357754476674+:0.932039085967226 +cis,-1.2,0.362357754476674+:-0.932039085967226 +cis,1L%3L,0.944956946314738+:0.327194696796152 +cis,(-1L)%4L,0.968912421710645+:-0.247403959254523 +cis,1+:2,__failed__ (cis (1+:2)) +cis,-1+:2,__failed__ (cis (-1+:2)) +cis,1+:-2,__failed__ (cis (1+:-2)) +cis,-1.2+:4.3,__failed__ (cis (-1.2+:4.3)) +cis,1.2+:-4.3,__failed__ (cis (1.2+:-4.3)) +cis,1L%2L+:1,__failed__ (cis (1L%2L+:1)) +cis,1L%2L+:3L%4L,__failed__ (cis (1L%2L+:3L%4L)) +cis,3<:1,__failed__ (cis (3<:1)) +cis,3<:-2.14159265358979,__failed__ (cis (3<:-2.14159265358979)) +cis,3.0<:-3,__failed__ (cis (3.0<:-3)) +cis,3.1<:2.5,__failed__ (cis (3.1<:2.5)) +cis,2L%3L<:2,__failed__ (cis (2L%3L<:2)) +cis,1L%2L<:3L%4L,__failed__ (cis (1L%2L<:3L%4L)) +cis,-inf,nan+:nan +cis,nan,nan+:nan +ceil,1,1 +ceil,-1,-1 +ceil,0,0 +ceil,0.0,0.0 +ceil,1.2,2.0 +ceil,-1.2,-1.0 +ceil,1L%3L,1L +ceil,(-1L)%4L,0L +ceil,1+:2,__failed__ (ceil (1+:2)) +ceil,-1+:2,__failed__ (ceil (-1+:2)) +ceil,1+:-2,__failed__ (ceil (1+:-2)) +ceil,-1.2+:4.3,__failed__ (ceil (-1.2+:4.3)) +ceil,1.2+:-4.3,__failed__ (ceil (1.2+:-4.3)) +ceil,1L%2L+:1,__failed__ (ceil (1L%2L+:1)) +ceil,1L%2L+:3L%4L,__failed__ (ceil (1L%2L+:3L%4L)) +ceil,3<:1,__failed__ (ceil (3<:1)) +ceil,3<:-2.14159265358979,__failed__ (ceil (3<:-2.14159265358979)) +ceil,3.0<:-3,__failed__ (ceil (3.0<:-3)) +ceil,3.1<:2.5,__failed__ (ceil (3.1<:2.5)) +ceil,2L%3L<:2,__failed__ (ceil (2L%3L<:2)) +ceil,1L%2L<:3L%4L,__failed__ (ceil (1L%2L<:3L%4L)) +ceil,-inf,-inf +ceil,nan,nan +floor,1,1 +floor,-1,-1 +floor,0,0 +floor,0.0,0.0 +floor,1.2,1.0 +floor,-1.2,-2.0 +floor,1L%3L,0L +floor,(-1L)%4L,-1L +floor,1+:2,__failed__ (floor (1+:2)) +floor,-1+:2,__failed__ (floor (-1+:2)) +floor,1+:-2,__failed__ (floor (1+:-2)) +floor,-1.2+:4.3,__failed__ (floor (-1.2+:4.3)) +floor,1.2+:-4.3,__failed__ (floor (1.2+:-4.3)) +floor,1L%2L+:1,__failed__ (floor (1L%2L+:1)) +floor,1L%2L+:3L%4L,__failed__ (floor (1L%2L+:3L%4L)) +floor,3<:1,__failed__ (floor (3<:1)) +floor,3<:-2.14159265358979,__failed__ (floor (3<:-2.14159265358979)) +floor,3.0<:-3,__failed__ (floor (3.0<:-3)) +floor,3.1<:2.5,__failed__ (floor (3.1<:2.5)) +floor,2L%3L<:2,__failed__ (floor (2L%3L<:2)) +floor,1L%2L<:3L%4L,__failed__ (floor (1L%2L<:3L%4L)) +floor,-inf,-inf +floor,nan,nan +round,1,1 +round,-1,-1 +round,0,0 +round,0.0,0.0 +round,1.2,1.0 +round,-1.2,-1.0 +round,1L%3L,0L +round,(-1L)%4L,0L +round,1+:2,__failed__ (round (1+:2)) +round,-1+:2,__failed__ (round (-1+:2)) +round,1+:-2,__failed__ (round (1+:-2)) +round,-1.2+:4.3,__failed__ (round (-1.2+:4.3)) +round,1.2+:-4.3,__failed__ (round (1.2+:-4.3)) +round,1L%2L+:1,__failed__ (round (1L%2L+:1)) +round,1L%2L+:3L%4L,__failed__ (round (1L%2L+:3L%4L)) +round,3<:1,__failed__ (round (3<:1)) +round,3<:-2.14159265358979,__failed__ (round (3<:-2.14159265358979)) +round,3.0<:-3,__failed__ (round (3.0<:-3)) +round,3.1<:2.5,__failed__ (round (3.1<:2.5)) +round,2L%3L<:2,__failed__ (round (2L%3L<:2)) +round,1L%2L<:3L%4L,__failed__ (round (1L%2L<:3L%4L)) +round,-inf,-inf +round,nan,nan +frac,1,0 +frac,-1,0 +frac,0,0 +frac,0.0,0.0 +frac,1.2,0.2 +frac,-1.2,-0.2 +frac,1L%3L,1L%3L +frac,(-1L)%4L,(-1L)%4L +frac,1+:2,__failed__ (frac (1+:2)) +frac,-1+:2,__failed__ (frac (-1+:2)) +frac,1+:-2,__failed__ (frac (1+:-2)) +frac,-1.2+:4.3,__failed__ (frac (-1.2+:4.3)) +frac,1.2+:-4.3,__failed__ (frac (1.2+:-4.3)) +frac,1L%2L+:1,__failed__ (frac (1L%2L+:1)) +frac,1L%2L+:3L%4L,__failed__ (frac (1L%2L+:3L%4L)) +frac,3<:1,__failed__ (frac (3<:1)) +frac,3<:-2.14159265358979,__failed__ (frac (3<:-2.14159265358979)) +frac,3.0<:-3,__failed__ (frac (3.0<:-3)) +frac,3.1<:2.5,__failed__ (frac (3.1<:2.5)) +frac,2L%3L<:2,__failed__ (frac (2L%3L<:2)) +frac,1L%2L<:3L%4L,__failed__ (frac (1L%2L<:3L%4L)) +frac,-inf,nan +frac,nan,nan +complexp,1,0 +complexp,-1,0 +complexp,0,0 +complexp,0.0,0 +complexp,1.2,0 +complexp,-1.2,0 +complexp,1L%3L,0 +complexp,(-1L)%4L,0 +complexp,1+:2,1 +complexp,-1+:2,1 +complexp,1+:-2,1 +complexp,-1.2+:4.3,1 +complexp,1.2+:-4.3,1 +complexp,1L%2L+:1,1 +complexp,1L%2L+:3L%4L,1 +complexp,3<:1,1 +complexp,3<:-2.14159265358979,1 +complexp,3.0<:-3,1 +complexp,3.1<:2.5,1 +complexp,2L%3L<:2,1 +complexp,1L%2L<:3L%4L,1 +complexp,-inf,0 +complexp,nan,0 +realp,1,1 +realp,-1,1 +realp,0,1 +realp,0.0,1 +realp,1.2,1 +realp,-1.2,1 +realp,1L%3L,1 +realp,(-1L)%4L,1 +realp,1+:2,0 +realp,-1+:2,0 +realp,1+:-2,0 +realp,-1.2+:4.3,0 +realp,1.2+:-4.3,0 +realp,1L%2L+:1,0 +realp,1L%2L+:3L%4L,0 +realp,3<:1,0 +realp,3<:-2.14159265358979,0 +realp,3.0<:-3,0 +realp,3.1<:2.5,0 +realp,2L%3L<:2,0 +realp,1L%2L<:3L%4L,0 +realp,-inf,1 +realp,nan,1 +rationalp,1,0 +rationalp,-1,0 +rationalp,0,0 +rationalp,0.0,0 +rationalp,1.2,0 +rationalp,-1.2,0 +rationalp,1L%3L,1 +rationalp,(-1L)%4L,1 +rationalp,1+:2,0 +rationalp,-1+:2,0 +rationalp,1+:-2,0 +rationalp,-1.2+:4.3,0 +rationalp,1.2+:-4.3,0 +rationalp,1L%2L+:1,0 +rationalp,1L%2L+:3L%4L,0 +rationalp,3<:1,0 +rationalp,3<:-2.14159265358979,0 +rationalp,3.0<:-3,0 +rationalp,3.1<:2.5,0 +rationalp,2L%3L<:2,0 +rationalp,1L%2L<:3L%4L,0 +rationalp,-inf,0 +rationalp,nan,0 +numberp,1,1 +numberp,-1,1 +numberp,0,1 +numberp,0.0,1 +numberp,1.2,1 +numberp,-1.2,1 +numberp,1L%3L,1 +numberp,(-1L)%4L,1 +numberp,1+:2,1 +numberp,-1+:2,1 +numberp,1+:-2,1 +numberp,-1.2+:4.3,1 +numberp,1.2+:-4.3,1 +numberp,1L%2L+:1,1 +numberp,1L%2L+:3L%4L,1 +numberp,3<:1,1 +numberp,3<:-2.14159265358979,1 +numberp,3.0<:-3,1 +numberp,3.1<:2.5,1 +numberp,2L%3L<:2,1 +numberp,1L%2L<:3L%4L,1 +numberp,-inf,1 +numberp,nan,1 +exactp,1,1 +exactp,-1,1 +exactp,0,1 +exactp,0.0,0 +exactp,1.2,0 +exactp,-1.2,0 +exactp,1L%3L,1 +exactp,(-1L)%4L,1 +exactp,1+:2,1 +exactp,-1+:2,1 +exactp,1+:-2,1 +exactp,-1.2+:4.3,0 +exactp,1.2+:-4.3,0 +exactp,1L%2L+:1,1 +exactp,1L%2L+:3L%4L,1 +exactp,3<:1,0 +exactp,3<:-2.14159265358979,0 +exactp,3.0<:-3,0 +exactp,3.1<:2.5,0 +exactp,2L%3L<:2,0 +exactp,1L%2L<:3L%4L,0 +exactp,-inf,0 +exactp,nan,0 +inexactp,1,0 +inexactp,-1,0 +inexactp,0,0 +inexactp,0.0,1 +inexactp,1.2,1 +inexactp,-1.2,1 +inexactp,1L%3L,0 +inexactp,(-1L)%4L,0 +inexactp,1+:2,0 +inexactp,-1+:2,0 +inexactp,1+:-2,0 +inexactp,-1.2+:4.3,1 +inexactp,1.2+:-4.3,1 +inexactp,1L%2L+:1,0 +inexactp,1L%2L+:3L%4L,0 +inexactp,3<:1,1 +inexactp,3<:-2.14159265358979,1 +inexactp,3.0<:-3,1 +inexactp,3.1<:2.5,1 +inexactp,2L%3L<:2,1 +inexactp,1L%2L<:3L%4L,1 +inexactp,-inf,1 +inexactp,nan,1 +infp,1,0 +infp,-1,0 +infp,0,0 +infp,0.0,0 +infp,1.2,0 +infp,-1.2,0 +infp,1L%3L,0 +infp,(-1L)%4L,0 +infp,1+:2,0 +infp,-1+:2,0 +infp,1+:-2,0 +infp,-1.2+:4.3,0 +infp,1.2+:-4.3,0 +infp,1L%2L+:1,0 +infp,1L%2L+:3L%4L,0 +infp,3<:1,0 +infp,3<:-2.14159265358979,0 +infp,3.0<:-3,0 +infp,3.1<:2.5,0 +infp,2L%3L<:2,0 +infp,1L%2L<:3L%4L,0 +infp,-inf,1 +infp,nan,0 +nanp,1,0 +nanp,-1,0 +nanp,0,0 +nanp,0.0,0 +nanp,1.2,0 +nanp,-1.2,0 +nanp,1L%3L,0 +nanp,(-1L)%4L,0 +nanp,1+:2,0 +nanp,-1+:2,0 +nanp,1+:-2,0 +nanp,-1.2+:4.3,0 +nanp,1.2+:-4.3,0 +nanp,1L%2L+:1,0 +nanp,1L%2L+:3L%4L,0 +nanp,3<:1,0 +nanp,3<:-2.14159265358979,0 +nanp,3.0<:-3,0 +nanp,3.1<:2.5,0 +nanp,2L%3L<:2,0 +nanp,1L%2L<:3L%4L,0 +nanp,-inf,0 +nanp,nan,1 +*** BINARY *** +(+),1,1,2 +(+),1,-1,0 +(+),1,0,1 +(+),1,0.0,1.0 +(+),1,1.2,2.2 +(+),1,-1.2,-0.2 +(+),1,1L%3L,4L%3L +(+),1,(-1L)%4L,3L%4L +(+),1,1+:2,2+:2 +(+),1,-1+:2,0+:2 +(+),1,1+:-2,2+:-2 +(+),1,-1.2+:4.3,-0.2+:4.3 +(+),1,1.2+:-4.3,2.2+:-4.3 +(+),1,1L%2L+:1,3L%2L+:1 +(+),1,1L%2L+:3L%4L,3L%2L+:3L%4L +(+),1,3<:1,2.62090691760442+:2.52441295442369 +(+),1,3<:-2.14159265358979,-0.62090691760442+:-2.52441295442369 +(+),1,3.0<:-3,-1.96997748980134+:-0.423360024179602 +(+),1,3.1<:2.5,-1.48354520819549+:1.85526364672227 +(+),1,2L%3L<:2,0.722568775635238+:0.606198284550454 +(+),1,1L%2L<:3L%4L,1.36584443443691+:0.340819380011667 +(+),1,-inf,-inf +(+),1,nan,nan +(+),-1,1,0 +(+),-1,-1,-2 +(+),-1,0,-1 +(+),-1,0.0,-1.0 +(+),-1,1.2,0.2 +(+),-1,-1.2,-2.2 +(+),-1,1L%3L,(-2L)%3L +(+),-1,(-1L)%4L,(-5L)%4L +(+),-1,1+:2,0+:2 +(+),-1,-1+:2,-2+:2 +(+),-1,1+:-2,0+:-2 +(+),-1,-1.2+:4.3,-2.2+:4.3 +(+),-1,1.2+:-4.3,0.2+:-4.3 +(+),-1,1L%2L+:1,(-1L)%2L+:1 +(+),-1,1L%2L+:3L%4L,(-1L)%2L+:3L%4L +(+),-1,3<:1,0.620906917604419+:2.52441295442369 +(+),-1,3<:-2.14159265358979,-2.62090691760442+:-2.52441295442369 +(+),-1,3.0<:-3,-3.96997748980134+:-0.423360024179602 +(+),-1,3.1<:2.5,-3.48354520819549+:1.85526364672227 +(+),-1,2L%3L<:2,-1.27743122436476+:0.606198284550454 +(+),-1,1L%2L<:3L%4L,-0.634155565563089+:0.340819380011667 +(+),-1,-inf,-inf +(+),-1,nan,nan +(+),0,1,1 +(+),0,-1,-1 +(+),0,0,0 +(+),0,0.0,0.0 +(+),0,1.2,1.2 +(+),0,-1.2,-1.2 +(+),0,1L%3L,1L%3L +(+),0,(-1L)%4L,(-1L)%4L +(+),0,1+:2,1+:2 +(+),0,-1+:2,-1+:2 +(+),0,1+:-2,1+:-2 +(+),0,-1.2+:4.3,-1.2+:4.3 +(+),0,1.2+:-4.3,1.2+:-4.3 +(+),0,1L%2L+:1,1L%2L+:1 +(+),0,1L%2L+:3L%4L,1L%2L+:3L%4L +(+),0,3<:1,1.62090691760442+:2.52441295442369 +(+),0,3<:-2.14159265358979,-1.62090691760442+:-2.52441295442369 +(+),0,3.0<:-3,-2.96997748980134+:-0.423360024179602 +(+),0,3.1<:2.5,-2.48354520819549+:1.85526364672227 +(+),0,2L%3L<:2,-0.277431224364762+:0.606198284550454 +(+),0,1L%2L<:3L%4L,0.36584443443691+:0.340819380011667 +(+),0,-inf,-inf +(+),0,nan,nan +(+),0.0,1,1.0 +(+),0.0,-1,-1.0 +(+),0.0,0,0.0 +(+),0.0,0.0,0.0 +(+),0.0,1.2,1.2 +(+),0.0,-1.2,-1.2 +(+),0.0,1L%3L,0.333333333333333 +(+),0.0,(-1L)%4L,-0.25 +(+),0.0,1+:2,1.0+:2 +(+),0.0,-1+:2,-1.0+:2 +(+),0.0,1+:-2,1.0+:-2 +(+),0.0,-1.2+:4.3,-1.2+:4.3 +(+),0.0,1.2+:-4.3,1.2+:-4.3 +(+),0.0,1L%2L+:1,0.5+:1 +(+),0.0,1L%2L+:3L%4L,0.5+:3L%4L +(+),0.0,3<:1,1.62090691760442+:2.52441295442369 +(+),0.0,3<:-2.14159265358979,-1.62090691760442+:-2.52441295442369 +(+),0.0,3.0<:-3,-2.96997748980134+:-0.423360024179602 +(+),0.0,3.1<:2.5,-2.48354520819549+:1.85526364672227 +(+),0.0,2L%3L<:2,-0.277431224364762+:0.606198284550454 +(+),0.0,1L%2L<:3L%4L,0.36584443443691+:0.340819380011667 +(+),0.0,-inf,-inf +(+),0.0,nan,nan +(+),1.2,1,2.2 +(+),1.2,-1,0.2 +(+),1.2,0,1.2 +(+),1.2,0.0,1.2 +(+),1.2,1.2,2.4 +(+),1.2,-1.2,0.0 +(+),1.2,1L%3L,1.53333333333333 +(+),1.2,(-1L)%4L,0.95 +(+),1.2,1+:2,2.2+:2 +(+),1.2,-1+:2,0.2+:2 +(+),1.2,1+:-2,2.2+:-2 +(+),1.2,-1.2+:4.3,0.0+:4.3 +(+),1.2,1.2+:-4.3,2.4+:-4.3 +(+),1.2,1L%2L+:1,1.7+:1 +(+),1.2,1L%2L+:3L%4L,1.7+:3L%4L +(+),1.2,3<:1,2.82090691760442+:2.52441295442369 +(+),1.2,3<:-2.14159265358979,-0.42090691760442+:-2.52441295442369 +(+),1.2,3.0<:-3,-1.76997748980134+:-0.423360024179602 +(+),1.2,3.1<:2.5,-1.28354520819549+:1.85526364672227 +(+),1.2,2L%3L<:2,0.922568775635238+:0.606198284550454 +(+),1.2,1L%2L<:3L%4L,1.56584443443691+:0.340819380011667 +(+),1.2,-inf,-inf +(+),1.2,nan,nan +(+),-1.2,1,-0.2 +(+),-1.2,-1,-2.2 +(+),-1.2,0,-1.2 +(+),-1.2,0.0,-1.2 +(+),-1.2,1.2,0.0 +(+),-1.2,-1.2,-2.4 +(+),-1.2,1L%3L,-0.866666666666667 +(+),-1.2,(-1L)%4L,-1.45 +(+),-1.2,1+:2,-0.2+:2 +(+),-1.2,-1+:2,-2.2+:2 +(+),-1.2,1+:-2,-0.2+:-2 +(+),-1.2,-1.2+:4.3,-2.4+:4.3 +(+),-1.2,1.2+:-4.3,0.0+:-4.3 +(+),-1.2,1L%2L+:1,-0.7+:1 +(+),-1.2,1L%2L+:3L%4L,-0.7+:3L%4L +(+),-1.2,3<:1,0.420906917604419+:2.52441295442369 +(+),-1.2,3<:-2.14159265358979,-2.82090691760442+:-2.52441295442369 +(+),-1.2,3.0<:-3,-4.16997748980134+:-0.423360024179602 +(+),-1.2,3.1<:2.5,-3.68354520819549+:1.85526364672227 +(+),-1.2,2L%3L<:2,-1.47743122436476+:0.606198284550454 +(+),-1.2,1L%2L<:3L%4L,-0.834155565563089+:0.340819380011667 +(+),-1.2,-inf,-inf +(+),-1.2,nan,nan +(+),1L%3L,1,4L%3L +(+),1L%3L,-1,(-2L)%3L +(+),1L%3L,0,1L%3L +(+),1L%3L,0.0,0.333333333333333 +(+),1L%3L,1.2,1.53333333333333 +(+),1L%3L,-1.2,-0.866666666666667 +(+),1L%3L,1L%3L,2L%3L +(+),1L%3L,(-1L)%4L,1L%12L +(+),1L%3L,1+:2,4L%3L+:2 +(+),1L%3L,-1+:2,(-2L)%3L+:2 +(+),1L%3L,1+:-2,4L%3L+:-2 +(+),1L%3L,-1.2+:4.3,-0.866666666666667+:4.3 +(+),1L%3L,1.2+:-4.3,1.53333333333333+:-4.3 +(+),1L%3L,1L%2L+:1,5L%6L+:1 +(+),1L%3L,1L%2L+:3L%4L,5L%6L+:3L%4L +(+),1L%3L,3<:1,1.95424025093775+:2.52441295442369 +(+),1L%3L,3<:-2.14159265358979,-1.28757358427109+:-2.52441295442369 +(+),1L%3L,3.0<:-3,-2.636644156468+:-0.423360024179602 +(+),1L%3L,3.1<:2.5,-2.15021187486216+:1.85526364672227 +(+),1L%3L,2L%3L<:2,0.0559021089685718+:0.606198284550454 +(+),1L%3L,1L%2L<:3L%4L,0.699177767770244+:0.340819380011667 +(+),1L%3L,-inf,-inf +(+),1L%3L,nan,nan +(+),(-1L)%4L,1,3L%4L +(+),(-1L)%4L,-1,(-5L)%4L +(+),(-1L)%4L,0,(-1L)%4L +(+),(-1L)%4L,0.0,-0.25 +(+),(-1L)%4L,1.2,0.95 +(+),(-1L)%4L,-1.2,-1.45 +(+),(-1L)%4L,1L%3L,1L%12L +(+),(-1L)%4L,(-1L)%4L,(-1L)%2L +(+),(-1L)%4L,1+:2,3L%4L+:2 +(+),(-1L)%4L,-1+:2,(-5L)%4L+:2 +(+),(-1L)%4L,1+:-2,3L%4L+:-2 +(+),(-1L)%4L,-1.2+:4.3,-1.45+:4.3 +(+),(-1L)%4L,1.2+:-4.3,0.95+:-4.3 +(+),(-1L)%4L,1L%2L+:1,1L%4L+:1 +(+),(-1L)%4L,1L%2L+:3L%4L,1L%4L+:3L%4L +(+),(-1L)%4L,3<:1,1.37090691760442+:2.52441295442369 +(+),(-1L)%4L,3<:-2.14159265358979,-1.87090691760442+:-2.52441295442369 +(+),(-1L)%4L,3.0<:-3,-3.21997748980134+:-0.423360024179602 +(+),(-1L)%4L,3.1<:2.5,-2.73354520819549+:1.85526364672227 +(+),(-1L)%4L,2L%3L<:2,-0.527431224364762+:0.606198284550454 +(+),(-1L)%4L,1L%2L<:3L%4L,0.11584443443691+:0.340819380011667 +(+),(-1L)%4L,-inf,-inf +(+),(-1L)%4L,nan,nan +(+),1+:2,1,2+:2 +(+),1+:2,-1,0+:2 +(+),1+:2,0,1+:2 +(+),1+:2,0.0,1.0+:2 +(+),1+:2,1.2,2.2+:2 +(+),1+:2,-1.2,-0.2+:2 +(+),1+:2,1L%3L,4L%3L+:2 +(+),1+:2,(-1L)%4L,3L%4L+:2 +(+),1+:2,1+:2,2+:4 +(+),1+:2,-1+:2,0+:4 +(+),1+:2,1+:-2,2+:0 +(+),1+:2,-1.2+:4.3,-0.2+:6.3 +(+),1+:2,1.2+:-4.3,2.2+:-2.3 +(+),1+:2,1L%2L+:1,3L%2L+:3 +(+),1+:2,1L%2L+:3L%4L,3L%2L+:11L%4L +(+),1+:2,3<:1,2.62090691760442+:4.52441295442369 +(+),1+:2,3<:-2.14159265358979,-0.62090691760442+:-0.524412954423689 +(+),1+:2,3.0<:-3,-1.96997748980134+:1.5766399758204 +(+),1+:2,3.1<:2.5,-1.48354520819549+:3.85526364672227 +(+),1+:2,2L%3L<:2,0.722568775635238+:2.60619828455045 +(+),1+:2,1L%2L<:3L%4L,1.36584443443691+:2.34081938001167 +(+),1+:2,-inf,-inf+:2 +(+),1+:2,nan,nan+:2 +(+),-1+:2,1,0+:2 +(+),-1+:2,-1,-2+:2 +(+),-1+:2,0,-1+:2 +(+),-1+:2,0.0,-1.0+:2 +(+),-1+:2,1.2,0.2+:2 +(+),-1+:2,-1.2,-2.2+:2 +(+),-1+:2,1L%3L,(-2L)%3L+:2 +(+),-1+:2,(-1L)%4L,(-5L)%4L+:2 +(+),-1+:2,1+:2,0+:4 +(+),-1+:2,-1+:2,-2+:4 +(+),-1+:2,1+:-2,0+:0 +(+),-1+:2,-1.2+:4.3,-2.2+:6.3 +(+),-1+:2,1.2+:-4.3,0.2+:-2.3 +(+),-1+:2,1L%2L+:1,(-1L)%2L+:3 +(+),-1+:2,1L%2L+:3L%4L,(-1L)%2L+:11L%4L +(+),-1+:2,3<:1,0.620906917604419+:4.52441295442369 +(+),-1+:2,3<:-2.14159265358979,-2.62090691760442+:-0.524412954423689 +(+),-1+:2,3.0<:-3,-3.96997748980134+:1.5766399758204 +(+),-1+:2,3.1<:2.5,-3.48354520819549+:3.85526364672227 +(+),-1+:2,2L%3L<:2,-1.27743122436476+:2.60619828455045 +(+),-1+:2,1L%2L<:3L%4L,-0.634155565563089+:2.34081938001167 +(+),-1+:2,-inf,-inf+:2 +(+),-1+:2,nan,nan+:2 +(+),1+:-2,1,2+:-2 +(+),1+:-2,-1,0+:-2 +(+),1+:-2,0,1+:-2 +(+),1+:-2,0.0,1.0+:-2 +(+),1+:-2,1.2,2.2+:-2 +(+),1+:-2,-1.2,-0.2+:-2 +(+),1+:-2,1L%3L,4L%3L+:-2 +(+),1+:-2,(-1L)%4L,3L%4L+:-2 +(+),1+:-2,1+:2,2+:0 +(+),1+:-2,-1+:2,0+:0 +(+),1+:-2,1+:-2,2+:-4 +(+),1+:-2,-1.2+:4.3,-0.2+:2.3 +(+),1+:-2,1.2+:-4.3,2.2+:-6.3 +(+),1+:-2,1L%2L+:1,3L%2L+:-1 +(+),1+:-2,1L%2L+:3L%4L,3L%2L+:(-5L)%4L +(+),1+:-2,3<:1,2.62090691760442+:0.524412954423689 +(+),1+:-2,3<:-2.14159265358979,-0.62090691760442+:-4.52441295442369 +(+),1+:-2,3.0<:-3,-1.96997748980134+:-2.4233600241796 +(+),1+:-2,3.1<:2.5,-1.48354520819549+:-0.144736353277735 +(+),1+:-2,2L%3L<:2,0.722568775635238+:-1.39380171544955 +(+),1+:-2,1L%2L<:3L%4L,1.36584443443691+:-1.65918061998833 +(+),1+:-2,-inf,-inf+:-2 +(+),1+:-2,nan,nan+:-2 +(+),-1.2+:4.3,1,-0.2+:4.3 +(+),-1.2+:4.3,-1,-2.2+:4.3 +(+),-1.2+:4.3,0,-1.2+:4.3 +(+),-1.2+:4.3,0.0,-1.2+:4.3 +(+),-1.2+:4.3,1.2,0.0+:4.3 +(+),-1.2+:4.3,-1.2,-2.4+:4.3 +(+),-1.2+:4.3,1L%3L,-0.866666666666667+:4.3 +(+),-1.2+:4.3,(-1L)%4L,-1.45+:4.3 +(+),-1.2+:4.3,1+:2,-0.2+:6.3 +(+),-1.2+:4.3,-1+:2,-2.2+:6.3 +(+),-1.2+:4.3,1+:-2,-0.2+:2.3 +(+),-1.2+:4.3,-1.2+:4.3,-2.4+:8.6 +(+),-1.2+:4.3,1.2+:-4.3,0.0+:0.0 +(+),-1.2+:4.3,1L%2L+:1,-0.7+:5.3 +(+),-1.2+:4.3,1L%2L+:3L%4L,-0.7+:5.05 +(+),-1.2+:4.3,3<:1,0.420906917604419+:6.82441295442369 +(+),-1.2+:4.3,3<:-2.14159265358979,-2.82090691760442+:1.77558704557631 +(+),-1.2+:4.3,3.0<:-3,-4.16997748980134+:3.8766399758204 +(+),-1.2+:4.3,3.1<:2.5,-3.68354520819549+:6.15526364672226 +(+),-1.2+:4.3,2L%3L<:2,-1.47743122436476+:4.90619828455045 +(+),-1.2+:4.3,1L%2L<:3L%4L,-0.834155565563089+:4.64081938001167 +(+),-1.2+:4.3,-inf,-inf+:4.3 +(+),-1.2+:4.3,nan,nan+:4.3 +(+),1.2+:-4.3,1,2.2+:-4.3 +(+),1.2+:-4.3,-1,0.2+:-4.3 +(+),1.2+:-4.3,0,1.2+:-4.3 +(+),1.2+:-4.3,0.0,1.2+:-4.3 +(+),1.2+:-4.3,1.2,2.4+:-4.3 +(+),1.2+:-4.3,-1.2,0.0+:-4.3 +(+),1.2+:-4.3,1L%3L,1.53333333333333+:-4.3 +(+),1.2+:-4.3,(-1L)%4L,0.95+:-4.3 +(+),1.2+:-4.3,1+:2,2.2+:-2.3 +(+),1.2+:-4.3,-1+:2,0.2+:-2.3 +(+),1.2+:-4.3,1+:-2,2.2+:-6.3 +(+),1.2+:-4.3,-1.2+:4.3,0.0+:0.0 +(+),1.2+:-4.3,1.2+:-4.3,2.4+:-8.6 +(+),1.2+:-4.3,1L%2L+:1,1.7+:-3.3 +(+),1.2+:-4.3,1L%2L+:3L%4L,1.7+:-3.55 +(+),1.2+:-4.3,3<:1,2.82090691760442+:-1.77558704557631 +(+),1.2+:-4.3,3<:-2.14159265358979,-0.42090691760442+:-6.82441295442369 +(+),1.2+:-4.3,3.0<:-3,-1.76997748980134+:-4.7233600241796 +(+),1.2+:-4.3,3.1<:2.5,-1.28354520819549+:-2.44473635327773 +(+),1.2+:-4.3,2L%3L<:2,0.922568775635238+:-3.69380171544955 +(+),1.2+:-4.3,1L%2L<:3L%4L,1.56584443443691+:-3.95918061998833 +(+),1.2+:-4.3,-inf,-inf+:-4.3 +(+),1.2+:-4.3,nan,nan+:-4.3 +(+),1L%2L+:1,1,3L%2L+:1 +(+),1L%2L+:1,-1,(-1L)%2L+:1 +(+),1L%2L+:1,0,1L%2L+:1 +(+),1L%2L+:1,0.0,0.5+:1 +(+),1L%2L+:1,1.2,1.7+:1 +(+),1L%2L+:1,-1.2,-0.7+:1 +(+),1L%2L+:1,1L%3L,5L%6L+:1 +(+),1L%2L+:1,(-1L)%4L,1L%4L+:1 +(+),1L%2L+:1,1+:2,3L%2L+:3 +(+),1L%2L+:1,-1+:2,(-1L)%2L+:3 +(+),1L%2L+:1,1+:-2,3L%2L+:-1 +(+),1L%2L+:1,-1.2+:4.3,-0.7+:5.3 +(+),1L%2L+:1,1.2+:-4.3,1.7+:-3.3 +(+),1L%2L+:1,1L%2L+:1,1L%1L+:2 +(+),1L%2L+:1,1L%2L+:3L%4L,1L%1L+:7L%4L +(+),1L%2L+:1,3<:1,2.12090691760442+:3.52441295442369 +(+),1L%2L+:1,3<:-2.14159265358979,-1.12090691760442+:-1.52441295442369 +(+),1L%2L+:1,3.0<:-3,-2.46997748980134+:0.576639975820398 +(+),1L%2L+:1,3.1<:2.5,-1.98354520819549+:2.85526364672227 +(+),1L%2L+:1,2L%3L<:2,0.222568775635238+:1.60619828455045 +(+),1L%2L+:1,1L%2L<:3L%4L,0.865844434436911+:1.34081938001167 +(+),1L%2L+:1,-inf,-inf+:1 +(+),1L%2L+:1,nan,nan+:1 +(+),1L%2L+:3L%4L,1,3L%2L+:3L%4L +(+),1L%2L+:3L%4L,-1,(-1L)%2L+:3L%4L +(+),1L%2L+:3L%4L,0,1L%2L+:3L%4L +(+),1L%2L+:3L%4L,0.0,0.5+:3L%4L +(+),1L%2L+:3L%4L,1.2,1.7+:3L%4L +(+),1L%2L+:3L%4L,-1.2,-0.7+:3L%4L +(+),1L%2L+:3L%4L,1L%3L,5L%6L+:3L%4L +(+),1L%2L+:3L%4L,(-1L)%4L,1L%4L+:3L%4L +(+),1L%2L+:3L%4L,1+:2,3L%2L+:11L%4L +(+),1L%2L+:3L%4L,-1+:2,(-1L)%2L+:11L%4L +(+),1L%2L+:3L%4L,1+:-2,3L%2L+:(-5L)%4L +(+),1L%2L+:3L%4L,-1.2+:4.3,-0.7+:5.05 +(+),1L%2L+:3L%4L,1.2+:-4.3,1.7+:-3.55 +(+),1L%2L+:3L%4L,1L%2L+:1,1L%1L+:7L%4L +(+),1L%2L+:3L%4L,1L%2L+:3L%4L,1L%1L+:3L%2L +(+),1L%2L+:3L%4L,3<:1,2.12090691760442+:3.27441295442369 +(+),1L%2L+:3L%4L,3<:-2.14159265358979,-1.12090691760442+:-1.77441295442369 +(+),1L%2L+:3L%4L,3.0<:-3,-2.46997748980134+:0.326639975820398 +(+),1L%2L+:3L%4L,3.1<:2.5,-1.98354520819549+:2.60526364672227 +(+),1L%2L+:3L%4L,2L%3L<:2,0.222568775635238+:1.35619828455045 +(+),1L%2L+:3L%4L,1L%2L<:3L%4L,0.865844434436911+:1.09081938001167 +(+),1L%2L+:3L%4L,-inf,-inf+:3L%4L +(+),1L%2L+:3L%4L,nan,nan+:3L%4L +(+),3<:1,1,2.62090691760442+:2.52441295442369 +(+),3<:1,-1,0.620906917604419+:2.52441295442369 +(+),3<:1,0,1.62090691760442+:2.52441295442369 +(+),3<:1,0.0,1.62090691760442+:2.52441295442369 +(+),3<:1,1.2,2.82090691760442+:2.52441295442369 +(+),3<:1,-1.2,0.420906917604419+:2.52441295442369 +(+),3<:1,1L%3L,1.95424025093775+:2.52441295442369 +(+),3<:1,(-1L)%4L,1.37090691760442+:2.52441295442369 +(+),3<:1,1+:2,2.62090691760442+:4.52441295442369 +(+),3<:1,-1+:2,0.620906917604419+:4.52441295442369 +(+),3<:1,1+:-2,2.62090691760442+:0.524412954423689 +(+),3<:1,-1.2+:4.3,0.420906917604419+:6.82441295442369 +(+),3<:1,1.2+:-4.3,2.82090691760442+:-1.77558704557631 +(+),3<:1,1L%2L+:1,2.12090691760442+:3.52441295442369 +(+),3<:1,1L%2L+:3L%4L,2.12090691760442+:3.27441295442369 +(+),3<:1,3<:1,6.0<:1.0 +(+),3<:1,3<:-2.14159265358979,8.00593208497344e-16<:2.55359005004223 +(+),3<:1,3.0<:-3,2.49688101928285<:2.14159265358979 +(+),3<:1,3.1<:2.5,4.46382257163289<:1.76527088594645 +(+),3<:1,2L%3L<:2,3.4067071591079<:1.16542289562596 +(+),3<:1,1L%2L<:3L%4L,3.4866512967505<:0.964513817052556 +(+),3<:1,-inf,-inf+:2.52441295442369 +(+),3<:1,nan,nan+:2.52441295442369 +(+),3<:-2.14159265358979,1,-0.62090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,-1,-2.62090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,0,-1.62090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,0.0,-1.62090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,1.2,-0.42090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,-1.2,-2.82090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,1L%3L,-1.28757358427109+:-2.52441295442369 +(+),3<:-2.14159265358979,(-1L)%4L,-1.87090691760442+:-2.52441295442369 +(+),3<:-2.14159265358979,1+:2,-0.62090691760442+:-0.524412954423689 +(+),3<:-2.14159265358979,-1+:2,-2.62090691760442+:-0.524412954423689 +(+),3<:-2.14159265358979,1+:-2,-0.62090691760442+:-4.52441295442369 +(+),3<:-2.14159265358979,-1.2+:4.3,-2.82090691760442+:1.77558704557631 +(+),3<:-2.14159265358979,1.2+:-4.3,-0.42090691760442+:-6.82441295442369 +(+),3<:-2.14159265358979,1L%2L+:1,-1.12090691760442+:-1.52441295442369 +(+),3<:-2.14159265358979,1L%2L+:3L%4L,-1.12090691760442+:-1.77441295442369 +(+),3<:-2.14159265358979,3<:1,8.00593208497344e-16<:2.55359005004223 +(+),3<:-2.14159265358979,3<:-2.14159265358979,6.0<:-2.14159265358979 +(+),3<:-2.14159265358979,3.0<:-3,5.45578456095409<:-2.5707963267949 +(+),3<:-2.14159265358979,3.1<:2.5,4.1586401682498<:-2.97998431432232 +(+),3<:-2.14159265358979,2L%3L<:2,2.69874697238772<:-2.350986558013 +(+),3<:-2.14159265358979,1L%2L<:3L%4L,2.51858347784386<:-2.09245718906053 +(+),3<:-2.14159265358979,-inf,-inf+:-2.52441295442369 +(+),3<:-2.14159265358979,nan,nan+:-2.52441295442369 +(+),3.0<:-3,1,-1.96997748980134+:-0.423360024179602 +(+),3.0<:-3,-1,-3.96997748980134+:-0.423360024179602 +(+),3.0<:-3,0,-2.96997748980134+:-0.423360024179602 +(+),3.0<:-3,0.0,-2.96997748980134+:-0.423360024179602 +(+),3.0<:-3,1.2,-1.76997748980134+:-0.423360024179602 +(+),3.0<:-3,-1.2,-4.16997748980134+:-0.423360024179602 +(+),3.0<:-3,1L%3L,-2.636644156468+:-0.423360024179602 +(+),3.0<:-3,(-1L)%4L,-3.21997748980134+:-0.423360024179602 +(+),3.0<:-3,1+:2,-1.96997748980134+:1.5766399758204 +(+),3.0<:-3,-1+:2,-3.96997748980134+:1.5766399758204 +(+),3.0<:-3,1+:-2,-1.96997748980134+:-2.4233600241796 +(+),3.0<:-3,-1.2+:4.3,-4.16997748980134+:3.8766399758204 +(+),3.0<:-3,1.2+:-4.3,-1.76997748980134+:-4.7233600241796 +(+),3.0<:-3,1L%2L+:1,-2.46997748980134+:0.576639975820398 +(+),3.0<:-3,1L%2L+:3L%4L,-2.46997748980134+:0.326639975820398 +(+),3.0<:-3,3<:1,2.49688101928285<:2.14159265358979 +(+),3.0<:-3,3<:-2.14159265358979,5.45578456095409<:-2.5707963267949 +(+),3.0<:-3,3.0<:-3,6.0<:-3.0 +(+),3.0<:-3,3.1<:2.5,5.63837368412359<:2.88482361116615 +(+),3.0<:-3,2L%3L<:2,3.25255179609754<:3.08534921657721 +(+),3.0<:-3,1L%2L<:3L%4L,2.60544083179437<:-3.10990724507866 +(+),3.0<:-3,-inf,-inf+:-0.423360024179602 +(+),3.0<:-3,nan,nan+:-0.423360024179602 +(+),3.1<:2.5,1,-1.48354520819549+:1.85526364672227 +(+),3.1<:2.5,-1,-3.48354520819549+:1.85526364672227 +(+),3.1<:2.5,0,-2.48354520819549+:1.85526364672227 +(+),3.1<:2.5,0.0,-2.48354520819549+:1.85526364672227 +(+),3.1<:2.5,1.2,-1.28354520819549+:1.85526364672227 +(+),3.1<:2.5,-1.2,-3.68354520819549+:1.85526364672227 +(+),3.1<:2.5,1L%3L,-2.15021187486216+:1.85526364672227 +(+),3.1<:2.5,(-1L)%4L,-2.73354520819549+:1.85526364672227 +(+),3.1<:2.5,1+:2,-1.48354520819549+:3.85526364672227 +(+),3.1<:2.5,-1+:2,-3.48354520819549+:3.85526364672227 +(+),3.1<:2.5,1+:-2,-1.48354520819549+:-0.144736353277735 +(+),3.1<:2.5,-1.2+:4.3,-3.68354520819549+:6.15526364672226 +(+),3.1<:2.5,1.2+:-4.3,-1.28354520819549+:-2.44473635327773 +(+),3.1<:2.5,1L%2L+:1,-1.98354520819549+:2.85526364672227 +(+),3.1<:2.5,1L%2L+:3L%4L,-1.98354520819549+:2.60526364672227 +(+),3.1<:2.5,3<:1,4.46382257163289<:1.76527088594645 +(+),3.1<:2.5,3<:-2.14159265358979,4.1586401682498<:-2.97998431432232 +(+),3.1<:2.5,3.0<:-3,5.63837368412359<:2.88482361116615 +(+),3.1<:2.5,3.1<:2.5,6.2<:2.5 +(+),3.1<:2.5,2L%3L<:2,3.6988897929322<:2.41348320098687 +(+),3.1<:2.5,1L%2L<:3L%4L,3.05080927419047<:2.33802630370136 +(+),3.1<:2.5,-inf,-inf+:1.85526364672227 +(+),3.1<:2.5,nan,nan+:1.85526364672227 +(+),2L%3L<:2,1,0.722568775635238+:0.606198284550454 +(+),2L%3L<:2,-1,-1.27743122436476+:0.606198284550454 +(+),2L%3L<:2,0,-0.277431224364762+:0.606198284550454 +(+),2L%3L<:2,0.0,-0.277431224364762+:0.606198284550454 +(+),2L%3L<:2,1.2,0.922568775635238+:0.606198284550454 +(+),2L%3L<:2,-1.2,-1.47743122436476+:0.606198284550454 +(+),2L%3L<:2,1L%3L,0.0559021089685718+:0.606198284550454 +(+),2L%3L<:2,(-1L)%4L,-0.527431224364762+:0.606198284550454 +(+),2L%3L<:2,1+:2,0.722568775635238+:2.60619828455045 +(+),2L%3L<:2,-1+:2,-1.27743122436476+:2.60619828455045 +(+),2L%3L<:2,1+:-2,0.722568775635238+:-1.39380171544955 +(+),2L%3L<:2,-1.2+:4.3,-1.47743122436476+:4.90619828455045 +(+),2L%3L<:2,1.2+:-4.3,0.922568775635238+:-3.69380171544955 +(+),2L%3L<:2,1L%2L+:1,0.222568775635238+:1.60619828455045 +(+),2L%3L<:2,1L%2L+:3L%4L,0.222568775635238+:1.35619828455045 +(+),2L%3L<:2,3<:1,3.4067071591079<:1.16542289562596 +(+),2L%3L<:2,3<:-2.14159265358979,2.69874697238772<:-2.350986558013 +(+),2L%3L<:2,3.0<:-3,3.25255179609754<:3.08534921657721 +(+),2L%3L<:2,3.1<:2.5,3.6988897929322<:2.41348320098687 +(+),2L%3L<:2,2L%3L<:2,1.33333333333333<:2.0 +(+),2L%3L<:2,1L%2L<:3L%4L,0.95113582242914<:1.47770653766413 +(+),2L%3L<:2,-inf,-inf+:0.606198284550454 +(+),2L%3L<:2,nan,nan+:0.606198284550454 +(+),1L%2L<:3L%4L,1,1.36584443443691+:0.340819380011667 +(+),1L%2L<:3L%4L,-1,-0.634155565563089+:0.340819380011667 +(+),1L%2L<:3L%4L,0,0.36584443443691+:0.340819380011667 +(+),1L%2L<:3L%4L,0.0,0.36584443443691+:0.340819380011667 +(+),1L%2L<:3L%4L,1.2,1.56584443443691+:0.340819380011667 +(+),1L%2L<:3L%4L,-1.2,-0.834155565563089+:0.340819380011667 +(+),1L%2L<:3L%4L,1L%3L,0.699177767770244+:0.340819380011667 +(+),1L%2L<:3L%4L,(-1L)%4L,0.11584443443691+:0.340819380011667 +(+),1L%2L<:3L%4L,1+:2,1.36584443443691+:2.34081938001167 +(+),1L%2L<:3L%4L,-1+:2,-0.634155565563089+:2.34081938001167 +(+),1L%2L<:3L%4L,1+:-2,1.36584443443691+:-1.65918061998833 +(+),1L%2L<:3L%4L,-1.2+:4.3,-0.834155565563089+:4.64081938001167 +(+),1L%2L<:3L%4L,1.2+:-4.3,1.56584443443691+:-3.95918061998833 +(+),1L%2L<:3L%4L,1L%2L+:1,0.865844434436911+:1.34081938001167 +(+),1L%2L<:3L%4L,1L%2L+:3L%4L,0.865844434436911+:1.09081938001167 +(+),1L%2L<:3L%4L,3<:1,3.4866512967505<:0.964513817052556 +(+),1L%2L<:3L%4L,3<:-2.14159265358979,2.51858347784386<:-2.09245718906053 +(+),1L%2L<:3L%4L,3.0<:-3,2.60544083179437<:-3.10990724507866 +(+),1L%2L<:3L%4L,3.1<:2.5,3.05080927419047<:2.33802630370136 +(+),1L%2L<:3L%4L,2L%3L<:2,0.95113582242914<:1.47770653766413 +(+),1L%2L<:3L%4L,1L%2L<:3L%4L,1.0<:0.75 +(+),1L%2L<:3L%4L,-inf,-inf+:0.340819380011667 +(+),1L%2L<:3L%4L,nan,nan+:0.340819380011667 +(+),-inf,1,-inf +(+),-inf,-1,-inf +(+),-inf,0,-inf +(+),-inf,0.0,-inf +(+),-inf,1.2,-inf +(+),-inf,-1.2,-inf +(+),-inf,1L%3L,-inf +(+),-inf,(-1L)%4L,-inf +(+),-inf,1+:2,-inf+:2 +(+),-inf,-1+:2,-inf+:2 +(+),-inf,1+:-2,-inf+:-2 +(+),-inf,-1.2+:4.3,-inf+:4.3 +(+),-inf,1.2+:-4.3,-inf+:-4.3 +(+),-inf,1L%2L+:1,-inf+:1 +(+),-inf,1L%2L+:3L%4L,-inf+:3L%4L +(+),-inf,3<:1,-inf+:2.52441295442369 +(+),-inf,3<:-2.14159265358979,-inf+:-2.52441295442369 +(+),-inf,3.0<:-3,-inf+:-0.423360024179602 +(+),-inf,3.1<:2.5,-inf+:1.85526364672227 +(+),-inf,2L%3L<:2,-inf+:0.606198284550454 +(+),-inf,1L%2L<:3L%4L,-inf+:0.340819380011667 +(+),-inf,-inf,-inf +(+),-inf,nan,nan +(+),nan,1,nan +(+),nan,-1,nan +(+),nan,0,nan +(+),nan,0.0,nan +(+),nan,1.2,nan +(+),nan,-1.2,nan +(+),nan,1L%3L,nan +(+),nan,(-1L)%4L,nan +(+),nan,1+:2,nan+:2 +(+),nan,-1+:2,nan+:2 +(+),nan,1+:-2,nan+:-2 +(+),nan,-1.2+:4.3,nan+:4.3 +(+),nan,1.2+:-4.3,nan+:-4.3 +(+),nan,1L%2L+:1,nan+:1 +(+),nan,1L%2L+:3L%4L,nan+:3L%4L +(+),nan,3<:1,nan+:2.52441295442369 +(+),nan,3<:-2.14159265358979,nan+:-2.52441295442369 +(+),nan,3.0<:-3,nan+:-0.423360024179602 +(+),nan,3.1<:2.5,nan+:1.85526364672227 +(+),nan,2L%3L<:2,nan+:0.606198284550454 +(+),nan,1L%2L<:3L%4L,nan+:0.340819380011667 +(+),nan,-inf,nan +(+),nan,nan,nan +(-),1,1,0 +(-),1,-1,2 +(-),1,0,1 +(-),1,0.0,1.0 +(-),1,1.2,-0.2 +(-),1,-1.2,2.2 +(-),1,1L%3L,2L%3L +(-),1,(-1L)%4L,5L%4L +(-),1,1+:2,0+:-2 +(-),1,-1+:2,2+:-2 +(-),1,1+:-2,0+:2 +(-),1,-1.2+:4.3,2.2+:-4.3 +(-),1,1.2+:-4.3,-0.2+:4.3 +(-),1,1L%2L+:1,1L%2L+:-1 +(-),1,1L%2L+:3L%4L,1L%2L+:(-3L)%4L +(-),1,3<:1,-0.620906917604419+:-2.52441295442369 +(-),1,3<:-2.14159265358979,2.62090691760442+:2.52441295442369 +(-),1,3.0<:-3,3.96997748980134+:0.423360024179602 +(-),1,3.1<:2.5,3.48354520819549+:-1.85526364672227 +(-),1,2L%3L<:2,1.27743122436476+:-0.606198284550454 +(-),1,1L%2L<:3L%4L,0.634155565563089+:-0.340819380011667 +(-),1,-inf,inf +(-),1,nan,nan +(-),-1,1,-2 +(-),-1,-1,0 +(-),-1,0,-1 +(-),-1,0.0,-1.0 +(-),-1,1.2,-2.2 +(-),-1,-1.2,0.2 +(-),-1,1L%3L,(-4L)%3L +(-),-1,(-1L)%4L,(-3L)%4L +(-),-1,1+:2,-2+:-2 +(-),-1,-1+:2,0+:-2 +(-),-1,1+:-2,-2+:2 +(-),-1,-1.2+:4.3,0.2+:-4.3 +(-),-1,1.2+:-4.3,-2.2+:4.3 +(-),-1,1L%2L+:1,(-3L)%2L+:-1 +(-),-1,1L%2L+:3L%4L,(-3L)%2L+:(-3L)%4L +(-),-1,3<:1,-2.62090691760442+:-2.52441295442369 +(-),-1,3<:-2.14159265358979,0.62090691760442+:2.52441295442369 +(-),-1,3.0<:-3,1.96997748980134+:0.423360024179602 +(-),-1,3.1<:2.5,1.48354520819549+:-1.85526364672227 +(-),-1,2L%3L<:2,-0.722568775635238+:-0.606198284550454 +(-),-1,1L%2L<:3L%4L,-1.36584443443691+:-0.340819380011667 +(-),-1,-inf,inf +(-),-1,nan,nan +(-),0,1,-1 +(-),0,-1,1 +(-),0,0,0 +(-),0,0.0,0.0 +(-),0,1.2,-1.2 +(-),0,-1.2,1.2 +(-),0,1L%3L,(-1L)%3L +(-),0,(-1L)%4L,1L%4L +(-),0,1+:2,-1+:-2 +(-),0,-1+:2,1+:-2 +(-),0,1+:-2,-1+:2 +(-),0,-1.2+:4.3,1.2+:-4.3 +(-),0,1.2+:-4.3,-1.2+:4.3 +(-),0,1L%2L+:1,(-1L)%2L+:-1 +(-),0,1L%2L+:3L%4L,(-1L)%2L+:(-3L)%4L +(-),0,3<:1,-1.62090691760442+:-2.52441295442369 +(-),0,3<:-2.14159265358979,1.62090691760442+:2.52441295442369 +(-),0,3.0<:-3,2.96997748980134+:0.423360024179602 +(-),0,3.1<:2.5,2.48354520819549+:-1.85526364672227 +(-),0,2L%3L<:2,0.277431224364762+:-0.606198284550454 +(-),0,1L%2L<:3L%4L,-0.36584443443691+:-0.340819380011667 +(-),0,-inf,inf +(-),0,nan,nan +(-),0.0,1,-1.0 +(-),0.0,-1,1.0 +(-),0.0,0,0.0 +(-),0.0,0.0,0.0 +(-),0.0,1.2,-1.2 +(-),0.0,-1.2,1.2 +(-),0.0,1L%3L,-0.333333333333333 +(-),0.0,(-1L)%4L,0.25 +(-),0.0,1+:2,-1.0+:-2 +(-),0.0,-1+:2,1.0+:-2 +(-),0.0,1+:-2,-1.0+:2 +(-),0.0,-1.2+:4.3,1.2+:-4.3 +(-),0.0,1.2+:-4.3,-1.2+:4.3 +(-),0.0,1L%2L+:1,-0.5+:-1 +(-),0.0,1L%2L+:3L%4L,-0.5+:(-3L)%4L +(-),0.0,3<:1,-1.62090691760442+:-2.52441295442369 +(-),0.0,3<:-2.14159265358979,1.62090691760442+:2.52441295442369 +(-),0.0,3.0<:-3,2.96997748980134+:0.423360024179602 +(-),0.0,3.1<:2.5,2.48354520819549+:-1.85526364672227 +(-),0.0,2L%3L<:2,0.277431224364762+:-0.606198284550454 +(-),0.0,1L%2L<:3L%4L,-0.36584443443691+:-0.340819380011667 +(-),0.0,-inf,inf +(-),0.0,nan,nan +(-),1.2,1,0.2 +(-),1.2,-1,2.2 +(-),1.2,0,1.2 +(-),1.2,0.0,1.2 +(-),1.2,1.2,0.0 +(-),1.2,-1.2,2.4 +(-),1.2,1L%3L,0.866666666666667 +(-),1.2,(-1L)%4L,1.45 +(-),1.2,1+:2,0.2+:-2 +(-),1.2,-1+:2,2.2+:-2 +(-),1.2,1+:-2,0.2+:2 +(-),1.2,-1.2+:4.3,2.4+:-4.3 +(-),1.2,1.2+:-4.3,0.0+:4.3 +(-),1.2,1L%2L+:1,0.7+:-1 +(-),1.2,1L%2L+:3L%4L,0.7+:(-3L)%4L +(-),1.2,3<:1,-0.420906917604419+:-2.52441295442369 +(-),1.2,3<:-2.14159265358979,2.82090691760442+:2.52441295442369 +(-),1.2,3.0<:-3,4.16997748980134+:0.423360024179602 +(-),1.2,3.1<:2.5,3.68354520819549+:-1.85526364672227 +(-),1.2,2L%3L<:2,1.47743122436476+:-0.606198284550454 +(-),1.2,1L%2L<:3L%4L,0.834155565563089+:-0.340819380011667 +(-),1.2,-inf,inf +(-),1.2,nan,nan +(-),-1.2,1,-2.2 +(-),-1.2,-1,-0.2 +(-),-1.2,0,-1.2 +(-),-1.2,0.0,-1.2 +(-),-1.2,1.2,-2.4 +(-),-1.2,-1.2,0.0 +(-),-1.2,1L%3L,-1.53333333333333 +(-),-1.2,(-1L)%4L,-0.95 +(-),-1.2,1+:2,-2.2+:-2 +(-),-1.2,-1+:2,-0.2+:-2 +(-),-1.2,1+:-2,-2.2+:2 +(-),-1.2,-1.2+:4.3,0.0+:-4.3 +(-),-1.2,1.2+:-4.3,-2.4+:4.3 +(-),-1.2,1L%2L+:1,-1.7+:-1 +(-),-1.2,1L%2L+:3L%4L,-1.7+:(-3L)%4L +(-),-1.2,3<:1,-2.82090691760442+:-2.52441295442369 +(-),-1.2,3<:-2.14159265358979,0.42090691760442+:2.52441295442369 +(-),-1.2,3.0<:-3,1.76997748980134+:0.423360024179602 +(-),-1.2,3.1<:2.5,1.28354520819549+:-1.85526364672227 +(-),-1.2,2L%3L<:2,-0.922568775635238+:-0.606198284550454 +(-),-1.2,1L%2L<:3L%4L,-1.56584443443691+:-0.340819380011667 +(-),-1.2,-inf,inf +(-),-1.2,nan,nan +(-),1L%3L,1,(-2L)%3L +(-),1L%3L,-1,4L%3L +(-),1L%3L,0,1L%3L +(-),1L%3L,0.0,0.333333333333333 +(-),1L%3L,1.2,-0.866666666666667 +(-),1L%3L,-1.2,1.53333333333333 +(-),1L%3L,1L%3L,0L%1L +(-),1L%3L,(-1L)%4L,7L%12L +(-),1L%3L,1+:2,(-2L)%3L+:-2 +(-),1L%3L,-1+:2,4L%3L+:-2 +(-),1L%3L,1+:-2,(-2L)%3L+:2 +(-),1L%3L,-1.2+:4.3,1.53333333333333+:-4.3 +(-),1L%3L,1.2+:-4.3,-0.866666666666667+:4.3 +(-),1L%3L,1L%2L+:1,(-1L)%6L+:-1 +(-),1L%3L,1L%2L+:3L%4L,(-1L)%6L+:(-3L)%4L +(-),1L%3L,3<:1,-1.28757358427109+:-2.52441295442369 +(-),1L%3L,3<:-2.14159265358979,1.95424025093775+:2.52441295442369 +(-),1L%3L,3.0<:-3,3.30331082313467+:0.423360024179602 +(-),1L%3L,3.1<:2.5,2.81687854152883+:-1.85526364672227 +(-),1L%3L,2L%3L<:2,0.610764557698095+:-0.606198284550454 +(-),1L%3L,1L%2L<:3L%4L,-0.0325111011035771+:-0.340819380011667 +(-),1L%3L,-inf,inf +(-),1L%3L,nan,nan +(-),(-1L)%4L,1,(-5L)%4L +(-),(-1L)%4L,-1,3L%4L +(-),(-1L)%4L,0,(-1L)%4L +(-),(-1L)%4L,0.0,-0.25 +(-),(-1L)%4L,1.2,-1.45 +(-),(-1L)%4L,-1.2,0.95 +(-),(-1L)%4L,1L%3L,(-7L)%12L +(-),(-1L)%4L,(-1L)%4L,0L%1L +(-),(-1L)%4L,1+:2,(-5L)%4L+:-2 +(-),(-1L)%4L,-1+:2,3L%4L+:-2 +(-),(-1L)%4L,1+:-2,(-5L)%4L+:2 +(-),(-1L)%4L,-1.2+:4.3,0.95+:-4.3 +(-),(-1L)%4L,1.2+:-4.3,-1.45+:4.3 +(-),(-1L)%4L,1L%2L+:1,(-3L)%4L+:-1 +(-),(-1L)%4L,1L%2L+:3L%4L,(-3L)%4L+:(-3L)%4L +(-),(-1L)%4L,3<:1,-1.87090691760442+:-2.52441295442369 +(-),(-1L)%4L,3<:-2.14159265358979,1.37090691760442+:2.52441295442369 +(-),(-1L)%4L,3.0<:-3,2.71997748980134+:0.423360024179602 +(-),(-1L)%4L,3.1<:2.5,2.23354520819549+:-1.85526364672227 +(-),(-1L)%4L,2L%3L<:2,0.0274312243647616+:-0.606198284550454 +(-),(-1L)%4L,1L%2L<:3L%4L,-0.615844434436911+:-0.340819380011667 +(-),(-1L)%4L,-inf,inf +(-),(-1L)%4L,nan,nan +(-),1+:2,1,0+:2 +(-),1+:2,-1,2+:2 +(-),1+:2,0,1+:2 +(-),1+:2,0.0,1.0+:2 +(-),1+:2,1.2,-0.2+:2 +(-),1+:2,-1.2,2.2+:2 +(-),1+:2,1L%3L,2L%3L+:2 +(-),1+:2,(-1L)%4L,5L%4L+:2 +(-),1+:2,1+:2,0+:0 +(-),1+:2,-1+:2,2+:0 +(-),1+:2,1+:-2,0+:4 +(-),1+:2,-1.2+:4.3,2.2+:-2.3 +(-),1+:2,1.2+:-4.3,-0.2+:6.3 +(-),1+:2,1L%2L+:1,1L%2L+:1 +(-),1+:2,1L%2L+:3L%4L,1L%2L+:5L%4L +(-),1+:2,3<:1,-0.620906917604419+:-0.524412954423689 +(-),1+:2,3<:-2.14159265358979,2.62090691760442+:4.52441295442369 +(-),1+:2,3.0<:-3,3.96997748980134+:2.4233600241796 +(-),1+:2,3.1<:2.5,3.48354520819549+:0.144736353277735 +(-),1+:2,2L%3L<:2,1.27743122436476+:1.39380171544955 +(-),1+:2,1L%2L<:3L%4L,0.634155565563089+:1.65918061998833 +(-),1+:2,-inf,inf+:2 +(-),1+:2,nan,nan+:2 +(-),-1+:2,1,-2+:2 +(-),-1+:2,-1,0+:2 +(-),-1+:2,0,-1+:2 +(-),-1+:2,0.0,-1.0+:2 +(-),-1+:2,1.2,-2.2+:2 +(-),-1+:2,-1.2,0.2+:2 +(-),-1+:2,1L%3L,(-4L)%3L+:2 +(-),-1+:2,(-1L)%4L,(-3L)%4L+:2 +(-),-1+:2,1+:2,-2+:0 +(-),-1+:2,-1+:2,0+:0 +(-),-1+:2,1+:-2,-2+:4 +(-),-1+:2,-1.2+:4.3,0.2+:-2.3 +(-),-1+:2,1.2+:-4.3,-2.2+:6.3 +(-),-1+:2,1L%2L+:1,(-3L)%2L+:1 +(-),-1+:2,1L%2L+:3L%4L,(-3L)%2L+:5L%4L +(-),-1+:2,3<:1,-2.62090691760442+:-0.524412954423689 +(-),-1+:2,3<:-2.14159265358979,0.62090691760442+:4.52441295442369 +(-),-1+:2,3.0<:-3,1.96997748980134+:2.4233600241796 +(-),-1+:2,3.1<:2.5,1.48354520819549+:0.144736353277735 +(-),-1+:2,2L%3L<:2,-0.722568775635238+:1.39380171544955 +(-),-1+:2,1L%2L<:3L%4L,-1.36584443443691+:1.65918061998833 +(-),-1+:2,-inf,inf+:2 +(-),-1+:2,nan,nan+:2 +(-),1+:-2,1,0+:-2 +(-),1+:-2,-1,2+:-2 +(-),1+:-2,0,1+:-2 +(-),1+:-2,0.0,1.0+:-2 +(-),1+:-2,1.2,-0.2+:-2 +(-),1+:-2,-1.2,2.2+:-2 +(-),1+:-2,1L%3L,2L%3L+:-2 +(-),1+:-2,(-1L)%4L,5L%4L+:-2 +(-),1+:-2,1+:2,0+:-4 +(-),1+:-2,-1+:2,2+:-4 +(-),1+:-2,1+:-2,0+:0 +(-),1+:-2,-1.2+:4.3,2.2+:-6.3 +(-),1+:-2,1.2+:-4.3,-0.2+:2.3 +(-),1+:-2,1L%2L+:1,1L%2L+:-3 +(-),1+:-2,1L%2L+:3L%4L,1L%2L+:(-11L)%4L +(-),1+:-2,3<:1,-0.620906917604419+:-4.52441295442369 +(-),1+:-2,3<:-2.14159265358979,2.62090691760442+:0.524412954423689 +(-),1+:-2,3.0<:-3,3.96997748980134+:-1.5766399758204 +(-),1+:-2,3.1<:2.5,3.48354520819549+:-3.85526364672227 +(-),1+:-2,2L%3L<:2,1.27743122436476+:-2.60619828455045 +(-),1+:-2,1L%2L<:3L%4L,0.634155565563089+:-2.34081938001167 +(-),1+:-2,-inf,inf+:-2 +(-),1+:-2,nan,nan+:-2 +(-),-1.2+:4.3,1,-2.2+:4.3 +(-),-1.2+:4.3,-1,-0.2+:4.3 +(-),-1.2+:4.3,0,-1.2+:4.3 +(-),-1.2+:4.3,0.0,-1.2+:4.3 +(-),-1.2+:4.3,1.2,-2.4+:4.3 +(-),-1.2+:4.3,-1.2,0.0+:4.3 +(-),-1.2+:4.3,1L%3L,-1.53333333333333+:4.3 +(-),-1.2+:4.3,(-1L)%4L,-0.95+:4.3 +(-),-1.2+:4.3,1+:2,-2.2+:2.3 +(-),-1.2+:4.3,-1+:2,-0.2+:2.3 +(-),-1.2+:4.3,1+:-2,-2.2+:6.3 +(-),-1.2+:4.3,-1.2+:4.3,0.0+:0.0 +(-),-1.2+:4.3,1.2+:-4.3,-2.4+:8.6 +(-),-1.2+:4.3,1L%2L+:1,-1.7+:3.3 +(-),-1.2+:4.3,1L%2L+:3L%4L,-1.7+:3.55 +(-),-1.2+:4.3,3<:1,-2.82090691760442+:1.77558704557631 +(-),-1.2+:4.3,3<:-2.14159265358979,0.42090691760442+:6.82441295442369 +(-),-1.2+:4.3,3.0<:-3,1.76997748980134+:4.7233600241796 +(-),-1.2+:4.3,3.1<:2.5,1.28354520819549+:2.44473635327773 +(-),-1.2+:4.3,2L%3L<:2,-0.922568775635238+:3.69380171544955 +(-),-1.2+:4.3,1L%2L<:3L%4L,-1.56584443443691+:3.95918061998833 +(-),-1.2+:4.3,-inf,inf+:4.3 +(-),-1.2+:4.3,nan,nan+:4.3 +(-),1.2+:-4.3,1,0.2+:-4.3 +(-),1.2+:-4.3,-1,2.2+:-4.3 +(-),1.2+:-4.3,0,1.2+:-4.3 +(-)... [truncated message content] |
From: <ag...@us...> - 2008-08-22 08:31:36
|
Revision: 562 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=562&view=rev Author: agraef Date: 2008-08-22 08:31:46 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Bugfix in comparison of global functions. Modified Paths: -------------- pure/trunk/ChangeLog pure/trunk/runtime.cc Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-08-22 00:03:45 UTC (rev 561) +++ pure/trunk/ChangeLog 2008-08-22 08:31:46 UTC (rev 562) @@ -1,7 +1,15 @@ -2008-08-21 Albert Graef <Dr....@t-...> +2008-08-22 Albert Graef <Dr....@t-...> * 0.5 release. + * runtime.cc (same): Bugfix in comparison of global functions. + Handle the case of of an external which may chain to a Pure + definition of the same global. In that case we may safely assume + that the functions are the same anyway if they are represented by + the same global symbol. + +2008-08-21 Albert Graef <Dr....@t-...> + * interpreter.cc (subst): Defer const substitutions (and propagation of type tags) until all variable bindings have been processed, to prevent name capture in const substitutions. Modified: pure/trunk/runtime.cc =================================================================== --- pure/trunk/runtime.cc 2008-08-22 00:03:45 UTC (rev 561) +++ pure/trunk/runtime.cc 2008-08-22 08:31:46 UTC (rev 562) @@ -2428,13 +2428,19 @@ char test; if (x == y) return 1; + else if (x->tag != y->tag) + return 0; else if (x->tag >= 0 && y->tag >= 0) if (x->data.clos && y->data.clos) - return x->tag == y->tag && x->data.clos->fp == y->data.clos->fp; + /* Note that for global functions the function pointers may differ in + some cases (specifically in the case of an external which may chain + to a Pure definition of the same global). However, in that case we + may safely assume that the functions are the same anyway, since they + are referred to by the same global symbol. */ + return !x->data.clos->local && !y->data.clos->local || + x->data.clos->fp == y->data.clos->fp; else - return x->tag == y->tag && x->data.clos == y->data.clos; - else if (x->tag != y->tag) - return 0; + return x->data.clos == y->data.clos; else { switch (x->tag) { case EXPR::APP: { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-22 00:03:35
|
Revision: 561 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=561&view=rev Author: agraef Date: 2008-08-22 00:03:45 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Revert pow to its original definition which computes exact (integer or rational) powers for integer exponents only. Modified Paths: -------------- pure/trunk/lib/math.pure pure/trunk/lib/primitives.pure Modified: pure/trunk/lib/math.pure =================================================================== --- pure/trunk/lib/math.pure 2008-08-21 22:47:08 UTC (rev 560) +++ pure/trunk/lib/math.pure 2008-08-22 00:03:45 UTC (rev 561) @@ -461,17 +461,13 @@ trunc (x%y) = x div y; frac x@(_%_) = x-trunc x; -/* The pow function. Returns exact results for integer exponents. */ +/* The pow function. Returns exact powers of integers and rationals for all + integer exponents. */ pow (x%y) n::int | pow (x%y) n::bigint = pow x n % pow y n if n>0; = pow y (-n) % pow x (-n) if n<0; = 1L%1L otherwise; -pow (x%y) n::double = pow (x/y) n; -pow (x%y) (n%m) = pow (x/y) (n/m); -pow x::int (n%m) | -pow x::bigint (n%m) | -pow x::double (n%m) = pow x (n/m); // Negative powers of integers. pow x::int n::int | Modified: pure/trunk/lib/primitives.pure =================================================================== --- pure/trunk/lib/primitives.pure 2008-08-21 22:47:08 UTC (rev 560) +++ pure/trunk/lib/primitives.pure 2008-08-22 00:03:45 UTC (rev 561) @@ -336,28 +336,25 @@ lcm x::bigint y::int = bigint_lcm x (bigint y); lcm x::int y::int = int (bigint_lcm (bigint x) (bigint y)); -/* The pow function. Returns a bigint for integer arguments, double if one of - the arguments is double (in the latter case, x may be negative only if y is - integer). */ +/* The pow function. Computes exact powers of ints and bigints. The result is + always a bigint. Note that y must always be nonnegative here, but see + math.pure which deals with the case y<0 using rational numbers. */ -extern expr* bigint_pow(void*, int), double pow(double, double) = c_pow; +extern expr* bigint_pow(void*, int); pow x::int y::int = bigint_pow (bigint x) y if y>=0; pow x::bigint y::bigint = bigint_pow x y if y>=0; -pow x::double y::double = c_pow x y if x>=0 || frac y==0.0; // mixed int/bigint pow x::int y::bigint = bigint_pow (bigint x) y if y>=0; pow x::bigint y::int = bigint_pow x y if y>=0; -// mixed double/int/bigint -pow x::double y::int | -pow x::double y::bigint = c_pow x (double y); -pow x::int y::double | -pow x::bigint y::double = c_pow (double x) y if x>=0 || frac y==0.0; +/* The ^ operator. Computes inexact powers for any combination of int, bigint + and double operands. The result is always a double. Note that x may be + negative only if y is integer, but see math.pure which deals with the + general case x<0 using complex numbers. */ -/* The ^ operator. Works like pow, but always promotes its operands to double - and returns a double result. */ +extern double pow(double, double) = c_pow; x::double^y::double = c_pow x y if x>=0 || frac y==0.0 || nanp x || nanp y; x::int^y::int | This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-21 22:46:57
|
Revision: 560 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=560&view=rev Author: agraef Date: 2008-08-21 22:47:08 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Add missing nan check to ^ operator. Modified Paths: -------------- pure/trunk/lib/primitives.pure Modified: pure/trunk/lib/primitives.pure =================================================================== --- pure/trunk/lib/primitives.pure 2008-08-21 21:59:02 UTC (rev 559) +++ pure/trunk/lib/primitives.pure 2008-08-21 22:47:08 UTC (rev 560) @@ -359,7 +359,7 @@ /* The ^ operator. Works like pow, but always promotes its operands to double and returns a double result. */ -x::double^y::double = c_pow x y if x>=0 || frac y==0.0; +x::double^y::double = c_pow x y if x>=0 || frac y==0.0 || nanp x || nanp y; x::int^y::int | x::bigint^y::bigint | x::int^y::bigint | @@ -367,7 +367,7 @@ x::double^y::int | x::double^y::bigint = c_pow x (double y); x::int^y::double | -x::bigint^y::double = c_pow (double x) y if x>=0 || frac y==0.0; +x::bigint^y::double = c_pow (double x) y if x>=0 || frac y==0.0 || nanp y; = double x^y otherwise; /* Pointer arithmetic. We do this using bigints, so that the code is portable This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-21 21:58:52
|
Revision: 559 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=559&view=rev Author: agraef Date: 2008-08-21 21:59:02 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Move inf, nan and the corresponding predicates to primitives.pure. Modified Paths: -------------- pure/trunk/lib/math.pure pure/trunk/lib/primitives.pure Modified: pure/trunk/lib/math.pure =================================================================== --- pure/trunk/lib/math.pure 2008-08-21 13:51:39 UTC (rev 558) +++ pure/trunk/lib/math.pure 2008-08-21 21:59:02 UTC (rev 559) @@ -18,10 +18,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* IEEE floating point infinities and NaNs. */ - -const inf = 1.0e307 * 1.0e307; const nan = inf-inf; - /* Random number generator. This uses the Mersenne twister, in order to avoid bad generators present in some C libraries. Returns pseudo random ints in the range -0x80000000..0x7fffffff. */ @@ -586,8 +582,3 @@ not (doublep x || doublep (re x) || doublep (im x)); inexactp x = numberp x && (doublep x || doublep (re x) || doublep (im x)); - -/* Check for inf and nan values. */ - -infp x = case x of x::double = x!==nan && x-x===nan; _ = 0 end; -nanp x = case x of x::double = x===nan; _ = 0 end; Modified: pure/trunk/lib/primitives.pure =================================================================== --- pure/trunk/lib/primitives.pure 2008-08-21 13:51:39 UTC (rev 558) +++ pure/trunk/lib/primitives.pure 2008-08-21 21:59:02 UTC (rev 559) @@ -62,6 +62,15 @@ tuplep (x,xs) = 1; tuplep _ = 0 otherwise; +/* IEEE floating point infinities and NaNs. */ + +const inf = 1.0e307 * 1.0e307; const nan = inf-inf; + +/* Predicates to check for inf and nan values. */ + +infp x = case x of x::double = x!==nan && x-x===nan; _ = 0 end; +nanp x = case x of x::double = x===nan; _ = 0 end; + /* Compute a 32 bit hash code of a Pure expression. */ extern int hash(expr*); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-21 13:51:28
|
Revision: 558 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=558&view=rev Author: agraef Date: 2008-08-21 13:51:39 +0000 (Thu, 21 Aug 2008) Log Message: ----------- cis should only be used with real arguments. Reported by Eddie Rucker. Modified Paths: -------------- pure/trunk/lib/math.pure Modified: pure/trunk/lib/math.pure =================================================================== --- pure/trunk/lib/math.pure 2008-08-21 13:28:11 UTC (rev 557) +++ pure/trunk/lib/math.pure 2008-08-21 13:51:39 UTC (rev 558) @@ -146,7 +146,7 @@ /* Create complex values on the unit circle. Note: To quickly compute exp (x+:y) in polar form, use exp x <: y. */ -cis t = rect (1<:t); +cis t::int | cis t::bigint | cis t::double = rect (1<:t); /* Modulus (absolute value) and argument (angle). Note that you can also find both of these in one go by converting to polar form. */ @@ -428,6 +428,8 @@ r<:t@(_%_) = r <: atan2 (sin t) (cos t) if t<-pi || t>pi; = r <: pi if t==-pi; +cis (x%y) = rect (1<:x/y); + /* Numerator and denominator. */ num (x%y) = x; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-21 13:28:02
|
Revision: 557 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=557&view=rev Author: agraef Date: 2008-08-21 13:28:11 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Properly deal with nan arguments in sqrt, log and hyperbolic functions. Reported by Eddie Rucker. Modified Paths: -------------- pure/trunk/lib/math.pure Modified: pure/trunk/lib/math.pure =================================================================== --- pure/trunk/lib/math.pure 2008-08-21 11:49:34 UTC (rev 556) +++ pure/trunk/lib/math.pure 2008-08-21 13:28:11 UTC (rev 557) @@ -32,15 +32,15 @@ extern double sqrt(double) = c_sqrt; -sqrt x::double = c_sqrt x if x>=0; +sqrt x::double = c_sqrt x if x>=0 || nanp x; sqrt x::int | sqrt x::bigint = sqrt (double x); /* Exponential function and logarithms. */ extern double exp(double), double log(double) = c_log; -ln x::double = c_log x if x>=0.0; -log x::double = c_log x/c_log 10.0 if x>=0.0; +ln x::double = c_log x if x>=0.0 || nanp x; +log x::double = c_log x/c_log 10.0 if x>=0.0 || nanp x; exp x::int | exp x::bigint = exp (double x); ln x::int | ln x::bigint = ln (double x); @@ -79,8 +79,8 @@ extern double __asinh(double), double __acosh(double), double __atanh(double); asinh x::double = __asinh x; -acosh x::double = __acosh x if x>=1.0; -atanh x::double = __atanh x if abs x<=1.0; +acosh x::double = __acosh x if x>=1.0 || nanp x; +atanh x::double = __atanh x if abs x<=1.0 || nanp x; sinh x::int | sinh x::bigint = sinh (double x); cosh x::int | cosh x::bigint = cosh (double x); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-21 11:49:25
|
Revision: 556 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=556&view=rev Author: agraef Date: 2008-08-21 11:49:34 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Make polar and rect the identity on the respective representations. Suggested by Eddie Rucker. Modified Paths: -------------- pure/trunk/lib/math.pure Modified: pure/trunk/lib/math.pure =================================================================== --- pure/trunk/lib/math.pure 2008-08-21 11:31:10 UTC (rev 555) +++ pure/trunk/lib/math.pure 2008-08-21 11:49:34 UTC (rev 556) @@ -132,6 +132,9 @@ polar (x+:y) = sqrt (x*x+y*y) <: atan2 y x; rect (r<:t) = r*cos t +: r*sin t; +polar z@(_<:_) = z; +rect z@(_+:_) = z; + /* For convenience, make these work with real values, too. */ polar x::int | polar x::bigint = x<:0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-21 11:31:01
|
Revision: 555 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=555&view=rev Author: agraef Date: 2008-08-21 11:31:10 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Fix const name capture in expression preprocessing. Modified Paths: -------------- pure/trunk/ChangeLog pure/trunk/interpreter.cc pure/trunk/interpreter.hh Added Paths: ----------- pure/trunk/test/test019.log pure/trunk/test/test019.pure Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-08-20 21:08:37 UTC (rev 554) +++ pure/trunk/ChangeLog 2008-08-21 11:31:10 UTC (rev 555) @@ -1,7 +1,14 @@ -2008-08-20 Albert Graef <Dr....@t-...> +2008-08-21 Albert Graef <Dr....@t-...> * 0.5 release. + * interpreter.cc (subst): Defer const substitutions (and + propagation of type tags) until all variable bindings have been + processed, to prevent name capture in const substitutions. + Reported by Eddie Rucker. + +2008-08-20 Albert Graef <Dr....@t-...> + * expr.cc (env::operator=): Bugfix: Only set temporary level of a constant or free variable if it wasn't defined previously at a lower level. Modified: pure/trunk/interpreter.cc =================================================================== --- pure/trunk/interpreter.cc 2008-08-20 21:08:37 UTC (rev 554) +++ pure/trunk/interpreter.cc 2008-08-21 11:31:10 UTC (rev 555) @@ -740,7 +740,7 @@ save_globals(g); compile(); // promote type tags and substitute constants: - env vars; expr u = subst(vars, x); + env vars; expr u = csubst(subst(vars, x)); compile(u); x = u; pure_expr *res = doeval(u, e); @@ -767,7 +767,7 @@ compile(); env vars; // promote type tags and substitute constants: - expr rhs = subst(vars, x); + expr rhs = csubst(subst(vars, x)); expr lhs = bind(vars, pat); build_env(vars, lhs); for (env::const_iterator it = vars.begin(); it != vars.end(); ++it) { @@ -864,7 +864,7 @@ compile(); env vars; // promote type tags and substitute constants: - expr rhs = subst(vars, x); + expr rhs = csubst(subst(vars, x)); expr lhs = bind(vars, pat); build_env(vars, lhs); for (env::const_iterator it = vars.begin(); it != vars.end(); ++it) { @@ -1368,6 +1368,11 @@ assert(!r.lhs.is_null()); closure(r, false); if (toplevel) { + // substitute constants: + expr u = expr(r.lhs), + v = expr(csubst(r.rhs)), + w = expr(csubst(r.qual)); + r = rule(u, v, w); compile(r.rhs); compile(r.qual); } @@ -1625,14 +1630,7 @@ } else { expr u = subst(vars, x.xval1(), idx), v = subst(vars, x.xval2(), idx); - expr w = expr(u, v); - // promote type tags - expr f; uint32_t n = count_args(w, f); - if (n == 1) - promote_ttags(f, w, w.xval2()); - else if (n == 2) - promote_ttags(f, w, w.xval1().xval2(), w.xval2()); - return w; + return expr(u, v); } // conditionals: case EXPR::COND: { @@ -1705,18 +1703,108 @@ // not a bound variable if (x.ttag() != 0) throw err("error in expression (misplaced type tag)"); - it = globenv.find(sym.f); - if (it != globenv.end() && it->second.t == env_info::cvar) - // substitute constant value - return *it->second.cval; - else - return x; + return x; } const env_info& info = it->second; return expr(EXPR::VAR, sym.f, idx, info.ttag, *info.p); } } +expr interpreter::csubst(expr x) +{ + if (x.is_null()) return x; + switch (x.tag()) { + // constants: + case EXPR::VAR: + case EXPR::FVAR: + case EXPR::INT: + case EXPR::BIGINT: + case EXPR::DBL: + case EXPR::STR: + case EXPR::PTR: + return x; + // application: + case EXPR::APP: + if (x.xval1().tag() == EXPR::APP && + x.xval1().xval1().tag() == symtab.catch_sym().f) { + expr u = csubst(x.xval1().xval2()), + v = csubst(x.xval2()); + return expr(symtab.catch_sym().x, u, v); + } else { + expr u = csubst(x.xval1()), + v = csubst(x.xval2()); + expr w = expr(u, v); + // promote type tags + expr f; uint32_t n = count_args(w, f); + if (n == 1) + promote_ttags(f, w, w.xval2()); + else if (n == 2) + promote_ttags(f, w, w.xval1().xval2(), w.xval2()); + return w; + } + // conditionals: + case EXPR::COND: { + expr u = csubst(x.xval1()), + v = csubst(x.xval2()), + w = csubst(x.xval3()); + return expr::cond(u, v, w); + } + // nested closures: + case EXPR::LAMBDA: { + expr u = x.xval1(), v = csubst(x.xval2()); + return expr::lambda(u, v); + } + case EXPR::CASE: { + expr u = csubst(x.xval()); + const rulel *r = x.rules(); + rulel *s = new rulel; + for (rulel::const_iterator it = r->begin(); it != r->end(); ++it) { + expr u = it->lhs, v = csubst(it->rhs), + w = csubst(it->qual); + s->push_back(rule(u, v, w)); + } + return expr::cases(u, s); + } + case EXPR::WHEN: { + const rulel *r = x.rules(); + rulel *s = new rulel; + for (rulel::const_iterator it = r->begin(); it != r->end(); ++it) { + expr u = it->lhs, v = csubst(it->rhs); + s->push_back(rule(u, v)); + } + expr u = csubst(x.xval()); + return expr::when(u, s); + } + case EXPR::WITH: { + expr u = csubst(x.xval()); + const env *e = x.fenv(); + env *f = new env; + for (env::const_iterator it = e->begin(); it != e->end(); ++it) { + int32_t g = it->first; + const env_info& info = it->second; + const rulel *r = info.rules; + rulel s; + for (rulel::const_iterator jt = r->begin(); jt != r->end(); ++jt) { + expr u = jt->lhs, v = csubst(jt->rhs), + w = csubst(jt->qual); + s.push_back(rule(u, v, w)); + } + (*f)[g] = env_info(info.argc, s, info.temp); + } + return expr::with(u, f); + } + default: + assert(x.tag() > 0); + const symbol& sym = symtab.sym(x.tag()); + env::const_iterator it = globenv.find(sym.f); + if (it != globenv.end() && it->second.t == env_info::cvar) + // substitute constant value + return *it->second.cval; + else + return x; + } +} + expr interpreter::fsubst(const env& funs, expr x, uint8_t idx) { if (x.is_null()) return x; Modified: pure/trunk/interpreter.hh =================================================================== --- pure/trunk/interpreter.hh 2008-08-20 21:08:37 UTC (rev 554) +++ pure/trunk/interpreter.hh 2008-08-21 11:31:10 UTC (rev 555) @@ -448,6 +448,7 @@ void promote_ttags(expr f, expr x, expr u, expr v); expr bind(env& vars, expr x, bool b = true, path p = path()); expr subst(const env& vars, expr x, uint8_t idx = 0); + expr csubst(expr x); expr fsubst(const env& funs, expr x, uint8_t idx = 0); void closure(expr& l, expr& r, bool b = true); void closure(rule& r, bool b = true); Added: pure/trunk/test/test019.log =================================================================== --- pure/trunk/test/test019.log (rev 0) +++ pure/trunk/test/test019.log 2008-08-21 11:31:10 UTC (rev 555) @@ -0,0 +1,13 @@ +const i = -1; +catmap (\i/*0:*/ -> catmap (\j/*0:*/ -> [(i/*1:*/,j/*0:*/)] { + rule #0: j = [(i,j)] + state 0: #0 + <var> state 1 + state 1: #0 +}) (3..4) { + rule #0: i = catmap (\j -> [(i,j)]) (3..4) + state 0: #0 + <var> state 1 + state 1: #0 +}) (1..2); +[(1,3),(1,4),(2,3),(2,4)] Added: pure/trunk/test/test019.pure =================================================================== --- pure/trunk/test/test019.pure (rev 0) +++ pure/trunk/test/test019.pure 2008-08-21 11:31:10 UTC (rev 555) @@ -0,0 +1,3 @@ +// const name capture regression, reported by Eddie Rucker +const i = -1; +[(i,j); i=1..2; j=3..4]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 21:08:28
|
Revision: 554 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=554&view=rev Author: agraef Date: 2008-08-20 21:08:37 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Bugfix in code collecting temporaries. Modified Paths: -------------- pure/trunk/interpreter.cc Modified: pure/trunk/interpreter.cc =================================================================== --- pure/trunk/interpreter.cc 2008-08-20 20:53:28 UTC (rev 553) +++ pure/trunk/interpreter.cc 2008-08-20 21:08:37 UTC (rev 554) @@ -3468,22 +3468,15 @@ else fptr->refc--; fptr = save_fptr; - if (!res) { + if (estk.empty()) { // collect garbage pure_expr *t = tmps; while (t) { pure_expr *next = t->xp; - pure_freenew(t); + if (t != res) pure_freenew(t); t = next; } } -#if DEBUG>1 - pure_expr *t = tmps; - while (t) { - if (t != res) std::cerr << "uncollected temporary: " << t << endl; - t = t->xp; - } -#endif // NOTE: Result (if any) is to be freed by the caller. return res; } @@ -3625,21 +3618,16 @@ globalvars.erase(tag); } } + } + if (estk.empty()) { // collect garbage pure_expr *t = tmps; while (t) { pure_expr *next = t->xp; - pure_freenew(t); + if (t != res) pure_freenew(t); t = next; } } -#if DEBUG>1 - pure_expr *t = tmps; - while (t) { - if (t != res) std::cerr << "uncollected temporary: " << t << endl; - t = t->xp; - } -#endif // NOTE: Result (if any) is to be freed by the caller. return res; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 20:53:18
|
Revision: 553 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=553&view=rev Author: agraef Date: 2008-08-20 20:53:28 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Final touches (0.5 release). Modified Paths: -------------- pure/trunk/ChangeLog pure/trunk/NEWS Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-08-20 19:00:20 UTC (rev 552) +++ pure/trunk/ChangeLog 2008-08-20 20:53:28 UTC (rev 553) @@ -1,5 +1,7 @@ 2008-08-20 Albert Graef <Dr....@t-...> + * 0.5 release. + * expr.cc (env::operator=): Bugfix: Only set temporary level of a constant or free variable if it wasn't defined previously at a lower level. Modified: pure/trunk/NEWS =================================================================== --- pure/trunk/NEWS 2008-08-20 19:00:20 UTC (rev 552) +++ pure/trunk/NEWS 2008-08-20 20:53:28 UTC (rev 553) @@ -1,4 +1,49 @@ +** Pure 0.5 2008-08-20 + +This release sports LLVM 2.3 support and a bunch of bug fixes and improvements +in the language, the standard library and the code generator. As usual, please +check the ChangeLog for details. Here is a brief rundown of the most important +changes: + +- Language: Haskell-like 'as' patterns. Constant definitions. Revised +list-of-tuples and 'using' syntax, as discussed on the mailing list. New $$ +sequence operator. The XML entity character escapes were updated to the latest +from W3C. + +- Updated syntax highlighting modes. Kate mode now supports folding of +comments and block structure. + +- Improved script and dynamic library search algorithms, as discussed on the +mailing list. + +- Various improvements in the C interface. Also refactored the runtime library +to provide a semantically complete public API for module writers. + +- Improvements and bugfixes in the code generator. + +- Library: Jiri Spitz' port of the Q container types (array.pure, dict.pure, +heap.pure, set.pure). New math.pure module which implements additional +mathematical functions as well as complex and rational numbers. New time- and +signal-related functions in the system module. + +- More examples. In particular, make sure you have a look at Libor Spacek's +cool Mayan calendar and his unbelievingly fast n-queens algorithm. :) + +- Better OSX support. + +- Thanks to Rooslan S. Khayrov's patches, this release now works with LLVM +2.3. Please note that LLVM 2.2 support has been dropped, as we encountered +various issues with the LLVM 2.2 JIT. + +- Toni Graffy has contributed openSUSE packages (available via Packman), +Alvaro Castro Castilla a Gentoo ebuild. Ryan Schmidt continues to maintain the +MacPorts package. + +A big thank you to all who reported bugs and contributed code and patches, in +particular: Alvaro Castro Castilla, Toni Graffy, Rooslan S. Khayrov, Eddie +Rucker, Ryan Schmidt, Libor Spacek and Jiri Spitz. + ** Pure 0.4 2008-06-19 This release features some more bug and portability fixes, a cleanup of the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 19:00:11
|
Revision: 552 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=552&view=rev Author: agraef Date: 2008-08-20 19:00:20 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Bugfix in updates of temp levels of constants and global variables. Modified Paths: -------------- pure/trunk/ChangeLog pure/trunk/expr.cc Modified: pure/trunk/ChangeLog =================================================================== --- pure/trunk/ChangeLog 2008-08-20 18:58:40 UTC (rev 551) +++ pure/trunk/ChangeLog 2008-08-20 19:00:20 UTC (rev 552) @@ -1,3 +1,9 @@ +2008-08-20 Albert Graef <Dr....@t-...> + + * expr.cc (env::operator=): Bugfix: Only set temporary level of a + constant or free variable if it wasn't defined previously at a + lower level. + 2008-08-19 Albert Graef <Dr....@t-...> * parser.yy, lexer.ll, printer.cc, etc.: Renamed the 'def' keyword Modified: pure/trunk/expr.cc =================================================================== --- pure/trunk/expr.cc 2008-08-20 18:58:40 UTC (rev 551) +++ pure/trunk/expr.cc 2008-08-20 19:00:20 UTC (rev 552) @@ -307,8 +307,9 @@ if (m) delete m; break; } + if ((t != cvar && t != fvar) || temp > e.temp) + temp = e.temp; t = e.t; - temp = e.temp; switch (t) { case none: break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 18:58:30
|
Revision: 551 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=551&view=rev Author: agraef Date: 2008-08-20 18:58:40 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Update documentation. Modified Paths: -------------- pure/trunk/pure.1.in Modified: pure/trunk/pure.1.in =================================================================== --- pure/trunk/pure.1.in 2008-08-20 14:12:10 UTC (rev 550) +++ pure/trunk/pure.1.in 2008-08-20 18:58:40 UTC (rev 551) @@ -188,12 +188,15 @@ with additional debugging information. .SH PURE OVERVIEW .PP -Pure is a fairly simple language. Programs are collections of equational rules -defining functions, \fBconst\fP and \fBlet\fP commands binding global -constants and variables, and expressions to be evaluated. Here's a simple -example, entered interactively in the interpreter (note that the ``>'' symbol -at the beginning of each input line is the interpreter's default command -prompt): +Pure is a fairly simple but very powerful language. Programs are collections +of equational rules defining functions, and expressions to be +evaluated. Moreover, the \fBconst\fP and \fBlet\fP commands can be used to +assign the value of an expression to a global constant or a variable, +respectively. +.PP +Here's a simple example, entered interactively in the interpreter (note that +the ``>'' symbol at the beginning of each input line is the interpreter's +default command prompt): .sp .nf > // my first Pure example @@ -212,10 +215,10 @@ order to turn it into an executable program. .PP On the surface, Pure is quite similar to other modern functional languages -like Haskell and ML. But under the hood it is a much more dynamic and -reflective language, more akin to Lisp. In particular, Pure is dynamically -typed, so functions can be fully polymorphic and you can add to the definition -of an existing function at any time: +like Haskell and ML. But under the hood it is a much more dynamic language, +more akin to Lisp. In particular, Pure is dynamically typed, so functions can +be fully polymorphic and you can add to the definition of an existing function +at any time: .sp .nf > fact 1.0 = 1.0; @@ -225,11 +228,26 @@ > fact 10; 3628800 .fi +.PP +Like in Haskell and ML, functions and variables are often defined by +.IR pattern-matching , +i.e., the left-hand side of a definition is compared to the target expression, +binding the variables in the pattern to their actual values accordingly: .sp -Also, due to its term rewriting semantics, Pure can do symbolic evaluations: +.nf +> foo (bar x) = x-1; +> foo (bar 99); +98 +.fi +.PP +However, due to its term rewriting semantics, Pure goes beyond most other +functional languages in that it can do symbolic evaluations just as well as +``normal'' computations: .sp .nf > square x = x*x; +> square 4; +16 > square (a+b); (a+b)*(a+b) .fi @@ -241,7 +259,14 @@ which represents the ``value'' of the original expression. Keeping with the tradition of term rewriting, there's no distinction between ``defined'' and ``constructor'' function symbols in Pure; any function symbol (or operator) -also acts as a constructor if it happens to occur in a normal form term. +also acts as a constructor if it happens to occur in a normal form term: +.sp +.nf +> (x+y)*z = x*z+y*z; x*(y+z) = x*y+x*z; +> x*(y*z) = (x*y)*z; x+(y+z) = (x+y)+z; +> square (a+b); +a*a+a*b+b*a+b*b +.fi .PP Expressions are generally evaluated from left to right, innermost expressions first, i.e., using @@ -252,7 +277,6 @@ .I "call by name" semantics. .PP -.B Expression syntax. The Pure language provides built-in support for machine integers (32 bit), bigints (implemented using GMP), floating point values (double precision IEEE), character strings (UTF-8 encoded) and generic C pointers (these don't @@ -263,6 +287,7 @@ and any non-zero value .BR true ). .PP +.B Expression syntax. Expressions consist of the following elements: .TP .B Constants: \fR4711, 4711L, 1.2e-3, \(dqHello,\ world!\en\(dq @@ -539,11 +564,11 @@ though. Like many languages which are to be used interactively, Pure binds global symbols .IR dynamically , -so that they can be changed easily at any time during an interactive +so that the bindings can be changed easily at any time during an interactive session. This is mainly a convenience for interactive usage, but works the same no matter whether the source code is entered interactively or being read -from a script, in order to ensure consistent behaviour between interactive -and batch mode operation. +from a script, in order to ensure consistent behaviour between interactive and +batch mode operation. .PP So, for instance, you can easily bind a global variable to a new value by just entering a corresponding @@ -1046,12 +1071,12 @@ the human reader; they are effectively treated as comments by the compiler. .PP The interpreter makes sure that the parameters in a call match; if not, the -call is treated as a normal form expression by default, which enables you to -extend the external function with your own Pure equations (see below). The -range of supported C types is a bit limited right now (void, bool, char, -short, int, long, float, double, as well as arbitrary pointer types, i.e.: -void*, char*, etc.), but in practice these should cover most kinds of calls -that need to be done when interfacing to C libraries. +call is treated as a normal form expression by default, which gives you the +opportunity to extend the external function with your own Pure equations (see +below). The range of supported C types is a bit limited right now (void, bool, +char, short, int, long, float, double, as well as arbitrary pointer types, +i.e.: void*, char*, etc.), but in practice these should cover most kinds of +calls that need to be done when interfacing to C libraries. .PP Single precision float arguments and return values are converted from/to Pure's double precision floating point numbers automatically. @@ -1131,8 +1156,8 @@ the symbol in the C library and Pure's runtime library (or the interpreter executable, if the interpreter was linked statically). Thus all C library and Pure runtime functions are readily available in Pure programs. Other functions -can be provided by including them in the runtime, or by linking the -interpreter against the corresponding modules. Or, better yet, you can just +can be provided by adding them to the runtime, or by linking them statically +into the runtime or the interpreter executable. Better yet, you can just ``dlopen'' shared libraries at runtime with a special form of the .B using clause: @@ -1411,37 +1436,39 @@ .SH DEFINITION LEVELS AND OVERRIDE MODE To help with incremental development, the interpreter also offers some facilities to manipulate the current set of definitions interactively. To -these ends, defined symbols and their definitions are organized into different -subsets called \fIlevels\fP. The prelude, as well as other source programs -specified when invoking the interpreter, are always at level 0, while the -interactive environment starts at level 1. +these ends, definitions are organized into different subsets called +\fIlevels\fP. The prelude, as well as other source programs specified when +invoking the interpreter, are always at level 0, while the interactive +environment starts at level 1. .PP Each \fBsave\fP command introduces a new temporary level, and each subsequent -\fBclear\fP command ``pops'' the symbols and definitions on the current level -(including any definitions read using the +\fBclear\fP command ``pops'' the definitions on the current level (including +any definitions read using the .B run -command) and returns you to the previous one. This gives you a ``stack'' of up -to 255 temporary environments which enables you to ``plug and play'' in a safe -fashion, without affecting the rest of your program. Example: +command) and returns you to the previous one (if any). This gives you a +``stack'' of up to 255 temporary environments which enables you to ``plug and +play'' in a safe fashion, without affecting the rest of your program. Example: .sp .nf -> \fBsave\fP -save: now at temporary definitions level #2 > foo (x:xs) = x+foo xs; > foo [] = 0; -> \fBlist\fP foo +> \fBlist\fP -t foo (x:xs) = x+foo xs; foo [] = 0; > foo (1..10); 55 > \fBclear\fP -This will clear all temporary definitions at level #2. Continue (y/n)? y -clear: now at temporary definitions level #1 +This will clear all temporary definitions at level #1. Continue (y/n)? y > \fBlist\fP foo > foo (1..10); foo [1,2,3,4,5,6,7,8,9,10] .fi .PP +(Please note that the +.B clear +command only works in this way when invoked without arguments. Otherwise the +symbols given as arguments will be purged unconditionally, at all levels.) +.PP We've seen already that normally, if you enter a sequence of equations, they will be recorded in the order in which they were written. However, it is also possible to override definitions in lower levels with the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 14:12:01
|
Revision: 550 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=550&view=rev Author: agraef Date: 2008-08-20 14:12:10 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Fix typo. Modified Paths: -------------- pure/trunk/pure.1.in Modified: pure/trunk/pure.1.in =================================================================== --- pure/trunk/pure.1.in 2008-08-20 09:07:48 UTC (rev 549) +++ pure/trunk/pure.1.in 2008-08-20 14:12:10 UTC (rev 550) @@ -725,7 +725,7 @@ (in addition to the variables bound by .I pattern itself). This is convenient if the value matched by the subpattern is to be -used on the right-hand side of an equation. Syntactically, `as'' patterns are +used on the right-hand side of an equation. Syntactically, ``as'' patterns are primary expressions; if the subpattern is not a primary expression, it must be parenthesized. For instance, the following function duplicates the head element of a list: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 09:07:39
|
Revision: 549 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=549&view=rev Author: agraef Date: 2008-08-20 09:07:48 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Windows compatibility fixes. Modified Paths: -------------- pure/trunk/test/test018.log pure/trunk/test/test018.pure Modified: pure/trunk/test/test018.log =================================================================== --- pure/trunk/test/test018.log 2008-08-20 08:44:09 UTC (rev 548) +++ pure/trunk/test/test018.log 2008-08-20 09:07:48 UTC (rev 549) @@ -70,12 +70,8 @@ "80000000" sprintf "%x" (-4294967295L); "1" -ord$sprintf "%c" 128; -128 ord$sprintf "%c" 255; 255 -ord$sprintf "%c" 128L; -128 ord$sprintf "%c" 255L; 255 sscanf "ffffffff" "%x"; Modified: pure/trunk/test/test018.pure =================================================================== --- pure/trunk/test/test018.pure 2008-08-20 08:44:09 UTC (rev 548) +++ pure/trunk/test/test018.pure 2008-08-20 09:07:48 UTC (rev 549) @@ -54,9 +54,7 @@ // unsigned char -ord $ sprintf "%c" 0x80; ord $ sprintf "%c" 0xff; -ord $ sprintf "%c" 0x80L; ord $ sprintf "%c" 0xffL; // unsigned return values This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 08:44:01
|
Revision: 548 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=548&view=rev Author: agraef Date: 2008-08-20 08:44:09 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Windows compatibility fixes. Modified Paths: -------------- pure/trunk/runtime.cc pure/trunk/runtime.h Modified: pure/trunk/runtime.cc =================================================================== --- pure/trunk/runtime.cc 2008-08-20 08:13:06 UTC (rev 547) +++ pure/trunk/runtime.cc 2008-08-20 08:44:09 UTC (rev 548) @@ -2694,6 +2694,13 @@ { return _pclose(stream); } + +extern "C" +unsigned int sleep(unsigned int secs) +{ + Sleep(secs*1000); + return 0; +} #endif /* Horrible kludge to get round, trunc and the inverse hyperbolic functions Modified: pure/trunk/runtime.h =================================================================== --- pure/trunk/runtime.h 2008-08-20 08:13:06 UTC (rev 547) +++ pure/trunk/runtime.h 2008-08-20 08:44:09 UTC (rev 548) @@ -582,9 +582,9 @@ #ifdef __MINGW32__ /* Windows compatibility. */ - FILE *popen(const char *command, const char *type); int pclose(FILE *stream); +unsigned int sleep(unsigned int secs); #endif /* printf/scanf support. Since we don't support calling C vararg functions This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 08:12:56
|
Revision: 547 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=547&view=rev Author: agraef Date: 2008-08-20 08:13:06 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Windows compatibility fixes. Modified Paths: -------------- pure/trunk/configure pure/trunk/configure.ac Modified: pure/trunk/configure =================================================================== --- pure/trunk/configure 2008-08-20 08:07:27 UTC (rev 546) +++ pure/trunk/configure 2008-08-20 08:13:06 UTC (rev 547) @@ -1857,7 +1857,7 @@ LD_LIB_PATH="LD_LIBRARY_PATH" case "$host" in *-*-mingw*) AUXLIBS="-DLIBGLOB='\"libglob.dll\"' -DLIBREGEX='\"libgnurx-0.dll\"'"; - LIBS="$LIBS -limagehlp -lpsapi"; + LIBS="$LIBS -limagehlp -lpsapi -lmingwex"; LDFLAGS="-Wl,--enable-auto-import"; DLLEXT=".dll";; x86_64-*-linux*) PIC="-fPIC";; *-*-darwin*) LD_LIB_PATH="DYLD_LIBRARY_PATH"; Modified: pure/trunk/configure.ac =================================================================== --- pure/trunk/configure.ac 2008-08-20 08:07:27 UTC (rev 546) +++ pure/trunk/configure.ac 2008-08-20 08:13:06 UTC (rev 547) @@ -24,7 +24,7 @@ LD_LIB_PATH="LD_LIBRARY_PATH" case "$host" in *-*-mingw*) AUXLIBS="-DLIBGLOB='\"libglob.dll\"' -DLIBREGEX='\"libgnurx-0.dll\"'"; - LIBS="$LIBS -limagehlp -lpsapi"; + LIBS="$LIBS -limagehlp -lpsapi -lmingwex"; LDFLAGS="-Wl,--enable-auto-import"; DLLEXT=".dll";; x86_64-*-linux*) PIC="-fPIC";; *-*-darwin*) LD_LIB_PATH="DYLD_LIBRARY_PATH"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ag...@us...> - 2008-08-20 08:07:18
|
Revision: 546 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=546&view=rev Author: agraef Date: 2008-08-20 08:07:27 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Windows compatibility fixes. Modified Paths: -------------- pure/trunk/interpreter.cc pure/trunk/lib/math.pure pure/trunk/lib/primitives.pure pure/trunk/runtime.cc Modified: pure/trunk/interpreter.cc =================================================================== --- pure/trunk/interpreter.cc 2008-08-20 06:43:39 UTC (rev 545) +++ pure/trunk/interpreter.cc 2008-08-20 08:07:27 UTC (rev 546) @@ -442,15 +442,15 @@ return t; } -static bool relname(const string& s) +static bool absname(const string& s) { - if (s.empty()) return true; + if (s.empty()) + return false; + else #ifdef _WIN32 - size_t pos = fname.find('/'); - return pos == string::npos || pos == 0 || - pos == 2 && s[1] == ':'; + return s[0]=='/' || s.size() >= 2 && s[1] == ':'; #else - return s[0]!='/'; + return s[0]=='/'; #endif } @@ -471,7 +471,7 @@ if (!workdir.empty() && workdir[workdir.size()-1] != '/') workdir += "/"; string fname; - if (relname(script)) { + if (!absname(script)) { // resolve relative pathname if (!search) { fname = workdir+script; @@ -495,7 +495,7 @@ } else fname = script; found: - if (relname(fname)) fname = workdir+fname; + if (!absname(fname)) fname = workdir+fname; char buf[BUFSIZE]; #ifndef _WIN32 if (chklink(fname)) { @@ -546,7 +546,7 @@ if (!workdir.empty() && workdir[workdir.size()-1] != '/') workdir += "/"; string fname; - if (relname(lib)) { + if (!absname(lib)) { // resolve relative pathname if (!search) { fname = workdir+lib; Modified: pure/trunk/lib/math.pure =================================================================== --- pure/trunk/lib/math.pure 2008-08-20 06:43:39 UTC (rev 545) +++ pure/trunk/lib/math.pure 2008-08-20 08:07:27 UTC (rev 546) @@ -76,11 +76,11 @@ /* Hyperbolic functions. */ extern double sinh(double), double cosh(double), double tanh(double); -extern double asinh(double); -extern double acosh(double) = c_acosh, double atanh(double) = c_atanh; +extern double __asinh(double), double __acosh(double), double __atanh(double); -acosh x::double = c_acosh x if x>=1.0; -atanh x::double = c_atanh x if abs x<=1.0; +asinh x::double = __asinh x; +acosh x::double = __acosh x if x>=1.0; +atanh x::double = __atanh x if abs x<=1.0; sinh x::int | sinh x::bigint = sinh (double x); cosh x::int | cosh x::bigint = cosh (double x); Modified: pure/trunk/lib/primitives.pure =================================================================== --- pure/trunk/lib/primitives.pure 2008-08-20 06:43:39 UTC (rev 545) +++ pure/trunk/lib/primitives.pure 2008-08-20 08:07:27 UTC (rev 546) @@ -108,7 +108,7 @@ /* Rounding functions. */ extern double floor(double), double ceil(double); -extern double round(double), double trunc(double); +extern double __round(double) = round, double __trunc(double) = trunc; floor x::int | floor x::bigint = x; ceil x::int | ceil x::bigint = x; Modified: pure/trunk/runtime.cc =================================================================== --- pure/trunk/runtime.cc 2008-08-20 06:43:39 UTC (rev 545) +++ pure/trunk/runtime.cc 2008-08-20 08:07:27 UTC (rev 546) @@ -2696,7 +2696,41 @@ } #endif +/* Horrible kludge to get round, trunc and the inverse hyperbolic functions + from libmingwex.a (these are in C99, but not in the Windows system + libraries, and LLVM doesn't know how to get them either). */ + extern "C" +double __round(double x) +{ + return round(x); +} + +extern "C" +double __trunc(double x) +{ + return trunc(x); +} + +extern "C" +double __asinh(double x) +{ + return asinh(x); +} + +extern "C" +double __acosh(double x) +{ + return acosh(x); +} + +extern "C" +double __atanh(double x) +{ + return atanh(x); +} + +extern "C" int pure_fprintf(FILE *fp, const char *format) { return fprintf(fp, format); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |