C# 클래스 OctoTorrent.Dht.BigInteger.Kernel

파일 보기 프로젝트 열기: Eskat0n/OctoTorrent

공개 메소드들

메소드 설명
AddSameSign ( BigInteger bi1, BigInteger bi2 ) : BigInteger

Adds two numbers with the same sign.

Compare ( BigInteger bi1, BigInteger bi2 ) : Sign

Compares two BigInteger

DwordDiv ( BigInteger n, uint d ) : BigInteger
DwordDivMod ( BigInteger n, uint d ) : OctoTorrent.Dht.BigInteger[]
DwordMod ( BigInteger n, uint d ) : uint
LeftShift ( BigInteger bi, int n ) : BigInteger
MinusEq ( BigInteger big, BigInteger small ) : void
MultiByteDivide ( BigInteger bi1, BigInteger bi2 ) : OctoTorrent.Dht.BigInteger[]
Multiply ( uint x, uint xOffset, uint xLen, uint y, uint yOffset, uint yLen, uint d, uint dOffset ) : void

Multiplies the data in x [xOffset:xOffset+xLen] by y [yOffset:yOffset+yLen] and puts it into d [dOffset:dOffset+xLen+yLen].

This code is unsafe! It is the caller's responsibility to make sure that it is safe to access x [xOffset:xOffset+xLen], y [yOffset:yOffset+yLen], and d [dOffset:dOffset+xLen+yLen].

MultiplyByDword ( BigInteger n, uint f ) : BigInteger
MultiplyMod2p32pmod ( uint x, int xOffset, int xLen, uint y, int yOffest, int yLen, uint d, int dOffset, int mod ) : void

Multiplies the data in x [xOffset:xOffset+xLen] by y [yOffset:yOffset+yLen] and puts the low mod words into d [dOffset:dOffset+mod].

This code is unsafe! It is the caller's responsibility to make sure that it is safe to access x [xOffset:xOffset+xLen], y [yOffset:yOffset+yLen], and d [dOffset:dOffset+mod].

PlusEq ( BigInteger bi1, BigInteger bi2 ) : void
RightShift ( BigInteger bi, int n ) : BigInteger
SingleByteDivideInPlace ( BigInteger n, uint d ) : uint

Performs n / d and n % d in one operation.

Subtract ( BigInteger big, BigInteger small ) : BigInteger
gcd ( BigInteger a, BigInteger b ) : BigInteger
modInverse ( BigInteger bi, BigInteger modulus ) : BigInteger

메소드 상세

AddSameSign() 공개 정적인 메소드

Adds two numbers with the same sign.
public static AddSameSign ( BigInteger bi1, BigInteger bi2 ) : BigInteger
bi1 BigInteger A BigInteger
bi2 BigInteger A BigInteger
리턴 BigInteger

Compare() 공개 정적인 메소드

Compares two BigInteger
public static Compare ( BigInteger bi1, BigInteger bi2 ) : Sign
bi1 BigInteger A BigInteger
bi2 BigInteger A BigInteger
리턴 Sign

DwordDiv() 공개 정적인 메소드

public static DwordDiv ( BigInteger n, uint d ) : BigInteger
n BigInteger
d uint
리턴 BigInteger

DwordDivMod() 공개 정적인 메소드

public static DwordDivMod ( BigInteger n, uint d ) : OctoTorrent.Dht.BigInteger[]
n BigInteger
d uint
리턴 OctoTorrent.Dht.BigInteger[]

DwordMod() 공개 정적인 메소드

public static DwordMod ( BigInteger n, uint d ) : uint
n BigInteger
d uint
리턴 uint

LeftShift() 공개 정적인 메소드

public static LeftShift ( BigInteger bi, int n ) : BigInteger
bi BigInteger
n int
리턴 BigInteger

MinusEq() 공개 정적인 메소드

public static MinusEq ( BigInteger big, BigInteger small ) : void
big BigInteger
small BigInteger
리턴 void

MultiByteDivide() 공개 정적인 메소드

public static MultiByteDivide ( BigInteger bi1, BigInteger bi2 ) : OctoTorrent.Dht.BigInteger[]
bi1 BigInteger
bi2 BigInteger
리턴 OctoTorrent.Dht.BigInteger[]

Multiply() 공개 정적인 메소드

Multiplies the data in x [xOffset:xOffset+xLen] by y [yOffset:yOffset+yLen] and puts it into d [dOffset:dOffset+xLen+yLen].
This code is unsafe! It is the caller's responsibility to make sure that it is safe to access x [xOffset:xOffset+xLen], y [yOffset:yOffset+yLen], and d [dOffset:dOffset+xLen+yLen].
public static Multiply ( uint x, uint xOffset, uint xLen, uint y, uint yOffset, uint yLen, uint d, uint dOffset ) : void
x uint
xOffset uint
xLen uint
y uint
yOffset uint
yLen uint
d uint
dOffset uint
리턴 void

MultiplyByDword() 공개 정적인 메소드

public static MultiplyByDword ( BigInteger n, uint f ) : BigInteger
n BigInteger
f uint
리턴 BigInteger

MultiplyMod2p32pmod() 공개 정적인 메소드

Multiplies the data in x [xOffset:xOffset+xLen] by y [yOffset:yOffset+yLen] and puts the low mod words into d [dOffset:dOffset+mod].
This code is unsafe! It is the caller's responsibility to make sure that it is safe to access x [xOffset:xOffset+xLen], y [yOffset:yOffset+yLen], and d [dOffset:dOffset+mod].
public static MultiplyMod2p32pmod ( uint x, int xOffset, int xLen, uint y, int yOffest, int yLen, uint d, int dOffset, int mod ) : void
x uint
xOffset int
xLen int
y uint
yOffest int
yLen int
d uint
dOffset int
mod int
리턴 void

PlusEq() 공개 정적인 메소드

public static PlusEq ( BigInteger bi1, BigInteger bi2 ) : void
bi1 BigInteger
bi2 BigInteger
리턴 void

RightShift() 공개 정적인 메소드

public static RightShift ( BigInteger bi, int n ) : BigInteger
bi BigInteger
n int
리턴 BigInteger

SingleByteDivideInPlace() 공개 정적인 메소드

Performs n / d and n % d in one operation.
public static SingleByteDivideInPlace ( BigInteger n, uint d ) : uint
n BigInteger A BigInteger, upon exit this will hold n / d
d uint The divisor
리턴 uint

Subtract() 공개 정적인 메소드

public static Subtract ( BigInteger big, BigInteger small ) : BigInteger
big BigInteger
small BigInteger
리턴 BigInteger

gcd() 공개 정적인 메소드

public static gcd ( BigInteger a, BigInteger b ) : BigInteger
a BigInteger
b BigInteger
리턴 BigInteger

modInverse() 공개 정적인 메소드

public static modInverse ( BigInteger bi, BigInteger modulus ) : BigInteger
bi BigInteger
modulus BigInteger
리턴 BigInteger