C# Class IntXLib.AutoNewtonDivider

Divides using Newton approximation approach.
Inheritance: DividerBase
ファイルを表示 Open project: devoyster/IntXLib

Public Methods

Method Description
AutoNewtonDivider ( IDivider classicDivider )

Creates new AutoNewtonDivider instance.

DivMod ( uint digits1, uint digitsBuffer1, uint &length1, uint digits2, uint digitsBuffer2, uint length2, uint digitsRes, DivModResultFlags resultFlags, int cmpResult ) : uint

Divides two big integers. Also modifies digits1 and length1 (it will contain remainder).

Private Methods

Method Description
IsClassicAlgorithmNeeded ( uint length1, uint length2 ) : bool

Returns true if it's better to use classic algorithm for given big integers.

Method Details

AutoNewtonDivider() public method

Creates new AutoNewtonDivider instance.
public AutoNewtonDivider ( IDivider classicDivider )
classicDivider IDivider Divider to use if Newton approach is unapplicatible.

DivMod() public method

Divides two big integers. Also modifies digits1 and length1 (it will contain remainder).
public DivMod ( uint digits1, uint digitsBuffer1, uint &length1, uint digits2, uint digitsBuffer2, uint length2, uint digitsRes, DivModResultFlags resultFlags, int cmpResult ) : uint
digits1 uint First big integer digits.
digitsBuffer1 uint Buffer for first big integer digits. May also contain remainder. Can be null - in this case it's created if necessary.
length1 uint First big integer length.
digits2 uint Second big integer digits.
digitsBuffer2 uint Buffer for second big integer digits. Only temporarily used. Can be null - in this case it's created if necessary.
length2 uint Second big integer length.
digitsRes uint Resulting big integer digits.
resultFlags DivModResultFlags Which operation results to return.
cmpResult int Big integers comparsion result (pass -2 if omitted).
return uint