API for generic.arithmetic
- ()
by Konrad Hinsen
Usage:
(ns your-namespace
(:require clojure.contrib.generic.arithmetic))
Overview
Generic arithmetic interface
This library defines generic versions of + - * / as multimethods
that can be defined for any type. The minimal required
implementations for a type are binary + and * plus unary - and /.
Everything else is derived from these automatically. Explicit
binary definitions for - and / can be provided for
efficiency reasons.
Public Variables and Functions
*
multimethod
Usage: (* x)
(* x y)
(* x y & more)
Return the product of all arguments. The minimal implementation for type
::my-type is the binary form with dispatch value [::my-type ::my-type].
+
multimethod
Usage: (+ x)
(+ x y)
(+ x y & more)
Return the sum of all arguments. The minimal implementation for type
::my-type is the binary form with dispatch value [::my-type ::my-type].
-
multimethod
Usage: (- x)
(- x y)
(- x y & more)
Return the difference of the first argument and the sum of all other
arguments. The minimal implementation for type ::my-type is the binary
form with dispatch value [::my-type ::my-type].
/
multimethod
Usage: (/ x)
(/ x y)
(/ x y & more)
Return the quotient of the first argument and the product of all other
arguments. The minimal implementation for type ::my-type is the binary
form with dispatch value [::my-type ::my-type].
defmethod*
macro
Usage: (defmethod* ns name & args)
Define a method implementation for the multimethod name in namespace ns.
Required for implementing the division function from another namespace.
Source
qsym
macro
Usage: (qsym ns sym)
Create the qualified symbol corresponding to sym in namespace ns.
Required to access the division function from another namespace,
e.g. as (qsym clojure.contrib.generic.arithmetic /).
Source