(n: number): OrderingDetermines the sign of a given number.
When to use
Use to classify a number as negative, zero, or positive.
Example (Determining the sign)
import { Number } from "effect"
import * as assert from "node:assert"
assert.deepStrictEqual(Number.sign(-5), -1)
assert.deepStrictEqual(Number.sign(0), 0)
assert.deepStrictEqual(Number.sign(5), 1)math
Source effect/Number.ts:5571 lines
export const const sign: (n: number) => OrderingDetermines the sign of a given number.
When to use
Use to classify a number as negative, zero, or positive.
Example (Determining the sign)
import { Number } from "effect"
import * as assert from "node:assert"
assert.deepStrictEqual(Number.sign(-5), -1)
assert.deepStrictEqual(Number.sign(0), 0)
assert.deepStrictEqual(Number.sign(5), 1)
sign = (n: numbern: number): type Ordering = 0 | 1 | -1Represents the result of comparing two values.
When to use
Use to model a normalized comparison result that is exactly less than,
equal to, or greater than.
Details
-1 indicates the first value is less than the second
0 indicates the values are equal
1 indicates the first value is greater than the second
Example (Defining comparison results)
import type { Ordering } from "effect"
// Custom comparison function
const compareNumbers = (a: number, b: number): Ordering.Ordering => {
if (a < b) return -1
if (a > b) return 1
return 0
}
console.log(compareNumbers(5, 10)) // -1 (5 < 10)
console.log(compareNumbers(10, 5)) // 1 (10 > 5)
console.log(compareNumbers(5, 5)) // 0 (5 == 5)
// Using with string comparison
const compareStrings = (a: string, b: string): Ordering.Ordering => {
return a.localeCompare(b) as Ordering.Ordering
}
Ordering => const Order: order.Order<number>Order instance for number values.
When to use
Use when you need to sort or compare numbers through APIs that accept an
ordering instance.
Example (Comparing numbers)
import { Number } from "effect"
console.log(Number.Order(1, 2)) // -1
console.log(Number.Order(2, 1)) // 1
console.log(Number.Order(1, 1)) // 0
Order(n: numbern, 0)Referenced by 1 symbols