maXbox3 3.9.9.195 14/05/2015 08:37:17 AM
maXbox3 3.9.9.80 13.11.2013 11:25:53
maXbox3 3.9.9.80 13.11.2013 11:25:53
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>maXbox3</strong> <strong>3.9.9.195</strong><br />
<strong>14</strong>/<strong>05</strong>/<strong>2015</strong> <strong>08</strong>:<strong>37</strong>:<strong>17</strong> <strong>AM</strong><br />
5496:<br />
5497: ********************************Integer Huge Cardinal Utils***************************<br />
5498: Function Add_uint64_WithCarry( x, y : uint64; var Carry : Boolean) : uint64<br />
5499: Function Add_uint32_WithCarry( x, y : uint32; var Carry : Boolean) : uint32<br />
5500: Function Subtract_uint64_WithBorrow( x, y : uint64; var Borrow : Boolean) : uint64<br />
5501: Function Subtract_uint32_WithBorrow( x, y : uint32; var Borrow : Boolean) : uint32<br />
5502: Function BitCount_8( Value : byte) : integer<br />
5503: Function BitCount_16( Value : uint16) : integer<br />
5504: Function BitCount_32( Value : uint32) : integer<br />
55<strong>05</strong>: Function BitCount_64( Value : uint64) : integer<br />
5506: Function CountSetBits_64( Value : uint64) : integer TPrimalityTestNoticeProc',<br />
5507: Procedure ( CountPrimalityTests : integer)<br />
55<strong>08</strong>: Function gcd( a, b : THugeCardinal) : THugeCardinal<br />
5509: Function lcm( a, b : THugeCardinal) : THugeCardinal<br />
5510: Function isCoPrime( a, b : THugeCardinal) : boolean<br />
5511: Function isProbablyPrime(p: THugeCardinal;OnProgress: TProgress; var wasAborted: boolean): boolean<br />
5512: Function hasSmallFactor( p : THugeCardinal) : boolean<br />
5513: //Function GeneratePrime( NumBits : integer; OnProgress : TProgress; OnPrimalityTest:<br />
TPrimalityTestNoticeProc; PassCount: integer; Pool1:TMemoryStreamPool;var Prime: THugeCardinal; var<br />
NumbersTested: integer) : boolean<br />
55<strong>14</strong>: Function Inverse( Prime, Modulus : THugeCardinal) : THugeCardinal<br />
5515: Const('StandardExponent','LongInt'( 655<strong>37</strong>);<br />
5516: //Procedure Compute_RSA_Fundamentals_2Factors(RequiredBitLengthOfN:integer;Fixed_e:uint64;var N,e,d,<br />
Totient:TProgress;OnPrimalityTest:TPrimalityTestNoticeProc;GeneratePrimePassCount:int;Pool1:TMemoryStreamPo<br />
Numbers<br />
55<strong>17</strong>: Function Validate_RSA_Fundamentals( var N, e, d, Totient : THugeCardinal) : boolean')<br />
5518:<br />
5519: procedure SIRegister_xrtl_math_Integer(CL: TPSPascalCompiler);<br />
5520: begin<br />
5521: AddTypeS('TXRTLInteger', 'array of Integer<br />
5522: AddClassN(FindClass('TOBJECT'),'EXRTLMathException<br />
5523: (FindClass('TOBJECT'),'EXRTLExtendInvalidArgument<br />
5524: AddClassN(FindClass('TOBJECT'),'EXRTLDivisionByZero<br />
5525: AddClassN(FindClass('TOBJECT'),'EXRTLExpInvalidArgument<br />
5526: AddClassN(FindClass('TOBJECT'),'EXRTLInvalidRadix<br />
5527: AddClassN(FindClass('TOBJECT'),'EXRTLInvalidRadixDigit<br />
5528: AddClassN(FindClass('TOBJECT'),'EXRTLRootInvalidArgument<br />
5529: 'BitsPerByte','LongInt'( 8);<br />
5530: BitsPerDigit','LongInt'( 32);<br />
5531: SignBitMask','LongWord( $80000000);<br />
5532: Function XRTLAdjustBits( const ABits : Integer) : Integer<br />
5533: Function XRTLLength( const AInteger : TXRTLInteger) : Integer<br />
5534: Function XRTLDataBits( const AInteger : TXRTLInteger) : Integer<br />
5535: Procedure XRTLBitPosition( const BitIndex : Integer; var Index, Mask : Integer)<br />
5536: Procedure XRTLBitSet( var AInteger : TXRTLInteger; const BitIndex : Integer)<br />
55<strong>37</strong>: Procedure XRTLBitReset( var AInteger : TXRTLInteger; const BitIndex : Integer)<br />
5538: Function XRTLBitGet( const AInteger : TXRTLInteger; const BitIndex : Integer) : Integer<br />
5539: Function XRTLBitGetBool( const AInteger : TXRTLInteger; const BitIndex : Integer) : Boolean<br />
5540: Function XRTLExtend(const AInteger:TXRTLInteger;ADataBits:Integer;Sign:Int;var AResult:TXRTLInteger):Int;<br />
5541: Function XRTLZeroExtend(const AInteger:TXRTLInteger;ADataBits:Integer; var AResult:TXRTLInteger):Integer;<br />
5542: Function XRTLSignExtend(const AInteger:TXRTLInteger; ADataBits:Integer;var AResult:TXRTLInteger):Integer;<br />
5543: Function XRTLSignStrip(const AInteger:TXRTLInteger;var AResult:TXRTLInteger;const <strong>AM</strong>inDataBits:Int):Int;<br />
5544: Procedure XRTLNot( const AInteger : TXRTLInteger; var AResult : TXRTLInteger)<br />
5545: Procedure XRTLOr( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger)<br />
5546: Procedure XRTLAnd( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger)<br />
5547: Procedure XRTLXor( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger)<br />
5548: Function XRTLSign( const AInteger : TXRTLInteger) : Integer<br />
5549: Procedure XRTLZero( var AInteger : TXRTLInteger)<br />
5550: Procedure XRTLOne( var AInteger : TXRTLInteger)<br />
5551: Procedure XRTLMOne( var AInteger : TXRTLInteger)<br />
5552: Procedure XRTLTwo( var AInteger : TXRTLInteger)<br />
5553: Function XRTLNeg( const AInteger : TXRTLInteger; var AResult : TXRTLInteger) : Integer<br />
5554: Function XRTLAbs( const AInteger : TXRTLInteger; var AResult : TXRTLInteger) : Integer<br />
5555: Procedure XRTLFullSum( const A, B, C : Integer; var Sum, Carry : Integer)<br />
5556: Function XRTLAdd( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger) : Integer;<br />
5557: Function XRTLAdd1(const AInteger1:TXRTLInteger;const AInteger2:Int64;var AResult:TXRTLInteger):Integer;<br />
5558: Function XRTLSub( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger) : Integer;<br />
5559: Function XRTLSub1( const AInteger1:TXRTLInteger;const AInteger2:Int64;var AResult:TXRTLInteger):Integer;<br />
5560: Function XRTLCompare( const AInteger1, AInteger2 : TXRTLInteger) : Integer;<br />
5561: Function XRTLCompare1( const AInteger1 : TXRTLInteger; const AInteger2 : Int64) : Integer;<br />
5562: Function XRTLUMul( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger) : Integer<br />
5563: Function XRTLMulAdd(const AInteger1,AInteger2,AInteger3:TXRTLInteger; var AResult:TXRTLInteger):Integer<br />
5564: Function XRTLMul( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger) : Integer<br />
5565: Procedure XRTLDivMod( const AInteger1, AInteger2 : TXRTLInteger; var QResult, RResult : TXRTLInteger)<br />
5566: Procedure XRTLSqr( const AInteger : TXRTLInteger; var AResult : TXRTLInteger)<br />
5567: Procedure XRTLSqrt( const AInteger : TXRTLInteger; var AResult : TXRTLInteger)<br />
5568: Procedure XRTLRoot( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger)<br />
5569: Procedure XRTLRootApprox(const AInteger1,AInteger2:TXRTLInteger;var ALowApproxResult,<br />
AHighApproxResult:TXRTLInteger)<br />
5570: Procedure XRTLURootApprox(const AInteger1,AInteger2:TXRTLInteger;var ALowApproxResult,<br />
AHighApproxResult:TXRTLInteger);<br />
5571: Procedure XRTLExp( const AInteger1, AInteger2 : TXRTLInteger; var AResult : TXRTLInteger)<br />
5572: Procedure XRTLExpMod( const AInteger1, AInteger2, AInteger3 : TXRTLInteger;var AResult: TXRTLInteger)<br />
5573: Procedure XRTLSLBL(const AInteger: TXRTLInteger; const BitCount:Integer; var AResult: TXRTLInteger)<br />
5574: Procedure XRTLSABL(const AInteger: TXRTLInteger; const BitCount:Integer; var AResult: TXRTLInteger)<br />
5575: Procedure XRTLRCBL(const AInteger: TXRTLInteger; const BitCount:Integer; var AResult: TXRTLInteger)<br />
5576: Procedure XRTLSLDL(const AInteger:TXRTLInteger;const DigitCount:Integer; var AResult:TXRTLInteger)<br />
5577: Procedure XRTLSADL(const AInteger: TXRTLInteger; const DigitCount:Integer;var AResult: TXRTLInteger)<br />
5578: Procedure XRTLRCDL(const AInteger:TXRTLInteger; const DigitCount:Integer; var AResult: TXRTLInteger)<br />
PC<strong>08</strong> E:\maxbox3\mXGit39988\maxbox3\docs\maxbox_extract_funclist399.txt<br />
http://www.softwareschule.ch/maxbox.htm T: 297<br />
p: 64