人民医院前端

jsbn.d.ts 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import { SecureRandom } from "./rng";
  2. export declare class BigInteger {
  3. constructor(a: number | number[] | string, b?: number | SecureRandom, c?: number | SecureRandom);
  4. toString(b: number): string;
  5. protected negate(): BigInteger;
  6. abs(): BigInteger;
  7. compareTo(a: BigInteger): number;
  8. bitLength(): number;
  9. mod(a: BigInteger): BigInteger;
  10. modPowInt(e: number, m: BigInteger): BigInteger;
  11. protected clone(): BigInteger;
  12. protected intValue(): number;
  13. protected byteValue(): number;
  14. protected shortValue(): number;
  15. protected signum(): 0 | 1 | -1;
  16. toByteArray(): number[];
  17. protected equals(a: BigInteger): boolean;
  18. protected min(a: BigInteger): BigInteger;
  19. protected max(a: BigInteger): BigInteger;
  20. protected and(a: BigInteger): BigInteger;
  21. protected or(a: BigInteger): BigInteger;
  22. protected xor(a: BigInteger): BigInteger;
  23. protected andNot(a: BigInteger): BigInteger;
  24. protected not(): BigInteger;
  25. protected shiftLeft(n: number): BigInteger;
  26. protected shiftRight(n: number): BigInteger;
  27. protected getLowestSetBit(): number;
  28. protected bitCount(): number;
  29. protected testBit(n: number): boolean;
  30. protected setBit(n: number): BigInteger;
  31. protected clearBit(n: number): BigInteger;
  32. protected flipBit(n: number): BigInteger;
  33. add(a: BigInteger): BigInteger;
  34. subtract(a: BigInteger): BigInteger;
  35. multiply(a: BigInteger): BigInteger;
  36. divide(a: BigInteger): BigInteger;
  37. protected remainder(a: BigInteger): BigInteger;
  38. protected divideAndRemainder(a: BigInteger): BigInteger[];
  39. modPow(e: BigInteger, m: BigInteger): BigInteger;
  40. modInverse(m: BigInteger): BigInteger;
  41. protected pow(e: number): BigInteger;
  42. gcd(a: BigInteger): BigInteger;
  43. isProbablePrime(t: number): boolean;
  44. copyTo(r: BigInteger): void;
  45. fromInt(x: number): void;
  46. protected fromString(s: string | number[], b: number): void;
  47. clamp(): void;
  48. dlShiftTo(n: number, r: BigInteger): void;
  49. drShiftTo(n: number, r: BigInteger): void;
  50. protected lShiftTo(n: number, r: BigInteger): void;
  51. protected rShiftTo(n: number, r: BigInteger): void;
  52. subTo(a: BigInteger, r: BigInteger): void;
  53. multiplyTo(a: BigInteger, r: BigInteger): void;
  54. squareTo(r: BigInteger): void;
  55. divRemTo(m: BigInteger, q: BigInteger, r: BigInteger): void;
  56. invDigit(): number;
  57. protected isEven(): boolean;
  58. protected exp(e: number, z: IReduction): BigInteger;
  59. protected chunkSize(r: number): number;
  60. protected toRadix(b: number): string;
  61. fromRadix(s: string, b: number): void;
  62. protected fromNumber(a: number, b: number | SecureRandom, c?: number | SecureRandom): void;
  63. protected bitwiseTo(a: BigInteger, op: (a: number, b: number) => number, r: BigInteger): void;
  64. protected changeBit(n: number, op: (a: number, b: number) => number): BigInteger;
  65. protected addTo(a: BigInteger, r: BigInteger): void;
  66. protected dMultiply(n: number): void;
  67. dAddOffset(n: number, w: number): void;
  68. multiplyLowerTo(a: BigInteger, n: number, r: BigInteger): void;
  69. multiplyUpperTo(a: BigInteger, n: number, r: BigInteger): void;
  70. protected modInt(n: number): number;
  71. protected millerRabin(t: number): boolean;
  72. protected square(): BigInteger;
  73. gcda(a: BigInteger, callback: (x: BigInteger) => void): void;
  74. fromNumberAsync(a: number, b: number | SecureRandom, c: number | SecureRandom, callback: () => void): void;
  75. s: number;
  76. t: number;
  77. DB: number;
  78. DM: number;
  79. DV: number;
  80. FV: number;
  81. F1: number;
  82. F2: number;
  83. am: (i: number, x: number, w: BigInteger, j: number, c: number, n: number) => number;
  84. [index: number]: number;
  85. static ONE: BigInteger;
  86. static ZERO: BigInteger;
  87. }
  88. export interface IReduction {
  89. convert(x: BigInteger): BigInteger;
  90. revert(x: BigInteger): BigInteger;
  91. mulTo(x: BigInteger, y: BigInteger, r: BigInteger): void;
  92. sqrTo(x: BigInteger, r: BigInteger): void;
  93. }
  94. export declare function nbi(): BigInteger;
  95. export declare function parseBigInt(str: string, r: number): BigInteger;
  96. export declare function intAt(s: string, i: number): number;
  97. export declare function nbv(i: number): BigInteger;
  98. export declare function nbits(x: number): number;