This is the sb-cga Reference Manual, version 1.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:39:01 2024 GMT+0.
sb-cga/sb-cga.asd
sb-cga/package.lisp
sb-cga/types.lisp
sb-cga/fndb.lisp
sb-cga/ports/sbcl.lisp
sb-cga/ports/ccl.lisp
sb-cga/ports/abcl.lisp
sb-cga/ports/acl.lisp
sb-cga/ports/ecl.lisp
sb-cga/ports/ansi.lisp
sb-cga/vm.lisp
sb-cga/vec.lisp
sb-cga/matrix.lisp
sb-cga/roots.lisp
The main system appears first, followed by any subsystem dependency.
sb-cga
Computer graphic algebra for SBCL.
Nikodemus Siivola <nikdoemus@random-state.net>
MIT
1.0.1
alexandria
(system).
package.lisp
(file).
types.lisp
(file).
fndb.lisp
(file).
ports
(module).
vm.lisp
(file).
vec.lisp
(file).
matrix.lisp
(file).
roots.lisp
(file).
Modules are listed depth-first from the system components tree.
Files are sorted by type and then listed depth-first from the systems components trees.
sb-cga/sb-cga.asd
sb-cga/package.lisp
sb-cga/types.lisp
sb-cga/fndb.lisp
sb-cga/ports/sbcl.lisp
sb-cga/ports/ccl.lisp
sb-cga/ports/abcl.lisp
sb-cga/ports/acl.lisp
sb-cga/ports/ecl.lisp
sb-cga/ports/ansi.lisp
sb-cga/vm.lisp
sb-cga/vec.lisp
sb-cga/matrix.lisp
sb-cga/roots.lisp
sb-cga/types.lisp
package.lisp
(file).
sb-cga
(system).
+default-epsilon+
(constant).
matrix
(type).
vec
(type).
sb-cga/ports/sbcl.lisp
:sbcl
ports
(module).
cbrt
(function).
cbrt/double
(function).
cbrt/single
(function).
double-float-quiet-nan
(function).
ea-for-data
(macro).
ea-for-slice
(macro).
fill-xmm
(macro).
float-nan-p
(function).
load-slice
(macro).
single-float-quiet-nan
(function).
store-slice
(macro).
sb-cga/ports/ansi.lisp
(:not (:or :sbcl :ccl :abcl :allegro :ecl))
ports
(module).
sb-cga/vm.lisp
ports
(module).
sb-cga
(system).
%adjust-vec
(function).
%copy-vec
(function).
%hadamard-product
(function).
%normalize
(function).
%transform-direction
(function).
%transform-point
(function).
%vec*
(function).
%vec+
(function).
%vec-
(function).
%vec-lerp
(function).
%vec/
(function).
%%adjust-vec/1
(function).
%%adjust-vec/2
(function).
%%hadamard-product/1
(function).
%%hadamard-product/2
(function).
%%normalize/1
(function).
%%normalized-vec
(function).
%%transform-direction/1
(function).
%%transform-point/1
(function).
%%vec*/1
(function).
%%vec+/1
(function).
%%vec+/2
(function).
%%vec-/1
(function).
%%vec-/2
(function).
%%vec-lerp/1
(function).
%%vec-lerp/2
(function).
%%vec//1
(function).
%dot-product
(function).
%vec-length
(function).
%vec=
(function).
*alloc-funs*
(special variable).
*optimizable-funs*
(special variable).
define-vm-fun
(macro).
note-optimizable-fun
(function).
optimize-vec-allocation
(function).
sb-cga/vec.lisp
vm.lisp
(file).
sb-cga
(system).
%cross-product
(function).
%vec-max
(function).
%vec-min
(function).
adjust-vec
(compiler macro).
adjust-vec
(function).
alloc-vec
(function).
copy-vec
(compiler macro).
copy-vec
(function).
cross-product
(function).
dot-product
(function).
hadamard-product
(compiler macro).
hadamard-product
(function).
normalize
(compiler macro).
normalize
(function).
sxhash-vec
(function).
transform-bounds
(function).
transform-direction
(compiler macro).
transform-direction
(function).
transform-point
(compiler macro).
transform-point
(function).
vec
(function).
vec*
(compiler macro).
vec*
(function).
vec+
(compiler macro).
vec+
(function).
vec-
(compiler macro).
vec-
(function).
vec-length
(function).
vec-lerp
(compiler macro).
vec-lerp
(function).
vec-max
(function).
vec-min
(function).
vec/
(compiler macro).
vec/
(function).
vec=
(function).
vec~
(function).
%%copy-vec/1
(function).
%normalized-cross-product
(function).
define-alloc-fun
(macro).
define-opt-fun
(macro).
define-opt-fun2
(macro).
sb-cga/matrix.lisp
vec.lisp
(file).
sb-cga
(system).
+identity-matrix+
(constant).
identity-matrix
(function).
inverse-matrix
(function).
matrix
(function).
matrix*
(function).
matrix-determinant
(function).
matrix=
(function).
matrixp
(function).
matrix~
(function).
mref
(function).
(setf mref)
(function).
reorient
(function).
rotate
(function).
rotate*
(function).
rotate-around
(function).
scale
(function).
scale*
(function).
translate
(function).
translate*
(function).
transpose-matrix
(function).
zero-matrix
(function).
generic-inverse-matrix
(function).
pprint-matrix
(function).
submatrix-determinant
(function).
sb-cga/roots.lisp
matrix.lisp
(file).
sb-cga
(system).
cubic-roots
(function).
cubic-roots-above
(function).
quadratic-roots
(function).
quadratic-roots-above
(function).
%cubic-roots/normal
(function).
+eqn-eps+
(constant).
is-zero
(function).
Packages are listed by definition order.
sb-cga
Computer graphics algebra package for SBCL.
common-lisp
.
%adjust-vec
(function).
%copy-vec
(function).
%cross-product
(function).
%hadamard-product
(function).
%normalize
(function).
%transform-direction
(function).
%transform-point
(function).
%vec*
(function).
%vec+
(function).
%vec-
(function).
%vec-lerp
(function).
%vec-max
(function).
%vec-min
(function).
%vec/
(function).
+default-epsilon+
(constant).
+identity-matrix+
(constant).
adjust-vec
(compiler macro).
adjust-vec
(function).
alloc-vec
(function).
cbrt
(function).
copy-vec
(compiler macro).
copy-vec
(function).
cross-product
(function).
cubic-roots
(function).
cubic-roots-above
(function).
dot-product
(function).
hadamard-product
(compiler macro).
hadamard-product
(function).
identity-matrix
(function).
inverse-matrix
(function).
matrix
(function).
matrix
(type).
matrix*
(function).
matrix-determinant
(function).
matrix=
(function).
matrixp
(function).
matrix~
(function).
mref
(function).
(setf mref)
(function).
normalize
(compiler macro).
normalize
(function).
quadratic-roots
(function).
quadratic-roots-above
(function).
reorient
(function).
rotate
(function).
rotate*
(function).
rotate-around
(function).
scale
(function).
scale*
(function).
sxhash-vec
(function).
transform-bounds
(function).
transform-direction
(compiler macro).
transform-direction
(function).
transform-point
(compiler macro).
transform-point
(function).
translate
(function).
translate*
(function).
transpose-matrix
(function).
vec
(function).
vec
(type).
vec*
(compiler macro).
vec*
(function).
vec+
(compiler macro).
vec+
(function).
vec-
(compiler macro).
vec-
(function).
vec-length
(function).
vec-lerp
(compiler macro).
vec-lerp
(function).
vec-max
(function).
vec-min
(function).
vec/
(compiler macro).
vec/
(function).
vec=
(function).
vec~
(function).
zero-matrix
(function).
%%adjust-vec/1
(function).
%%adjust-vec/2
(function).
%%copy-vec/1
(function).
%%hadamard-product/1
(function).
%%hadamard-product/2
(function).
%%normalize/1
(function).
%%normalized-vec
(function).
%%transform-direction/1
(function).
%%transform-point/1
(function).
%%vec*/1
(function).
%%vec+/1
(function).
%%vec+/2
(function).
%%vec-/1
(function).
%%vec-/2
(function).
%%vec-lerp/1
(function).
%%vec-lerp/2
(function).
%%vec//1
(function).
%cubic-roots/normal
(function).
%dot-product
(function).
%normalized-cross-product
(function).
%vec-length
(function).
%vec=
(function).
*alloc-funs*
(special variable).
*optimizable-funs*
(special variable).
+eqn-eps+
(constant).
+pi+
(constant).
cbrt/double
(function).
cbrt/single
(function).
define-alloc-fun
(macro).
define-opt-fun
(macro).
define-opt-fun2
(macro).
define-vm-fun
(macro).
double-float-quiet-nan
(function).
ea-for-data
(macro).
ea-for-slice
(macro).
fill-xmm
(macro).
float-nan-p
(function).
generic-inverse-matrix
(function).
is-zero
(function).
load-slice
(macro).
note-optimizable-fun
(function).
optimize-vec-allocation
(function).
pprint-matrix
(function).
sfunction
(type).
single-float-quiet-nan
(function).
store-slice
(macro).
submatrix-determinant
(function).
~
(compiler macro).
~
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Used as a liminal value to work around floating point inaccuracy.
Constant identity matrix.
Multiply VEC DIRECTION by single-float DISTANCE adding the result to VEC POINT. Store result in RESULT, and return it.
Copy contents of VEC into RESULT, return RESULT. Unsafe.
Compute hadamard product (elementwise product) of VEC A and VEC B, store result in VEC RESULT. Return RESULT. Unsafe.
Normalize VEC A, store result into VEC RESULT. Return RESULT. Unsafe.
Apply transformation MATRIX to VEC, store result in RESULT. Return RESULT. Unsafe.
Apply transformation MATRIX to VEC, store result in RESULT. Return RESULT. Unsafe.
Multiply VEC A with single-float F, store result in VEC RESULT. Return RESULT. Unsafe.
Add VEC A and B, store result in VEC RESULT. Return RESULT. Unsafe
Substract VEC B from VEC A, store result in VEC RESULT. Return RESULT. Unsafe.
Linear interpolate VEC A and VEC B using single-float F as the interpolation factor, store result in VEC RESULT. Return RESULT. Unsafe.
Elementwise maximum of VEC A and VEC B, store result in VEC RESULT.
Elementwise minimum of VEC A and VEC B, store result in VEC RESULT.
Divide VEC A by single-float F, store result in VEC RESULT. Return RESULT. Unsafe.
Multiply VEC DIRECTION by single-float DISTANCE adding the result to VEC POINT. Return result as a freshly allocated VEC.
Cross product of 3D vector A and 3D vector B, return result as a freshly allocated VEC.
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.
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.
Compute hadamard product (elementwise product) of VEC A and VEC B, return result as a freshly allocated VEC.
Construct an identity matrix.
Inverse of MATRIX. Signals an error if there is no inverse.
Construct MATRIX with the given elements (arguments are provided in row major order.)
Multiply MATRICES. The result might not be freshly allocated if all, or all but one multiplicant is an identity matrix.
Determinant of MATRIX.
Return true if MATRIX M1 is elementwise equal to MATRIX M1.
Return true of OBJECT is a matrix.
Return true if MATRIX M1 and MATRIX M2 are elementwise within EPSILON of each other. EPSILON defaults to +DEFAULT-EPSILON+
Accessor for value in the specificed ROW and COLUMN in MATRIX.
Normalize VEC A, return result as a freshly allocated VEC.
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.
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.
Construct a transformation matrix to reorient V1 with V2.
Construct a rotation matrix using first three elements of VEC as the rotation factors.
Construct a rotation matrix from rotation factors X, Y, Z.
Construct a rotation matrix that rotates by RADIANS around VEC V. 4th element of V is ignored.
Construct a scaling matrix using first threee elements of VEC as the scaling factors.
Construct a scaling matrix from scaling factors X, Y, and Z.
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.
Apply transformation MATRIX to VEC ignoring the translation component, return result as a freshly allocated VEC.
Apply transformation MATRIX to VEC, return result as a freshly allocated VEC.
Construct a translation matrix using first three elements of VEC as the translation factors.
Construct a translation matrix from translation factors X, Y and Z.
Transpose of MATRIX.
Multiply VEC A with single-float F, return result as a freshly allocated VEC.
Add VEC A and VEC B, return result as a freshly allocated VEC.
Substract VEC B from VEC A, return result as a freshly allocated VEC.
Linear interpolate VEC A and VEC B using single-float F as the interpolation factor, return result as a freshly allocated VEC.
Elementwise maximum of VEC and VECS, return result as a freshly allocated VEC.
Elementwise minimum of VEC and VECS, return result as a freshly allocated VEC.
Divide VEC A by single-float F, return result as a freshly allocated VEC.
Return true if VEC A and VEC B are elementwise identical.
Return true if VEC A and VEC B are elementwise within EPSILON of each other. EPSILON defaults to +DEFAULT-EPSILON+.
Construct a zero matrix.
Single-float PI.
Determinant of the upper left 3x3 submatrix of MATRIX.
Return true if A and B are within EPSILON of each other. EPSILON defaults to +DEFAULT-EPSILON+.
Jump to: | %
(
~
A C D E F G H I L M N O P Q R S T V Z |
---|
Jump to: | %
(
~
A C D E F G H I L M N O P Q R S T V Z |
---|
Jump to: | *
+
C S |
---|
Jump to: | *
+
C S |
---|
Jump to: | A C E F M P R S T V |
---|
Jump to: | A C E F M P R S T V |
---|