diff options
Diffstat (limited to 'gen/lib2.bc')
-rw-r--r-- | gen/lib2.bc | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/gen/lib2.bc b/gen/lib2.bc index ba3f76b1..1d7d48c6 100644 --- a/gen/lib2.bc +++ b/gen/lib2.bc @@ -34,10 +34,34 @@ */ define p(x,y){ - auto a + auto a,i,s,z + if(y==0)return 1@scale + if(x==0){ + if(y>0)return 0 + return 1/0 + } a=y$ if(y==a)return(x^a)@scale - return e(y*l(x)) + z=0 + if(x<1){ + y=-y + a=-a + z=x + x=1/x + } + if(y<0){ + return e(y*l(x)) + } + i=x^a + s=scale + scale+=length(i)+5 + if(z){ + x=1/z + i=x^a + } + i*=e((y-a)*l(x)) + scale=s + return i@scale } define r(x,p){ auto t,n |