Sha256: 6c3ffd71f143073f06a05173415cd6d9eea8d551f3a75f618f0465385db01347
Contents?: true
Size: 558 Bytes
Versions: 211
Compression:
Stored size: 558 Bytes
Contents
const BASE = 3; export default class Trinary { constructor (decimal) { this.digits = [...decimal].reverse().map(Number); } toDecimal () { if (this.someDigitIsInvalid()) { return 0; } return this.digits.reduce(this.accumulator, 0); } someDigitIsInvalid() { const greaterThanBase = this.digits.some(d => d >= BASE); const notANumber = this.digits.some(d => isNaN(d)); return greaterThanBase || notANumber; } accumulator (decimal, digit, index) { return decimal += digit * Math.pow(BASE, index); } }
Version data entries
211 entries across 211 versions & 1 rubygems