# # This module defines operations on signed integers. The virtual machine # representation of a non-negative integer is the same as that of the # corresponding natural number. Negative integers are represented as # the natural number equal to their absolute value with a zero bit # appended. The bit operations double, half, and odd defined in the # nat module will also work on integers in this representation. # # Copyright (C) 2009,2010 Dennis Furey # # abs (28) # difference (739) # division (976) # negation (44) # predecessor (280) # product (294) # quotient (981) # remainder (981) # sgn (26) # successor (295) # sum (741) # zleq (232) # zrange (630) # # compressed with granularity 39 # # # 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 # {kvwZaHsihoz{JowzjBzv[e{w>ny[Dcv^xsdRkPgf`[kEVivyo^n{Dt[KNhgYV?fHcDx^=]ZvE[hf{_ noIiN\`etkGGgWZfG<_GPgXsN?ngeVh{f<\f>>\kIkp\jkfwk[IOdWlYnHfve[GwPnz^fng>_geFodE zgSJFoOWP^nn]D{FdzllSfpXlRhu{yqhfnooguJkOIb?\mZkXUzSj[Yt^iH^i`iEHnf[^]O?sfph@HlC\axhY{viKz_PmtyF\MZ[qn_CtFC{xUx@A{mz{[vhgPW@pbd>] ZJaqSdd^A[cjz=]x`ziYPnoXGJ{tA?eb>[nm LLSb[exm{qNhfNgKw@_^iHaFaHqEzev@jxdE>mTF^\C]=u{EUzd[\][]{my{PfQ?cyHNhnHrDHS\`{DKDD`A?VGCm<[_l]=gs]v[z`vfLEx@uko@EKKlFoPfZ