eseries
Version:
E-series preferred values library (E12, E24, etc.) for electronic components
156 lines (155 loc) • 5.54 kB
TypeScript
/**
* E-Series constants and operations
*/
/**
* An enumeration of possible E-Series identifiers.
*/
export declare enum ESeries {
E3 = 3,
E6 = 6,
E12 = 12,
E24 = 24,
E48 = 48,
E96 = 96,
E192 = 192
}
/**
* Returns the base values for the given E-series.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @returns An array of base values for the series
* @throws Error if the series doesn't exist
*/
export declare function series(seriesKey: ESeries): number[];
/**
* Returns the available series keys.
*
* @returns An array containing the series-keys (ESeries enum values)
*/
export declare function seriesKeys(): ESeries[];
/**
* Get an ESeries from its name.
*
* @param name - The series name as a string, for example 'E24'
* @returns An ESeries enum value
* @throws Error if the series doesn't exist
*/
export declare function seriesKeyFromName(name: string): ESeries;
/**
* Returns the nominal tolerance of an E Series.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @returns A float between zero and one. For example 0.1 indicates a 10% tolerance
* @throws Error for an unknown E-Series
*/
export declare function tolerance(seriesKey: ESeries): number;
/**
* Round a number to a specific number of significant figures.
*
* @param x - The number to round
* @param figures - The number of significant figures
* @returns The rounded number
*/
export declare function roundSig(x: number, figures?: number): number;
/**
* Generate E values in a range inclusive of the start and stop values.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param start - The beginning of the range
* @param stop - The end of the range
* @returns Array of values from the specified range
* @throws Error if parameters are invalid
*/
export declare function erange(seriesKey: ESeries, start: number, stop: number): number[];
/**
* Generate E values in a half-open range inclusive of start, but exclusive of stop.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param start - The beginning of the range
* @param stop - The end of the range (exclusive)
* @returns Array of values from the specified range
* @throws Error if parameters are invalid
*/
export declare function openErange(seriesKey: ESeries, start: number, stop: number): number[];
/**
* Find the nearest values to a target value.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - The query value
* @param num - The number of nearby values to find: 1, 2 or 3
* @returns An array containing num values
* @throws Error if parameters are invalid
*/
export declare function findNearestFew(seriesKey: ESeries, value: number, num?: number): number[];
/**
* Find the nearest value to a target value.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - The query value
* @returns The value in the specified E-series closest to value
* @throws Error if parameters are invalid
*/
export declare function findNearest(seriesKey: ESeries, value: number): number;
/**
* Find the smallest value greater-than or equal-to the given value.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - The query value
* @returns The smallest value greater-than or equal-to the query value
* @throws Error if parameters are invalid
*/
export declare function findGreaterThanOrEqual(seriesKey: ESeries, value: number): number;
/**
* Find the smallest value greater-than the given value.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - The query value
* @returns The smallest value greater-than the query value
* @throws Error if parameters are invalid
*/
export declare function findGreaterThan(seriesKey: ESeries, value: number): number;
/**
* Find the largest value less-than or equal-to the given value.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - The query value
* @returns The largest value less-than or equal-to the query value
* @throws Error if parameters are invalid
*/
export declare function findLessThanOrEqual(seriesKey: ESeries, value: number): number;
/**
* Find the largest value less-than the given value.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - The query value
* @returns The largest value less-than the query value
* @throws Error if parameters are invalid
*/
export declare function findLessThan(seriesKey: ESeries, value: number): number;
/**
* The lower limit for a nominal value of a series.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - A nominal value
* @returns The lower tolerance limit
* @throws Error if parameters are invalid
*/
export declare function lowerToleranceLimit(seriesKey: ESeries, value: number): number;
/**
* The upper limit for a nominal value of a series.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - A nominal value
* @returns The upper tolerance limit
* @throws Error if parameters are invalid
*/
export declare function upperToleranceLimit(seriesKey: ESeries, value: number): number;
/**
* The lower and upper tolerance limits for a nominal value of a series.
*
* @param seriesKey - An E-Series key such as ESeries.E24
* @param value - A nominal value
* @returns A tuple containing the lower and upper tolerance limits
* @throws Error if parameters are invalid
*/
export declare function toleranceLimits(seriesKey: ESeries, value: number): [number, number];