# # Here are some operations on rational numbers, represented as # (numerator,denominator) of types integer and natural, # respectively. The compiler recognizes rationals in this form as type # q, making them printable with %qP, among other things. # # Copyright (C) 2007-2009 Dennis Furey # # abs (38) # difference (3339) # inverse (140) # negation (54) # power (6091) # product (2520) # quotient (2657) # rleq (645) # simplified (2081) # sum (3276) # engineering (10353) # fixed (2892) # scientific (6756) # # compressed with granularity 67 # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA # {kwkZpgiwuKH{evdw{IwKD_EFRg[ptGgFoFsf]nXpajgKxyVKdkKjoO{D[nZf\v[hjr`sn{_dqJ{Ecv gfvgixl]Lwdih_DHSdWgyJrgZDF^jNiv=]znKocEvyg wgGsgn_x\mZnkLvJkzwPEZyKngZhnkHDEJnKhyCioyVnLezjonng[vqGKjozgINg=ddvxnxr>gSEivkNzp^`^ZeOHgDoFdab^f<=JnGeoxGqHnKoO_f^ivkPho`_ D[FRVhvFgb<>v{hwxdPdo^fpjB`bYHfyvo^kMhNEAgoDEgh\j<GDKF{Fdd@ ^{vooHgoE^<>]ZmJnkTfX^lv\CRnlVjgFprvkvf^^iNfFOdkERNGHnj^ ggn?dfvkDFhhwSzgGGPfgKxOJE_R^Fx>klJcwGpk_PwWsFvkfnF\\fD][feELN^gf_n?dQoFzEiFevZ zGyJf{fo[f_cxpdqFfKEiN\fC^fsqH_FinrzzoPoz@ IF_GZqIHtgtche>fiNr>@aqiKz_FzqIVgqONfkphwxlhlsVgIIFHfvCM>FqGFxxriAqSdfXhgJxsGF] HlOTOOIO@jgGki?OHgH\ALf\\poGlYISQHhrnSISFt@h``FSPdF{QfokKiZpngFoFNgyDg>_nDtgOEN ldX^eiLNinwQnvaQNqIdovhhYgaaItCt[ s{wONpiHgHqNhpp?GQN[NxWaolUYF^_zoyN?syJyTyZEvU{c{osphfnhoOGIHoGfGPoqFoAKInwQmAw K{wHlH[quhpWiiuPbYSv>Se{]{ZyyOOPiH`nqNHopiQG{iFpILwHPxsecaXh@FPsHkFkx^UW^uUyF gHngGKQQHh{aRhZ?_VI^tqHoG@lJBH_n`sK{ZeXGWr{x@Shn>@SooIKAFi?PJx^nN[pmyA@oxnwHiPAPwQYZ_j[lbJZ[SM]{yCyy[OGHpiOOQHh\_MHeKpf oaaGStb`PKGQPapP>LoGKcv>CzvXEyn[p[{iOQOILpnlgPHmHd_N aoSq@xCLdyTiKINPaB{SRB?dxDPJ[q?]l\d\Kg\xmQiX?dYLyRciaYsNmZKr\uYo=CSgCvcxXgPphaPhOGG>`pDBaNAKNd\qIucR>ABm{tgSOD XNmkFy=wRWlDEyZmz=qxat?AyLniHQQ??GIeVvtQyScVaE={CcM\KiQCVT@V{>ENQr{@=uz>[jpEN^ oPfhgDNoPqYdjDHiUQAuKKqQSOIIfrmgI< paDcIXzOYqe_ch_?qiGxdlTC>hl oNiNoiSLB?jg=rAsK?h\wES?_lXmXrqO?_R?REHs>_bK=nFdL XBHrzN^=[{lsqINhgOOHmOoTU]EfvLobjV?qT<{ldtL<{l_j\OKoIBn[_noFpnqF_TjINpAaP_b^b^c ?P_l\?]{>AEpCkm>vOzA[PhoHiPQGLq?s\CTB^`FOjt?D_dh]G@WSQ\w`eKeadoR`_UUxE_HqNgSd`ksmUugG=?wQJjyvM[ONp@`B_mM\@gPXwuZuAuNkEL=oqcVQOFh_L\CxJkIWHsJStdv=DVqsbNHM UNpotIp^Pe>S\EZDC`nfy{Qw\OHEl@kDHnoZeNO?^cI{]uZxfhgY @`IOcl_^FAxz=PuHf^hc<`Yp\H>`x=DztFzvuYjJPwKuINL ?BtMH<{x>]{zDcwqnf[kPl<MYDwd\KlKDqIN\]nD