From aca8811eacbaf47e7372dbc2b156eade757024b5 Mon Sep 17 00:00:00 2001 From: Akshay Rawat Date: Thu, 11 Oct 2007 01:10:07 +0530 Subject: [PATCH] Implementation for Precision --- kernel/bootstrap/precision.rb | 15 +++++++++++++++ kernel/core/float.rb | 4 +++- kernel/core/integer.rb | 1 + runtime/core/kernel/core/float.rbc | Bin 14036 -> 14142 bytes runtime/core/kernel/core/integer.rbc | Bin 7852 -> 7946 bytes 5 files changed, 19 insertions(+), 1 deletions(-) create mode 100644 kernel/bootstrap/precision.rb diff --git a/kernel/bootstrap/precision.rb b/kernel/bootstrap/precision.rb new file mode 100644 index 0000000..e662aa3 --- /dev/null +++ b/kernel/bootstrap/precision.rb @@ -0,0 +1,15 @@ +module Precision + + def prec(klass) + klass.induced_from(self) + end + + def prec_f + prec(Float) + end + + def prec_i + prec(Integer) + end + +end \ No newline at end of file diff --git a/kernel/core/float.rb b/kernel/core/float.rb index 94860a3..4e3e528 100644 --- a/kernel/core/float.rb +++ b/kernel/core/float.rb @@ -1,7 +1,9 @@ # depends on: numeric.rb class Float < Numeric - + + include Precision + def __ivars__; nil; end RADIX = Platform::Float.RADIX diff --git a/kernel/core/integer.rb b/kernel/core/integer.rb index 339a1c6..2206626 100644 --- a/kernel/core/integer.rb +++ b/kernel/core/integer.rb @@ -2,6 +2,7 @@ class Integer < Numeric include CType + include Precision def self.induced_from(o) return o.to_i if o.respond_to?(:to_i) diff --git a/runtime/core/kernel/core/float.rbc b/runtime/core/kernel/core/float.rbc index e08d844c13226ff69c525a4840083b21a7125455..ad7de2592309631346dc92ec88625e4c16715aac 100644 GIT binary patch delta 2636 zcmZ{kSxj7I6vsKt3?pTRZD1C*VSp*iRA7*S)-DvNK?}7tEmA`XSRip~Swf5AN=vbI z!y>0OzVV{zlZg>cqYu8|5`8eysEvt=+QjIK?SsZdqwzcc%kd70W(&tM#X=J9IeJGI#ral*$}@BC9nz@IQ{Q;i-8#c|B_nb@9!{ zat^x}$<1dYzO}3Fx=af3583`;$+U4hlA<-xz0fl8@p@w!-^jVnl{rfk;SsN&stn)x zmS>n~E84ZvUh#avi@8e_1KO5CZTU;o3=}u0hv&-r`O$&}N|=^!&0Bb$Xa~x7T0K7J zt3@x<9-s~jdDgBJCn(shi}Yi8wa|SS$Q|f&4Bf4c3e?)6_bA>Du-{U}y#Pm{y^0?I z7>D-pn0WD4f&q43y?@Ro22rId*G){B`>47p2(NUxm<=cpkA$_Bwj%Y+u_7>jc zZz`8*439f**hiFvX|U>AX48bu=EXd5=%nHnfCO}!AB_5gGg|Be9)zCai%~z#V(fRL z|2TtBsV@SDHPqAmS%ZJ*j25k}IS$KN#iIbHp$m#<0bYcjQ@jLl1-i(cF+ZKhN*<1_ z5WRr3;Pwj?yr^ADV74B38IJYFAF1iGIzn*NL0?f^56}vIRXXy|%~i#RX2wU8r;<~X zbLNb@lar$-XUE3Z9Px3YdQP^~&gY_oOUKCrD1y2b7Xw&dNw(rBur=!z#nzkIhhmQ6 zy8wcp5lYv9;NYz&GC_b)uKmZ*Bep2xe za1!`g#V3HLfS*@94Q!psmlQuz4ZZ;Tit=;7&jDYO&y)r^(zc(^#0vP|d^gXu9sdsk C=Bv&C delta 2743 zcmY+ETTEP46ozL3GXsSI2I|bf6qw;UFv4&t0~HFijZkURYPD$9(hIQ_ZL!8`QAx)d zQ)_}FaT{-m`ef{rKAZ=9@baoYcuA}eVuG3`8WS%`Ng6MSuJs=dYrB*6&syKw>py4D zoHHNIeSLcAO3uIL^ZCj+`Z!8CWJz7ek>F_M*u^0$#*yTZnmFPdjq7y*f3|ZpamcFS zkldROaBj~BxsLmCYEaBT44OG)iGk#vf!vgB5aQatfpV^8zJ)`U%uDXgS8;C7S92Zb z>u;Q3Gv{I;1G2@78k}HYPAya=_bZRswMvHP-_pG-h_RZZUr+ z!)7LUmi%U+G45OoCJHjqGrYTSRx}Q6g2og#1B^jy&DE}qS!J7}RbQFgOY_uV-b_X) z;jC7dk@1J})C|z#g5~l&wF7jxV74+(T>u%UB3w_@=X6!QMl=96$eZ3E8b-0*tX5Ar zD>w8L?J(hJgmyZq=#j$MxZYYlZfXEJVcx2ZkTNEDxxDPt1_yoXd=pMy$ z0Q1njiXR8K2;C=`=2`sX&er%gq65y{mIk6JCto*8bhq<){SeVKAGDB6D7i$(alRQ- z5uPyrBy)7qS!n#FAoig8hv3`;J!Q_fM8@Z|nFV%_cSiAE;CrACE4~-tB=iyI+m=fI z_>DEx{sj7rvzUIH=sBmi z^L2_nubXPoc2Avmu6C_a%xJd;-4ygC^GA1tUN*s=erKxZC{fBR_qOGNX!>=g7$6D_ zDvklPL5mf;-tOa6qIeMdCZL-X?*_ONS_+&)?mltu7ha~@??>|-G^E&lw4MbnS9}TJ z6=;RxR{`FERw}*>u_wKLq#`x>@mO0AD~OioXQ70MiUYu< zz_%$b0}cZpR9pod1wN!W23!YxcpV?)tKlz++&|G{x*dO_)Q;^Z6nDTS1N?yEZs1|y zbLQRtNN!%6cq?f?nolUc6*KPJeo^sZVE2{1q<99{eI^$b&jPz|@{;1m65tD>z86K- Z|L;ycbnL8@Q|3bU4pZJ5GT&#X{{w7+kN5xp diff --git a/runtime/core/kernel/core/integer.rbc b/runtime/core/kernel/core/integer.rbc index 4157605aae974ee020270d42b70aa0c05436989f..55cc681e0c171101d628fec0fab001f080ea77aa 100644 GIT binary patch delta 1360 zcmYk4OH30{6oxrdi+v3srPFDLA_Wx`<)MNGc@&}G1M#uYL{h;J(JF|*LUdtQZqx;M z5~GPGure__gbkd1CMCYl&sqA_t}j4NFkZ~p;K7w5~p-#Pc(o0;>p^;X;TXSy)+ zrCsmL%gb}CFjW{czk`&|ZmQJ7YP&^+Uj^|I3Ue<7B9R>HQtN<Ras>`W7ea)=LeVBf1z04y z5@Iu0jBEbnr^qyCueqJHZCgT@XFsPP9n4O@89@ z+bso4L{0p!(4alpguSik-a6XHOC^TcA`NPAbT8P-zeS$5#4itA%-nL(KCQg{|(7_1e29%2M+6g>(t0XB=Cgm9+jr0CqKISrjap))qO hu}(?(9f%olK=fS*XUNjoe?w6|ZbbRL<>v0P;r|ge1vLNw delta 1232 zcmZvb%TE(g6o)xe9xY5OB<<~`?O>}3h~=S4A%aRZRD4kq7Meh8>qa9&40U7FXk&sK z#RNPFiHSzsz=nldV`PIn7A`c#jV5kPT$$*fpx*h7cwD$RUv9tinCZQD?hLIRT=+2BB!(w17NS{L5N{+52r$k_Tt_1p|7O-q^=zmLtsBDip@*4 zg+Zx^Ah#RbFFFme4?G~+dyyP;R`d~wB6x_$BT65ZPAaAIlKlYv1svlsrDz=cc1_I^opzV^ z^#)Cvg~Olq3o2C?TYnNw@j_hbi!#T%SACc>!y9o$m)vIl79ZiE#C6^bxA2=pPbG|s zdTI0y#Jk^3qT{Gbf??4q2=AC3(cTU1@{*#vA-qHEgyt*GKxG2DTk0kuN?=CxS%`Ds xfavoO)8Hx5GZ1BPLiA+_?>d};?u4m;b6`=*Z$sP#FSt8sKFwPy!jIdge*G` -- 1.5.3.2