The dual-numbers Reference Manual

This is the dual-numbers Reference Manual, version 0.9.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 12:15:48 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 dual-numbers

A library for dual numbers in Common Lisp

Author

Joe Marshall

License

MIT

Version

0.9.0

Dependencies
  • alexandria (system).
  • generic-arithmetic (system).
Source

dual-numbers.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 dual-numbers/dual-numbers.asd

Source

dual-numbers.asd.

Parent Component

dual-numbers (system).

ASDF Systems

dual-numbers.


3.1.2 dual-numbers/dual-numbers.lisp

Dependency

package.lisp (file).

Source

dual-numbers.asd.

Parent Component

dual-numbers (system).

Public Interface
Internals

%make-dual (function).


3.1.3 dual-numbers/dual-numbers-tests.lisp

Dependencies
Source

dual-numbers.asd.

Parent Component

dual-numbers (system).

Internals

3.1.4 dual-numbers/package.lisp

Source

dual-numbers.asd.

Parent Component

dual-numbers (system).

Packages

4 Packages

Packages are listed by definition order.


4.1 dual-numbers-tests

Source

package.lisp.

Use List
Internals

4.2 dual-numbers

Source

package.lisp.

Use List
  • common-lisp.
  • generic-arithmetic.
Used By List

dual-numbers-tests.

Public Interface
Internals

%make-dual (function).


5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: derivative (function)

Return a function that computes the derivative of FUNCTION at a point.

Package

dual-numbers.

Source

dual-numbers.lisp.

Function: make-dual (standard infinitesimal)

Create a dual number with STANDARD and INFINITESIMAL parts.

Package

dual-numbers.

Source

dual-numbers.lisp.


5.1.2 Generic functions

Generic Function: infinitesimal-part (obj)

Return the infinitesimal-part of a dual number or number.

Package

dual-numbers.

Source

dual-numbers.lisp.

Methods
Reader Method: infinitesimal-part ((dual-number dual-number))

automatically generated reader method

Target Slot

infinitesimal-part.

Method: infinitesimal-part ((obj number))
Generic Function: standard-part (obj)

Return the standard part of a dual number or number.

Package

dual-numbers.

Source

dual-numbers.lisp.

Methods
Reader Method: standard-part ((dual-number dual-number))

automatically generated reader method

Target Slot

standard-part.

Method: standard-part ((obj number))

5.1.3 Standalone methods

Method: =2 ((left dual-number) (right number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: =2 ((left number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: =2 ((left dual-number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: add2 ((left dual-number) (right number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: add2 ((left number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: add2 ((left dual-number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: conjugate ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: cos ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: cosh ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: denominator ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: divide2 ((left dual-number) (right number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: divide2 (left (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: exp ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: expt ((base dual-number) (power dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: expt ((base number) (power dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: expt ((base dual-number) (power number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: log ((obj dual-number) &optional base)
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: multiply2 ((left dual-number) (right number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: multiply2 ((left number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: multiply2 ((left dual-number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: negate ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: numerator ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: print-object ((obj dual-number) stream)
Source

dual-numbers.lisp.

Method: reciprocal ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: sin ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: sinh ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: sqrt ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: subtract2 ((left dual-number) (right number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: subtract2 ((left number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: subtract2 ((left dual-number) (right dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: tan ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: tanh ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.

Method: zerop ((obj dual-number))
Package

generic-arithmetic.

Source

dual-numbers.lisp.


5.1.4 Classes

Class: dual-number
Package

dual-numbers.

Source

dual-numbers.lisp.

Direct methods
Direct slots
Slot: standard-part
Initargs

:standard-part

Readers

standard-part.

Writers

This slot is read-only.

Slot: infinitesimal-part
Initargs

:infinitesimal-part

Readers

infinitesimal-part.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Ordinary functions

Function: %make-dual (standard infinitesimal)

Create a dual number with STANDARD and INFINITESIMAL parts.

Package

dual-numbers.

Source

dual-numbers.lisp.

Function: run-tests ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.

Function: test-arithmetic ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.

Function: test-conjugate ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.

Function: test-creation ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.

Function: test-derivative ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.

Function: test-transcendental ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.

Function: test-zerop ()
Package

dual-numbers-tests.

Source

dual-numbers-tests.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   =  
A   C   D   E   F   G   I   L   M   N   P   R   S   T   Z  
Index Entry  Section

%
%make-dual: Private ordinary functions

=
=2: Public standalone methods
=2: Public standalone methods
=2: Public standalone methods

A
add2: Public standalone methods
add2: Public standalone methods
add2: Public standalone methods

C
conjugate: Public standalone methods
cos: Public standalone methods
cosh: Public standalone methods

D
denominator: Public standalone methods
derivative: Public ordinary functions
divide2: Public standalone methods
divide2: Public standalone methods

E
exp: Public standalone methods
expt: Public standalone methods
expt: Public standalone methods
expt: Public standalone methods

F
Function, %make-dual: Private ordinary functions
Function, derivative: Public ordinary functions
Function, make-dual: Public ordinary functions
Function, run-tests: Private ordinary functions
Function, test-arithmetic: Private ordinary functions
Function, test-conjugate: Private ordinary functions
Function, test-creation: Private ordinary functions
Function, test-derivative: Private ordinary functions
Function, test-transcendental: Private ordinary functions
Function, test-zerop: Private ordinary functions

G
Generic Function, infinitesimal-part: Public generic functions
Generic Function, standard-part: Public generic functions

I
infinitesimal-part: Public generic functions
infinitesimal-part: Public generic functions
infinitesimal-part: Public generic functions

L
log: Public standalone methods

M
make-dual: Public ordinary functions
Method, =2: Public standalone methods
Method, =2: Public standalone methods
Method, =2: Public standalone methods
Method, add2: Public standalone methods
Method, add2: Public standalone methods
Method, add2: Public standalone methods
Method, conjugate: Public standalone methods
Method, cos: Public standalone methods
Method, cosh: Public standalone methods
Method, denominator: Public standalone methods
Method, divide2: Public standalone methods
Method, divide2: Public standalone methods
Method, exp: Public standalone methods
Method, expt: Public standalone methods
Method, expt: Public standalone methods
Method, expt: Public standalone methods
Method, infinitesimal-part: Public generic functions
Method, infinitesimal-part: Public generic functions
Method, log: Public standalone methods
Method, multiply2: Public standalone methods
Method, multiply2: Public standalone methods
Method, multiply2: Public standalone methods
Method, negate: Public standalone methods
Method, numerator: Public standalone methods
Method, print-object: Public standalone methods
Method, reciprocal: Public standalone methods
Method, sin: Public standalone methods
Method, sinh: Public standalone methods
Method, sqrt: Public standalone methods
Method, standard-part: Public generic functions
Method, standard-part: Public generic functions
Method, subtract2: Public standalone methods
Method, subtract2: Public standalone methods
Method, subtract2: Public standalone methods
Method, tan: Public standalone methods
Method, tanh: Public standalone methods
Method, zerop: Public standalone methods
multiply2: Public standalone methods
multiply2: Public standalone methods
multiply2: Public standalone methods

N
negate: Public standalone methods
numerator: Public standalone methods

P
print-object: Public standalone methods

R
reciprocal: Public standalone methods
run-tests: Private ordinary functions

S
sin: Public standalone methods
sinh: Public standalone methods
sqrt: Public standalone methods
standard-part: Public generic functions
standard-part: Public generic functions
standard-part: Public generic functions
subtract2: Public standalone methods
subtract2: Public standalone methods
subtract2: Public standalone methods

T
tan: Public standalone methods
tanh: Public standalone methods
test-arithmetic: Private ordinary functions
test-conjugate: Private ordinary functions
test-creation: Private ordinary functions
test-derivative: Private ordinary functions
test-transcendental: Private ordinary functions
test-zerop: Private ordinary functions

Z
zerop: Public standalone methods


A.3 Variables