10.11.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!