UNPKG

divisor

Version:

Calculates divisors/factors of natural numbers and gcd/lcm using euclid's algorithm.

97 lines (93 loc) 4.38 kB
/** * Gets all common divisors of the provided numbers * @param {number} n1 First number to process * @param {number} n2 Second number to process * @param {string | undefined} [sort] Sort expression as 'asc' or 'desc' - optional * @returns {number[]} Common divisors of provided numbers */ declare function getCommonDivisors(n1: number, n2: number, sort?: string): number[]; /** * Calculates greatest common divisor (gcd) of provided numbers * @param {number} n1 First number to process * @param {number} n2 Second number to process * @returns {number} Greatest common divisor (gcd) */ declare function greatestCommonDivisor(n1: number, n2: number): number; /** * Calculates least common multiple (lcm) of provided numbers * @param {number} n1 First number to process * @param {number} n2 Second number to process * @returns {number} Least common multiple (lcm) */ declare function leastCommonMultiple(n1: number, n2: number): number; /** * Gets common divisor count of provided numbers * @param {number} n1 First number to process * @param {number} n2 Second number to process * @returns {number} Common divisor number count */ declare function countCommonDivisors(n1: number, n2: number): number; /** * Multiplies common divisors of provided numbers * @param {number} n1 First number to process * @param {number} n2 Second number to process * @returns {number} Common divisor multiplication result */ declare function multiplyCommonDivisors(n1: number, n2: number): number; /** * Sums up common divisors of provided numbers * @param {number} n1 First number to process * @param {number} n2 Second number to process * @returns {number} Sum of common divisors */ declare function sumCommonDivisors(n1: number, n2: number): number; interface DivisorOptions { readonly sort?: string; readonly onlyProperDivisors?: boolean; } /** * Gets all divisors of the provided number * @param {number} n Number to process * @param {DivisorOptions | undefined} [options] Divisor options - optional * @param {string | undefined} [options.sort] Sort expression as 'asc' or 'desc' - optional * @param {boolean | undefined} [options.onlyProperDivisors] Indicator for proper divisors - optional * @returns {number[]} Divisors of the provided number and options */ declare function getDivisors(n: number, options?: DivisorOptions | undefined): number[]; /** * Gets divisor count of a number * @param {number} n Number to process * @param {boolean | undefined} [onlyProperDivisors=false] Indicator for proper divisors - optional * @returns {number} Divisor number count */ declare function countDivisors(n: number, onlyProperDivisors?: boolean | undefined): number; /** * Multiplies divisors of provided number * @param {number} n Number to process * @param {boolean | undefined} [onlyProperDivisors=false] Indicator for proper divisors - optional * @returns {number} Divisor multiplication result */ declare function multiplyDivisors(n: number, onlyProperDivisors?: boolean | undefined): number; /** * Sums up divisors of provided number * @param n {number} Number to process * @param {boolean | undefined} [onlyProperDivisors=false] Indicator for proper divisors - optional * @returns {number} Sum of divisors */ declare function sumDivisors(n: number, onlyProperDivisors?: boolean | undefined): number; /** * Gets greatest proper divisor of provided number * @param {number} n Number to process * @returns {number | null} Greatest proper divisor of provided number - null if provided number is 1 */ declare function greatestProperDivisor(n: number): number | null; /** * Gets smallest proper divisor of provided number * @summary DEPRECATED - Will be removed on first major release. * Smallest proper divisor calculation seems needed at first due to lack of knowledge about proper divisors. * This method always returns one if number one itself not used as number parameter * @param {number} n Number to process * @returns {number | null} Smallest proper divisor of provided number - null if provided number is one */ declare function smallestProperDivisor(n: number): number | null; export { countCommonDivisors, countDivisors, getCommonDivisors, getDivisors, greatestCommonDivisor, greatestProperDivisor, leastCommonMultiple, multiplyCommonDivisors, multiplyDivisors, smallestProperDivisor, sumCommonDivisors, sumDivisors };