API for generic.arithmetic - clojure-contrib v1.2 (stable)

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].
Source


+

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].
Source


-

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].
Source


/

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].
Source


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
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.