fraction.d.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. declare class Fraction {
  2. constructor();
  3. constructor(num: Fraction.FractionInput);
  4. constructor(numerator: number | bigint, denominator: number | bigint);
  5. s: bigint;
  6. n: bigint;
  7. d: bigint;
  8. abs(): Fraction;
  9. neg(): Fraction;
  10. add: Fraction.FractionParam;
  11. sub: Fraction.FractionParam;
  12. mul: Fraction.FractionParam;
  13. div: Fraction.FractionParam;
  14. pow: Fraction.FractionParam;
  15. log: Fraction.FractionParam;
  16. gcd: Fraction.FractionParam;
  17. lcm: Fraction.FractionParam;
  18. mod(): Fraction;
  19. mod(num: Fraction.FractionInput): Fraction;
  20. ceil(places?: number): Fraction;
  21. floor(places?: number): Fraction;
  22. round(places?: number): Fraction;
  23. roundTo: Fraction.FractionParam;
  24. inverse(): Fraction;
  25. simplify(eps?: number): Fraction;
  26. equals(num: Fraction.FractionInput): boolean;
  27. lt(num: Fraction.FractionInput): boolean;
  28. lte(num: Fraction.FractionInput): boolean;
  29. gt(num: Fraction.FractionInput): boolean;
  30. gte(num: Fraction.FractionInput): boolean;
  31. compare(num: Fraction.FractionInput): number;
  32. divisible(num: Fraction.FractionInput): boolean;
  33. valueOf(): number;
  34. toString(decimalPlaces?: number): string;
  35. toLatex(showMixed?: boolean): string;
  36. toFraction(showMixed?: boolean): string;
  37. toContinued(): bigint[];
  38. clone(): Fraction;
  39. static default: typeof Fraction;
  40. static Fraction: typeof Fraction;
  41. }
  42. declare namespace Fraction {
  43. interface NumeratorDenominator { n: number | bigint; d: number | bigint; }
  44. type FractionInput =
  45. | Fraction
  46. | number
  47. | bigint
  48. | string
  49. | [number | bigint | string, number | bigint | string]
  50. | NumeratorDenominator;
  51. type FractionParam = {
  52. (numerator: number | bigint, denominator: number | bigint): Fraction;
  53. (num: FractionInput): Fraction;
  54. };
  55. }
  56. /**
  57. * Export matches CJS runtime:
  58. * module.exports = Fraction;
  59. * module.exports.default = Fraction;
  60. * module.exports.Fraction = Fraction;
  61. */
  62. declare const FractionExport: typeof Fraction & {
  63. default: typeof Fraction;
  64. Fraction: typeof Fraction;
  65. };
  66. export = FractionExport;