UNPKG

image-in-browser

Version:

Package for encoding / decoding images, transforming images, applying filters, drawing primitives on images on the client side (no need for server Node.js)

36 lines 1.1 kB
import { MathUtils } from './math-utils.js'; export class Rational { get numerator() { return this._numerator; } get denominator() { return this._denominator; } get toInt() { return this.denominator !== 0 ? Math.trunc(this.numerator / this.denominator) : 0; } get toDouble() { return this.denominator !== 0 ? this.numerator / this.denominator : 0; } constructor(numerator, denominator) { this._numerator = numerator; this._denominator = denominator; } simplify() { const d = MathUtils.gcd(this.numerator, this.denominator); if (d !== 0) { this._numerator = Math.trunc(this.numerator / d); this._denominator = Math.trunc(this.denominator / d); } } equals(other) { return (this._numerator === other._numerator && this._denominator === other._denominator); } toString() { return `${this.constructor.name} (${this._numerator}/${this._denominator})`; } } //# sourceMappingURL=rational.js.map