0.4.0-alpha • Published 5 years ago
@perfective/real v0.4.0-alpha
Perfective Real Numbers
The @perfective/real package declares types and functions to work with real numbers,
including the JavaScript
Number class.
Read the full documentation on the Github.
Number
- TypeGuards:
isNumber<T>(value: number | T): value is numberisNotNumber<T>(value: number | T): value is T
Numbermethods:exponential(fraction: Digits): Unary<number, string>fixed(fraction: Digits): Unary<number, string>precision(precision: Precision): Unary<number, string>
Integer
- Types:
Integer— an alias to thenumbertype
- Predicates:
isInteger(value: number): booleanisSafeInteger(value: number): booleanisNonNegativeInteger(value: number): booleanisPositiveInteger(value: number): booleanisNonPositiveInteger(value: number): booleanisNegativeInteger(value: number): boolean
Base (Radix)
The parseFloat(), parseInt(), and Number.prototype.toString() functions are combined
into polymorphic shortcuts for readability:
- Decimal (radix = 10):
decimal(value: number): stringdecimal(value: string): number
- Binary (radix = 2):
binary(value: Integer): stringbinary(value: string): Integer
- Octal (radix = 8):
octal(value: Integer): stringoctal(value: string): Integer
- Hexadecimal (radix = 16):
hexadecimal(value: Integer): stringhexadecimal(value: string): Integer
Order
- Predicates:
isEqualTo(value: number): Predicate<number>isNotEqualTo(value: number): Predicate<number>isGreaterThan(value: number): Predicate<number>isGreaterThanOrEqualTo(value: number): Predicate<number>isLessThan(value: number): Predicate<number>isLessThanOrEqualTo(value: number): Predicate<number>
- Sorting:
ascending(a: number, b: number): numberdescending(a: number, b: number): number
Interval
- Types:
Interval— represents a range fromInterval.mintoInterval.max.
- Unit functions:
interval(a: number, b: number): IntervalintervalFromPair(pair: readonly [number, number]): Interval
- Predicates:
isInInterval(interval: Interval): Predicate<number>isInOpenInterval(interval: Interval): Predicate<number>isInLeftOpenInterval(interval: Interval): Predicate<number>isInRightOpenInterval(interval: Interval): Predicate<number>
0.6.0
5 years ago
0.5.1
5 years ago
0.5.0
5 years ago
0.4.1
5 years ago
0.4.0
5 years ago
0.4.0-beta
5 years ago
0.4.0-alpha.2
5 years ago
0.4.0-alpha.1
5 years ago
0.4.0-alpha
5 years ago
0.3.0
6 years ago
0.2.1
6 years ago
0.2.0
6 years ago
0.1.1
6 years ago
0.1.0
6 years ago