# # This module defines operations on signed integers represented in # binary converted decimal, type %bnLX, with a boolean for the sign # which is true if it's negative, and the digits in order of increasing # significance. # # Copyright (C) 2010 Dennis Furey # # abs (7) # bleq (711) # brange (1377) # choose (21056) # difference (4196) # division (3330) # factorial (17822) # fromint (960) # gcd (3382) # negation (15) # odd (20) # power (22226) # predecessor (536) # product (18416) # quotient (3323) # remainder (3323) # sgn (18) # successor (542) # sum (4172) # tenfold (19) # toint (379) # # compressed with granularity 66 # # # 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 # {iwKwEkwhGiwgIsKvwoJGGivpgG[J{jsimJf{gz]ZxwZ`fx]XsN{Fez_IHsjxjfu?FkHNp@wwGFsiPn xIZl?KjdkznGGioZuBHt^sF_SIn`vDvggxvniwRDiNHjeFp{zpgn^pW@nB[ehqG xrHkGoZhkEh]D>^Zd^f_wDlSHrfeXoJjyFvgZ]HcFFidV_roPfJZnZzkR^neRv^sHwZoPpd@jvfv kOOivgFEOHf`{Hg`iH{^GRn>jtGxVFSVvjkJ{fffRVd`{FqbJ>KKoIJyIxWKuNkGFSVZyKIIvgFxn>g oIT`NEJkHgIFajKuNKKnfyHGonqFvkOOivvvxVfOFd^\hxoFvFpetioxgJkHjFw\KNLf^arjggoivhg fwDFfniHOhgrFONcxoioIhzoFxFskgjt{`QTGjLyD^^^arjgNPp{fpgNiN fP>f`a<`gu{EXl?`^nOF^TpGoioAkX{MyFoFUPFgFP>fSvo EphwXoVfKvQI{thoptkKGeoVpiIxffn\\f^nF^]ypf]d{^QNRjtLyE^xj ir{iHs^paGhf^F=@fFjDh`haoDFjeF{IJtG?HwXnRsKpGDOZzGj@G_ZDQGzrxoYviFhpeFjni@fL`gH npPnSHlteghazhnchwXnSD_{aO[zG[KvvkOoPcknoziEFGFF\P^<`Hpw\\AFoFDpPbnklpFljavhocn sKm>d{bQEpeV{elEQHc_MkGgD{vgFaFfoDfJFXGLg>vhwXnRsKm>kQPyZ{GffAWF iGaVzvz{gNFfha>h_M??fLOGHtaHbmXnLmd^zpSvo>[OioEZufqwKqo_ZEI`oFjrgFjggPiKwGGNfff ^DPnWFgxYFdjavhocf{{EGlsJOaoKvkN`nvcXkPjgH{OGsviFffhfiD@fHVDgGvkoOhDjh{aPhruOaoZjEZ{dyzFPNyPomFvgHolJiv`rlnpgGGLm@]NLfl=>pho_HNWmXn_^ `knKKldnSS?Zff{AoKqwxyyyU_^`LMFOFDpd@WDiuXQvKDqWfYbLSf`KHvqZnncsNQHlJQKlGDON\BXy[IM\cbU^Syc{zyxpg=PfG GnffgPv\>H>^ffGsKvcIAPKMF[h^Exp?OvgShnj]DsjyeXndHzffPhj^niCkFDFhPX{ SgFni@\=YJqveZoRU{Uz{S{MNiPfpoOOOjwHLPlFfyKPhx m<`CsDANKwuNSjoGMPjA>[lefdXfmQB{SoeEj]]IxmEx=F>Sr\m[v[sAwK{{pNqOQHqQQOPqHpnNDnG gFG@=X@Sh^H[` DayzU[nCyFaz{szgFfiHfqQQQQQQH\^lGD\oXnTAjznYFSjgyXwJkHh{SkooxgNnlYjkSfmltKJhQMo vfQL[xAocs{nfnoFiGOQQQQQQ>nlfGDaMuL@\=Ngz{Qofv{?zhgeZv kqohvxoF]LCipfzXJgnsJfoOQQQQQO@\HP LV[uqNSkl{ljkn{?zgy`jvN{kqXvjkl{GFnpopi@dywvni@ffiGNqPo^v{GxKzK^njx{XvxnOgoHKnneNwm>]QXvjkpvxn?z kKpKKoJkHfnhiGQ>HbJtSQZ^pGLx{?{vuqCTrjI\hRO@QqD@[pU[YEE{aw{[qGP fdfhffhfht>CrInhkl{xKzx{>kpjzOgoE?xhg_xhg^{XhlK_\PLjkn{?{_xhgKKsJkH`vxo?xhgphrT QPgHcOSQHhsDOJkHozQ[k{qqUsIga@=Hx=P_tX\q\EGf\tgOEOyOyHf_oxFQOKuQzjYSQ]sIp=C\VoO\GP\>x<=CuB[WsHeZL@[o]wL[[{yNfhpf`ffNhjH= qjpfx{CJkH`vxo?xhgNnjtHTksGH\xn?fDxnLvvnjNx]@N?{kKm?oxHvxn_oHIjD{GFtksGHGynoDKH ^JFWa>aG<{tZ[qSsqQNn n`f`^aQLLqABGOgoE?xhg_xhg^{HhpNwd>]?oD^FfnjeHhg^aAGI\M@=KKmogoEJkHlzgFxhf_a>gyn ndKH`HfKH^FgGFveM=]QPozMHhj_NxoOFo{HfsjOgoG^aPo{Sxz[PuqYQqg{QquDjpooxCDgxFOFttpOxNgFBpxzoFho^^KKnaSx{p[OuyJ[Rm`sXJ mORkLy?]xJAFWdnjN_Php?=NoT=>K?]`Q@OgoHpgoIN jD\iYKhng>tiOgoGfQC_oxiCo{SMyGQIXdqPZphJjZ>MQHCuc\^[l>auDexnxhaD]OebVX^hg`lmHdv =^NnD<\?F\A?]LLF@BD<_oFKh>hgo_Bhg`lXEGj\DTpgrVaEUHd\fa ItNOyfhdsJh{oFhF^qxvxnvqtx{Fvp[PmQwODkZ_FbedQUTl><@L`[eeX=HSUHqPdoQpzwyGH\@@Jda ?gfx\>=LQGFvtHPhnJ^_DJ?@kLDPa=PFE@@@frq==BFxnQHg=in`{Bfo_GfQ OwHflfeQJkHjSVpZj@yPMuWOIPwzqQ_Kp^FdFON@thnp>^vxnpwPHW`{>fo?pdnv qPSmgP?hX=Fau[Ln>Pe\F_pn]UyFPUOhA^LMNFa@=>@\L=Hd`HbG_i=YOQnCTD>ZmFQJwGsUQCn`QyFF>PDh?NdMVkTILKvQ<=LiOioIhGlKzfGRv_HDOQJh?TtmILPi@lL >m?n=Qb^lRhkqg@eio_FdOnRvGwDM<`LE@pwXoRGOyHy^eqQKS?i> N>`\<