The sb-cga Reference Manual

This is the sb-cga Reference Manual, version 1.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:50:16 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 sb-cga

Computer graphic algebra for SBCL.

Author

Nikodemus Siivola <>

License

MIT

Version

1.0.1

Dependency

alexandria (system).

Source

sb-cga.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 sb-cga/ports

Dependency

fndb.lisp (file).

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 sb-cga/sb-cga.asd

Source

sb-cga.asd.

Parent Component

sb-cga (system).

ASDF Systems

sb-cga.


4.1.2 sb-cga/package.lisp

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Packages

sb-cga.


4.1.3 sb-cga/types.lisp

Dependency

package.lisp (file).

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Public Interface
Internals

4.1.4 sb-cga/fndb.lisp

Dependency

types.lisp (file).

Source

sb-cga.asd.

Parent Component

sb-cga (system).


4.1.5 sb-cga/ports/sbcl.lisp

If Feature

:sbcl

Source

sb-cga.asd.

Parent Component

ports (module).

Public Interface

cbrt (function).

Internals

4.1.6 sb-cga/ports/ccl.lisp

If Feature

:ccl

Source

sb-cga.asd.

Parent Component

ports (module).


4.1.7 sb-cga/ports/abcl.lisp

If Feature

:abcl

Source

sb-cga.asd.

Parent Component

ports (module).


4.1.8 sb-cga/ports/acl.lisp

If Feature

:allegro

Source

sb-cga.asd.

Parent Component

ports (module).


4.1.9 sb-cga/ports/ecl.lisp

If Feature

:ecl

Source

sb-cga.asd.

Parent Component

ports (module).


4.1.10 sb-cga/ports/ansi.lisp

If Feature

(:not (:or :sbcl :ccl :abcl :allegro :ecl))

Source

sb-cga.asd.

Parent Component

ports (module).


4.1.11 sb-cga/vm.lisp

Dependency

ports (module).

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Public Interface
Internals

4.1.12 sb-cga/vec.lisp

Dependency

vm.lisp (file).

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Public Interface
Internals

4.1.13 sb-cga/matrix.lisp

Dependency

vec.lisp (file).

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Public Interface
Internals

4.1.14 sb-cga/roots.lisp

Dependency

matrix.lisp (file).

Source

sb-cga.asd.

Parent Component

sb-cga (system).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 sb-cga

Computer graphics algebra package for SBCL.

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Constants

Constant: +default-epsilon+

Used as a liminal value to work around floating point inaccuracy.

Package

sb-cga.

Source

types.lisp.

Constant: +identity-matrix+

Constant identity matrix.

Package

sb-cga.

Source

matrix.lisp.


6.1.2 Compiler macros

Compiler Macro: adjust-vec (point direction distance)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: copy-vec (vec)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: hadamard-product (a b)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: normalize (a)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: transform-direction (vec matrix)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: transform-point (vec matrix)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: vec* (a f)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: vec+ (a b)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: vec- (a b)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: vec-lerp (a b f)
Package

sb-cga.

Source

vec.lisp.

Compiler Macro: vec/ (a f)
Package

sb-cga.

Source

vec.lisp.


6.1.3 Ordinary functions

Function: %adjust-vec (result point direction distance)

Multiply VEC DIRECTION by single-float DISTANCE adding the result to VEC POINT. Store result in RESULT, and return it.

Package

sb-cga.

Source

vm.lisp.

Function: %copy-vec (result vec)

Copy contents of VEC into RESULT, return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %cross-product (result a b)
Package

sb-cga.

Source

vec.lisp.

Function: %hadamard-product (result a b)

Compute hadamard product (elementwise product) of VEC A and VEC B, store result in VEC RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %normalize (result a)

Normalize VEC A, store result into VEC RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %transform-direction (result vec matrix)

Apply transformation MATRIX to VEC, store result in RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %transform-point (result vec matrix)

Apply transformation MATRIX to VEC, store result in RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %vec* (result a f)

Multiply VEC A with single-float F, store result in VEC RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %vec+ (result a b)

Add VEC A and B, store result in VEC RESULT. Return RESULT. Unsafe

Package

sb-cga.

Source

vm.lisp.

Function: %vec- (result a b)

Substract VEC B from VEC A, store result in VEC RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %vec-lerp (result a b f)

Linear interpolate VEC A and VEC B using single-float F as the interpolation factor, store result in VEC RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: %vec-max (result a b)

Elementwise maximum of VEC A and VEC B, store result in VEC RESULT.

Package

sb-cga.

Source

vec.lisp.

Function: %vec-min (result a b)

Elementwise minimum of VEC A and VEC B, store result in VEC RESULT.

Package

sb-cga.

Source

vec.lisp.

Function: %vec/ (result a f)

Divide VEC A by single-float F, store result in VEC RESULT. Return RESULT. Unsafe.

Package

sb-cga.

Source

vm.lisp.

Function: adjust-vec (point direction distance)

Multiply VEC DIRECTION by single-float DISTANCE adding the result to VEC POINT. Return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: alloc-vec ()

Allocate a zero-initialized VEC.

Package

sb-cga.

Source

vec.lisp.

Function: cbrt (float)

Cube root of FLOAT.

Package

sb-cga.

Source

sbcl.lisp.

Function: copy-vec (vec)

Allocate a fresh copy of VEC.

Package

sb-cga.

Source

vec.lisp.

Function: cross-product (a b)

Cross product of 3D vector A and 3D vector B, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: cubic-roots (a b c d)

Real-valued roots for Ax^2+Bx+C. Smallest real root is returned as primary value, and the others as the successive values. NaN indicates lack of a real-valued root.

Package

sb-cga.

Source

roots.lisp.

Function: cubic-roots-above (limit a b c d)

Real-valued roots greater than LIMIT for Ax^3+Bx^2+Cx+D. Smallest positive root is returned as primary value, and others in increasing order. LIMIT indicates lack of a real-valued root above LIMIT.

Package

sb-cga.

Source

roots.lisp.

Function: dot-product (a b)

Compute dot product VEC A and VEC B.

Package

sb-cga.

Source

vec.lisp.

Function: hadamard-product (a b)

Compute hadamard product (elementwise product) of VEC A and VEC B, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: identity-matrix ()

Construct an identity matrix.

Package

sb-cga.

Source

matrix.lisp.

Function: inverse-matrix (matrix)

Inverse of MATRIX. Signals an error if there is no inverse.

Package

sb-cga.

Source

matrix.lisp.

Function: matrix (m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 m34 m41 m42 m43 m44)

Construct MATRIX with the given elements (arguments are provided in row major order.)

Package

sb-cga.

Source

matrix.lisp.

Function: matrix* (&rest matrices)

Multiply MATRICES. The result might not be freshly allocated if all, or all but one multiplicant is an identity matrix.

Package

sb-cga.

Source

matrix.lisp.

Function: matrix-determinant (matrix)

Determinant of MATRIX.

Package

sb-cga.

Source

matrix.lisp.

Function: matrix= (m1 m2)

Return true if MATRIX M1 is elementwise equal to MATRIX M1.

Package

sb-cga.

Source

matrix.lisp.

Function: matrixp (object)

Return true of OBJECT is a matrix.

Package

sb-cga.

Source

matrix.lisp.

Function: matrix~ (m1 m2 &optional epsilon)

Return true if MATRIX M1 and MATRIX M2 are elementwise within EPSILON of each other. EPSILON defaults to +DEFAULT-EPSILON+

Package

sb-cga.

Source

matrix.lisp.

Function: mref (matrix row column)

Accessor for value in the specificed ROW and COLUMN in MATRIX.

Package

sb-cga.

Source

matrix.lisp.

Function: (setf mref) (matrix row column)
Package

sb-cga.

Source

matrix.lisp.

Function: normalize (a)

Normalize VEC A, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: quadratic-roots (a b c)

Real-valued roots for Ax^2+Bx+C. Smallest real root is returned as primary value, and the other as the secondary. In case of a double root both the primary and secondary values are the same. NaN indicates lack of a real-valued root.

Package

sb-cga.

Source

roots.lisp.

Function: quadratic-roots-above (limit a b c)

Real-valued roots greater than LIMIT for Ax^2+Bx+C. Smallest positive root is returned as primary value, and the other as secondary. LIMIT indicates lack of a real-valued root above LIMIT.

Package

sb-cga.

Source

roots.lisp.

Function: reorient (v1 v2)

Construct a transformation matrix to reorient V1 with V2.

Package

sb-cga.

Source

matrix.lisp.

Function: rotate (vec)

Construct a rotation matrix using first three elements of VEC as the rotation factors.

Package

sb-cga.

Source

matrix.lisp.

Function: rotate* (x y z)

Construct a rotation matrix from rotation factors X, Y, Z.

Package

sb-cga.

Source

matrix.lisp.

Function: rotate-around (v radians)

Construct a rotation matrix that rotates by RADIANS around VEC V. 4th element of V is ignored.

Package

sb-cga.

Source

matrix.lisp.

Function: scale (vec)

Construct a scaling matrix using first threee elements of VEC as the scaling factors.

Package

sb-cga.

Source

matrix.lisp.

Function: scale* (x y z)

Construct a scaling matrix from scaling factors X, Y, and Z.

Package

sb-cga.

Source

matrix.lisp.

Function: sxhash-vec (vec)
Package

sb-cga.

Source

vec.lisp.

Function: transform-bounds (v1 v2 matrix)

Transform the axis-aligned bounding box specified by its extreme corners V1 and V2 using MATRIX. Return new extreme corners (minimum and maximum coordinates) as freshly allocted VECs, as the primary and secondary value.

Package

sb-cga.

Source

vec.lisp.

Function: transform-direction (vec matrix)

Apply transformation MATRIX to VEC ignoring the translation component, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: transform-point (vec matrix)

Apply transformation MATRIX to VEC, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: translate (vec)

Construct a translation matrix using first three elements of VEC as the translation factors.

Package

sb-cga.

Source

matrix.lisp.

Function: translate* (x y z)

Construct a translation matrix from translation factors X, Y and Z.

Package

sb-cga.

Source

matrix.lisp.

Function: transpose-matrix (matrix)

Transpose of MATRIX.

Package

sb-cga.

Source

matrix.lisp.

Function: vec (x y z)

Allocate a 3d vector [X, Y, Z].

Package

sb-cga.

Source

vec.lisp.

Function: vec* (a f)

Multiply VEC A with single-float F, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec+ (a b)

Add VEC A and VEC B, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec- (a b)

Substract VEC B from VEC A, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec-length (a)

Length of VEC A.

Package

sb-cga.

Source

vec.lisp.

Function: vec-lerp (a b f)

Linear interpolate VEC A and VEC B using single-float F as the interpolation factor, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec-max (vec &rest vecs)

Elementwise maximum of VEC and VECS, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec-min (vec &rest vecs)

Elementwise minimum of VEC and VECS, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec/ (a f)

Divide VEC A by single-float F, return result as a freshly allocated VEC.

Package

sb-cga.

Source

vec.lisp.

Function: vec= (a b)

Return true if VEC A and VEC B are elementwise identical.

Package

sb-cga.

Source

vec.lisp.

Function: vec~ (a b &optional epsilon)

Return true if VEC A and VEC B are elementwise within EPSILON of each other. EPSILON defaults to +DEFAULT-EPSILON+.

Package

sb-cga.

Source

vec.lisp.

Function: zero-matrix ()

Construct a zero matrix.

Package

sb-cga.

Source

matrix.lisp.


6.1.4 Types

Type: matrix ()

4x4 matrix of single floats, represented as a one-dimensional vector stored in column-major order.

Package

sb-cga.

Source

types.lisp.

Type: vec ()

A 3d vector of single floats.

Package

sb-cga.

Source

types.lisp.


6.2 Internals


6.2.1 Constants

Constant: +eqn-eps+
Package

sb-cga.

Source

roots.lisp.

Constant: +pi+

Single-float PI.

Package

sb-cga.

Source

types.lisp.


6.2.2 Special variables

Special Variable: *alloc-funs*
Package

sb-cga.

Source

vm.lisp.

Special Variable: *optimizable-funs*
Package

sb-cga.

Source

vm.lisp.


6.2.3 Macros

Macro: define-alloc-fun (name lambda-list &body body)
Package

sb-cga.

Source

vec.lisp.

Macro: define-opt-fun (name lambda-list doc &key no-compiler-macro)
Package

sb-cga.

Source

vec.lisp.

Macro: define-opt-fun2 (name lambda-list doc)
Package

sb-cga.

Source

vec.lisp.

Macro: define-vm-fun (name lambda-list &body generic-body)
Package

sb-cga.

Source

vm.lisp.

Macro: ea-for-data (vector index)
Package

sb-cga.

Source

sbcl.lisp.

Macro: ea-for-slice (vector &optional index)
Package

sb-cga.

Source

sbcl.lisp.

Macro: fill-xmm (target source &optional index)
Package

sb-cga.

Source

sbcl.lisp.

Macro: load-slice (xmm vector &optional index)
Package

sb-cga.

Source

sbcl.lisp.

Macro: store-slice (xmm vector &optional index)
Package

sb-cga.

Source

sbcl.lisp.


6.2.4 Compiler macros

Compiler Macro: ~ (a b &optional epsilon)
Package

sb-cga.

Source

types.lisp.


6.2.5 Ordinary functions

Function: %%adjust-vec/1 (point direction distance)
Package

sb-cga.

Source

vm.lisp.

Function: %%adjust-vec/2 (point direction distance)
Package

sb-cga.

Source

vm.lisp.

Function: %%copy-vec/1 (vec)
Package

sb-cga.

Source

vec.lisp.

Function: %%hadamard-product/1 (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %%hadamard-product/2 (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %%normalize/1 (a)
Package

sb-cga.

Source

vm.lisp.

Function: %%normalized-vec (result x y z)
Package

sb-cga.

Source

vm.lisp.

Function: %%transform-direction/1 (vec matrix)
Package

sb-cga.

Source

vm.lisp.

Function: %%transform-point/1 (vec matrix)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec*/1 (a f)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec+/1 (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec+/2 (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec-/1 (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec-/2 (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec-lerp/1 (a b f)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec-lerp/2 (a b f)
Package

sb-cga.

Source

vm.lisp.

Function: %%vec//1 (a f)
Package

sb-cga.

Source

vm.lisp.

Function: %cubic-roots/normal (a b c replacement)
Package

sb-cga.

Source

roots.lisp.

Function: %dot-product (a b)
Package

sb-cga.

Source

vm.lisp.

Function: %normalized-cross-product (result a b)
Package

sb-cga.

Source

vec.lisp.

Function: %vec-length (a)
Package

sb-cga.

Source

vm.lisp.

Function: %vec= (a b)
Package

sb-cga.

Source

vm.lisp.

Function: cbrt/double (double)
Package

sb-cga.

Source

sbcl.lisp.

Function: cbrt/single (float)
Package

sb-cga.

Source

sbcl.lisp.

Function: double-float-quiet-nan ()
Package

sb-cga.

Source

sbcl.lisp.

Function: float-nan-p (x)
Package

sb-cga.

Source

sbcl.lisp.

Function: generic-inverse-matrix (matrix)
Package

sb-cga.

Source

matrix.lisp.

Function: is-zero (x)
Package

sb-cga.

Source

roots.lisp.

Function: note-optimizable-fun (name name/1 &optional name/2)
Package

sb-cga.

Source

vm.lisp.

Function: optimize-vec-allocation (form)
Package

sb-cga.

Source

vm.lisp.

Function: pprint-matrix (stream matrix)
Package

sb-cga.

Source

matrix.lisp.

Function: single-float-quiet-nan ()
Package

sb-cga.

Source

sbcl.lisp.

Function: submatrix-determinant (matrix)

Determinant of the upper left 3x3 submatrix of MATRIX.

Package

sb-cga.

Source

matrix.lisp.

Function: ~ (a b &optional epsilon)

Return true if A and B are within EPSILON of each other. EPSILON defaults to +DEFAULT-EPSILON+.

Package

sb-cga.

Source

types.lisp.


6.2.6 Types

Type: sfunction (args &optional result)
Package

sb-cga.

Source

types.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   ~  
A   C   D   E   F   G   H   I   L   M   N   O   P   Q   R   S   T   V   Z  
Index Entry  Section

%
%%adjust-vec/1: Private ordinary functions
%%adjust-vec/2: Private ordinary functions
%%copy-vec/1: Private ordinary functions
%%hadamard-product/1: Private ordinary functions
%%hadamard-product/2: Private ordinary functions
%%normalize/1: Private ordinary functions
%%normalized-vec: Private ordinary functions
%%transform-direction/1: Private ordinary functions
%%transform-point/1: Private ordinary functions
%%vec*/1: Private ordinary functions
%%vec+/1: Private ordinary functions
%%vec+/2: Private ordinary functions
%%vec-/1: Private ordinary functions
%%vec-/2: Private ordinary functions
%%vec-lerp/1: Private ordinary functions
%%vec-lerp/2: Private ordinary functions
%%vec//1: Private ordinary functions
%adjust-vec: Public ordinary functions
%copy-vec: Public ordinary functions
%cross-product: Public ordinary functions
%cubic-roots/normal: Private ordinary functions
%dot-product: Private ordinary functions
%hadamard-product: Public ordinary functions
%normalize: Public ordinary functions
%normalized-cross-product: Private ordinary functions
%transform-direction: Public ordinary functions
%transform-point: Public ordinary functions
%vec*: Public ordinary functions
%vec+: Public ordinary functions
%vec-: Public ordinary functions
%vec-length: Private ordinary functions
%vec-lerp: Public ordinary functions
%vec-max: Public ordinary functions
%vec-min: Public ordinary functions
%vec/: Public ordinary functions
%vec=: Private ordinary functions

(
(setf mref): Public ordinary functions

~
~: Private compiler macros
~: Private ordinary functions

A
adjust-vec: Public compiler macros
adjust-vec: Public ordinary functions
alloc-vec: Public ordinary functions

C
cbrt: Public ordinary functions
cbrt/double: Private ordinary functions
cbrt/single: Private ordinary functions
Compiler Macro, adjust-vec: Public compiler macros
Compiler Macro, copy-vec: Public compiler macros
Compiler Macro, hadamard-product: Public compiler macros
Compiler Macro, normalize: Public compiler macros
Compiler Macro, transform-direction: Public compiler macros
Compiler Macro, transform-point: Public compiler macros
Compiler Macro, vec*: Public compiler macros
Compiler Macro, vec+: Public compiler macros
Compiler Macro, vec-: Public compiler macros
Compiler Macro, vec-lerp: Public compiler macros
Compiler Macro, vec/: Public compiler macros
Compiler Macro, ~: Private compiler macros
copy-vec: Public compiler macros
copy-vec: Public ordinary functions
cross-product: Public ordinary functions
cubic-roots: Public ordinary functions
cubic-roots-above: Public ordinary functions

D
define-alloc-fun: Private macros
define-opt-fun: Private macros
define-opt-fun2: Private macros
define-vm-fun: Private macros
dot-product: Public ordinary functions
double-float-quiet-nan: Private ordinary functions

E
ea-for-data: Private macros
ea-for-slice: Private macros

F
fill-xmm: Private macros
float-nan-p: Private ordinary functions
Function, %%adjust-vec/1: Private ordinary functions
Function, %%adjust-vec/2: Private ordinary functions
Function, %%copy-vec/1: Private ordinary functions
Function, %%hadamard-product/1: Private ordinary functions
Function, %%hadamard-product/2: Private ordinary functions
Function, %%normalize/1: Private ordinary functions
Function, %%normalized-vec: Private ordinary functions
Function, %%transform-direction/1: Private ordinary functions
Function, %%transform-point/1: Private ordinary functions
Function, %%vec*/1: Private ordinary functions
Function, %%vec+/1: Private ordinary functions
Function, %%vec+/2: Private ordinary functions
Function, %%vec-/1: Private ordinary functions
Function, %%vec-/2: Private ordinary functions
Function, %%vec-lerp/1: Private ordinary functions
Function, %%vec-lerp/2: Private ordinary functions
Function, %%vec//1: Private ordinary functions
Function, %adjust-vec: Public ordinary functions
Function, %copy-vec: Public ordinary functions
Function, %cross-product: Public ordinary functions
Function, %cubic-roots/normal: Private ordinary functions
Function, %dot-product: Private ordinary functions
Function, %hadamard-product: Public ordinary functions
Function, %normalize: Public ordinary functions
Function, %normalized-cross-product: Private ordinary functions
Function, %transform-direction: Public ordinary functions
Function, %transform-point: Public ordinary functions
Function, %vec*: Public ordinary functions
Function, %vec+: Public ordinary functions
Function, %vec-: Public ordinary functions
Function, %vec-length: Private ordinary functions
Function, %vec-lerp: Public ordinary functions
Function, %vec-max: Public ordinary functions
Function, %vec-min: Public ordinary functions
Function, %vec/: Public ordinary functions
Function, %vec=: Private ordinary functions
Function, (setf mref): Public ordinary functions
Function, adjust-vec: Public ordinary functions
Function, alloc-vec: Public ordinary functions
Function, cbrt: Public ordinary functions
Function, cbrt/double: Private ordinary functions
Function, cbrt/single: Private ordinary functions
Function, copy-vec: Public ordinary functions
Function, cross-product: Public ordinary functions
Function, cubic-roots: Public ordinary functions
Function, cubic-roots-above: Public ordinary functions
Function, dot-product: Public ordinary functions
Function, double-float-quiet-nan: Private ordinary functions
Function, float-nan-p: Private ordinary functions
Function, generic-inverse-matrix: Private ordinary functions
Function, hadamard-product: Public ordinary functions
Function, identity-matrix: Public ordinary functions
Function, inverse-matrix: Public ordinary functions
Function, is-zero: Private ordinary functions
Function, matrix: Public ordinary functions
Function, matrix*: Public ordinary functions
Function, matrix-determinant: Public ordinary functions
Function, matrix=: Public ordinary functions
Function, matrixp: Public ordinary functions
Function, matrix~: Public ordinary functions
Function, mref: Public ordinary functions
Function, normalize: Public ordinary functions
Function, note-optimizable-fun: Private ordinary functions
Function, optimize-vec-allocation: Private ordinary functions
Function, pprint-matrix: Private ordinary functions
Function, quadratic-roots: Public ordinary functions
Function, quadratic-roots-above: Public ordinary functions
Function, reorient: Public ordinary functions
Function, rotate: Public ordinary functions
Function, rotate*: Public ordinary functions
Function, rotate-around: Public ordinary functions
Function, scale: Public ordinary functions
Function, scale*: Public ordinary functions
Function, single-float-quiet-nan: Private ordinary functions
Function, submatrix-determinant: Private ordinary functions
Function, sxhash-vec: Public ordinary functions
Function, transform-bounds: Public ordinary functions
Function, transform-direction: Public ordinary functions
Function, transform-point: Public ordinary functions
Function, translate: Public ordinary functions
Function, translate*: Public ordinary functions
Function, transpose-matrix: Public ordinary functions
Function, vec: Public ordinary functions
Function, vec*: Public ordinary functions
Function, vec+: Public ordinary functions
Function, vec-: Public ordinary functions
Function, vec-length: Public ordinary functions
Function, vec-lerp: Public ordinary functions
Function, vec-max: Public ordinary functions
Function, vec-min: Public ordinary functions
Function, vec/: Public ordinary functions
Function, vec=: Public ordinary functions
Function, vec~: Public ordinary functions
Function, zero-matrix: Public ordinary functions
Function, ~: Private ordinary functions

G
generic-inverse-matrix: Private ordinary functions

H
hadamard-product: Public compiler macros
hadamard-product: Public ordinary functions

I
identity-matrix: Public ordinary functions
inverse-matrix: Public ordinary functions
is-zero: Private ordinary functions

L
load-slice: Private macros

M
Macro, define-alloc-fun: Private macros
Macro, define-opt-fun: Private macros
Macro, define-opt-fun2: Private macros
Macro, define-vm-fun: Private macros
Macro, ea-for-data: Private macros
Macro, ea-for-slice: Private macros
Macro, fill-xmm: Private macros
Macro, load-slice: Private macros
Macro, store-slice: Private macros
matrix: Public ordinary functions
matrix*: Public ordinary functions
matrix-determinant: Public ordinary functions
matrix=: Public ordinary functions
matrixp: Public ordinary functions
matrix~: Public ordinary functions
mref: Public ordinary functions

N
normalize: Public compiler macros
normalize: Public ordinary functions
note-optimizable-fun: Private ordinary functions

O
optimize-vec-allocation: Private ordinary functions

P
pprint-matrix: Private ordinary functions

Q
quadratic-roots: Public ordinary functions
quadratic-roots-above: Public ordinary functions

R
reorient: Public ordinary functions
rotate: Public ordinary functions
rotate*: Public ordinary functions
rotate-around: Public ordinary functions

S
scale: Public ordinary functions
scale*: Public ordinary functions
single-float-quiet-nan: Private ordinary functions
store-slice: Private macros
submatrix-determinant: Private ordinary functions
sxhash-vec: Public ordinary functions

T
transform-bounds: Public ordinary functions
transform-direction: Public compiler macros
transform-direction: Public ordinary functions
transform-point: Public compiler macros
transform-point: Public ordinary functions
translate: Public ordinary functions
translate*: Public ordinary functions
transpose-matrix: Public ordinary functions

V
vec: Public ordinary functions
vec*: Public compiler macros
vec*: Public ordinary functions
vec+: Public compiler macros
vec+: Public ordinary functions
vec-: Public compiler macros
vec-: Public ordinary functions
vec-length: Public ordinary functions
vec-lerp: Public compiler macros
vec-lerp: Public ordinary functions
vec-max: Public ordinary functions
vec-min: Public ordinary functions
vec/: Public compiler macros
vec/: Public ordinary functions
vec=: Public ordinary functions
vec~: Public ordinary functions

Z
zero-matrix: Public ordinary functions


A.4 Data types

Jump to:   A   C   E   F   M   P   R   S   T   V  
Index Entry  Section

A
abcl.lisp: The sb-cga/ports/abcl․lisp file
acl.lisp: The sb-cga/ports/acl․lisp file
ansi.lisp: The sb-cga/ports/ansi․lisp file

C
ccl.lisp: The sb-cga/ports/ccl․lisp file

E
ecl.lisp: The sb-cga/ports/ecl․lisp file

F
File, abcl.lisp: The sb-cga/ports/abcl․lisp file
File, acl.lisp: The sb-cga/ports/acl․lisp file
File, ansi.lisp: The sb-cga/ports/ansi․lisp file
File, ccl.lisp: The sb-cga/ports/ccl․lisp file
File, ecl.lisp: The sb-cga/ports/ecl․lisp file
File, fndb.lisp: The sb-cga/fndb․lisp file
File, matrix.lisp: The sb-cga/matrix․lisp file
File, package.lisp: The sb-cga/package․lisp file
File, roots.lisp: The sb-cga/roots․lisp file
File, sb-cga.asd: The sb-cga/sb-cga․asd file
File, sbcl.lisp: The sb-cga/ports/sbcl․lisp file
File, types.lisp: The sb-cga/types․lisp file
File, vec.lisp: The sb-cga/vec․lisp file
File, vm.lisp: The sb-cga/vm․lisp file
fndb.lisp: The sb-cga/fndb․lisp file

M
matrix: Public types
matrix.lisp: The sb-cga/matrix․lisp file
Module, ports: The sb-cga/ports module

P
Package, sb-cga: The sb-cga package
package.lisp: The sb-cga/package․lisp file
ports: The sb-cga/ports module

R
roots.lisp: The sb-cga/roots․lisp file

S
sb-cga: The sb-cga system
sb-cga: The sb-cga package
sb-cga.asd: The sb-cga/sb-cga․asd file
sbcl.lisp: The sb-cga/ports/sbcl․lisp file
sfunction: Private types
System, sb-cga: The sb-cga system

T
Type, matrix: Public types
Type, sfunction: Private types
Type, vec: Public types
types.lisp: The sb-cga/types․lisp file

V
vec: Public types
vec.lisp: The sb-cga/vec․lisp file
vm.lisp: The sb-cga/vm․lisp file