The home of most of the protocol-based extensible generic operations offered by
Emmy. The bulk of the others live in emmy.generic
.
See the Generics
cljdocs
for a detailed discussion of how to use and extend the generic operations
defined in emmy.generic
and emmy.value
.
The home of most of the protocol-based extensible generic operations offered by Emmy. The bulk of the others live in [[emmy.generic]]. See [the `Generics` cljdocs](https://cljdoc.org/d/org.mentat/emmy/CURRENT/doc/basics/generics) for a detailed discussion of how to use and extend the generic operations defined in [[emmy.generic]] and [[emmy.value]].
(almost-integral? x)
Returns true if x
is either:
integral?
,false otherwise.
Returns true if `x` is either: - [[integral?]], - a floating point number either < [[absolute-integer-tolerance]] (if near zero) or within [[relative-integer-tolerance]] of the closest integer, false otherwise.
(compare x y)
Comparator. Returns a negative number, zero, or a positive number when x is logically 'less than', 'equal to', or 'greater than' y. Same as Java x.compareTo(y) except it also works for nil, and compares numbers and collections in a type-independent manner. x must implement Comparable
Comparator. Returns a negative number, zero, or a positive number when x is logically 'less than', 'equal to', or 'greater than' y. Same as Java x.compareTo(y) except it also works for nil, and compares numbers and collections in a type-independent manner. x must implement Comparable
Comparator. Clone of [[cljs.core/compare]] that works with the expanded Emmy numeric tower.
Returns a negative number, zero, or a positive number when x is logically 'less than', 'equal to', or 'greater than' y. Uses IComparable if available and google.array.defaultCompare for objects of the same type and special-cases nil to be less than any other object.
Comparator. Clone of [[cljs.core/compare]] that works with the expanded Emmy numeric tower. Returns a negative number, zero, or a positive number when x is logically 'less than', 'equal to', or 'greater than' y. Uses IComparable if available and google.array.defaultCompare for objects of the same type and special-cases nil to be less than any other object.
(exact-zero? n)
Returns true if the supplied argument is an exact numerical zero, false otherwise.
Returns true if the supplied argument is an exact numerical zero, false otherwise.
(integral? x)
Returns true if x is an integral number, false otherwise.
Returns true if x is an integral number, false otherwise.
(kind-predicate x)
Returns a predicate that returns true if its argument matches the supplied
kind-keyword k
, false otherwise.
Returns a predicate that returns true if its argument matches the supplied kind-keyword `k`, false otherwise.
(make-es6-callable s k)
Make s callable. This is done by re-hosting all of the object properties of s
in a new native JS function which delegates to the Clojure application. The
result of the application of this new function is supplied to the continuation k
.
Make s callable. This is done by re-hosting all of the object properties of `s` in a new native JS function which delegates to the Clojure application. The result of the application of this new function is supplied to the continuation `k`.
(native-integral? x)
Returns true if x is an integral number that Clojure's math operations work with, false otherwise.
Returns true if x is an integral number that Clojure's math operations work with, false otherwise.
(number? x)
Returns true if x
is any number type in the numeric tower:
false otherwise.
Returns true if `x` is any number type in the numeric tower: - integral - floating point - complex false otherwise.
(numeric-zero? x)
Returns true
if x
is both a number?
and [[zero?]], false otherwise.
Returns `true` if `x` is both a [[number?]] and [[zero?]], false otherwise.
(real? x)
Returns true if x
is either an integral number or a floating point number (i.e.,
in the numeric tower but not complex), false otherwise.
Returns true if `x` is either an integral number or a floating point number (i.e., in the numeric tower but not complex), false otherwise.
(scalar? x)
Returns true for anything that derives from ::scalar
, i.e., any numeric type in
the numeric tower that responds true to number?
, plus symbolic expressions
generated by emmy.abstract.number/literal-number
,
false otherwise.
Returns true for anything that derives from `::scalar`, i.e., any numeric type in the numeric tower that responds true to [[number?]], plus symbolic expressions generated by [[emmy.abstract.number/literal-number]], false otherwise.
(set-js-meta! o m)
Mutates the native JS object o
to have the given metadata. The
previous metadata, if any, is discarded. o
is returned.
Mutates the native JS object `o` to have the given metadata. The previous metadata, if any, is discarded. `o` is returned.
(zero-like this)
(identity? this)
(freeze this)
Freezing an expression means removing wrappers and other metadata from subexpressions, so that the result is basically a pure S-expression with the same structure as the input. Doing this will rob an expression of useful information for further computation; so this is intended to be done just before simplification and printing, to simplify those processes.
Freezing an expression means removing wrappers and other metadata from subexpressions, so that the result is basically a pure S-expression with the same structure as the input. Doing this will rob an expression of useful information for further computation; so this is intended to be done just before simplification and printing, to simplify those processes.
(zero? this)
(one? this)
(exact? this)
Entries that are exact are available for gcd
, among
other operations.
Entries that are exact are available for `gcd`, among other operations.
(kind this)
(identity-like this)
(one-like this)
(within ε)
Returns a function that tests whether two values are within ε of each other.
Returns a function that tests whether two values are within ε of each other.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close