dev-utils-plus
Version:
Type-safe utility functions for JavaScript/TypeScript: string, array, object, date, validation, crypto, format, math
158 lines • 5.03 kB
TypeScript
/**
* Math utility functions for common mathematical operations
*/
/**
* Clamps a number between min and max values
* @param value - The number to clamp
* @param min - Minimum value
* @param max - Maximum value
* @returns Clamped number between min and max
* @example
* clamp(10, 0, 5) // 5
* clamp(-5, 0, 5) // 0
* clamp(3, 0, 5) // 3
*/
export declare function clamp(value: number, min: number, max: number): number;
/**
* Linear interpolation between two values
*/
export declare function lerp(start: number, end: number, t: number): number;
/**
* Maps a value from one range to another
*/
export declare function mapRange(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
/**
* Checks if a number is between two values (inclusive)
* @param value - The number to check
* @param min - Minimum value (inclusive)
* @param max - Maximum value (inclusive)
* @returns True if value is between min and max
* @example
* isBetween(5, 1, 10) // true
* isBetween(0, 1, 10) // false
*/
export declare function isBetween(value: number, min: number, max: number): boolean;
/**
* Rounds a number to a specified number of decimal places
* @param value - The number to round
* @param decimals - Number of decimal places (must be non-negative integer)
* @returns Rounded number
* @example
* roundTo(3.14159, 2) // 3.14
* roundTo(1.235, 2) // 1.24
*/
export declare function roundTo(value: number, decimals: number): number;
/**
* Calculates the percentage of a value relative to a total
*/
export declare function percentage(value: number, total: number): number;
/**
* Calculates the factorial of a number
*/
export declare function factorial(n: number): number;
/**
* Calculates the greatest common divisor of two numbers
*/
export declare function gcd(a: number, b: number): number;
/**
* Calculates the least common multiple of two numbers
*/
export declare function lcm(a: number, b: number): number;
/**
* Checks if a number is prime
*/
export declare function isPrime(n: number): boolean;
/**
* Generates an array of prime numbers up to a limit
*/
export declare function generatePrimes(limit: number): number[];
/**
* Calculates the sum of an array of numbers
*/
export declare function sum(numbers: number[]): number;
/**
* Calculates the average of an array of numbers
*/
export declare function average(numbers: number[]): number;
/**
* Calculates the median of an array of numbers
*/
export declare function median(numbers: number[]): number;
/**
* Calculates the mode of an array of numbers
*/
export declare function mode(numbers: number[]): number[];
/**
* Calculates the standard deviation of an array of numbers
*/
export declare function standardDeviation(numbers: number[]): number;
/**
* Calculates the variance of an array of numbers
*/
export declare function variance(numbers: number[]): number;
/**
* Generates a random integer between min and max (inclusive)
* @param min - Minimum value (inclusive)
* @param max - Maximum value (inclusive)
* @returns Random integer between min and max
* @example
* randomInt(1, 10) // 7 (random integer between 1 and 10)
*/
export declare function randomInt(min: number, max: number): number;
/**
* Generates a random float between min and max
* @param min - Minimum value (inclusive)
* @param max - Maximum value (exclusive)
* @returns Random float between min and max
* @example
* randomFloat(1, 5) // 3.742891
*/
export declare function randomFloat(min: number, max: number): number;
/**
* Calculates the distance between two points
* @param x1 - First point x coordinate
* @param y1 - First point y coordinate
* @param x2 - Second point x coordinate
* @param y2 - Second point y coordinate
* @returns Distance between the two points
* @example
* distance(0, 0, 3, 4) // 5
*/
export declare function distance(x1: number, y1: number, x2: number, y2: number): number;
/**
* Converts degrees to radians
* @param degrees - Angle in degrees
* @returns Angle in radians
* @example
* degreesToRadians(180) // 3.141592653589793
*/
export declare function degreesToRadians(degrees: number): number;
/**
* Converts radians to degrees
* @param radians - Angle in radians
* @returns Angle in degrees
* @example
* radiansToDegrees(Math.PI) // 180
*/
export declare function radiansToDegrees(radians: number): number;
/**
* Calculates the nth root of a number
* @param value - The number to find the root of
* @param n - The root degree
* @returns The nth root of the value
* @example
* nthRoot(8, 3) // 2 (cube root of 8)
* nthRoot(16, 4) // 2 (4th root of 16)
*/
export declare function nthRoot(value: number, n: number): number;
/**
* Calculates the binomial coefficient (n choose k)
* @param n - Total number of items
* @param k - Number of items to choose
* @returns Binomial coefficient
* @example
* binomial(5, 2) // 10
* binomial(10, 3) // 120
*/
export declare function binomial(n: number, k: number): number;
//# sourceMappingURL=index.d.ts.map