[comp.sources.atari.st] v04i048: pml_sqrt -- Fast square root function for gcc

koreth@panarthea.ebay.sun.com (Steven Grimm) (12/25/90)

Submitted-by: ntomczak@ualtavm.bitnet (Michal Jaegermann)
Posting-number: Volume 4, Issue 48
Archive-name: pml_sqrt

pml_sqrt.lzh
        Square root replacement function. C source meant for PML-library
        used with gcc compiler.  Faster and more precise than originally
        supplied.  Could be of interest to users of other compilers as
        well.

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 pml_sqrt.lzh
M*XLM;&@P+0          \DQT%1  "7!M;%]R<&QC+P  50#8^4@G[4$!  $ z
M,KHM;&@Q+?8"  #]!   TTUT%2  $'!M;%]R<&QC+W)E860N;66H654 ?OM(y
M)Z2! 0 ! ._X-8!?'_?_Z_O]8=[\KOS]]K=LV?S_+[\8.!57OZ@&E7O+BJYMx
M4ZIUA+[0"J@RQFDE4,*5'-MQKH-*T*+,Y;N2TYS_W1(D.S)9^D.P_&M+N KVw
MK2_I/1_A!V>6B]U ^<]-CMM]MB@*=M<L)R1?!0ZJ,%$54U,MC'4DW76PA(,Lv
M$6:S1@X?KILQ(" @N#.14?QAJC]$;G]&1*WS_]VFU1HKZ:!Y4]%4\>>J.@_^u
MHD0+S]_KP<<>+DBY>PIT6\X-_A Q;(9Z'^3])[O"*5(\R<FO_RH >X@QJ9T4t
M1 0].?]=W3;LX\,3R?FDW9I#Z\/[\7#_P%1._?;;B(;>U7 [L3'0'FOC>RK0s
MWC?_X"+C>Q8V6T>,G?3B>01LH[^W#Y&T2T\A'0WY^94]T@Z.LU,*[*;&U!\Wr
M;8KIRGBVO6A6&,42D'N,Z/,]=\ZTQ5+//36[;J#8?F>EYK8MUD0^CZ@K ;Q"q
M;^@_IJ&NU+ECXJ2NV]E\VO8ME H]>S#1_%J\:^+7VDVNI/U&G:/<8\-%8<&%p
M=6M")4IR,K8V,>,L^PV_?>3S994C[VBL(-=4QFQLNZR6=0\R@F4"S.&,UU?7o
MU**7ICJG3NLE1HK'Y110%5@=>-.JV94VE6Y6.OC?#5L6&MZN' J8"#5EV?^Rn
MXR5A?QRVMI LTW5' F\B@^E<S*J/.J6JM=FTJ4TRQC=DD*R?=(*4R^M&Z8)2m
M^VY4N9(PV7O?Q=D6]PZCP]TI*.4O.PK00&+6G%5A5(%:[Y7K!*RP25$8<FI+l
M( 3(7,<JH=AJJ/H)&-<E3!9\=7(*LQ7CZ*$^H[R \0A6+@DW8@T\ZD@A4T7Gk
M*IBBY+?OGTV',><8?U5TQ/R3^V/VG22^OC6! J >,6-GFVY?[4F5'Z!?BO\'j
MC&V<(.>N0$C !'^6B*J572&%GD:]A,)&D!A(XLQV(GMH_.(HS2%5<L^47WU3i
M]S6_2?>KZP(5A:H<TU+W+B,#P\1QBZ= 6G77F72 YX7/<*Z^CD#7U78W/JX h
M,=@M;&@Q+4P'  ":#@  UJ%K%2  #W!M;%]R<&QC+W-Q<G0N8\H350"T C\Gg
MI($!  $ W>VS.6UF)@WN;@_WQ_GX]OOO/S:_0!7__[>V>TVM?R ;2XI_7]T*f
M:Z=HT]SL]B5K<UOI&ZJO=1DO@L)Q_ATHK?PE,0K*=W5_(7P.9;J,UTVU!48;e
M8 FKJ0,X%D^PVD,QH=9MOYNQ-'E5=Q#?< NV^87J4'+>\4SWE^(6S$2:SE3$d
MY@<QSD"CARJ65:&$@W=6R.60$\:X%\JOEUBX>%54),]&%<^2@K&FIY%Y6<H8c
MN2E2CV&IP,?G0]\=]%/EB3)^<!I;[OQ;O=XQ4(F":SP:\1'W\"-XD-W6WTT-b
MMYT6?X$*5038WMB$_YU$"74[U)A+D-$M,RQ,+D>@(34W\;91ZDH(U?Z=:%/4a
MB/!'O3);VK?_'YDI'_X\S/G,V7E?)W"]2/B$RL("DM*(@)8/PT)@+[O4[% 5z
M%FU<S-3K_IYT]W,?7)IW</ESE[=\;. W.2=NZY#EB=ZM.>"0IP8 < A[GUZ7y
M[Q4PV^9P801X" Z5B*O8M7:C\'D>[T,3<8K8;?Z5:Y*W*RJ65YDOZ\>5:D=Sx
M+YUK=ES-1O,<-"])8,QS.BIFC2C)JX#[3&'&CR"YY/2EH-J:"+BCB.L1?(X<w
M)$,_0LRUIW:(LG9X%;+[$^0B$UZQZIB-6.\C!553IX862:F0IQ2V8KB@U.JMv
M93CXSQ-4\'K[ 0;XC9T@R<5/U8MO!6.T6QN?AK (LRG)4!G,$ E-E16/;;!2u
M8HM@F1>]\BXYK2T*N8P\,@ID:%R?W?Q!D.PSFG^[!K<8X24ZGK('<[::,/XBt
M>?E($P9$$0DY4:(Q>Z1G$0O@XEVI+0=&[UR[W53>:;B2,BI1>B]"P@B<$ZN:s
M?#[Q)(Q\OB:+L&#PX6$>>BZW$.'C\806-H"BM?YR=)(?@@TA"6//)'Z*$*/Cr
M.8+NH]]#YF'\0^Q02H[VNX+V]"3_&YY1$@"V)HBRE1Z$&:C):175 5(]*J_)q
M#V<JZ@C)W$UKB"8X.&4$"2/"KKC5J@#&I((IJ*O>21)^N695/34MK,(2)YH+p
MIU:[OCN&:L6G'8)7P[*W]R&_61$_D/YMJ>!R\#>WI; 1'0$1)@1D]01^6! Fo
MV610MO68+)XCR\HY+J1W3@4G@Z3]!I;L&J:=6RIE3HX^.OAD-9QD-;[T>]?Ln
M"!F==TAGI?QHUT]20\ DA<)!TQ0,VB#0O8:\S?IP\C6XLVSS%6(O@'W&H',Km
M(Y<_J7$".>SHD@6/V/?1._V]2X)/_>;2 &*&BX^5O9J+;8=)NHP/LE:!B5L_l
M0GC3SD=4H%P"JW]QX93M+PQ[MD SNMB&M# A/-F(Q+67VT\1)FP?F+6HWA+>k
MP3OX#V_6Z'L>9;\%OK!WVO_##@TX,-=YRO'WE%GQ\)P)"JF:SRSE]@?-</<Hj
M'\1FW$-)P&T)N<FY01#0Y+H^<@%:]T_PT=\/2ZNJF<A]7:>OI:A_+R80BE8)i
MQW))=&=3WK?>['KJLRY^;C_+*NFIL;7(K=]4DQM*NI/G$7F>*!LJ3+ES1]U9h
M4OR_8>Y7_:-<PM<9:*O.&<(ZZ>UKS4SJ(H9-[VC)P,M[S$ZKVUY*VF#F6_!!g
MXB_#.(I@U9KMN'H-D[^)?^6R=OV*S(A-I!ML+]@Q:EJ2/3A\7.DL.BMS;4N;f
M!)BR=4U Y8E9F\6Y+&Z^H'EH=U:EHSK&.9JGCQZQRH.-"$A;E!KW]1Q#,*06e
M-8QYQ*\\F/[IZA7-8\SA9=N%K6K^;3]S <T.^-KUW!6OF"\SN!VA^F9NEJHAd
MNQ\LTO:L^8@!:]SX$^USV;+7PM='!/XP)HR0)Y0NGH5*K@K9V*'19[P3+AQ7c
MQK31/*.IU-N(:3;&9ILBU1C03:5&P>QBEB"'BO2Y6#U7I@Q^.SS[5VBXX%W9b
M<'MOXH]RD\$JIJ?Q0U'HZ-TB%A.MJSF:L/WT48U"=-XL^S[MF!]?Y(!.PLP0a
M'_<I>-N6-2Y<"C?HOZ4<4G#-=EN(7#(X,\,%=LT5=AO5!-R*">F. RU#'2I(z
M['!K%+'9'A!*9MSW=$5-P&0YG<W60<?-NAS,Q8!TR!P(_6VT#L[[40\'.(9>y
M. JC8XIV4QGC;"<$0"L.23Z)XWLMEK63%SF"H)UC9IWQ\%*O5GI;@4Y5:RE'x
MXPWSJ%_DE2(MKP;T]S-"KAA7I"V9$+3Y;+9P7!C\1;7;B'4N1^-=^#\;=6>Vw
MKL/U?3([JA$CW'H$0C(! 4#LS71913,0@CJXVT9HE#M3'@W(:V030<D550G;v
MY&+%<R*.<+9[AX_,$_\!EV,\)/N!:%-IF#GR=#/<Q?M;@,SU $FYR>"?R:]Au
M*_9AFY+ P\LY,M6RY[0G3;BH98B?&OZ=L%7DRH%(18KM@IBO55'2)_II_!K0t
MKS_1^(9?6(J/3\X'LJN5F^4L>6;I128)U 42D9&._+"Q07O%K!&QJ?H(/)V4s
M3+N*Z)KOZ;C_O#EV->HV_0]FA(!/%\H>8B;5#NA)*"?%L=SDA6Y\4,77.3@Wr
>O-Q%"0^B8PESW5\84823J8L3'V7<IL<61=4/DE@ q
 p
end