|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Field = exports.MonoidProduct = exports.MonoidSum = exports.SemigroupProduct = exports.SemigroupSum = exports.MagmaSub = exports.Show = exports.Bounded = exports.Ord = exports.Eq = exports.isNumber = void 0;
- // -------------------------------------------------------------------------------------
- // refinements
- // -------------------------------------------------------------------------------------
- /**
- * @category refinements
- * @since 2.11.0
- */
- var isNumber = function (u) { return typeof u === 'number'; };
- exports.isNumber = isNumber;
- // -------------------------------------------------------------------------------------
- // instances
- // -------------------------------------------------------------------------------------
- /**
- * @category instances
- * @since 2.10.0
- */
- exports.Eq = {
- equals: function (first, second) { return first === second; }
- };
- /**
- * @category instances
- * @since 2.10.0
- */
- exports.Ord = {
- equals: exports.Eq.equals,
- compare: function (first, second) { return (first < second ? -1 : first > second ? 1 : 0); }
- };
- /**
- * @category instances
- * @since 2.10.0
- */
- exports.Bounded = {
- equals: exports.Eq.equals,
- compare: exports.Ord.compare,
- top: Infinity,
- bottom: -Infinity
- };
- /**
- * @category instances
- * @since 2.10.0
- */
- exports.Show = {
- show: function (n) { return JSON.stringify(n); }
- };
- /**
- * @category instances
- * @since 2.11.0
- */
- exports.MagmaSub = {
- concat: function (first, second) { return first - second; }
- };
- /**
- * `number` semigroup under addition.
- *
- * @example
- * import { SemigroupSum } from 'fp-ts/number'
- *
- * assert.deepStrictEqual(SemigroupSum.concat(2, 3), 5)
- *
- * @category instances
- * @since 2.10.0
- */
- exports.SemigroupSum = {
- concat: function (first, second) { return first + second; }
- };
- /**
- * `number` semigroup under multiplication.
- *
- * @example
- * import { SemigroupProduct } from 'fp-ts/number'
- *
- * assert.deepStrictEqual(SemigroupProduct.concat(2, 3), 6)
- *
- * @category instances
- * @since 2.10.0
- */
- exports.SemigroupProduct = {
- concat: function (first, second) { return first * second; }
- };
- /**
- * `number` monoid under addition.
- *
- * The `empty` value is `0`.
- *
- * @example
- * import { MonoidSum } from 'fp-ts/number'
- *
- * assert.deepStrictEqual(MonoidSum.concat(2, MonoidSum.empty), 2)
- *
- * @category instances
- * @since 2.10.0
- */
- exports.MonoidSum = {
- concat: exports.SemigroupSum.concat,
- empty: 0
- };
- /**
- * `number` monoid under multiplication.
- *
- * The `empty` value is `1`.
- *
- * @example
- * import { MonoidProduct } from 'fp-ts/number'
- *
- * assert.deepStrictEqual(MonoidProduct.concat(2, MonoidProduct.empty), 2)
- *
- * @category instances
- * @since 2.10.0
- */
- exports.MonoidProduct = {
- concat: exports.SemigroupProduct.concat,
- empty: 1
- };
- /**
- * @category instances
- * @since 2.10.0
- */
- exports.Field = {
- add: exports.SemigroupSum.concat,
- zero: 0,
- mul: exports.SemigroupProduct.concat,
- one: 1,
- sub: exports.MagmaSub.concat,
- degree: function (_) { return 1; },
- div: function (first, second) { return first / second; },
- mod: function (first, second) { return first % second; }
- };
|