export class Horner { constants: number[]; constructor(constants: number[]) { this.constants = constants; } candidates() { let max = Math.abs(this.constants[this.constants.length - 1]); let min = 1; let candidates: number[] = []; for(let i = min; i<=max; i++) { if(max % i == 0) { candidates.push(i); candidates.push(-i); } } return candidates; } functional_value(number: number) { let new_polynom = [this.constants[0]]; for(let i=1; i