From 1cbf1186944dc08700219a9871e761271f33ee92 Mon Sep 17 00:00:00 2001 From: tony Date: Fri, 16 May 2008 07:45:37 +0200 Subject: [PATCH] clean up externals --- external/cl-grnm/COPYING.txt | 20 - external/cl-grnm/README.txt | 188 -- external/cl-grnm/Source | 2 - external/cl-grnm/defpackage.lisp | 5 - external/cl-grnm/la.lisp | 95 - external/cl-grnm/neldermead.asd | 11 - external/cl-grnm/neldermead.lisp | 707 ------ external/clem/COPYRIGHT | 28 - external/clem/ChangeLog | 1141 --------- external/clem/NEWS | 26 - external/clem/README | 130 - external/clem/benchmark/bench-add.lisp | 83 - external/clem/benchmark/bench-hprod.lisp | 43 - external/clem/benchmark/bench-mult.lisp | 83 - external/clem/benchmark/bench-scale.lisp | 78 - external/clem/benchmark/bench-subtr.lisp | 43 - external/clem/benchmark/benchmarks.lisp | 42 - external/clem/benchmark/defpackage.lisp | 8 - external/clem/bootstrap.lisp | 18 - external/clem/ch-util-test.asd | 1 - external/clem/ch-util.asd | 1 - external/clem/clem-benchmark.asd | 22 - external/clem/clem-doc.asd | 67 - external/clem/clem-test.asd | 46 - external/clem/clem.asd | 86 - external/clem/doc/clem-performance.pdf | Bin 86834 -> 0 bytes external/clem/doc/clem-performance.sexp | 280 --- external/clem/doc/clem-performance.tex | 320 --- external/clem/doc/clem-performance.xhtml | 238 -- external/clem/doc/clem.pdf | Bin 94784 -> 0 bytes external/clem/doc/clem.sexp | 201 -- external/clem/doc/clem.tex | 243 -- external/clem/doc/clem.xhtml | 148 -- external/clem/doc/simple.css | 91 - ...lass-affine--transformation--7--parameters.html | 1 - .../clem-package/class-affine--transformation.html | 3 - .../doc/tinaa/clem-package/class-base--vector.html | 3 - .../doc/tinaa/clem-package/class-bit--matrix.html | 3 - .../doc/tinaa/clem-package/class-bit--scalar.html | 3 - .../doc/tinaa/clem-package/class-col--vector.html | 3 - .../tinaa/clem-package/class-complex--matrix.html | 3 - .../clem-package/class-double--float--matrix.html | 3 - .../tinaa/clem-package/class-fixnum--matrix.html | 3 - .../tinaa/clem-package/class-float--matrix.html | 3 - .../tinaa/clem-package/class-integer--matrix.html | 3 - .../clem/doc/tinaa/clem-package/class-matrix.html | 3 - .../tinaa/clem-package/class-number--matrix.html | 3 - .../doc/tinaa/clem-package/class-real--matrix.html | 3 - .../doc/tinaa/clem-package/class-row--vector.html | 3 - .../doc/tinaa/clem-package/class-sb16--matrix.html | 3 - .../doc/tinaa/clem-package/class-sb32--matrix.html | 3 - .../doc/tinaa/clem-package/class-sb8--matrix.html | 3 - .../doc/tinaa/clem-package/class-sb8--scalar.html | 3 - .../clem/doc/tinaa/clem-package/class-scalar.html | 3 - .../clem-package/class-single--float--matrix.html | 3 - .../class-standard--matrix--class.html | 1 - .../doc/tinaa/clem-package/class-t--matrix.html | 3 - .../tinaa/clem-package/class-typed--matrix.html | 3 - .../doc/tinaa/clem-package/class-typed--mixin.html | 1 - .../doc/tinaa/clem-package/class-ub16--matrix.html | 3 - .../doc/tinaa/clem-package/class-ub32--matrix.html | 3 - .../doc/tinaa/clem-package/class-ub8--matrix.html | 3 - .../doc/tinaa/clem-package/class-ub8--scalar.html | 3 - .../clem-package/class-unsigned--byte--matrix.html | 3 - .../condition-matrix--argument--error.html | 1 - .../clem-package/condition-matrix--condition.html | 1 - .../clem-package/condition-matrix--error.html | 1 - .../tinaa/clem-package/function-%%sum--range.html | 1 - .../clem-package/function-add--root--class.html | 1 - .../function-bench-badd--matrix-baref.html | 1 - .../function-bilinear--interpolate.html | 1 - .../clem-package/function-bit--matrix--mref.html | 1 - .../doc/tinaa/clem-package/function-bitnor.html | 1 - .../function-complex--matrix--mref.html | 1 - .../clem-package/function-compute--bounds.html | 1 - .../doc/tinaa/clem-package/function-constrain.html | 1 - ...opy--affine--transformation--7--parameters.html | 1 - .../function-copy--to--matrix--type.html | 2 - .../tinaa/clem-package/function-count--range.html | 1 - .../function-decf--transformation--parameters.html | 1 - .../clem-package/function-def--binary--op!.html | 1 - .../clem-package/function-def--binary--op.html | 1 - .../clem-package/function-def--matrix--abs!.html | 1 - .../clem-package/function-def--matrix--abs.html | 1 - .../clem-package/function-def--matrix--add!.html | 1 - .../function-def--matrix--add--number!.html | 1 - .../function-def--matrix--add--number.html | 1 - .../function-def--matrix--add--scalar!.html | 1 - .../function-def--matrix--add--scalar.html | 1 - .../clem-package/function-def--matrix--add.html | 1 - .../function-def--matrix--convolve.html | 1 - .../clem-package/function-def--matrix--hprod!.html | 1 - .../clem-package/function-def--matrix--hprod.html | 1 - .../clem-package/function-def--matrix--log!.html | 1 - .../clem-package/function-def--matrix--log.html | 1 - .../function-def--matrix--min--max.html | 1 - .../clem-package/function-def--matrix--move.html | 1 - .../clem-package/function-def--matrix--mref.html | 1 - .../function-def--matrix--mult--block.html | 1 - .../clem-package/function-def--matrix--mult.html | 1 - .../clem-package/function-def--matrix--scale!.html | 1 - .../function-def--matrix--scale--fit!.html | 1 - .../function-def--matrix--scale--fit.html | 1 - .../clem-package/function-def--matrix--scale.html | 1 - .../clem-package/function-def--matrix--square.html | 1 - .../function-def--matrix--subset--matrix.html | 1 - .../clem-package/function-def--matrix--subtr!.html | 1 - .../clem-package/function-def--matrix--subtr.html | 1 - .../function-def--matrix--transform.html | 1 - .../clem-package/function-def--move--element.html | 1 - .../clem-package/function-def--unary--op!.html | 1 - .../clem-package/function-def--unary--op.html | 1 - .../clem-package/function-defmatrixclass.html | 1 - .../clem-package/function-defmatrixfuncs.html | 1 - .../clem-package/function-delistify--dsd.html | 1 - .../doc/tinaa/clem-package/function-delistify.html | 1 - .../function-displace--to--1d--array.html | 1 - .../function-double--float--divide.html | 1 - .../function-double--float--matrix--mref.html | 1 - .../function-fill--slot--from--ancestor.html | 1 - ...dard--matrix--class--slots--from--ancestors.htm | 1 - .../function-fixnum--matrix--mref.html | 1 - .../doc/tinaa/clem-package/function-fixnum1+.html | 1 - .../clem-package/function-gaussian--blur.html | 4 - .../function-gaussian--kernel--1d.html | 1 - .../clem-package/function-gaussian--kernel.html | 1 - ...e--transformation--7--parameters--properties.ht | 1 - .../function-get--matrix--name--for--type.html | 1 - .../function-get--matrix--type--for--type.html | 1 - .../doc/tinaa/clem-package/function-graddir.html | 2 - .../doc/tinaa/clem-package/function-gradmag.html | 2 - .../doc/tinaa/clem-package/function-inferior.html | 1 - .../clem-package/function-insert--before.html | 1 - .../function-integer--matrix--mref.html | 1 - .../tinaa/clem-package/function-laplacian--2.html | 3 - .../doc/tinaa/clem-package/function-laplacian.html | 3 - .../doc/tinaa/clem-package/function-list--if.html | 1 - ...ne--transformation--matrix--from--7--parameters | 1 - .../function-make--affine--transformation.html | 8 - .../clem-package/function-mat--add!--inline.html | 1 - .../clem-package/function-mat--add--inline.html | 1 - .../tinaa/clem-package/function-matrix--means.html | 1 - .../clem-package/function-matrix--medians.html | 1 - .../tinaa/clem-package/function-maybe--coerce.html | 1 - .../clem-package/function-maybe--truncate.html | 1 - .../tinaa/clem-package/function-mloop--range.html | 1 - .../doc/tinaa/clem-package/function-mloop.html | 1 - ...ove--affine--transformation--7--parameters.html | 1 - .../clem-package/function-parse--mloop--vars.html | 1 - .../clem-package/function-print--matrix--line.html | 1 - .../function-quadratic--interpolate.html | 1 - .../clem-package/function-quadratic--kernel.html | 1 - .../clem-package/function-real--matrix--mref.html | 1 - .../function-remove--keyword--arg.html | 1 - .../clem-package/function-resize--matrix.html | 2 - .../function-sample--variance--window.html | 3 - .../clem-package/function-sb16--matrix--mref.html | 1 - .../clem-package/function-sb32--matrix--mref.html | 1 - .../clem-package/function-sb8--matrix--mref.html | 1 - .../doc/tinaa/clem-package/function-scalar.html | 2 - .../function-separable--morphological--op.html | 1 - .../function-single--float--matrix--mref.html | 1 - .../clem-package/function-standard--deviation.html | 1 - .../function-standard--matrix--class--p.html | 1 - ...-standard--matrix--class--precedence--list.html | 1 - .../function-standard--matrix--class--slots.html | 1 - .../doc/tinaa/clem-package/function-subclassp.html | 1 - .../doc/tinaa/clem-package/function-superior.html | 1 - .../clem-package/function-transform--coord.html | 1 - .../function-transformation--parameter.html | 1 - .../clem-package/function-ub16--matrix--mref.html | 1 - .../clem-package/function-ub32--matrix--mref.html | 1 - .../clem-package/function-ub8--matrix--mref.html | 1 - .../clem-package/function-variance--window.html | 2 - .../clem-package/function-with--map--range.html | 1 - .../function-with--matrix--range--do.html | 1 - .../clem-package/function-with--matrix--vals.html | 1 - .../function-with--typed--matrix--vals.html | 1 - .../function-with--untyped--matrix--vals.html | 1 - .../tinaa/clem-package/function-x--derivative.html | 3 - .../tinaa/clem-package/function-y--derivative.html | 3 - .../generic-efunction-%discrete--convolve.html | 2 - ...neric-efunction-%get--subtr--matrix--class.html | 1 - .../generic-efunction-%mat--mult--block.html | 1 - ...generic-efunction-%mat--mult--with--blocks.html | 1 - ...c-efunction-%separable--discrete--convolve.html | 5 - .../generic-efunction-%transform--matrix.html | 3 - .../generic-efunction-accumulator--type.html | 1 - .../clem-package/generic-efunction-add--col.html | 1 - .../clem-package/generic-efunction-add--row.html | 1 - .../generic-efunction-affine--transform.html | 7 - .../generic-efunction-allocate--matrix--vals.html | 1 - .../generic-efunction-array---gbit--matrix.html | 1 - .../generic-efunction-array---gcol--vector.html | 1 - ...generic-efunction-array---gcomplex--matrix.html | 1 - ...c-efunction-array---gdouble--float--matrix.html | 1 - .../generic-efunction-array---gfixnum--matrix.html | 1 - .../generic-efunction-array---gfloat--matrix.html | 1 - ...generic-efunction-array---ginteger--matrix.html | 1 - .../generic-efunction-array---gmatrix.html | 2 - .../generic-efunction-array---gnumber--matrix.html | 1 - .../generic-efunction-array---greal--matrix.html | 1 - .../generic-efunction-array---grow--vector.html | 1 - .../generic-efunction-array---gsb16--matrix.html | 1 - .../generic-efunction-array---gsb32--matrix.html | 1 - .../generic-efunction-array---gsb8--matrix.html | 1 - ...c-efunction-array---gsingle--float--matrix.html | 1 - .../generic-efunction-array---gt--matrix.html | 1 - .../generic-efunction-array---gub16--matrix.html | 1 - .../generic-efunction-array---gub32--matrix.html | 1 - .../generic-efunction-array---gub8--matrix.html | 1 - ...-efunction-array---gunsigned--byte--matrix.html | 1 - .../generic-efunction-binary--threshold.html | 1 - ...c-efunction-closest--common--matrix--class.html | 1 - .../tinaa/clem-package/generic-efunction-cols.html | 1 - .../generic-efunction-complement--matrix.html | 3 - ...unction-compute--mat--scale--result--class.html | 1 - .../generic-efunction-concat--matrix--cols.html | 1 - ...ric-efunction-copy--affine--transformation.html | 1 - .../generic-efunction-copy--to--bit--matrix.html | 2 - ...eneric-efunction-copy--to--complex--matrix.html | 2 - ...-efunction-copy--to--double--float--matrix.html | 2 - ...generic-efunction-copy--to--fixnum--matrix.html | 2 - .../generic-efunction-copy--to--sb16--matrix.html | 2 - .../generic-efunction-copy--to--sb32--matrix.html | 2 - .../generic-efunction-copy--to--sb8--matrix.html | 2 - ...-efunction-copy--to--single--float--matrix.html | 2 - .../generic-efunction-copy--to--ub16--matrix.html | 2 - .../generic-efunction-copy--to--ub32--matrix.html | 2 - .../generic-efunction-copy--to--ub8--matrix.html | 2 - .../clem-package/generic-efunction-cvref.html | 1 - ...ric-efunction-decf--affine--transformation.html | 1 - .../generic-efunction-dilate--orig.html | 1 - .../clem-package/generic-efunction-dilate.html | 1 - .../tinaa/clem-package/generic-efunction-dim.html | 1 - .../tinaa/clem-package/generic-efunction-dim1.html | 1 - .../generic-efunction-discrete--convolve.html | 4 - .../generic-efunction-element--type.html | 1 - .../generic-efunction-erode--orig.html | 1 - .../clem-package/generic-efunction-erode.html | 1 - .../clem-package/generic-efunction-fit--value.html | 1 - .../tinaa/clem-package/generic-efunction-fit.html | 1 - .../generic-efunction-get--col--list.html | 2 - .../generic-efunction-get--col--vector.html | 1 - ...nction-get--first--non--zero--row--in--col.html | 2 - ...eneric-efunction-get--row--as--col--vector.html | 1 - .../generic-efunction-get--row--list.html | 2 - .../generic-efunction-get--row--vector.html | 1 - .../clem-package/generic-efunction-horzcat.html | 1 - .../generic-efunction-identity--matrix.html | 2 - ...c-efunction-invert--affine--transformation.html | 1 - .../generic-efunction-invert--matrix.html | 1 - .../tinaa/clem-package/generic-efunction-m+.html | 1 - .../tinaa/clem-package/generic-efunction-m--.html | 1 - .../tinaa/clem-package/generic-efunction-m-c.html | 1 - .../clem-package/generic-efunction-m-i-c.html | 1 - .../tinaa/clem-package/generic-efunction-mabs.html | 1 - .../clem-package/generic-efunction-map--col.html | 1 - .../generic-efunction-map--matrix--copy.html | 3 - .../generic-efunction-map--matrix--fit.html | 1 - .../clem-package/generic-efunction-map--range.html | 1 - .../clem-package/generic-efunction-map--row.html | 1 - .../generic-efunction-map--set--range.html | 1 - .../generic-efunction-map--set--val--copy.html | 1 - .../generic-efunction-map--set--val--fit.html | 2 - .../generic-efunction-map--set--val.html | 1 - .../clem-package/generic-efunction-mat--abs!.html | 1 - .../generic-efunction-mat--abs--range!.html | 1 - .../generic-efunction-mat--abs--range.html | 1 - .../clem-package/generic-efunction-mat--abs.html | 1 - .../clem-package/generic-efunction-mat--add!.html | 1 - .../generic-efunction-mat--add--range!.html | 1 - .../generic-efunction-mat--add--range.html | 1 - .../clem-package/generic-efunction-mat--add.html | 1 - .../generic-efunction-mat--copy--into.html | 1 - .../generic-efunction-mat--copy--proto--dim.html | 3 - .../generic-efunction-mat--copy--proto.html | 1 - .../clem-package/generic-efunction-mat--copy.html | 1 - .../generic-efunction-mat--equal--range.html | 1 - .../clem-package/generic-efunction-mat--equal.html | 1 - .../generic-efunction-mat--hprod!.html | 1 - .../generic-efunction-mat--hprod--range!.html | 1 - .../generic-efunction-mat--hprod--range.html | 1 - .../clem-package/generic-efunction-mat--hprod.html | 1 - .../clem-package/generic-efunction-mat--log!.html | 1 - .../generic-efunction-mat--log--range!.html | 1 - .../generic-efunction-mat--log--range.html | 1 - .../clem-package/generic-efunction-mat--log.html | 1 - .../generic-efunction-mat--mult--3--block.html | 1 - .../clem-package/generic-efunction-mat--mult.html | 1 - .../clem-package/generic-efunction-mat--mult3.html | 1 - .../generic-efunction-mat--scalar--op.html | 1 - .../generic-efunction-mat--scale!.html | 1 - .../generic-efunction-mat--scale--2.html | 1 - .../generic-efunction-mat--scale--fit!.html | 1 - .../generic-efunction-mat--scale--fit--range!.html | 1 - .../generic-efunction-mat--scale--fit--range.html | 1 - .../generic-efunction-mat--scale--fit.html | 1 - .../generic-efunction-mat--scale--range!.html | 1 - .../generic-efunction-mat--scale--range--2.html | 1 - .../generic-efunction-mat--scale--range--fit!.html | 1 - .../generic-efunction-mat--scale--range.html | 1 - .../clem-package/generic-efunction-mat--scale.html | 6 - .../clem-package/generic-efunction-mat--sqrt!.html | 1 - .../clem-package/generic-efunction-mat--sqrt.html | 1 - .../generic-efunction-mat--square!.html | 1 - .../generic-efunction-mat--square.html | 1 - .../generic-efunction-mat--subtr!--range.html | 1 - .../generic-efunction-mat--subtr!.html | 1 - .../generic-efunction-mat--subtr--range.html | 4 - .../generic-efunction-mat--subtr--range3.html | 1 - .../clem-package/generic-efunction-mat--subtr.html | 6 - .../clem-package/generic-efunction-mat--trim.html | 1 - .../generic-efunction-matrix---glist.html | 1 - ...c-efunction-matrix--argument--error--cause.html | 1 - .../generic-efunction-matrix--l2--distance.html | 1 - ...unction-matrix--move--range--2d--constrain.html | 1 - .../generic-efunction-matrix--move--range--2d.html | 1 - ...c-efunction-matrix--move--range--constrain.html | 1 - .../generic-efunction-matrix--move--range.html | 1 - .../generic-efunction-matrix--move.html | 1 - ...generic-efunction-matrix--precedence--list.html | 1 - .../clem-package/generic-efunction-max--range.html | 1 - .../clem-package/generic-efunction-max--val.html | 1 - .../clem-package/generic-efunction-maxval.html | 1 - .../generic-efunction-mbitnor!--range.html | 1 - .../clem-package/generic-efunction-mbitnor!.html | 1 - .../generic-efunction-mbitnor--range.html | 1 - .../clem-package/generic-efunction-mbitnor.html | 1 - .../generic-efunction-mean--range.html | 1 - .../tinaa/clem-package/generic-efunction-mean.html | 1 - .../clem-package/generic-efunction-min--range.html | 1 - .../clem-package/generic-efunction-min--val.html | 1 - .../clem-package/generic-efunction-minval.html | 1 - .../generic-efunction-mlogand!--range.html | 1 - .../clem-package/generic-efunction-mlogand!.html | 1 - .../generic-efunction-mlogand--range.html | 1 - .../clem-package/generic-efunction-mlogand.html | 1 - .../generic-efunction-mlogior!--range.html | 1 - .../clem-package/generic-efunction-mlogior!.html | 1 - .../generic-efunction-mlogior--range.html | 1 - .../clem-package/generic-efunction-mlogior.html | 1 - .../generic-efunction-mlognot--range.html | 1 - .../clem-package/generic-efunction-mlognot.html | 1 - .../generic-efunction-mlogxor!--range.html | 1 - .../clem-package/generic-efunction-mlogxor!.html | 1 - .../generic-efunction-mlogxor--range.html | 1 - .../clem-package/generic-efunction-mlogxor.html | 1 - .../generic-efunction-mnot!--range.html | 1 - .../clem-package/generic-efunction-mnot!.html | 1 - .../generic-efunction-mnot--range.html | 1 - .../tinaa/clem-package/generic-efunction-mnot.html | 1 - .../generic-efunction-morphological--op.html | 1 - ...ric-efunction-move--affine--transformation.html | 1 - .../generic-efunction-move--element.html | 1 - .../tinaa/clem-package/generic-efunction-mref.html | 1 - .../clem-package/generic-efunction-norm--0--1.html | 1 - .../generic-efunction-norm--0--255.html | 1 - .../clem-package/generic-efunction-normalize.html | 3 - .../generic-efunction-pad--matrix.html | 1 - .../generic-efunction-parameters--list.html | 1 - .../generic-efunction-print--matrix.html | 1 - .../generic-efunction-print--range.html | 2 - .../generic-efunction-random--bit--matrix.html | 2 - .../generic-efunction-random--complex--matrix.html | 2 - ...ic-efunction-random--double--float--matrix.html | 2 - .../generic-efunction-random--fixnum--matrix.html | 2 - .../generic-efunction-random--float--matrix.html | 2 - .../generic-efunction-random--integer--matrix.html | 2 - .../generic-efunction-random--matrix.html | 3 - .../generic-efunction-random--number--matrix.html | 2 - .../generic-efunction-random--real--matrix.html | 2 - .../generic-efunction-random--sb16--matrix.html | 2 - .../generic-efunction-random--sb32--matrix.html | 2 - .../generic-efunction-random--sb8--matrix.html | 2 - ...ic-efunction-random--single--float--matrix.html | 2 - .../generic-efunction-random--t--matrix.html | 2 - .../generic-efunction-random--ub16--matrix.html | 2 - .../generic-efunction-random--ub32--matrix.html | 2 - .../generic-efunction-random--ub8--matrix.html | 2 - ...c-efunction-random--unsigned--byte--matrix.html | 2 - .../clem-package/generic-efunction-reshape.html | 1 - .../generic-efunction-row--major--mref.html | 1 - .../tinaa/clem-package/generic-efunction-rows.html | 1 - .../clem-package/generic-efunction-rvref.html | 1 - .../generic-efunction-sample--variance--range.html | 1 - .../generic-efunction-sample--variance.html | 1 - .../generic-efunction-scalar--divide--col.html | 1 - .../generic-efunction-scalar--divide--copy.html | 1 - .../generic-efunction-scalar--divide--row.html | 1 - .../generic-efunction-scalar--divide.html | 1 - ...unction-scalar--double--float--divide--col.html | 1 - ...unction-scalar--double--float--divide--row.html | 1 - .../generic-efunction-scalar--mult--col.html | 1 - .../generic-efunction-scalar--mult--copy.html | 1 - .../generic-efunction-scalar--mult--row.html | 1 - .../generic-efunction-scalar--mult.html | 1 - .../generic-efunction-scalar--set--val.html | 1 - ...unction-scalar--single--float--divide--col.html | 1 - ...unction-scalar--single--float--divide--row.html | 1 - .../generic-efunction-scalar--val.html | 1 - ...ic-efunction-separable--discrete--convolve.html | 5 - ...nction-set--affine--transformation--matrix.html | 1 - ...on-set--affine--transformation--parameters.html | 8 - .../clem-package/generic-efunction-set--col.html | 1 - .../clem-package/generic-efunction-set--row.html | 1 - .../generic-efunction-set--val--fit.html | 2 - .../clem-package/generic-efunction-set--val.html | 2 - .../generic-efunction-specialized--array--p.html | 1 - .../generic-efunction-subset--matrix--cols.html | 1 - .../generic-efunction-subset--matrix.html | 1 - .../clem-package/generic-efunction-sum--cols.html | 3 - .../clem-package/generic-efunction-sum--range.html | 1 - .../clem-package/generic-efunction-sum--rows.html | 3 - .../generic-efunction-sum--square--range.html | 1 - .../generic-efunction-sum--square.html | 1 - .../tinaa/clem-package/generic-efunction-sum.html | 1 - .../clem-package/generic-efunction-swap--cols.html | 1 - .../clem-package/generic-efunction-swap--rows.html | 1 - .../clem-package/generic-efunction-threshold.html | 3 - .../generic-efunction-transform--matrix.html | 5 - .../generic-efunction-transpose--matrix.html | 1 - .../clem-package/generic-efunction-transpose.html | 1 - ...ion-update--affine--transformation--matrix.html | 1 - ...tion-update--affine--transformation--slots.html | 1 - .../generic-efunction-val--format.html | 1 - .../tinaa/clem-package/generic-efunction-val.html | 1 - .../generic-efunction-variance--range.html | 1 - .../clem-package/generic-efunction-variance.html | 1 - .../clem-package/generic-efunction-vec--dim.html | 1 - .../generic-efunction-vec--set--val.html | 1 - .../clem-package/generic-efunction-vec--val.html | 1 - .../clem-package/generic-efunction-vertcat.html | 1 - .../generic-efunction-zero--col--vector.html | 1 - .../generic-efunction-zero--matrix.html | 2 - .../generic-efunction-zero--row--vector.html | 1 - .../doc/tinaa/clem-package/index-of-class.html | 1 - .../doc/tinaa/clem-package/index-of-condition.html | 1 - .../doc/tinaa/clem-package/index-of-function.html | 1 - .../doc/tinaa/clem-package/index-of-macro.html | 1 - .../clem-package/index-of-permuted-symbols.html | 1 - .../doc/tinaa/clem-package/index-of-symbol.html | 1 - .../doc/tinaa/clem-package/index-of-variable.html | 1 - external/clem/doc/tinaa/clem-package/index.html | 1 - .../doc/tinaa/clem-package/internal-index.html | 1 - .../doc/tinaa/clem-package/macro-%%sum--range.html | 1 - .../clem-package/macro-bilinear--interpolate.html | 1 - .../tinaa/clem-package/macro-def--binary--op!.html | 1 - .../tinaa/clem-package/macro-def--binary--op.html | 1 - .../clem-package/macro-def--matrix--abs!.html | 1 - .../tinaa/clem-package/macro-def--matrix--abs.html | 1 - .../clem-package/macro-def--matrix--add!.html | 1 - .../macro-def--matrix--add--number!.html | 1 - .../macro-def--matrix--add--number.html | 1 - .../macro-def--matrix--add--range.html | 1 - .../macro-def--matrix--add--scalar!.html | 1 - .../macro-def--matrix--add--scalar.html | 1 - .../tinaa/clem-package/macro-def--matrix--add.html | 1 - .../clem-package/macro-def--matrix--convolve.html | 1 - .../clem-package/macro-def--matrix--equal.html | 1 - .../clem-package/macro-def--matrix--hprod!.html | 1 - .../clem-package/macro-def--matrix--hprod.html | 1 - .../clem-package/macro-def--matrix--log!.html | 1 - .../tinaa/clem-package/macro-def--matrix--log.html | 1 - .../clem-package/macro-def--matrix--min--max.html | 1 - .../clem-package/macro-def--matrix--move.html | 1 - .../clem-package/macro-def--matrix--mref.html | 1 - .../macro-def--matrix--mult--block.html | 1 - .../clem-package/macro-def--matrix--mult.html | 1 - .../clem-package/macro-def--matrix--scale!.html | 1 - .../clem-package/macro-def--matrix--scale--2.html | 1 - .../macro-def--matrix--scale--fit!.html | 1 - .../macro-def--matrix--scale--fit.html | 1 - .../clem-package/macro-def--matrix--scale.html | 1 - .../clem-package/macro-def--matrix--square.html | 1 - .../macro-def--matrix--subset--matrix.html | 1 - .../clem-package/macro-def--matrix--subtr!.html | 1 - .../clem-package/macro-def--matrix--subtr.html | 1 - .../clem-package/macro-def--matrix--transform.html | 1 - .../clem-package/macro-def--move--element.html | 1 - .../tinaa/clem-package/macro-def--unary--op!.html | 1 - .../tinaa/clem-package/macro-def--unary--op.html | 1 - .../tinaa/clem-package/macro-defmatrixclass.html | 1 - .../tinaa/clem-package/macro-defmatrixfuncs.html | 1 - .../doc/tinaa/clem-package/macro-defmbitnor!.html | 1 - .../doc/tinaa/clem-package/macro-defmbitnor.html | 1 - .../doc/tinaa/clem-package/macro-fixnum1+.html | 1 - .../clem-package/macro-matrix--dimensions.html | 1 - .../clem-package/macro-matrix--total--size.html | 1 - .../tinaa/clem-package/macro-maybe--coerce.html | 1 - .../tinaa/clem-package/macro-maybe--truncate.html | 1 - .../doc/tinaa/clem-package/macro-mloop--range.html | 1 - .../clem/doc/tinaa/clem-package/macro-mloop.html | 1 - .../clem-package/macro-quadratic--interpolate.html | 1 - .../clem-package/macro-quadratic--kernel.html | 1 - .../tinaa/clem-package/macro-with--map--range.html | 1 - .../macro-with--matrix--range--do.html | 1 - .../clem-package/macro-with--matrix--vals.html | 1 - .../macro-with--typed--map--range.html | 1 - .../macro-with--typed--matrix--accessor.html | 1 - .../macro-with--typed--matrix--vals.html | 1 - .../clem-package/macro-with--typed--mref.html | 1 - .../macro-with--untyped--matrix--vals.html | 1 - .../clem-package/method-%discrete--convolve.html | 2 - .../method-%get--subtr--matrix--class.html | 1 - .../clem-package/method-%mat--mult--block.html | 1 - .../method-%mat--mult--with--blocks.html | 1 - .../method-%separable--discrete--convolve.html | 5 - .../clem-package/method-%transform--matrix.html | 3 - .../clem-package/method-accumulator--type.html | 1 - .../doc/tinaa/clem-package/method-add--col.html | 1 - .../doc/tinaa/clem-package/method-add--row.html | 1 - .../clem-package/method-affine--transform.html | 7 - .../method-allocate--matrix--vals.html | 1 - .../clem-package/method-binary--threshold.html | 1 - .../method-closest--common--matrix--class.html | 1 - .../clem/doc/tinaa/clem-package/method-cols.html | 1 - .../clem-package/method-complement--matrix.html | 3 - .../method-compute--mat--scale--result--class.html | 1 - .../clem-package/method-concat--matrix--cols.html | 1 - .../method-copy--affine--transformation.html | 1 - .../clem-package/method-copy--to--bit--matrix.html | 2 - .../method-copy--to--complex--matrix.html | 2 - .../method-copy--to--double--float--matrix.html | 2 - .../method-copy--to--fixnum--matrix.html | 2 - .../method-copy--to--sb16--matrix.html | 2 - .../method-copy--to--sb32--matrix.html | 2 - .../clem-package/method-copy--to--sb8--matrix.html | 2 - .../method-copy--to--single--float--matrix.html | 2 - .../method-copy--to--ub16--matrix.html | 2 - .../method-copy--to--ub32--matrix.html | 2 - .../clem-package/method-copy--to--ub8--matrix.html | 2 - .../clem/doc/tinaa/clem-package/method-cvref.html | 1 - .../method-decf--affine--transformation.html | 1 - .../tinaa/clem-package/method-dilate--orig.html | 1 - .../clem/doc/tinaa/clem-package/method-dilate.html | 1 - .../clem/doc/tinaa/clem-package/method-dim.html | 1 - .../clem/doc/tinaa/clem-package/method-dim1.html | 1 - .../clem-package/method-discrete--convolve.html | 4 - .../tinaa/clem-package/method-element--type.html | 1 - .../doc/tinaa/clem-package/method-erode--orig.html | 1 - .../clem/doc/tinaa/clem-package/method-erode.html | 1 - .../doc/tinaa/clem-package/method-fit--value.html | 1 - .../clem/doc/tinaa/clem-package/method-fit.html | 1 - .../tinaa/clem-package/method-get--col--list.html | 2 - .../clem-package/method-get--col--vector.html | 1 - ...method-get--first--non--zero--row--in--col.html | 2 - .../method-get--row--as--col--vector.html | 1 - .../tinaa/clem-package/method-get--row--list.html | 2 - .../clem-package/method-get--row--vector.html | 1 - .../doc/tinaa/clem-package/method-horzcat.html | 1 - .../method-invert--affine--transformation.html | 1 - .../tinaa/clem-package/method-invert--matrix.html | 1 - .../clem/doc/tinaa/clem-package/method-mabs.html | 1 - .../doc/tinaa/clem-package/method-map--col.html | 1 - .../clem-package/method-map--matrix--copy.html | 3 - .../clem-package/method-map--matrix--fit.html | 1 - .../doc/tinaa/clem-package/method-map--range.html | 1 - .../doc/tinaa/clem-package/method-map--row.html | 1 - .../tinaa/clem-package/method-map--set--range.html | 1 - .../clem-package/method-map--set--val--copy.html | 1 - .../clem-package/method-map--set--val--fit.html | 2 - .../tinaa/clem-package/method-map--set--val.html | 1 - .../doc/tinaa/clem-package/method-mat--abs!.html | 1 - .../clem-package/method-mat--abs--range!.html | 1 - .../tinaa/clem-package/method-mat--abs--range.html | 1 - .../doc/tinaa/clem-package/method-mat--abs.html | 1 - .../doc/tinaa/clem-package/method-mat--add!.html | 1 - .../clem-package/method-mat--add--range!.html | 1 - .../tinaa/clem-package/method-mat--add--range.html | 1 - .../doc/tinaa/clem-package/method-mat--add.html | 1 - .../tinaa/clem-package/method-mat--copy--into.html | 1 - .../clem-package/method-mat--copy--proto--dim.html | 3 - .../clem-package/method-mat--copy--proto.html | 1 - .../doc/tinaa/clem-package/method-mat--copy.html | 1 - .../clem-package/method-mat--equal--range.html | 1 - .../doc/tinaa/clem-package/method-mat--equal.html | 1 - .../doc/tinaa/clem-package/method-mat--hprod!.html | 1 - .../clem-package/method-mat--hprod--range!.html | 1 - .../clem-package/method-mat--hprod--range.html | 1 - .../doc/tinaa/clem-package/method-mat--hprod.html | 1 - .../doc/tinaa/clem-package/method-mat--log!.html | 1 - .../clem-package/method-mat--log--range!.html | 1 - .../tinaa/clem-package/method-mat--log--range.html | 1 - .../doc/tinaa/clem-package/method-mat--log.html | 1 - .../clem-package/method-mat--mult--3--block.html | 1 - .../doc/tinaa/clem-package/method-mat--mult.html | 1 - .../doc/tinaa/clem-package/method-mat--mult3.html | 1 - .../tinaa/clem-package/method-mat--scalar--op.html | 1 - .../doc/tinaa/clem-package/method-mat--scale!.html | 1 - .../tinaa/clem-package/method-mat--scale--2.html | 1 - .../clem-package/method-mat--scale--fit!.html | 1 - .../method-mat--scale--fit--range!.html | 1 - .../method-mat--scale--fit--range.html | 1 - .../tinaa/clem-package/method-mat--scale--fit.html | 1 - .../clem-package/method-mat--scale--range!.html | 1 - .../clem-package/method-mat--scale--range--2.html | 1 - .../method-mat--scale--range--fit!.html | 1 - .../clem-package/method-mat--scale--range.html | 1 - .../doc/tinaa/clem-package/method-mat--scale.html | 1 - .../doc/tinaa/clem-package/method-mat--sqrt!.html | 1 - .../doc/tinaa/clem-package/method-mat--sqrt.html | 1 - .../tinaa/clem-package/method-mat--square!.html | 1 - .../doc/tinaa/clem-package/method-mat--square.html | 1 - .../clem-package/method-mat--subtr!--range.html | 1 - .../doc/tinaa/clem-package/method-mat--subtr!.html | 1 - .../clem-package/method-mat--subtr--range.html | 4 - .../clem-package/method-mat--subtr--range3.html | 1 - .../doc/tinaa/clem-package/method-mat--subtr.html | 6 - .../doc/tinaa/clem-package/method-mat--trim.html | 1 - .../tinaa/clem-package/method-matrix---glist.html | 1 - .../method-matrix--argument--error--cause.html | 1 - .../clem-package/method-matrix--l2--distance.html | 1 - .../method-matrix--move--range--2d--constrain.html | 1 - .../method-matrix--move--range--2d.html | 1 - .../method-matrix--move--range--constrain.html | 1 - .../clem-package/method-matrix--move--range.html | 1 - .../tinaa/clem-package/method-matrix--move.html | 1 - .../method-matrix--precedence--list.html | 1 - .../doc/tinaa/clem-package/method-max--range.html | 1 - .../doc/tinaa/clem-package/method-max--val.html | 1 - .../clem/doc/tinaa/clem-package/method-maxval.html | 1 - .../tinaa/clem-package/method-mbitnor!--range.html | 1 - .../doc/tinaa/clem-package/method-mbitnor!.html | 1 - .../tinaa/clem-package/method-mbitnor--range.html | 1 - .../doc/tinaa/clem-package/method-mbitnor.html | 1 - .../doc/tinaa/clem-package/method-mean--range.html | 1 - .../clem/doc/tinaa/clem-package/method-mean.html | 1 - .../doc/tinaa/clem-package/method-min--range.html | 1 - .../doc/tinaa/clem-package/method-min--val.html | 1 - .../clem/doc/tinaa/clem-package/method-minval.html | 1 - .../tinaa/clem-package/method-mlogand!--range.html | 1 - .../doc/tinaa/clem-package/method-mlogand!.html | 1 - .../tinaa/clem-package/method-mlogand--range.html | 1 - .../doc/tinaa/clem-package/method-mlogand.html | 1 - .../tinaa/clem-package/method-mlogior!--range.html | 1 - .../doc/tinaa/clem-package/method-mlogior!.html | 1 - .../tinaa/clem-package/method-mlogior--range.html | 1 - .../doc/tinaa/clem-package/method-mlogior.html | 1 - .../tinaa/clem-package/method-mlognot--range.html | 1 - .../doc/tinaa/clem-package/method-mlognot.html | 1 - .../tinaa/clem-package/method-mlogxor!--range.html | 1 - .../doc/tinaa/clem-package/method-mlogxor!.html | 1 - .../tinaa/clem-package/method-mlogxor--range.html | 1 - .../doc/tinaa/clem-package/method-mlogxor.html | 1 - .../tinaa/clem-package/method-mnot!--range.html | 1 - .../clem/doc/tinaa/clem-package/method-mnot!.html | 1 - .../doc/tinaa/clem-package/method-mnot--range.html | 1 - .../clem/doc/tinaa/clem-package/method-mnot.html | 1 - .../clem-package/method-morphological--op.html | 1 - .../method-move--affine--transformation.html | 1 - .../tinaa/clem-package/method-move--element.html | 1 - .../clem/doc/tinaa/clem-package/method-mref.html | 1 - .../doc/tinaa/clem-package/method-norm--0--1.html | 1 - .../tinaa/clem-package/method-norm--0--255.html | 1 - .../doc/tinaa/clem-package/method-normalize.html | 3 - .../doc/tinaa/clem-package/method-pad--matrix.html | 1 - .../clem-package/method-parameters--list.html | 1 - .../tinaa/clem-package/method-print--matrix.html | 1 - .../tinaa/clem-package/method-print--range.html | 2 - .../doc/tinaa/clem-package/method-reshape.html | 1 - .../clem-package/method-row--major--mref.html | 1 - .../clem/doc/tinaa/clem-package/method-rows.html | 1 - .../clem/doc/tinaa/clem-package/method-rvref.html | 1 - .../method-sample--variance--range.html | 1 - .../clem-package/method-sample--variance.html | 1 - .../clem-package/method-scalar--divide--col.html | 1 - .../clem-package/method-scalar--divide--copy.html | 1 - .../clem-package/method-scalar--divide--row.html | 1 - .../tinaa/clem-package/method-scalar--divide.html | 1 - .../method-scalar--double--float--divide--col.html | 1 - .../method-scalar--double--float--divide--row.html | 1 - .../clem-package/method-scalar--mult--col.html | 1 - .../clem-package/method-scalar--mult--copy.html | 1 - .../clem-package/method-scalar--mult--row.html | 1 - .../tinaa/clem-package/method-scalar--mult.html | 1 - .../clem-package/method-scalar--set--val.html | 1 - .../method-scalar--single--float--divide--col.html | 1 - .../method-scalar--single--float--divide--row.html | 1 - .../doc/tinaa/clem-package/method-scalar--val.html | 1 - .../method-separable--discrete--convolve.html | 5 - ...method-set--affine--transformation--matrix.html | 1 - ...od-set--affine--transformation--parameters.html | 8 - .../doc/tinaa/clem-package/method-set--col.html | 1 - .../doc/tinaa/clem-package/method-set--row.html | 1 - .../tinaa/clem-package/method-set--val--fit.html | 2 - .../doc/tinaa/clem-package/method-set--val.html | 2 - .../doc/tinaa/clem-package/method-setfmref.html | 1 - .../clem-package/method-setfrow--major--mref.html | 1 - .../doc/tinaa/clem-package/method-slot--names.html | 1 - .../clem-package/method-specialized--array--p.html | 1 - .../clem-package/method-subset--matrix--cols.html | 1 - .../tinaa/clem-package/method-subset--matrix.html | 1 - .../doc/tinaa/clem-package/method-sum--cols.html | 3 - .../doc/tinaa/clem-package/method-sum--range.html | 1 - .../doc/tinaa/clem-package/method-sum--rows.html | 3 - .../clem-package/method-sum--square--range.html | 1 - .../doc/tinaa/clem-package/method-sum--square.html | 1 - .../clem/doc/tinaa/clem-package/method-sum.html | 1 - .../doc/tinaa/clem-package/method-swap--cols.html | 1 - .../doc/tinaa/clem-package/method-swap--rows.html | 1 - .../doc/tinaa/clem-package/method-threshold.html | 3 - .../clem-package/method-transpose--matrix.html | 1 - .../doc/tinaa/clem-package/method-transpose.html | 1 - ...hod-update--affine--transformation--matrix.html | 1 - ...thod-update--affine--transformation--slots.html | 1 - .../doc/tinaa/clem-package/method-val--format.html | 1 - .../clem/doc/tinaa/clem-package/method-val.html | 1 - .../tinaa/clem-package/method-variance--range.html | 1 - .../doc/tinaa/clem-package/method-variance.html | 1 - .../doc/tinaa/clem-package/method-vec--dim.html | 1 - .../tinaa/clem-package/method-vec--set--val.html | 1 - .../doc/tinaa/clem-package/method-vec--val.html | 1 - .../doc/tinaa/clem-package/method-vertcat.html | 1 - .../tinaa/clem/class-affine--transformation.html | 1 - .../clem/doc/tinaa/clem/class-base--vector.html | 1 - .../clem/doc/tinaa/clem/class-bit--matrix.html | 1 - .../clem/doc/tinaa/clem/class-bit--scalar.html | 1 - .../clem/doc/tinaa/clem/class-col--vector.html | 1 - .../clem/doc/tinaa/clem/class-complex--matrix.html | 1 - .../tinaa/clem/class-double--float--matrix.html | 1 - .../clem/doc/tinaa/clem/class-fixnum--matrix.html | 1 - .../clem/doc/tinaa/clem/class-float--matrix.html | 1 - .../clem/doc/tinaa/clem/class-integer--matrix.html | 1 - external/clem/doc/tinaa/clem/class-matrix.html | 1 - .../clem/doc/tinaa/clem/class-number--matrix.html | 1 - .../clem/doc/tinaa/clem/class-real--matrix.html | 1 - .../clem/doc/tinaa/clem/class-row--vector.html | 1 - .../clem/doc/tinaa/clem/class-sb16--matrix.html | 1 - .../clem/doc/tinaa/clem/class-sb32--matrix.html | 1 - .../clem/doc/tinaa/clem/class-sb8--matrix.html | 1 - .../clem/doc/tinaa/clem/class-sb8--scalar.html | 1 - external/clem/doc/tinaa/clem/class-scalar.html | 1 - .../tinaa/clem/class-single--float--matrix.html | 1 - .../tinaa/clem/class-standard--matrix--class.html | 1 - external/clem/doc/tinaa/clem/class-t--matrix.html | 1 - .../clem/doc/tinaa/clem/class-typed--matrix.html | 1 - .../clem/doc/tinaa/clem/class-typed--mixin.html | 1 - .../clem/doc/tinaa/clem/class-ub16--matrix.html | 1 - .../clem/doc/tinaa/clem/class-ub32--matrix.html | 1 - .../clem/doc/tinaa/clem/class-ub8--matrix.html | 1 - .../clem/doc/tinaa/clem/class-ub8--scalar.html | 1 - .../tinaa/clem/condition-matrix--condition.html | 1 - .../doc/tinaa/clem/condition-matrix--error.html | 1 - .../clem/doc/tinaa/clem/function-%%sum--range.html | 1 - .../doc/tinaa/clem/function-add--root--class.html | 1 - .../tinaa/clem/function-bilinear--interpolate.html | 1 - .../doc/tinaa/clem/function-bit--matrix--mref.html | 1 - .../tinaa/clem/function-complex--matrix--mref.html | 1 - .../doc/tinaa/clem/function-compute--bounds.html | 1 - .../clem/doc/tinaa/clem/function-constrain.html | 1 - .../clem/function-copy--to--matrix--type.html | 2 - .../clem/doc/tinaa/clem/function-count--range.html | 1 - .../doc/tinaa/clem/function-def--binary--op!.html | 1 - .../doc/tinaa/clem/function-def--binary--op.html | 1 - .../doc/tinaa/clem/function-def--matrix--abs!.html | 1 - .../doc/tinaa/clem/function-def--matrix--abs.html | 1 - .../doc/tinaa/clem/function-def--matrix--add!.html | 1 - .../clem/function-def--matrix--add--number!.html | 1 - .../clem/function-def--matrix--add--number.html | 1 - .../clem/function-def--matrix--add--scalar!.html | 1 - .../clem/function-def--matrix--add--scalar.html | 1 - .../doc/tinaa/clem/function-def--matrix--add.html | 1 - .../tinaa/clem/function-def--matrix--convolve.html | 1 - .../tinaa/clem/function-def--matrix--hprod!.html | 1 - .../tinaa/clem/function-def--matrix--hprod.html | 1 - .../doc/tinaa/clem/function-def--matrix--log!.html | 1 - .../doc/tinaa/clem/function-def--matrix--log.html | 1 - .../tinaa/clem/function-def--matrix--min--max.html | 1 - .../doc/tinaa/clem/function-def--matrix--move.html | 1 - .../doc/tinaa/clem/function-def--matrix--mref.html | 1 - .../clem/function-def--matrix--mult--block.html | 1 - .../doc/tinaa/clem/function-def--matrix--mult.html | 1 - .../tinaa/clem/function-def--matrix--scale!.html | 1 - .../tinaa/clem/function-def--matrix--scale.html | 1 - .../tinaa/clem/function-def--matrix--square.html | 1 - .../clem/function-def--matrix--subset--matrix.html | 1 - .../tinaa/clem/function-def--matrix--subtr!.html | 1 - .../tinaa/clem/function-def--matrix--subtr.html | 1 - .../clem/function-def--matrix--transform.html | 1 - .../tinaa/clem/function-def--move--element.html | 1 - .../doc/tinaa/clem/function-def--unary--op!.html | 1 - .../doc/tinaa/clem/function-def--unary--op.html | 1 - .../doc/tinaa/clem/function-defmatrixfuncs.html | 1 - .../doc/tinaa/clem/function-defmatrixtype.html | 1 - .../doc/tinaa/clem/function-delistify--dsd.html | 1 - .../clem/doc/tinaa/clem/function-delistify.html | 1 - .../clem/function-displace--to--1d--array.html | 1 - .../tinaa/clem/function-double--float--divide.html | 1 - .../clem/function-double--float--matrix--mref.html | 1 - .../clem/function-fill--slot--from--ancestor.html | 1 - ...ard--matrix--class--slots--from--ancestors.html | 1 - .../tinaa/clem/function-fixnum--matrix--mref.html | 1 - .../clem/doc/tinaa/clem/function-fixnum1+.html | 1 - .../doc/tinaa/clem/function-gaussian--blur.html | 4 - .../tinaa/clem/function-gaussian--kernel--1d.html | 1 - .../doc/tinaa/clem/function-gaussian--kernel.html | 1 - .../function-get--matrix--name--for--type.html | 1 - .../function-get--matrix--type--for--type.html | 1 - external/clem/doc/tinaa/clem/function-gradmag.html | 2 - .../clem/doc/tinaa/clem/function-inferior.html | 1 - .../doc/tinaa/clem/function-insert--before.html | 1 - .../tinaa/clem/function-integer--matrix--mref.html | 1 - .../clem/doc/tinaa/clem/function-list--if.html | 1 - .../function-make--affine--transformation.html | 8 - .../doc/tinaa/clem/function-mat--add!--inline.html | 1 - .../doc/tinaa/clem/function-mat--add--inline.html | 1 - .../doc/tinaa/clem/function-maybe--coerce.html | 1 - .../doc/tinaa/clem/function-maybe--truncate.html | 1 - .../clem/doc/tinaa/clem/function-mloop--range.html | 1 - external/clem/doc/tinaa/clem/function-mloop.html | 1 - .../tinaa/clem/function-parse--mloop--vars.html | 1 - .../tinaa/clem/function-print--matrix--line.html | 1 - .../clem/function-quadratic--interpolate.html | 1 - .../doc/tinaa/clem/function-quadratic--kernel.html | 1 - .../tinaa/clem/function-real--matrix--mref.html | 1 - .../tinaa/clem/function-remove--keyword--arg.html | 1 - .../doc/tinaa/clem/function-resize--matrix.html | 2 - .../clem/function-sample--variance--window.html | 3 - .../tinaa/clem/function-sb16--matrix--mref.html | 1 - .../tinaa/clem/function-sb32--matrix--mref.html | 1 - .../doc/tinaa/clem/function-sb8--matrix--mref.html | 1 - external/clem/doc/tinaa/clem/function-scalar.html | 2 - .../function-separable--morphological--op.html | 1 - .../clem/function-single--float--matrix--mref.html | 1 - .../clem/function-standard--matrix--class--p.html | 1 - ...-standard--matrix--class--precedence--list.html | 1 - .../function-standard--matrix--class--slots.html | 1 - .../clem/doc/tinaa/clem/function-subclassp.html | 1 - .../clem/doc/tinaa/clem/function-superior.html | 1 - .../doc/tinaa/clem/function-transform--coord.html | 1 - .../tinaa/clem/function-ub16--matrix--mref.html | 1 - .../tinaa/clem/function-ub32--matrix--mref.html | 1 - .../doc/tinaa/clem/function-ub8--matrix--mref.html | 1 - .../doc/tinaa/clem/function-variance--window.html | 2 - .../doc/tinaa/clem/function-with--map--range.html | 1 - .../clem/function-with--matrix--range--do.html | 1 - .../tinaa/clem/function-with--matrix--vals.html | 1 - .../clem/function-with--typed--matrix--vals.html | 1 - .../clem/function-with--untyped--matrix--vals.html | 1 - .../doc/tinaa/clem/function-x--derivative.html | 3 - .../doc/tinaa/clem/function-y--derivative.html | 3 - .../clem/generic function-%discrete--convolve.html | 2 - ...eneric function-%get--subtr--matrix--class.html | 1 - .../clem/generic function-%mat--mult--block.html | 1 - .../generic function-%mat--mult--with--blocks.html | 1 - ...ic function-%separable--discrete--convolve.html | 5 - .../clem/generic function-%transform--matrix.html | 3 - .../clem/generic function-accumulator--type.html | 1 - .../doc/tinaa/clem/generic function-add--col.html | 1 - .../doc/tinaa/clem/generic function-add--row.html | 1 - .../clem/generic function-affine--transform.html | 7 - .../generic function-allocate--matrix--vals.html | 1 - .../generic function-array---gbit--matrix.html | 1 - .../generic function-array---gcol--vector.html | 1 - .../generic function-array---gcomplex--matrix.html | 1 - ...ic function-array---gdouble--float--matrix.html | 1 - .../generic function-array---gfixnum--matrix.html | 1 - .../generic function-array---gfloat--matrix.html | 1 - .../generic function-array---ginteger--matrix.html | 1 - .../clem/generic function-array---gmatrix.html | 2 - .../generic function-array---gnumber--matrix.html | 1 - .../generic function-array---greal--matrix.html | 1 - .../generic function-array---grow--vector.html | 1 - .../generic function-array---gsb16--matrix.html | 1 - .../generic function-array---gsb32--matrix.html | 1 - .../generic function-array---gsb8--matrix.html | 1 - ...ic function-array---gsingle--float--matrix.html | 1 - .../clem/generic function-array---gt--matrix.html | 1 - .../generic function-array---gub16--matrix.html | 1 - .../generic function-array---gub32--matrix.html | 1 - .../generic function-array---gub8--matrix.html | 1 - ...ic function-closest--common--matrix--class.html | 1 - .../clem/doc/tinaa/clem/generic function-cols.html | 1 - .../generic function-concat--matrix--cols.html | 1 - ...eric function-copy--affine--transformation.html | 1 - .../generic function-copy--to--bit--matrix.html | 2 - ...generic function-copy--to--complex--matrix.html | 2 - ...c function-copy--to--double--float--matrix.html | 2 - .../generic function-copy--to--fixnum--matrix.html | 2 - .../generic function-copy--to--sb16--matrix.html | 2 - .../generic function-copy--to--sb32--matrix.html | 2 - .../generic function-copy--to--sb8--matrix.html | 2 - ...c function-copy--to--single--float--matrix.html | 2 - .../generic function-copy--to--ub16--matrix.html | 2 - .../generic function-copy--to--ub32--matrix.html | 2 - .../generic function-copy--to--ub8--matrix.html | 2 - .../doc/tinaa/clem/generic function-cvref.html | 1 - ...eric function-decf--affine--transformation.html | 1 - .../tinaa/clem/generic function-dilate--orig.html | 1 - .../doc/tinaa/clem/generic function-dilate.html | 1 - .../clem/doc/tinaa/clem/generic function-dim.html | 1 - .../clem/generic function-discrete--convolve.html | 4 - .../tinaa/clem/generic function-element--type.html | 1 - .../tinaa/clem/generic function-erode--orig.html | 1 - .../doc/tinaa/clem/generic function-erode.html | 1 - .../tinaa/clem/generic function-fit--value.html | 1 - .../clem/doc/tinaa/clem/generic function-fit.html | 1 - .../clem/generic function-get--col--list.html | 2 - .../clem/generic function-get--col--vector.html | 1 - ...nction-get--first--non--zero--row--in--col.html | 2 - ...generic function-get--row--as--col--vector.html | 1 - .../clem/generic function-get--row--list.html | 2 - .../clem/generic function-get--row--vector.html | 1 - .../doc/tinaa/clem/generic function-horzcat.html | 1 - .../clem/generic function-identity--matrix.html | 2 - .../clem/generic function-invert--matrix.html | 1 - .../clem/doc/tinaa/clem/generic function-m+.html | 1 - .../clem/doc/tinaa/clem/generic function-m--.html | 1 - .../clem/doc/tinaa/clem/generic function-m-c.html | 1 - .../doc/tinaa/clem/generic function-m-i-c.html | 1 - .../doc/tinaa/clem/generic function-map--col.html | 1 - .../clem/generic function-map--matrix--copy.html | 3 - .../clem/generic function-map--matrix--fit.html | 1 - .../tinaa/clem/generic function-map--matrix.html | 1 - .../tinaa/clem/generic function-map--range.html | 1 - .../doc/tinaa/clem/generic function-map--row.html | 1 - .../clem/generic function-map--set--range.html | 1 - .../clem/generic function-map--set--val--copy.html | 1 - .../clem/generic function-map--set--val--fit.html | 2 - .../tinaa/clem/generic function-map--set--val.html | 1 - .../doc/tinaa/clem/generic function-mat--abs!.html | 1 - .../clem/generic function-mat--abs--range!.html | 1 - .../clem/generic function-mat--abs--range.html | 1 - .../doc/tinaa/clem/generic function-mat--abs.html | 1 - .../clem/generic function-mat--add!--range.html | 1 - .../doc/tinaa/clem/generic function-mat--add!.html | 1 - .../clem/generic function-mat--add--range!.html | 1 - .../clem/generic function-mat--add--range.html | 1 - .../doc/tinaa/clem/generic function-mat--add.html | 1 - .../clem/generic function-mat--copy--into.html | 1 - .../generic function-mat--copy--proto--dim.html | 3 - .../clem/generic function-mat--copy--proto.html | 1 - .../doc/tinaa/clem/generic function-mat--copy.html | 1 - .../clem/generic function-mat--hprod!--range.html | 1 - .../tinaa/clem/generic function-mat--hprod!.html | 1 - .../clem/generic function-mat--hprod--range!.html | 1 - .../clem/generic function-mat--hprod--range.html | 1 - .../tinaa/clem/generic function-mat--hprod.html | 1 - .../doc/tinaa/clem/generic function-mat--log!.html | 1 - .../clem/generic function-mat--log--range!.html | 1 - .../clem/generic function-mat--log--range.html | 1 - .../doc/tinaa/clem/generic function-mat--log.html | 1 - .../clem/generic function-mat--mult--3--block.html | 1 - .../doc/tinaa/clem/generic function-mat--mult.html | 1 - .../tinaa/clem/generic function-mat--mult3.html | 1 - .../clem/generic function-mat--scalar--op.html | 1 - .../tinaa/clem/generic function-mat--scale!.html | 1 - .../clem/generic function-mat--scale--range!.html | 1 - .../clem/generic function-mat--scale--range.html | 1 - .../tinaa/clem/generic function-mat--scale.html | 1 - .../tinaa/clem/generic function-mat--sqrt!.html | 1 - .../doc/tinaa/clem/generic function-mat--sqrt.html | 1 - .../tinaa/clem/generic function-mat--square!.html | 1 - .../tinaa/clem/generic function-mat--square.html | 1 - .../clem/generic function-mat--subtr!--range.html | 1 - .../tinaa/clem/generic function-mat--subtr!.html | 1 - .../clem/generic function-mat--subtr--range.html | 4 - .../clem/generic function-mat--subtr--range3.html | 1 - .../tinaa/clem/generic function-mat--subtr.html | 4 - .../doc/tinaa/clem/generic function-mat--trim.html | 1 - ...ic function-matrix--move--range--constrain.html | 1 - .../clem/generic function-matrix--move--range.html | 1 - .../tinaa/clem/generic function-matrix--move.html | 1 - .../generic function-matrix--precedence--list.html | 1 - .../tinaa/clem/generic function-max--range.html | 1 - .../doc/tinaa/clem/generic function-max--val.html | 1 - .../doc/tinaa/clem/generic function-maxval.html | 1 - .../tinaa/clem/generic function-mean--range.html | 1 - .../clem/doc/tinaa/clem/generic function-mean.html | 1 - .../tinaa/clem/generic function-min--range.html | 1 - .../doc/tinaa/clem/generic function-min--val.html | 1 - .../doc/tinaa/clem/generic function-minval.html | 1 - .../clem/generic function-mlogand!--range.html | 1 - .../doc/tinaa/clem/generic function-mlogand!.html | 1 - .../clem/generic function-mlogand--range.html | 1 - .../doc/tinaa/clem/generic function-mlogand.html | 1 - .../clem/generic function-mlogior!--range.html | 1 - .../doc/tinaa/clem/generic function-mlogior!.html | 1 - .../clem/generic function-mlogior--range.html | 1 - .../doc/tinaa/clem/generic function-mlogior.html | 1 - .../clem/generic function-mlogxor!--range.html | 1 - .../doc/tinaa/clem/generic function-mlogxor!.html | 1 - .../clem/generic function-mlogxor--range.html | 1 - .../doc/tinaa/clem/generic function-mlogxor.html | 1 - .../tinaa/clem/generic function-mnot!--range.html | 1 - .../doc/tinaa/clem/generic function-mnot!.html | 1 - .../tinaa/clem/generic function-mnot--range.html | 1 - .../clem/doc/tinaa/clem/generic function-mnot.html | 1 - .../clem/generic function-morphological--op.html | 1 - ...eric function-move--affine--transformation.html | 1 - .../tinaa/clem/generic function-move--element.html | 1 - .../clem/doc/tinaa/clem/generic function-mref.html | 1 - .../tinaa/clem/generic function-norm--0--1.html | 1 - .../tinaa/clem/generic function-norm--0--255.html | 1 - .../doc/tinaa/clem/generic function-normalize.html | 1 - .../tinaa/clem/generic function-pad--matrix.html | 1 - .../clem/generic function-parameters--list.html | 1 - .../tinaa/clem/generic function-print--matrix.html | 1 - .../tinaa/clem/generic function-print--range.html | 2 - .../clem/generic function-random--bit--matrix.html | 2 - .../generic function-random--complex--matrix.html | 2 - ...ric function-random--double--float--matrix.html | 2 - .../generic function-random--fixnum--matrix.html | 2 - .../generic function-random--float--matrix.html | 2 - .../generic function-random--integer--matrix.html | 2 - .../clem/generic function-random--matrix.html | 3 - .../generic function-random--number--matrix.html | 2 - .../generic function-random--real--matrix.html | 2 - .../generic function-random--sb16--matrix.html | 2 - .../generic function-random--sb32--matrix.html | 2 - .../clem/generic function-random--sb8--matrix.html | 2 - ...ric function-random--single--float--matrix.html | 2 - .../clem/generic function-random--t--matrix.html | 2 - .../generic function-random--ub16--matrix.html | 2 - .../generic function-random--ub32--matrix.html | 2 - .../clem/generic function-random--ub8--matrix.html | 2 - .../doc/tinaa/clem/generic function-reshape.html | 1 - .../clem/doc/tinaa/clem/generic function-rows.html | 1 - .../doc/tinaa/clem/generic function-rvref.html | 1 - .../generic function-sample--variance--range.html | 1 - .../clem/generic function-sample--variance.html | 1 - .../clem/generic function-scalar--divide--col.html | 1 - .../generic function-scalar--divide--copy.html | 1 - .../clem/generic function-scalar--divide--row.html | 1 - .../clem/generic function-scalar--divide.html | 1 - ...unction-scalar--double--float--divide--col.html | 1 - ...unction-scalar--double--float--divide--row.html | 1 - .../clem/generic function-scalar--mult--col.html | 1 - .../clem/generic function-scalar--mult--copy.html | 1 - .../clem/generic function-scalar--mult--row.html | 1 - .../tinaa/clem/generic function-scalar--mult.html | 1 - .../clem/generic function-scalar--set--val.html | 1 - ...unction-scalar--single--float--divide--col.html | 1 - ...unction-scalar--single--float--divide--row.html | 1 - .../tinaa/clem/generic function-scalar--val.html | 1 - ...ric function-separable--discrete--convolve.html | 5 - .../doc/tinaa/clem/generic function-set--col.html | 1 - .../doc/tinaa/clem/generic function-set--row.html | 1 - .../tinaa/clem/generic function-set--val--fit.html | 2 - .../doc/tinaa/clem/generic function-set--val.html | 2 - .../generic function-specialized--array--p.html | 1 - .../generic function-subset--matrix--cols.html | 1 - .../clem/generic function-subset--matrix.html | 1 - .../doc/tinaa/clem/generic function-sum--cols.html | 3 - .../tinaa/clem/generic function-sum--range.html | 1 - .../doc/tinaa/clem/generic function-sum--rows.html | 3 - .../clem/generic function-sum--square--range.html | 1 - .../tinaa/clem/generic function-sum--square.html | 1 - .../clem/doc/tinaa/clem/generic function-sum.html | 1 - .../tinaa/clem/generic function-swap--cols.html | 1 - .../tinaa/clem/generic function-swap--rows.html | 1 - .../doc/tinaa/clem/generic function-threshold.html | 3 - .../clem/generic function-transform--matrix.html | 6 - .../clem/generic function-transpose--matrix.html | 1 - .../doc/tinaa/clem/generic function-transpose.html | 1 - ...ion-update--affine--transformation--matrix.html | 1 - .../tinaa/clem/generic function-val--format.html | 1 - .../clem/doc/tinaa/clem/generic function-val.html | 1 - .../clem/generic function-variance--range.html | 1 - .../doc/tinaa/clem/generic function-variance.html | 1 - .../doc/tinaa/clem/generic function-vec--dim.html | 1 - .../tinaa/clem/generic function-vec--set--val.html | 1 - .../doc/tinaa/clem/generic function-vec--val.html | 1 - .../doc/tinaa/clem/generic function-vertcat.html | 1 - .../clem/generic function-zero--col--vector.html | 1 - .../tinaa/clem/generic function-zero--matrix.html | 2 - .../clem/generic function-zero--row--vector.html | 1 - .../clem/doc/tinaa/clem/macro-%%sum--range.html | 1 - .../tinaa/clem/macro-bilinear--interpolate.html | 1 - .../doc/tinaa/clem/macro-def--binary--op!.html | 1 - .../clem/doc/tinaa/clem/macro-def--binary--op.html | 1 - .../doc/tinaa/clem/macro-def--matrix--abs!.html | 1 - .../doc/tinaa/clem/macro-def--matrix--abs.html | 1 - .../doc/tinaa/clem/macro-def--matrix--add!.html | 1 - .../clem/macro-def--matrix--add--number!.html | 1 - .../tinaa/clem/macro-def--matrix--add--number.html | 1 - .../clem/macro-def--matrix--add--scalar!.html | 1 - .../tinaa/clem/macro-def--matrix--add--scalar.html | 1 - .../doc/tinaa/clem/macro-def--matrix--add.html | 1 - .../tinaa/clem/macro-def--matrix--convolve.html | 1 - .../doc/tinaa/clem/macro-def--matrix--hprod!.html | 1 - .../doc/tinaa/clem/macro-def--matrix--hprod.html | 1 - .../doc/tinaa/clem/macro-def--matrix--log!.html | 1 - .../doc/tinaa/clem/macro-def--matrix--log.html | 1 - .../tinaa/clem/macro-def--matrix--min--max.html | 1 - .../doc/tinaa/clem/macro-def--matrix--move.html | 1 - .../doc/tinaa/clem/macro-def--matrix--mref.html | 1 - .../tinaa/clem/macro-def--matrix--mult--block.html | 1 - .../doc/tinaa/clem/macro-def--matrix--mult.html | 1 - .../doc/tinaa/clem/macro-def--matrix--scale!.html | 1 - .../doc/tinaa/clem/macro-def--matrix--scale.html | 1 - .../doc/tinaa/clem/macro-def--matrix--square.html | 1 - .../clem/macro-def--matrix--subset--matrix.html | 1 - .../doc/tinaa/clem/macro-def--matrix--subtr!.html | 1 - .../doc/tinaa/clem/macro-def--matrix--subtr.html | 1 - .../tinaa/clem/macro-def--matrix--transform.html | 1 - .../doc/tinaa/clem/macro-def--move--element.html | 1 - .../clem/doc/tinaa/clem/macro-def--unary--op!.html | 1 - .../clem/doc/tinaa/clem/macro-def--unary--op.html | 1 - .../clem/doc/tinaa/clem/macro-defmatrixfuncs.html | 1 - .../clem/doc/tinaa/clem/macro-defmatrixtype.html | 1 - external/clem/doc/tinaa/clem/macro-fixnum1+.html | 1 - .../clem/doc/tinaa/clem/macro-maybe--coerce.html | 1 - .../clem/doc/tinaa/clem/macro-maybe--truncate.html | 1 - .../clem/doc/tinaa/clem/macro-mloop--range.html | 1 - external/clem/doc/tinaa/clem/macro-mloop.html | 1 - .../tinaa/clem/macro-quadratic--interpolate.html | 1 - .../doc/tinaa/clem/macro-quadratic--kernel.html | 1 - .../doc/tinaa/clem/macro-with--map--range.html | 1 - .../tinaa/clem/macro-with--matrix--range--do.html | 1 - .../doc/tinaa/clem/macro-with--matrix--vals.html | 1 - .../clem/macro-with--typed--matrix--vals.html | 1 - .../clem/macro-with--untyped--matrix--vals.html | 1 - .../doc/tinaa/clem/method-%discrete--convolve.html | 2 - .../clem/method-%get--subtr--matrix--class.html | 1 - .../doc/tinaa/clem/method-%mat--mult--block.html | 1 - .../clem/method-%mat--mult--with--blocks.html | 1 - .../method-%separable--discrete--convolve.html | 5 - .../doc/tinaa/clem/method-%transform--matrix.html | 3 - .../doc/tinaa/clem/method-accumulator--type.html | 1 - external/clem/doc/tinaa/clem/method-add--col.html | 1 - external/clem/doc/tinaa/clem/method-add--row.html | 1 - .../doc/tinaa/clem/method-affine--transform.html | 7 - .../tinaa/clem/method-allocate--matrix--vals.html | 1 - .../method-closest--common--matrix--class.html | 1 - external/clem/doc/tinaa/clem/method-cols.html | 1 - .../tinaa/clem/method-concat--matrix--cols.html | 1 - .../clem/method-copy--affine--transformation.html | 1 - .../tinaa/clem/method-copy--to--bit--matrix.html | 2 - .../clem/method-copy--to--complex--matrix.html | 2 - .../method-copy--to--double--float--matrix.html | 2 - .../clem/method-copy--to--fixnum--matrix.html | 2 - .../tinaa/clem/method-copy--to--sb16--matrix.html | 2 - .../tinaa/clem/method-copy--to--sb32--matrix.html | 2 - .../tinaa/clem/method-copy--to--sb8--matrix.html | 2 - .../method-copy--to--single--float--matrix.html | 2 - .../tinaa/clem/method-copy--to--ub16--matrix.html | 2 - .../tinaa/clem/method-copy--to--ub32--matrix.html | 2 - .../tinaa/clem/method-copy--to--ub8--matrix.html | 2 - external/clem/doc/tinaa/clem/method-cvref.html | 1 - .../clem/method-decf--affine--transformation.html | 1 - .../clem/doc/tinaa/clem/method-dilate--orig.html | 1 - external/clem/doc/tinaa/clem/method-dilate.html | 1 - external/clem/doc/tinaa/clem/method-dim.html | 1 - .../doc/tinaa/clem/method-discrete--convolve.html | 4 - .../clem/doc/tinaa/clem/method-element--type.html | 1 - .../clem/doc/tinaa/clem/method-erode--orig.html | 1 - external/clem/doc/tinaa/clem/method-erode.html | 1 - .../clem/doc/tinaa/clem/method-fit--value.html | 1 - external/clem/doc/tinaa/clem/method-fit.html | 1 - .../clem/doc/tinaa/clem/method-get--col--list.html | 2 - .../doc/tinaa/clem/method-get--col--vector.html | 1 - ...method-get--first--non--zero--row--in--col.html | 2 - .../clem/method-get--row--as--col--vector.html | 1 - .../clem/doc/tinaa/clem/method-get--row--list.html | 2 - .../doc/tinaa/clem/method-get--row--vector.html | 1 - external/clem/doc/tinaa/clem/method-horzcat.html | 1 - .../clem/doc/tinaa/clem/method-invert--matrix.html | 1 - external/clem/doc/tinaa/clem/method-map--col.html | 1 - .../doc/tinaa/clem/method-map--matrix--copy.html | 3 - .../doc/tinaa/clem/method-map--matrix--fit.html | 1 - .../clem/doc/tinaa/clem/method-map--matrix.html | 1 - .../clem/doc/tinaa/clem/method-map--range.html | 1 - external/clem/doc/tinaa/clem/method-map--row.html | 1 - .../doc/tinaa/clem/method-map--set--range.html | 1 - .../doc/tinaa/clem/method-map--set--val--copy.html | 1 - .../doc/tinaa/clem/method-map--set--val--fit.html | 2 - .../clem/doc/tinaa/clem/method-map--set--val.html | 1 - external/clem/doc/tinaa/clem/method-mat--abs!.html | 1 - .../doc/tinaa/clem/method-mat--abs--range!.html | 1 - .../doc/tinaa/clem/method-mat--abs--range.html | 1 - external/clem/doc/tinaa/clem/method-mat--abs.html | 1 - .../doc/tinaa/clem/method-mat--add!--range.html | 1 - external/clem/doc/tinaa/clem/method-mat--add!.html | 1 - .../doc/tinaa/clem/method-mat--add--range!.html | 1 - .../doc/tinaa/clem/method-mat--add--range.html | 1 - external/clem/doc/tinaa/clem/method-mat--add.html | 1 - .../doc/tinaa/clem/method-mat--copy--into.html | 1 - .../tinaa/clem/method-mat--copy--proto--dim.html | 3 - .../doc/tinaa/clem/method-mat--copy--proto.html | 1 - external/clem/doc/tinaa/clem/method-mat--copy.html | 1 - .../doc/tinaa/clem/method-mat--hprod!--range.html | 1 - .../clem/doc/tinaa/clem/method-mat--hprod!.html | 1 - .../doc/tinaa/clem/method-mat--hprod--range!.html | 1 - .../doc/tinaa/clem/method-mat--hprod--range.html | 1 - .../clem/doc/tinaa/clem/method-mat--hprod.html | 1 - external/clem/doc/tinaa/clem/method-mat--log!.html | 1 - .../doc/tinaa/clem/method-mat--log--range!.html | 1 - .../doc/tinaa/clem/method-mat--log--range.html | 1 - external/clem/doc/tinaa/clem/method-mat--log.html | 1 - .../doc/tinaa/clem/method-mat--mult--3--block.html | 1 - external/clem/doc/tinaa/clem/method-mat--mult.html | 1 - .../clem/doc/tinaa/clem/method-mat--mult3.html | 1 - .../doc/tinaa/clem/method-mat--scalar--op.html | 1 - .../clem/doc/tinaa/clem/method-mat--scale!.html | 1 - .../doc/tinaa/clem/method-mat--scale--range!.html | 1 - .../doc/tinaa/clem/method-mat--scale--range.html | 1 - .../clem/doc/tinaa/clem/method-mat--scale.html | 1 - .../clem/doc/tinaa/clem/method-mat--sqrt!.html | 1 - external/clem/doc/tinaa/clem/method-mat--sqrt.html | 1 - .../clem/doc/tinaa/clem/method-mat--square!.html | 1 - .../clem/doc/tinaa/clem/method-mat--square.html | 1 - .../doc/tinaa/clem/method-mat--subtr!--range.html | 1 - .../clem/doc/tinaa/clem/method-mat--subtr!.html | 1 - .../doc/tinaa/clem/method-mat--subtr--range.html | 4 - .../doc/tinaa/clem/method-mat--subtr--range3.html | 1 - .../clem/doc/tinaa/clem/method-mat--subtr.html | 4 - external/clem/doc/tinaa/clem/method-mat--trim.html | 1 - .../method-matrix--move--range--constrain.html | 1 - .../doc/tinaa/clem/method-matrix--move--range.html | 1 - .../clem/doc/tinaa/clem/method-matrix--move.html | 1 - .../clem/method-matrix--precedence--list.html | 1 - .../clem/doc/tinaa/clem/method-max--range.html | 1 - external/clem/doc/tinaa/clem/method-max--val.html | 1 - external/clem/doc/tinaa/clem/method-maxval.html | 1 - .../clem/doc/tinaa/clem/method-mean--range.html | 1 - external/clem/doc/tinaa/clem/method-mean.html | 1 - .../clem/doc/tinaa/clem/method-min--range.html | 1 - external/clem/doc/tinaa/clem/method-min--val.html | 1 - external/clem/doc/tinaa/clem/method-minval.html | 1 - .../doc/tinaa/clem/method-mlogand!--range.html | 1 - external/clem/doc/tinaa/clem/method-mlogand!.html | 1 - .../clem/doc/tinaa/clem/method-mlogand--range.html | 1 - external/clem/doc/tinaa/clem/method-mlogand.html | 1 - .../doc/tinaa/clem/method-mlogior!--range.html | 1 - external/clem/doc/tinaa/clem/method-mlogior!.html | 1 - .../clem/doc/tinaa/clem/method-mlogior--range.html | 1 - external/clem/doc/tinaa/clem/method-mlogior.html | 1 - .../doc/tinaa/clem/method-mlogxor!--range.html | 1 - external/clem/doc/tinaa/clem/method-mlogxor!.html | 1 - .../clem/doc/tinaa/clem/method-mlogxor--range.html | 1 - external/clem/doc/tinaa/clem/method-mlogxor.html | 1 - .../clem/doc/tinaa/clem/method-mnot!--range.html | 1 - external/clem/doc/tinaa/clem/method-mnot!.html | 1 - .../clem/doc/tinaa/clem/method-mnot--range.html | 1 - external/clem/doc/tinaa/clem/method-mnot.html | 1 - .../doc/tinaa/clem/method-morphological--op.html | 1 - .../clem/method-move--affine--transformation.html | 1 - .../clem/doc/tinaa/clem/method-move--element.html | 1 - external/clem/doc/tinaa/clem/method-mref.html | 1 - .../clem/doc/tinaa/clem/method-norm--0--1.html | 1 - .../clem/doc/tinaa/clem/method-norm--0--255.html | 1 - external/clem/doc/tinaa/clem/method-normalize.html | 1 - .../clem/doc/tinaa/clem/method-pad--matrix.html | 1 - .../doc/tinaa/clem/method-parameters--list.html | 1 - .../clem/doc/tinaa/clem/method-print--matrix.html | 1 - .../clem/doc/tinaa/clem/method-print--range.html | 2 - external/clem/doc/tinaa/clem/method-reshape.html | 1 - external/clem/doc/tinaa/clem/method-rows.html | 1 - external/clem/doc/tinaa/clem/method-rvref.html | 1 - .../tinaa/clem/method-sample--variance--range.html | 1 - .../doc/tinaa/clem/method-sample--variance.html | 1 - .../doc/tinaa/clem/method-scalar--divide--col.html | 1 - .../tinaa/clem/method-scalar--divide--copy.html | 1 - .../doc/tinaa/clem/method-scalar--divide--row.html | 1 - .../clem/doc/tinaa/clem/method-scalar--divide.html | 1 - .../method-scalar--double--float--divide--col.html | 1 - .../method-scalar--double--float--divide--row.html | 1 - .../doc/tinaa/clem/method-scalar--mult--col.html | 1 - .../doc/tinaa/clem/method-scalar--mult--copy.html | 1 - .../doc/tinaa/clem/method-scalar--mult--row.html | 1 - .../clem/doc/tinaa/clem/method-scalar--mult.html | 1 - .../doc/tinaa/clem/method-scalar--set--val.html | 1 - .../method-scalar--single--float--divide--col.html | 1 - .../method-scalar--single--float--divide--row.html | 1 - .../clem/doc/tinaa/clem/method-scalar--val.html | 1 - .../clem/method-separable--discrete--convolve.html | 5 - external/clem/doc/tinaa/clem/method-set--col.html | 1 - external/clem/doc/tinaa/clem/method-set--row.html | 1 - .../clem/doc/tinaa/clem/method-set--val--fit.html | 2 - external/clem/doc/tinaa/clem/method-set--val.html | 2 - external/clem/doc/tinaa/clem/method-setfmref.html | 1 - .../clem/doc/tinaa/clem/method-slot--names.html | 1 - .../tinaa/clem/method-specialized--array--p.html | 1 - .../tinaa/clem/method-subset--matrix--cols.html | 1 - .../clem/doc/tinaa/clem/method-subset--matrix.html | 1 - external/clem/doc/tinaa/clem/method-sum--cols.html | 3 - .../clem/doc/tinaa/clem/method-sum--range.html | 1 - external/clem/doc/tinaa/clem/method-sum--rows.html | 3 - .../doc/tinaa/clem/method-sum--square--range.html | 1 - .../clem/doc/tinaa/clem/method-sum--square.html | 1 - external/clem/doc/tinaa/clem/method-sum.html | 1 - .../clem/doc/tinaa/clem/method-swap--cols.html | 1 - .../clem/doc/tinaa/clem/method-swap--rows.html | 1 - external/clem/doc/tinaa/clem/method-threshold.html | 3 - .../doc/tinaa/clem/method-transpose--matrix.html | 1 - external/clem/doc/tinaa/clem/method-transpose.html | 1 - ...hod-update--affine--transformation--matrix.html | 1 - .../clem/doc/tinaa/clem/method-val--format.html | 1 - external/clem/doc/tinaa/clem/method-val.html | 1 - .../doc/tinaa/clem/method-variance--range.html | 1 - external/clem/doc/tinaa/clem/method-variance.html | 1 - external/clem/doc/tinaa/clem/method-vec--dim.html | 1 - .../clem/doc/tinaa/clem/method-vec--set--val.html | 1 - external/clem/doc/tinaa/clem/method-vec--val.html | 1 - external/clem/doc/tinaa/clem/method-vertcat.html | 1 - external/clem/doc/tinaa/index-of-class.html | 1 - external/clem/doc/tinaa/index-of-condition.html | 1 - external/clem/doc/tinaa/index-of-function.html | 1 - external/clem/doc/tinaa/index-of-macro.html | 1 - .../clem/doc/tinaa/index-of-permuted-symbols.html | 1 - external/clem/doc/tinaa/index-of-symbol.html | 1 - external/clem/doc/tinaa/index-of-variable.html | 1 - external/clem/doc/tinaa/index.html | 1 - external/clem/doc/tinaa/tinaa.css | 271 -- external/clem/make-dist.sh | 11 - external/clem/make-tinaa-docs.lisp | 19 - external/clem/src/abs.lisp | 111 - external/clem/src/add.lisp | 293 --- external/clem/src/arithmetic.lisp | 63 - external/clem/src/defmatrix-types.lisp | 148 -- external/clem/src/defmatrix.lisp | 195 -- external/clem/src/defpackage.lisp | 246 -- external/clem/src/early-matrix.lisp | 95 - external/clem/src/exponential.lisp | 40 - external/clem/src/extrema.lisp | 102 - external/clem/src/interpolation.lisp | 55 - external/clem/src/logical-operations.lisp | 134 - external/clem/src/macros.lisp | 114 - external/clem/src/matrix-classes.lisp | 121 - external/clem/src/matrix.lisp | 887 ------- external/clem/src/matrixops.lisp | 449 ---- external/clem/src/metaclasses.lisp | 195 -- external/clem/src/mloop.lisp | 49 - external/clem/src/move.lisp | 228 -- external/clem/src/mref.lisp | 166 -- external/clem/src/normalize.lisp | 22 - external/clem/src/print.lisp | 108 - external/clem/src/scalar.lisp | 50 - external/clem/src/scale.lisp | 146 -- external/clem/src/statistics.lisp | 186 -- external/clem/src/subtr.lisp | 208 -- external/clem/src/sum.lisp | 159 -- external/clem/src/transform.lisp | 414 ---- external/clem/src/typed-matrix-utils.lisp | 51 - external/clem/src/typed-matrix.lisp | 47 - .../clem/src/typed-ops/defmatrix-convolve.lisp | 137 -- external/clem/src/typed-ops/defmatrix-equal.lisp | 48 - external/clem/src/typed-ops/defmatrix-hprod.lisp | 139 -- .../clem/src/typed-ops/defmatrix-mult-block.lisp | 152 -- external/clem/src/typed-ops/defmatrix-mult.lisp | 124 - external/clem/src/typed-ops/defmatrix-scale.lisp | 82 - .../src/typed-ops/defmatrix-subset-matrix.lisp | 30 - .../clem/src/typed-ops/defmatrix-transform.lisp | 199 -- external/clem/src/vector.lisp | 188 -- external/clem/test/bench-matrix.cl | 262 -- external/clem/test/defpackage.cl | 10 - external/clem/test/test-clem.cl | 128 - external/clem/test/test-clem2.cl | 405 --- external/clem/test/test-clem3.cl | 117 - external/clem/test/test-convolve.cl | 61 - external/clem/test/test-defmatrix.cl | 103 - external/clem/test/test-hprod.cl | 187 -- external/clem/test/test-transform.cl | 22 - external/clem/version.lisp-expr | 1 - external/oct/.cvsignore | 4 - external/oct/LICENSE | 19 - external/oct/branch-test.lisp | 132 - external/oct/oct-test.system | 44 - external/oct/oct.system | 72 - external/oct/qd-class.lisp | 256 -- external/oct/qd-complex.lisp | 693 ------ external/oct/qd-const.lisp | 2591 -------------------- external/oct/qd-dd.lisp | 138 -- external/oct/qd-extra.lisp | 863 ------- external/oct/qd-format.lisp | 130 - external/oct/qd-fun.lisp | 952 ------- external/oct/qd-io.lisp | 472 ---- external/oct/qd-methods.lisp | 896 ------- external/oct/qd-package.lisp | 227 -- external/oct/qd-rep.lisp | 156 -- external/oct/qd-test.lisp | 409 --- external/oct/qd.lisp | 1149 --------- external/oct/rt-tests.lisp | 547 ----- external/oct/tests.lisp | 304 --- external/oct/timing.lisp | 176 -- external/smarkup/LICENSE | 28 - external/smarkup/README | 15 - external/smarkup/bootstrap.cl | 5 - external/smarkup/smarkup-test.asd | 27 - external/smarkup/smarkup.asd | 41 - external/smarkup/src/defpackage.cl | 11 - external/smarkup/src/filter.cl | 256 -- external/smarkup/src/latex.cl | 1050 -------- external/smarkup/src/parameters.cl | 29 - external/smarkup/src/quote-reader-macro.cl | 29 - external/smarkup/src/smarkup-asdf.cl | 91 - external/smarkup/src/smarkup.cl | 139 -- external/smarkup/src/typesetting.cl | 183 -- external/smarkup/src/xhtml-render.cl | 249 -- external/smarkup/test/defpackage.cl | 7 - external/smarkup/test/sample.bib | 30 - external/smarkup/test/sample.sexp | 17 - external/smarkup/test/smarkup-test.cl | 13 - external/smarkup/version.lisp-expr | 1 - 1396 files changed, 26395 deletions(-) delete mode 100644 external/cl-grnm/COPYING.txt delete mode 100644 external/cl-grnm/README.txt delete mode 100644 external/cl-grnm/Source delete mode 100644 external/cl-grnm/defpackage.lisp delete mode 100644 external/cl-grnm/la.lisp delete mode 100644 external/cl-grnm/neldermead.asd delete mode 100644 external/cl-grnm/neldermead.lisp delete mode 100644 external/clem/COPYRIGHT delete mode 100644 external/clem/ChangeLog delete mode 100644 external/clem/NEWS delete mode 100644 external/clem/README delete mode 100644 external/clem/benchmark/bench-add.lisp delete mode 100644 external/clem/benchmark/bench-hprod.lisp delete mode 100644 external/clem/benchmark/bench-mult.lisp delete mode 100644 external/clem/benchmark/bench-scale.lisp delete mode 100644 external/clem/benchmark/bench-subtr.lisp delete mode 100644 external/clem/benchmark/benchmarks.lisp delete mode 100644 external/clem/benchmark/defpackage.lisp delete mode 100644 external/clem/bootstrap.lisp delete mode 120000 external/clem/ch-util-test.asd delete mode 120000 external/clem/ch-util.asd delete mode 100644 external/clem/clem-benchmark.asd delete mode 100644 external/clem/clem-doc.asd delete mode 100644 external/clem/clem-test.asd delete mode 100644 external/clem/clem.asd delete mode 100644 external/clem/doc/clem-performance.pdf delete mode 100644 external/clem/doc/clem-performance.sexp delete mode 100644 external/clem/doc/clem-performance.tex delete mode 100644 external/clem/doc/clem-performance.xhtml delete mode 100644 external/clem/doc/clem.pdf delete mode 100644 external/clem/doc/clem.sexp delete mode 100644 external/clem/doc/clem.tex delete mode 100644 external/clem/doc/clem.xhtml delete mode 100644 external/clem/doc/simple.css delete mode 100644 external/clem/doc/tinaa/clem-package/class-affine--transformation--7--parameters.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-base--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-bit--scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-col--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-integer--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-number--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-real--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-row--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-sb8--scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-standard--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-t--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-typed--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-typed--mixin.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-ub8--scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/class-unsigned--byte--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/condition-matrix--argument--error.html delete mode 100644 external/clem/doc/tinaa/clem-package/condition-matrix--condition.html delete mode 100644 external/clem/doc/tinaa/clem-package/condition-matrix--error.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-%%sum--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-add--root--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-bench-badd--matrix-baref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-bilinear--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-bit--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-bitnor.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-complex--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-compute--bounds.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-constrain.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-copy--affine--transformation--7--parameters.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-copy--to--matrix--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-count--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-decf--transformation--parameters.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--binary--op!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--binary--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--abs!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--abs.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--add!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--add--number!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--add--number.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--add.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--hprod.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--log!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--log.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--min--max.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--mult.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--scale!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--scale.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--square.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--subtr.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--matrix--transform.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--move--element.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--unary--op!.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-def--unary--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-defmatrixclass.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-defmatrixfuncs.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-delistify--dsd.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-delistify.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-displace--to--1d--array.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-double--float--divide.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-double--float--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-fill--slot--from--ancestor.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-fill--standard--matrix--class--slots--from--ancestors.htm delete mode 100644 external/clem/doc/tinaa/clem-package/function-fixnum--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-fixnum1+.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-gaussian--blur.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-gaussian--kernel--1d.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-gaussian--kernel.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-get--affine--transformation--7--parameters--properties.ht delete mode 100644 external/clem/doc/tinaa/clem-package/function-get--matrix--name--for--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-get--matrix--type--for--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-graddir.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-gradmag.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-inferior.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-insert--before.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-integer--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-laplacian--2.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-laplacian.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-list--if.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-make--affine--transformation--matrix--from--7--parameters delete mode 100644 external/clem/doc/tinaa/clem-package/function-make--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-mat--add!--inline.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-mat--add--inline.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-matrix--means.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-matrix--medians.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-maybe--coerce.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-maybe--truncate.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-mloop--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-mloop.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-move--affine--transformation--7--parameters.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-parse--mloop--vars.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-print--matrix--line.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-quadratic--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-quadratic--kernel.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-real--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-remove--keyword--arg.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-resize--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-sample--variance--window.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-sb16--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-sb32--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-sb8--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-separable--morphological--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-single--float--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-standard--deviation.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-standard--matrix--class--p.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-standard--matrix--class--precedence--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-standard--matrix--class--slots.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-subclassp.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-superior.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-transform--coord.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-transformation--parameter.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-ub16--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-ub32--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-ub8--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-variance--window.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-with--map--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-with--matrix--range--do.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-with--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-with--typed--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-with--untyped--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-x--derivative.html delete mode 100644 external/clem/doc/tinaa/clem-package/function-y--derivative.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-%discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-%get--subtr--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--with--blocks.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-%separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-%transform--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-accumulator--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-add--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-add--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-affine--transform.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-allocate--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gbit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gcol--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gcomplex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gdouble--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gfixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gfloat--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---ginteger--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gmatrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gnumber--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---greal--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---grow--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gsingle--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gt--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-array---gunsigned--byte--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-binary--threshold.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-closest--common--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-complement--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-compute--mat--scale--result--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-concat--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-cvref.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-decf--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-dilate--orig.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-dilate.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-dim.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-dim1.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-element--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-erode--orig.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-erode.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-fit--value.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-get--col--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-get--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-get--first--non--zero--row--in--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-get--row--as--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-get--row--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-get--row--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-horzcat.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-identity--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-invert--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-invert--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-m+.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-m--.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-m-c.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-m-i-c.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mabs.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--set--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--add!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--add.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--into.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto--dim.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--log!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--log.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult--3--block.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult3.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scalar--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--2.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--2.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--fit!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--square!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--square.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range3.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mat--trim.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix---glist.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--argument--error--cause.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--l2--distance.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d--constrain.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--constrain.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-matrix--precedence--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-max--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-max--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-maxval.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mean--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mean.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-min--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-min--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-minval.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogand--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogand.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogior--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogior.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlognot--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlognot.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mnot!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mnot!.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mnot--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mnot.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-morphological--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-move--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-move--element.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--1.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--255.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-normalize.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-pad--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-parameters--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-print--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-print--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--integer--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--number--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--real--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--t--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-random--unsigned--byte--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-reshape.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-row--major--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-rows.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-rvref.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-scalar--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--parameters.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-set--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-set--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-specialized--array--p.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sum--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sum--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sum--rows.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sum--square--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sum--square.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-sum.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-swap--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-swap--rows.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-threshold.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-transform--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-transpose--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-transpose.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--slots.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-val--format.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-variance--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-variance.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-vec--dim.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-vec--set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-vec--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-vertcat.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-zero--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-zero--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/generic-efunction-zero--row--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-class.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-condition.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-function.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-macro.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-permuted-symbols.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-symbol.html delete mode 100644 external/clem/doc/tinaa/clem-package/index-of-variable.html delete mode 100644 external/clem/doc/tinaa/clem-package/index.html delete mode 100644 external/clem/doc/tinaa/clem-package/internal-index.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-%%sum--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-bilinear--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--binary--op!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--binary--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--abs!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--abs.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--add.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--equal.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--log!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--log.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--min--max.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--mult.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--scale!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--2.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--scale.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--square.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--matrix--transform.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--move--element.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--unary--op!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-def--unary--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-defmatrixclass.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-defmatrixfuncs.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-defmbitnor!.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-defmbitnor.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-fixnum1+.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-matrix--dimensions.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-matrix--total--size.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-maybe--coerce.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-maybe--truncate.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-mloop--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-mloop.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-quadratic--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-quadratic--kernel.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--map--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--matrix--range--do.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--typed--map--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--accessor.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--typed--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/macro-with--untyped--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-%discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-%get--subtr--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-%mat--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-%mat--mult--with--blocks.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-%separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-%transform--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-accumulator--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-add--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-add--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-affine--transform.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-allocate--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-binary--threshold.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-closest--common--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-complement--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-compute--mat--scale--result--class.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-concat--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-copy--to--ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-cvref.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-decf--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-dilate--orig.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-dilate.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-dim.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-dim1.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-element--type.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-erode--orig.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-erode.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-fit--value.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-get--col--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-get--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-get--first--non--zero--row--in--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-get--row--as--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-get--row--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-get--row--vector.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-horzcat.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-invert--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-invert--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mabs.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--matrix--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--matrix--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--set--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--set--val--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-map--set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--abs!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--abs--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--abs--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--abs.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--add!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--add--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--add--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--add.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--copy--into.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--copy--proto--dim.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--copy--proto.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--equal--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--equal.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--hprod--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--hprod--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--hprod.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--log!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--log--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--log--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--log.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--mult--3--block.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--mult.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--mult3.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scalar--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--2.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--fit!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--range!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--range--2.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--range--fit!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--scale.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--sqrt!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--sqrt.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--square!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--square.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--subtr!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--subtr--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--subtr--range3.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--subtr.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mat--trim.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix---glist.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--argument--error--cause.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--l2--distance.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d--constrain.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--move--range--constrain.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--move--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-matrix--precedence--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-max--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-max--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-maxval.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mbitnor!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mbitnor!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mbitnor--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mbitnor.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mean--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mean.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-min--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-min--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-minval.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogand!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogand!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogand--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogand.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogior!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogior!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogior--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogior.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlognot--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlognot.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogxor!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogxor!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogxor--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mlogxor.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mnot!--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mnot!.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mnot--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mnot.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-morphological--op.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-move--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-move--element.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-norm--0--1.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-norm--0--255.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-normalize.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-pad--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-parameters--list.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-print--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-print--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-reshape.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-row--major--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-rows.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-rvref.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sample--variance--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sample--variance.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--divide--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--divide.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--mult--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--mult--copy.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--mult--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--mult.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-scalar--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-set--affine--transformation--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-set--affine--transformation--parameters.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-set--col.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-set--row.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-setfmref.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-setfrow--major--mref.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-slot--names.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-specialized--array--p.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-subset--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sum--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sum--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sum--rows.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sum--square--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sum--square.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-sum.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-swap--cols.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-swap--rows.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-threshold.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-transpose--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-transpose.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-update--affine--transformation--matrix.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-update--affine--transformation--slots.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-val--format.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-variance--range.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-variance.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-vec--dim.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-vec--set--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-vec--val.html delete mode 100644 external/clem/doc/tinaa/clem-package/method-vertcat.html delete mode 100644 external/clem/doc/tinaa/clem/class-affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/class-base--vector.html delete mode 100644 external/clem/doc/tinaa/clem/class-bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-bit--scalar.html delete mode 100644 external/clem/doc/tinaa/clem/class-col--vector.html delete mode 100644 external/clem/doc/tinaa/clem/class-complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-integer--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-number--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-real--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-row--vector.html delete mode 100644 external/clem/doc/tinaa/clem/class-sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-sb8--scalar.html delete mode 100644 external/clem/doc/tinaa/clem/class-scalar.html delete mode 100644 external/clem/doc/tinaa/clem/class-single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-standard--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem/class-t--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-typed--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-typed--mixin.html delete mode 100644 external/clem/doc/tinaa/clem/class-ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/class-ub8--scalar.html delete mode 100644 external/clem/doc/tinaa/clem/condition-matrix--condition.html delete mode 100644 external/clem/doc/tinaa/clem/condition-matrix--error.html delete mode 100644 external/clem/doc/tinaa/clem/function-%%sum--range.html delete mode 100644 external/clem/doc/tinaa/clem/function-add--root--class.html delete mode 100644 external/clem/doc/tinaa/clem/function-bilinear--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem/function-bit--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-complex--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-compute--bounds.html delete mode 100644 external/clem/doc/tinaa/clem/function-constrain.html delete mode 100644 external/clem/doc/tinaa/clem/function-copy--to--matrix--type.html delete mode 100644 external/clem/doc/tinaa/clem/function-count--range.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--binary--op!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--binary--op.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--abs!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--abs.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--add!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--add--number!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--add--number.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--add--scalar!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--add--scalar.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--add.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--hprod.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--log!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--log.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--min--max.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--mult.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--scale!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--scale.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--square.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--subtr.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--matrix--transform.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--move--element.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--unary--op!.html delete mode 100644 external/clem/doc/tinaa/clem/function-def--unary--op.html delete mode 100644 external/clem/doc/tinaa/clem/function-defmatrixfuncs.html delete mode 100644 external/clem/doc/tinaa/clem/function-defmatrixtype.html delete mode 100644 external/clem/doc/tinaa/clem/function-delistify--dsd.html delete mode 100644 external/clem/doc/tinaa/clem/function-delistify.html delete mode 100644 external/clem/doc/tinaa/clem/function-displace--to--1d--array.html delete mode 100644 external/clem/doc/tinaa/clem/function-double--float--divide.html delete mode 100644 external/clem/doc/tinaa/clem/function-double--float--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-fill--slot--from--ancestor.html delete mode 100644 external/clem/doc/tinaa/clem/function-fill--standard--matrix--class--slots--from--ancestors.html delete mode 100644 external/clem/doc/tinaa/clem/function-fixnum--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-fixnum1+.html delete mode 100644 external/clem/doc/tinaa/clem/function-gaussian--blur.html delete mode 100644 external/clem/doc/tinaa/clem/function-gaussian--kernel--1d.html delete mode 100644 external/clem/doc/tinaa/clem/function-gaussian--kernel.html delete mode 100644 external/clem/doc/tinaa/clem/function-get--matrix--name--for--type.html delete mode 100644 external/clem/doc/tinaa/clem/function-get--matrix--type--for--type.html delete mode 100644 external/clem/doc/tinaa/clem/function-gradmag.html delete mode 100644 external/clem/doc/tinaa/clem/function-inferior.html delete mode 100644 external/clem/doc/tinaa/clem/function-insert--before.html delete mode 100644 external/clem/doc/tinaa/clem/function-integer--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-list--if.html delete mode 100644 external/clem/doc/tinaa/clem/function-make--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/function-mat--add!--inline.html delete mode 100644 external/clem/doc/tinaa/clem/function-mat--add--inline.html delete mode 100644 external/clem/doc/tinaa/clem/function-maybe--coerce.html delete mode 100644 external/clem/doc/tinaa/clem/function-maybe--truncate.html delete mode 100644 external/clem/doc/tinaa/clem/function-mloop--range.html delete mode 100644 external/clem/doc/tinaa/clem/function-mloop.html delete mode 100644 external/clem/doc/tinaa/clem/function-parse--mloop--vars.html delete mode 100644 external/clem/doc/tinaa/clem/function-print--matrix--line.html delete mode 100644 external/clem/doc/tinaa/clem/function-quadratic--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem/function-quadratic--kernel.html delete mode 100644 external/clem/doc/tinaa/clem/function-real--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-remove--keyword--arg.html delete mode 100644 external/clem/doc/tinaa/clem/function-resize--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/function-sample--variance--window.html delete mode 100644 external/clem/doc/tinaa/clem/function-sb16--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-sb32--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-sb8--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-scalar.html delete mode 100644 external/clem/doc/tinaa/clem/function-separable--morphological--op.html delete mode 100644 external/clem/doc/tinaa/clem/function-single--float--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-standard--matrix--class--p.html delete mode 100644 external/clem/doc/tinaa/clem/function-standard--matrix--class--precedence--list.html delete mode 100644 external/clem/doc/tinaa/clem/function-standard--matrix--class--slots.html delete mode 100644 external/clem/doc/tinaa/clem/function-subclassp.html delete mode 100644 external/clem/doc/tinaa/clem/function-superior.html delete mode 100644 external/clem/doc/tinaa/clem/function-transform--coord.html delete mode 100644 external/clem/doc/tinaa/clem/function-ub16--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-ub32--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-ub8--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/function-variance--window.html delete mode 100644 external/clem/doc/tinaa/clem/function-with--map--range.html delete mode 100644 external/clem/doc/tinaa/clem/function-with--matrix--range--do.html delete mode 100644 external/clem/doc/tinaa/clem/function-with--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/function-with--typed--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/function-with--untyped--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/function-x--derivative.html delete mode 100644 external/clem/doc/tinaa/clem/function-y--derivative.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-%discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-%get--subtr--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-%mat--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-%mat--mult--with--blocks.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-%separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-%transform--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-accumulator--type.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-add--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-add--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-affine--transform.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-allocate--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gbit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gcol--vector.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gcomplex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gdouble--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gfixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gfloat--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---ginteger--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gmatrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gnumber--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---greal--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---grow--vector.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gsb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gsb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gsb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gsingle--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gt--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-array---gub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-closest--common--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-cols.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-concat--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-copy--to--ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-cvref.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-decf--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-dilate--orig.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-dilate.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-dim.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-element--type.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-erode--orig.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-erode.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-fit--value.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-fit.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-get--col--list.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-get--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-get--first--non--zero--row--in--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-get--row--as--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-get--row--list.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-get--row--vector.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-horzcat.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-identity--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-invert--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-m+.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-m--.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-m-c.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-m-i-c.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--matrix--copy.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--matrix--fit.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--set--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--set--val--copy.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-map--set--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--abs!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--abs--range!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--abs--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--abs.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--add!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--add!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--add--range!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--add--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--add.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--copy--into.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--copy--proto--dim.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--copy--proto.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--copy.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--hprod!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--hprod--range!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--hprod--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--hprod.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--log!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--log--range!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--log--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--log.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--mult--3--block.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--mult.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--mult3.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--scalar--op.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--scale!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--scale--range!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--scale--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--scale.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--sqrt!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--sqrt.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--square!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--square.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--subtr!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--subtr--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--subtr--range3.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--subtr.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mat--trim.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-matrix--move--range--constrain.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-matrix--move--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-matrix--precedence--list.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-max--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-max--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-maxval.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mean--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mean.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-min--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-min--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-minval.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogand!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogand!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogand--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogand.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogior!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogior!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogior--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogior.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogxor!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogxor!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogxor--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mlogxor.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mnot!--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mnot!.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mnot--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mnot.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-morphological--op.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-move--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-move--element.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-mref.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-norm--0--1.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-norm--0--255.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-normalize.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-pad--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-parameters--list.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-print--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-print--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--integer--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--number--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--real--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--t--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-random--ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-reshape.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-rows.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-rvref.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sample--variance--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sample--variance.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--divide--copy.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--divide.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--mult--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--mult--copy.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--mult--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--mult.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--set--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-scalar--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-set--col.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-set--row.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-set--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-specialized--array--p.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-subset--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sum--cols.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sum--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sum--rows.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sum--square--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sum--square.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-sum.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-swap--cols.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-swap--rows.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-threshold.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-transform--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-transpose--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-transpose.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-update--affine--transformation--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-val--format.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-variance--range.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-variance.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-vec--dim.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-vec--set--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-vec--val.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-vertcat.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-zero--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-zero--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/generic function-zero--row--vector.html delete mode 100644 external/clem/doc/tinaa/clem/macro-%%sum--range.html delete mode 100644 external/clem/doc/tinaa/clem/macro-bilinear--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--binary--op!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--binary--op.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--abs!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--abs.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--add!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--add--number!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--add--number.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--add.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--hprod.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--log!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--log.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--min--max.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--mref.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--mult.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--scale!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--scale.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--square.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--subtr.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--matrix--transform.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--move--element.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--unary--op!.html delete mode 100644 external/clem/doc/tinaa/clem/macro-def--unary--op.html delete mode 100644 external/clem/doc/tinaa/clem/macro-defmatrixfuncs.html delete mode 100644 external/clem/doc/tinaa/clem/macro-defmatrixtype.html delete mode 100644 external/clem/doc/tinaa/clem/macro-fixnum1+.html delete mode 100644 external/clem/doc/tinaa/clem/macro-maybe--coerce.html delete mode 100644 external/clem/doc/tinaa/clem/macro-maybe--truncate.html delete mode 100644 external/clem/doc/tinaa/clem/macro-mloop--range.html delete mode 100644 external/clem/doc/tinaa/clem/macro-mloop.html delete mode 100644 external/clem/doc/tinaa/clem/macro-quadratic--interpolate.html delete mode 100644 external/clem/doc/tinaa/clem/macro-quadratic--kernel.html delete mode 100644 external/clem/doc/tinaa/clem/macro-with--map--range.html delete mode 100644 external/clem/doc/tinaa/clem/macro-with--matrix--range--do.html delete mode 100644 external/clem/doc/tinaa/clem/macro-with--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/macro-with--typed--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/macro-with--untyped--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/method-%discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/method-%get--subtr--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem/method-%mat--mult--block.html delete mode 100644 external/clem/doc/tinaa/clem/method-%mat--mult--with--blocks.html delete mode 100644 external/clem/doc/tinaa/clem/method-%separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/method-%transform--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-accumulator--type.html delete mode 100644 external/clem/doc/tinaa/clem/method-add--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-add--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-affine--transform.html delete mode 100644 external/clem/doc/tinaa/clem/method-allocate--matrix--vals.html delete mode 100644 external/clem/doc/tinaa/clem/method-closest--common--matrix--class.html delete mode 100644 external/clem/doc/tinaa/clem/method-cols.html delete mode 100644 external/clem/doc/tinaa/clem/method-concat--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--bit--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--complex--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--double--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--fixnum--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--sb16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--sb32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--sb8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--single--float--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--ub16--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--ub32--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-copy--to--ub8--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-cvref.html delete mode 100644 external/clem/doc/tinaa/clem/method-decf--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/method-dilate--orig.html delete mode 100644 external/clem/doc/tinaa/clem/method-dilate.html delete mode 100644 external/clem/doc/tinaa/clem/method-dim.html delete mode 100644 external/clem/doc/tinaa/clem/method-discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/method-element--type.html delete mode 100644 external/clem/doc/tinaa/clem/method-erode--orig.html delete mode 100644 external/clem/doc/tinaa/clem/method-erode.html delete mode 100644 external/clem/doc/tinaa/clem/method-fit--value.html delete mode 100644 external/clem/doc/tinaa/clem/method-fit.html delete mode 100644 external/clem/doc/tinaa/clem/method-get--col--list.html delete mode 100644 external/clem/doc/tinaa/clem/method-get--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem/method-get--first--non--zero--row--in--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-get--row--as--col--vector.html delete mode 100644 external/clem/doc/tinaa/clem/method-get--row--list.html delete mode 100644 external/clem/doc/tinaa/clem/method-get--row--vector.html delete mode 100644 external/clem/doc/tinaa/clem/method-horzcat.html delete mode 100644 external/clem/doc/tinaa/clem/method-invert--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--matrix--copy.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--matrix--fit.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--set--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--set--val--copy.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem/method-map--set--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--abs!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--abs--range!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--abs--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--abs.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--add!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--add!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--add--range!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--add--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--add.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--copy--into.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--copy--proto--dim.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--copy--proto.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--copy.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--hprod!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--hprod!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--hprod--range!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--hprod--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--hprod.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--log!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--log--range!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--log--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--log.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--mult--3--block.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--mult.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--mult3.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--scalar--op.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--scale!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--scale--range!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--scale--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--scale.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--sqrt!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--sqrt.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--square!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--square.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--subtr!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--subtr!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--subtr--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--subtr--range3.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--subtr.html delete mode 100644 external/clem/doc/tinaa/clem/method-mat--trim.html delete mode 100644 external/clem/doc/tinaa/clem/method-matrix--move--range--constrain.html delete mode 100644 external/clem/doc/tinaa/clem/method-matrix--move--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-matrix--move.html delete mode 100644 external/clem/doc/tinaa/clem/method-matrix--precedence--list.html delete mode 100644 external/clem/doc/tinaa/clem/method-max--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-max--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-maxval.html delete mode 100644 external/clem/doc/tinaa/clem/method-mean--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mean.html delete mode 100644 external/clem/doc/tinaa/clem/method-min--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-min--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-minval.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogand!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogand!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogand--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogand.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogior!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogior!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogior--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogior.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogxor!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogxor!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogxor--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mlogxor.html delete mode 100644 external/clem/doc/tinaa/clem/method-mnot!--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mnot!.html delete mode 100644 external/clem/doc/tinaa/clem/method-mnot--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-mnot.html delete mode 100644 external/clem/doc/tinaa/clem/method-morphological--op.html delete mode 100644 external/clem/doc/tinaa/clem/method-move--affine--transformation.html delete mode 100644 external/clem/doc/tinaa/clem/method-move--element.html delete mode 100644 external/clem/doc/tinaa/clem/method-mref.html delete mode 100644 external/clem/doc/tinaa/clem/method-norm--0--1.html delete mode 100644 external/clem/doc/tinaa/clem/method-norm--0--255.html delete mode 100644 external/clem/doc/tinaa/clem/method-normalize.html delete mode 100644 external/clem/doc/tinaa/clem/method-pad--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-parameters--list.html delete mode 100644 external/clem/doc/tinaa/clem/method-print--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-print--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-reshape.html delete mode 100644 external/clem/doc/tinaa/clem/method-rows.html delete mode 100644 external/clem/doc/tinaa/clem/method-rvref.html delete mode 100644 external/clem/doc/tinaa/clem/method-sample--variance--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-sample--variance.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--divide--copy.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--divide.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--double--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--double--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--mult--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--mult--copy.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--mult--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--mult.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--set--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--single--float--divide--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--single--float--divide--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-scalar--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-separable--discrete--convolve.html delete mode 100644 external/clem/doc/tinaa/clem/method-set--col.html delete mode 100644 external/clem/doc/tinaa/clem/method-set--row.html delete mode 100644 external/clem/doc/tinaa/clem/method-set--val--fit.html delete mode 100644 external/clem/doc/tinaa/clem/method-set--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-setfmref.html delete mode 100644 external/clem/doc/tinaa/clem/method-slot--names.html delete mode 100644 external/clem/doc/tinaa/clem/method-specialized--array--p.html delete mode 100644 external/clem/doc/tinaa/clem/method-subset--matrix--cols.html delete mode 100644 external/clem/doc/tinaa/clem/method-subset--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-sum--cols.html delete mode 100644 external/clem/doc/tinaa/clem/method-sum--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-sum--rows.html delete mode 100644 external/clem/doc/tinaa/clem/method-sum--square--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-sum--square.html delete mode 100644 external/clem/doc/tinaa/clem/method-sum.html delete mode 100644 external/clem/doc/tinaa/clem/method-swap--cols.html delete mode 100644 external/clem/doc/tinaa/clem/method-swap--rows.html delete mode 100644 external/clem/doc/tinaa/clem/method-threshold.html delete mode 100644 external/clem/doc/tinaa/clem/method-transpose--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-transpose.html delete mode 100644 external/clem/doc/tinaa/clem/method-update--affine--transformation--matrix.html delete mode 100644 external/clem/doc/tinaa/clem/method-val--format.html delete mode 100644 external/clem/doc/tinaa/clem/method-val.html delete mode 100644 external/clem/doc/tinaa/clem/method-variance--range.html delete mode 100644 external/clem/doc/tinaa/clem/method-variance.html delete mode 100644 external/clem/doc/tinaa/clem/method-vec--dim.html delete mode 100644 external/clem/doc/tinaa/clem/method-vec--set--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-vec--val.html delete mode 100644 external/clem/doc/tinaa/clem/method-vertcat.html delete mode 100644 external/clem/doc/tinaa/index-of-class.html delete mode 100644 external/clem/doc/tinaa/index-of-condition.html delete mode 100644 external/clem/doc/tinaa/index-of-function.html delete mode 100644 external/clem/doc/tinaa/index-of-macro.html delete mode 100644 external/clem/doc/tinaa/index-of-permuted-symbols.html delete mode 100644 external/clem/doc/tinaa/index-of-symbol.html delete mode 100644 external/clem/doc/tinaa/index-of-variable.html delete mode 100644 external/clem/doc/tinaa/index.html delete mode 100644 external/clem/doc/tinaa/tinaa.css delete mode 100644 external/clem/make-dist.sh delete mode 100644 external/clem/make-tinaa-docs.lisp delete mode 100644 external/clem/src/abs.lisp delete mode 100644 external/clem/src/add.lisp delete mode 100644 external/clem/src/arithmetic.lisp delete mode 100644 external/clem/src/defmatrix-types.lisp delete mode 100644 external/clem/src/defmatrix.lisp delete mode 100644 external/clem/src/defpackage.lisp delete mode 100644 external/clem/src/early-matrix.lisp delete mode 100644 external/clem/src/exponential.lisp delete mode 100644 external/clem/src/extrema.lisp delete mode 100644 external/clem/src/interpolation.lisp delete mode 100644 external/clem/src/logical-operations.lisp delete mode 100644 external/clem/src/macros.lisp delete mode 100644 external/clem/src/matrix-classes.lisp delete mode 100644 external/clem/src/matrix.lisp delete mode 100644 external/clem/src/matrixops.lisp delete mode 100644 external/clem/src/metaclasses.lisp delete mode 100644 external/clem/src/mloop.lisp delete mode 100644 external/clem/src/move.lisp delete mode 100644 external/clem/src/mref.lisp delete mode 100644 external/clem/src/normalize.lisp delete mode 100644 external/clem/src/print.lisp delete mode 100644 external/clem/src/scalar.lisp delete mode 100644 external/clem/src/scale.lisp delete mode 100644 external/clem/src/statistics.lisp delete mode 100644 external/clem/src/subtr.lisp delete mode 100644 external/clem/src/sum.lisp delete mode 100644 external/clem/src/transform.lisp delete mode 100644 external/clem/src/typed-matrix-utils.lisp delete mode 100644 external/clem/src/typed-matrix.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-convolve.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-equal.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-hprod.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-mult-block.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-mult.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-scale.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-subset-matrix.lisp delete mode 100644 external/clem/src/typed-ops/defmatrix-transform.lisp delete mode 100644 external/clem/src/vector.lisp delete mode 100644 external/clem/test/bench-matrix.cl delete mode 100644 external/clem/test/defpackage.cl delete mode 100644 external/clem/test/test-clem.cl delete mode 100644 external/clem/test/test-clem2.cl delete mode 100644 external/clem/test/test-clem3.cl delete mode 100644 external/clem/test/test-convolve.cl delete mode 100644 external/clem/test/test-defmatrix.cl delete mode 100644 external/clem/test/test-hprod.cl delete mode 100644 external/clem/test/test-transform.cl delete mode 100644 external/clem/version.lisp-expr delete mode 100644 external/oct/.cvsignore delete mode 100644 external/oct/LICENSE delete mode 100644 external/oct/branch-test.lisp delete mode 100644 external/oct/oct-test.system delete mode 100644 external/oct/oct.system delete mode 100644 external/oct/qd-class.lisp delete mode 100644 external/oct/qd-complex.lisp delete mode 100644 external/oct/qd-const.lisp delete mode 100644 external/oct/qd-dd.lisp delete mode 100644 external/oct/qd-extra.lisp delete mode 100644 external/oct/qd-format.lisp delete mode 100644 external/oct/qd-fun.lisp delete mode 100644 external/oct/qd-io.lisp delete mode 100644 external/oct/qd-methods.lisp delete mode 100644 external/oct/qd-package.lisp delete mode 100644 external/oct/qd-rep.lisp delete mode 100644 external/oct/qd-test.lisp delete mode 100644 external/oct/qd.lisp delete mode 100644 external/oct/rt-tests.lisp delete mode 100644 external/oct/tests.lisp delete mode 100644 external/oct/timing.lisp delete mode 100644 external/smarkup/LICENSE delete mode 100644 external/smarkup/README delete mode 100644 external/smarkup/bootstrap.cl delete mode 100644 external/smarkup/smarkup-test.asd delete mode 100644 external/smarkup/smarkup.asd delete mode 100644 external/smarkup/src/defpackage.cl delete mode 100644 external/smarkup/src/filter.cl delete mode 100644 external/smarkup/src/latex.cl delete mode 100644 external/smarkup/src/parameters.cl delete mode 100644 external/smarkup/src/quote-reader-macro.cl delete mode 100644 external/smarkup/src/smarkup-asdf.cl delete mode 100644 external/smarkup/src/smarkup.cl delete mode 100644 external/smarkup/src/typesetting.cl delete mode 100644 external/smarkup/src/xhtml-render.cl delete mode 100644 external/smarkup/test/defpackage.cl delete mode 100644 external/smarkup/test/sample.bib delete mode 100644 external/smarkup/test/sample.sexp delete mode 100644 external/smarkup/test/smarkup-test.cl delete mode 100644 external/smarkup/version.lisp-expr diff --git a/external/cl-grnm/COPYING.txt b/external/cl-grnm/COPYING.txt deleted file mode 100644 index 8026589..0000000 --- a/external/cl-grnm/COPYING.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2006, Mario S. Mommer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/external/cl-grnm/README.txt b/external/cl-grnm/README.txt deleted file mode 100644 index 3c0f85b..0000000 --- a/external/cl-grnm/README.txt +++ /dev/null @@ -1,188 +0,0 @@ - Common-Lisp implementations of the - ================================== - - grid-restrained and traditional - =============================== - - Nelder-Mead algorithms - ====================== - - - -Introduction ------------- - - These common lisp sources contain two variants of the Nelder-Mead - algorithm. The original algorithm [1] and a provably convergent, - reliable variant by A. Bürmen et al [4], called the "Grid Restrained - Nelder Mead Algorithm" (GRNMA). - - It should be mentioned that other, provably convergent variant exist - [2,3], which aren't included here. The only reasons are lack of - time, and the fact that the implemented variant does not require a - simple descent condition, putting it closer to the original. - - Other than that, and based on the article [4], the performance of - these methods seems to be about equal in terms of number of function - evaluations. As a side effect of the additional reliability, both - tend to be a lot more efficient than the original algorithm even - when it does not fail. In particular when the number of dimensions - increases. As a test, one might try the GRNM, - - (grnm-optimize #'standard-quadratic - (make-array 30 :initial-element 1.0d0) :verbose t) - - and compare with the original Nelder-Mead, - - (nm-optimize #'standard-quadratic - (make-array 30 :initial-element 1.0d0) :verbose t) - - and observe the difference in number of function evaluations (the - last value returned). - - (This exercise also serves to illustrate the overall deficiencies of - direct search algorithms when applied to higher dimensional - problems.) - - This software is provided under the MIT licence; see COPYING.txt for - details. - -Usage ------ - - This implementation of the grid restrained Nelder-Mead algorithm - expects at least two parameters: the objective function, and an - initial guess. It returns four values; - - * the minimizer, - * the minimum, - * the last simplex, - * and the number of function evaluations. - - The objective function should accept a double-float array as its - argument. - - The initial guess will usually be an array of double-float numbers - (but instead an object of the class NM-SIMPLEX may also be provided; - see below). For example, - - (grnm-optimize #'rosenbrock #(40.0d0 40.0d0)) - - finds the minimum of the Rosenbrock function, and - - (grnm-optimize #'standard-quadratic - (make-array 30 :initial-element 1.0d0)) - - finds the minimum of the standard quadratic function in 30 - dimensions. - - A few keyword arguments can customize the behavior. These are - - :verbose (default: NIL) - :converged-p (default: (burmen-et-al-convergence-test)) - :max-function-calls (default: NIL; => as many as needed) - - - :verbose (default: NIL) - - Pass T here if you want to see some progress report. The amount of - output can be controlled by setting *verbose-level* to 1 or 2. The - difference is that with 1 (the default) only the best value of the - simplex is shown, while with 2 the whole simplex is printed on - each iteration. - - :converged-p (default: (burmen-et-al-convergence-test)) - - The burmen-et-al-convergence-test is, as the name suggests, the - convergence test used in the article by Burmen et al. It accepts a - few parameters: tol-x, tol-f and rel; please see the article for - further details. - - Another convergence criterion that can be given is (pp-volume-test - ), which returns true once the parallelogram(!) spanned by the - vertices of the simplex has a volume lower than to the power - of N, where N is the dimension of the problem. This is a rather - expensive test, as it involves computing a QR decomposition of an N - by N matrix on each call. - - If you are not in the mood of taking prisoners, you might as well - pass (constantly NIL) as the convergence criterion. This has as a - consequence that the iteration continues until the simplex - collapses, which in floating-point arithmetic happens in finite - time. The grid restrained Nelder-Mead algorithm should have - converged by then. - - :max-function-calls (default: NIL) - - Maximum number of objective function evaluations. After that many - function evaluations, this implementation of the algorithm will - declare convergence to have occurred. - - The actual number of function calls might be slightly larger (at - most by N), as the relevant condition is only checked in certain - situations. - -Utilities/Misc --------------- - - NM-optimize - - Apart from the grid-restrained Nelder Mead algorithm, the - traditional variant is also provided. The corresponding function - is named NM-optimize, and its usage is the same as for - GRNM-optimize. - - The only difference is that :max-function-calls has a default - value of 100000. Otherwise the algorithm might well iterate - forever. - - Initial-simplex :displace - - Constructs an initial simplex with the double-float array as on of its corners. - - The displacement can be a an array of double floats or a - number. In the first case, the additional vertices of the simplex - are build by adding to each component of the the - corresponding component in . If it is a number, then - the additional vertices are build by adding to each - component of the . - -Tips & Tricks -------------- - - * One can try to solve constrained optimization problems by returning - - MOST-POSITIVE-DOUBLE-FLOAT - - whenever the objective function is called with an argument that - violates the constraints. Mathematically, this falls out of the - theory, but it works most of the time. - - * If your objective function is noisy or not smooth (for instance, if - its first derivatives are not continuous) it is a good idea to - restart the algorithm. Remember that convergence is only - guaranteed if the objective function is at least C^1. - -References ----------- - -[1] J.A. Nelder and R. Mead, "A simplex method for function - minimization," The Computer Journal, vol. 7, pp. 308-313, 1965. - - -[2] P. Tseng, "Fortified-descent simplicial search method: A general - approach," SIAM Journal on Optimization, vol. 10, pp. 269-288, - 1999. - -[3] C.J. Price, I.D. Coope, and D. Byatt, "A convergent variant of the - Nelder-Mead algorithm," Journal of Optimization Theory and - Applications, vol. 113, pp. 5-19, 2002. - -[4] A. Bürmen, J. Puhan and T. Tuma, "Grid Restrained Nelder-Mead - Algorithm", Computational Optimization and Applications, vol. - 34, no. 3, pp. 359 - 375, 2006. - - --------- -Mario S. Mommer, November 2006 diff --git a/external/cl-grnm/Source b/external/cl-grnm/Source deleted file mode 100644 index 9f9fd7a..0000000 --- a/external/cl-grnm/Source +++ /dev/null @@ -1,2 +0,0 @@ - -http://prxq.wordpress.com/2006/11/05/grid-restrained-nelder-mead/ diff --git a/external/cl-grnm/defpackage.lisp b/external/cl-grnm/defpackage.lisp deleted file mode 100644 index 5bff3ab..0000000 --- a/external/cl-grnm/defpackage.lisp +++ /dev/null @@ -1,5 +0,0 @@ -(defpackage #:neldermead - (:use :cl) - (:export :nm-optimize :grnm-optimize :initial-simplex - :rosenbrock :standard-quadratic :pp-volume-test - :burmen-et-al-convergence-test)) \ No newline at end of file diff --git a/external/cl-grnm/la.lisp b/external/cl-grnm/la.lisp deleted file mode 100644 index 63e91a6..0000000 --- a/external/cl-grnm/la.lisp +++ /dev/null @@ -1,95 +0,0 @@ -(in-package :neldermead) - -;; Simple matrix-vector facility. Optimized for staying out of the way. -(defmacro with-matrix-dimensions (varforms &body body) - (let ((form `(progn ,@body))) - (dolist (vform varforms) - (setf form - `(destructuring-bind ,(car vform) - (array-dimensions ,(cadr vform)) - (declare (fixnum ,@(car vform)) - (ignorable ,@(car vform))) - ,form))) - form)) - -(defun ip (v w &optional (start 0)) - (let ((l (length v)) - (ax 0.0d0)) - (dotimes (i (- l start)) - (incf ax (* (aref v (+ i start)) - (aref w (+ i start))))) - ax)) - -(defun norm (v &optional (start 0)) - (sqrt (ip v v start))) - -(defun make-matrix (m n) - (make-array (list m n) - :element-type 'double-float - :initial-element 0.0d0)) - -(defun make-vector (n &key (initial-element 0.0d0)) - (make-array n - :element-type 'double-float - :initial-element initial-element)) - -(defun v*c (vector constant) - (let* ((n (length vector)) - (res (make-vector n))) - (dotimes (i n) - (setf (aref res i) - (* constant (aref vector i)))) - res)) - -(defun v+w*c (v w c) - (assert (= (length v) (length w))) - (let* ((n (length v)) - (res (make-vector n))) - (dotimes (i n) - (setf (aref res i) - (+ (aref v i) - (* c (aref w i))))) - res)) - -(defun qr-factorization (mat &key (with-q t)) - (declare (type (simple-array double-float (* *)) mat) - (optimize (speed 3) (safety 0))) - (with-matrix-dimensions (((m n) mat)) - (let ((q (when with-q - (let ((pq (make-matrix m n))) - (declare (type (simple-array double-float (* *)) pq)) - (dotimes (i (min m n)) - (setf (aref pq i i) 1.0d0)) - pq)))) - - (loop for i from 0 below (- m 1) do - (loop for j from (+ i 1) below m do - (let ((a (aref mat i i)) - (b (aref mat j i))) - (when (/= b 0.0d0) - (let* ((r (sqrt (+ (* a a) (* b b)))) - (c (/ a r)) - (s (/ b r))) - - (loop for k from i below m do - (let ((olda (aref mat i k)) - (oldb (aref mat j k))) - - (setf (aref mat i k) - (+ (* c olda) (* s oldb)) - (aref mat j k) - (+ (* (- s) olda) (* c oldb))))) - - (when with-q - (let ((q q)) - (declare (type (simple-array double-float (* *)) q)) - (loop for k from 0 below m do - (let ((olda (aref q k i)) - (oldb (aref q k j))) - - (setf (aref q k i) - (+ (* c olda) (* s oldb)) - (aref q k j) - (+ (* (- s) olda) (* c oldb)))))))))))) - - (values mat q)))) diff --git a/external/cl-grnm/neldermead.asd b/external/cl-grnm/neldermead.asd deleted file mode 100644 index b86ab74..0000000 --- a/external/cl-grnm/neldermead.asd +++ /dev/null @@ -1,11 +0,0 @@ -; -*- lisp -*- -(defpackage #:neldermead-asd - (:use :cl :asdf)) - -(in-package :neldermead-asd) - -(defsystem :neldermead - :serial t - :components ((:file "defpackage") - (:file "la") - (:file "neldermead"))) \ No newline at end of file diff --git a/external/cl-grnm/neldermead.lisp b/external/cl-grnm/neldermead.lisp deleted file mode 100644 index 94199eb..0000000 --- a/external/cl-grnm/neldermead.lisp +++ /dev/null @@ -1,707 +0,0 @@ -(in-package :neldermead) - -(defclass cached-simplex-data () - ((pseudopivot :initform nil) - (q-factor :initform nil) - (side-vectors :initform nil) - (r-factor :initform nil) - (dv :initform nil - :initarg :dv - :accessor dv) - (dmin :initform nil - :initarg :dmin - :accessor dmin) - (best-before-reshape :initform nil - :initarg :best-before-reshape - :accessor best-before-reshape))) - -(defclass nm-simplex () - ((x :accessor x - :initarg :x) - (fx :accessor fx - :initarg :fx) - (pmap :accessor pmap - :initarg :pmap) - (data :accessor data - :initform nil))) - -(defclass grid () - ((z :accessor grid-z :initarg :z) - (delta :accessor delta :initarg :delta))) - -(defvar *verbose-level* 1) - -(defmethod print-object ((s nm-simplex) stream) - (format stream "#")) - -(defmethod xk ((s nm-simplex) k) - (aref (x s) (aref (pmap s) k))) - -(defmethod (setf xk) (nv (s nm-simplex) k) - (setf (aref (x s) (aref (pmap s) k)) nv)) - -(defmethod fk ((s nm-simplex) k) - (aref (fx s) (aref (pmap s) k))) - -(defmethod (setf fk) (nv (s nm-simplex) k) - (setf (aref (fx s) (aref (pmap s) k)) nv)) - -(defmethod sort-simplex ((s nm-simplex)) - (sort (pmap s) #'< :key #'(lambda (k) (aref (fx s) k))) - s) - -(defmethod dimension ((s nm-simplex)) - (- (length (pmap s)) 1)) - -;; simple additive simplex generator -(defun initial-simplex (x0 - &key (displace 0.1d0)) - (let* ((n (length x0)) - (x (make-array (+ n 1))) - (pmap (make-array (+ n 1) :element-type 'fixnum))) - - (setf (aref x 0) x0 - (aref pmap 0) 0) - - (dotimes (k n) - (let ((xk (copy-seq x0))) - - (incf (aref xk k) - (if (numberp displace) displace - (aref displace k))) - (setf (aref x (+ k 1)) xk - (aref pmap (+ k 1)) (+ k 1)))) - - (make-instance 'nm-simplex - :x x :fx nil :pmap pmap))) - -;; The simplex generator from the article, more or less. -(defun default-initial-simplex (x0) - (initial-simplex x0 - :displace - (map 'vector - #'(lambda (v) - (max 0.00025d0 - (abs (* v 0.05d0)))) - x0))) - -(defmethod maybe-fill-simplex ((s nm-simplex) f) - (if (fx s) s - (let* ((n (length (x s))) - (fx (make-array n :element-type 'double-float))) - (loop :for i :from 0 :below n :do - (setf (aref fx i) (funcall f (xk s i)))) - - (setf (fx s) fx) - s))) - -;; substitutes the worst point with x/fx. Assumes simplex is sorted. -(defmethod improve ((s nm-simplex) x fx) - (let ((last (length x))) - (setf (xk s last) x - (fk s last) fx - - (data s) nil) - - (sort-simplex s))) - -(defmethod cached-slot ((s nm-simplex) slot computer) - (if (and (data s) (slot-value (data s) slot)) - (slot-value (data s) slot) - (setf (data s) (if (data s) (data s) - (make-instance 'cached-simplex-data)) - (slot-value (data s) slot) (funcall computer)))) - -(defmethod pseudopivot ((s nm-simplex)) - (cached-slot - s 'pseudopivot - - #'(lambda () - (let* ((n (- (length (pmap s)) 1)) - (xbar (make-array n - :element-type 'double-float - :initial-element 0.0d0))) - - (dotimes (i n) - (setf xbar (v+w*c xbar (xk s (+ i 1)) (/ 1.0d0 n)))) - - xbar)))) - -(defmethod side-vectors ((s nm-simplex)) - (cached-slot - s 'side-vectors - - #'(lambda () - (let* ((n (- (length (pmap s)) 1)) - (sv (make-array n))) - - (dotimes (i n) - (setf (aref sv i) (v+w*c (xk s (+ i 1)) (xk s 0) -1))) - - sv)))) - -(defun simplex-qr-thing (sidev) - (let* ((n (length sidev)) - (norms (make-array n :element-type 'double-float)) - (pmap (make-array n :element-type 'fixnum)) - (mat (make-array (list n n) :element-type 'double-float))) - - (dotimes (i n) - (setf (aref pmap i) i - (aref norms i) (norm (aref sidev i)))) - - (sort pmap #'> :key #'(lambda (k) (aref norms k))) - - (dotimes (i n) - (dotimes (j n) - (setf (aref mat i j) - (aref (aref sidev (aref pmap j)) i)))) - - (multiple-value-bind (r q) (qr-factorization mat) - (values q r pmap)))) - -(defun qrthing-closure (s n) - #'(lambda () - (multiple-value-bind (q r p) - (simplex-qr-thing (side-vectors s)) - (setf (slot-value (data s) 'q-factor) q - (slot-value (data s) 'r-factor) r) - - (elt (list q r p) n)))) - -(defmethod q-factor ((s nm-simplex)) - (cached-slot s 'q-factor - - (qrthing-closure s 0))) - -(defmethod r-factor ((s nm-simplex)) - (cached-slot s 'r-factor - (qrthing-closure s 1))) - -;; A Nelder-Mead iteration. -(defun nm-iteration - (simplex f &key - verbose - (gamma_reflect 1.0d0) - (gamma_expand 2.0d0) - (gamma_outer_contraction 0.5d0) - (gamma_inner_contraction -0.5d0) - (gamma_shrink 0.5d0)) - - - (let* ((n (- (length (x simplex)) 1)) - - (x_cb (make-array n - :element-type 'double-float - :initial-element 0.0d0)) - (x_cb-x_n (make-array n - :element-type 'double-float - :initial-element 0.0d0))) - - (labels ((newpoint (gamma) - (let ((np (v+w*c x_cb x_cb-x_n gamma))) - (values np (funcall f np)))) - - (accept (xx ff) - (improve simplex xx ff)) - - (shrink () - (let ((x0 (xk simplex 0))) - (loop for i from 1 to n do - (let* ((newx (v+w*c (v*c x0 - (- 1.0d0 gamma_shrink)) - (xk simplex i) gamma_shrink)) - (newf (funcall f newx))) - - (setf (xk simplex i) newx - (fk simplex i) newf) - - (sort-simplex simplex)))))) - - ;; compute centroid - (dotimes (i n) - (setf x_cb (v+w*c x_cb (xk simplex i) (/ 1.0d0 n)))) - - (setf x_cb-x_n (v+w*c x_cb (xk simplex n) -1.0d0)) - - ;; 2. Reflect - (multiple-value-bind (xr fr) - (newpoint gamma_reflect) - (if (and (<= (fk simplex 0) fr) (< fr (fk simplex (- n 1)))) - (accept xr fr) - ;; 3. expand - (if (< fr (fk simplex 0)) - (multiple-value-bind (xe fe) - (newpoint gamma_expand) - (if (< fe fr) - (accept xe fe) - (accept xr fr))) - ;; 4. contract or shrink - (if (<= (fk simplex (- n 1)) fr) - (if (< fr (fk simplex n)) - ;;outer contraction - (multiple-value-bind (xc fc) - (newpoint gamma_outer_contraction) - (if (or (= n 2) - (<= fc fr)) ;; 1D shrink is - ;; equivalent to - ;; acceptance of this - ;; point - (accept xc fc) - (shrink))) - ;; inner contraction - (multiple-value-bind (xcc fcc) - (newpoint gamma_inner_contraction) - (if (< fcc (fk simplex n)) (accept xcc fcc) - (shrink)))) - - (shrink))))) - - (when verbose (format t "~S~%" simplex)) - simplex))) - -;; The test returns true if the volume of the paralelepiped spanned by -;; the vertices of the simplex is smaller than that of an n-cube of -;; side cside. -(defun pp-volume-test (cside) - #'(lambda (simplex) - (let* ((mat (r-factor simplex))) - - (let ((det 1.0d0)) - (dotimes (i (dimension simplex)) - (setf det (* det (aref mat i i)))) - - (< (abs det) (expt cside (dimension simplex))))))) - -(defun nm-optimize (objective-function initial-guess &key - (max-function-calls 100000) - (convergence-p (burmen-et-al-convergence-test)) - verbose) - - (let ((simplex (if (typep initial-guess 'nm-simplex) - initial-guess - (default-initial-simplex initial-guess))) - (fvcount 0)) - (labels ((rigged-f (v) - (incf fvcount) - (funcall objective-function v)) - (converged-p (s) - (or (funcall convergence-p s) - (> fvcount max-function-calls)))) - - (when verbose - (format t "Initial simplex: ~%~A~%---~%" simplex)) - - (maybe-fill-simplex simplex #'rigged-f) - - (loop :until (converged-p simplex) - :do - (nm-iteration simplex #'rigged-f :verbose verbose)) - - (values (xk simplex 0) (fk simplex 0) simplex fvcount)))) - -(defmethod restrict ((grid grid) point) - (let ((new (copy-seq point)) - (n (length point)) - (delta (delta grid)) - (z (grid-z grid))) - - (dotimes (i n) - (setf (aref new i) - (+ (* (aref delta i) - (floor - (+ (/ (- (aref new i) - (aref z i)) - (aref delta i)) - 0.5d0))) - (aref z i)))) - - new)) - - -;; Some parameters. Look at Burmen et al for further details. -(defparameter *psi* 1.0d-6) -(defparameter *biglambda* (/ 0.5d0 double-float-epsilon)) -(defparameter *tau-r* (* 2.0d0 double-float-epsilon)) -(defparameter *tau-a* (expt least-positive-double-float (/ 1.0d0 3.0d0))) -(defparameter *smalllambda* 2) - -(defvar *breakdown*) - -(defmethod maybe-reshape ((s nm-simplex) (g grid) ff &key force) - (let ((n (length (side-vectors s))) - (biglambda *biglambda*) - (smalllambda *smalllambda*) - (reshaped-p nil)) - - (labels ((degenerate-p () - (let* ((r (r-factor s)) - (ax (loop for i from 0 below n - minimizing (abs (aref r i i))))) - - (< ax - (/ (* *psi* - (norm (delta g)) - (sqrt (float n 1.0d0))) - 2))))) - - (when (or force (degenerate-p)) - - (setf reshaped-p t) - - (let ((r (r-factor s)) - (q (q-factor s)) - (|det| 1.0d0) - (dv (make-array (+ n 1))) - (dmin-norm nil) - (dmin nil) - (|Delta| (norm (delta g)))) - - (setf (aref dv 0) (xk s 0)) - - (dotimes (i n) - (let* ((di (make-array n :element-type 'double-float)) - (rii (aref r i i)) - (sgn[rii] (if (>= rii 0) 1 -1)) - (|rii| (abs rii)) - (quot (* (sqrt (float n 0.0d0)) - |Delta| - 0.5d0)) - (minc (min |rii| - (* biglambda quot))) - (maxc (max (* smalllambda quot) minc)) - (dfkt (* sgn[rii] maxc))) - - (setf |det| (* |det| |rii|)) - - (dotimes (j n) - (setf (aref di j) - (* dfkt (aref q j i)))) - - (when (or (not dmin-norm) (< (abs dfkt) dmin-norm)) - (setf dmin-norm (abs dfkt) - dmin di)) - - (setf (aref dv (+ i 1)) di) - - (let* ((nxi (restrict g (v+w*c (xk s 0) di 1.0d0))) - (fxi (funcall ff nxi))) - - (setf (xk s (+ i 1)) nxi - (fk s (+ i 1)) fxi)))) - - ;; Looks like a very extreme situation, but can actually - ;; happen. - (when (= |det| 0.0d0) - (setf *breakdown* t)) - - ;; Most cached data is invalid, but better keep the reshape - ;; data, which might be needed for shrinking the simplex. - (setf (data s) - (make-instance 'cached-simplex-data - :dv dv - :dmin dmin - :best-before-reshape (fk s 0))) - - (sort-simplex s)))) - - reshaped-p)) - -;;; Nelder Mead iteration variant from Burmen et al. Does not shrink, -;;; "failing" instead. Acceptance criteria for the contraction points -;;; are stricter. -;;; -;;; Iterates are restricted to a grid. -(defun nm-iteration-burmen-et-al - (simplex f grid &key - verbose - (gamma_reflect 1.0d0) - (gamma_expand 2.0d0) - (gamma_outer_contraction 0.5d0) - (gamma_inner_contraction -0.5d0)) - - - (let ((n (- (length (x simplex)) 1)) - (failure t)) - - (let ((x_cb (make-array n - :element-type 'double-float - :initial-element 0.0d0)) - (x_cb-x_n (make-array n - :element-type 'double-float - :initial-element 0.0d0))) - - (labels ((newpoint (gamma) - (let ((np (restrict grid - (v+w*c x_cb x_cb-x_n gamma)))) - (values np (funcall f np)))) - - (accept (xx ff) - (improve simplex xx ff) - (setf failure nil))) - - ;; compute centroid - (dotimes (i n) - (setf x_cb (v+w*c x_cb (xk simplex i) (/ 1.0d0 n)))) - - (setf x_cb-x_n (v+w*c x_cb (xk simplex n) -1.0d0)) - - ;; 2. Reflect - (multiple-value-bind (xr fr) - (newpoint gamma_reflect) - (if (and (<= (fk simplex 0) fr) (< fr (fk simplex (- n 1)))) - (accept xr fr) - ;; 3. expand - (if (< fr (fk simplex 0)) - (multiple-value-bind (xe fe) - (newpoint gamma_expand) - (if (< fe fr) - (accept xe fe) - (accept xr fr))) - ;; 4. contract or fail ABurmen & al have swapped - ;; inner and outers - maybe a typo. (?) No, just a - ;; different variant. - (if (<= (fk simplex (- n 1)) fr) - (if (< fr (fk simplex n)) - ;;outer contraction - (multiple-value-bind (xc fc) - (newpoint gamma_outer_contraction) - (if (<= fc (fk simplex (- n 1))) - (accept xc fc) - )) - ;; inner contraction - (multiple-value-bind (xcc fcc) - (newpoint gamma_inner_contraction) - (if (< fcc (fk simplex (- n 1))) - (accept xcc fcc)))))))))) - - (sort-simplex simplex) - (when verbose (format t "~S~%" simplex)) - (values simplex failure))) - -;; Convergence test used in the article -(defun burmen-et-al-convergence-test (&key - (tol-x 1.0d-8) - (tol-f 1.0d-15) - (rel 1.0d-15)) - - #'(lambda (s) - (let* ((sv (side-vectors s)) - (fdiff (abs (- (fk s 0) (fk s (dimension s))))) - (vijmax (loop for v across sv maximizing - (loop for x across v maximizing - (abs x)))) - (xbest (xk s 0)) - (|xi|max (loop for z across xbest maximizing (abs z)))) - - (and (< fdiff (max tol-f (* rel (fk s 0)))) - (< vijmax (max tol-x (* rel |xi|max))))))) - - - -(defun regrid (g x1 dmin fkt) - (let* ((dmin (v*c dmin fkt)) - (n (length dmin)) - (|dmin| (norm dmin)) - (delta (delta g)) - (newd (copy-seq delta))) - - (setf (grid-z g) x1) - - (dotimes (i (length dmin)) - (setf (aref newd i) - - (max (min (max (/ (abs (aref dmin i)) - (* *smalllambda* 250 n)) - - (/ |dmin| - (* *smalllambda* 250 (expt n (/ 3.0d0 2.0d0))))) - (aref delta i)) - (* *tau-r* (aref x1 i)) - - *tau-a*))) - - (setf (delta g) newd))) - -(defun deep-shrink (f s g gamma_s convergence-p verbose) - (let ((bbr (fk s 0))) - (unless (dv (data s)) - (maybe-reshape s g f :force t)) - - (let* ((dv (dv (data s))) - (n (dimension s)) - (dmin (dmin (data s))) - (|dmin| (norm dmin)) - (converged-p nil) - (l 1)) ;; This does the same as in the article - - (loop :until (or (< (fk s 0) bbr) - (setf converged-p (funcall convergence-p s))) - :do (let ((fkt (* (expt gamma_s (floor l 2)) - (expt -1 l)))) - - (when verbose - (format t "Shrinking by factor: ~A~%" fkt)) - - (when (= 0.0d0 fkt) - ;; You've got no simplex anymore - (setf *breakdown* t)) - - (when (< (* (abs fkt) |dmin|) - (* (/ *smalllambda* 2) - (sqrt n) - (norm (delta g)))) - - (regrid g (xk s 0) dmin fkt)) - - (setf (xk s 0) (aref dv 0) - (fk s 0) bbr) - - (loop for k from 1 below (length (x s)) do - (setf (xk s k) (restrict g - (v+w*c (aref dv 0) - (aref dv k) fkt)) - (fk s k) (funcall f (xk s k)))) - - (sort-simplex s) - (incf l))) - - (setf (data s) nil) - - converged-p))) - -(defun grnm-optimize (objective-function initial-guess &key - max-function-calls - (convergence-p (burmen-et-al-convergence-test)) - verbose) - - (let ((simplex (if (typep initial-guess 'nm-simplex) - initial-guess - (default-initial-simplex initial-guess))) - (fvcount 0) - (gamma_s 0.5d0) - (*breakdown* nil)) - - (labels ((rigged-f (v) - (incf fvcount) - (funcall objective-function v)) - (converged-p (s) - (or (funcall convergence-p s) - *breakdown* - (and max-function-calls (> fvcount max-function-calls))))) - (when verbose - (format t "Initial simplex: ~%~A~%---~%" simplex)) - - (maybe-fill-simplex simplex #'rigged-f) - - (prog (failure xbest fbest pbest reshaped-p - - (grid (make-instance 'grid - :z (xk simplex 0) - :delta - (make-array (dimension simplex) - :initial-element - (/ (loop :for i :from 1 :to - (dimension simplex) - :minimizing - (norm - (v+w*c - (xk simplex 0) - (xk simplex i) -1.0d0))) - 10.0d0))))) - - - iterate ;; 1. - (setf (values simplex failure) - (nm-iteration-burmen-et-al simplex #'rigged-f grid - :verbose verbose)) - - ;; Small variation. We test for convergence here too. Depending on - ;; the convergence criterion, this might be spurious, so we have to - ;; reshape, etc. - (unless (or failure (converged-p simplex)) - (go iterate)) - - ;; 2. - (setf xbest (xk simplex 0) - fbest (fk simplex 0) - pbest (aref (pmap simplex) 0) - - reshaped-p (maybe-reshape simplex grid #'rigged-f)) - - - ;; 4. Here we look at the pseudo expand point - (let* ((pep (pseudopivot simplex)) - (xx (v+w*c pep - (v+w*c pep (xk simplex 0) -1.0d0) - 1.0d0)) ;; To do: clear this up - (fpep (rigged-f xx))) - - (if (<= fbest (min (fk simplex 0) fpep)) - (go deep-shrink) - (when (< fpep fbest) - ;; There is something subtle here. The pseudo-expand point - ;; is supposed to substitute the old (xk 0), which might - ;; have changed *position* during reshape, because of the - ;; simplex being sorted. - ;; - ;; So it is not - ;;(improve simplex xx fpep) - ;; here, but instead - - ;; Step 5. - (setf (aref (x simplex) pbest) xx - (aref (fx simplex) pbest) fpep - (data simplex) nil) - - (sort-simplex simplex) - - ;; Step 6. - (go iterate)))) - - deep-shrink - - (unless - (deep-shrink #'rigged-f simplex grid - - ;;(+ 0.1d0 (random 0.8d0)) - gamma_s - - #'converged-p verbose) - (go iterate)) - - end) - (values (xk simplex 0) (fk simplex 0) simplex fvcount)))) - - -;; Some sample functions to play around. - -(defun standard-quadratic (v) - (loop for i from 0 below (length v) - summing (expt (aref v i) 2))) - -(defun rosenbrock (v) - (let ((x (aref v 0)) - (y (aref v 1))) - - (+ (expt (- 1 x) 2) - (* 100 (expt (- y (expt x 2)) 2))))) diff --git a/external/clem/COPYRIGHT b/external/clem/COPYRIGHT deleted file mode 100644 index ddcb8e0..0000000 --- a/external/clem/COPYRIGHT +++ /dev/null @@ -1,28 +0,0 @@ -clem, a matrix math library in common lisp by Cyrus Harmon - -Copyright (c) 2005 Cyrus Harmon -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/external/clem/ChangeLog b/external/clem/ChangeLog deleted file mode 100644 index f73faba..0000000 --- a/external/clem/ChangeLog +++ /dev/null @@ -1,1141 +0,0 @@ -2007-02-21 Cyrus Harmon - - * benchmark/.cvsignore, benchmark/bench-add.lisp, benchmark/bench-hprod.lisp, benchmark/bench-mult.lisp, benchmark/bench-scale.lisp, benchmark/bench-subtr.lisp, benchmark/benchmarks.lisp, clem-benchmark.asd, make-dist.sh, src/defmatrix-types.lisp, src/scale.lisp, src/transform.lisp, version.lisp-expr: - clem 0.3.13 - * splitting benchmarks up into multiple files and adding more - benchmarks - -2007-02-20 Cyrus Harmon - - * benchmark/benchmarks.lisp, benchmark/defpackage.lisp, clem-benchmark.asd, clem.asd, src/add.lisp, src/defpackage.lisp, src/matrix-classes.lisp, src/matrixops.lisp, src/scale.lisp, src/subtr.lisp, src/typed-ops/defmatrix-mult.lisp, src/typed-ops/defmatrix-scale.lisp, version.lisp-expr: - clem 0.3.12 - * moved benchmarks stuff into its own package/directory/asdf - * moved scale stuff from defmatrix-scale.lisp to scale.lisp and - reworked to simplify. added mat-scale-2 that takes both input and - destination matrices. reworked mat-scale to take :in-place and to - figure out types and call mat-scale-2 appropriately. - * fixed a type bug in mat-mult and added more matrix mult types - -2007-02-17 Cyrus Harmon - - * test/bench-matrix.cl, test/benchmarks.lisp, version.lisp-expr: - clem 0.3.11 - * added more benchmarking stuff (beginning of a new approach) - -2007-01-24 Cyrus Harmon - - * src/typed-ops/defmatrix-mult-block.lisp, src/typed-ops/defmatrix-mult-debug.cl, src/typed-ops/defmatrix-mult.lisp, src/typed-ops/defmatrix-transform.lisp, version.lisp-expr: - clem 0.3.10 - * fixing more array declarations - -2007-01-23 Cyrus Harmon - - * src/matrixops.lisp, src/mloop.lisp, src/move.lisp, src/mref.lisp, src/statistics.lisp, src/sum.lisp, src/typed-ops/defmatrix-convolve.lisp, version.lisp-expr: - clem 0.3.9 - * in laplacian-2, scale the result of discrete-convolve in-place - * make some array declarations be * instead of (* *) - * whitespace in move.lisp - * change semantics of matrix-move-range-2d to be more lispy (that is (0 5) - includes 0, but not 5 - * change matrix-move to match - * indentation - -2007-01-18 Cyrus Harmon - - * src/move.lisp, test/test-clem2.cl, version.lisp-expr: clem 0.3.8 - * fix bug in matrix-move - * add some in-place tests - -2007-01-13 Cyrus Harmon - - * src/add.lisp, src/subtr.lisp, version.lisp-expr: clem 0.3.7 - * fix an error message in mat-add-range - * add subtr.lisp - -2007-01-09 Cyrus Harmon - - * src/defpackage.lisp, src/matrix.lisp, src/matrixops.lisp, src/transform.lisp, version.lisp-expr: - clem 0.3.6 - * removed some oudated exported symbols - * reworked mat-subtr - * fixed gradmag and graddir - * fixed affine-transformation to work with n-d matrices - * fixed mat-subtr of affine-transformations - -2007-01-08 Cyrus Harmon - - * src/logical-operations.lisp, src/macros.lisp, src/matrix.lisp, src/mref.lisp, src/typed-ops/defmatrix-abs.lisp, src/typed-ops/defmatrix-add.lisp, src/typed-ops/defmatrix-binary-op.lisp, src/typed-ops/defmatrix-log.lisp, src/typed-ops/defmatrix-minmax.lisp, src/typed-ops/defmatrix-move.lisp, src/typed-ops/defmatrix-mref-debug.cl, src/typed-ops/defmatrix-mref.lisp, src/typed-ops/defmatrix-range-ops.lisp, src/typed-ops/defmatrix-square.lisp, src/typed-ops/defmatrix-subtr.lisp, src/typed-ops/defmatrix-sum.lisp, src/typed-ops/defmatrix-unary-op.lisp, test/test-add.lisp, test/test-normalize.lisp, test/test-not.lisp, test/test-sum.lisp, test/test-typed-mref.lisp, clem.asd, doc/clem.sexp, src/add.lisp, src/defmatrix.lisp, src/extrema.lisp, version.lisp-expr: - clem 0.3.5 - * continuing the reorganization - * minor documentation update - * fixing add.lisp - * reorganized with-typed-matrix-vals and friends - * min and max now work with n-d matrices - * added license to logical-operations.lisp - * clean up logical-operations.lisp - * add (:allow-in-place t) keyword arg to def-binary-op - * clen up mref - * remove moved files - * add some tests - -2007-01-07 Cyrus Harmon - - * clem.asd, src/abs.lisp, src/add.lisp, src/arithmetic.lisp, src/defmatrix-types.lisp, src/defpackage.lisp, src/early-matrix.lisp, src/extrema.lisp, src/matrix.lisp, src/move.lisp, src/mref.lisp, src/print.lisp, src/statistics.lisp, src/sum.lisp, src/transform.lisp, src/typed-matrix.lisp, src/vector.lisp, version.lisp-expr: - clem 0.3.4 - * continuing the reorganization - * added license information to some files - * working on making functions work with n-dimensional matrices - - * src/abs.lisp, src/add.lisp, src/arithmetic.lisp, src/early-matrix.lisp, src/exponential.lisp, src/extrema.lisp, src/log.lisp, src/logical-operations.lisp, src/macros.lisp, src/matrix.lisp, src/move.lisp, src/mref.lisp, src/normalize.lisp, src/statistics.lisp, src/sum.lisp, src/typed-ops/defmatrix-binary-op.lisp, src/typed-ops/defmatrix-minmax.lisp, src/typed-ops/defmatrix-square.lisp, src/typed-ops/defmatrix-sum.lisp, src/typed-ops/defmatrix-unary-op.lisp, test/test-clem.cl, version.lisp-expr, clem.asd: - clem 0.3.3 - * continuing the reorganization - * rewrite with-typed-mref to work properly - -2007-01-06 Cyrus Harmon - - * doc/clem.sexp, src/defmatrix.lisp, src/early-matrix.lisp, src/matrix.lisp, src/typed-ops/defmatrix-move.lisp, src/typed-ops/defmatrix-mref.lisp, test/bench-matrix.cl, test/test-clem.cl, version.lisp-expr: - clem 0.3.2 - * deleted with-typed mref and commented out mref methods - * spacing changes - * add mref, row-major-mref, matrix-total-size, matrix-dimensions and - with-typed-mref macros - * matrix-move-range -> matrix-move-range-2d - * reworked dim, cols and rows to work n-d matrices - * removed mat-add-inline and mat-add!-inline - * added fallback untyped matrix-move for matrix and integer-matrix - * fixed some test stuff - -2007-01-03 Cyrus Harmon - - * src/early-matrix.lisp, src/matrix.lisp, version.lisp-expr: clem 0.3.1 - * adding :dimensions arg - * making rows and columns reader functions work - -2006-12-27 Cyrus Harmon - - * STYLE, bootstrap.cl, bootstrap.lisp, clem.asd, src/defmatrix.lisp, src/early-matrix.lisp, src/matrix.lisp, src/n-d-matrix.lisp, src/typed-ops/defmatrix-mref.lisp, version.lisp-expr: - clem 0.3.0 - * getting ready for the big switch to n-dimensional matrices - -2006-12-16 Cyrus Harmon - - * clem.asd, src/defmatrix-types-debug.cl, src/typed-ops/defmatrix-abs.cl, src/typed-ops/defmatrix-abs.lisp, src/typed-ops/defmatrix-add.cl, src/typed-ops/defmatrix-add.lisp, src/typed-ops/defmatrix-binary-op.cl, src/typed-ops/defmatrix-binary-op.lisp, src/typed-ops/defmatrix-convolve.cl, src/typed-ops/defmatrix-convolve.lisp, src/typed-ops/defmatrix-equal.cl, src/typed-ops/defmatrix-equal.lisp, src/typed-ops/defmatrix-hprod.cl, src/typed-ops/defmatrix-hprod.lisp, src/typed-ops/defmatrix-log.cl, src/typed-ops/defmatrix-log.lisp, src/typed-ops/defmatrix-minmax.cl, src/typed-ops/defmatrix-minmax.lisp, src/typed-ops/defmatrix-move.cl, src/typed-ops/defmatrix-move.lisp, src/typed-ops/defmatrix-mref.cl, src/typed-ops/defmatrix-mref.lisp, src/typed-ops/defmatrix-mult-block.cl, src/typed-ops/defmatrix-mult-block.lisp, src/typed-ops/defmatrix-mult.cl, src/typed-ops/defmatrix-mult.lisp, src/typed-ops/defmatrix-range-ops.cl, src/typed-ops/defmatrix-range-ops.lisp, src/typed-ops/defmatrix-scale.cl, src/typed-ops/defmatrix-scale.lisp, src/typed-ops/defmatrix-square.cl, src/typed-ops/defmatrix-square.lisp, src/typed-ops/defmatrix-subset-matrix.cl, src/typed-ops/defmatrix-subset-matrix.lisp, src/typed-ops/defmatrix-subtr.cl, src/typed-ops/defmatrix-subtr.lisp, src/typed-ops/defmatrix-sum.cl, src/typed-ops/defmatrix-sum.lisp, src/typed-ops/defmatrix-transform.cl, src/typed-ops/defmatrix-transform.lisp, src/typed-ops/defmatrix-unary-op.cl, src/typed-ops/defmatrix-unary-op.lisp, version.lisp-expr: - clem 0.2.11 - * second stage of the big file rename/consolidation - this time for the typed-ops - + .cl -> .lisp files - + just use standard :cl-source-file asdf type - - * src/print.cl, src/print.lisp, src/row-vector.cl, src/scalar-types.cl, src/scalar.cl, src/scalar.lisp, src/transform.cl, src/transform.lisp, src/typed-matrix-utils.cl, src/typed-matrix-utils.lisp, src/typed-matrix.cl, src/typed-matrix.lisp, src/vector.lisp, Makefile, NEWS, clem.asd, src/base-vector.cl, src/col-vector.cl, src/defmatrix-types.cl, src/defmatrix-types.lisp, src/defmatrix.cl, src/defmatrix.lisp, src/defpackage.cl, src/defpackage.lisp, src/early-matrix.cl, src/early-matrix.lisp, src/generics.cl, src/interpolation.cl, src/interpolation.lisp, src/matrix-classes.cl, src/matrix-classes.lisp, src/matrix.cl, src/matrix.lisp, src/matrixops.cl, src/matrixops.lisp, src/matrixutils.cl, src/metaclasses.cl, src/metaclasses.lisp, src/mloop.cl, src/mloop.lisp, version.lisp-expr: - clem 0.2.10 - * first stage of the big file rename/consolidation - + .cl -> .lisp files - + just use standard :cl-source-file asdf type - + consolidate vector stuff in one file - * remove cruft - - * clem.asd, src/early-matrix.cl, src/matrix.cl, src/print.cl, version.lisp-expr: - clem 0.2.9 - * add print file, start to simplify asdf dependencies - * fix matrix-argument-error so that it now works with a :cause initarg - * break out generics into a protocol section at the beginning of - matrix.cl - * add some documentation to the protocol defgenerics - * remove list-if - * remove dim-1 - * rework m* logic so that it works more as one would expect, and - documented that behavior! - -2006-12-14 Cyrus Harmon - - * ChangeLog, src/matrix-classes.cl, version.lisp-expr: clem 0.2.8 - * made real-matrix and complex-matrix be subtypes of number-matrix instead of t-matrix - -2006-12-11 Cyrus Harmon - - * ChangeLog, version.lisp-expr: clem 0.2.7 - * forgot to update ChangeLog - -2006-12-11 Cyrus Harmon - - * bootstrap.cl, src/defmatrix.cl, src/defpackage.cl, src/transform.cl, version.lisp-expr: - clem 0.2.6 - * spacing fixes - * fix maxvalue in defmatrix.cl - * add clem-user package - * types for affine-transformation-7-parameters need to be unquoted - -2006-09-19 Cyrus Harmon - - * src/typed-ops/defmatrix-binary-op.cl, src/typed-ops/defmatrix-scale.cl, doc/clem-performance.sexp, src/matrixops.cl, version.lisp-expr: - clem 0.2.5 - * added some comments about boxed and unboxed representation of lisp - data objects - * Added a question about extensible arrays - * set-val - set-val-fit in dilate (or was it erode?) - * added mbitnor - * added some more type inference in defmatrix-scale - -2006-08-30 Cyrus Harmon - - * src/defmatrix.cl, src/matrix.cl, src/matrixops.cl, src/typed-ops/defmatrix-move.cl, src/typed-ops/defmatrix-square.cl, version.lisp-expr: - clem 0.2.4 - * added with-typed-map-range macro - * added matrix->list - * added destination optional argument for matrix-l2-distance - (performance optimization) - * trying to make matrix-move and mat-square faster - -2006-08-27 Cyrus Harmon - - * clem.asd, src/defpackage.cl, src/matrixops.cl, src/transform.cl, src/typed-ops/defmatrix-equal.cl, src/typed-ops/defmatrix-transform.cl, version.lisp-expr: - clem 0.2.3 - * add defmatrix-equal file with mat-equal operation - * matrix-medians takes a list of matrices, not &rest matrices - * added matrix-l2-distance - * added docstring about interpolation types - -2006-08-09 Cyrus Harmon - - * doc/clem.sexp, make-dist.sh, src/defpackage.cl, src/matrixops.cl, test/scratch.cl, version.lisp-expr: - clem 0.2.2 - * use asdf-package:package-system instead of ch-util:make-dist in make-dist.sh - * fix references - * add and export matrix-means and matrix-medians - * add enable-bracket-reader-macro to scratch file - -2006-07-29 Cyrus Harmon - - * src/metaclasses.cl, version.lisp-expr: clem 0.1.10.7-20060729 - * added finalize-inheritance call in initialize-instance - and reinitialize-instance methods for standard-matrix-class - instances. - - * src/matrixops.cl, version.lisp-expr: clem 0.1.10.6-20060729 - * added standard-deviation and matrix-means - -2006-07-17 Cyrus Harmon - - * src/typed-ops/defmatrix-add.cl, version.lisp-expr: - clem 0.1.10.5-20060716 - * added an add function for ub32 and ub8 - -2006-07-06 Cyrus Harmon - - * doc/clem.sexp: lowercase tags - - * src/matrix.cl, version.lisp-expr: clem 0.1.10.4-20060705 - * added mat-scalar-op methods that take numbers - * added mat-subtr ops where one arg is a number, so m- works with - numbers now - -2006-06-29 Cyrus Harmon - - * src/defpackage.cl, src/transform.cl, version.lisp-expr: - CLEM 0.1.10.3-20060629 - * added affine-transformation-7-parameters and associated functions - -2006-06-26 Cyrus Harmon - - * NEWS, doc/clem-performance.sexp, doc/clem.gmarkup, src/defmatrix.cl, src/matrix.cl, src/matrixops.cl, src/transform.cl, src/typed-ops/defmatrix-scale.cl, src/typed-ops/defmatrix-subtr.cl, src/typed-ops/defmatrix-transform.cl, test/bench-matrix-2.cl, test/bench-matrix.cl, version.lisp-expr: - * smarkup changes - * normalize now takes a copy parameter - * added graddir for computing the gradient direction - * added laplacian-2 with a different matrix - * removed the 7-parameter :initargs from affine-transformation - * stopped trying to keep a 7-parameter representation in six with the matrix - representation of an affine transformation - * affine transforamtion scaling is no longer exponential - * added mat-mult/scale/add/subtr/hprod methods for affine-transfromations - (but perhaps these can go away now?) - * added mat-scale-fit and friends - * added some more types for defmatrix-subtr - * comment indentation - * benchmarks - -2006-06-09 Cyrus Harmon - - * clem-doc.asd: * gigamonkeys markup -> smarkup - - * clem.asd: * Added ChangeLog to the asdf - - * NEWS: * update NEWS - - * ChangeLog: * update ChangeLog - - * doc/clem.sexp: * now works with smarkup instead of gigamonkeys markup - - * src/matrixops.cl: * comment out dilate-orig and erode-orig - * added defgenerics for threshold binary-threshold and - complement-matrix - -2006-06-04 Cyrus Harmon - - * TODO, clem-doc.asd, doc/clem-performance.sexp, doc/clem.sexp, doc/simple.css, make-tinaa-docs.lisp, src/defpackage.cl, src/early-matrix.cl, src/matrix.cl, version.lisp-expr: - * update TODO items - * replace clem.gmarkup with clem.sexp - * increase tinaa::*short-documentation-length* - * add initial performance documentation - * add css file - * aad some more exported symbols - * add docstring to random-matrix - - * src/matrix.cl: - * throw an error on attempt to multiply incongruent matrices - - * src/typed-ops/defmatrix-mult.cl: - * Throw an error on attempt to multiply incongruent matrices - -2006-05-10 Cyrus Harmon - - * clem.asd, src/defmatrix-types.cl, src/defmatrix.cl, src/defpackage.cl, src/early-matrix.cl, src/matrix-classes.cl, src/matrix.cl, src/matrixops.cl, src/transform.cl, src/typed-ops/defmatrix-mref.cl, test/bench-matrix-2.cl, test/bench-matrix.cl, test/mref-tests.cl, test/test-gradmag.cl, version.lisp-expr: - * moved some early matrix class definition stuff into early-matrix. - * moved the rest of the matrix class definitions into matrix-classes. - * removed the eval-when stuff from defmatrix-types. - * exported some more symbols (mref, copy-to-ub16-matrx, - copy-to-ub32-matrix, sb8-scalar, ub8-scalar, mlogior, mlogand, - mlogxor. - * added dim1 to get the size of one array dimension. - * scale x and y derivative matrices. - * added laplacian, binary-threshold and complement-matrix functions. - * added updated-affine-transformation-slots and - set-affine-transformation-matrix, to allow for updating to of the - matrix parameters directly, adjusting the slots accordingly. - * removed mref2 - * added some more benchmarks and tests - -2006-05-03 Cyrus Harmon - - * test/bench-matrix.cl, src/typed-ops/defmatrix-mult.cl, src/typed-ops/defmatrix-mref.cl, src/typed-ops/defmatrix-convolve.cl, version.lisp-expr: - * added some fixnum declarations in convolve and mult that muffle some - warnings - * getting ready to replace the arefs with mref sbcl compiler hackery - - * src/typed-ops/defmatrix-mref.cl: - checking in my hinky sbcl deftransform stuff before i go and mess it up - -2006-04-18 Cyrus Harmon - - * clem.asd, src/matrix.cl, src/mloop.cl, src/transform.cl, src/typed-matrix-utils.cl, src/typed-ops/defmatrix-add.cl, src/typed-ops/defmatrix-transform.cl, version.lisp-expr: - * added mloop file for mloop macro for looping over matrices - * fixed some depends - * removed map-matrix - * removed some spurious clem: package designators - * added new copy-to-{ub16,ub32,sb8,sb16,sb32}-matrix - methods - * use mloop in defmatrix-add to simplify the logic a bit - * added bit-matrix bit-matrix add - * add a small epsilon before calling floor in %transform-matrix - -2006-04-15 Cyrus Harmon - - * version.lisp-expr, clem.asd, src/generics.cl, src/typed-ops/defmatrix-add.cl, src/typed-ops/defmatrix-convolve.cl, src/typed-ops/defmatrix-hprod.cl, src/typed-ops/defmatrix-move.cl, src/typed-ops/defmatrix-mult-block.cl, src/typed-ops/defmatrix-mult.cl, src/typed-ops/defmatrix-scale.cl, src/typed-ops/defmatrix-subtr.cl, src/typed-ops/defmatrix-transform.cl: - * added generics file with generic funciton definitions - * mat-add!-range -> mat-add-range! - * added some fixnum declarations in discrete convolution and - affine transformation routines - * added some defgenerics to quiet warnings - -2006-04-14 Cyrus Harmon - - * clem.asd, src/scalar-types.cl, src/scalar.cl, src/typed-ops/defmatrix-add.cl, src/typed-ops/defmatrix-binary-op.cl, version.lisp-expr: - * add scalar-types.cl - * added some typed scalar-matrix add functions. this is a hack and - should be cleaned up soon. - * added more typed mlogior/mlogxor/mlogand methods - -2006-04-08 Cyrus Harmon - - * version.lisp-expr, make-tinaa-docs.lisp, make-dist.sh, clem.asd, clem-test.asd, clem-doc.asd: - * tinaa docs - * version.lisp-expr stuff - -2006-04-05 Cyrus Harmon - - * make-tinaa-docs.lisp: added lisp files for loading to make tinaa docs - - * clem.asd, bootstrap.cl: cleaning up tinaa doc stuff - - * clem.asd, bootstrap.cl: tinaa stuff - -2006-04-03 Cyrus Harmon - - * src/typed-ops/defmatrix-unary-op.cl, clem.asd: - Added defmatrix-unary-op - - * src/typed-ops/defmatrix-subtr.cl: - * left a debugging print in. remove it. - - * src/typed-ops/defmatrix-subtr.cl, src/typed-ops/defmatrix-binary-op.cl, src/matrix.cl, clem.asd, TODO: - * Reworked matrix printing logic - * Added make-load-form - * Added defmatrix-binary-op with mlogand, mlogior, mlogxor and - destructive and range variants - * Better type inference for destination matrix for mat-subtr - * New TODO: min-val and max-val -> mmin, mmax - -2006-03-15 Cyrus Harmon - - * clem.asd, clem-test.asd, ChangeLog: * Bump version number - * Update ChangeLog - -2006-01-26 Cyrus Harmon - - * doc/clem.gmarkup: minor matrix printing change. - - * ChangeLog: commit ChangeLog changes - -2006-01-26 Cyrus Harmon - - * doc/clem.gmarkup: minor matrix printing change. - - * ChangeLog: commit ChangeLog changes - -2006-01-26 Cyrus Harmon - - * doc/clem.gmarkup: fix bib ref - -2006-01-25 Cyrus Harmon - - * test/bench-matrix.cl: add more benchmarks - - * src/typed-ops/defmatrix-mult.cl: - add some SBCL specific matrix multiplication hacks - - * src/defpackage.cl: add mat-hprod - remove dups - - * clem-doc.asd: add doc asdf file - - * doc/clem.gmarkup: checking in outline. - -2006-01-23 Cyrus Harmon - - * src/typed-ops/defmatrix-move.cl: - * matrix-move-range and matrix-move-range-constrain now take range - arguments in both the source and destination matrix so that one can - move part of the src matrix to a different part of the dest matrix. - * Added generics for matrix-move-range and matrix-move-range-constrain. - - * src/transform.cl, src/matrix.cl: - * mat-copy-proto-dim now takes an initial element - * transform-matrix truncates rows and cols to get matrix with - integral # of rows and cols - -2006-01-05 Cyrus Harmon - - * src/defpackage.cl, src/defmatrix.cl, bootstrap.cl: - fixing MOP stuff for CMUCL - -2006-01-03 Cyrus Harmon - - * TODO: work on TODO list. - -2005-12-05 Cyrus Harmon - - * clem.asd: * bumped version number, added NEWS - - * src/typed-ops/defmatrix-mref.cl: - * some with-typed-matrix-vals that I missed. (needed to remove the t - for the removed specialized-array arg. - -2005-12-05 Cyrus Harmon - - * TODO: update clem TODO list. - - * test/test-clem.cl: some more minor tests - - * src/defmatrix.cl, src/defmatrix-types.cl: - * removed the specialized-array cruft. - * fixed some of the macro-logic to make complex scalar row ops - happy - - * src/metaclasses.cl, src/matrix.cl, src/defmatrix.cl, src/defmatrix-types.cl: - * finally got inheritance of meta-class slots from parent classes. I'm - not sure if this is the wisest thing, but it seems to work, and - solves some OAOO problems. - * removed a bunch of now extraneous val-formats and what not. - -2005-12-04 Cyrus Harmon - - * src/metaclasses.cl: - metaclass stuff with debug comments on in case we need to go back here - - * src/transform.cl, src/metaclasses.cl, src/matrix.cl, src/defmatrix.cl: - * check for zero slope in normalize so we don't get a divide-by-zero - error - * remove print statements in horzcat and vertcat - * keep working on filling ancestor slots. I think i've got it - this time. the problem is that we need both the slotname - and the initarg. because they can be different, we probably should - check for that explicitly. At the moment, we just cons up a keyword - and use that for the initarg. - * added new affine-transform generic and method. - * added resize-matrix (which scales, not pads the matrix) - -2005-11-29 Cyrus Harmon - - * src/defmatrix.cl: use (truncate instead of (truncate (/ - -2005-11-12 Cyrus Harmon - - * ChangeLog: updating ChangeLogs - - * src/typed-ops/defmatrix-square.cl: added mat-sqrt - - * src/matrixops.cl: - do an in-place in grad-mag to avoid consing a new matrix - - * test/test-convolve.cl: adding more convolution tests - - * src/metaclasses.cl: - removed initform nil from minval and maxval. This needs more testing!! - - * src/matrixops.cl: removed bogus comment about gradmag being broken - - * src/matrix.cl, src/defpackage.cl: trim-one -> mat-trim - - * src/defmatrix.cl: - improve the test for maybe truncate to do the right thing for reals. - - * src/typed-ops/defmatrix-subset-matrix.cl, clem.asd: - * added defmatrix-subset-matrix - * and defmatrix-subset-matrix and defmatrix-square to the asd file - - * src/typed-ops/defmatrix-square.cl: adding typed square func - - * src/matrixops.cl: - added norm-v to the discrete-convolve defgeneric keys - - * clem-test.asd: added test-convolve.cl to the asdf - - * src/matrixops.cl: - trying to fix gradmag but convolve is busted! BROKEN! FIXME! - - * src/typed-ops/defmatrix-mult.cl: removed timestamp - -2005-11-11 Cyrus Harmon - - * test/test-transform.cl, clem-test.asd: - cleaning up tests a (very) little bit - - * src/transform.cl: * added some documentation - * moved things around a little bit - - * src/col-vector.cl: added a defgeneric for array->col-vector - - * src/matrixops.cl: added some defgenerics - -2005-10-29 Cyrus Harmon - - * COPYRIGHT: added COPYRIGHT file - -2005-10-27 Cyrus Harmon - - * clem.asd: - adding some static files to the :clem system so that these get - packaged up via make-dist.sh - -2005-10-14 Cyrus Harmon - - * src/metaclasses.cl, src/defmatrix.cl: - * use map-set-val-fit in normalize instead of map-set-val - * inherit minval and maxval slots from ancestor matrix classes - -2005-10-13 Cyrus Harmon - - * TODO, ChangeLog: updating ChangeLog and TODO - - * test/test-transform.cl, test/test-mean.cl, test/test-hprod.cl, test/test-dilate.cl, test/test-convolve.cl, test/test-clem.cl, test/mattest4.cl, src/defpackage.cl: - exporting some symbols - - * clem-test.asd, clem.asd: bumping version number - -2005-10-12 Cyrus Harmon - - * make-dist.sh: new make-dist shell scripts - -2005-09-27 Cyrus Harmon - - * src/typed-ops/defmatrix-add.cl: added some add frobs - -2005-09-07 Cyrus Harmon - - * src/typed-ops/defmatrix-move.cl: - added frob for real-matrix to ub8-matrix - - * src/typed-ops/defmatrix-add.cl: - added methods to add a scalar to a matrix - -2005-09-03 Cyrus Harmon - - * src/typed-ops/defmatrix-hprod.cl, src/metaclasses.cl: - fixed metaclasses so that the really do inherit properties - from ancestor meta-classes - add hprod frobs for complex and real matrices - -2005-09-01 Cyrus Harmon - - * src/typed-ops/defmatrix-move.cl: - added some more frobs for complex, rea, etc... - -2005-08-31 Cyrus Harmon - - * ChangeLog, TODO, clem.asd, src/defmatrix-types.cl, src/defmatrix.cl, src/matrix.cl, src/typed-matrix-utils.cl, src/typed-ops/defmatrix-abs.cl, src/typed-ops/defmatrix-log.cl, src/typed-ops/defmatrix-move.cl, src/typed-ops/defmatrix-range-ops.cl, test/test-transform.cl: - added complex matrix type - fixed up real, integer, number, etc... matrices a bit - new functions log and abs - moved range functions - added test-transform.cl - added (some, not all yet) new frobs for complex matrices, etc... - -2005-08-31 Cyrus Harmon - - * src/typed-ops/defmatrix-scale.cl, src/typed-ops/defmatrix-mref.cl, src/typed-ops/defmatrix-minmax.cl, src/typed-ops/defmatrix-add.cl, src/defpackage.cl, src/defmatrix.cl, src/defmatrix-types.cl, clem.asd: - initial support for complex matrices - real, integer and float matrices should work now - moved min and max into their own file - currently only do min and max for real matrices and - subtypes. we should fix this and use the min and max of the - abs for complex matrices. - -2005-08-30 Cyrus Harmon - - * src/typed-ops/defmatrix-scale.cl, src/defmatrix-types.cl: - added complex-matrix type - changed the element-types for real-matrix, integer-matrix, etc... to - be real, integer, etc... - -2005-07-24 Cyrus Harmon - - * clem.asd: bumping version # again - - * clem.asd: made typed-ops depend on interpolation - - * src/typed-ops/defmatrix-transform.cl: - whoops. forgot I had commented out some frobs. - - * clem.asd: bumped version # - - * src/typed-ops/defmatrix-transform.cl, src/matrix.cl: - added :type fixnum arguments to matrix class definition - fixed a bad bug in typed affine-transform routines where I - was setting a local column variable to the number of rows - added a half variable and add .5d0 and call truncate instead - of round, which I think was consing. - -2005-07-23 Cyrus Harmon - - * src/typed-ops/defmatrix-move.cl: fixed a missing paren - - * src/typed-ops/defmatrix-move-add-subtr.cl: removed - -2005-07-22 Cyrus Harmon - - * src/typed-ops/defmatrix-transform.cl: - fixed the type of zero. I was declaring zero as the type of the coord, - not of the value at the coord. this was compiling (safety 0) but - causing the background to be hosed. whoops! - - * src/typed-ops/defmatrix-move.cl: - removed unused third argument of frobs - added more bit-matrix move types - - * src/transform.cl: :x and :y become :x-shift and :y-shift - added decf-affine-transformation, move-affine-transformation, - copy-affine-transformation - added type declarations to the affine-transformation slots - added parameters-list function - -2005-07-20 Cyrus Harmon - - * ChangeLog: updating changelogs - - * src/typed-ops/defmatrix-transform.cl: - fixed how we compute the transform. the notions of x and y were messed up. - - * src/transform.cl: - transform-coord now returns multiple-values x and y instead of a matrix - added compute-bounds - - * src/metaclasses.cl: - setting initform of val-format to a list to match how the :val-format - args come in from instances of the metaclass - filling val-format from ancestor, for what that's worth - -2005-07-19 Cyrus Harmon - - * test/bench-matrix.cl: - added matrix-class to mat-subtr so we can deal w/ negative values - - * src/typed-ops/defmatrix-move.cl: - removed duplicated mat-add definitions - - * src/typed-ops/defmatrix-subtr.cl, src/typed-ops/defmatrix-move.cl, src/typed-ops/defmatrix-move-add-subtr.cl, src/typed-ops/defmatrix-add.cl, src/metaclasses.cl, src/matrix.cl, clem.asd: - moved add move and subtr into their own files - working on optimized subtr into different matrix types - -2005-07-18 Cyrus Harmon - - * test/test-clem.cl, src/typed-matrix-utils.cl, src/scalar.cl, src/row-vector.cl, src/metaclasses.cl, src/matrixops.cl, src/matrix.cl, src/defmatrix.cl, src/col-vector.cl, src/base-vector.cl, clem.asd: - added base-vector class - lots of code-cleanup stuff - ... new defgenerics - ... some ignores - removed some old code - -2005-07-17 Cyrus Harmon - - * src/typed-ops/defmatrix-scale.cl, src/typed-ops/defmatrix-mult.cl, src/typed-ops/defmatrix-move-add-subtr.cl, src/typed-ops/defmatrix-hprod.cl, src/matrix.cl: - more make-intern -> ch-util:make-intern - fixed up a defgeneric that had too many &key args - - * src/metaclasses.cl: added some defgenerics and FIXMEs - - * src/defpackage.cl: added m+, m-, m* and m.* - - * clem.asd: added an order dependency in the typed matrix stuff. - - * src/defmatrix.cl: make-intern -> ch-util:make-intern - - * src/matrix.cl: added a bunch of defgenerics - -2005-07-16 Cyrus Harmon - - * src/matrix.cl: - ch-util::closest-common-ancestor -> ch-util:closest-common-ancestor - - * src/matrix.cl: - renamed convenience arithmetic functions (matrix+, matrix-, et al.) - reorded some stuff - replaced closest-common-ancestor w/ ch-util::closest-common-ancestor - - * src/matrix.cl: added m.* - made m* work with scalars - m- now supports unary - - - * src/typed-ops/defmatrix-scale.cl: - try coercing before doing the scale. there's no need (I think) for not consing here... - - * src/matrixops.cl: removed old discrete-convolve cruft - - * src/matrix.cl: - added print-object method for matrices so we don't have to rely on - matrix-print anymore - -2005-07-15 Cyrus Harmon - - * test/test-convolve.cl: - fixing test to work with new separable-discrete-convolve - - * src/typed-ops/defmatrix-convolve.cl: - separable-discrete-convolve now works better - - * src/matrixops.cl: - added gaussian-kernel-1d (should really take dim args for the 2d - version) - messing with separable-discrete-convolve and gaussian-blur - - * src/matrix.cl: - added sum-cols and sum-rows. I feel like I did this before, but i - couldnt' find it. Note that these are untyped. Adding typed versions - is trivial. - - * src/typed-ops/defmatrix-convolve.cl: - ok, separable-discrete-convolve is in better shape now... - -2005-07-14 Cyrus Harmon - - * src/row-vector.cl, src/col-vector.cl: - allocate-matrix-vals now matches what matrix uses. this shoud probably go away, however. - - * clem.asd: added a depends on ch-util - - * test/test-convolve.cl, src/typed-ops/defmatrix-sum.cl, src/typed-ops/defmatrix-move-add-subtr.cl, src/matrixops.cl, doc/index.html: - moved sum type-specific functions into their own file - trying to make the convolve stuff work quickly - removing timestamps - tests - - * clem.asd: trying to get fast discrete-convolve working - removing evil timestamps - added a super-secret %%sum-range macro - - * src/typed-ops/defmatrix-convolve.cl: adding typed convolve functions - -2005-07-13 Cyrus Harmon - - * src/transform.cl: timestamps are a bad idea in source files - - * src/interpolation.cl: time stamps are a bad idea in source files - - * src/defpackage.cl: - export the following symbols: mat-copy-proto, affine-transformation, - transform-matrix, matrix-move. - - * src/interpolation.cl: - added a once-only macro around the bilinear-interp macro. I should - probably do the same for the quadratic one. - - * src/typed-ops/defmatrix-transform.cl: - using types for quadratic interp macros now - - * src/interpolation.cl: - had to add a type argument to quadratic-kernel and quadratic - interpolate to make SBCLs compiler happy. - - * clem.asd: added interpolation file to asd - - * src/typed-ops/defmatrix-transform.cl: - added quadratic interpolation. not sure that these work with types - other than double-float, however. - - * src/interpolation.cl: ... moved interpolation functions here. - ... added bilinear and quadratic interpolation routines. note, these just - interpolate the values, to actually interprolate the values in a - matrix, say via an affine tranformation, see transform.cl - -2005-07-12 Cyrus Harmon - - * src/typed-ops/defmatrix-transform.cl: restore all of the frobs - - * src/defmatrix-types.cl: - use #. to compute the values for minval and maxval - -2005-07-11 Cyrus Harmon - - * src/typed-ops/defmatrix-transform.cl: - works fine for floats now. working on the rest... - - * src/transform.cl: added arguments for interpolation - - * src/transform.cl: - make a subclass of double-float-matrix to hold the affine - transformation parameters. appropriate changes to make this work - properly. - - * src/matrix.cl: - added rvref and cvref for row-vector and column-vector refs. - - * src/defmatrix.cl: removed defmatrix-method - - * src/typed-ops/defmatrix-transform.cl: - made %transform-matrix a lot faster by avoiding a full matrix-multiply - using foley et al.'s trick that exploits the structure of the affine - transformation matrix. - -2005-07-10 Cyrus Harmon - - * src/typed-ops/defmatrix-move-add-subtr.cl: - added more move/add/subtr types - - * src/transform.cl, clem.asd: added transform.cl - - * src/typed-ops/defmatrix-transform.cl: - changed the type-specific function from transform-matrix -> - %transform-matrix - range over the space of the output matrix, not the input matrix - -2005-07-08 Cyrus Harmon - - * src/typed-ops/defmatrix-transform.cl, clem.asd: - added defmatrix-transform which defines optimized transform-matrix functions - - * src/matrix.cl: - added comments about the need for optimized invert-matrix routines - -2005-07-07 Cyrus Harmon - - * src/typed-ops/defmatrix-mult.cl: removed mat-mult-range - made mat-mult3 non-consing - - * src/matrix.cl: - rows and cols now use array-dimension instead of array-dimensions - which is non-consing. - - * src/matrix.cl: - array->matrix goes straight to matrix, not to row-vector, col-vector or scalar - -2005-07-06 Cyrus Harmon - - * test/test-clem.cl, clem.asd, clem-test.asd: removing registry stuff - fixing a type (ch-uti -> ch-util) - -2005-07-01 Cyrus Harmon - - * Makefile, src/.cvsignore, src/typed-ops/.cvsignore, test/.cvsignore: - adding Makefile and fixing up cvsignores - - * README, clem-test.asd, clem.asd, src/defpackage.cl, src/typed-ops/defmatrix-move-add-subtr.cl, src/typed-ops/defmatrix-mult-debug.cl, test/test-clem.cl, test/test-defmatrix.cl: - chutil -> ch-util - cleaning up defmatrix ops a bit - - * test/test-defmatrix.cl, test/test-clem.cl, src/typed-ops/defmatrix-mult-block.cl, clem.asd, clem-test.asd: - Added defmatrix-mult-block and some initial blocking mulitply functions which - are about 2x faster - Fixing up test packages to work under the new scheme - -2005-06-30 Cyrus Harmon - - * clem.asd, doc/index.html, src/.cvsignore, src/defmatrix-types-debug.cl, src/typed-ops/defmatrix-mref-debug.cl, src/typed-ops/defmatrix-mref.cl, src/typed-ops/defmatrix-mult-debug.cl, test/.cvsignore, test/test-clem4.cl: - various cleanups as I get ready to move this up two levels. - - * src/discrete-convolve-ppc.cl: removing - - * src/discrete-convolve-ppc.cl: adding this so that I can delete it. - -2005-06-23 Cyrus Harmon - - * test/test-mult.cl, test/test-hprod.cl, test/test-clem2.cl, src/typed-ops/defmatrix-mult.cl, src/typed-ops/defmatrix-move-add-subtr.cl, src/matrixops.cl, src/matrix.cl, clem.asd: - * added test-hprod file and to clem-test.asd - * added defmatrix-mult file and to clem.asd - * map-matrix-copy now accepts a matrix-class argument and calls - make-instance instead of mat-copy-proto (which should go away!) - * variance-window now returns a double-float-matrix - * trying to make double -> integer matrix moves work properly - * work on the tests a bit - -2005-06-22 Cyrus Harmon - - * clem-test.asd: * added test-hprod file and to clem-test.asd - * added defmatrix-mult file and to clem.asd - * map-matrix-copy now accepts a matrix-class argument and calls - make-instance instead of mat-copy-proto (which should go away!) - * variance-window now returns a double-float-matrix - * trying to make double -> integer matrix moves work properly - * work on the tests a bit - - * TODO: * updated TODO - * added test-hprod file and to clem-test.asd - * added defmatrix-mult file and to clem.asd - * map-matrix-copy now accepts a matrix-class argument and calls - make-instance instead of mat-copy-proto (which should go away!) - * variance-window now returns a double-float-matrix - * trying to make double -> integer matrix moves work properly - * work on the tests a bit - -2005-06-15 Cyrus Harmon - - * test/test-clem2.cl: - fixed single-float literal vals (were erroneous doubles) - - * src/defmatrix.cl: whoops. left some debug statements in here... - - * src/defmatrix-hprod.cl, src/defmatrix-move-add-subtr.cl, src/defmatrix-scale.cl: - moved these files to typed-ops - - * test/test-clem2.cl, src/typed-ops/defmatrix-hprod.cl, src/defmatrix.cl, clem.asd, LICENSE, ChangeLog: - moved some typed matrix operations into their own directory - ... will move more soon - added more typed hprods - added more hprod tests via the frobber - modified asdf to reflect above - minor change to license - changelog update - - * src/typed-ops/defmatrix-hprod.cl, src/typed-ops/defmatrix-move-add-subtr.cl, src/typed-ops/defmatrix-scale.cl: - moved files into their own directory - -2005-06-15 Cyrus Harmon - - * clem.asd, clem-test.asd: more asdf cleanup - - * test/test-mean.cl, test/test-gaussian-convolve.cl, test/test-dilate.cl, test/test-defmatrix.cl, test/test-clem2.cl, test/test-clem.cl, test/mattest4.cl, test/mattest3.cl, test/bench-matrix.cl, src/typed-matrix-utils.cl, src/matrixops.cl, src/defpackage.cl, src/defmatrix.cl, src/defmatrix-types.cl, src/defmatrix-scale.cl, src/defmatrix-move-add-subtr.cl, src/defmatrix-hprod.cl, bootstrap.cl: - * The big unsigned-byte -> ub8 and friends rename. - ... Now use ub32-matrix instead of unsigned-long matrix. - Some folks might hate the numbers, but word and long were - just too vague and all of those unsigned ints are in fact - bytes to lisp anyway! - -2005-06-14 Cyrus Harmon - - * test/test-clem3.cl: making function names agree - removing erroneous compiler output that popped in here somehow - - * src/defmatrix-types.cl, src/defmatrix-move-add-subtr.cl: - moved some method definition frobs into their own file so we don't - have to compile everything so often - - * clem.asd, clem-test.asd: - cleaned up asdf file logic a bit. Now there's a piece of code that - needs to go in each .asd file, but we don't get screwy behavior - based on partial overriding of asdf methods. Now each system gets - its own subclass of cl-source-file type and components are specified - as :clem-cl-source-file, for instance, instead of :file. Files - usually have .cl as the suffix, but this is easily changeable on a - per-system basis and fasls go in a separate directory. - - * test/test-clem3.cl, test/test-clem2.cl, src/defmatrix.cl, src/defmatrix-types.cl, src/defmatrix-scale.cl, src/defmatrix-hprod.cl, clem.asd, TODO: - Added defmatrix-hprod and defmatrix-scale for matrix scale and hadamard product - removed unused specialized-type parameter from with-map-range - removed unused with-map-range-vals - added some ignore declarations - removed gensyms for loop variables when there was no macro body - moved matrix-scale definitions into their own file - added more tests - - * src/defmatrix-types.cl: - finally found the extraneous b and removed it! - -2005-06-14 Cyrus Harmon - - * test/test-clem3.cl: making function names agree - removing erroneous compiler output that popped in here somehow - - * src/defmatrix-types.cl, src/defmatrix-move-add-subtr.cl: - moved some method definition frobs into their own file so we don't - have to compile everything so often - - * clem.asd, clem-test.asd: - cleaned up asdf file logic a bit. Now there's a piece of code that - needs to go in each .asd file, but we don't get screwy behavior - based on partial overriding of asdf methods. Now each system gets - its own subclass of cl-source-file type and components are specified - as :clem-cl-source-file, for instance, instead of :file. Files - usually have .cl as the suffix, but this is easily changeable on a - per-system basis and fasls go in a separate directory. - - * test/test-clem3.cl, test/test-clem2.cl, src/defmatrix.cl, src/defmatrix-types.cl, src/defmatrix-scale.cl, src/defmatrix-hprod.cl, clem.asd, TODO: - Added defmatrix-hprod and defmatrix-scale for matrix scale and hadamard product - removed unused specialized-type parameter from with-map-range - removed unused with-map-range-vals - added some ignore declarations - removed gensyms for loop variables when there was no macro body - moved matrix-scale definitions into their own file - added more tests - - * src/defmatrix-types.cl: - finally found the extraneous b and removed it! - -2005-06-14 Cyrus Harmon - - * test/test-clem3.cl, test/test-clem2.cl, src/defmatrix.cl, src/defmatrix-types.cl, src/defmatrix-scale.cl, src/defmatrix-hprod.cl, clem.asd, TODO: - Added defmatrix-hprod and defmatrix-scale for matrix scale and hadamard product - removed unused specialized-type parameter from with-map-range - removed unused with-map-range-vals - added some ignore declarations - removed gensyms for loop variables when there was no macro body - moved matrix-scale definitions into their own file - added more tests - - * src/defmatrix-types.cl: - finally found the extraneous b and removed it! - - * test/test-clem3.cl, test/test-clem2.cl, clem-test.asd: - Added tests for mat-scale and mat-scale! - Added test-clem3 for messing around - Added dependencies on defpackage in the asdf file - - * src/defmatrix.cl, src/defmatrix-types.cl: - added :execute to eval-when forms - fixed accumulator type of signed-bytes and signed-words - ... (unsigned-byte 32) -> (signed-byte 32) - added def-matrix-scale - added forms to call def-matrix-scale for the basic types - -2005-06-13 Cyrus Harmon - - * ChangeLog: more ChangeLog stuff. - - * TODO, README, LICENSE: - Added LICENSE and TODO. Removed TODO stuff from README. - - * clem.asd: removed util dependency - - * src/metaclasses.cl, src/matrix.cl, src/defpackage.cl, src/defmatrix.cl: - removed dependency on util. Had to copy some stuff over here to do it, however. Goes against OAOO but means we don't need util to run clem (except for the tests). - - * src/row-vector.cl, src/col-vector.cl: - remove reference to undefined functions and call make-instance. WARNING: this hasn't been tested, but at least it compiles now! - -2005-06-13 Cyrus Harmon - - * TODO, README, LICENSE: - Added LICENSE and TODO. Removed TODO stuff from README. - - * clem.asd: removed util dependency - - * src/metaclasses.cl, src/matrix.cl, src/defpackage.cl, src/defmatrix.cl: - removed dependency on util. Had to copy some stuff over here to do it, however. Goes against OAOO but means we don't need util to run clem (except for the tests). - - * src/row-vector.cl, src/col-vector.cl: - remove reference to undefined functions and call make-instance. WARNING: this hasn't been tested, but at least it compiles now! - -2005-06-13 Cyrus Harmon - - * test/test-clem2.cl: adding new tests (slowly). - - * src/typed-matrix-utils.cl, src/metaclasses.cl, src/matrix.cl, src/defpackage.cl, src/defmatrix.cl, src/defmatrix-types.cl: - val-format is now a metaclass option rather than a class allocated variable - ... added val-format stuff to metaclass - added def-move-element and def-matrix-move - added new matrix conversion/move functions - ... this still needs to be cleaned up! - added def-matrix-move and supporting macros - export #:identity-matrix and #:copy-to-bit-matrix - trying to clean up the copy-to- stuff - - * src/scalar.cl: use element-type instead of storage-type - - * src/row-vector.cl, src/col-vector.cl: - Cleanup row-vector and col-vector - ... use element-type instead of storage-type - ... call make-instance instead of xxx-vector functions - -2005-06-09 Cyrus Harmon - - * src/matrix.cl: - * cleaned up the scalar-op stuff to use macros instead of eval - - * test/test-clem2.cl, src/metaclasses.cl, src/matrix.cl, src/defpackage.cl, src/defmatrix.cl, src/defmatrix-types.cl: - * Lots of changes to clem. From here on out, I'll try to do a better - job of documenting them. - * new matrix typed arithmetic functions. - * cleaning up the matrix macro system - * more tests - -2005-05-12 Cyrus Harmon - - * clem.asd: bumped version #. - - * src/defmatrix-types.cl: - added eval-when (:compile-toplevel :load-toplevel) around the matrix - definitions so that the function definitions can use the classes to DTRT. - -2005-05-07 Cyrus Harmon - - * clem.asd, src/defmatrix-types.cl, src/defmatrix.cl, src/matrix.cl, src/metaclasses.cl, src/typed-matrix.cl: - finally! got things back to a working state. - summary of major changes: - 1. matrix now is a standard-matrix-class - 2. added accessors for standard-matrix-class element type - and specialized-array-p or whatever - 3. funky eval-when hacks to get the matrix classes defined before the - functions which use the meta-data at function definition time - to generate the proper declare statements so that all of this - runs quickly. - -2005-04-26 Cyrus Harmon - - * clem-test.asd, clem.asd, src/defmatrix-types.cl, src/defmatrix.cl, src/defpackage.cl, src/matrix.cl, src/metaclasses.cl: - checkpoint so I can use on multiple computers. - - * test/test-clem2.cl, test/test-defmatrix.cl, test/test-gaussian-convolve.cl: - fixing tests for new regime. - -2005-04-19 Cyrus Harmon - - * test/bench-matrix.cl: getting ready to for metaclass stuff. - -2005-04-18 Cyrus Harmon - - * src/matrix.cl, src/matrixops.cl, src/typed-matrix.cl: - checkpoint now that we cons a lot less than we used to when doing a - discrete-convolve. We still have a little ways to go, but it's much - better than before. - -2005-04-15 Cyrus Harmon - - * .cvsignore, README, bootstrap.cl, clem-test.asd, clem.asd, src/CHANGES, src/README, src/col-vector.cl, src/defpackage.cl, src/matrix.cl, src/matrixops.cl, src/matrixutils.cl, src/row-vector.cl, src/scalar.cl, src/typed-matrix-utils.cl, src/typed-matrix.cl, test/bench-matrix.cl, test/defpackage.cl, test/mat-test.cl, test/mattest2.cl, test/mattest3.cl, test/mattest4.cl, test/scratch.cl, test/test-clem.cl, test/test-convolve.cl, test/test-defmatrix.cl, test/test-dilate.cl, test/test-gaussian-convolve-1.cl, test/test-gaussian-convolve.cl, test/test-mean.cl, test/test-mult.cl, test/test-scalar.cl, test/vector-test.cl: - renamed the matrix package to ... CLEM ... - diff --git a/external/clem/NEWS b/external/clem/NEWS deleted file mode 100644 index b3e7e8b..0000000 --- a/external/clem/NEWS +++ /dev/null @@ -1,26 +0,0 @@ - -changes in clem-0.3 relative to clem-0.2 (and older) - -* Working on better documentation of the CLEM protocol generic - functions -* Renamed source files from .cl to .lisp and stopped putting fasl's in - their own directory. -* Added some functions for things like matrix-means and matrix-medians -* Lots of bugfixes - -changes in clem-0.1.11 relative to clem-0.1.10 (and older) - -* moved gmarkup docs to .sexp docs -* added errors for incongruent matrices in mat-mult -* added early-matrix.cl and moved some styff that needs to get loaded - early there, like the matrix class definition and some matrix - condition types - -* made affine-transformations have only a six-parameter - representation, rather than a canonical six and a degenerate seven - parameter representation - -clem-0.1.5 -- Sun Dec 4 23:42:24 2005 - -* fixed some fundamental problems with the metaclass stuff so that - classes now inherit metaclass slots from ancestor classes. diff --git a/external/clem/README b/external/clem/README deleted file mode 100644 index 3511246..0000000 --- a/external/clem/README +++ /dev/null @@ -1,130 +0,0 @@ - -Common-Lisp Egregious Matrices (CLEM) - -This is Cyrus Harmon's matrix package for common-lisp. Documentation -should one day be found in doc/index.html. - -Background - -This was going to be called Common-Lisp Efficient Matrices (CLEM), but -since efficiency is relative, I've decided to back off of that claim -and call it Common-Lisp Egregious Matrices. It is a goal of the -project that one day the intended meaning of egregious in this context -will evolve from the "outstandingly bad" meaning to the "remarkably -good" sense. Unfortunately, we're probably closer to outstandingly bad -at this point. - -Why are the matrices egregious? - -Well, the main problem is a lack of efficeincy. Through relatively -profuse use of declarations, many of the main matrix operations are -efficient in the lisp-sense in that they are non-consing. It does not, -however, mean that they are particularly fast. This package has only -been tested on SBCL and SBCL's floating point performance is at least -decent. In theory, further tuning of the lisp matrix code and perhaps -the output of the compiler may help increase the performance here. As -it stands, matrix multiplication is an order of magnitude (base 10) -slower here than in BLAS. This performance is actually reasonably good -for a high-level language, in my opinion, and can hopefully be -improved upon. As informal benchmarks for comparison, I used BLAS and -a slightly hand-tuned matrix multiply written in C. Interestingly, I -could make the C version run about three times faster than the lisp -version, while the BLAS matrix multiply was another 3x faster than -that, yielding a roughly 10x speedup for BLAS relative to the CLEM -matrix multiply. It seems as though the performance hit is largely a -memory-access penalty. (Oh, I'll undoubtedly mention this again, but -at the moment this has only been tested on SBCL on PPC. It would be -interesting to see what the results on other processor families are, -but I would imagine they would be fairly similar.) Smarter memory -access patterns through the matrices to be multiplied and to -accumulate the results may help performance here. - -But clearly there is more to life than matrix multiplication. One of -the goals of building this package in lisp is to get access to the -nice features of high-level languages. It's all well and good to write -matrix-intensive code in fortran, but I really wouldn't to write code -for interacting with databases, or for processing XML documents or for -serving web-applications in fortran. I hope that CLEM can be used in -contexts such as these. - -Why not just use Matlab or R? - -This is a very good question. First and foremost, I like the features -of the lisp language and miss them greatly when I go into those -environments. The editing and debugging tools of a modern common lisp -(Emacs/SLIME today and perhaps CLIMACS/SLIME in the not-too-distant -future) are a major win in my eyes. Yes, there are amazing libraries -for doing just about everything under the sun in both Matlab and R, -but they strike me as less-good for general purpose computing than -common lisp. These really should be treated as the pros and cons for -each are in fact quite different. - -Matlab - -One major problem with Matlab is the licensing model. Ensuring that -Matlab is on every computer to run Matlab software is quite -annoying. A second problem is that the language, while very nice for -building quick and dirty scripts and prototypes, doesn't seem to be -nearly as nice for building large systems as common lisp. More on this -later. - -R - -R is great, but it's interpreted language leads to performance -problems. It is true that the core math routines in general are -implemented in fast fortran down "under the covers", but for -higher-level processing, one is stuck with a mediocre interpreted -language. It's true that the R language is essentially a scheme -variant, but it is a scheme variant with a C-like syntax on top that, -in my opinion, leaves much to be desired in comparison with common -lisp. - -What about Matlisp? - -Yes, matlisp is very nice and interfaces with fortran libraries for -fast math performance. In fact, I have started working on tying CLEM -into matlisp. This will probably be more important for floating point -and complex matrices than for integer matrices. Integer matrices are -important to me as one of the main data types I will be working with -are images, so I wanted an efficient package for dealing with integer -matrices. - -Anyway, we'll see if this ever proves to be useful. In the meantime, -it has been a fun exercise in trying to build a lisp-based system for -matrix math. - -What does CLEM do? - -Typed methods for matrix math -* mat-add -* mat-subtr -* mat-mult -* mat-mult-block (to replace mat-mult when fully debugged) -* mat-hprod (hadamard product (C_ij = A_ij * B_ij for all i,j)) -* scalar-mult -* scalar-divide -* sum -* sum-range -* max-val -* min-val - -Matrix type conversions - -Convolution - -Morphological Operations - -* gaussian-blur -* dilate -* erode - -Derivatives - -* x-derivative -* y-derivative -* gradmag - -Examples - -Check out test for now. Hope to have more of this in the near future. - diff --git a/external/clem/benchmark/bench-add.lisp b/external/clem/benchmark/bench-add.lisp deleted file mode 100644 index ea1dd92..0000000 --- a/external/clem/benchmark/bench-add.lisp +++ /dev/null @@ -1,83 +0,0 @@ - -(in-package :clem-benchmark) - -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0)) - (n (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 2d0))) - (with-matrix-benchmark (:add-1024-1024/double-float) - (m+ m n))) - -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0)) - (n (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 2d0))) - (with-matrix-benchmark (:add-in-place-1024-1024/double-float) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0)) - (n (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 2s0))) - (with-matrix-benchmark (:add-1024-1024/single-float) - (m+ m n))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0)) - (n (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 2s0))) - (with-matrix-benchmark (:add-in-place-1024-1024/single-float) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-1024-1024/sb8) - (m+ m n))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-in-place-1024-1024/sb8) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-1024-1024/sb16) - (m+ m n))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-in-place-1024-1024/sb16) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-1024-1024/sb32) - (m+ m n))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-in-place-1024-1024/sb32) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-1024-1024/ub8) - (m+ m n))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-in-place-1024-1024/ub8) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-1024-1024/ub16) - (m+ m n))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-in-place-1024-1024/ub16) - (mat-add m n :in-place t))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-1024-1024/ub32) - (m+ m n))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:add-in-place-1024-1024/ub32) - (mat-add m n :in-place t))) - diff --git a/external/clem/benchmark/bench-hprod.lisp b/external/clem/benchmark/bench-hprod.lisp deleted file mode 100644 index 1acc455..0000000 --- a/external/clem/benchmark/bench-hprod.lisp +++ /dev/null @@ -1,43 +0,0 @@ - -(in-package :clem-benchmark) - -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0)) - (n (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 2d0))) - (with-matrix-benchmark (:hprod-1024-1024/double-float) - (m.* m n))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0)) - (n (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 2s0))) - (with-matrix-benchmark (:hprod-1024-1024/single-float) - (m.* m n))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:hprod-1024-1024/sb8) - (m.* m n))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:hprod-1024-1024/sb16) - (m.* m n))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:hprod-1024-1024/sb32) - (m.* m n))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:hprod-1024-1024/ub8) - (m.* m n))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:hprod-1024-1024/ub16) - (m.* m n))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:hprod-1024-1024/ub32) - (m.* m n))) - diff --git a/external/clem/benchmark/bench-mult.lisp b/external/clem/benchmark/bench-mult.lisp deleted file mode 100644 index 859d430..0000000 --- a/external/clem/benchmark/bench-mult.lisp +++ /dev/null @@ -1,83 +0,0 @@ - -(in-package :clem-benchmark) - -(let ((m (make-instance 'double-float-matrix :dimensions '(512 512) :initial-element 1d0)) - (n (make-instance 'double-float-matrix :dimensions '(512 512) :initial-element 2d0))) - (with-matrix-benchmark (:mult-512-512/double-float) - (m* m n))) - -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0)) - (n (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 2d0))) - (with-matrix-benchmark (:mult-1024-1024/double-float) - (m* m n))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(512 512) :initial-element 1s0)) - (n (make-instance 'single-float-matrix :dimensions '(512 512) :initial-element 2s0))) - (with-matrix-benchmark (:mult-512-512/single-float) - (m* m n))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0)) - (n (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 2s0))) - (with-matrix-benchmark (:mult-1024-1024/single-float) - (m* m n))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(512 512) :initial-element 1)) - (n (make-instance 'sb8-matrix :dimensions '(512 512) :initial-element 2))) - (with-matrix-benchmark (:mult-512-512/sb8) - (m* m n))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:mult-1024-1024/sb8) - (m* m n))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(512 512) :initial-element 1)) - (n (make-instance 'sb16-matrix :dimensions '(512 512) :initial-element 2))) - (with-matrix-benchmark (:mult-512-512/sb16) - (m* m n))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:mult-1024-1024/sb16) - (m* m n))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(512 512) :initial-element 1)) - (n (make-instance 'sb32-matrix :dimensions '(512 512) :initial-element 2))) - (with-matrix-benchmark (:mult-512-512/sb32) - (m* m n))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:mult-1024-1024/sb32) - (m* m n))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(512 512) :initial-element 1)) - (n (make-instance 'ub8-matrix :dimensions '(512 512) :initial-element 2))) - (with-matrix-benchmark (:mult-512-512/ub8) - (m* m n))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:mult-1024-1024/ub8) - (m* m n))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(512 512) :initial-element 1)) - (n (make-instance 'ub16-matrix :dimensions '(512 512) :initial-element 2))) - (with-matrix-benchmark (:mult-512-512/ub16) - (m* m n))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:mult-1024-1024/ub16) - (m* m n))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(512 512) :initial-element 1)) - (n (make-instance 'ub32-matrix :dimensions '(512 512) :initial-element 2))) - (with-matrix-benchmark (:mult-512-512/ub32) - (m* m n))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1)) - (n (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 2))) - (with-matrix-benchmark (:mult-1024-1024/ub32) - (m* m n))) - diff --git a/external/clem/benchmark/bench-scale.lisp b/external/clem/benchmark/bench-scale.lisp deleted file mode 100644 index d198cbc..0000000 --- a/external/clem/benchmark/bench-scale.lisp +++ /dev/null @@ -1,78 +0,0 @@ - -(in-package :clem-benchmark) - -;;; mat-scale double float benchmarks -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0))) - (with-matrix-benchmark (:scale-1024-1024/double-float) - (mat-scale m 2.0d0))) - -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0))) - (with-matrix-benchmark (:scale-in-place-1024-1024/double-float) - (mat-scale m 2.0d0 :in-place t))) - -;;; mat-scale single float benchmarks -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0))) - (with-matrix-benchmark (:scale-1024-1024/single-float) - (mat-scale m 2.0s0))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0))) - (with-matrix-benchmark (:scale-in-place-1024-1024/single-float) - (mat-scale m 2.0s0 :in-place t))) - -;;; mat-scale sb8 benchmarks -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-1024-1024/sb8) - (mat-scale m 2))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-in-place-1024-1024/sb8) - (mat-scale m 2 :in-place t))) - -;;; mat-scale sb16 benchmarks -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-1024-1024/sb16) - (mat-scale m 2))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-in-place-1024-1024/sb16) - (mat-scale m 2 :in-place t))) - - -;;; mat-scale sb32 benchmarks -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-1024-1024/sb32) - (mat-scale m 2))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-in-place-1024-1024/sb32) - (mat-scale m 2 :in-place t))) - - -;;; mat-scale ub8 benchmarks -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-1024-1024/ub8) - (mat-scale m 2))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-in-place-1024-1024/ub8) - (clem::mat-scale m 2 :in-place t))) - - -;;; mat-scale ub16 benchmarks -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-1024-1024/ub16) - (mat-scale m 2))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-in-place-1024-1024/ub16) - (clem::mat-scale m 2 :in-place t))) - - -;;; mat-scale ub32 benchmarks -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-1024-1024/ub32) - (mat-scale m 2))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:scale-in-place-1024-1024/ub32) - (clem::mat-scale m 2 :in-place t))) diff --git a/external/clem/benchmark/bench-subtr.lisp b/external/clem/benchmark/bench-subtr.lisp deleted file mode 100644 index 2df23f9..0000000 --- a/external/clem/benchmark/bench-subtr.lisp +++ /dev/null @@ -1,43 +0,0 @@ - -(in-package :clem-benchmark) - -(let ((m (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 2d0)) - (n (make-instance 'double-float-matrix :dimensions '(1024 1024) :initial-element 1d0))) - (with-matrix-benchmark (:subtr-1024-1024/double-float) - (m- m n))) - -(let ((m (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 2s0)) - (n (make-instance 'single-float-matrix :dimensions '(1024 1024) :initial-element 1s0))) - (with-matrix-benchmark (:subtr-1024-1024/single-float) - (m- m n))) - -(let ((m (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 2)) - (n (make-instance 'sb8-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:subtr-1024-1024/sb8) - (m- m n))) - -(let ((m (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 2)) - (n (make-instance 'sb16-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:subtr-1024-1024/sb16) - (m- m n))) - -(let ((m (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 2)) - (n (make-instance 'sb32-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:subtr-1024-1024/sb32) - (m- m n))) - -(let ((m (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 2)) - (n (make-instance 'ub8-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:subtr-1024-1024/ub8) - (m- m n))) - -(let ((m (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 2)) - (n (make-instance 'ub16-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:subtr-1024-1024/ub16) - (m- m n))) - -(let ((m (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 2)) - (n (make-instance 'ub32-matrix :dimensions '(1024 1024) :initial-element 1))) - (with-matrix-benchmark (:subtr-1024-1024/ub32) - (m- m n))) - diff --git a/external/clem/benchmark/benchmarks.lisp b/external/clem/benchmark/benchmarks.lisp deleted file mode 100644 index 25aa447..0000000 --- a/external/clem/benchmark/benchmarks.lisp +++ /dev/null @@ -1,42 +0,0 @@ - -(in-package :clem-benchmark) - -(defmacro with-benchmark (&body body) - (let ((start-var (gensym)) - (end-var (gensym))) - `(let ((,start-var (get-internal-run-time))) - (values - (multiple-value-list - (progn ,@body)) - (let ((,end-var (get-internal-run-time))) - (coerce (/ (- ,end-var ,start-var) internal-time-units-per-second) - 'double-float)))))) - -(defmacro benchmark-time (benchmark-results) - `(nth-value 1 ,benchmark-results)) - -(defparameter *matrix-benchmark-times* (make-hash-table :test 'eql)) - -(defmacro with-matrix-benchmark ((key) &body body) - (let ((time-sym (gensym)) - (results-sym (gensym))) - `(multiple-value-bind (,results-sym ,time-sym) - (with-benchmark - (progn ,@body)) - (setf (gethash ,key *matrix-benchmark-times*) - ,time-sym) - (values-list ,results-sym)))) - -(defun get-benchmark-time (key) - (gethash key *matrix-benchmark-times*)) - -(defun list-benchmarks () - (let ((l)) - (maphash #'(lambda (k v) - (push (cons k v) l)) - *matrix-benchmark-times*) - (nreverse l))) - -(defun clear-benchmarks () - (clrhash *matrix-benchmark-times*)) - diff --git a/external/clem/benchmark/defpackage.lisp b/external/clem/benchmark/defpackage.lisp deleted file mode 100644 index fc162f5..0000000 --- a/external/clem/benchmark/defpackage.lisp +++ /dev/null @@ -1,8 +0,0 @@ - -(in-package #:cl-user) - -(defpackage #:clem-benchmark - (:use #:cl #:asdf #:clem) - (:export #:list-benchmarks - #:clear-benchmarks)) - diff --git a/external/clem/bootstrap.lisp b/external/clem/bootstrap.lisp deleted file mode 100644 index d47a6b1..0000000 --- a/external/clem/bootstrap.lisp +++ /dev/null @@ -1,18 +0,0 @@ - -(require 'asdf) - -(asdf:operate 'asdf:load-op 'clem) -(asdf:operate 'asdf:load-op 'clem-test) - -(let ((m1 (make-instance 'clem:ub8-matrix :rows 8 :cols 10 :initial-element 2)) - (m2 (make-instance 'clem:ub8-matrix :rows 10 :cols 7 :initial-element 3))) - (describe m1) - (describe (clem::horzcat m1 m2)) - (describe (clem::vertcat m1 m2))) - -;(clem-test:run-tests) -;(clem-test:run-bench) -; (clem-test:run-defmatrix-tests) -; (let* ((x (clem::random-fixnum-matrix 512 512 :max 255))) (print (clem::sum-range x 2 2 4 4))) - - diff --git a/external/clem/ch-util-test.asd b/external/clem/ch-util-test.asd deleted file mode 120000 index 818719e..0000000 --- a/external/clem/ch-util-test.asd +++ /dev/null @@ -1 +0,0 @@ -../ch-util/ch-util-test.asd \ No newline at end of file diff --git a/external/clem/ch-util.asd b/external/clem/ch-util.asd deleted file mode 120000 index 3771481..0000000 --- a/external/clem/ch-util.asd +++ /dev/null @@ -1 +0,0 @@ -../ch-util/ch-util.asd \ No newline at end of file diff --git a/external/clem/clem-benchmark.asd b/external/clem/clem-benchmark.asd deleted file mode 100644 index 118d386..0000000 --- a/external/clem/clem-benchmark.asd +++ /dev/null @@ -1,22 +0,0 @@ - -(defpackage #:clem-benchmark-system (:use #:asdf #:cl)) -(in-package #:clem-benchmark-system) - -(defsystem :clem-benchmark - :name "clem-benchmark" - :author "Cyrus Harmon " - :version #.(with-open-file - (vers (merge-pathnames "version.lisp-expr" *load-truename*)) - (read vers)) - :depends-on (ch-util clem) - :components - ((:module :benchmark - :components - ((:cl-source-file "defpackage") - (:cl-source-file "benchmarks" :depends-on ("defpackage")) - (:cl-source-file "bench-add" :depends-on ("benchmarks")) - (:cl-source-file "bench-subtr" :depends-on ("benchmarks")) - (:cl-source-file "bench-mult" :depends-on ("benchmarks")) - (:cl-source-file "bench-hprod" :depends-on ("benchmarks")) - (:cl-source-file "bench-scale" :depends-on ("benchmarks")))))) - diff --git a/external/clem/clem-doc.asd b/external/clem/clem-doc.asd deleted file mode 100644 index bde3e30..0000000 --- a/external/clem/clem-doc.asd +++ /dev/null @@ -1,67 +0,0 @@ - -(asdf:operate 'asdf:load-op :ch-asdf) -(asdf:operate 'asdf:load-op :smarkup) - -(defpackage #:clem-doc-system (:use #:cl #:asdf #:ch-asdf #:smarkup)) -(in-package #:clem-doc-system) - -#.(smarkup::enable-quote-reader-macro) - -(defsystem :clem-doc - :name "clem-doc" - :author "Cyrus Harmon" - :version #.(with-open-file - (vers (merge-pathnames "version.lisp-expr" *load-truename*)) - (read vers)) - :licence "BSD" - :depends-on (ch-asdf ch-bib ch-util clem smarkup) - :components - ((:static-file "make-tinaa-docs" :pathname #p"make-tinaa-docs.lisp") - (:module - :doc - :components - ((:object-from-file :clem-sexp - :pathname #p"clem.sexp") - (:filtered-object :clem-filtered-sexp - :filters (:lisp :smarkup-metadata :ref) - :depends-on (:clem-sexp) - :input-object :clem-sexp) - (:object-latex-file :clem-latex - :pathname #p"clem.tex" - :depends-on (:clem-filtered-sexp) - :input-object :clem-filtered-sexp) - (:pdf-file :clem-pdf :pathname #p"clem.pdf" - :depends-on (clem-latex)) - (:filtered-object :clem-html-filtered-sexp - :filters (:html-metadata) - :depends-on (:clem-filtered-sexp) - :input-object :clem-filtered-sexp) - (:object-xhtml-file :clem-xhtml - :pathname #p"clem.xhtml" - :depends-on (:clem-html-filtered-sexp) - :input-object :clem-html-filtered-sexp) - - (:object-from-file :clem-performance-sexp - :pathname #p"clem-performance.sexp") - (:filtered-object :clem-performance-filtered-sexp - :filters (:lisp :smarkup-metadata :ref) - :depends-on (:clem-performance-sexp) - :input-object :clem-performance-sexp) - (:object-latex-file :clem-performance-latex - :pathname #p"clem-performance.tex" - :depends-on (:clem-performance-filtered-sexp) - :input-object :clem-performance-filtered-sexp) - (:pdf-file :clem-performance-pdf :pathname #p"clem-performance.pdf" - :depends-on (clem-performance-latex)) - (:filtered-object :clem-performance-html-filtered-sexp - :filters (:html-metadata) - :depends-on (:clem-performance-filtered-sexp) - :input-object :clem-performance-filtered-sexp) - (:object-xhtml-file :clem-performance-xhtml - :pathname #p"clem-performance.xhtml" - :depends-on (:clem-performance-html-filtered-sexp) - :input-object :clem-performance-html-filtered-sexp) - - (:css-file :simple) - (:tinaa-directory :tinaa))))) - diff --git a/external/clem/clem-test.asd b/external/clem/clem-test.asd deleted file mode 100644 index c2565df..0000000 --- a/external/clem/clem-test.asd +++ /dev/null @@ -1,46 +0,0 @@ - -(defpackage #:clem-test-system (:use #:asdf #:cl)) -(in-package #:clem-test-system) - -;;;; -;;;; The following section customizes asdf to work with filenames -;;;; with a .cl extension and to put fasl files in a separate -;;;; directory. -;;;; -;;;; To enable this behvior, use asdf component type -;;;; :clem-test-cl-source-file -;;;; -(defclass clem-test-cl-source-file (cl-source-file) ()) - -(defmethod source-file-type ((c clem-test-cl-source-file) (s module)) "cl") - -(defparameter *fasl-directory* - (make-pathname :directory '(:relative #+sbcl "sbcl-fasl" - #+openmcl "openmcl-fasl" - #-(or sbcl openmcl) "fasl"))) - -(defmethod asdf::output-files :around ((operation compile-op) (c clem-test-cl-source-file)) - (list (merge-pathnames *fasl-directory* (compile-file-pathname (component-pathname c))))) - - -(defsystem :clem-test - :name "clem-test" - :author "Cyrus Harmon " - :version #.(with-open-file - (vers (merge-pathnames "version.lisp-expr" *load-truename*)) - (read vers)) - :depends-on (ch-util clem) - :components - ((:module :test - :components - ((:clem-test-cl-source-file "defpackage") - (:clem-test-cl-source-file "test-clem" :depends-on ("defpackage")) - (:clem-test-cl-source-file "test-clem2" :depends-on ("defpackage")) - (:clem-test-cl-source-file "test-clem3" :depends-on ("defpackage")) - (:clem-test-cl-source-file "test-defmatrix" :depends-on ("defpackage")) - (:clem-test-cl-source-file "test-transform" :depends-on ("defpackage")) - (:clem-test-cl-source-file "test-convolve" :depends-on ("defpackage")) - (:clem-test-cl-source-file "bench-matrix" :depends-on ("defpackage")) - (:clem-test-cl-source-file "test-hprod" :depends-on ("defpackage")) - )))) - diff --git a/external/clem/clem.asd b/external/clem/clem.asd deleted file mode 100644 index 032b833..0000000 --- a/external/clem/clem.asd +++ /dev/null @@ -1,86 +0,0 @@ - -(in-package #:cl-user) - -(defpackage #:clem-system (:use #:asdf #:cl)) -(in-package #:clem-system) - -(defsystem :clem - :name "clem" - :author "Cyrus Harmon " - :version #.(with-open-file - (vers (merge-pathnames "version.lisp-expr" *load-truename*)) - (read vers)) - :licence "BSD" - :depends-on (ch-util) - :components - ((:static-file "version" :pathname #p"version.lisp-expr") - (:module - :src - :components - ((:cl-source-file "defpackage") - (:cl-source-file "metaclasses" :depends-on ("defpackage")) - (:cl-source-file "early-matrix" :depends-on ("defpackage" "metaclasses")) - (:cl-source-file "mref" :depends-on ("early-matrix")) - (:cl-source-file "macros" :depends-on ("defpackage" "metaclasses" "mref")) - (:cl-source-file "matrix-classes" :depends-on ("defpackage" - "metaclasses" - "mref" - "macros")) - (:cl-source-file "matrix" :depends-on ("matrix-classes")) - (:cl-source-file "print" :depends-on ("matrix")) - (:cl-source-file "typed-matrix" :depends-on ("defpackage" "matrix")) - (:cl-source-file "mloop" :depends-on ("defpackage" "matrix")) - (:cl-source-file "defmatrix" :depends-on ("typed-matrix" "mref")) - (:cl-source-file "defmatrix-types" :depends-on ("defmatrix")) - (:cl-source-file "scalar" :depends-on ("matrix")) - (:cl-source-file "typed-matrix-utils" :depends-on ("typed-matrix")) - (:cl-source-file "vector" :depends-on ("matrix")) - (:cl-source-file "matrixops" :depends-on ("typed-matrix-utils")) - (:cl-source-file "interpolation" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "transform" :depends-on ("matrix" - "defmatrix-types" - "interpolation")) - (:cl-source-file "extrema" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "add" :depends-on ("matrix" - "defmatrix-types" - "scalar" - "mloop" - "mref" - "vector" - "typed-matrix-utils")) - (:cl-source-file "subtr" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "scale" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "move" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "sum" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "arithmetic" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "logical-operations" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "abs" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "normalize" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "statistics" :depends-on ("matrix" "defmatrix-types")) - (:cl-source-file "exponential" :depends-on ("matrix" "defmatrix-types")) - - (:module - :typed-ops - :components - ((:cl-source-file "defmatrix-equal") - (:cl-source-file "defmatrix-hprod") - (:cl-source-file "defmatrix-mult") - (:cl-source-file "defmatrix-mult-block") - (:cl-source-file "defmatrix-transform") - (:cl-source-file "defmatrix-scale") - (:cl-source-file "defmatrix-subset-matrix") - (:cl-source-file "defmatrix-convolve")) - :depends-on ("defmatrix-types" - "matrix" - "mloop" - "scalar" - "interpolation" - "matrixops" - "typed-matrix-utils")))) - (:static-file "bootstrap" :pathname #p"bootstrap.lisp") - (:static-file "COPYRIGHT") - (:static-file "NEWS") - (:static-file "ChangeLog") - (:static-file "README") - (:static-file "make-dist" :pathname #p"make-dist.sh"))) - diff --git a/external/clem/doc/clem-performance.pdf b/external/clem/doc/clem-performance.pdf deleted file mode 100644 index 9533092aa1d1d92fd9f0c339348e8a2ef8a33824..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcwPel00001 literal 86834 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 LTeqx%*$MvzZI5x2 diff --git a/external/clem/doc/clem-performance.sexp b/external/clem/doc/clem-performance.sexp deleted file mode 100644 index 8f5f1a5..0000000 --- a/external/clem/doc/clem-performance.sexp +++ /dev/null @@ -1,280 +0,0 @@ -((:P - #.(progn - (in-package :clem) - #.(smarkup::enable-quote-reader-macro) - (smarkup::setup-headings) - nil) - (:smarkup-metadata - (:copyright - "Copyright 2006, Cyrus Harmon. All Rights Reserved.") - (:title - "CLEM Matrix Performance") - (:author "Cyrus L. Harmon") - (:bibtex-database - "(\"asdf:/ch-bib/lisp\" \"asdf:/ch-bib/bio\" \"asdf:/ch-bib/stat\" \"asdf:/ch-bib/vision\")") - (:bibtex-style "Science")) - (:html-metadata (:htmlcss "simple.css"))) - - (:h1 "CLEM Performance") - - (:h2 "Introduction") - - (:p #q{Common Lisp is a high-level language that is a modern-day - member of the LISP family of languages. Common Lisp can be - either interpreted or compiled, or both, depending on the - implementation and modern compilers offer the promise of - performance on the order of that achieved by C and fortran - compilers. CLEM is a matrix math package for Common Lisp that - strives to offer high-performance matrix math routines, written - in Common Lisp. Common Lisp has a sophisticated type system and - it is a goal of CLEM to offer matrix representation and - opreations that exploit the features of this type - system. Furthermore, Common Lisp has a sophisticated object - model, the Common Lisp Object System (CLOS), and CLEM uses - features of CLOS and its companion metaobject system, the - Meta-object Protocol (MOP) to define its classes, objects and - methods.}) - - (:p #q{Common Lisp implementations vary greatly in their - peformance, but the Common Lisp standard provides an - infrastructure for high-performance-capable implementations - to generate efficient code through the use of compiler - declarations of types and optimization settings. Lisp - implementations are free to compile lisp code to native - machine code, rather than either interpreting the lisp code - on the fly, or compiling the code to a byte-code - representation, that is then executed by a virtual - machine. This suggests that, subject to the limits placed on - the output by the common lisp language and to the - implementation details of the particular lisp system, a lisp - environment should be able to produce code that approaches - the speed and efficiency of other compiled languages. SBCL - is a Common Lisp implementation that compiles to native code - and has a sophisticated compiler called, somewhat - confusingly, Python, although the Python compiler predates - the Python interpreted language by many years. SBCL's compiler - uses type and optimization declarations to generate efficient - code by producing optimized routines that are specific to the - declared types, often representing data in an "unboxed" format, - ideally one that matches the type representation handled directly - by the CPU. One of CLEM's main goals is to provide efficient - matrix operations that utilize the capabilities of the lisp - compiler to generate efficient code.}) - - (:h3 #q{Boxed and Unboxed Representation of Lisp Data Objects}) - - (:p #q{Boxed representations of lisp values are generally stored - as tagged data objects where the tags serve to identify the type - of the particular object. Unboxed representations, on the other - hand, are merely represented by the data values themselves, - without any identifying metadata being stored with the - value. Obviously, the language environment needs to know, or to - be able to determine, the type of a particular data value. For - boxed values, the language environment can rely on the fact that - the type information is stored with the data value directly. For - unboxed values, the language system must keep track of the value - stored in a particular directly. The main advantage of using - unboxed datatypes is that the language environment, or compiled - code it produces, does not have to bother extracting the type - information from the boxed value and extracting the data as - appropriate. However, this has the disadvantage that the type of - data is then fixed to be that represented by the unboxed - type. Often, hybrid representations are used in structures such - as an array, where the array itself will be a dynamically typed, - boxed object while the values of the array will be unboxed - values placed in an a particular region of memory. By using - unboxed values for the elements of the array, the code can - directly access these values without the overhead of "unboxing" - the data. Boxed memory access often allocates memory, - or "conses" in lisp parlance, as a storage area is needed to - hold the unboxed value. In summary, sing boxed datatypes introduces - (at least) two important areas where work has to be done by the - language environment to access the data, the allocation of temporary - to store the resulting values that will be unboxed from the data, and - additional work on the part of the code to unbox the data in the - first place.}) - - (:p #q{For these reasons, it is higly desirable for CLEM to use - unboxed data where possibly. In the inner loop of a matrix - operation, for instance, accessing a boxed data type can - introduce substantial performance penalties. Therefore, CLEM has gone - to great lengths to provide matrix representations that yield unboxed - values and operations that can operate on these values with - allocation of a minimum amount of memory.}) - - (:h3 #q{Avoiding Unneccessary Memory Allocation}) - - (:h1 #q{CLEM Design Goals}) - - (:h2 #q{CLEM Implementation Choices}) - - (:h1 #q{Matrix Data Representation}) - - (:p #q{What options do we have for storing matrix data? Main choices - are lisp arrays or an external block of memory. Are there other - options here?}) - - (:h2 #q{Reification of Matrix Data Objects}) - - (:p #q{Defering, for a moment, the question of what form the - actual matrix data will take, let us consider the form of - the matrix object itself. It could be the object that - represents the data directly, or it could be an object, such - as an instance of a class or struct, that contains a - reference to the object that holds the data. In a sense, the - simplest approach to providing matrix arithmetic operations - is just to use common lisp arrays both to hold the data and - to be the direct representation of the matrix object. The - CLEM design assumes that there is additional data, besides - the data values stored in the array, or what have you, that - will be needed and that just using a lisp array as the - matrix itself is insufficient.}) - - (:h2 #q{Common Lisp Arrays}) - - (:p #q{Lisp arrays have the advantage that they are likely to - take advantage of the lisp type system. Yes, an - implementation may choose to ignroe this information, or - continue to produce the same code as it would for untyped - arrays, but a sufficently smart compiler, such as Python, - should use the array type information to produce efficient - code. Of course this also means that in order to get this - efficiency we have to provide this type information to the - compiler. As we try to modularize various pieces, it is - often the case that one would like to have generic code that - can work on matrices of any type. It these cases, additional - measures may be needed to coax the compiler into generating - efficient code, while doing so in a generic manner.}) - - (:h3 #q{One-dimensional or Multi-dimensional Arrays?}) - - (:p #q{One issue in dealing with lisp arrays is whether to use - the lisp facilitty for multi-dimensional array. One argument - in favor of native multi-dimensional arrays is that the - compiler can generate efficent code to access data in - certain multi-dimensional arrays, provided that this - information is known and passed to the compiler at - compile-time. On the other hand, using one-dimensional - arrays puts both the burden of and the flexibility of - computing array indices on the matrix package.}) - - (:h3 #q{Extensible arrays?}) - - (#p #q{Christophe Rhodes has recently introduced a protocol for - extensible sequences to SBCL. Might a protocol for a similar - extensible array be useful here?}) - - (:h3 #q{What About Lists?}) - - (:p #q{Lists are convenient for representing matrices in that - the iteration functions can be used to traverse the elements of - the matrix, yielding the famous trivial transpose operation - using mapcar and list. However, lists aren't designed for - efficient random access and are a poor choice for representing - anything but trivially small matrices.}) - - (:h #q{Other Blocks of Memory}) - - (:p #q{It is worth mentioning the possibility of other approaches, - such as an external block of memory, perhaps allocated with either - non-standard routines of the lisp system, or via a foreign-function - interface, and to determine the offsets into this block of memory, - coerce the contents to a given lisp type and obtain the results. This - approach is used by some libraries that use clem, such as ch-image, - to access matrix/array data stored in memory in a non-native-lisp - form, such as matlisp matrices (which are really BLAS/LAPACK - matrices), fftw matrices, and arrays of data from TIFF images. While - this is nice to be able to do, it is unlikely to be practical for - storing matrix data, given the alternative of using lisp - arrays. Coercing of the contents of the matrix to lisp types is - done for us by optimized code in the compiler. It is unlikely that we - would be able to do a better job of this than the compiler. This - approach is useful for conversion of matrix data to other in-memory - formats, but unlikely to be useful for the typed lisp matrices for - which CLEM is designed. If we were to go this route, it would make - sense to use other, optimized, code libraries for operating on this - data, and this is what matlisp does, handing these blocks of memory - off to BLAS/LAPACK for processing in highly-optimized routines - written in C, Fortran or Assembly Language. }) - - (:h1 #q{Matrix Data Access}) - - (:h2 #q{Now that we have chosen a matrix representation, how do we - access the data in it?}) - - (:h2 #q{Slow and Fast Data Access Paths}) - - (:h2 #q{Flexibility}) - - (:h3 #q{Resizing Matrices}) - - (:h3 #q{Matrix Index "Recycling"}) - - (:h2 #q{Macros}) - - (:h2 #q{Compiler Macros}) - - (:h2 #q{SBCL-specific Compiler Features}) - - (:h3 #q{defknown/deftransform/defoptimizer}) - - (:h1 #q{Benchmarks}) - - (:p #q{We'll start with some simple benchmarks of matrix operations - and examine the effect of the various implementation strategies for - representing matrices on these operations.}) - - (:h2 #q{2-Dimensional Lisp Arrays}) - - (:lisp - #q{ - (defparameter b1 (make-array '(1024 1024) - :element-type 'double-float - :initial-element 1.0d0 - :adjustable nil - :fill-pointer nil)) - - (defparameter b2 (make-array '(1024 1024) - :element-type 'double-float - :initial-element 1.0d0 - :adjustable nil - :fill-pointer nil)) - - (defparameter b3 (make-array '(1024 1024) - :element-type 'double-float - :initial-element 1.0d0 - :adjustable nil - :fill-pointer nil)) - }) - - (:p #q{Now, our function to add the two arrays:}) - - (:lisp - #q{ - (defun bench/add-matrix/aref (a1 a2 a3) - (destructuring-bind (rows cols) - (array-dimensions a1) - (dotimes (i rows) - (dotimes (j cols) - (setf (aref a3 i j) (+ (aref a1 i j) (aref a2 i j))))))) - - }) - - - (:p #q{Now, we time how long it takes to run bench/addmatrix/aref:}) - - - (:lisp - #q{(ch-util:time-to-string (bench/add-matrix/aref b1 b2 b3))}) - - (:h2 #q{1-Dimensional Lisp Arrays}) - - (:h2 #q{A CLOS object holding a reference to a 2-Dimensional Lisp - Array}) - - (:h2 #q{A CLOS object holding a reference to a 1-Dimensional Lisp - Array}) - - - #+nil(:BIBLIOGRAPHY)) - diff --git a/external/clem/doc/clem-performance.tex b/external/clem/doc/clem-performance.tex deleted file mode 100644 index aa103ae..0000000 --- a/external/clem/doc/clem-performance.tex +++ /dev/null @@ -1,320 +0,0 @@ -\documentclass[10pt]{article} -\setcounter{secnumdepth}{5} -\usepackage{amssymb} -\usepackage{amsmath} -\usepackage{verbatim} -\usepackage{graphicx} -\usepackage{subfigure} -\usepackage{caption} -\usepackage{hyperref} -\usepackage{fancyheadings} -\usepackage{longtable} -\usepackage[letterpaper]{geometry} -\newcommand{\argmax}{\operatornamewithlimits{argmax}}\newcommand{\argmin}{\operatornamewithlimits{argmin}} -\title{CLEM Matrix Performance} -\author{Cyrus L. Harmon} -\geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in} -\setcounter{topnumber}{2} -\setcounter{bottomnumber}{2} -\setcounter{totalnumber}{4} % 2 may work better -\setcounter{dbltopnumber}{2} % for 2-column pages -\renewcommand{\dbltopfraction}{0.9} % fit big float above 2-col. text -\renewcommand{\textfraction}{0.07} % allow minimal text w. figs -% Parameters for FLOAT pages (not text pages): -\renewcommand{\floatpagefraction}{0.7} % require fuller float pages -% N.B.: floatpagefraction MUST be less than topfraction !! -\renewcommand{\dblfloatpagefraction}{0.7} % require fuller float pages -\setlength{\captionmargin}{10pt} -\begin{document} -\maketitle -\let\mypdfximage\pdfximage -\def\pdfximage{\immediate\mypdfximage} -\baselineskip14pt - - -\clearpage -\section{CLEM Performance} -\baselineskip12pt -\subsection{Introduction} -\baselineskip14pt -Common Lisp is a high-level language that is a modern-day - member of the LISP family of languages. Common Lisp can be - either interpreted or compiled, or both, depending on the - implementation and modern compilers offer the promise of - performance on the order of that achieved by C and fortran - compilers. CLEM is a matrix math package for Common Lisp that - strives to offer high-performance matrix math routines, written - in Common Lisp. Common Lisp has a sophisticated type system and - it is a goal of CLEM to offer matrix representation and - opreations that exploit the features of this type - system. Furthermore, Common Lisp has a sophisticated object - model, the Common Lisp Object System (CLOS), and CLEM uses - features of CLOS and its companion metaobject system, the - Meta-object Protocol (MOP) to define its classes, objects and - methods. - -Common Lisp implementations vary greatly in their - peformance, but the Common Lisp standard provides an - infrastructure for high-performance-capable implementations - to generate efficient code through the use of compiler - declarations of types and optimization settings. Lisp - implementations are free to compile lisp code to native - machine code, rather than either interpreting the lisp code - on the fly, or compiling the code to a byte-code - representation, that is then executed by a virtual - machine. This suggests that, subject to the limits placed on - the output by the common lisp language and to the - implementation details of the particular lisp system, a lisp - environment should be able to produce code that approaches - the speed and efficiency of other compiled languages. SBCL - is a Common Lisp implementation that compiles to native code - and has a sophisticated compiler called, somewhat - confusingly, Python, although the Python compiler predates - the Python interpreted language by many years. SBCL's compiler - uses type and optimization declarations to generate efficient - code by producing optimized routines that are specific to the - declared types, often representing data in an "unboxed" format, - ideally one that matches the type representation handled directly - by the CPU. One of CLEM's main goals is to provide efficient - matrix operations that utilize the capabilities of the lisp - compiler to generate efficient code. - -\baselineskip12pt -\subsubsection{Boxed and Unboxed Representation of Lisp Data Objects} -\baselineskip14pt -Boxed representations of lisp values are generally stored - as tagged data objects where the tags serve to identify the type - of the particular object. Unboxed representations, on the other - hand, are merely represented by the data values themselves, - without any identifying metadata being stored with the - value. Obviously, the language environment needs to know, or to - be able to determine, the type of a particular data value. For - boxed values, the language environment can rely on the fact that - the type information is stored with the data value directly. For - unboxed values, the language system must keep track of the value - stored in a particular directly. The main advantage of using - unboxed datatypes is that the language environment, or compiled - code it produces, does not have to bother extracting the type - information from the boxed value and extracting the data as - appropriate. However, this has the disadvantage that the type of - data is then fixed to be that represented by the unboxed - type. Often, hybrid representations are used in structures such - as an array, where the array itself will be a dynamically typed, - boxed object while the values of the array will be unboxed - values placed in an a particular region of memory. By using - unboxed values for the elements of the array, the code can - directly access these values without the overhead of "unboxing" - the data. Boxed memory access often allocates memory, - or "conses" in lisp parlance, as a storage area is needed to - hold the unboxed value. In summary, sing boxed datatypes introduces - (at least) two important areas where work has to be done by the - language environment to access the data, the allocation of temporary - to store the resulting values that will be unboxed from the data, and - additional work on the part of the code to unbox the data in the - first place. - -For these reasons, it is higly desirable for CLEM to use - unboxed data where possibly. In the inner loop of a matrix - operation, for instance, accessing a boxed data type can - introduce substantial performance penalties. Therefore, CLEM has gone - to great lengths to provide matrix representations that yield unboxed - values and operations that can operate on these values with - allocation of a minimum amount of memory. - -\baselineskip12pt -\subsubsection{Avoiding Unneccessary Memory Allocation} -\baselineskip14pt -\clearpage -\section{CLEM Design Goals} -\baselineskip12pt -\subsection{CLEM Implementation Choices} -\baselineskip14pt -\clearpage -\section{Matrix Data Representation} -What options do we have for storing matrix data? Main choices - are lisp arrays or an external block of memory. Are there other - options here? - -\baselineskip12pt -\subsection{Reification of Matrix Data Objects} -\baselineskip14pt -Defering, for a moment, the question of what form the - actual matrix data will take, let us consider the form of - the matrix object itself. It could be the object that - represents the data directly, or it could be an object, such - as an instance of a class or struct, that contains a - reference to the object that holds the data. In a sense, the - simplest approach to providing matrix arithmetic operations - is just to use common lisp arrays both to hold the data and - to be the direct representation of the matrix object. The - CLEM design assumes that there is additional data, besides - the data values stored in the array, or what have you, that - will be needed and that just using a lisp array as the - matrix itself is insufficient. - -\baselineskip12pt -\subsection{Common Lisp Arrays} -\baselineskip14pt -Lisp arrays have the advantage that they are likely to - take advantage of the lisp type system. Yes, an - implementation may choose to ignroe this information, or - continue to produce the same code as it would for untyped - arrays, but a sufficently smart compiler, such as Python, - should use the array type information to produce efficient - code. Of course this also means that in order to get this - efficiency we have to provide this type information to the - compiler. As we try to modularize various pieces, it is - often the case that one would like to have generic code that - can work on matrices of any type. It these cases, additional - measures may be needed to coax the compiler into generating - efficient code, while doing so in a generic manner. - -\baselineskip12pt -\subsubsection{One-dimensional or Multi-dimensional Arrays?} -\baselineskip14pt -One issue in dealing with lisp arrays is whether to use - the lisp facilitty for multi-dimensional array. One argument - in favor of native multi-dimensional arrays is that the - compiler can generate efficent code to access data in - certain multi-dimensional arrays, provided that this - information is known and passed to the compiler at - compile-time. On the other hand, using one-dimensional - arrays puts both the burden of and the flexibility of - computing array indices on the matrix package. - -\baselineskip12pt -\subsubsection{Extensible arrays?} -\baselineskip14pt -\baselineskip12pt -\subsubsection{What About Lists?} -\baselineskip14pt -Lists are convenient for representing matrices in that - the iteration functions can be used to traverse the elements of - the matrix, yielding the famous trivial transpose operation - using mapcar and list. However, lists aren't designed for - efficient random access and are a poor choice for representing - anything but trivially small matrices. - -It is worth mentioning the possibility of other approaches, - such as an external block of memory, perhaps allocated with either - non-standard routines of the lisp system, or via a foreign-function - interface, and to determine the offsets into this block of memory, - coerce the contents to a given lisp type and obtain the results. This - approach is used by some libraries that use clem, such as ch-image, - to access matrix/array data stored in memory in a non-native-lisp - form, such as matlisp matrices (which are really BLAS/LAPACK - matrices), fftw matrices, and arrays of data from TIFF images. While - this is nice to be able to do, it is unlikely to be practical for - storing matrix data, given the alternative of using lisp - arrays. Coercing of the contents of the matrix to lisp types is - done for us by optimized code in the compiler. It is unlikely that we - would be able to do a better job of this than the compiler. This - approach is useful for conversion of matrix data to other in-memory - formats, but unlikely to be useful for the typed lisp matrices for - which CLEM is designed. If we were to go this route, it would make - sense to use other, optimized, code libraries for operating on this - data, and this is what matlisp does, handing these blocks of memory - off to BLAS/LAPACK for processing in highly-optimized routines - written in C, Fortran or Assembly Language. - -\clearpage -\section{Matrix Data Access} -\baselineskip12pt -\subsection{Now that we have chosen a matrix representation, how do we - access the data in it?} -\baselineskip14pt -\baselineskip12pt -\subsection{Slow and Fast Data Access Paths} -\baselineskip14pt -\baselineskip12pt -\subsection{Flexibility} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Resizing Matrices} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Matrix Index "Recycling"} -\baselineskip14pt -\baselineskip12pt -\subsection{Macros} -\baselineskip14pt -\baselineskip12pt -\subsection{Compiler Macros} -\baselineskip14pt -\baselineskip12pt -\subsection{SBCL-specific Compiler Features} -\baselineskip14pt -\baselineskip12pt -\subsubsection{defknown/deftransform/defoptimizer} -\baselineskip14pt -\clearpage -\section{Benchmarks} -We'll start with some simple benchmarks of matrix operations - and examine the effect of the various implementation strategies for - representing matrices on these operations. - -\baselineskip12pt -\subsection{2-Dimensional Lisp Arrays} -\baselineskip14pt - -\baselineskip12pt -\begin{verbatim}(defparameter b1 - (make-array '(1024 1024) :element-type 'double-float :initial-element 1.0d0 - :adjustable nil :fill-pointer nil)) -B1 - -(defparameter b2 - (make-array '(1024 1024) :element-type 'double-float :initial-element 1.0d0 - :adjustable nil :fill-pointer nil)) -B2 - -(defparameter b3 - (make-array '(1024 1024) :element-type 'double-float :initial-element 1.0d0 - :adjustable nil :fill-pointer nil)) -B3 - -\end{verbatim} -\baselineskip14pt -Now, our function to add the two arrays: - - -\baselineskip12pt -\begin{verbatim}(defun bench/add-matrix/aref (a1 a2 a3) - (destructuring-bind - (rows cols) - (array-dimensions a1) - (dotimes (i rows) - (dotimes (j cols) (setf (aref a3 i j) (+ (aref a1 i j) (aref a2 i j))))))) -BENCH/ADD-MATRIX/AREF - -\end{verbatim} -\baselineskip14pt -Now, we time how long it takes to run bench/addmatrix/aref: - - -\baselineskip12pt -\begin{verbatim}(ch-util:time-to-string (bench/add-matrix/aref b1 b2 b3)) -"Evaluation took: - 0.215 seconds of real time - 0.1958 seconds of user run time - 0.018307 seconds of system run time - [Run times include 0.083 seconds GC run time.] - 0 calls to %EVAL - 0 page faults and - 50,331,032 bytes consed. -" - -\end{verbatim} -\baselineskip14pt -\baselineskip12pt -\subsection{1-Dimensional Lisp Arrays} -\baselineskip14pt -\baselineskip12pt -\subsection{A CLOS object holding a reference to a 2-Dimensional Lisp - Array} -\baselineskip14pt -\baselineskip12pt -\subsection{A CLOS object holding a reference to a 1-Dimensional Lisp - Array} -\baselineskip14pt -\end{document} diff --git a/external/clem/doc/clem-performance.xhtml b/external/clem/doc/clem-performance.xhtml deleted file mode 100644 index 4fd6dd0..0000000 --- a/external/clem/doc/clem-performance.xhtml +++ /dev/null @@ -1,238 +0,0 @@ - -CLEM Matrix Performance - -

-

CLEM Performance

-

Introduction

-

Common Lisp is a high-level language that is a modern-day - member of the LISP family of languages. Common Lisp can be - either interpreted or compiled, or both, depending on the - implementation and modern compilers offer the promise of - performance on the order of that achieved by C and fortran - compilers. CLEM is a matrix math package for Common Lisp that - strives to offer high-performance matrix math routines, written - in Common Lisp. Common Lisp has a sophisticated type system and - it is a goal of CLEM to offer matrix representation and - opreations that exploit the features of this type - system. Furthermore, Common Lisp has a sophisticated object - model, the Common Lisp Object System (CLOS), and CLEM uses - features of CLOS and its companion metaobject system, the - Meta-object Protocol (MOP) to define its classes, objects and - methods.

-

Common Lisp implementations vary greatly in their - peformance, but the Common Lisp standard provides an - infrastructure for high-performance-capable implementations - to generate efficient code through the use of compiler - declarations of types and optimization settings. Lisp - implementations are free to compile lisp code to native - machine code, rather than either interpreting the lisp code - on the fly, or compiling the code to a byte-code - representation, that is then executed by a virtual - machine. This suggests that, subject to the limits placed on - the output by the common lisp language and to the - implementation details of the particular lisp system, a lisp - environment should be able to produce code that approaches - the speed and efficiency of other compiled languages. SBCL - is a Common Lisp implementation that compiles to native code - and has a sophisticated compiler called, somewhat - confusingly, Python, although the Python compiler predates - the Python interpreted language by many years. SBCL's compiler - uses type and optimization declarations to generate efficient - code by producing optimized routines that are specific to the - declared types, often representing data in an "unboxed" format, - ideally one that matches the type representation handled directly - by the CPU. One of CLEM's main goals is to provide efficient - matrix operations that utilize the capabilities of the lisp - compiler to generate efficient code.

-

Boxed and Unboxed Representation of Lisp Data Objects

-

Boxed representations of lisp values are generally stored - as tagged data objects where the tags serve to identify the type - of the particular object. Unboxed representations, on the other - hand, are merely represented by the data values themselves, - without any identifying metadata being stored with the - value. Obviously, the language environment needs to know, or to - be able to determine, the type of a particular data value. For - boxed values, the language environment can rely on the fact that - the type information is stored with the data value directly. For - unboxed values, the language system must keep track of the value - stored in a particular directly. The main advantage of using - unboxed datatypes is that the language environment, or compiled - code it produces, does not have to bother extracting the type - information from the boxed value and extracting the data as - appropriate. However, this has the disadvantage that the type of - data is then fixed to be that represented by the unboxed - type. Often, hybrid representations are used in structures such - as an array, where the array itself will be a dynamically typed, - boxed object while the values of the array will be unboxed - values placed in an a particular region of memory. By using - unboxed values for the elements of the array, the code can - directly access these values without the overhead of "unboxing" - the data. Boxed memory access often allocates memory, - or "conses" in lisp parlance, as a storage area is needed to - hold the unboxed value. In summary, sing boxed datatypes introduces - (at least) two important areas where work has to be done by the - language environment to access the data, the allocation of temporary - to store the resulting values that will be unboxed from the data, and - additional work on the part of the code to unbox the data in the - first place.

-

For these reasons, it is higly desirable for CLEM to use - unboxed data where possibly. In the inner loop of a matrix - operation, for instance, accessing a boxed data type can - introduce substantial performance penalties. Therefore, CLEM has gone - to great lengths to provide matrix representations that yield unboxed - values and operations that can operate on these values with - allocation of a minimum amount of memory.

-

Avoiding Unneccessary Memory Allocation

-

CLEM Design Goals

-

CLEM Implementation Choices

-

Matrix Data Representation

-

What options do we have for storing matrix data? Main choices - are lisp arrays or an external block of memory. Are there other - options here?

-

Reification of Matrix Data Objects

-

Defering, for a moment, the question of what form the - actual matrix data will take, let us consider the form of - the matrix object itself. It could be the object that - represents the data directly, or it could be an object, such - as an instance of a class or struct, that contains a - reference to the object that holds the data. In a sense, the - simplest approach to providing matrix arithmetic operations - is just to use common lisp arrays both to hold the data and - to be the direct representation of the matrix object. The - CLEM design assumes that there is additional data, besides - the data values stored in the array, or what have you, that - will be needed and that just using a lisp array as the - matrix itself is insufficient.

-

Common Lisp Arrays

-

Lisp arrays have the advantage that they are likely to - take advantage of the lisp type system. Yes, an - implementation may choose to ignroe this information, or - continue to produce the same code as it would for untyped - arrays, but a sufficently smart compiler, such as Python, - should use the array type information to produce efficient - code. Of course this also means that in order to get this - efficiency we have to provide this type information to the - compiler. As we try to modularize various pieces, it is - often the case that one would like to have generic code that - can work on matrices of any type. It these cases, additional - measures may be needed to coax the compiler into generating - efficient code, while doing so in a generic manner.

-

One-dimensional or Multi-dimensional Arrays?

-

One issue in dealing with lisp arrays is whether to use - the lisp facilitty for multi-dimensional array. One argument - in favor of native multi-dimensional arrays is that the - compiler can generate efficent code to access data in - certain multi-dimensional arrays, provided that this - information is known and passed to the compiler at - compile-time. On the other hand, using one-dimensional - arrays puts both the burden of and the flexibility of - computing array indices on the matrix package.

-

Extensible arrays?

-Christophe Rhodes has recently introduced a protocol for - extensible sequences to SBCL. Might a protocol for a similar - extensible array be useful here?

What About Lists?

-

Lists are convenient for representing matrices in that - the iteration functions can be used to traverse the elements of - the matrix, yielding the famous trivial transpose operation - using mapcar and list. However, lists aren't designed for - efficient random access and are a poor choice for representing - anything but trivially small matrices.

-Other Blocks of Memory -

It is worth mentioning the possibility of other approaches, - such as an external block of memory, perhaps allocated with either - non-standard routines of the lisp system, or via a foreign-function - interface, and to determine the offsets into this block of memory, - coerce the contents to a given lisp type and obtain the results. This - approach is used by some libraries that use clem, such as ch-image, - to access matrix/array data stored in memory in a non-native-lisp - form, such as matlisp matrices (which are really BLAS/LAPACK - matrices), fftw matrices, and arrays of data from TIFF images. While - this is nice to be able to do, it is unlikely to be practical for - storing matrix data, given the alternative of using lisp - arrays. Coercing of the contents of the matrix to lisp types is - done for us by optimized code in the compiler. It is unlikely that we - would be able to do a better job of this than the compiler. This - approach is useful for conversion of matrix data to other in-memory - formats, but unlikely to be useful for the typed lisp matrices for - which CLEM is designed. If we were to go this route, it would make - sense to use other, optimized, code libraries for operating on this - data, and this is what matlisp does, handing these blocks of memory - off to BLAS/LAPACK for processing in highly-optimized routines - written in C, Fortran or Assembly Language.

-

Matrix Data Access

-

Now that we have chosen a matrix representation, how do we - access the data in it?

-

Slow and Fast Data Access Paths

-

Flexibility

-

Resizing Matrices

-

Matrix Index "Recycling"

-

Macros

-

Compiler Macros

-

SBCL-specific Compiler Features

-

defknown/deftransform/defoptimizer

-

Benchmarks

-

We'll start with some simple benchmarks of matrix operations - and examine the effect of the various implementation strategies for - representing matrices on these operations.

-

2-Dimensional Lisp Arrays

-
(defparameter b1
-  (make-array '(1024 1024) :element-type 'double-float :initial-element 1.0d0
-              :adjustable nil :fill-pointer nil))
-
-B1
-
-
-(defparameter b2
-  (make-array '(1024 1024) :element-type 'double-float :initial-element 1.0d0
-              :adjustable nil :fill-pointer nil))
-
-B2
-
-
-(defparameter b3
-  (make-array '(1024 1024) :element-type 'double-float :initial-element 1.0d0
-              :adjustable nil :fill-pointer nil))
-
-B3
-
-
-
-
-

Now, our function to add the two arrays:

-
(defun bench/add-matrix/aref (a1 a2 a3)
-  (destructuring-bind
-      (rows cols)
-      (array-dimensions a1)
-    (dotimes (i rows)
-      (dotimes (j cols) (setf (aref a3 i j) (+ (aref a1 i j) (aref a2 i j)))))))
-
-BENCH/ADD-MATRIX/AREF
-
-
-
-
-

Now, we time how long it takes to run bench/addmatrix/aref:

-
(ch-util:time-to-string (bench/add-matrix/aref b1 b2 b3))
-
-"Evaluation took:
-  0.215 seconds of real time
-  0.1958 seconds of user run time
-  0.018307 seconds of system run time
-  [Run times include 0.083 seconds GC run time.]
-  0 calls to %EVAL
-  0 page faults and
-  50,331,032 bytes consed.
-"
-
-
-
-
-

1-Dimensional Lisp Arrays

-

A CLOS object holding a reference to a 2-Dimensional Lisp - Array

-

A CLOS object holding a reference to a 1-Dimensional Lisp - Array

- - diff --git a/external/clem/doc/clem.pdf b/external/clem/doc/clem.pdf deleted file mode 100644 index d03de53fd43d4dccaafebf9c7c31f953d5dbb60e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcwPel00001 literal 94784 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\fJ2b%bFL7w2ZxIDO=->zDQB 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 - -\end{verbatim} -\baselineskip14pt -The default is to only show the first 7 and the last rows - and columns of each matrix. The number of rows and columns can - be changed by setting the *matrix-print-row-limit* and*matrix-print-col-limit* variables. - -\baselineskip12pt -\subsection{standard-matrix-class} -\baselineskip14pt -\baselineskip12pt -\subsection{CLEM Matrix Types} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Number matrices} -\baselineskip14pt -The most general class of numerical matrix is the number matrix. - -\baselineskip12pt -\subsubsection{Integer Matrices} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Floating-point Matrices} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Complex-value Matrices} -\baselineskip14pt -\clearpage -\section{Working with CLEM Matrices} -\baselineskip12pt -\subsection{Matrix Dimensions and Values} -\baselineskip14pt -\baselineskip12pt -\subsection{Typed matrix operations} -\baselineskip14pt -\baselineskip12pt -\subsection{Matrix Copying} -\baselineskip14pt -\baselineskip12pt -\subsection{matrix-move} -\baselineskip14pt -\clearpage -\section{Matrix Arithmetic} -\baselineskip12pt -\subsection{Matrix Addition and Subtraction} -\baselineskip14pt -\baselineskip12pt -\subsection{Matrix Multiplication} -\baselineskip14pt -\baselineskip12pt -\subsection{Hadamard Product} -\baselineskip14pt -\baselineskip12pt -\subsection{Scalar Arithmetic} -\baselineskip14pt -\baselineskip12pt -\subsection{Other Mathematical Functions} -\baselineskip14pt -Discuss mat-log, mat-abs, min, and max. - -\clearpage -\section{Matrix Operations} -\baselineskip12pt -\subsection{Matrix Inversion} -\baselineskip14pt -\baselineskip12pt -\subsection{Matrix Normalization} -\baselineskip14pt -\baselineskip12pt -\subsection{Discrete Convolution} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Derivatives} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Gradient Magnitude} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Gaussian Blur} -\baselineskip14pt -\baselineskip12pt -\subsection{Affine Transformations} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Interpolation} -\baselineskip14pt -\baselineskip12pt -\subsection{Morphological Operations} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Dilation and Erosion} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Variance} -\baselineskip14pt -\baselineskip12pt -\subsubsection{Thresholding} -\baselineskip14pt -\clearpage -\section{CLEM Implementation Details} -\baselineskip12pt -\subsection{Type-specific matrix functions} -\baselineskip14pt -The general strategy has been to 1) make things work and - then make them work quickly. To this end, I have been writing - functions for matrix operations in a general manner first and - then recoding type-specific versions to make certain operations - go faster. This is done via liberal use of macros to generate - type-specific functions and methods for matrix operations that - go much faster than the general versions. - -The convention is that a generic function such as sum-range - will have a generic version that works with all matrices and - type specific versions thaqt work with specific matrices. g In - order to support these functions there may be internal methods, - prefixed with a %, that implement certain type-specific - functionality. Macros that generate the code used for the - type-specific methods will be prefixed with a %%. In theory, - the %%-macros can be called from other code that need to - generate in-place code where the overhead of the method-call to - the %-method would be too expensive. This convention is not yet - widely enforced and certainly untested. Hopefully this situation - will improve. - -\baselineskip12pt -\subsection{Hacking the SBCL compiler to improve performance} -\baselineskip14pt -\clearpage -\baselineskip11pt -\begin{thebibliography}{1} - -\bibitem{steele1990common} -G.~L. Steele, Jr., {\it Common {L}isp: the {L}anguage\/} (Digital Press, Bedford MA, 1990), second edn. - -\bibitem{keene1989object} -S.~E. Keene, {\it Object-{O}riented {P}rogramming in {C}ommon {L}isp: {A} {P}rogrammer's {G}uide to {CLOS}\/} (Addison-Wesley Professional, 1989). - -\bibitem{kiczales1991art} -G.~Kiczales, {\it The {A}rt of the {M}etaobject {P}rotocol\/} (The MIT Press, 1991). - -\end{thebibliography} -\end{document} diff --git a/external/clem/doc/clem.xhtml b/external/clem/doc/clem.xhtml deleted file mode 100644 index ae2b2c6..0000000 --- a/external/clem/doc/clem.xhtml +++ /dev/null @@ -1,148 +0,0 @@ - -clem: A common-lisp matrix package - -

Abstract

-

CLEM is an open-source Common Lisp library for the - representation and manipulation of matrices. CLEM is designed to - be a flexible and extensible system for the representation of - arbitrary 2-dimensional matrices.

- -

Introduction

-

The Common Lisp language[1] - - offers a rich, dynamic environment for programming and -data analysis. Common Lisp contains a powerful object system, the -Common Lisp Object System (CLOS)[2] - -, and most modern implementations support a protocol for -the generation not just of new classes and objects, but to extend -the object system itself using the Meta-object Protocol[3] - -.

-

CLEM uses CLOS and the Meta-object protocol (MOP) to define astandard-matrix-class - that serves as the metaclass for classes that represent -matrices with elements of specific types. The typed matrices can -represent matrices containing values of specific types in the -Common Lisp type system, starting with type t - as the most general data type, and becoming more restrictive by using more specific types suchdouble-float -, fixnum -, or (unsigned-byte 8) -. By using the most specific type that can represent the values of a given matrix, the lisp system can optimize for better performance and memory usage requirements. For example, a bit-matrix - will use 1 bit per matrix element, rather than 32-bits on 32-bit systems for a t-matrix -.

-

Matrix Types

-

Matrix Representation

-

Common Lisp provides a rich built-in array type which serves as - the storage for CLEM matrices. Given that Common Lisp has built-in - arrays, why do we need CLEM and what value is provided by creating a - set of classses around arrays? First, the Common Lisp arrays have a - limited set of operations defined on them. While there is a built-in - (scalar) addition operator, there is no built-in way to perform an - element-wise addition of two arrays. CLEM addresses these by defining - a set of generic functions that operate on matrices that provide a - number of commonly used matrix operations such as matrix - arithmetic. Second, there is no way to define methods on arrays based - on their element types. Therefore, we define subclasses of matrix - whose underlying arrays are specialized to distinct types. We can - then define methods to operate specifically on these subclasses, - affording the opportunity to treat, say, floating point and integer - matrices differently and to provide declarations to the compiler - based on the array element type, which can, in Common Lisp - implementations with sufficiently smart compilers, lead to much - improved performance.

-

Defining CLEM Classes and Making CLEM Instances

-

Creating CLEM Instances with make-instance

-

The following code creates a 16-row by 16-column matrix of typedouble-float-matrix - and assigns it to the dynamic variable*m1* -.

-
(defparameter *m1* (make-instance 'double-float-matrix :rows 16 :cols 16))
-
-*M1*
-
-
-*m1*
-
-#<DOUBLE-FLOAT-MATRIX [.000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000; 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000; 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000; 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000; 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000; 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000; 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000;
- ... 
- .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 .000000000 ... .000000000]>
-
-
-
-
-

The default is to only show the first 7 and the last rows - and columns of each matrix. The number of rows and columns can - be changed by setting the *matrix-print-row-limit* - and*matrix-print-col-limit* - variables.

-

standard-matrix-class

-

CLEM Matrix Types

-

Number matrices

-

The most general class of numerical matrix is the number matrix.

-

Integer Matrices

-

Floating-point Matrices

-

Complex-value Matrices

-

Working with CLEM Matrices

-

Matrix Dimensions and Values

-

Typed matrix operations

-

Matrix Copying

-

matrix-move

-

Matrix Arithmetic

-

Matrix Addition and Subtraction

-

Matrix Multiplication

-

Hadamard Product

-

Scalar Arithmetic

-

Other Mathematical Functions

-

Discuss mat-log, mat-abs, min, and max.

-

Matrix Operations

-

Matrix Inversion

-

Matrix Normalization

-

Discrete Convolution

-

Derivatives

-

Gradient Magnitude

-

Gaussian Blur

-

Affine Transformations

-

Interpolation

-

Morphological Operations

-

Dilation and Erosion

-

Variance

-

Thresholding

-

CLEM Implementation Details

-

Type-specific matrix functions

-

The general strategy has been to 1) make things work and - then make them work quickly. To this end, I have been writing - functions for matrix operations in a general manner first and - then recoding type-specific versions to make certain operations - go faster. This is done via liberal use of macros to generate - type-specific functions and methods for matrix operations that - go much faster than the general versions.

-

The convention is that a generic function such as sum-range - will have a generic version that works with all matrices and - type specific versions thaqt work with specific matrices. g In - order to support these functions there may be internal methods, - prefixed with a %, that implement certain type-specific - functionality. Macros that generate the code used for the - type-specific methods will be prefixed with a %%. In theory, - the %%-macros can be called from other code that need to - generate in-place code where the overhead of the method-call to - the %-method would be too expensive. This convention is not yet - widely enforced and certainly untested. Hopefully this situation - will improve.

-

Hacking the SBCL compiler to improve performance

- - - diff --git a/external/clem/doc/simple.css b/external/clem/doc/simple.css deleted file mode 100644 index 9d25bed..0000000 --- a/external/clem/doc/simple.css +++ /dev/null @@ -1,91 +0,0 @@ - -body { - color: #000; - background-color: #FFF; - background-attachment: fixed; - font-size: 11px; - font-family: sans-serif; -} - -h1 { - padding: 2px; - margin-top: 2px; - padding-top: 4px; - font-size: 12px; - font-style: italic; - padding-bottom: 6px; -} - -h1.title { - font-style: normal; - padding: 0px; - margin-top: 0px; - margin-bottom: 0px; - font-size: 14px; -} - -h2 { - font-size: 12px; -} - -h2.author { - padding-top: 0px; - padding-bottom: 0px; - margin-top: 2px; - margin-bottom: 2px; -} - -h2.date { - padding-top: 0px; - padding-bottom: 0px; - margin-top: 2px; - margin-bottom: 2px; -} - -h3 { - font-size: 11px; -} - -h4 { - font-size: 10px; -} - -ul { - padding-left: 6px; - margin-left: 6px; -} - -li { - margin-left: 12px; -} - -li.pub { - padding-top: 3px; - margin-left: 6px; - font-size: 9px; -} - -tbody.nav2 { - text-align: left; -} - -table.nav2 { - padding-top: 24px; -} - -tr, td, tbody, table { - border-collapse: collapse; - vertical-align: top; -} - -tbody { - vertical-align: top; -} - -td { - vertical-align: top; - padding: 4px; -} - -pre { -} \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-affine--transformation--7--parameters.html b/external/clem/doc/tinaa/clem-package/class-affine--transformation--7--parameters.html deleted file mode 100644 index 49fb527..0000000 --- a/external/clem/doc/tinaa/clem-package/class-affine--transformation--7--parameters.html +++ /dev/null @@ -1 +0,0 @@ -Class Affine-Transformation-7-Parameters [Tinaa]

Class Affine-Transformation-7-Parameters

a set of parameters for use in
(over-) parameterizing an affine transformation by use of seven
parameters, x-shift, y-shift, theta, x-scale, y-scale, x-shear,
and y-shear.

Part of:

package clem

Slot

thetaInitform:0.0d0, Initargs::theta; Accessors:theta; Type:double-float.
x-scaleInitform:0.0d0, Initargs::x-scale; Accessors:x-scale; Type:double-float.
x-shearInitform:0.0d0, Initargs::x-shear; Accessors:x-shear; Type:double-float.
x-shiftInitform:0.0d0, Initargs::x-shift; Accessors:x-shift; Type:double-float.
y-scaleInitform:0.0d0, Initargs::y-scale; Accessors:y-scale; Type:double-float.
y-shearInitform:0.0d0, Initargs::y-shear; Accessors:y-shear; Type:double-float.
y-shiftInitform:0.0d0, Initargs::y-shift; Accessors:y-shift; Type:double-float.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-affine--transformation.html b/external/clem/doc/tinaa/clem-package/class-affine--transformation.html deleted file mode 100644 index e4312c8..0000000 --- a/external/clem/doc/tinaa/clem-package/class-affine--transformation.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Affine-Transformation [Tinaa]

Class Affine-Transformation

a matrix that represents an affine-transformation

Direct Superclass

double-float-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%discrete-convolve
%get-subtr-matrix-class
%mat-mult-block
%mat-mult-with-blocks
%separable-discrete-convolve
%transform-matrix
add-col
add-row
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-add-range
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult-3-block
mat-mult3
mat-scalar-op
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr-range
mat-subtr-range3
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
separable-discrete-convolve
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-base--vector.html b/external/clem/doc/tinaa/clem-package/class-base--vector.html deleted file mode 100644 index a9baadb..0000000 --- a/external/clem/doc/tinaa/clem-package/class-base--vector.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Base-Vector [Tinaa]

Class Base-Vector

Direct Superclass

matrix

Direct Subclass

col-vector
row-vector

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-bit--matrix.html b/external/clem/doc/tinaa/clem-package/class-bit--matrix.html deleted file mode 100644 index c0d5276..0000000 --- a/external/clem/doc/tinaa/clem-package/class-bit--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Bit-Matrix [Tinaa]

Class Bit-Matrix

Direct Superclass

integer-matrix

Direct Subclass

bit-scalar

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-bit--scalar.html b/external/clem/doc/tinaa/clem-package/class-bit--scalar.html deleted file mode 100644 index d7c3299..0000000 --- a/external/clem/doc/tinaa/clem-package/class-bit--scalar.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Bit-Scalar [Tinaa]

Class Bit-Scalar

Direct Superclass

bit-matrix
scalar

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%get-subtr-matrix-class
%separable-discrete-convolve
%transform-matrix
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scalar-op
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-subtr-range3
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
max-val
mbitnor
mbitnor!
mbitnor!-range
mbitnor-range
mean
mean-range
min-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
mlogxor
mlogxor-range
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
set-affine-transformation-matrix
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-col--vector.html b/external/clem/doc/tinaa/clem-package/class-col--vector.html deleted file mode 100644 index 136f434..0000000 --- a/external/clem/doc/tinaa/clem-package/class-col--vector.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Col-Vector [Tinaa]

Class Col-Vector

Direct Superclass

base-vector

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

allocate-matrix-vals
colsReturns the number of columns in the matrix.
dimReturns a list containg the number of
elments in each dimension of the matrix.
print-matrix
rowsReturns the number of rows in the matrix.
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
transpose
valReturns the value of the element in the ith row of
the jth column of the matrix m.
vec-dim
vec-set-val
vec-val

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
binary-threshold
closest-common-matrix-class
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-range
reshape
row-major-mref
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose-matrix
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-complex--matrix.html b/external/clem/doc/tinaa/clem-package/class-complex--matrix.html deleted file mode 100644 index 4f3ef40..0000000 --- a/external/clem/doc/tinaa/clem-package/class-complex--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Complex-Matrix [Tinaa]

Class Complex-Matrix

Direct Superclass

number-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-double--float--matrix.html b/external/clem/doc/tinaa/clem-package/class-double--float--matrix.html deleted file mode 100644 index 2130a7e..0000000 --- a/external/clem/doc/tinaa/clem-package/class-double--float--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Double-Float-Matrix [Tinaa]

Class Double-Float-Matrix

Direct Superclass

float-matrix

Direct Subclass

affine-transformationa matrix that represents an affine-transformation

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-square
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-fixnum--matrix.html b/external/clem/doc/tinaa/clem-package/class-fixnum--matrix.html deleted file mode 100644 index 42c55c1..0000000 --- a/external/clem/doc/tinaa/clem-package/class-fixnum--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Fixnum-Matrix [Tinaa]

Class Fixnum-Matrix

Direct Superclass

integer-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

%get-subtr-matrix-class
%transform-matrix
fit
map-set-val
mat-abs
mat-abs-range
mat-add
mat-add-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-subtr-range3
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
min-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
normalize
sample-variance-range
scalar-divide-row
scalar-mult-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
sum
sum-range
sum-square
sum-square-range

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlogxor
mlogxor-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-float--matrix.html b/external/clem/doc/tinaa/clem-package/class-float--matrix.html deleted file mode 100644 index f52a2ed..0000000 --- a/external/clem/doc/tinaa/clem-package/class-float--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Float-Matrix [Tinaa]

Class Float-Matrix

Direct Superclass

real-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

fit
map-set-val
normalize
sample-variance-range
scalar-divide-row
scalar-mult-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-add
mat-add-range
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-scalar-op
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-integer--matrix.html b/external/clem/doc/tinaa/clem-package/class-integer--matrix.html deleted file mode 100644 index 8dcb9e9..0000000 --- a/external/clem/doc/tinaa/clem-package/class-integer--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Integer-Matrix [Tinaa]

Class Integer-Matrix

Direct Superclass

real-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move-range-2d
matrix-move-range-2d-constrain
max-val
mean
mean-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-range
sum-rows
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-matrix.html b/external/clem/doc/tinaa/clem-package/class-matrix.html deleted file mode 100644 index 2138403..0000000 --- a/external/clem/doc/tinaa/clem-package/class-matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Matrix [Tinaa]

Class Matrix

Direct Superclass

typed-mixin

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-number--matrix.html b/external/clem/doc/tinaa/clem-package/class-number--matrix.html deleted file mode 100644 index f9ec852..0000000 --- a/external/clem/doc/tinaa/clem-package/class-number--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Number-Matrix [Tinaa]

Class Number-Matrix

Direct Superclass

t-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

fit
map-set-val
mat-abs
mat-abs-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
normalize
sample-variance-range
scalar-divide-row
scalar-mult-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
sum
sum-square

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-range
sum-rows
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-real--matrix.html b/external/clem/doc/tinaa/clem-package/class-real--matrix.html deleted file mode 100644 index cf70f16..0000000 --- a/external/clem/doc/tinaa/clem-package/class-real--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Real-Matrix [Tinaa]

Class Real-Matrix

Direct Superclass

number-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-range
sum-rows
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-row--vector.html b/external/clem/doc/tinaa/clem-package/class-row--vector.html deleted file mode 100644 index e3d55c5..0000000 --- a/external/clem/doc/tinaa/clem-package/class-row--vector.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Row-Vector [Tinaa]

Class Row-Vector

Direct Superclass

base-vector

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

allocate-matrix-vals
colsReturns the number of columns in the matrix.
dimReturns a list containg the number of
elments in each dimension of the matrix.
print-matrix
rowsReturns the number of rows in the matrix.
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
transpose
valReturns the value of the element in the ith row of
the jth column of the matrix m.
vec-dim
vec-set-val
vec-val

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
binary-threshold
closest-common-matrix-class
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-range
reshape
row-major-mref
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose-matrix
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-sb16--matrix.html b/external/clem/doc/tinaa/clem-package/class-sb16--matrix.html deleted file mode 100644 index b07f782..0000000 --- a/external/clem/doc/tinaa/clem-package/class-sb16--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Sb16-Matrix [Tinaa]

Class Sb16-Matrix

Direct Superclass

integer-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

%get-subtr-matrix-class
%transform-matrix
fit
map-set-val
mat-abs
mat-abs-range
mat-add
mat-add-range
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-subtr-range3
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
min-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
normalize
sample-variance-range
scalar-divide-row
scalar-mult-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
sum
sum-range
sum-square
sum-square-range

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlogxor
mlogxor-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-sb32--matrix.html b/external/clem/doc/tinaa/clem-package/class-sb32--matrix.html deleted file mode 100644 index b267be9..0000000 --- a/external/clem/doc/tinaa/clem-package/class-sb32--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Sb32-Matrix [Tinaa]

Class Sb32-Matrix

Direct Superclass

integer-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

%get-subtr-matrix-class
%transform-matrix
fit
map-set-val
mat-abs
mat-abs-range
mat-add
mat-add-range
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-subtr-range3
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
min-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
normalize
sample-variance-range
scalar-divide-row
scalar-mult-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
sum
sum-range
sum-square
sum-square-range

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlogxor
mlogxor-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-sb8--matrix.html b/external/clem/doc/tinaa/clem-package/class-sb8--matrix.html deleted file mode 100644 index 5abc7ec..0000000 --- a/external/clem/doc/tinaa/clem-package/class-sb8--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Sb8-Matrix [Tinaa]

Class Sb8-Matrix

Direct Superclass

integer-matrix

Direct Subclass

sb8-scalar

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

%get-subtr-matrix-class
%transform-matrix
fit
map-set-val
mat-abs
mat-abs-range
mat-add
mat-add-range
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-subtr-range3
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
min-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
normalize
sample-variance-range
scalar-divide-row
scalar-mult-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
sum
sum-range
sum-square
sum-square-range

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlogxor
mlogxor-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-sb8--scalar.html b/external/clem/doc/tinaa/clem-package/class-sb8--scalar.html deleted file mode 100644 index 5571600..0000000 --- a/external/clem/doc/tinaa/clem-package/class-sb8--scalar.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Sb8-Scalar [Tinaa]

Class Sb8-Scalar

Direct Superclass

sb8-matrix
scalar

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%get-subtr-matrix-class
%separable-discrete-convolve
%transform-matrix
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scalar-op
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-subtr-range3
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
max-val
mean
mean-range
min-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
mlogxor
mlogxor-range
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
set-affine-transformation-matrix
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-scalar.html b/external/clem/doc/tinaa/clem-package/class-scalar.html deleted file mode 100644 index c934899..0000000 --- a/external/clem/doc/tinaa/clem-package/class-scalar.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Scalar [Tinaa]

Class Scalar

Direct Superclass

matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method

dimReturns a list containg the number of
elments in each dimension of the matrix.
scalar-set-val
scalar-val
set-valSets the value of the element at row i, column j of
matrix m to v.
valReturns the value of the element in the ith row of
the jth column of the matrix m.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-single--float--matrix.html b/external/clem/doc/tinaa/clem-package/class-single--float--matrix.html deleted file mode 100644 index ad20f60..0000000 --- a/external/clem/doc/tinaa/clem-package/class-single--float--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Single-Float-Matrix [Tinaa]

Class Single-Float-Matrix

Direct Superclass

float-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-square
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-standard--matrix--class.html b/external/clem/doc/tinaa/clem-package/class-standard--matrix--class.html deleted file mode 100644 index 2e31f31..0000000 --- a/external/clem/doc/tinaa/clem-package/class-standard--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Class Standard-Matrix-Class [Tinaa]

Class Standard-Matrix-Class

Part of:

package clem

Slot

accumulator-typeInitargs::accumulator-type.
direct-superclasses
Reader:class-direct-superclasses.
element-typeInitargs::element-type.
maxvalInitargs::maxval.
minvalInitargs::minval.
name
Initargs::name; Reader:class-name.
slots
Accessors:class-slots.
specialized-arrayInitargs::specialized-array.
val-formatInitargs::val-format.

Direct Method

accumulator-typethe type of the result of various mathematical
opreations on instances of this matrix class. needs work.
element-typethe type of the elements of instances
of this matrix class
maxvalthe maximum value allowed by instances
of this matrix class.
minvalthe minimum value allowed by instances
of this matrix class.
specialized-array-p
val-formatthe format string used to print out
element values of instances of this matrix class

Other Method

matrix-precedence-list
slot-namesReturns a list of the names of the slots of a class (including
both direct and inherited slots). It's like class-slot-names but on the
class, not an instance of the class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-t--matrix.html b/external/clem/doc/tinaa/clem-package/class-t--matrix.html deleted file mode 100644 index 221afcb..0000000 --- a/external/clem/doc/tinaa/clem-package/class-t--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class T-Matrix [Tinaa]

Class T-Matrix

Direct Superclass

matrix

Direct Subclass

number-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-typed--matrix.html b/external/clem/doc/tinaa/clem-package/class-typed--matrix.html deleted file mode 100644 index 375103c..0000000 --- a/external/clem/doc/tinaa/clem-package/class-typed--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Typed-Matrix [Tinaa]

Class Typed-Matrix

Direct Superclass

matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-add
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-mult
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-typed--mixin.html b/external/clem/doc/tinaa/clem-package/class-typed--mixin.html deleted file mode 100644 index 3e3c628..0000000 --- a/external/clem/doc/tinaa/clem-package/class-typed--mixin.html +++ /dev/null @@ -1 +0,0 @@ -Class Typed-Mixin [Tinaa]

Class Typed-Mixin

Direct Subclass

matrix

Slot

specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-ub16--matrix.html b/external/clem/doc/tinaa/clem-package/class-ub16--matrix.html deleted file mode 100644 index 46b1887..0000000 --- a/external/clem/doc/tinaa/clem-package/class-ub16--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Ub16-Matrix [Tinaa]

Class Ub16-Matrix

Direct Superclass

unsigned-byte-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-ub32--matrix.html b/external/clem/doc/tinaa/clem-package/class-ub32--matrix.html deleted file mode 100644 index 475800d..0000000 --- a/external/clem/doc/tinaa/clem-package/class-ub32--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Ub32-Matrix [Tinaa]

Class Ub32-Matrix

Direct Superclass

unsigned-byte-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-ub8--matrix.html b/external/clem/doc/tinaa/clem-package/class-ub8--matrix.html deleted file mode 100644 index d222a4e..0000000 --- a/external/clem/doc/tinaa/clem-package/class-ub8--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Ub8-Matrix [Tinaa]

Class Ub8-Matrix

Direct Superclass

unsigned-byte-matrix

Direct Subclass

ub8-scalar

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs!
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-scalar-op
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
max-val
mean
mean-range
min-val
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
morphological-op
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum-cols
sum-rows
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-ub8--scalar.html b/external/clem/doc/tinaa/clem-package/class-ub8--scalar.html deleted file mode 100644 index 15d0b30..0000000 --- a/external/clem/doc/tinaa/clem-package/class-ub8--scalar.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Ub8-Scalar [Tinaa]

Class Ub8-Scalar

Direct Superclass

scalar
ub8-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%discrete-convolve
%get-subtr-matrix-class
%separable-discrete-convolve
%transform-matrix
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult3
mat-scalar-op
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-subtr-range3
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
max-val
mbitnor
mbitnor!
mbitnor!-range
mbitnor-range
mean
mean-range
min-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
mlogxor
mlogxor-range
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
separable-discrete-convolve
set-affine-transformation-matrix
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/class-unsigned--byte--matrix.html b/external/clem/doc/tinaa/clem-package/class-unsigned--byte--matrix.html deleted file mode 100644 index f42e27c..0000000 --- a/external/clem/doc/tinaa/clem-package/class-unsigned--byte--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Class Unsigned-Byte-Matrix [Tinaa]

Class Unsigned-Byte-Matrix

Direct Superclass

integer-matrix

Slot

adjustableInitargs::adjustable; Accessors:adjustable.
dimensionsInitform:'(1), Initargs::dimensions; Type:(or - list - null).
initial-elementInitform:0.0d0, Initargs::initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-add
mat-add-range
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-scalar-op
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
max-range
max-val
mean
mean-range
min-range
min-val
mlogand
mlogand-range
mlogior
mlogior-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
mlogxor
mlogxor-range
morphological-op
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-affine-transformation-matrix
set-col
set-row
setfmrefSet the value of the specified element at row row
and col col of matrix m to be v.
setfrow-major-mref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/condition-matrix--argument--error.html b/external/clem/doc/tinaa/clem-package/condition-matrix--argument--error.html deleted file mode 100644 index 1b48162..0000000 --- a/external/clem/doc/tinaa/clem-package/condition-matrix--argument--error.html +++ /dev/null @@ -1 +0,0 @@ -Condition Matrix-Argument-Error [Tinaa]

Condition Matrix-Argument-Error

Direct Superclass

matrix-error
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/condition-matrix--condition.html b/external/clem/doc/tinaa/clem-package/condition-matrix--condition.html deleted file mode 100644 index ae05bea..0000000 --- a/external/clem/doc/tinaa/clem-package/condition-matrix--condition.html +++ /dev/null @@ -1 +0,0 @@ -Condition Matrix-Condition [Tinaa]

Condition Matrix-Condition

Direct Subclass

matrix-error
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/condition-matrix--error.html b/external/clem/doc/tinaa/clem-package/condition-matrix--error.html deleted file mode 100644 index 9b3edab..0000000 --- a/external/clem/doc/tinaa/clem-package/condition-matrix--error.html +++ /dev/null @@ -1 +0,0 @@ -Condition Matrix-Error [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-%%sum--range.html b/external/clem/doc/tinaa/clem-package/function-%%sum--range.html deleted file mode 100644 index 50e6388..0000000 --- a/external/clem/doc/tinaa/clem-package/function-%%sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Function %%Sum-Range [Tinaa]

Function %%Sum-Range

Part of:

package clem
( %%sum-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-add--root--class.html b/external/clem/doc/tinaa/clem-package/function-add--root--class.html deleted file mode 100644 index da8965d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-add--root--class.html +++ /dev/null @@ -1 +0,0 @@ -Function Add-Root-Class [Tinaa]

Function Add-Root-Class

Part of:

package clem
( add-root-class < root-class > < direct-superclasses > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-bench-badd--matrix-baref.html b/external/clem/doc/tinaa/clem-package/function-bench-badd--matrix-baref.html deleted file mode 100644 index 23bc341..0000000 --- a/external/clem/doc/tinaa/clem-package/function-bench-badd--matrix-baref.html +++ /dev/null @@ -1 +0,0 @@ -Function Bench/Add-Matrix/Aref [Tinaa]

Function Bench/Add-Matrix/Aref

Part of:

package clem
( bench/add-matrix/aref < a1 > < a2 > < a3 > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-bilinear--interpolate.html b/external/clem/doc/tinaa/clem-package/function-bilinear--interpolate.html deleted file mode 100644 index 14a4cd2..0000000 --- a/external/clem/doc/tinaa/clem-package/function-bilinear--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Function Bilinear-Interpolate [Tinaa]

Function Bilinear-Interpolate

Part of:

package clem
( bilinear-interpolate &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-bit--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-bit--matrix--mref.html deleted file mode 100644 index 1830861..0000000 --- a/external/clem/doc/tinaa/clem-package/function-bit--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Bit-Matrix-Mref [Tinaa]

Function Bit-Matrix-Mref

Part of:

package clem
( bit-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-bitnor.html b/external/clem/doc/tinaa/clem-package/function-bitnor.html deleted file mode 100644 index 0582195..0000000 --- a/external/clem/doc/tinaa/clem-package/function-bitnor.html +++ /dev/null @@ -1 +0,0 @@ -Function Bitnor [Tinaa]

Function Bitnor

Part of:

package clem
( bitnor < integer1 > < integer2 > < andmask > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-complex--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-complex--matrix--mref.html deleted file mode 100644 index dd6f8ab..0000000 --- a/external/clem/doc/tinaa/clem-package/function-complex--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Complex-Matrix-Mref [Tinaa]

Function Complex-Matrix-Mref

Part of:

package clem
( complex-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-compute--bounds.html b/external/clem/doc/tinaa/clem-package/function-compute--bounds.html deleted file mode 100644 index 0802123..0000000 --- a/external/clem/doc/tinaa/clem-package/function-compute--bounds.html +++ /dev/null @@ -1 +0,0 @@ -Function Compute-Bounds [Tinaa]

Function Compute-Bounds

Part of:

package clem
( compute-bounds < x1 > < y1 > < x2 > < y2 > < xfrm > )
takes a region bound by x1 and x2 on the x-axis and y1 and y2 on
the y-axis and returns the coordinates of the bounding rectangle
after applying the affine transform xfrm
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-constrain.html b/external/clem/doc/tinaa/clem-package/function-constrain.html deleted file mode 100644 index a2d5a9f..0000000 --- a/external/clem/doc/tinaa/clem-package/function-constrain.html +++ /dev/null @@ -1 +0,0 @@ -Function Constrain [Tinaa]

Function Constrain

Part of:

package clem
( constrain < min > < val > < max > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-copy--affine--transformation--7--parameters.html b/external/clem/doc/tinaa/clem-package/function-copy--affine--transformation--7--parameters.html deleted file mode 100644 index 46697d7..0000000 --- a/external/clem/doc/tinaa/clem-package/function-copy--affine--transformation--7--parameters.html +++ /dev/null @@ -1 +0,0 @@ -Function Copy-Affine-Transformation-7-Parameters [Tinaa]

Function Copy-Affine-Transformation-7-Parameters

Part of:

package clem
( copy-affine-transformation-7-parameters < src > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-copy--to--matrix--type.html b/external/clem/doc/tinaa/clem-package/function-copy--to--matrix--type.html deleted file mode 100644 index 3d90eab..0000000 --- a/external/clem/doc/tinaa/clem-package/function-copy--to--matrix--type.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Copy-To-Matrix-Type [Tinaa]

Function Copy-To-Matrix-Type

Part of:

package clem
( copy-to-matrix-type < m > < mtype > &key (constrain - nil) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-count--range.html b/external/clem/doc/tinaa/clem-package/function-count--range.html deleted file mode 100644 index 04c3798..0000000 --- a/external/clem/doc/tinaa/clem-package/function-count--range.html +++ /dev/null @@ -1 +0,0 @@ -Function Count-Range [Tinaa]

Function Count-Range

Part of:

package clem
( count-range < startr > < endr > < startc > < endc > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-decf--transformation--parameters.html b/external/clem/doc/tinaa/clem-package/function-decf--transformation--parameters.html deleted file mode 100644 index 2173c4c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-decf--transformation--parameters.html +++ /dev/null @@ -1 +0,0 @@ -Function Decf-Transformation-Parameters [Tinaa]

Function Decf-Transformation-Parameters

Part of:

package clem
( decf-transformation-parameters < src > < delta > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--binary--op!.html b/external/clem/doc/tinaa/clem-package/function-def--binary--op!.html deleted file mode 100644 index a590083..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--binary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Binary-Op! [Tinaa]

Function Def-Binary-Op!

Part of:

package clem
( def-binary-op! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--binary--op.html b/external/clem/doc/tinaa/clem-package/function-def--binary--op.html deleted file mode 100644 index b22f6b7..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--binary--op.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Binary-Op [Tinaa]

Function Def-Binary-Op

Part of:

package clem
( def-binary-op &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--abs!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--abs!.html deleted file mode 100644 index e0c8f18..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Abs! [Tinaa]

Function Def-Matrix-Abs!

Part of:

package clem
( def-matrix-abs! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--abs.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--abs.html deleted file mode 100644 index ef143be..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--abs.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Abs [Tinaa]

Function Def-Matrix-Abs

Part of:

package clem
( def-matrix-abs &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--add!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--add!.html deleted file mode 100644 index 92f1bfd..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--add!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add! [Tinaa]

Function Def-Matrix-Add!

Part of:

package clem
( def-matrix-add! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--number!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--add--number!.html deleted file mode 100644 index ce9c234..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--number!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Number! [Tinaa]

Function Def-Matrix-Add-Number!

Part of:

package clem
( def-matrix-add-number! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--number.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--add--number.html deleted file mode 100644 index 40c4d23..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--number.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Number [Tinaa]

Function Def-Matrix-Add-Number

Part of:

package clem
( def-matrix-add-number &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar!.html deleted file mode 100644 index eb19871..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Scalar! [Tinaa]

Function Def-Matrix-Add-Scalar!

Part of:

package clem
( def-matrix-add-scalar! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar.html deleted file mode 100644 index 5e55827..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--add--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Scalar [Tinaa]

Function Def-Matrix-Add-Scalar

Part of:

package clem
( def-matrix-add-scalar &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--add.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--add.html deleted file mode 100644 index 8f4ca21..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--add.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add [Tinaa]

Function Def-Matrix-Add

Part of:

package clem
( def-matrix-add &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--convolve.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--convolve.html deleted file mode 100644 index 43975cd..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--convolve.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Convolve [Tinaa]

Function Def-Matrix-Convolve

Part of:

package clem
( def-matrix-convolve &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--hprod!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--hprod!.html deleted file mode 100644 index fbe28ac..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Hprod! [Tinaa]

Function Def-Matrix-Hprod!

Part of:

package clem
( def-matrix-hprod! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--hprod.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--hprod.html deleted file mode 100644 index f37fe6d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Hprod [Tinaa]

Function Def-Matrix-Hprod

Part of:

package clem
( def-matrix-hprod &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--log!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--log!.html deleted file mode 100644 index 598d23d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--log!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Log! [Tinaa]

Function Def-Matrix-Log!

Part of:

package clem
( def-matrix-log! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--log.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--log.html deleted file mode 100644 index 10ed81b..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--log.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Log [Tinaa]

Function Def-Matrix-Log

Part of:

package clem
( def-matrix-log &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--min--max.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--min--max.html deleted file mode 100644 index e924d02..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--min--max.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Min-Max [Tinaa]

Function Def-Matrix-Min-Max

Part of:

package clem
( def-matrix-min-max &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--move.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--move.html deleted file mode 100644 index 9d0650f..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Move [Tinaa]

Function Def-Matrix-Move

Part of:

package clem
( def-matrix-move &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--mref.html deleted file mode 100644 index a870133..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Mref [Tinaa]

Function Def-Matrix-Mref

Part of:

package clem
( def-matrix-mref &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--mult--block.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--mult--block.html deleted file mode 100644 index 0fc6b19..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Mult-Block [Tinaa]

Function Def-Matrix-Mult-Block

Part of:

package clem
( def-matrix-mult-block &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--mult.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--mult.html deleted file mode 100644 index e58df63..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--mult.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Mult [Tinaa]

Function Def-Matrix-Mult

Part of:

package clem
( def-matrix-mult &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--scale!.html deleted file mode 100644 index f6825f3..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Scale! [Tinaa]

Function Def-Matrix-Scale!

Part of:

package clem
( def-matrix-scale! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit!.html deleted file mode 100644 index eeacbf6..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Scale-Fit! [Tinaa]

Function Def-Matrix-Scale-Fit!

Part of:

package clem
( def-matrix-scale-fit! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit.html deleted file mode 100644 index d61509b..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale--fit.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Scale-Fit [Tinaa]

Function Def-Matrix-Scale-Fit

Part of:

package clem
( def-matrix-scale-fit &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--scale.html deleted file mode 100644 index bb166ed..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--scale.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Scale [Tinaa]

Function Def-Matrix-Scale

Part of:

package clem
( def-matrix-scale &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--square.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--square.html deleted file mode 100644 index e0b25f4..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--square.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Square [Tinaa]

Function Def-Matrix-Square

Part of:

package clem
( def-matrix-square &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--subset--matrix.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--subset--matrix.html deleted file mode 100644 index 8a439a3..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Subset-Matrix [Tinaa]

Function Def-Matrix-Subset-Matrix

Part of:

package clem
( def-matrix-subset-matrix &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--subtr!.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--subtr!.html deleted file mode 100644 index 2dd33e4..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Subtr! [Tinaa]

Function Def-Matrix-Subtr!

Part of:

package clem
( def-matrix-subtr! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--subtr.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--subtr.html deleted file mode 100644 index 6ba04a4..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--subtr.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Subtr [Tinaa]

Function Def-Matrix-Subtr

Part of:

package clem
( def-matrix-subtr &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--matrix--transform.html b/external/clem/doc/tinaa/clem-package/function-def--matrix--transform.html deleted file mode 100644 index ead371c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--matrix--transform.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Transform [Tinaa]

Function Def-Matrix-Transform

Part of:

package clem
( def-matrix-transform &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--move--element.html b/external/clem/doc/tinaa/clem-package/function-def--move--element.html deleted file mode 100644 index 8a7bede..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--move--element.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Move-Element [Tinaa]

Function Def-Move-Element

Part of:

package clem
( def-move-element &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--unary--op!.html b/external/clem/doc/tinaa/clem-package/function-def--unary--op!.html deleted file mode 100644 index bc4e463..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--unary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Unary-Op! [Tinaa]

Function Def-Unary-Op!

Part of:

package clem
( def-unary-op! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-def--unary--op.html b/external/clem/doc/tinaa/clem-package/function-def--unary--op.html deleted file mode 100644 index f4074bf..0000000 --- a/external/clem/doc/tinaa/clem-package/function-def--unary--op.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Unary-Op [Tinaa]

Function Def-Unary-Op

Part of:

package clem
( def-unary-op &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-defmatrixclass.html b/external/clem/doc/tinaa/clem-package/function-defmatrixclass.html deleted file mode 100644 index 511e617..0000000 --- a/external/clem/doc/tinaa/clem-package/function-defmatrixclass.html +++ /dev/null @@ -1 +0,0 @@ -Function Defmatrixclass [Tinaa]

Function Defmatrixclass

Part of:

package clem
( defmatrixclass &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-defmatrixfuncs.html b/external/clem/doc/tinaa/clem-package/function-defmatrixfuncs.html deleted file mode 100644 index c86f6fc..0000000 --- a/external/clem/doc/tinaa/clem-package/function-defmatrixfuncs.html +++ /dev/null @@ -1 +0,0 @@ -Function Defmatrixfuncs [Tinaa]

Function Defmatrixfuncs

Part of:

package clem
( defmatrixfuncs &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-delistify--dsd.html b/external/clem/doc/tinaa/clem-package/function-delistify--dsd.html deleted file mode 100644 index dcc3416..0000000 --- a/external/clem/doc/tinaa/clem-package/function-delistify--dsd.html +++ /dev/null @@ -1 +0,0 @@ -Function Delistify-Dsd [Tinaa]

Function Delistify-Dsd

Part of:

package clem
( delistify-dsd < list > )
Some MOPs, like openmcl 0.14.2, cons attribute values in a list.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-delistify.html b/external/clem/doc/tinaa/clem-package/function-delistify.html deleted file mode 100644 index d5ade4c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-delistify.html +++ /dev/null @@ -1 +0,0 @@ -Function Delistify [Tinaa]

Function Delistify

Part of:

package clem
( delistify < list > )
Some MOPs, like openmcl 0.14.2, cons attribute values in a list.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-displace--to--1d--array.html b/external/clem/doc/tinaa/clem-package/function-displace--to--1d--array.html deleted file mode 100644 index 4d38f91..0000000 --- a/external/clem/doc/tinaa/clem-package/function-displace--to--1d--array.html +++ /dev/null @@ -1 +0,0 @@ -Function Displace-To-1d-Array [Tinaa]

Function Displace-To-1d-Array

Part of:

package clem
( displace-to-1d-array < matrix > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-double--float--divide.html b/external/clem/doc/tinaa/clem-package/function-double--float--divide.html deleted file mode 100644 index 8fc10b8..0000000 --- a/external/clem/doc/tinaa/clem-package/function-double--float--divide.html +++ /dev/null @@ -1 +0,0 @@ -Function Double-Float-Divide [Tinaa]

Function Double-Float-Divide

Part of:

package clem
( double-float-divide &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-double--float--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-double--float--matrix--mref.html deleted file mode 100644 index 8cd2234..0000000 --- a/external/clem/doc/tinaa/clem-package/function-double--float--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Double-Float-Matrix-Mref [Tinaa]

Function Double-Float-Matrix-Mref

Part of:

package clem
( double-float-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-fill--slot--from--ancestor.html b/external/clem/doc/tinaa/clem-package/function-fill--slot--from--ancestor.html deleted file mode 100644 index eeb8960..0000000 --- a/external/clem/doc/tinaa/clem-package/function-fill--slot--from--ancestor.html +++ /dev/null @@ -1 +0,0 @@ -Function Fill-Slot-From-Ancestor [Tinaa]

Function Fill-Slot-From-Ancestor

Part of:

package clem
( fill-slot-from-ancestor < slot > < class > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-fill--standard--matrix--class--slots--from--ancestors.htm b/external/clem/doc/tinaa/clem-package/function-fill--standard--matrix--class--slots--from--ancestors.htm deleted file mode 100644 index c0e36e8..0000000 --- a/external/clem/doc/tinaa/clem-package/function-fill--standard--matrix--class--slots--from--ancestors.htm +++ /dev/null @@ -1 +0,0 @@ -Function Fill-Standard-Matrix-Class-Slots-From-Ancestors [Tinaa]

Function Fill-Standard-Matrix-Class-Slots-From-Ancestors

Part of:

package clem
( fill-standard-matrix-class-slots-from-ancestors < class > &rest < all-keys > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-fixnum--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-fixnum--matrix--mref.html deleted file mode 100644 index ddc177c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-fixnum--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Fixnum-Matrix-Mref [Tinaa]

Function Fixnum-Matrix-Mref

Part of:

package clem
( fixnum-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-fixnum1+.html b/external/clem/doc/tinaa/clem-package/function-fixnum1+.html deleted file mode 100644 index f4e7805..0000000 --- a/external/clem/doc/tinaa/clem-package/function-fixnum1+.html +++ /dev/null @@ -1 +0,0 @@ -Function Fixnum1+ [Tinaa]

Function Fixnum1+

Part of:

package clem
( fixnum1+ &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-gaussian--blur.html b/external/clem/doc/tinaa/clem-package/function-gaussian--blur.html deleted file mode 100644 index f2e66f2..0000000 --- a/external/clem/doc/tinaa/clem-package/function-gaussian--blur.html +++ /dev/null @@ -1,4 +0,0 @@ -Function Gaussian-Blur [Tinaa]

Function Gaussian-Blur

Part of:

package clem
( gaussian-blur < m > &key (k - 2) (sigma - 1) (truncate - nil) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-gaussian--kernel--1d.html b/external/clem/doc/tinaa/clem-package/function-gaussian--kernel--1d.html deleted file mode 100644 index 2e1576f..0000000 --- a/external/clem/doc/tinaa/clem-package/function-gaussian--kernel--1d.html +++ /dev/null @@ -1 +0,0 @@ -Function Gaussian-Kernel-1d [Tinaa]

Function Gaussian-Kernel-1d

Part of:

package clem
( gaussian-kernel-1d < k > < sigma > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-gaussian--kernel.html b/external/clem/doc/tinaa/clem-package/function-gaussian--kernel.html deleted file mode 100644 index 8130165..0000000 --- a/external/clem/doc/tinaa/clem-package/function-gaussian--kernel.html +++ /dev/null @@ -1 +0,0 @@ -Function Gaussian-Kernel [Tinaa]

Function Gaussian-Kernel

Part of:

package clem
( gaussian-kernel < k > < sigma > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-get--affine--transformation--7--parameters--properties.ht b/external/clem/doc/tinaa/clem-package/function-get--affine--transformation--7--parameters--properties.ht deleted file mode 100644 index 5b27f65..0000000 --- a/external/clem/doc/tinaa/clem-package/function-get--affine--transformation--7--parameters--properties.ht +++ /dev/null @@ -1 +0,0 @@ -Function Get-Affine-Transformation-7-Parameters-Properties [Tinaa]

Function Get-Affine-Transformation-7-Parameters-Properties

Part of:

package clem
( get-affine-transformation-7-parameters-properties < transvec > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-get--matrix--name--for--type.html b/external/clem/doc/tinaa/clem-package/function-get--matrix--name--for--type.html deleted file mode 100644 index f7773b6..0000000 --- a/external/clem/doc/tinaa/clem-package/function-get--matrix--name--for--type.html +++ /dev/null @@ -1 +0,0 @@ -Function Get-Matrix-Name-For-Type [Tinaa]

Function Get-Matrix-Name-For-Type

Part of:

package clem
( get-matrix-name-for-type < type > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-get--matrix--type--for--type.html b/external/clem/doc/tinaa/clem-package/function-get--matrix--type--for--type.html deleted file mode 100644 index 0887b78..0000000 --- a/external/clem/doc/tinaa/clem-package/function-get--matrix--type--for--type.html +++ /dev/null @@ -1 +0,0 @@ -Function Get-Matrix-Type-For-Type [Tinaa]

Function Get-Matrix-Type-For-Type

Part of:

package clem
( get-matrix-type-for-type < type > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-graddir.html b/external/clem/doc/tinaa/clem-package/function-graddir.html deleted file mode 100644 index 439fcc4..0000000 --- a/external/clem/doc/tinaa/clem-package/function-graddir.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Graddir [Tinaa]

Function Graddir

Part of:

package clem
( graddir < m > &key (truncate - nil) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-gradmag.html b/external/clem/doc/tinaa/clem-package/function-gradmag.html deleted file mode 100644 index bfc8ace..0000000 --- a/external/clem/doc/tinaa/clem-package/function-gradmag.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Gradmag [Tinaa]

Function Gradmag

Part of:

package clem
( gradmag < m > &key (truncate - nil) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-inferior.html b/external/clem/doc/tinaa/clem-package/function-inferior.html deleted file mode 100644 index 3dc9563..0000000 --- a/external/clem/doc/tinaa/clem-package/function-inferior.html +++ /dev/null @@ -1 +0,0 @@ -Function Inferior [Tinaa]

Function Inferior

Part of:

package clem
( inferior < a > < b > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-insert--before.html b/external/clem/doc/tinaa/clem-package/function-insert--before.html deleted file mode 100644 index 35ba962..0000000 --- a/external/clem/doc/tinaa/clem-package/function-insert--before.html +++ /dev/null @@ -1 +0,0 @@ -Function Insert-Before [Tinaa]

Function Insert-Before

Part of:

package clem
( insert-before < new > < old > < list > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-integer--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-integer--matrix--mref.html deleted file mode 100644 index 0c49f5e..0000000 --- a/external/clem/doc/tinaa/clem-package/function-integer--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Integer-Matrix-Mref [Tinaa]

Function Integer-Matrix-Mref

Part of:

package clem
( integer-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-laplacian--2.html b/external/clem/doc/tinaa/clem-package/function-laplacian--2.html deleted file mode 100644 index 4d2cf48..0000000 --- a/external/clem/doc/tinaa/clem-package/function-laplacian--2.html +++ /dev/null @@ -1,3 +0,0 @@ -Function Laplacian-2 [Tinaa]

Function Laplacian-2

Part of:

package clem
( laplacian-2 < m > &key (matrix-class - 'double-float-matrix) (truncate - t) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-laplacian.html b/external/clem/doc/tinaa/clem-package/function-laplacian.html deleted file mode 100644 index 6a206e7..0000000 --- a/external/clem/doc/tinaa/clem-package/function-laplacian.html +++ /dev/null @@ -1,3 +0,0 @@ -Function Laplacian [Tinaa]

Function Laplacian

Part of:

package clem
( laplacian < m > &key (matrix-class - 'double-float-matrix) (truncate - t) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-list--if.html b/external/clem/doc/tinaa/clem-package/function-list--if.html deleted file mode 100644 index cffde00..0000000 --- a/external/clem/doc/tinaa/clem-package/function-list--if.html +++ /dev/null @@ -1 +0,0 @@ -Function List-If [Tinaa]

Function List-If

Part of:

package clem
( list-if < x > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-make--affine--transformation--matrix--from--7--parameters b/external/clem/doc/tinaa/clem-package/function-make--affine--transformation--matrix--from--7--parameters deleted file mode 100644 index ce0203d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-make--affine--transformation--matrix--from--7--parameters +++ /dev/null @@ -1 +0,0 @@ -Function Make-Affine-Transformation-Matrix-From-7-Parameters [Tinaa]

Function Make-Affine-Transformation-Matrix-From-7-Parameters

Part of:

package clem
( make-affine-transformation-matrix-from-7-parameters < transvec > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-make--affine--transformation.html b/external/clem/doc/tinaa/clem-package/function-make--affine--transformation.html deleted file mode 100644 index f0d3118..0000000 --- a/external/clem/doc/tinaa/clem-package/function-make--affine--transformation.html +++ /dev/null @@ -1,8 +0,0 @@ -Function Make-Affine-Transformation [Tinaa]

Function Make-Affine-Transformation

Part of:

package clem
( make-affine-transformation &key (x-shift - 0.0d0) (y-shift - 0.0d0) (x-scale - 1.0d0) (y-scale - 1.0d0) (x-shear - 0.0d0) (y-shear - 0.0d0) (theta - 0.0d0) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-mat--add!--inline.html b/external/clem/doc/tinaa/clem-package/function-mat--add!--inline.html deleted file mode 100644 index 536b986..0000000 --- a/external/clem/doc/tinaa/clem-package/function-mat--add!--inline.html +++ /dev/null @@ -1 +0,0 @@ -Function Mat-Add!-Inline [Tinaa]

Function Mat-Add!-Inline

Part of:

package clem
( mat-add!-inline < a > < b > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-mat--add--inline.html b/external/clem/doc/tinaa/clem-package/function-mat--add--inline.html deleted file mode 100644 index 5cb93c3..0000000 --- a/external/clem/doc/tinaa/clem-package/function-mat--add--inline.html +++ /dev/null @@ -1 +0,0 @@ -Function Mat-Add-Inline [Tinaa]

Function Mat-Add-Inline

Part of:

package clem
( mat-add-inline < a > < b > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-matrix--means.html b/external/clem/doc/tinaa/clem-package/function-matrix--means.html deleted file mode 100644 index 49c5612..0000000 --- a/external/clem/doc/tinaa/clem-package/function-matrix--means.html +++ /dev/null @@ -1 +0,0 @@ -Function Matrix-Means [Tinaa]

Function Matrix-Means

Part of:

package clem
( matrix-means &rest < matrices > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-matrix--medians.html b/external/clem/doc/tinaa/clem-package/function-matrix--medians.html deleted file mode 100644 index a466c23..0000000 --- a/external/clem/doc/tinaa/clem-package/function-matrix--medians.html +++ /dev/null @@ -1 +0,0 @@ -Function Matrix-Medians [Tinaa]

Function Matrix-Medians

Part of:

package clem
( matrix-medians < matrices > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-maybe--coerce.html b/external/clem/doc/tinaa/clem-package/function-maybe--coerce.html deleted file mode 100644 index 706474b..0000000 --- a/external/clem/doc/tinaa/clem-package/function-maybe--coerce.html +++ /dev/null @@ -1 +0,0 @@ -Function Maybe-Coerce [Tinaa]

Function Maybe-Coerce

Part of:

package clem
( maybe-coerce &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-maybe--truncate.html b/external/clem/doc/tinaa/clem-package/function-maybe--truncate.html deleted file mode 100644 index 21c243d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-maybe--truncate.html +++ /dev/null @@ -1 +0,0 @@ -Function Maybe-Truncate [Tinaa]

Function Maybe-Truncate

Part of:

package clem
( maybe-truncate &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-mloop--range.html b/external/clem/doc/tinaa/clem-package/function-mloop--range.html deleted file mode 100644 index acca15c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-mloop--range.html +++ /dev/null @@ -1 +0,0 @@ -Function Mloop-Range [Tinaa]

Function Mloop-Range

Part of:

package clem
( mloop-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-mloop.html b/external/clem/doc/tinaa/clem-package/function-mloop.html deleted file mode 100644 index 915080d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-mloop.html +++ /dev/null @@ -1 +0,0 @@ -Function Mloop [Tinaa]

Function Mloop

Part of:

package clem
( mloop &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-move--affine--transformation--7--parameters.html b/external/clem/doc/tinaa/clem-package/function-move--affine--transformation--7--parameters.html deleted file mode 100644 index 1332a03..0000000 --- a/external/clem/doc/tinaa/clem-package/function-move--affine--transformation--7--parameters.html +++ /dev/null @@ -1 +0,0 @@ -Function Move-Affine-Transformation-7-Parameters [Tinaa]

Function Move-Affine-Transformation-7-Parameters

Part of:

package clem
( move-affine-transformation-7-parameters < src > < dest > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-parse--mloop--vars.html b/external/clem/doc/tinaa/clem-package/function-parse--mloop--vars.html deleted file mode 100644 index 546ded9..0000000 --- a/external/clem/doc/tinaa/clem-package/function-parse--mloop--vars.html +++ /dev/null @@ -1 +0,0 @@ -Function Parse-Mloop-Vars [Tinaa]

Function Parse-Mloop-Vars

Part of:

package clem
( parse-mloop-vars < vars > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-print--matrix--line.html b/external/clem/doc/tinaa/clem-package/function-print--matrix--line.html deleted file mode 100644 index f8b61ad..0000000 --- a/external/clem/doc/tinaa/clem-package/function-print--matrix--line.html +++ /dev/null @@ -1 +0,0 @@ -Function Print-Matrix-Line [Tinaa]

Function Print-Matrix-Line

Part of:

package clem
( print-matrix-line < obj > < stream > < val-format-spec > < i > < startc > < endc > < lastcol > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-quadratic--interpolate.html b/external/clem/doc/tinaa/clem-package/function-quadratic--interpolate.html deleted file mode 100644 index 512b681..0000000 --- a/external/clem/doc/tinaa/clem-package/function-quadratic--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Function Quadratic-Interpolate [Tinaa]

Function Quadratic-Interpolate

Part of:

package clem
( quadratic-interpolate &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-quadratic--kernel.html b/external/clem/doc/tinaa/clem-package/function-quadratic--kernel.html deleted file mode 100644 index 3639da7..0000000 --- a/external/clem/doc/tinaa/clem-package/function-quadratic--kernel.html +++ /dev/null @@ -1 +0,0 @@ -Function Quadratic-Kernel [Tinaa]

Function Quadratic-Kernel

Part of:

package clem
( quadratic-kernel &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-real--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-real--matrix--mref.html deleted file mode 100644 index 19e2c7c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-real--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Real-Matrix-Mref [Tinaa]

Function Real-Matrix-Mref

Part of:

package clem
( real-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-remove--keyword--arg.html b/external/clem/doc/tinaa/clem-package/function-remove--keyword--arg.html deleted file mode 100644 index 4770662..0000000 --- a/external/clem/doc/tinaa/clem-package/function-remove--keyword--arg.html +++ /dev/null @@ -1 +0,0 @@ -Function Remove-Keyword-Arg [Tinaa]

Function Remove-Keyword-Arg

Part of:

package clem
( remove-keyword-arg < arglist > < akey > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-resize--matrix.html b/external/clem/doc/tinaa/clem-package/function-resize--matrix.html deleted file mode 100644 index 6fc6457..0000000 --- a/external/clem/doc/tinaa/clem-package/function-resize--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Resize-Matrix [Tinaa]

Function Resize-Matrix

Part of:

package clem
( resize-matrix < m > < y > < x > &key (interpolation - bilinear) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-sample--variance--window.html b/external/clem/doc/tinaa/clem-package/function-sample--variance--window.html deleted file mode 100644 index 9e11e86..0000000 --- a/external/clem/doc/tinaa/clem-package/function-sample--variance--window.html +++ /dev/null @@ -1,3 +0,0 @@ -Function Sample-Variance-Window [Tinaa]

Function Sample-Variance-Window

Part of:

package clem
( sample-variance-window < a > &key (k - 1) (truncate - nil) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-sb16--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-sb16--matrix--mref.html deleted file mode 100644 index 21c9f9a..0000000 --- a/external/clem/doc/tinaa/clem-package/function-sb16--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Sb16-Matrix-Mref [Tinaa]

Function Sb16-Matrix-Mref

Part of:

package clem
( sb16-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-sb32--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-sb32--matrix--mref.html deleted file mode 100644 index d20ee70..0000000 --- a/external/clem/doc/tinaa/clem-package/function-sb32--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Sb32-Matrix-Mref [Tinaa]

Function Sb32-Matrix-Mref

Part of:

package clem
( sb32-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-sb8--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-sb8--matrix--mref.html deleted file mode 100644 index 67ce6b5..0000000 --- a/external/clem/doc/tinaa/clem-package/function-sb8--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Sb8-Matrix-Mref [Tinaa]

Function Sb8-Matrix-Mref

Part of:

package clem
( sb8-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-scalar.html b/external/clem/doc/tinaa/clem-package/function-scalar.html deleted file mode 100644 index c14ae17..0000000 --- a/external/clem/doc/tinaa/clem-package/function-scalar.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Scalar [Tinaa]

Function Scalar

Part of:

package clem
( scalar < val > &key (matrix-class - 'scalar) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-separable--morphological--op.html b/external/clem/doc/tinaa/clem-package/function-separable--morphological--op.html deleted file mode 100644 index d03165e..0000000 --- a/external/clem/doc/tinaa/clem-package/function-separable--morphological--op.html +++ /dev/null @@ -1 +0,0 @@ -Function Separable-Morphological-Op [Tinaa]

Function Separable-Morphological-Op

Part of:

package clem
( separable-morphological-op < m > < h > < f > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-single--float--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-single--float--matrix--mref.html deleted file mode 100644 index ac1acac..0000000 --- a/external/clem/doc/tinaa/clem-package/function-single--float--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Single-Float-Matrix-Mref [Tinaa]

Function Single-Float-Matrix-Mref

Part of:

package clem
( single-float-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-standard--deviation.html b/external/clem/doc/tinaa/clem-package/function-standard--deviation.html deleted file mode 100644 index c01807e..0000000 --- a/external/clem/doc/tinaa/clem-package/function-standard--deviation.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Deviation [Tinaa]

Function Standard-Deviation

Part of:

package clem
( standard-deviation &rest < matrices > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--p.html b/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--p.html deleted file mode 100644 index 902cea8..0000000 --- a/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--p.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Matrix-Class-P [Tinaa]

Function Standard-Matrix-Class-P

Part of:

package clem
( standard-matrix-class-p < class > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--precedence--list.html b/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--precedence--list.html deleted file mode 100644 index 1906562..0000000 --- a/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--precedence--list.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Matrix-Class-Precedence-List [Tinaa]

Function Standard-Matrix-Class-Precedence-List

Part of:

package clem
( standard-matrix-class-precedence-list < class > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--slots.html b/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--slots.html deleted file mode 100644 index ef4cd55..0000000 --- a/external/clem/doc/tinaa/clem-package/function-standard--matrix--class--slots.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Matrix-Class-Slots [Tinaa]

Function Standard-Matrix-Class-Slots

Part of:

package clem
( standard-matrix-class-slots < class > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-subclassp.html b/external/clem/doc/tinaa/clem-package/function-subclassp.html deleted file mode 100644 index e1fe879..0000000 --- a/external/clem/doc/tinaa/clem-package/function-subclassp.html +++ /dev/null @@ -1 +0,0 @@ -Function Subclassp [Tinaa]

Function Subclassp

Part of:

package clem
( subclassp < c1 > < c2 > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-superior.html b/external/clem/doc/tinaa/clem-package/function-superior.html deleted file mode 100644 index 86e8bcd..0000000 --- a/external/clem/doc/tinaa/clem-package/function-superior.html +++ /dev/null @@ -1 +0,0 @@ -Function Superior [Tinaa]

Function Superior

Part of:

package clem
( superior < a > < b > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-transform--coord.html b/external/clem/doc/tinaa/clem-package/function-transform--coord.html deleted file mode 100644 index b2bf498..0000000 --- a/external/clem/doc/tinaa/clem-package/function-transform--coord.html +++ /dev/null @@ -1 +0,0 @@ -Function Transform-Coord [Tinaa]

Function Transform-Coord

Part of:

package clem
( transform-coord < x > < y > < xfrm > )
applies the affine transformation xfrm to the point {x,y} and
returns the position of the point after applying the transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-transformation--parameter.html b/external/clem/doc/tinaa/clem-package/function-transformation--parameter.html deleted file mode 100644 index 23a1d53..0000000 --- a/external/clem/doc/tinaa/clem-package/function-transformation--parameter.html +++ /dev/null @@ -1 +0,0 @@ -Function Transformation-Parameter [Tinaa]

Function Transformation-Parameter

Part of:

package clem
( transformation-parameter < xfrm > < i > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-ub16--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-ub16--matrix--mref.html deleted file mode 100644 index cedd816..0000000 --- a/external/clem/doc/tinaa/clem-package/function-ub16--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Ub16-Matrix-Mref [Tinaa]

Function Ub16-Matrix-Mref

Part of:

package clem
( ub16-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-ub32--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-ub32--matrix--mref.html deleted file mode 100644 index fced73f..0000000 --- a/external/clem/doc/tinaa/clem-package/function-ub32--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Ub32-Matrix-Mref [Tinaa]

Function Ub32-Matrix-Mref

Part of:

package clem
( ub32-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-ub8--matrix--mref.html b/external/clem/doc/tinaa/clem-package/function-ub8--matrix--mref.html deleted file mode 100644 index ec70303..0000000 --- a/external/clem/doc/tinaa/clem-package/function-ub8--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Ub8-Matrix-Mref [Tinaa]

Function Ub8-Matrix-Mref

Part of:

package clem
( ub8-matrix-mref < m > < row > < col > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-variance--window.html b/external/clem/doc/tinaa/clem-package/function-variance--window.html deleted file mode 100644 index cb01cca..0000000 --- a/external/clem/doc/tinaa/clem-package/function-variance--window.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Variance-Window [Tinaa]

Function Variance-Window

Part of:

package clem
( variance-window < a > &key (k - 2) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-with--map--range.html b/external/clem/doc/tinaa/clem-package/function-with--map--range.html deleted file mode 100644 index 117e30d..0000000 --- a/external/clem/doc/tinaa/clem-package/function-with--map--range.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Map-Range [Tinaa]

Function With-Map-Range

Part of:

package clem
( with-map-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-with--matrix--range--do.html b/external/clem/doc/tinaa/clem-package/function-with--matrix--range--do.html deleted file mode 100644 index aea4ce8..0000000 --- a/external/clem/doc/tinaa/clem-package/function-with--matrix--range--do.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Matrix-Range-Do [Tinaa]

Function With-Matrix-Range-Do

Part of:

package clem
( with-matrix-range-do &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-with--matrix--vals.html b/external/clem/doc/tinaa/clem-package/function-with--matrix--vals.html deleted file mode 100644 index 8dd75a8..0000000 --- a/external/clem/doc/tinaa/clem-package/function-with--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Matrix-Vals [Tinaa]

Function With-Matrix-Vals

Part of:

package clem
( with-matrix-vals &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-with--typed--matrix--vals.html b/external/clem/doc/tinaa/clem-package/function-with--typed--matrix--vals.html deleted file mode 100644 index 854ec0c..0000000 --- a/external/clem/doc/tinaa/clem-package/function-with--typed--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Typed-Matrix-Vals [Tinaa]

Function With-Typed-Matrix-Vals

Part of:

package clem
( with-typed-matrix-vals &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-with--untyped--matrix--vals.html b/external/clem/doc/tinaa/clem-package/function-with--untyped--matrix--vals.html deleted file mode 100644 index 610223e..0000000 --- a/external/clem/doc/tinaa/clem-package/function-with--untyped--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Untyped-Matrix-Vals [Tinaa]

Function With-Untyped-Matrix-Vals

Part of:

package clem
( with-untyped-matrix-vals &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-x--derivative.html b/external/clem/doc/tinaa/clem-package/function-x--derivative.html deleted file mode 100644 index 979ac38..0000000 --- a/external/clem/doc/tinaa/clem-package/function-x--derivative.html +++ /dev/null @@ -1,3 +0,0 @@ -Function X-Derivative [Tinaa]

Function X-Derivative

Part of:

package clem
( x-derivative < m > &key (matrix-class - 'double-float-matrix) (truncate - t) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/function-y--derivative.html b/external/clem/doc/tinaa/clem-package/function-y--derivative.html deleted file mode 100644 index dc6bbfd..0000000 --- a/external/clem/doc/tinaa/clem-package/function-y--derivative.html +++ /dev/null @@ -1,3 +0,0 @@ -Function Y-Derivative [Tinaa]

Function Y-Derivative

Part of:

package clem
( y-derivative < m > &key (matrix-class - 'double-float-matrix) (truncate - t) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-%discrete--convolve.html b/external/clem/doc/tinaa/clem-package/generic-efunction-%discrete--convolve.html deleted file mode 100644 index 1fb2de3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-%discrete--convolve.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function %Discrete-Convolve [Tinaa]

Generic Function %Discrete-Convolve (5 methods)

( %discrete-convolve < u > < v > < z > &key (norm-v - t) )

Part of:

package clem

Method Summary

%discrete-convolve < double-float-matrix > < double-float-matrix > < double-float-matrix
%discrete-convolve < single-float-matrix > < single-float-matrix > < single-float-matrix
%discrete-convolve < ub8-matrix > < double-float-matrix > < ub8-matrix
%discrete-convolve < ub8-matrix > < single-float-matrix > < ub8-matrix
%discrete-convolve < ub8-matrix > < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-%get--subtr--matrix--class.html b/external/clem/doc/tinaa/clem-package/generic-efunction-%get--subtr--matrix--class.html deleted file mode 100644 index 8e6f6a0..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-%get--subtr--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function %Get-Subtr-Matrix-Class [Tinaa]

Generic Function %Get-Subtr-Matrix-Class (49 methods)

( %get-subtr-matrix-class < a > < b > )

Part of:

package clem

Method Summary

%get-subtr-matrix-class < bit-matrix > < bit-matrix
%get-subtr-matrix-class < bit-matrix > < double-float-matrix
%get-subtr-matrix-class < bit-matrix > < single-float-matrix
%get-subtr-matrix-class < double-float-matrix > < bit-matrix
%get-subtr-matrix-class < double-float-matrix > < double-float-matrix
%get-subtr-matrix-class < double-float-matrix > < fixnum-matrix
%get-subtr-matrix-class < double-float-matrix > < sb16-matrix
%get-subtr-matrix-class < double-float-matrix > < sb32-matrix
%get-subtr-matrix-class < double-float-matrix > < sb8-matrix
%get-subtr-matrix-class < double-float-matrix > < single-float-matrix
%get-subtr-matrix-class < double-float-matrix > < ub16-matrix
%get-subtr-matrix-class < double-float-matrix > < ub32-matrix
%get-subtr-matrix-class < double-float-matrix > < ub8-matrix
%get-subtr-matrix-class < sb16-matrix > < bit-matrix
%get-subtr-matrix-class < sb16-matrix > < double-float-matrix
%get-subtr-matrix-class < sb16-matrix > < sb16-matrix
%get-subtr-matrix-class < sb16-matrix > < single-float-matrix
%get-subtr-matrix-class < sb32-matrix > < bit-matrix
%get-subtr-matrix-class < sb32-matrix > < double-float-matrix
%get-subtr-matrix-class < sb32-matrix > < sb32-matrix
%get-subtr-matrix-class < sb32-matrix > < single-float-matrix
%get-subtr-matrix-class < sb32-matrix > < ub16-matrix
%get-subtr-matrix-class < sb32-matrix > < ub8-matrix
%get-subtr-matrix-class < sb8-matrix > < bit-matrix
%get-subtr-matrix-class < sb8-matrix > < double-float-matrix
%get-subtr-matrix-class < sb8-matrix > < sb8-matrix
%get-subtr-matrix-class < sb8-matrix > < single-float-matrix
%get-subtr-matrix-class < single-float-matrix > < bit-matrix
%get-subtr-matrix-class < single-float-matrix > < double-float-matrix
%get-subtr-matrix-class < single-float-matrix > < fixnum-matrix
%get-subtr-matrix-class < single-float-matrix > < sb16-matrix
%get-subtr-matrix-class < single-float-matrix > < sb32-matrix
%get-subtr-matrix-class < single-float-matrix > < sb8-matrix
%get-subtr-matrix-class < single-float-matrix > < single-float-matrix
%get-subtr-matrix-class < single-float-matrix > < ub16-matrix
%get-subtr-matrix-class < single-float-matrix > < ub32-matrix
%get-subtr-matrix-class < single-float-matrix > < ub8-matrix
%get-subtr-matrix-class < ub16-matrix > < bit-matrix
%get-subtr-matrix-class < ub16-matrix > < double-float-matrix
%get-subtr-matrix-class < ub16-matrix > < single-float-matrix
%get-subtr-matrix-class < ub16-matrix > < ub16-matrix
%get-subtr-matrix-class < ub32-matrix > < bit-matrix
%get-subtr-matrix-class < ub32-matrix > < double-float-matrix
%get-subtr-matrix-class < ub32-matrix > < single-float-matrix
%get-subtr-matrix-class < ub32-matrix > < ub32-matrix
%get-subtr-matrix-class < ub8-matrix > < bit-matrix
%get-subtr-matrix-class < ub8-matrix > < double-float-matrix
%get-subtr-matrix-class < ub8-matrix > < single-float-matrix
%get-subtr-matrix-class < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--block.html b/external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--block.html deleted file mode 100644 index bfa1c11..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function %Mat-Mult-Block [Tinaa]

Generic Function %Mat-Mult-Block (2 methods)

( %mat-mult-block < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > )

Part of:

package clem

Method Summary

%mat-mult-block < double-float-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
%mat-mult-block < single-float-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--with--blocks.html b/external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--with--blocks.html deleted file mode 100644 index 271a22d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-%mat--mult--with--blocks.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function %Mat-Mult-With-Blocks [Tinaa]

Generic Function %Mat-Mult-With-Blocks (2 methods)

( %mat-mult-with-blocks < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > )

Part of:

package clem

Method Summary

%mat-mult-with-blocks < double-float-matrix > < double-float-matrix > < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > 
%mat-mult-with-blocks < single-float-matrix > < single-float-matrix > < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-%separable--discrete--convolve.html b/external/clem/doc/tinaa/clem-package/generic-efunction-%separable--discrete--convolve.html deleted file mode 100644 index 507fb94..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-%separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Generic Function %Separable-Discrete-Convolve [Tinaa]

Generic Function %Separable-Discrete-Convolve (5 methods)

( %separable-discrete-convolve < m > < h1 > < h2 > < z1 > < z2 > &key (truncate - nil) (norm-v - nil) (matrix-class - (class-of - m)) )

Part of:

package clem

Method Summary

%separable-discrete-convolve < double-float-matrix > < double-float-matrix > < double-float-matrix > < matrix > < matrix
%separable-discrete-convolve < single-float-matrix > < single-float-matrix > < single-float-matrix > < matrix > < matrix
%separable-discrete-convolve < ub8-matrix > < double-float-matrix > < double-float-matrix > < matrix > < matrix
%separable-discrete-convolve < ub8-matrix > < single-float-matrix > < single-float-matrix > < matrix > < matrix
%separable-discrete-convolve < ub8-matrix > < ub8-matrix > < ub8-matrix > < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-%transform--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-%transform--matrix.html deleted file mode 100644 index e8c5d84..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-%transform--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function %Transform-Matrix [Tinaa]

Generic Function %Transform-Matrix (11 methods)

( %transform-matrix < m > < n > < xfrm > &key (background - 0) (interpolation - nearest-neighbor) )

Part of:

package clem

Method Summary

%transform-matrix < bit-matrix > < bit-matrix > < double-float-matrix
%transform-matrix < double-float-matrix > < double-float-matrix > < double-float-matrix
%transform-matrix < fixnum-matrix > < fixnum-matrix > < double-float-matrix
%transform-matrix < sb16-matrix > < sb16-matrix > < double-float-matrix
%transform-matrix < sb32-matrix > < sb32-matrix > < double-float-matrix
%transform-matrix < sb8-matrix > < sb8-matrix > < double-float-matrix
%transform-matrix < single-float-matrix > < single-float-matrix > < double-float-matrix
%transform-matrix < single-float-matrix > < single-float-matrix > < single-float-matrix
%transform-matrix < ub16-matrix > < ub16-matrix > < double-float-matrix
%transform-matrix < ub32-matrix > < ub32-matrix > < double-float-matrix
%transform-matrix < ub8-matrix > < ub8-matrix > < double-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-accumulator--type.html b/external/clem/doc/tinaa/clem-package/generic-efunction-accumulator--type.html deleted file mode 100644 index b223d13..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-accumulator--type.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Accumulator-Type [Tinaa]

Generic Function Accumulator-Type (1 method)

( accumulator-type < smc > )

Part of:

package clem
the type of the result of various mathematical
opreations on instances of this matrix class. needs work.

Method Summary

accumulator-type < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-add--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-add--col.html deleted file mode 100644 index 3a74c4e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-add--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Add-Col [Tinaa]

Generic Function Add-Col (1 method)

( add-col < m > &key < values > < initial-element > )

Part of:

package clem

Method Summary

add-col < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-add--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-add--row.html deleted file mode 100644 index 0372508..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-add--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Add-Row [Tinaa]

Generic Function Add-Row (1 method)

( add-row < m > &key < values > < initial-element > )

Part of:

package clem

Method Summary

add-row < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-affine--transform.html b/external/clem/doc/tinaa/clem-package/generic-efunction-affine--transform.html deleted file mode 100644 index 2c9421c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-affine--transform.html +++ /dev/null @@ -1,7 +0,0 @@ -Generic Function Affine-Transform [Tinaa]

Generic Function Affine-Transform (1 method)

( affine-transform < mat > < xfrm > &key < u > < v > < x > < y > (interpolation - nil - interpolation-supplied-p) (background - nil - background-supplied-p) (matrix-class - (class-of - mat)) )

Part of:

package clem

Method Summary

affine-transform < matrix > < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-allocate--matrix--vals.html b/external/clem/doc/tinaa/clem-package/generic-efunction-allocate--matrix--vals.html deleted file mode 100644 index 66ec29a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-allocate--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Allocate-Matrix-Vals [Tinaa]

Generic Function Allocate-Matrix-Vals (3 methods)

( allocate-matrix-vals < object > &key < rows > < cols > < adjustable > < initial-element > )

Part of:

package clem

Method Summary

allocate-matrix-vals < col-vector
allocate-matrix-vals < matrix
allocate-matrix-vals < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gbit--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gbit--matrix.html deleted file mode 100644 index 7fe4f7d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gbit--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Bit-Matrix [Tinaa]

Generic Function Array->Bit-Matrix (1 method)

( array->bit-matrix < a > )

Part of:

package clem

Method Summary

array->bit-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gcol--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gcol--vector.html deleted file mode 100644 index 4f94e66..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gcol--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Col-Vector [Tinaa]

Generic Function Array->Col-Vector (1 method)

( array->col-vector < a > )

Part of:

package clem

Method Summary

array->col-vector < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gcomplex--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gcomplex--matrix.html deleted file mode 100644 index 756c222..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gcomplex--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Complex-Matrix [Tinaa]

Generic Function Array->Complex-Matrix (1 method)

( array->complex-matrix < a > )

Part of:

package clem

Method Summary

array->complex-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gdouble--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gdouble--float--matrix.html deleted file mode 100644 index bfdc4de..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gdouble--float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Double-Float-Matrix [Tinaa]

Generic Function Array->Double-Float-Matrix (1 method)

( array->double-float-matrix < a > )

Part of:

package clem

Method Summary

array->double-float-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gfixnum--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gfixnum--matrix.html deleted file mode 100644 index 4877b82..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gfixnum--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Fixnum-Matrix [Tinaa]

Generic Function Array->Fixnum-Matrix (1 method)

( array->fixnum-matrix < a > )

Part of:

package clem

Method Summary

array->fixnum-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gfloat--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gfloat--matrix.html deleted file mode 100644 index eb299e2..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gfloat--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Float-Matrix [Tinaa]

Generic Function Array->Float-Matrix (1 method)

( array->float-matrix < a > )

Part of:

package clem

Method Summary

array->float-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---ginteger--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---ginteger--matrix.html deleted file mode 100644 index 3afe43f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---ginteger--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Integer-Matrix [Tinaa]

Generic Function Array->Integer-Matrix (1 method)

( array->integer-matrix < a > )

Part of:

package clem

Method Summary

array->integer-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gmatrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gmatrix.html deleted file mode 100644 index e4d5668..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gmatrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Array->Matrix [Tinaa]

Generic Function Array->Matrix (1 method)

( array->matrix < a > &key (matrix-class - 'matrix) )

Part of:

package clem

Method Summary

array->matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gnumber--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gnumber--matrix.html deleted file mode 100644 index bb30d82..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gnumber--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Number-Matrix [Tinaa]

Generic Function Array->Number-Matrix (1 method)

( array->number-matrix < a > )

Part of:

package clem

Method Summary

array->number-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---greal--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---greal--matrix.html deleted file mode 100644 index ec52e06..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---greal--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Real-Matrix [Tinaa]

Generic Function Array->Real-Matrix (1 method)

( array->real-matrix < a > )

Part of:

package clem

Method Summary

array->real-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---grow--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---grow--vector.html deleted file mode 100644 index 1156d14..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---grow--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Row-Vector [Tinaa]

Generic Function Array->Row-Vector (1 method)

( array->row-vector < a > )

Part of:

package clem

Method Summary

array->row-vector < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb16--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb16--matrix.html deleted file mode 100644 index f6deb12..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb16--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Sb16-Matrix [Tinaa]

Generic Function Array->Sb16-Matrix (1 method)

( array->sb16-matrix < a > )

Part of:

package clem

Method Summary

array->sb16-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb32--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb32--matrix.html deleted file mode 100644 index 00386f3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb32--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Sb32-Matrix [Tinaa]

Generic Function Array->Sb32-Matrix (1 method)

( array->sb32-matrix < a > )

Part of:

package clem

Method Summary

array->sb32-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb8--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb8--matrix.html deleted file mode 100644 index 75106d4..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsb8--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Sb8-Matrix [Tinaa]

Generic Function Array->Sb8-Matrix (1 method)

( array->sb8-matrix < a > )

Part of:

package clem

Method Summary

array->sb8-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsingle--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsingle--float--matrix.html deleted file mode 100644 index d5a58bd..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gsingle--float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Single-Float-Matrix [Tinaa]

Generic Function Array->Single-Float-Matrix (1 method)

( array->single-float-matrix < a > )

Part of:

package clem

Method Summary

array->single-float-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gt--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gt--matrix.html deleted file mode 100644 index 2f688e3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gt--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->T-Matrix [Tinaa]

Generic Function Array->T-Matrix (1 method)

( array->t-matrix < a > )

Part of:

package clem

Method Summary

array->t-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub16--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub16--matrix.html deleted file mode 100644 index 3e6b82b..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub16--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Ub16-Matrix [Tinaa]

Generic Function Array->Ub16-Matrix (1 method)

( array->ub16-matrix < a > )

Part of:

package clem

Method Summary

array->ub16-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub32--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub32--matrix.html deleted file mode 100644 index d5ed910..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub32--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Ub32-Matrix [Tinaa]

Generic Function Array->Ub32-Matrix (1 method)

( array->ub32-matrix < a > )

Part of:

package clem

Method Summary

array->ub32-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub8--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub8--matrix.html deleted file mode 100644 index 220f9c5..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gub8--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Ub8-Matrix [Tinaa]

Generic Function Array->Ub8-Matrix (1 method)

( array->ub8-matrix < a > )

Part of:

package clem

Method Summary

array->ub8-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gunsigned--byte--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-array---gunsigned--byte--matrix.html deleted file mode 100644 index f7a8683..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-array---gunsigned--byte--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Unsigned-Byte-Matrix [Tinaa]

Generic Function Array->Unsigned-Byte-Matrix (1 method)

( array->unsigned-byte-matrix < a > )

Part of:

package clem

Method Summary

array->unsigned-byte-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-binary--threshold.html b/external/clem/doc/tinaa/clem-package/generic-efunction-binary--threshold.html deleted file mode 100644 index 932506d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-binary--threshold.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Binary-Threshold [Tinaa]

Generic Function Binary-Threshold (1 method)

( binary-threshold < u > < tval > )

Part of:

package clem

Method Summary

binary-threshold < matrix > < number > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-closest--common--matrix--class.html b/external/clem/doc/tinaa/clem-package/generic-efunction-closest--common--matrix--class.html deleted file mode 100644 index a6de239..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-closest--common--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Closest-Common-Matrix-Class [Tinaa]

Generic Function Closest-Common-Matrix-Class (1 method)

( closest-common-matrix-class < m1 > &rest < mr > )

Part of:

package clem

Method Summary

closest-common-matrix-class < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-cols.html b/external/clem/doc/tinaa/clem-package/generic-efunction-cols.html deleted file mode 100644 index 68aa955..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Cols [Tinaa]

Generic Function Cols (3 methods)

( cols < cv > )

Part of:

package clem
Returns the number of columns in the matrix.

Method Summary

cols < col-vector
cols < matrix
cols < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-complement--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-complement--matrix.html deleted file mode 100644 index d82a1e0..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-complement--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Complement-Matrix [Tinaa]

Generic Function Complement-Matrix (1 method)

( complement-matrix < u > &key (maxval - (max-val - u)) )

Part of:

package clem

Method Summary

complement-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-compute--mat--scale--result--class.html b/external/clem/doc/tinaa/clem-package/generic-efunction-compute--mat--scale--result--class.html deleted file mode 100644 index fa2838c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-compute--mat--scale--result--class.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Compute-Mat-Scale-Result-Class [Tinaa]

Generic Function Compute-Mat-Scale-Result-Class (6 methods)

( compute-mat-scale-result-class < m > < q > )

Part of:

package clem

Method Summary

compute-mat-scale-result-class < bit-matrix > < t > 
compute-mat-scale-result-class < double-float-matrix > < t > 
compute-mat-scale-result-class < integer-matrix > < t > 
compute-mat-scale-result-class < single-float-matrix > < t > 
compute-mat-scale-result-class < t-matrix > < t > 
compute-mat-scale-result-class < unsigned-byte-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-concat--matrix--cols.html b/external/clem/doc/tinaa/clem-package/generic-efunction-concat--matrix--cols.html deleted file mode 100644 index fb0e46f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-concat--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Concat-Matrix-Cols [Tinaa]

Generic Function Concat-Matrix-Cols (1 method)

( concat-matrix-cols < a > < b > &key < matrix-type > )

Part of:

package clem

Method Summary

concat-matrix-cols < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--affine--transformation.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--affine--transformation.html deleted file mode 100644 index 94d4875..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Copy-Affine-Transformation [Tinaa]

Generic Function Copy-Affine-Transformation (1 method)

( copy-affine-transformation < xfrm > )

Part of:

package clem

Method Summary

copy-affine-transformation < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--bit--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--bit--matrix.html deleted file mode 100644 index e56d4f6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--bit--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Bit-Matrix [Tinaa]

Generic Function Copy-To-Bit-Matrix (1 method)

( copy-to-bit-matrix < m > &key (constrain - t) )

Part of:

package clem

Method Summary

copy-to-bit-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--complex--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--complex--matrix.html deleted file mode 100644 index 001a8df..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--complex--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Complex-Matrix [Tinaa]

Generic Function Copy-To-Complex-Matrix (1 method)

( copy-to-complex-matrix < m > &key (constrain - t) )

Part of:

package clem

Method Summary

copy-to-complex-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--double--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--double--float--matrix.html deleted file mode 100644 index cdfc082..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--double--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Double-Float-Matrix [Tinaa]

Generic Function Copy-To-Double-Float-Matrix (1 method)

( copy-to-double-float-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-double-float-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--fixnum--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--fixnum--matrix.html deleted file mode 100644 index 91df721..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--fixnum--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Fixnum-Matrix [Tinaa]

Generic Function Copy-To-Fixnum-Matrix (1 method)

( copy-to-fixnum-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-fixnum-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb16--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb16--matrix.html deleted file mode 100644 index 6c35560..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Sb16-Matrix [Tinaa]

Generic Function Copy-To-Sb16-Matrix (1 method)

( copy-to-sb16-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-sb16-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb32--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb32--matrix.html deleted file mode 100644 index bc8e029..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Sb32-Matrix [Tinaa]

Generic Function Copy-To-Sb32-Matrix (1 method)

( copy-to-sb32-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-sb32-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb8--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb8--matrix.html deleted file mode 100644 index 31498e6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--sb8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Sb8-Matrix [Tinaa]

Generic Function Copy-To-Sb8-Matrix (1 method)

( copy-to-sb8-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-sb8-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--single--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--single--float--matrix.html deleted file mode 100644 index 69b113e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--single--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Single-Float-Matrix [Tinaa]

Generic Function Copy-To-Single-Float-Matrix (1 method)

( copy-to-single-float-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-single-float-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub16--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub16--matrix.html deleted file mode 100644 index b156947..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Ub16-Matrix [Tinaa]

Generic Function Copy-To-Ub16-Matrix (1 method)

( copy-to-ub16-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-ub16-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub32--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub32--matrix.html deleted file mode 100644 index dd58726..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Ub32-Matrix [Tinaa]

Generic Function Copy-To-Ub32-Matrix (1 method)

( copy-to-ub32-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-ub32-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub8--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub8--matrix.html deleted file mode 100644 index 3ecec78..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-copy--to--ub8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Ub8-Matrix [Tinaa]

Generic Function Copy-To-Ub8-Matrix (1 method)

( copy-to-ub8-matrix < m > &key (constrain - nil) )

Part of:

package clem

Method Summary

copy-to-ub8-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-cvref.html b/external/clem/doc/tinaa/clem-package/generic-efunction-cvref.html deleted file mode 100644 index c1835f9..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-cvref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Cvref [Tinaa]

Generic Function Cvref (1 method)

( cvref < cv > < i > )

Part of:

package clem

Method Summary

cvref < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-decf--affine--transformation.html b/external/clem/doc/tinaa/clem-package/generic-efunction-decf--affine--transformation.html deleted file mode 100644 index d74a5eb..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-decf--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Decf-Affine-Transformation [Tinaa]

Generic Function Decf-Affine-Transformation (1 method)

( decf-affine-transformation < src > < dest > )

Part of:

package clem

Method Summary

decf-affine-transformation < affine-transformation > < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-dilate--orig.html b/external/clem/doc/tinaa/clem-package/generic-efunction-dilate--orig.html deleted file mode 100644 index c6d5fd7..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-dilate--orig.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dilate-Orig [Tinaa]

Generic Function Dilate-Orig (1 method)

( dilate-orig < u > < r > )

Part of:

package clem

Method Summary

dilate-orig < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-dilate.html b/external/clem/doc/tinaa/clem-package/generic-efunction-dilate.html deleted file mode 100644 index eca69ae..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-dilate.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dilate [Tinaa]

Generic Function Dilate (1 method)

( dilate < u > < v > )

Part of:

package clem

Method Summary

dilate < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-dim.html b/external/clem/doc/tinaa/clem-package/generic-efunction-dim.html deleted file mode 100644 index 5ebfa6e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-dim.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dim [Tinaa]

Generic Function Dim (4 methods)

( dim < cv > )

Part of:

package clem
Returns a list containg the number of
elments in each dimension of the matrix.

Method Summary

dim < col-vector
dim < matrix
dim < row-vector
dim < scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-dim1.html b/external/clem/doc/tinaa/clem-package/generic-efunction-dim1.html deleted file mode 100644 index 4f79433..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-dim1.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dim1 [Tinaa]

Generic Function Dim1 (1 method)

( dim1 < m > < index > )

Part of:

package clem

Method Summary

dim1 < matrix > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-discrete--convolve.html b/external/clem/doc/tinaa/clem-package/generic-efunction-discrete--convolve.html deleted file mode 100644 index a857bd9..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-discrete--convolve.html +++ /dev/null @@ -1,4 +0,0 @@ -Generic Function Discrete-Convolve [Tinaa]

Generic Function Discrete-Convolve (6 methods)

( discrete-convolve < u > < v > &key (matrix-class - 'ub8-matrix) (norm-v - t) (truncate - nil) )

Part of:

package clem

Method Summary

discrete-convolve < double-float-matrix > < double-float-matrix
discrete-convolve < matrix > < matrix
discrete-convolve < single-float-matrix > < single-float-matrix
discrete-convolve < ub8-matrix > < double-float-matrix
discrete-convolve < ub8-matrix > < single-float-matrix
discrete-convolve < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-element--type.html b/external/clem/doc/tinaa/clem-package/generic-efunction-element--type.html deleted file mode 100644 index 2da7f14..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-element--type.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Element-Type [Tinaa]

Generic Function Element-Type (1 method)

( element-type < smc > )

Part of:

package clem
the type of the elements of instances
of this matrix class

Method Summary

element-type < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-erode--orig.html b/external/clem/doc/tinaa/clem-package/generic-efunction-erode--orig.html deleted file mode 100644 index b74e852..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-erode--orig.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Erode-Orig [Tinaa]

Generic Function Erode-Orig (1 method)

( erode-orig < u > < r > )

Part of:

package clem

Method Summary

erode-orig < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-erode.html b/external/clem/doc/tinaa/clem-package/generic-efunction-erode.html deleted file mode 100644 index 020665b..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-erode.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Erode [Tinaa]

Generic Function Erode (1 method)

( erode < u > < v > )

Part of:

package clem

Method Summary

erode < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-fit--value.html b/external/clem/doc/tinaa/clem-package/generic-efunction-fit--value.html deleted file mode 100644 index 83a5148..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-fit--value.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Fit-Value [Tinaa]

Generic Function Fit-Value (1 method)

( fit-value < val > < m > )

Part of:

package clem

Method Summary

fit-value < t > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-fit.html b/external/clem/doc/tinaa/clem-package/generic-efunction-fit.html deleted file mode 100644 index 6819923..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-fit.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Fit [Tinaa]

Generic Function Fit (18 methods)

( fit < m > < v > )

Part of:

package clem

Method Summary

fit < bit-matrix > < t > 
fit < complex-matrix > < t > 
fit < double-float-matrix > < t > 
fit < fixnum-matrix > < t > 
fit < float-matrix > < t > 
fit < integer-matrix > < t > 
fit < matrix > < t > 
fit < number-matrix > < t > 
fit < real-matrix > < t > 
fit < sb16-matrix > < t > 
fit < sb32-matrix > < t > 
fit < sb8-matrix > < t > 
fit < single-float-matrix > < t > 
fit < t-matrix > < t > 
fit < ub16-matrix > < t > 
fit < ub32-matrix > < t > 
fit < ub8-matrix > < t > 
fit < unsigned-byte-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-get--col--list.html b/external/clem/doc/tinaa/clem-package/generic-efunction-get--col--list.html deleted file mode 100644 index f9407ed..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-get--col--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Get-Col-List [Tinaa]

Generic Function Get-Col-List (1 method)

( get-col-list < m > < c > &optional (start - 0) )

Part of:

package clem

Method Summary

get-col-list < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-get--col--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-get--col--vector.html deleted file mode 100644 index bd8cddc..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-get--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Get-Col-Vector [Tinaa]

Generic Function Get-Col-Vector (1 method)

( get-col-vector < m > < r > )

Part of:

package clem

Method Summary

get-col-vector < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-get--first--non--zero--row--in--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-get--first--non--zero--row--in--col.html deleted file mode 100644 index d307103..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-get--first--non--zero--row--in--col.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Get-First-Non-Zero-Row-In-Col [Tinaa]

Generic Function Get-First-Non-Zero-Row-In-Col (1 method)

( get-first-non-zero-row-in-col < a > < j > &optional (start - 0) )

Part of:

package clem

Method Summary

get-first-non-zero-row-in-col < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--as--col--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--as--col--vector.html deleted file mode 100644 index 5fe133b..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--as--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Get-Row-As-Col-Vector [Tinaa]

Generic Function Get-Row-As-Col-Vector (1 method)

( get-row-as-col-vector < m > < r > )

Part of:

package clem

Method Summary

get-row-as-col-vector < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--list.html b/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--list.html deleted file mode 100644 index 8171a76..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Get-Row-List [Tinaa]

Generic Function Get-Row-List (1 method)

( get-row-list < m > < r > &optional (start - 0) )

Part of:

package clem

Method Summary

get-row-list < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--vector.html deleted file mode 100644 index 11fc808..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-get--row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Get-Row-Vector [Tinaa]

Generic Function Get-Row-Vector (1 method)

( get-row-vector < m > < r > )

Part of:

package clem

Method Summary

get-row-vector < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-horzcat.html b/external/clem/doc/tinaa/clem-package/generic-efunction-horzcat.html deleted file mode 100644 index 14c2a49..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-horzcat.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Horzcat [Tinaa]

Generic Function Horzcat (1 method)

( horzcat < m1 > &rest < mr > )

Part of:

package clem

Method Summary

horzcat < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-identity--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-identity--matrix.html deleted file mode 100644 index 597a348..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-identity--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Identity-Matrix [Tinaa]

Generic Function Identity-Matrix (1 method)

( identity-matrix < k > &key (matrix-class - 'matrix) )

Part of:

package clem

Method Summary

identity-matrix < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-invert--affine--transformation.html b/external/clem/doc/tinaa/clem-package/generic-efunction-invert--affine--transformation.html deleted file mode 100644 index d66407d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-invert--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Invert-Affine-Transformation [Tinaa]

Generic Function Invert-Affine-Transformation (1 method)

( invert-affine-transformation < xfrm > )

Part of:

package clem

Method Summary

invert-affine-transformation < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-invert--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-invert--matrix.html deleted file mode 100644 index 1b7c228..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-invert--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Invert-Matrix [Tinaa]

Generic Function Invert-Matrix (1 method)

( invert-matrix < a > )

Part of:

package clem

Method Summary

invert-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-m+.html b/external/clem/doc/tinaa/clem-package/generic-efunction-m+.html deleted file mode 100644 index fbd2dd6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-m+.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M+ [Tinaa]

Generic Function M+ (1 method)

( m+ &rest < matrices > )

Part of:

package clem
Element-wise addition of matrices. All matrices
must be of the same dimensions. Returns a matrix of the same size as
each matrix in matrices, whoses elements are the some of the
corresponding elements from each matrix in matrices.

Method Summary

m+
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-m--.html b/external/clem/doc/tinaa/clem-package/generic-efunction-m--.html deleted file mode 100644 index 31a91bf..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-m--.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M- [Tinaa]

Generic Function M- (1 method)

( m- &rest < matrices > )

Part of:

package clem
When passed a single matrix, returns a new
matrix of the same dimensions as matrix whose elemnts are the
result of perforing a unary minus (or sign inversion) on each
element in the matrix. When passed more than one matrix,
performs element-wise subtraction of each matrix after the
first from the first matrix and returns a new matrix containing
these values.

Method Summary

m-
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-m-c.html b/external/clem/doc/tinaa/clem-package/generic-efunction-m-c.html deleted file mode 100644 index 3ee0f79..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-m-c.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M* [Tinaa]

Generic Function M* (1 method)

( m* &rest < matrices > )

Part of:

package clem
General purpose matrix multiplication
operator. If one argument is supplied, returns that matrix. If
two arguments are supplied, if both are matrices, performs a
matrix multiplication equivalent to multiplying the first
matrix by the second matrix. if one argument is a matrix and
the other a number, m* scales the matrix by the numeric
argument. If more than two arguments are supplied, the first
two arguments are treated as in the two argument case and the
results are then multiplied by the remaining arguments such
that (m* m1 m2 m3) == (m* (m* m1 m2) m3).

Method Summary

m*
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-m-i-c.html b/external/clem/doc/tinaa/clem-package/generic-efunction-m-i-c.html deleted file mode 100644 index 64b0854..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-m-i-c.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M.* [Tinaa]

Generic Function M.* (1 method)

( m.* &rest < matrices > )

Part of:

package clem
Hadamard multiplication operator. Performs an
element-wise multiplication of the elements in each matrix.

Method Summary

m.*
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mabs.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mabs.html deleted file mode 100644 index c6e6ec1..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mabs.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mabs [Tinaa]

Generic Function Mabs (1 method)

( mabs < u > )

Part of:

package clem

Method Summary

mabs < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--col.html deleted file mode 100644 index 2e3e74e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Col [Tinaa]

Generic Function Map-Col (1 method)

( map-col < a > < k > < f > )

Part of:

package clem

Method Summary

map-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--copy.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--copy.html deleted file mode 100644 index b9a03d9..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--copy.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Map-Matrix-Copy [Tinaa]

Generic Function Map-Matrix-Copy (1 method)

( map-matrix-copy < a > < f > &key (matrix-class - (class-of - a)) )

Part of:

package clem

Method Summary

map-matrix-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--fit.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--fit.html deleted file mode 100644 index ec4146d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--matrix--fit.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Matrix-Fit [Tinaa]

Generic Function Map-Matrix-Fit (2 methods)

( map-matrix-fit < f > < a > )

Part of:

package clem

Method Summary

map-matrix-fit < t > < typed-matrix
map-matrix-fit < t > < typed-mixin
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--range.html deleted file mode 100644 index 43606ca..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Range [Tinaa]

Generic Function Map-Range (1 method)

( map-range < a > < startr > < endr > < startc > < endc > < f > )

Part of:

package clem

Method Summary

map-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--row.html deleted file mode 100644 index de01421..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Row [Tinaa]

Generic Function Map-Row (1 method)

( map-row < a > < k > < f > )

Part of:

package clem

Method Summary

map-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--range.html deleted file mode 100644 index bfecbcc..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Set-Range [Tinaa]

Generic Function Map-Set-Range (1 method)

( map-set-range < a > < startr > < endr > < startc > < endc > < f > )

Part of:

package clem

Method Summary

map-set-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--copy.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--copy.html deleted file mode 100644 index 199f226..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Set-Val-Copy [Tinaa]

Generic Function Map-Set-Val-Copy (1 method)

( map-set-val-copy < a > < f > )

Part of:

package clem

Method Summary

map-set-val-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--fit.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--fit.html deleted file mode 100644 index 9450604..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Map-Set-Val-Fit [Tinaa]

Generic Function Map-Set-Val-Fit (1 method)

( map-set-val-fit < a > < f > &key (truncate - t) )

Part of:

package clem

Method Summary

map-set-val-fit < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val.html deleted file mode 100644 index 3ace550..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-map--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Set-Val [Tinaa]

Generic Function Map-Set-Val (18 methods)

( map-set-val < m > < f > )

Part of:

package clem

Method Summary

map-set-val < bit-matrix > < t > 
map-set-val < complex-matrix > < t > 
map-set-val < double-float-matrix > < t > 
map-set-val < fixnum-matrix > < t > 
map-set-val < float-matrix > < t > 
map-set-val < integer-matrix > < t > 
map-set-val < matrix > < t > 
map-set-val < number-matrix > < t > 
map-set-val < real-matrix > < t > 
map-set-val < sb16-matrix > < t > 
map-set-val < sb32-matrix > < t > 
map-set-val < sb8-matrix > < t > 
map-set-val < single-float-matrix > < t > 
map-set-val < t-matrix > < t > 
map-set-val < ub16-matrix > < t > 
map-set-val < ub32-matrix > < t > 
map-set-val < ub8-matrix > < t > 
map-set-val < unsigned-byte-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs!.html deleted file mode 100644 index d50c8ac..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs! [Tinaa]

Generic Function Mat-Abs! (5 methods)

( mat-abs! < m > )

Part of:

package clem

Method Summary

mat-abs! < bit-matrix
mat-abs! < double-float-matrix
mat-abs! < integer-matrix
mat-abs! < single-float-matrix
mat-abs! < t-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range!.html deleted file mode 100644 index 8eee1a1..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs-Range! [Tinaa]

Generic Function Mat-Abs-Range! (5 methods)

( mat-abs-range! < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-abs-range! < bit-matrix > < t > < t > < t > < t > 
mat-abs-range! < double-float-matrix > < t > < t > < t > < t > 
mat-abs-range! < integer-matrix > < t > < t > < t > < t > 
mat-abs-range! < single-float-matrix > < t > < t > < t > < t > 
mat-abs-range! < t-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range.html deleted file mode 100644 index 3f7f691..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs-Range [Tinaa]

Generic Function Mat-Abs-Range (15 methods)

( mat-abs-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-abs-range < bit-matrix > < t > < t > < t > < t > 
mat-abs-range < complex-matrix > < t > < t > < t > < t > 
mat-abs-range < double-float-matrix > < t > < t > < t > < t > 
mat-abs-range < fixnum-matrix > < t > < t > < t > < t > 
mat-abs-range < integer-matrix > < t > < t > < t > < t > 
mat-abs-range < number-matrix > < t > < t > < t > < t > 
mat-abs-range < real-matrix > < t > < t > < t > < t > 
mat-abs-range < sb16-matrix > < t > < t > < t > < t > 
mat-abs-range < sb32-matrix > < t > < t > < t > < t > 
mat-abs-range < sb8-matrix > < t > < t > < t > < t > 
mat-abs-range < single-float-matrix > < t > < t > < t > < t > 
mat-abs-range < t-matrix > < t > < t > < t > < t > 
mat-abs-range < ub16-matrix > < t > < t > < t > < t > 
mat-abs-range < ub32-matrix > < t > < t > < t > < t > 
mat-abs-range < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs.html deleted file mode 100644 index 18a7139..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--abs.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs [Tinaa]

Generic Function Mat-Abs (15 methods)

( mat-abs < m > )

Part of:

package clem

Method Summary

mat-abs < bit-matrix
mat-abs < complex-matrix
mat-abs < double-float-matrix
mat-abs < fixnum-matrix
mat-abs < integer-matrix
mat-abs < number-matrix
mat-abs < real-matrix
mat-abs < sb16-matrix
mat-abs < sb32-matrix
mat-abs < sb8-matrix
mat-abs < single-float-matrix
mat-abs < t-matrix
mat-abs < ub16-matrix
mat-abs < ub32-matrix
mat-abs < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add!.html deleted file mode 100644 index bd3b666..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add! [Tinaa]

Generic Function Mat-Add! (46 methods)

( mat-add! < m > < n > )

Part of:

package clem

Method Summary

mat-add! < complex-matrix > < complex-matrix
mat-add! < complex-matrix > < integer-matrix
mat-add! < complex-matrix > < real-matrix
mat-add! < double-float-matrix > < bit-matrix
mat-add! < double-float-matrix > < double-float > 
mat-add! < double-float-matrix > < double-float-matrix
mat-add! < double-float-matrix > < fixnum-matrix
mat-add! < double-float-matrix > < integer > 
mat-add! < double-float-matrix > < sb16-matrix
mat-add! < double-float-matrix > < sb32-matrix
mat-add! < double-float-matrix > < sb8-matrix
mat-add! < double-float-matrix > < single-float > 
mat-add! < double-float-matrix > < single-float-matrix
mat-add! < double-float-matrix > < ub16-matrix
mat-add! < double-float-matrix > < ub32-matrix
mat-add! < double-float-matrix > < ub8-matrix
mat-add! < integer-matrix > < integer > 
mat-add! < integer-matrix > < integer-matrix
mat-add! < real-matrix > < double-float-matrix
mat-add! < real-matrix > < integer-matrix
mat-add! < real-matrix > < real-matrix
mat-add! < real-matrix > < single-float-matrix
mat-add! < sb16-matrix > < bit-matrix
mat-add! < sb32-matrix > < bit-matrix
mat-add! < sb32-matrix > < ub16-matrix
mat-add! < sb32-matrix > < ub8-matrix
mat-add! < sb8-matrix > < bit-matrix
mat-add! < single-float-matrix > < bit-matrix
mat-add! < single-float-matrix > < fixnum-matrix
mat-add! < single-float-matrix > < sb16-matrix
mat-add! < single-float-matrix > < sb32-matrix
mat-add! < single-float-matrix > < sb8-matrix
mat-add! < single-float-matrix > < single-float-matrix
mat-add! < single-float-matrix > < ub16-matrix
mat-add! < single-float-matrix > < ub32-matrix
mat-add! < single-float-matrix > < ub8-matrix
mat-add! < ub16-matrix > < bit-matrix
mat-add! < ub16-matrix > < ub16-matrix
mat-add! < ub32-matrix > < bit-matrix
mat-add! < ub32-matrix > < ub32-matrix
mat-add! < ub32-matrix > < ub8-matrix
mat-add! < ub8-matrix > < bit-matrix
mat-add! < ub8-matrix > < bit-scalar
mat-add! < ub8-matrix > < sb8-scalar
mat-add! < ub8-matrix > < ub8-matrix
mat-add! < ub8-matrix > < ub8-scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range!.html deleted file mode 100644 index 49b2fd6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add-Range! [Tinaa]

Generic Function Mat-Add-Range! (46 methods)

( mat-add-range! < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-add-range! < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-add-range! < complex-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range! < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < double-float > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < integer > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < single-float > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < integer-matrix > < integer > < t > < t > < t > < t > 
mat-add-range! < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range! < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range! < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < bit-scalar > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < sb8-scalar > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < ub8-scalar > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range.html deleted file mode 100644 index 237cd78..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add-Range [Tinaa]

Generic Function Mat-Add-Range (71 methods)

( mat-add-range < m > < n > < startr > < endr > < startc > < endc > &key < in-place > )

Part of:

package clem

Method Summary

mat-add-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < bit-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < bit-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-add-range < complex-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < double-float > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < integer > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < single-float > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < integer-matrix > < integer > < t > < t > < t > < t > 
mat-add-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < bit-scalar > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < double-float > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < integer > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < sb8-scalar > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < single-float > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < ub8-scalar > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add.html deleted file mode 100644 index 6e7ec3a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--add.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add [Tinaa]

Generic Function Mat-Add (73 methods)

( mat-add < m > < n > &key < in-place > )

Part of:

package clem

Method Summary

mat-add < affine-transformation > < affine-transformation
mat-add < bit-matrix > < bit-matrix
mat-add < bit-matrix > < double-float-matrix
mat-add < bit-matrix > < single-float-matrix
mat-add < complex-matrix > < complex-matrix
mat-add < complex-matrix > < integer-matrix
mat-add < complex-matrix > < real-matrix
mat-add < double-float-matrix > < bit-matrix
mat-add < double-float-matrix > < double-float > 
mat-add < double-float-matrix > < double-float-matrix
mat-add < double-float-matrix > < fixnum-matrix
mat-add < double-float-matrix > < integer > 
mat-add < double-float-matrix > < sb16-matrix
mat-add < double-float-matrix > < sb32-matrix
mat-add < double-float-matrix > < sb8-matrix
mat-add < double-float-matrix > < single-float > 
mat-add < double-float-matrix > < single-float-matrix
mat-add < double-float-matrix > < ub16-matrix
mat-add < double-float-matrix > < ub32-matrix
mat-add < double-float-matrix > < ub8-matrix
mat-add < fixnum-matrix > < double-float-matrix
mat-add < fixnum-matrix > < single-float-matrix
mat-add < integer-matrix > < integer > 
mat-add < integer-matrix > < integer-matrix
mat-add < matrix > < matrix
mat-add < real-matrix > < double-float-matrix
mat-add < real-matrix > < integer-matrix
mat-add < real-matrix > < real-matrix
mat-add < real-matrix > < single-float-matrix
mat-add < sb16-matrix > < bit-matrix
mat-add < sb16-matrix > < double-float-matrix
mat-add < sb16-matrix > < sb16-matrix
mat-add < sb16-matrix > < single-float-matrix
mat-add < sb32-matrix > < bit-matrix
mat-add < sb32-matrix > < double-float-matrix
mat-add < sb32-matrix > < sb32-matrix
mat-add < sb32-matrix > < sb8-matrix
mat-add < sb32-matrix > < single-float-matrix
mat-add < sb32-matrix > < ub16-matrix
mat-add < sb32-matrix > < ub8-matrix
mat-add < sb8-matrix > < bit-matrix
mat-add < sb8-matrix > < double-float-matrix
mat-add < sb8-matrix > < sb8-matrix
mat-add < sb8-matrix > < single-float-matrix
mat-add < single-float-matrix > < bit-matrix
mat-add < single-float-matrix > < double-float-matrix
mat-add < single-float-matrix > < fixnum-matrix
mat-add < single-float-matrix > < sb16-matrix
mat-add < single-float-matrix > < sb32-matrix
mat-add < single-float-matrix > < sb8-matrix
mat-add < single-float-matrix > < single-float-matrix
mat-add < single-float-matrix > < ub16-matrix
mat-add < single-float-matrix > < ub32-matrix
mat-add < single-float-matrix > < ub8-matrix
mat-add < ub16-matrix > < bit-matrix
mat-add < ub16-matrix > < double-float-matrix
mat-add < ub16-matrix > < single-float-matrix
mat-add < ub16-matrix > < ub16-matrix
mat-add < ub32-matrix > < bit-matrix
mat-add < ub32-matrix > < double-float-matrix
mat-add < ub32-matrix > < single-float-matrix
mat-add < ub32-matrix > < ub32-matrix
mat-add < ub32-matrix > < ub8-matrix
mat-add < ub8-matrix > < bit-matrix
mat-add < ub8-matrix > < bit-scalar
mat-add < ub8-matrix > < double-float > 
mat-add < ub8-matrix > < double-float-matrix
mat-add < ub8-matrix > < integer > 
mat-add < ub8-matrix > < sb8-scalar
mat-add < ub8-matrix > < single-float > 
mat-add < ub8-matrix > < single-float-matrix
mat-add < ub8-matrix > < ub8-matrix
mat-add < ub8-matrix > < ub8-scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--into.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--into.html deleted file mode 100644 index ecff78a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--into.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Copy-Into [Tinaa]

Generic Function Mat-Copy-Into (1 method)

( mat-copy-into < a > < c > &key < truncate > < constrain > )

Part of:

package clem

Method Summary

mat-copy-into < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto--dim.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto--dim.html deleted file mode 100644 index 0207bb5..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto--dim.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Mat-Copy-Proto-Dim [Tinaa]

Generic Function Mat-Copy-Proto-Dim (1 method)

( mat-copy-proto-dim < a > < m > < n > &key (initial-element - nil - initial-element-supplied-p) )

Part of:

package clem

Method Summary

mat-copy-proto-dim < matrix > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto.html deleted file mode 100644 index 3b55a92..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy--proto.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Copy-Proto [Tinaa]

Generic Function Mat-Copy-Proto (1 method)

( mat-copy-proto < a > )

Part of:

package clem

Method Summary

mat-copy-proto < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy.html deleted file mode 100644 index 6688ecf..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Copy [Tinaa]

Generic Function Mat-Copy (1 method)

( mat-copy < a > &rest < args > )

Part of:

package clem

Method Summary

mat-copy < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal--range.html deleted file mode 100644 index 3892567..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Equal-Range [Tinaa]

Generic Function Mat-Equal-Range (12 methods)

( mat-equal-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-equal-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-equal-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-equal-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-equal-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-equal-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-equal-range < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-equal-range < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-equal-range < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-equal-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-equal-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-equal-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-equal-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal.html deleted file mode 100644 index b4fb270..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--equal.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Equal [Tinaa]

Generic Function Mat-Equal (12 methods)

( mat-equal < m > < n > )

Part of:

package clem

Method Summary

mat-equal < bit-matrix > < bit-matrix
mat-equal < complex-matrix > < complex-matrix
mat-equal < double-float-matrix > < double-float-matrix
mat-equal < integer-matrix > < integer-matrix
mat-equal < real-matrix > < real-matrix
mat-equal < sb16-matrix > < sb16-matrix
mat-equal < sb32-matrix > < sb32-matrix
mat-equal < sb8-matrix > < sb8-matrix
mat-equal < single-float-matrix > < single-float-matrix
mat-equal < ub16-matrix > < ub16-matrix
mat-equal < ub32-matrix > < ub32-matrix
mat-equal < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod!.html deleted file mode 100644 index 96f7d1a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod! [Tinaa]

Generic Function Mat-Hprod! (63 methods)

( mat-hprod! < m > < n > )

Part of:

package clem

Method Summary

mat-hprod! < bit-matrix > < bit-matrix
mat-hprod! < complex-matrix > < bit-matrix
mat-hprod! < complex-matrix > < complex-matrix
mat-hprod! < complex-matrix > < double-float-matrix
mat-hprod! < complex-matrix > < number-matrix
mat-hprod! < complex-matrix > < real-matrix
mat-hprod! < complex-matrix > < sb16-matrix
mat-hprod! < complex-matrix > < sb32-matrix
mat-hprod! < complex-matrix > < sb8-matrix
mat-hprod! < complex-matrix > < single-float-matrix
mat-hprod! < complex-matrix > < ub16-matrix
mat-hprod! < complex-matrix > < ub32-matrix
mat-hprod! < complex-matrix > < ub8-matrix
mat-hprod! < double-float-matrix > < bit-matrix
mat-hprod! < double-float-matrix > < double-float-matrix
mat-hprod! < double-float-matrix > < fixnum-matrix
mat-hprod! < double-float-matrix > < sb16-matrix
mat-hprod! < double-float-matrix > < sb32-matrix
mat-hprod! < double-float-matrix > < sb8-matrix
mat-hprod! < double-float-matrix > < single-float-matrix
mat-hprod! < double-float-matrix > < ub16-matrix
mat-hprod! < double-float-matrix > < ub32-matrix
mat-hprod! < double-float-matrix > < ub8-matrix
mat-hprod! < fixnum-matrix > < bit-matrix
mat-hprod! < fixnum-matrix > < fixnum-matrix
mat-hprod! < real-matrix > < bit-matrix
mat-hprod! < real-matrix > < double-float-matrix
mat-hprod! < real-matrix > < number-matrix
mat-hprod! < real-matrix > < real-matrix
mat-hprod! < real-matrix > < sb16-matrix
mat-hprod! < real-matrix > < sb32-matrix
mat-hprod! < real-matrix > < sb8-matrix
mat-hprod! < real-matrix > < single-float-matrix
mat-hprod! < real-matrix > < ub16-matrix
mat-hprod! < real-matrix > < ub32-matrix
mat-hprod! < real-matrix > < ub8-matrix
mat-hprod! < sb16-matrix > < bit-matrix
mat-hprod! < sb16-matrix > < sb16-matrix
mat-hprod! < sb16-matrix > < sb8-matrix
mat-hprod! < sb32-matrix > < bit-matrix
mat-hprod! < sb32-matrix > < sb16-matrix
mat-hprod! < sb32-matrix > < sb32-matrix
mat-hprod! < sb32-matrix > < sb8-matrix
mat-hprod! < sb8-matrix > < bit-matrix
mat-hprod! < sb8-matrix > < sb8-matrix
mat-hprod! < single-float-matrix > < bit-matrix
mat-hprod! < single-float-matrix > < fixnum-matrix
mat-hprod! < single-float-matrix > < sb16-matrix
mat-hprod! < single-float-matrix > < sb32-matrix
mat-hprod! < single-float-matrix > < sb8-matrix
mat-hprod! < single-float-matrix > < single-float-matrix
mat-hprod! < single-float-matrix > < ub16-matrix
mat-hprod! < single-float-matrix > < ub32-matrix
mat-hprod! < single-float-matrix > < ub8-matrix
mat-hprod! < ub16-matrix > < bit-matrix
mat-hprod! < ub16-matrix > < ub16-matrix
mat-hprod! < ub16-matrix > < ub8-matrix
mat-hprod! < ub32-matrix > < bit-matrix
mat-hprod! < ub32-matrix > < ub16-matrix
mat-hprod! < ub32-matrix > < ub32-matrix
mat-hprod! < ub32-matrix > < ub8-matrix
mat-hprod! < ub8-matrix > < bit-matrix
mat-hprod! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range!.html deleted file mode 100644 index 95a1130..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod-Range! [Tinaa]

Generic Function Mat-Hprod-Range! (63 methods)

( mat-hprod-range! < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-hprod-range! < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < fixnum-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < fixnum-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb16-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub16-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range.html deleted file mode 100644 index 30314ca..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod-Range [Tinaa]

Generic Function Mat-Hprod-Range (63 methods)

( mat-hprod-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-hprod-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < fixnum-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < fixnum-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb16-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub16-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod.html deleted file mode 100644 index 96b9603..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod [Tinaa]

Generic Function Mat-Hprod (64 methods)

( mat-hprod < m > < n > )

Part of:

package clem

Method Summary

mat-hprod < affine-transformation > < t > 
mat-hprod < bit-matrix > < bit-matrix
mat-hprod < complex-matrix > < bit-matrix
mat-hprod < complex-matrix > < complex-matrix
mat-hprod < complex-matrix > < double-float-matrix
mat-hprod < complex-matrix > < number-matrix
mat-hprod < complex-matrix > < real-matrix
mat-hprod < complex-matrix > < sb16-matrix
mat-hprod < complex-matrix > < sb32-matrix
mat-hprod < complex-matrix > < sb8-matrix
mat-hprod < complex-matrix > < single-float-matrix
mat-hprod < complex-matrix > < ub16-matrix
mat-hprod < complex-matrix > < ub32-matrix
mat-hprod < complex-matrix > < ub8-matrix
mat-hprod < double-float-matrix > < bit-matrix
mat-hprod < double-float-matrix > < double-float-matrix
mat-hprod < double-float-matrix > < fixnum-matrix
mat-hprod < double-float-matrix > < sb16-matrix
mat-hprod < double-float-matrix > < sb32-matrix
mat-hprod < double-float-matrix > < sb8-matrix
mat-hprod < double-float-matrix > < single-float-matrix
mat-hprod < double-float-matrix > < ub16-matrix
mat-hprod < double-float-matrix > < ub32-matrix
mat-hprod < double-float-matrix > < ub8-matrix
mat-hprod < fixnum-matrix > < bit-matrix
mat-hprod < fixnum-matrix > < fixnum-matrix
mat-hprod < real-matrix > < bit-matrix
mat-hprod < real-matrix > < double-float-matrix
mat-hprod < real-matrix > < number-matrix
mat-hprod < real-matrix > < real-matrix
mat-hprod < real-matrix > < sb16-matrix
mat-hprod < real-matrix > < sb32-matrix
mat-hprod < real-matrix > < sb8-matrix
mat-hprod < real-matrix > < single-float-matrix
mat-hprod < real-matrix > < ub16-matrix
mat-hprod < real-matrix > < ub32-matrix
mat-hprod < real-matrix > < ub8-matrix
mat-hprod < sb16-matrix > < bit-matrix
mat-hprod < sb16-matrix > < sb16-matrix
mat-hprod < sb16-matrix > < sb8-matrix
mat-hprod < sb32-matrix > < bit-matrix
mat-hprod < sb32-matrix > < sb16-matrix
mat-hprod < sb32-matrix > < sb32-matrix
mat-hprod < sb32-matrix > < sb8-matrix
mat-hprod < sb8-matrix > < bit-matrix
mat-hprod < sb8-matrix > < sb8-matrix
mat-hprod < single-float-matrix > < bit-matrix
mat-hprod < single-float-matrix > < fixnum-matrix
mat-hprod < single-float-matrix > < sb16-matrix
mat-hprod < single-float-matrix > < sb32-matrix
mat-hprod < single-float-matrix > < sb8-matrix
mat-hprod < single-float-matrix > < single-float-matrix
mat-hprod < single-float-matrix > < ub16-matrix
mat-hprod < single-float-matrix > < ub32-matrix
mat-hprod < single-float-matrix > < ub8-matrix
mat-hprod < ub16-matrix > < bit-matrix
mat-hprod < ub16-matrix > < ub16-matrix
mat-hprod < ub16-matrix > < ub8-matrix
mat-hprod < ub32-matrix > < bit-matrix
mat-hprod < ub32-matrix > < ub16-matrix
mat-hprod < ub32-matrix > < ub32-matrix
mat-hprod < ub32-matrix > < ub8-matrix
mat-hprod < ub8-matrix > < bit-matrix
mat-hprod < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log!.html deleted file mode 100644 index 20a1c2a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log! [Tinaa]

Generic Function Mat-Log! (5 methods)

( mat-log! < m > &optional < base > )

Part of:

package clem

Method Summary

mat-log! < complex-matrix
mat-log! < double-float-matrix
mat-log! < number-matrix
mat-log! < single-float-matrix
mat-log! < t-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range!.html deleted file mode 100644 index c37725b..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log-Range! [Tinaa]

Generic Function Mat-Log-Range! (5 methods)

( mat-log-range! < m > < startr > < endr > < startc > < endc > &optional < base > )

Part of:

package clem

Method Summary

mat-log-range! < complex-matrix > < t > < t > < t > < t > 
mat-log-range! < double-float-matrix > < t > < t > < t > < t > 
mat-log-range! < number-matrix > < t > < t > < t > < t > 
mat-log-range! < single-float-matrix > < t > < t > < t > < t > 
mat-log-range! < t-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range.html deleted file mode 100644 index fe0af01..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log-Range [Tinaa]

Generic Function Mat-Log-Range (15 methods)

( mat-log-range < m > < startr > < endr > < startc > < endc > &optional < base > )

Part of:

package clem

Method Summary

mat-log-range < bit-matrix > < t > < t > < t > < t > 
mat-log-range < complex-matrix > < t > < t > < t > < t > 
mat-log-range < double-float-matrix > < t > < t > < t > < t > 
mat-log-range < fixnum-matrix > < t > < t > < t > < t > 
mat-log-range < integer-matrix > < t > < t > < t > < t > 
mat-log-range < number-matrix > < t > < t > < t > < t > 
mat-log-range < real-matrix > < t > < t > < t > < t > 
mat-log-range < sb16-matrix > < t > < t > < t > < t > 
mat-log-range < sb32-matrix > < t > < t > < t > < t > 
mat-log-range < sb8-matrix > < t > < t > < t > < t > 
mat-log-range < single-float-matrix > < t > < t > < t > < t > 
mat-log-range < t-matrix > < t > < t > < t > < t > 
mat-log-range < ub16-matrix > < t > < t > < t > < t > 
mat-log-range < ub32-matrix > < t > < t > < t > < t > 
mat-log-range < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log.html deleted file mode 100644 index 792be70..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--log.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log [Tinaa]

Generic Function Mat-Log (16 methods)

( mat-log < m > &optional < base > )

Part of:

package clem

Method Summary

mat-log < bit-matrix
mat-log < complex-matrix
mat-log < double-float-matrix
mat-log < fixnum-matrix
mat-log < integer-matrix
mat-log < matrix
mat-log < number-matrix
mat-log < real-matrix
mat-log < sb16-matrix
mat-log < sb32-matrix
mat-log < sb8-matrix
mat-log < single-float-matrix
mat-log < t-matrix
mat-log < ub16-matrix
mat-log < ub32-matrix
mat-log < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult--3--block.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult--3--block.html deleted file mode 100644 index cde7fb1..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult--3--block.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Mult-3-Block [Tinaa]

Generic Function Mat-Mult-3-Block (2 methods)

( mat-mult-3-block < m > < n > < p > )

Part of:

package clem

Method Summary

mat-mult-3-block < double-float-matrix > < double-float-matrix > < double-float-matrix
mat-mult-3-block < single-float-matrix > < single-float-matrix > < single-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult.html deleted file mode 100644 index 1efba33..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Mult [Tinaa]

Generic Function Mat-Mult (12 methods)

( mat-mult < m > < n > )

Part of:

package clem

Method Summary

mat-mult < affine-transformation > < t > 
mat-mult < bit-matrix > < bit-matrix
mat-mult < double-float-matrix > < double-float-matrix
mat-mult < fixnum-matrix > < fixnum-matrix
mat-mult < matrix > < matrix
mat-mult < sb16-matrix > < sb16-matrix
mat-mult < sb32-matrix > < sb32-matrix
mat-mult < sb8-matrix > < sb8-matrix
mat-mult < single-float-matrix > < single-float-matrix
mat-mult < ub16-matrix > < ub16-matrix
mat-mult < ub32-matrix > < ub32-matrix
mat-mult < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult3.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult3.html deleted file mode 100644 index 8952f2c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--mult3.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Mult3 [Tinaa]

Generic Function Mat-Mult3 (10 methods)

( mat-mult3 < m > < n > < p > )

Part of:

package clem

Method Summary

mat-mult3 < bit-matrix > < bit-matrix > < bit-matrix
mat-mult3 < double-float-matrix > < double-float-matrix > < double-float-matrix
mat-mult3 < fixnum-matrix > < fixnum-matrix > < fixnum-matrix
mat-mult3 < sb16-matrix > < sb16-matrix > < sb32-matrix
mat-mult3 < sb32-matrix > < sb32-matrix > < sb32-matrix
mat-mult3 < sb8-matrix > < sb8-matrix > < sb32-matrix
mat-mult3 < single-float-matrix > < single-float-matrix > < single-float-matrix
mat-mult3 < ub16-matrix > < ub16-matrix > < ub16-matrix
mat-mult3 < ub32-matrix > < ub32-matrix > < ub32-matrix
mat-mult3 < ub8-matrix > < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scalar--op.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scalar--op.html deleted file mode 100644 index fd7eb9d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scalar--op.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scalar-Op [Tinaa]

Generic Function Mat-Scalar-Op (3 methods)

( mat-scalar-op < a > < b > < op > )

Part of:

package clem

Method Summary

mat-scalar-op < matrix > < matrix > < t > 
mat-scalar-op < matrix > < number > < t > 
mat-scalar-op < number > < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale!.html deleted file mode 100644 index e369471..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale! [Tinaa]

Generic Function Mat-Scale! (14 methods)

( mat-scale! < m > < q > )

Part of:

package clem

Method Summary

mat-scale! < bit-matrix > < t > 
mat-scale! < complex-matrix > < t > 
mat-scale! < double-float-matrix > < t > 
mat-scale! < fixnum-matrix > < t > 
mat-scale! < integer-matrix > < t > 
mat-scale! < real-matrix > < t > 
mat-scale! < sb16-matrix > < t > 
mat-scale! < sb32-matrix > < t > 
mat-scale! < sb8-matrix > < t > 
mat-scale! < single-float-matrix > < t > 
mat-scale! < t-matrix > < t > 
mat-scale! < ub16-matrix > < t > 
mat-scale! < ub32-matrix > < t > 
mat-scale! < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--2.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--2.html deleted file mode 100644 index dd4dd97..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--2.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-2 [Tinaa]

Generic Function Mat-Scale-2 (47 methods)

( mat-scale-2 < m > < n > < q > )

Part of:

package clem

Method Summary

mat-scale-2 < bit-matrix > < sb32-matrix > < t > 
mat-scale-2 < bit-matrix > < ub8-matrix > < t > 
mat-scale-2 < complex-matrix > < complex-matrix > < t > 
mat-scale-2 < double-float-matrix > < complex-matrix > < t > 
mat-scale-2 < double-float-matrix > < double-float-matrix > < t > 
mat-scale-2 < fixnum-matrix > < fixnum-matrix > < t > 
mat-scale-2 < integer-matrix > < integer-matrix > < t > 
mat-scale-2 < real-matrix > < real-matrix > < t > 
mat-scale-2 < sb16-matrix > < complex-matrix > < t > 
mat-scale-2 < sb16-matrix > < double-float-matrix > < t > 
mat-scale-2 < sb16-matrix > < sb16-matrix > < t > 
mat-scale-2 < sb16-matrix > < sb32-matrix > < t > 
mat-scale-2 < sb16-matrix > < single-float-matrix > < t > 
mat-scale-2 < sb32-matrix > < complex-matrix > < t > 
mat-scale-2 < sb32-matrix > < double-float-matrix > < t > 
mat-scale-2 < sb32-matrix > < sb32-matrix > < t > 
mat-scale-2 < sb32-matrix > < single-float-matrix > < t > 
mat-scale-2 < sb8-matrix > < complex-matrix > < t > 
mat-scale-2 < sb8-matrix > < double-float-matrix > < t > 
mat-scale-2 < sb8-matrix > < sb16-matrix > < t > 
mat-scale-2 < sb8-matrix > < sb32-matrix > < t > 
mat-scale-2 < sb8-matrix > < sb8-matrix > < t > 
mat-scale-2 < sb8-matrix > < single-float-matrix > < t > 
mat-scale-2 < single-float-matrix > < complex-matrix > < t > 
mat-scale-2 < single-float-matrix > < double-float-matrix > < t > 
mat-scale-2 < single-float-matrix > < single-float-matrix > < t > 
mat-scale-2 < t-matrix > < t-matrix > < t > 
mat-scale-2 < ub16-matrix > < complex-matrix > < t > 
mat-scale-2 < ub16-matrix > < double-float-matrix > < t > 
mat-scale-2 < ub16-matrix > < single-float-matrix > < t > 
mat-scale-2 < ub16-matrix > < ub16-matrix > < t > 
mat-scale-2 < ub16-matrix > < ub32-matrix > < t > 
mat-scale-2 < ub32-matrix > < complex-matrix > < t > 
mat-scale-2 < ub32-matrix > < double-float-matrix > < t > 
mat-scale-2 < ub32-matrix > < single-float-matrix > < t > 
mat-scale-2 < ub32-matrix > < ub32-matrix > < t > 
mat-scale-2 < ub8-matrix > < complex-matrix > < t > 
mat-scale-2 < ub8-matrix > < double-float-matrix > < t > 
mat-scale-2 < ub8-matrix > < single-float-matrix > < t > 
mat-scale-2 < ub8-matrix > < ub16-matrix > < t > 
mat-scale-2 < ub8-matrix > < ub32-matrix > < t > 
mat-scale-2 < ub8-matrix > < ub8-matrix > < t > 
mat-scale-2 < unsigned-byte-matrix > < complex-matrix > < t > 
mat-scale-2 < unsigned-byte-matrix > < double-float-matrix > < t > 
mat-scale-2 < unsigned-byte-matrix > < integer-matrix > < t > 
mat-scale-2 < unsigned-byte-matrix > < single-float-matrix > < t > 
mat-scale-2 < unsigned-byte-matrix > < unsigned-byte-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit!.html deleted file mode 100644 index c18cdc3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Fit! [Tinaa]

Generic Function Mat-Scale-Fit! (14 methods)

( mat-scale-fit! < m > < q > )

Part of:

package clem

Method Summary

mat-scale-fit! < bit-matrix > < t > 
mat-scale-fit! < complex-matrix > < t > 
mat-scale-fit! < double-float-matrix > < t > 
mat-scale-fit! < fixnum-matrix > < t > 
mat-scale-fit! < integer-matrix > < t > 
mat-scale-fit! < real-matrix > < t > 
mat-scale-fit! < sb16-matrix > < t > 
mat-scale-fit! < sb32-matrix > < t > 
mat-scale-fit! < sb8-matrix > < t > 
mat-scale-fit! < single-float-matrix > < t > 
mat-scale-fit! < t-matrix > < t > 
mat-scale-fit! < ub16-matrix > < t > 
mat-scale-fit! < ub32-matrix > < t > 
mat-scale-fit! < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range!.html deleted file mode 100644 index 08fd05d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Fit-Range! [Tinaa]

Generic Function Mat-Scale-Fit-Range! (14 methods)

( mat-scale-fit-range! < m > < q > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-scale-fit-range! < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range! < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range.html deleted file mode 100644 index 6d6fb93..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Fit-Range [Tinaa]

Generic Function Mat-Scale-Fit-Range (14 methods)

( mat-scale-fit-range < m > < q > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-scale-fit-range < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-fit-range < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit.html deleted file mode 100644 index f08fb7c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--fit.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Fit [Tinaa]

Generic Function Mat-Scale-Fit (14 methods)

( mat-scale-fit < m > < q > )

Part of:

package clem

Method Summary

mat-scale-fit < bit-matrix > < t > 
mat-scale-fit < complex-matrix > < t > 
mat-scale-fit < double-float-matrix > < t > 
mat-scale-fit < fixnum-matrix > < t > 
mat-scale-fit < integer-matrix > < t > 
mat-scale-fit < real-matrix > < t > 
mat-scale-fit < sb16-matrix > < t > 
mat-scale-fit < sb32-matrix > < t > 
mat-scale-fit < sb8-matrix > < t > 
mat-scale-fit < single-float-matrix > < t > 
mat-scale-fit < t-matrix > < t > 
mat-scale-fit < ub16-matrix > < t > 
mat-scale-fit < ub32-matrix > < t > 
mat-scale-fit < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range!.html deleted file mode 100644 index fac6976..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Range! [Tinaa]

Generic Function Mat-Scale-Range! (14 methods)

( mat-scale-range! < m > < q > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-scale-range! < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--2.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--2.html deleted file mode 100644 index 97b945b..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--2.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Range-2 [Tinaa]

Generic Function Mat-Scale-Range-2 (47 methods)

( mat-scale-range-2 < m > < n > < q > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-scale-range-2 < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < fixnum-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < integer-matrix > < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < real-matrix > < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb16-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb16-matrix > < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb32-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb8-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb8-matrix > < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb8-matrix > < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < t-matrix > < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub16-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub16-matrix > < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub32-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub8-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub8-matrix > < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub8-matrix > < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < unsigned-byte-matrix > < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < unsigned-byte-matrix > < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < unsigned-byte-matrix > < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < unsigned-byte-matrix > < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-2 < unsigned-byte-matrix > < unsigned-byte-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--fit!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--fit!.html deleted file mode 100644 index 6400485..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range--fit!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Range-Fit! [Tinaa]

Generic Function Mat-Scale-Range-Fit! (14 methods)

( mat-scale-range-fit! < m > < q > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-scale-range-fit! < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range-fit! < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range.html deleted file mode 100644 index 06dbb17..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Range [Tinaa]

Generic Function Mat-Scale-Range (14 methods)

( mat-scale-range < m > < q > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-scale-range < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale.html deleted file mode 100644 index 9e73909..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--scale.html +++ /dev/null @@ -1,6 +0,0 @@ -Generic Function Mat-Scale [Tinaa]

Generic Function Mat-Scale (1 method)

( mat-scale < m > < q > &key < in-place > (result-class - (unless - in-place - (compute-mat-scale-result-class - m - q))) )

Part of:

package clem

Method Summary

mat-scale < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt!.html deleted file mode 100644 index 74b6c00..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Sqrt! [Tinaa]

Generic Function Mat-Sqrt! (3 methods)

( mat-sqrt! < u > )

Part of:

package clem

Method Summary

mat-sqrt! < double-float-matrix
mat-sqrt! < matrix
mat-sqrt! < single-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt.html deleted file mode 100644 index 7d58c70..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--sqrt.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Sqrt [Tinaa]

Generic Function Mat-Sqrt (1 method)

( mat-sqrt < u > )

Part of:

package clem

Method Summary

mat-sqrt < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--square!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--square!.html deleted file mode 100644 index eb9c162..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--square!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Square! [Tinaa]

Generic Function Mat-Square! (3 methods)

( mat-square! < u > )

Part of:

package clem

Method Summary

mat-square! < double-float-matrix
mat-square! < matrix
mat-square! < single-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--square.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--square.html deleted file mode 100644 index 4c6c8ec..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--square.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Square [Tinaa]

Generic Function Mat-Square (1 method)

( mat-square < u > )

Part of:

package clem

Method Summary

mat-square < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!--range.html deleted file mode 100644 index d2ea1c7..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Subtr!-Range [Tinaa]

Generic Function Mat-Subtr!-Range (30 methods)

( mat-subtr!-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-subtr!-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!.html deleted file mode 100644 index a3b1e6c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Subtr! [Tinaa]

Generic Function Mat-Subtr! (30 methods)

( mat-subtr! < m > < n > )

Part of:

package clem

Method Summary

mat-subtr! < double-float-matrix > < bit-matrix
mat-subtr! < double-float-matrix > < double-float-matrix
mat-subtr! < double-float-matrix > < fixnum-matrix
mat-subtr! < double-float-matrix > < sb16-matrix
mat-subtr! < double-float-matrix > < sb32-matrix
mat-subtr! < double-float-matrix > < sb8-matrix
mat-subtr! < double-float-matrix > < single-float-matrix
mat-subtr! < double-float-matrix > < ub16-matrix
mat-subtr! < double-float-matrix > < ub32-matrix
mat-subtr! < double-float-matrix > < ub8-matrix
mat-subtr! < sb16-matrix > < bit-matrix
mat-subtr! < sb32-matrix > < bit-matrix
mat-subtr! < sb32-matrix > < ub16-matrix
mat-subtr! < sb32-matrix > < ub8-matrix
mat-subtr! < sb8-matrix > < bit-matrix
mat-subtr! < single-float-matrix > < bit-matrix
mat-subtr! < single-float-matrix > < fixnum-matrix
mat-subtr! < single-float-matrix > < sb16-matrix
mat-subtr! < single-float-matrix > < sb32-matrix
mat-subtr! < single-float-matrix > < sb8-matrix
mat-subtr! < single-float-matrix > < single-float-matrix
mat-subtr! < single-float-matrix > < ub16-matrix
mat-subtr! < single-float-matrix > < ub32-matrix
mat-subtr! < single-float-matrix > < ub8-matrix
mat-subtr! < ub16-matrix > < bit-matrix
mat-subtr! < ub16-matrix > < ub16-matrix
mat-subtr! < ub32-matrix > < bit-matrix
mat-subtr! < ub32-matrix > < ub32-matrix
mat-subtr! < ub8-matrix > < bit-matrix
mat-subtr! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range.html deleted file mode 100644 index d5b258a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range.html +++ /dev/null @@ -1,4 +0,0 @@ -Generic Function Mat-Subtr-Range [Tinaa]

Generic Function Mat-Subtr-Range (1 method)

( mat-subtr-range < m > < n > < startr > < endr > < startc > < endc > &key < in-place > (result-type - (%get-subtr-matrix-class - m - n)) )

Part of:

package clem

Method Summary

mat-subtr-range < typed-mixin > < typed-mixin > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range3.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range3.html deleted file mode 100644 index ca96e34..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr--range3.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Subtr-Range3 [Tinaa]

Generic Function Mat-Subtr-Range3 (54 methods)

( mat-subtr-range3 < m > < n > < p > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mat-subtr-range3 < bit-matrix > < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < bit-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < bit-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < bit-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < bit-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < sb16-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < bit-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < ub16-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < ub8-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < bit-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < bit-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < sb8-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < bit-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < bit-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < ub16-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < bit-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < ub32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < bit-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < ub8-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr.html deleted file mode 100644 index a97c322..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--subtr.html +++ /dev/null @@ -1,6 +0,0 @@ -Generic Function Mat-Subtr [Tinaa]

Generic Function Mat-Subtr (5 methods)

( mat-subtr < m > < n > &key (in-place - nil - in-place-supplied-p) (result-type - (%get-subtr-matrix-class - m - n)) )

Part of:

package clem

Method Summary

mat-subtr :around < affine-transformation > < t > 
mat-subtr :around < matrix > < matrix
mat-subtr < matrix > < matrix
mat-subtr < matrix > < number > 
mat-subtr < number > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--trim.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mat--trim.html deleted file mode 100644 index 8123425..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mat--trim.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Trim [Tinaa]

Generic Function Mat-Trim (1 method)

( mat-trim < m > < k > )

Part of:

package clem

Method Summary

mat-trim < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix---glist.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix---glist.html deleted file mode 100644 index 1ce83e9..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix---glist.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix->List [Tinaa]

Generic Function Matrix->List (1 method)

( matrix->list < m > )

Part of:

package clem

Method Summary

matrix->list < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--argument--error--cause.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--argument--error--cause.html deleted file mode 100644 index b2f0493..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--argument--error--cause.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Argument-Error-Cause [Tinaa]

Generic Function Matrix-Argument-Error-Cause (1 method)

( matrix-argument-error-cause < condition > )

Part of:

package clem

Method Summary

matrix-argument-error-cause < sb-pcl::condition-class > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--l2--distance.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--l2--distance.html deleted file mode 100644 index aaaea76..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--l2--distance.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-L2-Distance [Tinaa]

Generic Function Matrix-L2-Distance (1 method)

( matrix-l2-distance < b0 > < b1 > &key < dest > )

Part of:

package clem

Method Summary

matrix-l2-distance < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d--constrain.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d--constrain.html deleted file mode 100644 index 0a3428a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d--constrain.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move-Range-2d-Constrain [Tinaa]

Generic Function Matrix-Move-Range-2d-Constrain (66 methods)

( matrix-move-range-2d-constrain < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > )

Part of:

package clem

Method Summary

matrix-move-range-2d-constrain < bit-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < complex-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < real-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < real-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < real-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < real-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < real-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d-constrain < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d.html deleted file mode 100644 index 77ba508..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--2d.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move-Range-2d [Tinaa]

Generic Function Matrix-Move-Range-2d (66 methods)

( matrix-move-range-2d < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > )

Part of:

package clem

Method Summary

matrix-move-range-2d < bit-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < complex-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < real-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < real-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < real-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < real-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < real-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-2d < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--constrain.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--constrain.html deleted file mode 100644 index 2015449..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range--constrain.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move-Range-Constrain [Tinaa]

Generic Function Matrix-Move-Range-Constrain (66 methods)

( matrix-move-range-constrain < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > )

Part of:

package clem

Method Summary

matrix-move-range-constrain < bit-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < complex-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range.html deleted file mode 100644 index 6743ba7..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move-Range [Tinaa]

Generic Function Matrix-Move-Range (66 methods)

( matrix-move-range < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > )

Part of:

package clem

Method Summary

matrix-move-range < bit-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < complex-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move.html deleted file mode 100644 index b004d64..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move [Tinaa]

Generic Function Matrix-Move (68 methods)

( matrix-move < m > < n > &key < constrain > )

Part of:

package clem

Method Summary

matrix-move < bit-matrix > < double-float-matrix
matrix-move < bit-matrix > < sb16-matrix
matrix-move < bit-matrix > < sb32-matrix
matrix-move < bit-matrix > < sb8-matrix
matrix-move < bit-matrix > < single-float-matrix
matrix-move < bit-matrix > < ub16-matrix
matrix-move < bit-matrix > < ub32-matrix
matrix-move < bit-matrix > < ub8-matrix
matrix-move < complex-matrix > < complex-matrix
matrix-move < complex-matrix > < real-matrix
matrix-move < double-float-matrix > < bit-matrix
matrix-move < double-float-matrix > < complex-matrix
matrix-move < double-float-matrix > < double-float-matrix
matrix-move < double-float-matrix > < fixnum-matrix
matrix-move < double-float-matrix > < number-matrix
matrix-move < double-float-matrix > < real-matrix
matrix-move < double-float-matrix > < sb16-matrix
matrix-move < double-float-matrix > < sb32-matrix
matrix-move < double-float-matrix > < sb8-matrix
matrix-move < double-float-matrix > < single-float-matrix
matrix-move < double-float-matrix > < ub16-matrix
matrix-move < double-float-matrix > < ub32-matrix
matrix-move < double-float-matrix > < ub8-matrix
matrix-move < fixnum-matrix > < double-float-matrix
matrix-move < fixnum-matrix > < single-float-matrix
matrix-move < matrix > < integer-matrix
matrix-move < matrix > < matrix
matrix-move < real-matrix > < complex-matrix
matrix-move < real-matrix > < double-float-matrix
matrix-move < real-matrix > < real-matrix
matrix-move < real-matrix > < single-float-matrix
matrix-move < real-matrix > < ub8-matrix
matrix-move < sb16-matrix > < bit-matrix
matrix-move < sb16-matrix > < double-float-matrix
matrix-move < sb16-matrix > < single-float-matrix
matrix-move < sb32-matrix > < bit-matrix
matrix-move < sb32-matrix > < double-float-matrix
matrix-move < sb32-matrix > < single-float-matrix
matrix-move < sb32-matrix > < ub16-matrix
matrix-move < sb32-matrix > < ub8-matrix
matrix-move < sb8-matrix > < bit-matrix
matrix-move < sb8-matrix > < double-float-matrix
matrix-move < sb8-matrix > < single-float-matrix
matrix-move < single-float-matrix > < bit-matrix
matrix-move < single-float-matrix > < complex-matrix
matrix-move < single-float-matrix > < double-float-matrix
matrix-move < single-float-matrix > < fixnum-matrix
matrix-move < single-float-matrix > < number-matrix
matrix-move < single-float-matrix > < real-matrix
matrix-move < single-float-matrix > < sb16-matrix
matrix-move < single-float-matrix > < sb32-matrix
matrix-move < single-float-matrix > < sb8-matrix
matrix-move < single-float-matrix > < single-float-matrix
matrix-move < single-float-matrix > < ub16-matrix
matrix-move < single-float-matrix > < ub32-matrix
matrix-move < single-float-matrix > < ub8-matrix
matrix-move < ub16-matrix > < bit-matrix
matrix-move < ub16-matrix > < double-float-matrix
matrix-move < ub16-matrix > < single-float-matrix
matrix-move < ub16-matrix > < ub16-matrix
matrix-move < ub32-matrix > < bit-matrix
matrix-move < ub32-matrix > < double-float-matrix
matrix-move < ub32-matrix > < single-float-matrix
matrix-move < ub32-matrix > < ub32-matrix
matrix-move < ub8-matrix > < bit-matrix
matrix-move < ub8-matrix > < double-float-matrix
matrix-move < ub8-matrix > < single-float-matrix
matrix-move < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--precedence--list.html b/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--precedence--list.html deleted file mode 100644 index b7e8508..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-matrix--precedence--list.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Precedence-List [Tinaa]

Generic Function Matrix-Precedence-List (1 method)

( matrix-precedence-list < c > )

Part of:

package clem

Method Summary

matrix-precedence-list < class > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-max--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-max--range.html deleted file mode 100644 index 95257f8..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-max--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Max-Range [Tinaa]

Generic Function Max-Range (13 methods)

( max-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

max-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < integer-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < real-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-max--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-max--val.html deleted file mode 100644 index 143b95a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-max--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Max-Val [Tinaa]

Generic Function Max-Val (1 method)

( max-val < m > )

Part of:

package clem

Method Summary

max-val < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-maxval.html b/external/clem/doc/tinaa/clem-package/generic-efunction-maxval.html deleted file mode 100644 index 79f8b42..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-maxval.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Maxval [Tinaa]

Generic Function Maxval (1 method)

( maxval < smc > )

Part of:

package clem
the maximum value allowed by instances
of this matrix class.

Method Summary

maxval < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!--range.html deleted file mode 100644 index 576c2f8..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mbitnor!-Range [Tinaa]

Generic Function Mbitnor!-Range (4 methods)

( mbitnor!-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mbitnor!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mbitnor!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mbitnor!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mbitnor!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!.html deleted file mode 100644 index 6022ca7..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mbitnor! [Tinaa]

Generic Function Mbitnor! (4 methods)

( mbitnor! < m > < n > )

Part of:

package clem

Method Summary

mbitnor! < bit-matrix > < bit-matrix
mbitnor! < ub16-matrix > < ub16-matrix
mbitnor! < ub32-matrix > < ub32-matrix
mbitnor! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor--range.html deleted file mode 100644 index c97e9d6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mbitnor-Range [Tinaa]

Generic Function Mbitnor-Range (4 methods)

( mbitnor-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mbitnor-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mbitnor-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mbitnor-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mbitnor-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor.html deleted file mode 100644 index 8d597f9..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mbitnor.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mbitnor [Tinaa]

Generic Function Mbitnor (4 methods)

( mbitnor < m > < n > )

Part of:

package clem

Method Summary

mbitnor < bit-matrix > < bit-matrix
mbitnor < ub16-matrix > < ub16-matrix
mbitnor < ub32-matrix > < ub32-matrix
mbitnor < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mean--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mean--range.html deleted file mode 100644 index 5b59245..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mean--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mean-Range [Tinaa]

Generic Function Mean-Range (1 method)

( mean-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mean-range < matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mean.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mean.html deleted file mode 100644 index 5cf2135..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mean.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mean [Tinaa]

Generic Function Mean (1 method)

( mean < m > )

Part of:

package clem

Method Summary

mean < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-min--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-min--range.html deleted file mode 100644 index 67a4605..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-min--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Min-Range [Tinaa]

Generic Function Min-Range (13 methods)

( min-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

min-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < integer-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < real-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-min--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-min--val.html deleted file mode 100644 index 0216bca..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-min--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Min-Val [Tinaa]

Generic Function Min-Val (1 method)

( min-val < m > )

Part of:

package clem

Method Summary

min-val < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-minval.html b/external/clem/doc/tinaa/clem-package/generic-efunction-minval.html deleted file mode 100644 index 728fa2c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-minval.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Minval [Tinaa]

Generic Function Minval (1 method)

( minval < smc > )

Part of:

package clem
the minimum value allowed by instances
of this matrix class.

Method Summary

minval < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!--range.html deleted file mode 100644 index 6c40ede..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand!-Range [Tinaa]

Generic Function Mlogand!-Range (5 methods)

( mlogand!-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mlogand!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogand!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogand!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogand!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogand!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!.html deleted file mode 100644 index b1bb0a6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand! [Tinaa]

Generic Function Mlogand! (5 methods)

( mlogand! < m > < n > )

Part of:

package clem

Method Summary

mlogand! < bit-matrix > < bit-matrix
mlogand! < integer-matrix > < integer-matrix
mlogand! < ub16-matrix > < ub16-matrix
mlogand! < ub32-matrix > < ub32-matrix
mlogand! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand--range.html deleted file mode 100644 index 2af39c0..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand-Range [Tinaa]

Generic Function Mlogand-Range (5 methods)

( mlogand-range < m > < n > < startr > < endr > < startc > < endc > &key < in-place > )

Part of:

package clem

Method Summary

mlogand-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogand-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogand-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogand-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogand-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand.html deleted file mode 100644 index 081d4c5..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogand.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand [Tinaa]

Generic Function Mlogand (5 methods)

( mlogand < m > < n > &key < in-place > )

Part of:

package clem

Method Summary

mlogand < bit-matrix > < bit-matrix
mlogand < integer-matrix > < integer-matrix
mlogand < ub16-matrix > < ub16-matrix
mlogand < ub32-matrix > < ub32-matrix
mlogand < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!--range.html deleted file mode 100644 index 5e71398..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior!-Range [Tinaa]

Generic Function Mlogior!-Range (5 methods)

( mlogior!-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mlogior!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogior!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogior!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogior!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogior!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!.html deleted file mode 100644 index e319e66..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior! [Tinaa]

Generic Function Mlogior! (5 methods)

( mlogior! < m > < n > )

Part of:

package clem

Method Summary

mlogior! < bit-matrix > < bit-matrix
mlogior! < integer-matrix > < integer-matrix
mlogior! < ub16-matrix > < ub16-matrix
mlogior! < ub32-matrix > < ub32-matrix
mlogior! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior--range.html deleted file mode 100644 index 8a53c08..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior-Range [Tinaa]

Generic Function Mlogior-Range (5 methods)

( mlogior-range < m > < n > < startr > < endr > < startc > < endc > &key < in-place > )

Part of:

package clem

Method Summary

mlogior-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogior-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogior-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogior-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogior-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior.html deleted file mode 100644 index 2e1bbd3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogior.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior [Tinaa]

Generic Function Mlogior (5 methods)

( mlogior < m > < n > &key < in-place > )

Part of:

package clem

Method Summary

mlogior < bit-matrix > < bit-matrix
mlogior < integer-matrix > < integer-matrix
mlogior < ub16-matrix > < ub16-matrix
mlogior < ub32-matrix > < ub32-matrix
mlogior < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlognot--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlognot--range.html deleted file mode 100644 index 41aa950..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlognot--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlognot-Range [Tinaa]

Generic Function Mlognot-Range (5 methods)

( mlognot-range < m > < startr > < endr > < startc > < endc > &key < in-place > )

Part of:

package clem

Method Summary

mlognot-range < fixnum-matrix > < t > < t > < t > < t > 
mlognot-range < integer-matrix > < t > < t > < t > < t > 
mlognot-range < sb16-matrix > < t > < t > < t > < t > 
mlognot-range < sb32-matrix > < t > < t > < t > < t > 
mlognot-range < sb8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlognot.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlognot.html deleted file mode 100644 index 0baae14..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlognot.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlognot [Tinaa]

Generic Function Mlognot (5 methods)

( mlognot < m > &key < in-place > )

Part of:

package clem
Performs element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.

Method Summary

mlognot < fixnum-matrix
mlognot < integer-matrix
mlognot < sb16-matrix
mlognot < sb32-matrix
mlognot < sb8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!--range.html deleted file mode 100644 index 172c2c3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor!-Range [Tinaa]

Generic Function Mlogxor!-Range (5 methods)

( mlogxor!-range < m > < n > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mlogxor!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogxor!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogxor!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogxor!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogxor!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!.html deleted file mode 100644 index b75bee3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor! [Tinaa]

Generic Function Mlogxor! (5 methods)

( mlogxor! < m > < n > )

Part of:

package clem

Method Summary

mlogxor! < bit-matrix > < bit-matrix
mlogxor! < integer-matrix > < integer-matrix
mlogxor! < ub16-matrix > < ub16-matrix
mlogxor! < ub32-matrix > < ub32-matrix
mlogxor! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor--range.html deleted file mode 100644 index 002926d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor-Range [Tinaa]

Generic Function Mlogxor-Range (5 methods)

( mlogxor-range < m > < n > < startr > < endr > < startc > < endc > &key < in-place > )

Part of:

package clem

Method Summary

mlogxor-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogxor-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogxor-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogxor-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogxor-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor.html deleted file mode 100644 index 4a69916..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mlogxor.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor [Tinaa]

Generic Function Mlogxor (5 methods)

( mlogxor < m > < n > &key < in-place > )

Part of:

package clem

Method Summary

mlogxor < bit-matrix > < bit-matrix
mlogxor < integer-matrix > < integer-matrix
mlogxor < ub16-matrix > < ub16-matrix
mlogxor < ub32-matrix > < ub32-matrix
mlogxor < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot!--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mnot!--range.html deleted file mode 100644 index 77e3e71..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot!-Range [Tinaa]

Generic Function Mnot!-Range (1 method)

( mnot!-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mnot!-range < integer-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot!.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mnot!.html deleted file mode 100644 index 3c38c66..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot! [Tinaa]

Generic Function Mnot! (1 method)

( mnot! < m > )

Part of:

package clem

Method Summary

mnot! < integer-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mnot--range.html deleted file mode 100644 index 9912819..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot-Range [Tinaa]

Generic Function Mnot-Range (1 method)

( mnot-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

mnot-range < integer-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mnot.html deleted file mode 100644 index ba1cc6b..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mnot.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot [Tinaa]

Generic Function Mnot (1 method)

( mnot < m > )

Part of:

package clem

Method Summary

mnot < integer-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-morphological--op.html b/external/clem/doc/tinaa/clem-package/generic-efunction-morphological--op.html deleted file mode 100644 index 853db4c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-morphological--op.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Morphological-Op [Tinaa]

Generic Function Morphological-Op (1 method)

( morphological-op < u > < v > < f > )

Part of:

package clem

Method Summary

morphological-op < matrix > < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-move--affine--transformation.html b/external/clem/doc/tinaa/clem-package/generic-efunction-move--affine--transformation.html deleted file mode 100644 index fa426b0..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-move--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Move-Affine-Transformation [Tinaa]

Generic Function Move-Affine-Transformation (1 method)

( move-affine-transformation < src > < dest > )

Part of:

package clem

Method Summary

move-affine-transformation < affine-transformation > < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-move--element.html b/external/clem/doc/tinaa/clem-package/generic-efunction-move--element.html deleted file mode 100644 index 4b46ea2..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-move--element.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Move-Element [Tinaa]

Generic Function Move-Element (67 methods)

( move-element < m > < i1 > < j1 > < n > < i2 > < j2 > )

Part of:

package clem
Copy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.

Method Summary

move-element < bit-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < sb16-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < sb32-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < sb8-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < complex-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < complex-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < fixnum-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < number-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < sb16-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < sb32-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < sb8-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < fixnum-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < fixnum-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < matrix > < t > < t > < matrix > < t > < t > 
move-element < real-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < sb16-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < sb16-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < sb16-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < sb8-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < sb8-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < sb8-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < fixnum-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < number-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < sb16-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < sb32-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < sb8-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < ub8-matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-mref.html b/external/clem/doc/tinaa/clem-package/generic-efunction-mref.html deleted file mode 100644 index 8c20c58..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-mref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mref [Tinaa]

Generic Function Mref (1 method)

( mref < m > &rest < indices > )

Part of:

package clem
Returns the value of the element in the ith row of
the jth column of the matrix m.

Method Summary

mref < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--1.html b/external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--1.html deleted file mode 100644 index dc9d4e5..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--1.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Norm-0-1 [Tinaa]

Generic Function Norm-0-1 (1 method)

( norm-0-1 < u > &key < copy > )

Part of:

package clem

Method Summary

norm-0-1 < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--255.html b/external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--255.html deleted file mode 100644 index 7889469..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-norm--0--255.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Norm-0-255 [Tinaa]

Generic Function Norm-0-255 (1 method)

( norm-0-255 < u > &key < copy > )

Part of:

package clem

Method Summary

norm-0-255 < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-normalize.html b/external/clem/doc/tinaa/clem-package/generic-efunction-normalize.html deleted file mode 100644 index 66cb5e3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-normalize.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Normalize [Tinaa]

Generic Function Normalize (18 methods)

( normalize < u > &key (copy - nil) (truncate - nil) (normax) (normin) )

Part of:

package clem

Method Summary

normalize < bit-matrix
normalize < complex-matrix
normalize < double-float-matrix
normalize < fixnum-matrix
normalize < float-matrix
normalize < integer-matrix
normalize < matrix
normalize < number-matrix
normalize < real-matrix
normalize < sb16-matrix
normalize < sb32-matrix
normalize < sb8-matrix
normalize < single-float-matrix
normalize < t-matrix
normalize < ub16-matrix
normalize < ub32-matrix
normalize < ub8-matrix
normalize < unsigned-byte-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-pad--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-pad--matrix.html deleted file mode 100644 index 76a12f9..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-pad--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Pad-Matrix [Tinaa]

Generic Function Pad-Matrix (1 method)

( pad-matrix < m > )

Part of:

package clem

Method Summary

pad-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-parameters--list.html b/external/clem/doc/tinaa/clem-package/generic-efunction-parameters--list.html deleted file mode 100644 index 7da7076..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-parameters--list.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Parameters-List [Tinaa]

Generic Function Parameters-List (1 method)

( parameters-list < xfrm > )

Part of:

package clem

Method Summary

parameters-list < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-print--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-print--matrix.html deleted file mode 100644 index 6f0a589..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-print--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Print-Matrix [Tinaa]

Generic Function Print-Matrix (3 methods)

( print-matrix < m > )

Part of:

package clem

Method Summary

print-matrix < col-vector
print-matrix < matrix
print-matrix < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-print--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-print--range.html deleted file mode 100644 index 782e2a1..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-print--range.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Print-Range [Tinaa]

Generic Function Print-Range (1 method)

( print-range < m > < startr > < endr > < startc > < endc > &optional (stream - t) )

Part of:

package clem

Method Summary

print-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--bit--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--bit--matrix.html deleted file mode 100644 index fc01afb..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--bit--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Bit-Matrix [Tinaa]

Generic Function Random-Bit-Matrix (1 method)

( random-bit-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-bit-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--complex--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--complex--matrix.html deleted file mode 100644 index 6bb68ca..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--complex--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Complex-Matrix [Tinaa]

Generic Function Random-Complex-Matrix (1 method)

( random-complex-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-complex-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--double--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--double--float--matrix.html deleted file mode 100644 index a9ceefc..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--double--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Double-Float-Matrix [Tinaa]

Generic Function Random-Double-Float-Matrix (1 method)

( random-double-float-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-double-float-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--fixnum--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--fixnum--matrix.html deleted file mode 100644 index 20c1182..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--fixnum--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Fixnum-Matrix [Tinaa]

Generic Function Random-Fixnum-Matrix (1 method)

( random-fixnum-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-fixnum-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--float--matrix.html deleted file mode 100644 index 2200a4c..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Float-Matrix [Tinaa]

Generic Function Random-Float-Matrix (1 method)

( random-float-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-float-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--integer--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--integer--matrix.html deleted file mode 100644 index f6d5f2d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--integer--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Integer-Matrix [Tinaa]

Generic Function Random-Integer-Matrix (1 method)

( random-integer-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-integer-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--matrix.html deleted file mode 100644 index 9ea9920..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Random-Matrix [Tinaa]

Generic Function Random-Matrix (1 method)

( random-matrix < rows > < cols > &key (matrix-class - 'matrix) (limit - 1.0d0) )

Part of:

package clem
Create a matrix of type <matrix-class> having
<rows> rows and <cols> cols. The values of the matrix will be
random numbers of the appropriate type between 0 and <limit>.

Method Summary

random-matrix < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--number--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--number--matrix.html deleted file mode 100644 index 64e7220..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--number--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Number-Matrix [Tinaa]

Generic Function Random-Number-Matrix (1 method)

( random-number-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-number-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--real--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--real--matrix.html deleted file mode 100644 index 4ab697f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--real--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Real-Matrix [Tinaa]

Generic Function Random-Real-Matrix (1 method)

( random-real-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-real-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb16--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb16--matrix.html deleted file mode 100644 index 51fc671..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Sb16-Matrix [Tinaa]

Generic Function Random-Sb16-Matrix (1 method)

( random-sb16-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-sb16-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb32--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb32--matrix.html deleted file mode 100644 index d780614..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Sb32-Matrix [Tinaa]

Generic Function Random-Sb32-Matrix (1 method)

( random-sb32-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-sb32-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb8--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb8--matrix.html deleted file mode 100644 index 856bb5f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--sb8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Sb8-Matrix [Tinaa]

Generic Function Random-Sb8-Matrix (1 method)

( random-sb8-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-sb8-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--single--float--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--single--float--matrix.html deleted file mode 100644 index 2e6ac8f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--single--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Single-Float-Matrix [Tinaa]

Generic Function Random-Single-Float-Matrix (1 method)

( random-single-float-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-single-float-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--t--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--t--matrix.html deleted file mode 100644 index 51f9308..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--t--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-T-Matrix [Tinaa]

Generic Function Random-T-Matrix (1 method)

( random-t-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-t-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub16--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub16--matrix.html deleted file mode 100644 index 17d65ac..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Ub16-Matrix [Tinaa]

Generic Function Random-Ub16-Matrix (1 method)

( random-ub16-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-ub16-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub32--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub32--matrix.html deleted file mode 100644 index f5c7ae0..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Ub32-Matrix [Tinaa]

Generic Function Random-Ub32-Matrix (1 method)

( random-ub32-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-ub32-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub8--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub8--matrix.html deleted file mode 100644 index 6a50a8a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--ub8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Ub8-Matrix [Tinaa]

Generic Function Random-Ub8-Matrix (1 method)

( random-ub8-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-ub8-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-random--unsigned--byte--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-random--unsigned--byte--matrix.html deleted file mode 100644 index 6971f61..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-random--unsigned--byte--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Unsigned-Byte-Matrix [Tinaa]

Generic Function Random-Unsigned-Byte-Matrix (1 method)

( random-unsigned-byte-matrix < rows > < cols > &key (max - nil) )

Part of:

package clem

Method Summary

random-unsigned-byte-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-reshape.html b/external/clem/doc/tinaa/clem-package/generic-efunction-reshape.html deleted file mode 100644 index eb63f8d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-reshape.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Reshape [Tinaa]

Generic Function Reshape (1 method)

( reshape < m > < rows > < cols > &key < initial-element > )

Part of:

package clem

Method Summary

reshape < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-row--major--mref.html b/external/clem/doc/tinaa/clem-package/generic-efunction-row--major--mref.html deleted file mode 100644 index 8f2ae8e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-row--major--mref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Row-Major-Mref [Tinaa]

Generic Function Row-Major-Mref (1 method)

( row-major-mref < m > < index > )

Part of:

package clem

Method Summary

row-major-mref < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-rows.html b/external/clem/doc/tinaa/clem-package/generic-efunction-rows.html deleted file mode 100644 index f6c682e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-rows.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Rows [Tinaa]

Generic Function Rows (3 methods)

( rows < cv > )

Part of:

package clem
Returns the number of rows in the matrix.

Method Summary

rows < col-vector
rows < matrix
rows < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-rvref.html b/external/clem/doc/tinaa/clem-package/generic-efunction-rvref.html deleted file mode 100644 index f66946f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-rvref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Rvref [Tinaa]

Generic Function Rvref (1 method)

( rvref < rv > < i > )

Part of:

package clem

Method Summary

rvref < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance--range.html deleted file mode 100644 index c9c63ea..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sample-Variance-Range [Tinaa]

Generic Function Sample-Variance-Range (18 methods)

( sample-variance-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

sample-variance-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < complex-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < integer-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < matrix > < t > < t > < t > < t > 
sample-variance-range < number-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < real-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < t-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < unsigned-byte-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance.html deleted file mode 100644 index faef43f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sample--variance.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sample-Variance [Tinaa]

Generic Function Sample-Variance (1 method)

( sample-variance < m > )

Part of:

package clem

Method Summary

sample-variance < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--col.html deleted file mode 100644 index 4c75989..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide-Col [Tinaa]

Generic Function Scalar-Divide-Col (1 method)

( scalar-divide-col < a > < k > < q > )

Part of:

package clem

Method Summary

scalar-divide-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--copy.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--copy.html deleted file mode 100644 index 5ebe239..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide-Copy [Tinaa]

Generic Function Scalar-Divide-Copy (1 method)

( scalar-divide-copy < a > < q > )

Part of:

package clem

Method Summary

scalar-divide-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--row.html deleted file mode 100644 index c99f0ec..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide-Row [Tinaa]

Generic Function Scalar-Divide-Row (18 methods)

( scalar-divide-row < m > < k > < q > )

Part of:

package clem

Method Summary

scalar-divide-row < bit-matrix > < t > < t > 
scalar-divide-row < complex-matrix > < t > < t > 
scalar-divide-row < double-float-matrix > < t > < t > 
scalar-divide-row < fixnum-matrix > < t > < t > 
scalar-divide-row < float-matrix > < t > < t > 
scalar-divide-row < integer-matrix > < t > < t > 
scalar-divide-row < matrix > < t > < t > 
scalar-divide-row < number-matrix > < t > < t > 
scalar-divide-row < real-matrix > < t > < t > 
scalar-divide-row < sb16-matrix > < t > < t > 
scalar-divide-row < sb32-matrix > < t > < t > 
scalar-divide-row < sb8-matrix > < t > < t > 
scalar-divide-row < single-float-matrix > < t > < t > 
scalar-divide-row < t-matrix > < t > < t > 
scalar-divide-row < ub16-matrix > < t > < t > 
scalar-divide-row < ub32-matrix > < t > < t > 
scalar-divide-row < ub8-matrix > < t > < t > 
scalar-divide-row < unsigned-byte-matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide.html deleted file mode 100644 index c70e86e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--divide.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide [Tinaa]

Generic Function Scalar-Divide (1 method)

( scalar-divide < a > < q > )

Part of:

package clem

Method Summary

scalar-divide < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--col.html deleted file mode 100644 index 7d2991d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Double-Float-Divide-Col [Tinaa]

Generic Function Scalar-Double-Float-Divide-Col (1 method)

( scalar-double-float-divide-col < a > < k > < q > )

Part of:

package clem

Method Summary

scalar-double-float-divide-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--row.html deleted file mode 100644 index 021ce58..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--double--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Double-Float-Divide-Row [Tinaa]

Generic Function Scalar-Double-Float-Divide-Row (1 method)

( scalar-double-float-divide-row < a > < k > < q > )

Part of:

package clem

Method Summary

scalar-double-float-divide-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--col.html deleted file mode 100644 index 6448462..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult-Col [Tinaa]

Generic Function Scalar-Mult-Col (1 method)

( scalar-mult-col < a > < k > < q > )

Part of:

package clem

Method Summary

scalar-mult-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--copy.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--copy.html deleted file mode 100644 index d7c7aa0..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult-Copy [Tinaa]

Generic Function Scalar-Mult-Copy (1 method)

( scalar-mult-copy < a > < q > )

Part of:

package clem

Method Summary

scalar-mult-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--row.html deleted file mode 100644 index 52cb803..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult-Row [Tinaa]

Generic Function Scalar-Mult-Row (18 methods)

( scalar-mult-row < m > < k > < q > )

Part of:

package clem

Method Summary

scalar-mult-row < bit-matrix > < t > < t > 
scalar-mult-row < complex-matrix > < t > < t > 
scalar-mult-row < double-float-matrix > < t > < t > 
scalar-mult-row < fixnum-matrix > < t > < t > 
scalar-mult-row < float-matrix > < t > < t > 
scalar-mult-row < integer-matrix > < t > < t > 
scalar-mult-row < matrix > < t > < t > 
scalar-mult-row < number-matrix > < t > < t > 
scalar-mult-row < real-matrix > < t > < t > 
scalar-mult-row < sb16-matrix > < t > < t > 
scalar-mult-row < sb32-matrix > < t > < t > 
scalar-mult-row < sb8-matrix > < t > < t > 
scalar-mult-row < single-float-matrix > < t > < t > 
scalar-mult-row < t-matrix > < t > < t > 
scalar-mult-row < ub16-matrix > < t > < t > 
scalar-mult-row < ub32-matrix > < t > < t > 
scalar-mult-row < ub8-matrix > < t > < t > 
scalar-mult-row < unsigned-byte-matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult.html deleted file mode 100644 index cc68d68..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--mult.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult [Tinaa]

Generic Function Scalar-Mult (1 method)

( scalar-mult < m > < q > )

Part of:

package clem

Method Summary

scalar-mult < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--set--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--set--val.html deleted file mode 100644 index 53a01a7..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Set-Val [Tinaa]

Generic Function Scalar-Set-Val (1 method)

( scalar-set-val < s > < v > )

Part of:

package clem

Method Summary

scalar-set-val < scalar > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--col.html deleted file mode 100644 index add0fc1..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Single-Float-Divide-Col [Tinaa]

Generic Function Scalar-Single-Float-Divide-Col (1 method)

( scalar-single-float-divide-col < a > < k > < q > )

Part of:

package clem

Method Summary

scalar-single-float-divide-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--row.html deleted file mode 100644 index 89d8d56..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--single--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Single-Float-Divide-Row [Tinaa]

Generic Function Scalar-Single-Float-Divide-Row (1 method)

( scalar-single-float-divide-row < a > < k > < q > )

Part of:

package clem

Method Summary

scalar-single-float-divide-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--val.html deleted file mode 100644 index df99a87..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-scalar--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Val [Tinaa]

Generic Function Scalar-Val (1 method)

( scalar-val < s > )

Part of:

package clem

Method Summary

scalar-val < scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-separable--discrete--convolve.html b/external/clem/doc/tinaa/clem-package/generic-efunction-separable--discrete--convolve.html deleted file mode 100644 index 4035129..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Generic Function Separable-Discrete-Convolve [Tinaa]

Generic Function Separable-Discrete-Convolve (6 methods)

( separable-discrete-convolve < m > < h1 > < h2 > &key (matrix-class - (class-of - m)) (norm-v - nil) (truncate - nil) )

Part of:

package clem

Method Summary

separable-discrete-convolve < double-float-matrix > < double-float-matrix > < double-float-matrix
separable-discrete-convolve < single-float-matrix > < single-float-matrix > < single-float-matrix
separable-discrete-convolve < t > < t > < t > 
separable-discrete-convolve < ub8-matrix > < double-float-matrix > < double-float-matrix
separable-discrete-convolve < ub8-matrix > < single-float-matrix > < single-float-matrix
separable-discrete-convolve < ub8-matrix > < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--matrix.html deleted file mode 100644 index b0eaf4a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Set-Affine-Transformation-Matrix [Tinaa]

Generic Function Set-Affine-Transformation-Matrix (1 method)

( set-affine-transformation-matrix < xfrm > < m > )

Part of:

package clem

Method Summary

set-affine-transformation-matrix < affine-transformation > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--parameters.html b/external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--parameters.html deleted file mode 100644 index f13a6b2..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-set--affine--transformation--parameters.html +++ /dev/null @@ -1,8 +0,0 @@ -Generic Function Set-Affine-Transformation-Parameters [Tinaa]

Generic Function Set-Affine-Transformation-Parameters (1 method)

( set-affine-transformation-parameters < xfrm > &key (y-shift - 0.0d0) (x-shift - 0.0d0) (theta - 0.0d0) (y-scale - 1.0d0) (x-scale - 1.0d0) (y-shear - 0.0d0) (x-shear - 0.0d0) )

Part of:

package clem

Method Summary

set-affine-transformation-parameters < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-set--col.html b/external/clem/doc/tinaa/clem-package/generic-efunction-set--col.html deleted file mode 100644 index 7e04824..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-set--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Set-Col [Tinaa]

Generic Function Set-Col (3 methods)

( set-col < m > < c > < v > )

Part of:

package clem

Method Summary

set-col < matrix > < t > < col-vector
set-col < matrix > < t > < row-vector
set-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-set--row.html b/external/clem/doc/tinaa/clem-package/generic-efunction-set--row.html deleted file mode 100644 index 1452144..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-set--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Set-Row [Tinaa]

Generic Function Set-Row (3 methods)

( set-row < m > < r > < v > )

Part of:

package clem

Method Summary

set-row < matrix > < t > < col-vector
set-row < matrix > < t > < row-vector
set-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-set--val--fit.html b/external/clem/doc/tinaa/clem-package/generic-efunction-set--val--fit.html deleted file mode 100644 index 8739561..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Set-Val-Fit [Tinaa]

Generic Function Set-Val-Fit (20 methods)

( set-val-fit < m > < i > < j > < v > &key (truncate - nil) )

Part of:

package clem

Method Summary

set-val-fit < bit-matrix > < t > < t > < t > 
set-val-fit < complex-matrix > < t > < t > < t > 
set-val-fit < double-float-matrix > < t > < t > < t > 
set-val-fit < fixnum-matrix > < t > < t > < t > 
set-val-fit < float-matrix > < t > < t > < t > 
set-val-fit < integer-matrix > < t > < t > < t > 
set-val-fit < matrix > < t > < t > < t > 
set-val-fit < number-matrix > < t > < t > < t > 
set-val-fit < real-matrix > < t > < t > < t > 
set-val-fit < sb16-matrix > < t > < t > < t > 
set-val-fit < sb32-matrix > < t > < t > < t > 
set-val-fit < sb8-matrix > < t > < t > < t > 
set-val-fit < single-float-matrix > < t > < t > < t > 
set-val-fit < t-matrix > < t > < t > < t > 
set-val-fit < typed-matrix > < t > < t > < t > 
set-val-fit < typed-mixin > < t > < t > < t > 
set-val-fit < ub16-matrix > < t > < t > < t > 
set-val-fit < ub32-matrix > < t > < t > < t > 
set-val-fit < ub8-matrix > < t > < t > < t > 
set-val-fit < unsigned-byte-matrix > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-set--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-set--val.html deleted file mode 100644 index d5643b6..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-set--val.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Set-Val [Tinaa]

Generic Function Set-Val (21 methods)

( set-val < cv > < i > < j > < v > &key (coerce - t) )

Part of:

package clem
Sets the value of the element at row i, column j of
matrix m to v.

Method Summary

set-val < bit-matrix > < t > < t > < t > 
set-val < col-vector > < t > < t > < t > 
set-val < complex-matrix > < t > < t > < t > 
set-val < double-float-matrix > < t > < t > < t > 
set-val < fixnum-matrix > < t > < t > < t > 
set-val < float-matrix > < t > < t > < t > 
set-val < integer-matrix > < t > < t > < t > 
set-val < matrix > < t > < t > < t > 
set-val < number-matrix > < t > < t > < t > 
set-val < real-matrix > < t > < t > < t > 
set-val < row-vector > < t > < t > < t > 
set-val < sb16-matrix > < t > < t > < t > 
set-val < sb32-matrix > < t > < t > < t > 
set-val < sb8-matrix > < t > < t > < t > 
set-val < scalar > < t > < t > < t > 
set-val < single-float-matrix > < t > < t > < t > 
set-val < t-matrix > < t > < t > < t > 
set-val < ub16-matrix > < t > < t > < t > 
set-val < ub32-matrix > < t > < t > < t > 
set-val < ub8-matrix > < t > < t > < t > 
set-val < unsigned-byte-matrix > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-specialized--array--p.html b/external/clem/doc/tinaa/clem-package/generic-efunction-specialized--array--p.html deleted file mode 100644 index 4fa2d2a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-specialized--array--p.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Specialized-Array-P [Tinaa]

Generic Function Specialized-Array-P (3 methods)

( specialized-array-p < typed-matrix > )

Part of:

package clem

Method Summary

specialized-array-p < standard-matrix-class
specialized-array-p < typed-matrix
specialized-array-p < typed-mixin
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix--cols.html b/external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix--cols.html deleted file mode 100644 index 974724f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Subset-Matrix-Cols [Tinaa]

Generic Function Subset-Matrix-Cols (1 method)

( subset-matrix-cols < a > < x > < y > &key (matrix-type) )

Part of:

package clem

Method Summary

subset-matrix-cols < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix.html deleted file mode 100644 index df1237f..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Subset-Matrix [Tinaa]

Generic Function Subset-Matrix (1 method)

( subset-matrix < u > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

subset-matrix < matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--cols.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sum--cols.html deleted file mode 100644 index 10c9d14..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--cols.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Sum-Cols [Tinaa]

Generic Function Sum-Cols (1 method)

( sum-cols < m > &key (matrix-class - (class-of - m)) )

Part of:

package clem

Method Summary

sum-cols < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sum--range.html deleted file mode 100644 index 7436928..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum-Range [Tinaa]

Generic Function Sum-Range (11 methods)

( sum-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

sum-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--rows.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sum--rows.html deleted file mode 100644 index 4214060..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--rows.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Sum-Rows [Tinaa]

Generic Function Sum-Rows (1 method)

( sum-rows < m > &key (matrix-class - (class-of - m)) )

Part of:

package clem

Method Summary

sum-rows < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--square--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sum--square--range.html deleted file mode 100644 index 90bbd13..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--square--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum-Square-Range [Tinaa]

Generic Function Sum-Square-Range (11 methods)

( sum-square-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

sum-square-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--square.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sum--square.html deleted file mode 100644 index 655c0cd..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sum--square.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum-Square [Tinaa]

Generic Function Sum-Square (14 methods)

( sum-square < m > )

Part of:

package clem

Method Summary

sum-square < bit-matrix
sum-square < double-float-matrix
sum-square < fixnum-matrix
sum-square < integer-matrix
sum-square < matrix
sum-square < number-matrix
sum-square < real-matrix
sum-square < sb16-matrix
sum-square < sb32-matrix
sum-square < sb8-matrix
sum-square < single-float-matrix
sum-square < ub16-matrix
sum-square < ub32-matrix
sum-square < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-sum.html b/external/clem/doc/tinaa/clem-package/generic-efunction-sum.html deleted file mode 100644 index 35c5458..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-sum.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum [Tinaa]

Generic Function Sum (14 methods)

( sum < m > )

Part of:

package clem

Method Summary

sum < bit-matrix
sum < double-float-matrix
sum < fixnum-matrix
sum < integer-matrix
sum < matrix
sum < number-matrix
sum < real-matrix
sum < sb16-matrix
sum < sb32-matrix
sum < sb8-matrix
sum < single-float-matrix
sum < ub16-matrix
sum < ub32-matrix
sum < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-swap--cols.html b/external/clem/doc/tinaa/clem-package/generic-efunction-swap--cols.html deleted file mode 100644 index 5e14db3..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-swap--cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Swap-Cols [Tinaa]

Generic Function Swap-Cols (1 method)

( swap-cols < a > < k > < l > )

Part of:

package clem

Method Summary

swap-cols < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-swap--rows.html b/external/clem/doc/tinaa/clem-package/generic-efunction-swap--rows.html deleted file mode 100644 index 192048d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-swap--rows.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Swap-Rows [Tinaa]

Generic Function Swap-Rows (1 method)

( swap-rows < a > < k > < l > )

Part of:

package clem

Method Summary

swap-rows < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-threshold.html b/external/clem/doc/tinaa/clem-package/generic-efunction-threshold.html deleted file mode 100644 index 6ad779a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-threshold.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Threshold [Tinaa]

Generic Function Threshold (1 method)

( threshold < u > < tval > &key (minval - 0) (maxval - 255) )

Part of:

package clem

Method Summary

threshold < matrix > < number > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-transform--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-transform--matrix.html deleted file mode 100644 index 856ca17..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-transform--matrix.html +++ /dev/null @@ -1,5 +0,0 @@ -Generic Function Transform-Matrix [Tinaa]

Generic Function Transform-Matrix (1 method)

( transform-matrix < m > < n > < xfrm > &key < u > < v > < x > < y > (interpolation - nearest-neighbor - interpolation-supplied-p) (background - nil - background-supplied-p) )

Part of:

package clem
applies the affine transform xfrm to the contents of matrix m
and places the contents in n. The default supported classes
of interpolation are :quadratic, :bilinear
and :nearest-neighbor.

Method Summary

transform-matrix < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-transpose--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-transpose--matrix.html deleted file mode 100644 index 98a4c5a..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-transpose--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Transpose-Matrix [Tinaa]

Generic Function Transpose-Matrix (1 method)

( transpose-matrix < a > )

Part of:

package clem

Method Summary

transpose-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-transpose.html b/external/clem/doc/tinaa/clem-package/generic-efunction-transpose.html deleted file mode 100644 index 0582d4d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-transpose.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Transpose [Tinaa]

Generic Function Transpose (4 methods)

( transpose < cv > )

Part of:

package clem

Method Summary

transpose < col-vector
transpose < double-float-matrix
transpose < matrix
transpose < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--matrix.html deleted file mode 100644 index 711ee77..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Update-Affine-Transformation-Matrix [Tinaa]

Generic Function Update-Affine-Transformation-Matrix (1 method)

( update-affine-transformation-matrix < xfrm > )

Part of:

package clem

Method Summary

update-affine-transformation-matrix < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--slots.html b/external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--slots.html deleted file mode 100644 index 96f531e..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-update--affine--transformation--slots.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Update-Affine-Transformation-Slots [Tinaa]

Generic Function Update-Affine-Transformation-Slots (1 method)

( update-affine-transformation-slots < xfrm > )

Part of:

package clem

Method Summary

update-affine-transformation-slots < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-val--format.html b/external/clem/doc/tinaa/clem-package/generic-efunction-val--format.html deleted file mode 100644 index a3eec90..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-val--format.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Val-Format [Tinaa]

Generic Function Val-Format (1 method)

( val-format < smc > )

Part of:

package clem
the format string used to print out
element values of instances of this matrix class

Method Summary

val-format < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-val.html deleted file mode 100644 index 9aef2dd..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Val [Tinaa]

Generic Function Val (4 methods)

( val < cv > < i > < j > )

Part of:

package clem
Returns the value of the element in the ith row of
the jth column of the matrix m.

Method Summary

val < col-vector > < t > < t > 
val < matrix > < t > < t > 
val < row-vector > < t > < t > 
val < scalar > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-variance--range.html b/external/clem/doc/tinaa/clem-package/generic-efunction-variance--range.html deleted file mode 100644 index c5b94bf..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Variance-Range [Tinaa]

Generic Function Variance-Range (1 method)

( variance-range < m > < startr > < endr > < startc > < endc > )

Part of:

package clem

Method Summary

variance-range < matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-variance.html b/external/clem/doc/tinaa/clem-package/generic-efunction-variance.html deleted file mode 100644 index 95f90bb..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-variance.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Variance [Tinaa]

Generic Function Variance (1 method)

( variance < m > )

Part of:

package clem

Method Summary

variance < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-vec--dim.html b/external/clem/doc/tinaa/clem-package/generic-efunction-vec--dim.html deleted file mode 100644 index 3a91487..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-vec--dim.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vec-Dim [Tinaa]

Generic Function Vec-Dim (2 methods)

( vec-dim < cv > )

Part of:

package clem

Method Summary

vec-dim < col-vector
vec-dim < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-vec--set--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-vec--set--val.html deleted file mode 100644 index ebc6ca4..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-vec--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vec-Set-Val [Tinaa]

Generic Function Vec-Set-Val (2 methods)

( vec-set-val < cv > < i > < v > )

Part of:

package clem

Method Summary

vec-set-val < col-vector > < t > < t > 
vec-set-val < row-vector > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-vec--val.html b/external/clem/doc/tinaa/clem-package/generic-efunction-vec--val.html deleted file mode 100644 index 63cb769..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-vec--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vec-Val [Tinaa]

Generic Function Vec-Val (2 methods)

( vec-val < cv > < i > )

Part of:

package clem

Method Summary

vec-val < col-vector > < t > 
vec-val < row-vector > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-vertcat.html b/external/clem/doc/tinaa/clem-package/generic-efunction-vertcat.html deleted file mode 100644 index 85f055d..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-vertcat.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vertcat [Tinaa]

Generic Function Vertcat (1 method)

( vertcat < m1 > &rest < mr > )

Part of:

package clem

Method Summary

vertcat < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-zero--col--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-zero--col--vector.html deleted file mode 100644 index 22fbc22..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-zero--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Zero-Col-Vector [Tinaa]

Generic Function Zero-Col-Vector (1 method)

( zero-col-vector < j > )

Part of:

package clem

Method Summary

zero-col-vector < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-zero--matrix.html b/external/clem/doc/tinaa/clem-package/generic-efunction-zero--matrix.html deleted file mode 100644 index d6b4468..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-zero--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Zero-Matrix [Tinaa]

Generic Function Zero-Matrix (1 method)

( zero-matrix < j > < k > &key (matrix-class - 'matrix) )

Part of:

package clem

Method Summary

zero-matrix < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/generic-efunction-zero--row--vector.html b/external/clem/doc/tinaa/clem-package/generic-efunction-zero--row--vector.html deleted file mode 100644 index b43dabb..0000000 --- a/external/clem/doc/tinaa/clem-package/generic-efunction-zero--row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Zero-Row-Vector [Tinaa]

Generic Function Zero-Row-Vector (1 method)

( zero-row-vector < j > )

Part of:

package clem

Method Summary

zero-row-vector < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-class.html b/external/clem/doc/tinaa/clem-package/index-of-class.html deleted file mode 100644 index 0bbced9..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-class.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Class \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-condition.html b/external/clem/doc/tinaa/clem-package/index-of-condition.html deleted file mode 100644 index f52297d..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-condition.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Condition \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-function.html b/external/clem/doc/tinaa/clem-package/index-of-function.html deleted file mode 100644 index 820f623..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-function.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Function

Function Index

\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-macro.html b/external/clem/doc/tinaa/clem-package/index-of-macro.html deleted file mode 100644 index 4865cb8..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-macro.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Macro \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-permuted-symbols.html b/external/clem/doc/tinaa/clem-package/index-of-permuted-symbols.html deleted file mode 100644 index 6a88778..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-permuted-symbols.html +++ /dev/null @@ -1 +0,0 @@ -Permuted Index of clem

Permuted Index of clem

                                                   %%sum-range (macro)
                                                   %discrete-convolve (generic function)
                                                   %get-subtr-matrix-class (generic function)
                                                   %mat-mult-block (generic function)
                                                   %mat-mult-with-blocks (generic function)
                                                   %separable-discrete-convolve (generic function)
                                                   %transform-matrix (generic function)
                                                   *laplacian-conv-matrix* (variable)
                                                   *laplacian-conv-matrix-2* (variable)
                                                   *m1* (variable)
                                                   *matrix-print* (variable)
                                                   *matrix-print-col-limit* (variable)
                                                   *matrix-print-row-limit* (variable)
                                                   *max-block-size* (variable)
                                                   *print-matrix-float-format* (variable)
                                                   *print-matrix-newlines* (variable)
                                                   *typed-matrix-names-hash* (variable)
                                                   *typed-matrix-types* (variable)
                                                   *typed-matrix-types-hash* (variable)
                                                   *x-derivative-conv-matrix* (variable)
                                                   *y-derivative-conv-matrix* (variable)
                                                   +epsilon+ (constant)
                                              norm-0-1 (generic function)
                                              norm-0-255 (generic function)
                                            norm-0-1 (generic function)
                                   gaussian-kernel-1d (function)
                                       displace-to-1d-array (function)
                                  def-matrix-scale-2 (macro)
                                         laplacian-2 (function)
                                         mat-scale-2 (generic function)
                                   mat-scale-range-2 (generic function)
                            *laplacian-conv-matrix-2* (variable)
                                            norm-0-255 (generic function)
                                 matrix-move-range-2d (generic function)
                                 matrix-move-range-2d-constrain (generic function)
                                          mat-mult-3-block (generic function)
                             affine-transformation-7-parameters (class)
                        copy-affine-transformation-7-parameters (function)
            make-affine-transformation-matrix-from-7-parameters (function)
                        move-affine-transformation-7-parameters (function)
                         get-affine-transformation-7-parameters-properties (function)
                                             array->bit-matrix (generic function)
                                             array->col-vector (generic function)
                                             array->complex-matrix (generic function)
                                             array->double-float-matrix (generic function)
                                             array->fixnum-matrix (generic function)
                                             array->float-matrix (generic function)
                                             array->integer-matrix (generic function)
                                            matrix->list (generic function)
                                             array->matrix (generic function)
                                             array->number-matrix (generic function)
                                             array->real-matrix (generic function)
                                             array->row-vector (generic function)
                                             array->sb16-matrix (generic function)
                                             array->sb32-matrix (generic function)
                                             array->sb8-matrix (generic function)
                                             array->single-float-matrix (generic function)
                                             array->t-matrix (generic function)
                                             array->ub16-matrix (generic function)
                                             array->ub32-matrix (generic function)
                                             array->ub8-matrix (generic function)
                                             array->unsigned-byte-matrix (generic function)
                                        def-matrix-abs (macro)
                                               mat-abs (generic function)
                                        def-matrix-abs! (macro)
                                               mat-abs! (generic function)
                                               mat-abs-range (generic function)
                                               mat-abs-range! (generic function)
                                 with-typed-matrix-accessor (macro)
                                                   accumulator-type (generic function)
                                                   accumulator-type (slot)
                                               mat-add (generic function)
                                                   add-col (generic function)
                                        def-matrix-add-number (macro)
                                        def-matrix-add-range (macro)
                                               mat-add-range (generic function)
                                                   add-root-class (function)
                                                   add-row (generic function)
                                        def-matrix-add-scalar (macro)
                                                   adjustable (slot)
                                                   affine-transform (generic function)
                                                   affine-transformation (class)
                                              copy-affine-transformation (generic function)
                                            invert-affine-transformation (generic function)
                                              make-affine-transformation (function)
                                              move-affine-transformation (generic function)
                                                   affine-transformation-7-parameters (class)
                                              copy-affine-transformation-7-parameters (function)
                                              move-affine-transformation-7-parameters (function)
                                               get-affine-transformation-7-parameters-properties (function)
                                               set-affine-transformation-matrix (generic function)
                                              make-affine-transformation-matrix-from-7-parameters (function)
                                               set-affine-transformation-parameters (generic function)
                                                   allocate-matrix-vals (generic function)
                                    fill-slot-from-ancestor (function)
             fill-standard-matrix-class-slots-from-ancestors (function)
                                    remove-keyword-arg (function)
                                            matrix-argument-error (condition)
                                    displace-to-1d-array (function)
                                                   array->bit-matrix (generic function)
                                                   array->col-vector (generic function)
                                                   array->complex-matrix (generic function)
                                                   array->double-float-matrix (generic function)
                                                   array->fixnum-matrix (generic function)
                                                   array->float-matrix (generic function)
                                                   array->integer-matrix (generic function)
                                                   array->matrix (generic function)
                                                   array->number-matrix (generic function)
                                                   array->real-matrix (generic function)
                                                   array->row-vector (generic function)
                                                   array->sb16-matrix (generic function)
                                                   array->sb32-matrix (generic function)
                                                   array->sb8-matrix (generic function)
                                                   array->single-float-matrix (generic function)
                                                   array->t-matrix (generic function)
                                                   array->ub16-matrix (generic function)
                                                   array->ub32-matrix (generic function)
                                                   array->ub8-matrix (generic function)
                                                   array->unsigned-byte-matrix (generic function)
                                       specialized-array-p (generic function)
                                           get-row-as-col-vector (generic function)
                                                   b1 (variable)
                                                   b2 (variable)
                                                   b3 (variable)
                                                   base-vector (class)
                                            insert-before (function)
                                                   bench/add-matrix/aref (function)
                                                   bilinear-interpolate (macro)
                                               def-binary-op (macro)
                                                   binary-threshold (generic function)
                                                   bit-matrix (class)
                                           copy-to-bit-matrix (generic function)
                                            random-bit-matrix (generic function)
                                                   bit-scalar (class)
                                                   bitnor (function)
                                         %mat-mult-block (generic function)
                                   def-matrix-mult-block (macro)
                                        mat-mult-3-block (generic function)
                                              *max-block-size* (variable)
                                    %mat-mult-with-blocks (generic function)
                                          gaussian-blur (function)
                                           compute-bounds (function)
                                   array->unsigned-byte-matrix (generic function)
                                   random-unsigned-byte-matrix (generic function)
                                          unsigned-byte-matrix (class)
                                 %get-subtr-matrix-class (generic function)
                                          add-root-class (function)
                             closest-common-matrix-class (generic function)
                          compute-mat-scale-result-class (generic function)
                                   standard-matrix-class (class)
                                   standard-matrix-class-p (function)
                                   standard-matrix-class-precedence-list (function)
                                   standard-matrix-class-slots (function)
                              fill-standard-matrix-class-slots-from-ancestors (function)
                                                   closest-common-matrix-class (generic function)
                                             maybe-coerce (macro)
                                               add-col (generic function)
                         get-first-non-zero-row-in-col (generic function)
                                               map-col (generic function)
                                     scalar-divide-col (generic function)
                        scalar-double-float-divide-col (generic function)
                                       scalar-mult-col (generic function)
                        scalar-single-float-divide-col (generic function)
                                               set-col (generic function)
                                     *matrix-print-col-limit* (variable)
                                               get-col-list (generic function)
                                                   col-vector (class)
                                               get-col-vector (generic function)
                                        get-row-as-col-vector (generic function)
                                              zero-col-vector (generic function)
                                                   cols (generic function)
                                     concat-matrix-cols (generic function)
                                     subset-matrix-cols (generic function)
                                               sum-cols (generic function)
                                              swap-cols (generic function)
                                           closest-common-matrix-class (generic function)
                                                   complement-matrix (generic function)
                                                   complex-matrix (class)
                                           copy-to-complex-matrix (generic function)
                                            random-complex-matrix (generic function)
                                                   compute-bounds (function)
                                                   compute-mat-scale-result-class (generic function)
                                                   concat-matrix-cols (generic function)
                                            matrix-condition (condition)
                                                   constrain (function)
                              matrix-move-range-2d-constrain (generic function)
                                        *laplacian-conv-matrix* (variable)
                                     *x-derivative-conv-matrix* (variable)
                                     *y-derivative-conv-matrix* (variable)
                                        *laplacian-conv-matrix-2* (variable)
                                         %discrete-convolve (generic function)
                               %separable-discrete-convolve (generic function)
                                        def-matrix-convolve (macro)
                                          discrete-convolve (generic function)
                                separable-discrete-convolve (generic function)
                                         transform-coord (function)
                                        map-matrix-copy (generic function)
                                       map-set-val-copy (generic function)
                                               mat-copy (generic function)
                                     scalar-divide-copy (generic function)
                                       scalar-mult-copy (generic function)
                                                   copy-affine-transformation (generic function)
                                                   copy-affine-transformation-7-parameters (function)
                                               mat-copy-into (generic function)
                                               mat-copy-proto (generic function)
                                               mat-copy-proto-dim (generic function)
                                                   copy-to-bit-matrix (generic function)
                                                   copy-to-complex-matrix (generic function)
                                                   copy-to-double-float-matrix (generic function)
                                                   copy-to-fixnum-matrix (generic function)
                                                   copy-to-matrix-type (function)
                                                   copy-to-sb16-matrix (generic function)
                                                   copy-to-sb32-matrix (generic function)
                                                   copy-to-sb8-matrix (generic function)
                                                   copy-to-single-float-matrix (generic function)
                                                   copy-to-ub16-matrix (generic function)
                                                   copy-to-ub32-matrix (generic function)
                                                   copy-to-ub8-matrix (generic function)
                                                   count-range (function)
                                                   cvref (generic function)
                                                   decf-transformation-parameters (function)
                                                   def-binary-op (macro)
                                                   def-matrix-abs (macro)
                                                   def-matrix-abs! (macro)
                                                   def-matrix-add-number (macro)
                                                   def-matrix-add-range (macro)
                                                   def-matrix-add-scalar (macro)
                                                   def-matrix-convolve (macro)
                                                   def-matrix-equal (macro)
                                                   def-matrix-hprod (macro)
                                                   def-matrix-hprod! (macro)
                                                   def-matrix-min-max (macro)
                                                   def-matrix-move (macro)
                                                   def-matrix-mult (macro)
                                                   def-matrix-mult-block (macro)
                                                   def-matrix-scale-2 (macro)
                                                   def-matrix-scale-fit (macro)
                                                   def-matrix-scale-fit! (macro)
                                                   def-matrix-square (macro)
                                                   def-matrix-subset-matrix (macro)
                                                   def-matrix-subtr (macro)
                                                   def-matrix-transform (macro)
                                                   def-move-element (macro)
                                                   def-unary-op (macro)
                                                   defmatrixclass (macro)
                                                   defmatrixfuncs (macro)
                                                   defmbitnor (macro)
                                                   defmbitnor! (macro)
                                                   delistify (function)
                                                   delistify-dsd (function)
                                                 x-derivative (function)
                                                 y-derivative (function)
                                                *x-derivative-conv-matrix* (variable)
                                                *y-derivative-conv-matrix* (variable)
                                          standard-deviation (function)
                                                   dilate (generic function)
                                                   dim (generic function)
                                    mat-copy-proto-dim (generic function)
                                               vec-dim (generic function)
                                            matrix-dimensions (macro)
                                        %separable-discrete-convolve (generic function)
                                                   discrete-convolve (generic function)
                                         separable-discrete-convolve (generic function)
                                                   displace-to-1d-array (function)
                                         matrix-l2-distance (generic function)
                                      double-float-divide (function)
                                            scalar-divide (generic function)
                                            scalar-divide-col (generic function)
                               scalar-double-float-divide-col (generic function)
                               scalar-single-float-divide-col (generic function)
                                            scalar-divide-copy (generic function)
                                            scalar-divide-row (generic function)
                               scalar-double-float-divide-row (generic function)
                               scalar-single-float-divide-row (generic function)
                                 with-matrix-range-do (macro)
                                                   double-float-divide (function)
                                            scalar-double-float-divide-col (generic function)
                                            scalar-double-float-divide-row (generic function)
                                           copy-to-double-float-matrix (generic function)
                                                   double-float-matrix (class)
                                            random-double-float-matrix (generic function)
                                         delistify-dsd (function)
                                          def-move-element (macro)
                                           initial-element (slot)
                                              move-element (generic function)
                                                   element-type (generic function)
                                                   element-type (slot)
                                        def-matrix-equal (macro)
                                               mat-equal (generic function)
                                               mat-equal-range (generic function)
                                                   erode (generic function)
                                   matrix-argument-error (condition)
                                            matrix-error (condition)
                                                   fill-slot-from-ancestor (function)
                                                   fill-standard-matrix-class-slots-from-ancestors (function)
                                               get-first-non-zero-row-in-col (generic function)
                                  def-matrix-scale-fit (macro)
                                                   fit (generic function)
                                        map-matrix-fit (generic function)
                                       map-set-val-fit (generic function)
                                         mat-scale-fit (generic function)
                                           set-val-fit (generic function)
                                  def-matrix-scale-fit! (macro)
                                         mat-scale-fit! (generic function)
                                         mat-scale-fit-range (generic function)
                                         mat-scale-fit-range! (generic function)
                                                   fit-value (generic function)
                                           copy-to-fixnum-matrix (generic function)
                                                   fixnum-matrix (class)
                                            random-fixnum-matrix (generic function)
                                                   fixnum1+ (macro)
                                            double-float-divide (function)
                                     scalar-double-float-divide-col (generic function)
                                     scalar-single-float-divide-col (generic function)
                                     scalar-double-float-divide-row (generic function)
                                     scalar-single-float-divide-row (generic function)
                                     *print-matrix-float-format* (variable)
                                     array->double-float-matrix (generic function)
                                     array->single-float-matrix (generic function)
                                    copy-to-double-float-matrix (generic function)
                                    copy-to-single-float-matrix (generic function)
                                            double-float-matrix (class)
                                                   float-matrix (class)
                                     random-double-float-matrix (generic function)
                                            random-float-matrix (generic function)
                                     random-single-float-matrix (generic function)
                                            single-float-matrix (class)
                                   get-matrix-name-for-type (function)
                                   get-matrix-type-for-type (function)
                                               val-format (generic function)
                                               val-format (slot)
                               *print-matrix-float-format* (variable)
                 make-affine-transformation-matrix-from-7-parameters (function)
                                         fill-slot-from-ancestor (function)
                  fill-standard-matrix-class-slots-from-ancestors (function)
                                                   gaussian-blur (function)
                                                   gaussian-kernel (function)
                                                   gaussian-kernel-1d (function)
                                                   get-affine-transformation-7-parameters-properties (function)
                                                   get-col-list (generic function)
                                                   get-col-vector (generic function)
                                                   get-first-non-zero-row-in-col (generic function)
                                                   get-matrix-name-for-type (function)
                                                   get-matrix-type-for-type (function)
                                                   get-row-as-col-vector (generic function)
                                                   get-row-list (generic function)
                                                   get-row-vector (generic function)
                                                   graddir (function)
                                                   gradmag (function)
                               *typed-matrix-names-hash* (variable)
                               *typed-matrix-types-hash* (variable)
                                                   horzcat (generic function)
                                        def-matrix-hprod (macro)
                                               mat-hprod (generic function)
                                        def-matrix-hprod! (macro)
                                               mat-hprod! (generic function)
                                               mat-hprod-range (generic function)
                                               mat-hprod-range! (generic function)
                                                   identity-matrix (generic function)
                            get-first-non-zero-row-in-col (generic function)
                                                   inferior (function)
                                                   initial-element (slot)
                                                   insert-before (function)
                                                   integer-matrix (class)
                                            random-integer-matrix (generic function)
                                          bilinear-interpolate (macro)
                                         quadratic-interpolate (macro)
                                          mat-copy-into (generic function)
                                                   invert-affine-transformation (generic function)
                                                   invert-matrix (generic function)
                                          gaussian-kernel (function)
                                         quadratic-kernel (macro)
                                          gaussian-kernel-1d (function)
                                            remove-keyword-arg (function)
                                            matrix-l2-distance (generic function)
                                                   laplacian (function)
                                                   laplacian-2 (function)
                                 *matrix-print-col-limit* (variable)
                                 *matrix-print-row-limit* (variable)
                                      print-matrix-line (function)
                                           get-col-list (generic function)
                                           get-row-list (generic function)
                                 matrix-precedence-list (generic function)
                  standard-matrix-class-precedence-list (function)
                                                   m* (generic function)
                                                   m+ (generic function)
                                                   m- (generic function)
                                                   m.* (generic function)
                                                   mabs (generic function)
                                               row-major-mref (generic function)
                                                   make-affine-transformation (function)
                                                   make-affine-transformation-matrix-from-7-parameters (function)
                                                   map-col (generic function)
                                                   map-matrix-copy (generic function)
                                                   map-matrix-fit (generic function)
                                                   map-range (generic function)
                                              with-map-range (macro)
                                        with-typed-map-range (macro)
                                                   map-row (generic function)
                                                   map-set-range (generic function)
                                                   map-set-val (generic function)
                                                   map-set-val-copy (generic function)
                                                   map-set-val-fit (generic function)
                                                   mat-abs (generic function)
                                                   mat-abs! (generic function)
                                                   mat-abs-range (generic function)
                                                   mat-abs-range! (generic function)
                                                   mat-add (generic function)
                                                   mat-add-range (generic function)
                                                   mat-copy (generic function)
                                                   mat-copy-into (generic function)
                                                   mat-copy-proto (generic function)
                                                   mat-copy-proto-dim (generic function)
                                                   mat-equal (generic function)
                                                   mat-equal-range (generic function)
                                                   mat-hprod (generic function)
                                                   mat-hprod! (generic function)
                                                   mat-hprod-range (generic function)
                                                   mat-hprod-range! (generic function)
                                                   mat-mult (generic function)
                                                   mat-mult-3-block (generic function)
                                                   mat-mult3 (generic function)
                                                   mat-scalar-op (generic function)
                                                   mat-scale (generic function)
                                                   mat-scale-2 (generic function)
                                                   mat-scale-fit (generic function)
                                                   mat-scale-fit! (generic function)
                                                   mat-scale-fit-range (generic function)
                                                   mat-scale-fit-range! (generic function)
                                                   mat-scale-range-2 (generic function)
                                           compute-mat-scale-result-class (generic function)
                                                   mat-sqrt (generic function)
                                                   mat-sqrt! (generic function)
                                                   mat-square (generic function)
                                                   mat-square! (generic function)
                                                   mat-subtr (generic function)
                                                   mat-subtr-range (generic function)
                                                   mat-subtr-range3 (generic function)
                                                   mat-trim (generic function)
                                        %transform-matrix (generic function)
                                        array->bit-matrix (generic function)
                                    array->complex-matrix (generic function)
                               array->double-float-matrix (generic function)
                                     array->fixnum-matrix (generic function)
                                      array->float-matrix (generic function)
                                    array->integer-matrix (generic function)
                                     array->number-matrix (generic function)
                                       array->real-matrix (generic function)
                                       array->sb16-matrix (generic function)
                                       array->sb32-matrix (generic function)
                                        array->sb8-matrix (generic function)
                               array->single-float-matrix (generic function)
                                          array->t-matrix (generic function)
                                       array->ub16-matrix (generic function)
                                       array->ub32-matrix (generic function)
                                        array->ub8-matrix (generic function)
                              array->unsigned-byte-matrix (generic function)
                                               bit-matrix (class)
                                        complement-matrix (generic function)
                                           complex-matrix (class)
                                       copy-to-bit-matrix (generic function)
                                   copy-to-complex-matrix (generic function)
                              copy-to-double-float-matrix (generic function)
                                    copy-to-fixnum-matrix (generic function)
                                      copy-to-sb16-matrix (generic function)
                                      copy-to-sb32-matrix (generic function)
                                       copy-to-sb8-matrix (generic function)
                              copy-to-single-float-matrix (generic function)
                                      copy-to-ub16-matrix (generic function)
                                      copy-to-ub32-matrix (generic function)
                                       copy-to-ub8-matrix (generic function)
                                 def-matrix-subset-matrix (macro)
                                      double-float-matrix (class)
                                            fixnum-matrix (class)
                                             float-matrix (class)
                                          identity-matrix (generic function)
                                           integer-matrix (class)
                                            invert-matrix (generic function)
                                                   matrix (class)
                                            number-matrix (class)
                                               pad-matrix (generic function)
                                             print-matrix (generic function)
                                        random-bit-matrix (generic function)
                                    random-complex-matrix (generic function)
                               random-double-float-matrix (generic function)
                                     random-fixnum-matrix (generic function)
                                      random-float-matrix (generic function)
                                    random-integer-matrix (generic function)
                                            random-matrix (generic function)
                                     random-number-matrix (generic function)
                                       random-real-matrix (generic function)
                                       random-sb16-matrix (generic function)
                                       random-sb32-matrix (generic function)
                                        random-sb8-matrix (generic function)
                               random-single-float-matrix (generic function)
                                          random-t-matrix (generic function)
                                       random-ub16-matrix (generic function)
                                       random-ub32-matrix (generic function)
                                        random-ub8-matrix (generic function)
                              random-unsigned-byte-matrix (generic function)
                                              real-matrix (class)
                                            resize-matrix (function)
                                              sb16-matrix (class)
                                              sb32-matrix (class)
                                               sb8-matrix (class)
                         set-affine-transformation-matrix (generic function)
                                      single-float-matrix (class)
                                            subset-matrix (generic function)
                                                 t-matrix (class)
                                         transform-matrix (generic function)
                                         transpose-matrix (generic function)
                                             typed-matrix (class)
                                              ub16-matrix (class)
                                              ub32-matrix (class)
                                               ub8-matrix (class)
                                     unsigned-byte-matrix (class)
                                              zero-matrix (generic function)
                                   *laplacian-conv-matrix* (variable)
                                *x-derivative-conv-matrix* (variable)
                                *y-derivative-conv-matrix* (variable)
                                   *laplacian-conv-matrix-2* (variable)
                                                   matrix->list (generic function)
                                               def-matrix-abs (macro)
                                               def-matrix-abs! (macro)
                                        with-typed-matrix-accessor (macro)
                                               def-matrix-add-number (macro)
                                               def-matrix-add-range (macro)
                                               def-matrix-add-scalar (macro)
                                                   matrix-argument-error (condition)
                                        %get-subtr-matrix-class (generic function)
                                    closest-common-matrix-class (generic function)
                                          standard-matrix-class (class)
                                          standard-matrix-class-p (function)
                                          standard-matrix-class-precedence-list (function)
                                          standard-matrix-class-slots (function)
                                     fill-standard-matrix-class-slots-from-ancestors (function)
                                            concat-matrix-cols (generic function)
                                            subset-matrix-cols (generic function)
                                                   matrix-condition (condition)
                                               def-matrix-convolve (macro)
                                               map-matrix-copy (generic function)
                                                   matrix-dimensions (macro)
                                               def-matrix-equal (macro)
                                                   matrix-error (condition)
                                               map-matrix-fit (generic function)
                                            *print-matrix-float-format* (variable)
                        make-affine-transformation-matrix-from-7-parameters (function)
                                               def-matrix-hprod (macro)
                                               def-matrix-hprod! (macro)
                                                   matrix-l2-distance (generic function)
                                             print-matrix-line (function)
                                                   matrix-means (function)
                                                   matrix-medians (function)
                                               def-matrix-min-max (macro)
                                               def-matrix-move (macro)
                                                   matrix-move (generic function)
                                                   matrix-move-range-2d (generic function)
                                                   matrix-move-range-2d-constrain (generic function)
                                               def-matrix-mult (macro)
                                               def-matrix-mult-block (macro)
                                               get-matrix-name-for-type (function)
                                            *typed-matrix-names-hash* (variable)
                                            *print-matrix-newlines* (variable)
                                                   matrix-precedence-list (generic function)
                                              with-matrix-range-do (macro)
                                               def-matrix-scale-2 (macro)
                                               def-matrix-scale-fit (macro)
                                               def-matrix-scale-fit! (macro)
                                               def-matrix-square (macro)
                                               def-matrix-subset-matrix (macro)
                                               def-matrix-subtr (macro)
                                                   matrix-total-size (macro)
                                               def-matrix-transform (macro)
                                           copy-to-matrix-type (function)
                                               get-matrix-type-for-type (function)
                                            *typed-matrix-types* (variable)
                                            *typed-matrix-types-hash* (variable)
                                          allocate-matrix-vals (generic function)
                                              with-matrix-vals (macro)
                                        with-typed-matrix-vals (macro)
                                      with-untyped-matrix-vals (macro)
                                         bench/add-matrix/aref (function)
                                    def-matrix-min-max (macro)
                                                   max-range (generic function)
                                                   max-val (generic function)
                                                   maxval (generic function)
                                                   maxval (slot)
                                                   maybe-coerce (macro)
                                                   maybe-truncate (macro)
                                                   mbitnor (generic function)
                                                   mbitnor! (generic function)
                                                   mbitnor!-range (generic function)
                                                   mbitnor-range (generic function)
                                                   mean (generic function)
                                                   mean-range (generic function)
                                            matrix-means (function)
                                            matrix-medians (function)
                                        def-matrix-min-max (macro)
                                                   min-range (generic function)
                                                   min-val (generic function)
                                                   minval (generic function)
                                                   minval (slot)
                                             typed-mixin (class)
                                                   mlogand (generic function)
                                                   mlogand-range (generic function)
                                                   mlogior (generic function)
                                                   mlogior-range (generic function)
                                                   mlognot (generic function)
                                                   mlognot-range (generic function)
                                                   mlogxor (generic function)
                                                   mlogxor-range (generic function)
                                                   mloop (macro)
                                                   mloop-range (macro)
                                             parse-mloop-vars (function)
                                                   morphological-op (generic function)
                                         separable-morphological-op (function)
                                        def-matrix-move (macro)
                                            matrix-move (generic function)
                                                   move-affine-transformation (generic function)
                                                   move-affine-transformation-7-parameters (function)
                                               def-move-element (macro)
                                                   move-element (generic function)
                                            matrix-move-range-2d (generic function)
                                            matrix-move-range-2d-constrain (generic function)
                                                   mref (generic function)
                                         row-major-mref (generic function)
                                        with-typed-mref (macro)
                                        def-matrix-mult (macro)
                                               mat-mult (generic function)
                                            scalar-mult (generic function)
                                               mat-mult-3-block (generic function)
                                              %mat-mult-block (generic function)
                                        def-matrix-mult-block (macro)
                                            scalar-mult-col (generic function)
                                            scalar-mult-copy (generic function)
                                            scalar-mult-row (generic function)
                                              %mat-mult-with-blocks (generic function)
                                               mat-mult3 (generic function)
                                        get-matrix-name-for-type (function)
                                     *typed-matrix-names-hash* (variable)
                                     *print-matrix-newlines* (variable)
                                         get-first-non-zero-row-in-col (generic function)
                                                   norm-0-1 (generic function)
                                                   norm-0-255 (generic function)
                                                   normalize (generic function)
                                    def-matrix-add-number (macro)
                                                   number-matrix (class)
                                            random-number-matrix (generic function)
                                        def-binary-op (macro)
                                         def-unary-op (macro)
                                        mat-scalar-op (generic function)
                                     morphological-op (generic function)
                           separable-morphological-op (function)
                                 specialized-array-p (generic function)
                             standard-matrix-class-p (function)
                                                   pad-matrix (generic function)
                                    transformation-parameter (function)
                           affine-transformation-7-parameters (class)
                      copy-affine-transformation-7-parameters (function)
                               decf-transformation-parameters (function)
          make-affine-transformation-matrix-from-7-parameters (function)
                      move-affine-transformation-7-parameters (function)
                         set-affine-transformation-parameters (generic function)
                       get-affine-transformation-7-parameters-properties (function)
                                                   parse-mloop-vars (function)
                                            matrix-precedence-list (generic function)
                             standard-matrix-class-precedence-list (function)
                                           *matrix-print* (variable)
                                           *matrix-print-col-limit* (variable)
                                                   print-matrix (generic function)
                                                   print-matrix-line (function)
                                                   print-range (generic function)
                                           *matrix-print-row-limit* (variable)
            get-affine-transformation-7-parameters-properties (function)
                                          mat-copy-proto (generic function)
                                          mat-copy-proto-dim (generic function)
                                                   quadratic-interpolate (macro)
                                                   quadratic-kernel (macro)
                                                   random-bit-matrix (generic function)
                                                   random-complex-matrix (generic function)
                                                   random-double-float-matrix (generic function)
                                                   random-fixnum-matrix (generic function)
                                                   random-float-matrix (generic function)
                                                   random-integer-matrix (generic function)
                                                   random-matrix (generic function)
                                                   random-number-matrix (generic function)
                                                   random-real-matrix (generic function)
                                                   random-sb16-matrix (generic function)
                                                   random-sb32-matrix (generic function)
                                                   random-sb8-matrix (generic function)
                                                   random-single-float-matrix (generic function)
                                                   random-t-matrix (generic function)
                                                   random-ub16-matrix (generic function)
                                                   random-ub32-matrix (generic function)
                                                   random-ub8-matrix (generic function)
                                                   random-unsigned-byte-matrix (generic function)
                                             %%sum-range (macro)
                                             count-range (function)
                                    def-matrix-add-range (macro)
                                               map-range (generic function)
                                           map-set-range (generic function)
                                           mat-abs-range (generic function)
                                           mat-add-range (generic function)
                                         mat-equal-range (generic function)
                                         mat-hprod-range (generic function)
                                     mat-scale-fit-range (generic function)
                                         mat-subtr-range (generic function)
                                               max-range (generic function)
                                          mbitnor!-range (generic function)
                                           mbitnor-range (generic function)
                                              mean-range (generic function)
                                               min-range (generic function)
                                           mlogand-range (generic function)
                                           mlogior-range (generic function)
                                           mlognot-range (generic function)
                                           mlogxor-range (generic function)
                                             mloop-range (macro)
                                             print-range (generic function)
                                   sample-variance-range (generic function)
                                               sum-range (generic function)
                                        sum-square-range (generic function)
                                          variance-range (generic function)
                                          with-map-range (macro)
                                    with-typed-map-range (macro)
                                           mat-abs-range! (generic function)
                                         mat-hprod-range! (generic function)
                                     mat-scale-fit-range! (generic function)
                                         mat-scale-range-2 (generic function)
                                       matrix-move-range-2d (generic function)
                                       matrix-move-range-2d-constrain (generic function)
                                       with-matrix-range-do (macro)
                                         mat-subtr-range3 (generic function)
                                            random-real-matrix (generic function)
                                                   real-matrix (class)
                                                   remove-keyword-arg (function)
                                                   reshape (generic function)
                                                   resize-matrix (function)
                                 compute-mat-scale-result-class (generic function)
                                               add-root-class (function)
                                               add-row (generic function)
                                               map-row (generic function)
                                     scalar-divide-row (generic function)
                        scalar-double-float-divide-row (generic function)
                                       scalar-mult-row (generic function)
                        scalar-single-float-divide-row (generic function)
                                               set-row (generic function)
                                               get-row-as-col-vector (generic function)
                                get-first-non-zero-row-in-col (generic function)
                                     *matrix-print-row-limit* (variable)
                                               get-row-list (generic function)
                                                   row-major-mref (generic function)
                                               get-row-vector (generic function)
                                                   row-vector (class)
                                              zero-row-vector (generic function)
                                                   rows (generic function)
                                               sum-rows (generic function)
                                              swap-rows (generic function)
                                                   rvref (generic function)
                                                   sample-variance (generic function)
                                                   sample-variance-range (generic function)
                                                   sample-variance-window (function)
                                           copy-to-sb16-matrix (generic function)
                                            random-sb16-matrix (generic function)
                                                   sb16-matrix (class)
                                           copy-to-sb32-matrix (generic function)
                                            random-sb32-matrix (generic function)
                                                   sb32-matrix (class)
                                           copy-to-sb8-matrix (generic function)
                                            random-sb8-matrix (generic function)
                                                   sb8-matrix (class)
                                                   sb8-scalar (class)
                                               bit-scalar (class)
                                    def-matrix-add-scalar (macro)
                                               sb8-scalar (class)
                                                   scalar (function)
                                                   scalar (class)
                                               ub8-scalar (class)
                                                   scalar-divide (generic function)
                                                   scalar-divide-col (generic function)
                                                   scalar-divide-copy (generic function)
                                                   scalar-divide-row (generic function)
                                                   scalar-double-float-divide-col (generic function)
                                                   scalar-double-float-divide-row (generic function)
                                                   scalar-mult (generic function)
                                                   scalar-mult-col (generic function)
                                                   scalar-mult-copy (generic function)
                                                   scalar-mult-row (generic function)
                                               mat-scalar-op (generic function)
                                                   scalar-set-val (generic function)
                                                   scalar-single-float-divide-col (generic function)
                                                   scalar-single-float-divide-row (generic function)
                                                   scalar-val (generic function)
                                               mat-scale (generic function)
                                                 x-scale (slot)
                                                 y-scale (slot)
                                        def-matrix-scale-2 (macro)
                                               mat-scale-2 (generic function)
                                        def-matrix-scale-fit (macro)
                                               mat-scale-fit (generic function)
                                        def-matrix-scale-fit! (macro)
                                               mat-scale-fit! (generic function)
                                               mat-scale-fit-range (generic function)
                                               mat-scale-fit-range! (generic function)
                                               mat-scale-range-2 (generic function)
                                       compute-mat-scale-result-class (generic function)
                                                   separable-discrete-convolve (generic function)
                                                   separable-morphological-op (function)
                                                   set-affine-transformation-matrix (generic function)
                                                   set-affine-transformation-parameters (generic function)
                                                   set-col (generic function)
                                               map-set-range (generic function)
                                                   set-row (generic function)
                                               map-set-val (generic function)
                                            scalar-set-val (generic function)
                                                   set-val (generic function)
                                               vec-set-val (generic function)
                                               map-set-val-copy (generic function)
                                               map-set-val-fit (generic function)
                                                   set-val-fit (generic function)
                                                 x-shear (slot)
                                                 y-shear (slot)
                                                 x-shift (slot)
                                                 y-shift (slot)
                                            scalar-single-float-divide-col (generic function)
                                            scalar-single-float-divide-row (generic function)
                                           copy-to-single-float-matrix (generic function)
                                            random-single-float-matrix (generic function)
                                                   single-float-matrix (class)
                                      matrix-total-size (macro)
                                        *max-block-size* (variable)
                                              fill-slot-from-ancestor (function)
                             standard-matrix-class-slots (function)
                        fill-standard-matrix-class-slots-from-ancestors (function)
                                                   specialized-array-p (generic function)
                                               mat-sqrt (generic function)
                                               mat-sqrt! (generic function)
                                        def-matrix-square (macro)
                                               mat-square (generic function)
                                               sum-square (generic function)
                                               mat-square! (generic function)
                                               sum-square-range (generic function)
                                                   standard-deviation (function)
                                                   standard-matrix-class (class)
                                                   standard-matrix-class-p (function)
                                                   standard-matrix-class-precedence-list (function)
                                                   standard-matrix-class-slots (function)
                                              fill-standard-matrix-class-slots-from-ancestors (function)
                                                   subclassp (function)
                                        def-matrix-subset-matrix (macro)
                                                   subset-matrix (generic function)
                                                   subset-matrix-cols (generic function)
                                        def-matrix-subtr (macro)
                                               mat-subtr (generic function)
                                              %get-subtr-matrix-class (generic function)
                                               mat-subtr-range (generic function)
                                               mat-subtr-range3 (generic function)
                                                   sum (generic function)
                                                   sum-cols (generic function)
                                                   sum-range (generic function)
                                                   sum-rows (generic function)
                                                   sum-square (generic function)
                                                   sum-square-range (generic function)
                                                   superior (function)
                                                   swap-cols (generic function)
                                                   swap-rows (generic function)
                                            random-t-matrix (generic function)
                                                   t-matrix (class)
                                                   theta (slot)
                                            binary-threshold (generic function)
                                                   threshold (generic function)
                                          displace-to-1d-array (function)
                                              copy-to-bit-matrix (generic function)
                                              copy-to-complex-matrix (generic function)
                                              copy-to-double-float-matrix (generic function)
                                              copy-to-fixnum-matrix (generic function)
                                              copy-to-matrix-type (function)
                                              copy-to-sb16-matrix (generic function)
                                              copy-to-sb32-matrix (generic function)
                                              copy-to-sb8-matrix (generic function)
                                              copy-to-single-float-matrix (generic function)
                                              copy-to-ub16-matrix (generic function)
                                              copy-to-ub32-matrix (generic function)
                                              copy-to-ub8-matrix (generic function)
                                            matrix-total-size (macro)
                                            affine-transform (generic function)
                                        def-matrix-transform (macro)
                                                   transform-coord (function)
                                                   transform-matrix (generic function)
                                            affine-transformation (class)
                                       copy-affine-transformation (generic function)
                                     invert-affine-transformation (generic function)
                                       make-affine-transformation (function)
                                       move-affine-transformation (generic function)
                                            affine-transformation-7-parameters (class)
                                       copy-affine-transformation-7-parameters (function)
                                       move-affine-transformation-7-parameters (function)
                                        get-affine-transformation-7-parameters-properties (function)
                                        set-affine-transformation-matrix (generic function)
                                       make-affine-transformation-matrix-from-7-parameters (function)
                                                   transformation-parameter (function)
                                              decf-transformation-parameters (function)
                                        set-affine-transformation-parameters (generic function)
                                                   transpose (generic function)
                                                   transpose-matrix (generic function)
                                               mat-trim (generic function)
                                             maybe-truncate (macro)
                                       accumulator-type (generic function)
                                       accumulator-type (slot)
                                    copy-to-matrix-type (function)
                                           element-type (generic function)
                                           element-type (slot)
                               get-matrix-name-for-type (function)
                               get-matrix-type-for-type (function)
                                        get-matrix-type-for-type (function)
                                              with-typed-map-range (macro)
                                                   typed-matrix (class)
                                              with-typed-matrix-accessor (macro)
                                              with-typed-matrix-vals (macro)
                                                   typed-mixin (class)
                                              with-typed-mref (macro)
                                     *typed-matrix-types* (variable)
                                     *typed-matrix-types-hash* (variable)
                                           copy-to-ub16-matrix (generic function)
                                            random-ub16-matrix (generic function)
                                                   ub16-matrix (class)
                                           copy-to-ub32-matrix (generic function)
                                            random-ub32-matrix (generic function)
                                                   ub32-matrix (class)
                                           copy-to-ub8-matrix (generic function)
                                            random-ub8-matrix (generic function)
                                                   ub8-matrix (class)
                                                   ub8-scalar (class)
                                               def-unary-op (macro)
                                            random-unsigned-byte-matrix (generic function)
                                                   unsigned-byte-matrix (class)
                                              with-untyped-matrix-vals (macro)
                                           map-set-val (generic function)
                                               max-val (generic function)
                                               min-val (generic function)
                                        scalar-set-val (generic function)
                                            scalar-val (generic function)
                                               set-val (generic function)
                                                   val (generic function)
                                           vec-set-val (generic function)
                                               vec-val (generic function)
                                           map-set-val-copy (generic function)
                                           map-set-val-fit (generic function)
                                               set-val-fit (generic function)
                                                   val-format (generic function)
                                                   val-format (slot)
                                   allocate-matrix-vals (generic function)
                                       with-matrix-vals (macro)
                                 with-typed-matrix-vals (macro)
                               with-untyped-matrix-vals (macro)
                                               fit-value (generic function)
                                            sample-variance (generic function)
                                                   variance (generic function)
                                            sample-variance-range (generic function)
                                                   variance-range (generic function)
                                            sample-variance-window (function)
                                                   variance-window (function)
                                       parse-mloop-vars (function)
                                                   vec-dim (generic function)
                                                   vec-set-val (generic function)
                                                   vec-val (generic function)
                                        array->col-vector (generic function)
                                        array->row-vector (generic function)
                                              base-vector (class)
                                               col-vector (class)
                                           get-col-vector (generic function)
                                    get-row-as-col-vector (generic function)
                                           get-row-vector (generic function)
                                               row-vector (class)
                                          zero-col-vector (generic function)
                                          zero-row-vector (generic function)
                                                   vertcat (generic function)
                                   sample-variance-window (function)
                                          variance-window (function)
                                         %mat-mult-with-blocks (generic function)
                                                   with-map-range (macro)
                                                   with-matrix-range-do (macro)
                                                   with-matrix-vals (macro)
                                                   with-typed-map-range (macro)
                                                   with-typed-matrix-accessor (macro)
                                                   with-typed-matrix-vals (macro)
                                                   with-typed-mref (macro)
                                                   with-untyped-matrix-vals (macro)
                                                   x-derivative (function)
                                                   x-scale (slot)
                                                   x-shear (slot)
                                                   x-shift (slot)
                                                   y-derivative (function)
                                                   y-scale (slot)
                                                   y-shear (slot)
                                                   y-shift (slot)
                                                   zero-col-vector (generic function)
                                                   zero-matrix (generic function)
                                     get-first-non-zero-row-in-col (generic function)
                                                   zero-row-vector (generic function)
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-symbol.html b/external/clem/doc/tinaa/clem-package/index-of-symbol.html deleted file mode 100644 index 7a9f96a..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-symbol.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Symbol

Symbol Index

%%sum-range

%discrete-convolve

%get-subtr-matrix-class

%mat-mult-block

%mat-mult-with-blocks

%separable-discrete-convolve

%transform-matrix

%transfrom-matrix

*laplacian-conv-matrix*
variable

*laplacian-conv-matrix-2*
variable

*m1*
variable

*matrix-print*
variable

*matrix-print-col-limit*
variable

*matrix-print-row-limit*
variable

*max-block-size*
variable

*print-matrix-float-format*
variable

*print-matrix-newlines*
variable

*typed-matrix-names-hash*
variable

*typed-matrix-types*
variable

*typed-matrix-types-hash*
variable

*x-derivative-conv-matrix*
variable

*y-derivative-conv-matrix*
variable

+epsilon+
constant

accumulator-type
slot

add-col

add-root-class

add-row

adjustable
slot

affine-transform

affine-transformation

affine-transformation-7-parameters

allocate-matrix-vals

array->bit-matrix

array->col-vector

array->complex-matrix

array->double-float-matrix

array->fixnum-matrix

array->float-matrix

array->integer-matrix

array->matrix

array->number-matrix

array->real-matrix

array->row-vector

array->sb16-matrix

array->sb32-matrix

array->sb8-matrix

array->single-float-matrix

array->t-matrix

array->ub16-matrix

array->ub32-matrix

array->ub8-matrix

array->unsigned-byte-matrix

b1
variable

b2
variable

b3
variable

base-vector

bench/add-matrix/aref

bilinear-interpolate

binary-threshold

bit-matrix

bit-scalar

bitnor

closest-common-matrix-class

col-vector

cols

complement-matrix

complex-matrix

compute-bounds

compute-mat-scale-result-class

concat-matrix-cols

constrain

copy-affine-transformation

copy-affine-transformation-7-parameters

copy-to-bit-matrix

copy-to-complex-matrix

copy-to-double-float-matrix

copy-to-fixnum-matrix

copy-to-matrix-type

copy-to-sb16-matrix

copy-to-sb32-matrix

copy-to-sb8-matrix

copy-to-single-float-matrix

copy-to-ub16-matrix

copy-to-ub32-matrix

copy-to-ub8-matrix

count-range

cvref

decf-transformation-parameters

def-binary-op

def-matrix-abs

def-matrix-abs!

def-matrix-add-number

def-matrix-add-range

def-matrix-add-scalar

def-matrix-convolve

def-matrix-equal

def-matrix-hprod

def-matrix-hprod!

def-matrix-min-max

def-matrix-move

def-matrix-mult

def-matrix-mult-block

def-matrix-scale-2

def-matrix-scale-fit

def-matrix-scale-fit!

def-matrix-square

def-matrix-subset-matrix

def-matrix-subtr

def-matrix-transform

def-move-element

def-unary-op

defmatrixclass

defmatrixfuncs

defmbitnor

defmbitnor!

delistify

delistify-dsd

dilate

dim

discrete-convolve

displace-to-1d-array

double-float-divide

double-float-matrix

element-type
slot

erode

fill-slot-from-ancestor

fill-standard-matrix-class-slots-from-ancestors

fit

fit-value

fixnum-matrix

fixnum1+

float-matrix

gaussian-blur

gaussian-kernel

gaussian-kernel-1d

get-affine-transformation-7-parameters-properties

get-col-list

get-col-vector

get-first-non-zero-row-in-col

get-matrix-name-for-type

get-matrix-type-for-type

get-row-as-col-vector

get-row-list

get-row-vector

graddir

gradmag

horzcat

identity-matrix

inferior

initial-element
slot

insert-before

integer-matrix

invert-affine-transformation

invert-matrix

laplacian

laplacian-2

m*

m+

m-

m.*

mabs

mabs-range

mabs-range!

make-affine-transformation

make-affine-transformation-matrix-from-7-parameters

map-col

map-matrix-copy

map-matrix-fit

map-range

map-row

map-set-range

map-set-val

map-set-val-copy

map-set-val-fit

mat-abs

mat-abs!

mat-abs-range

mat-abs-range!

mat-add

mat-add-range

mat-copy

mat-copy-into

mat-copy-proto

mat-copy-proto-dim

mat-equal

mat-equal-range

mat-hprod

mat-hprod!

mat-hprod-range

mat-hprod-range!

mat-mult

mat-mult-3-block

mat-mult3

mat-scalar-op

mat-scale

mat-scale-2

mat-scale-fit

mat-scale-fit!

mat-scale-fit-range

mat-scale-fit-range!

mat-scale-range-2

mat-sqrt

mat-sqrt!

mat-square

mat-square!

mat-subtr

mat-subtr-range

mat-subtr-range3

mat-trim

matrix

matrix->list

matrix-argument-error

matrix-condition

matrix-dimensions

matrix-error

matrix-l2-distance

matrix-means

matrix-medians

matrix-move

matrix-move-range-2d

matrix-move-range-2d-constrain

matrix-precedence-list

matrix-total-size

matrix-vals

max-range

max-val

maxval
slot

maybe-coerce

maybe-truncate

mbitnor

mbitnor!

mbitnor!-range

mbitnor-range

mean

mean-range

min-range

min-val

minval
slot

mlog

mlog!

mlog-range

mlog-range!

mlogand

mlogand-range

mlogior

mlogior-range

mlognot

mlognot-range

mlogxor

mlogxor-range

mloop

mloop-range

morphological-op

move-affine-transformation

move-affine-transformation-7-parameters

move-element

mref

norm-0-1

norm-0-255

normalize

number-matrix

pad-matrix

parse-mloop-vars

print-matrix

print-matrix-line

print-range

quadratic-interpolate

quadratic-kernel

random-bit-matrix

random-complex-matrix

random-double-float-matrix

random-fixnum-matrix

random-float-matrix

random-integer-matrix

random-matrix

random-number-matrix

random-real-matrix

random-sb16-matrix

random-sb32-matrix

random-sb8-matrix

random-single-float-matrix

random-t-matrix

random-ub16-matrix

random-ub32-matrix

random-ub8-matrix

random-unsigned-byte-matrix

real-matrix

remove-keyword-arg

reshape

resizable

resize-matrix

row-major-mref

row-vector

rows

rvref

sample-variance

sample-variance-range

sample-variance-window

sb16-matrix

sb32-matrix

sb8-matrix

sb8-scalar

scalar

scalar-divide

scalar-divide-col

scalar-divide-copy

scalar-divide-row

scalar-double-float-divide-col

scalar-double-float-divide-row

scalar-mult

scalar-mult-col

scalar-mult-copy

scalar-mult-row

scalar-set-val

scalar-single-float-divide-col

scalar-single-float-divide-row

scalar-val

separable-discrete-convolve

separable-morphological-op

set-affine-transformation-matrix

set-affine-transformation-parameters

set-col

set-row

set-val

set-val-fit

single-float-matrix

specialized-array-p

standard-deviation

standard-matrix-class

standard-matrix-class-p

standard-matrix-class-precedence-list

standard-matrix-class-slots

subclassp

subset-matrix

subset-matrix-cols

sum

sum-cols

sum-range

sum-rows

sum-square

sum-square-range

superior

swap-cols

swap-rows

t-matrix

theta
slot

threshold

transform-coord

transform-matrix

transformation-parameter

transpose

transpose-matrix

typed-matrix

typed-mixin

ub16-matrix

ub32-matrix

ub8-matrix

ub8-scalar

unsigned-byte-matrix

val

val-format
slot

variance

variance-range

variance-window

vec-dim

vec-set-val

vec-val

vertcat

with-map-range

with-matrix-range-do

with-matrix-vals

with-typed-map-range

with-typed-matrix-accessor

with-typed-matrix-vals

with-typed-mref

with-untyped-matrix-vals

x-derivative

x-scale
slot

x-shear
slot

x-shift
slot

y-derivative

y-scale
slot

y-shear
slot

y-shift
slot

zero-col-vector

zero-matrix

zero-row-vector

\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index-of-variable.html b/external/clem/doc/tinaa/clem-package/index-of-variable.html deleted file mode 100644 index 48267b6..0000000 --- a/external/clem/doc/tinaa/clem-package/index-of-variable.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Variable

Variable Index

A
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z

*laplacian-conv-matrix*

*laplacian-conv-matrix-2*

*m1*

*matrix-print*

*matrix-print-col-limit*

*matrix-print-row-limit*

*max-block-size*

*print-matrix-float-format*

*print-matrix-newlines*

*typed-matrix-names-hash*

*typed-matrix-types*

*typed-matrix-types-hash*

*x-derivative-conv-matrix*

*y-derivative-conv-matrix*

b1

b2

b3

+epsilon+

\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/index.html b/external/clem/doc/tinaa/clem-package/index.html deleted file mode 100644 index 46f012b..0000000 --- a/external/clem/doc/tinaa/clem-package/index.html +++ /dev/null @@ -1 +0,0 @@ -Package Clem [Tinaa]

Package Clem - external symbols

Package Clem uses the packages Asdf, Common-Lisp and Sb-Mop. It has 699 total symbols and 164 external ones.

Class

affine-transformationa matrix that represents an affine-transformation
affine-transformation-7-parametersa set of parameters for use in
(over-) parameterizing an affine transformation by use of seven
parameters, x-shift, y-shift, theta, x-scale, y-scale, x-shear,
and y-shear.
bit-matrix
complex-matrix
double-float-matrix
fixnum-matrix
float-matrix
integer-matrix
matrix
number-matrix
real-matrix
sb16-matrix
sb32-matrix
sb8-matrix
sb8-scalar
single-float-matrix
t-matrix
typed-matrix
ub16-matrix
ub32-matrix
ub8-matrix
ub8-scalar
unsigned-byte-matrix

Function

compute-boundstakes a region bound by x1 and x2 on the x-axis and y1 and y2 on
the y-axis and returns the coordinates of the bounding rectangle
after applying the affine transform xfrm
copy-affine-transformation-7-parameters
decf-transformation-parameters
gaussian-blur
gaussian-kernel
get-affine-transformation-7-parameters-properties
gradmag
laplacian
make-affine-transformation
make-affine-transformation-matrix-from-7-parameters
matrix-means
matrix-medians
move-affine-transformation-7-parameters
sample-variance-window
transform-coordapplies the affine transformation xfrm to the point {x,y} and
returns the position of the point after applying the transformation
transformation-parameter
variance-window
x-derivative
y-derivative

Generic-Function

affine-transform
array->bit-matrix
array->complex-matrix
array->double-float-matrix
array->fixnum-matrix
array->integer-matrix
array->matrix
array->real-matrix
array->sb16-matrix
array->sb32-matrix
array->sb8-matrix
array->single-float-matrix
array->t-matrix
array->ub16-matrix
array->ub32-matrix
array->ub8-matrix
binary-threshold
colsReturns the number of columns in the matrix.
copy-to-bit-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
erode
horzcat
identity-matrix
invert-matrix
m*General purpose matrix multiplication
operator. If one argument is supplied, returns that matrix. If
two arguments are supplied, if both are matrices, performs a
matrix multiplication equivalent to multiplying the first
matrix by the second matrix. if one argument is a matrix and
the other a number, m* scales the matrix by the numeric
argument. If more than two arguments are supplied, the first
two arguments are treated as in the two argument case and the
results are then multiplied by th...
m+Element-wise addition of matrices. All matrices
must be of the same dimensions. Returns a matrix of the same size as
each matrix in matrices, whoses elements are the some of the
corresponding elements from each matrix in matrices.
m-When passed a single matrix, returns a new
matrix of the same dimensions as matrix whose elemnts are the
result of perforing a unary minus (or sign inversion) on each
element in the matrix. When passed more than one matrix,
performs element-wise subtraction of each matrix after the
first from the first matrix and returns a new matrix containing
these values.
m.*Hadamard multiplication operator. Performs an
element-wise multiplication of the elements in each matrix.
map-col
map-matrix-fit
map-row
mat-abs
mat-abs-range
mat-add
mat-copy-into
mat-copy-proto
mat-equal
mat-hprod
mat-hprod!
mat-mult
mat-scale
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-trim
matrix-move
matrix-move-range-2d
max-val
min-val
mlogand
mlogior
mlogxor
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
random-bit-matrix
random-complex-matrix
random-double-float-matrix
random-fixnum-matrix
random-integer-matrix
random-matrixCreate a matrix of type <matrix-class> having
<rows> rows and <cols> cols. The values of the matrix will be
random numbers of the appropriate type between 0 and <limit>.
random-real-matrix
random-sb16-matrix
random-sb32-matrix
random-sb8-matrix
random-single-float-matrix
random-t-matrix
random-ub16-matrix
random-ub32-matrix
random-ub8-matrix
rowsReturns the number of rows in the matrix.
scalar-divide
scalar-divide-col
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult-col
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
separable-discrete-convolve
set-valSets the value of the element at row i, column j of
matrix m to v.
subset-matrix
sum
sum-range
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transform-matrixapplies the affine transform xfrm to the contents of matrix m
and places the contents in n. The default supported classes
of interpolation are :quadratic, :bilinear
and :nearest-neighbor.
transpose
valReturns the value of the element in the ith row of
the jth column of the matrix m.
vertcat
zero-matrix

Macro

mloop
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/internal-index.html b/external/clem/doc/tinaa/clem-package/internal-index.html deleted file mode 100644 index 5c67c52..0000000 --- a/external/clem/doc/tinaa/clem-package/internal-index.html +++ /dev/null @@ -1 +0,0 @@ -Package Clem [Tinaa]

Package Clem - internal and external symbols

Package Clem uses the packages Asdf, Common-Lisp and Sb-Mop. It has 699 total symbols and 164 external ones.

Variable

*laplacian-conv-matrix*
*laplacian-conv-matrix-2*
*m1*
*matrix-print*
*matrix-print-col-limit*
*matrix-print-row-limit*
*max-block-size*
*print-matrix-float-format*
*print-matrix-newlines*
*typed-matrix-names-hash*
*typed-matrix-types*
*typed-matrix-types-hash*
*x-derivative-conv-matrix*
*y-derivative-conv-matrix*
b1
b2
b3

Constant

+epsilon+

Generic-Function

%discrete-convolve
%get-subtr-matrix-class
%mat-mult-block
%mat-mult-with-blocks
%separable-discrete-convolve
%transform-matrix
accumulator-typethe type of the result of various mathematical
opreations on instances of this matrix class. needs work.
add-col
add-row
affine-transform
allocate-matrix-vals
array->bit-matrix
array->col-vector
array->complex-matrix
array->double-float-matrix
array->fixnum-matrix
array->float-matrix
array->integer-matrix
array->matrix
array->number-matrix
array->real-matrix
array->row-vector
array->sb16-matrix
array->sb32-matrix
array->sb8-matrix
array->single-float-matrix
array->t-matrix
array->ub16-matrix
array->ub32-matrix
array->ub8-matrix
array->unsigned-byte-matrix
binary-threshold
closest-common-matrix-class
colsReturns the number of columns in the matrix.
complement-matrix
compute-mat-scale-result-class
concat-matrix-cols
copy-affine-transformation
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dimReturns a list containg the number of
elments in each dimension of the matrix.
discrete-convolve
element-typethe type of the elements of instances
of this matrix class
erode
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
identity-matrix
invert-affine-transformation
invert-matrix
m*General purpose matrix multiplication
operator. If one argument is supplied, returns that matrix. If
two arguments are supplied, if both are matrices, performs a
matrix multiplication equivalent to multiplying the first
matrix by the second matrix. if one argument is a matrix and
the other a number, m* scales the matrix by the numeric
argument. If more than two arguments are supplied, the first
two arguments are treated as in the two argument case and the
results are then multiplied by th...
m+Element-wise addition of matrices. All matrices
must be of the same dimensions. Returns a matrix of the same size as
each matrix in matrices, whoses elements are the some of the
corresponding elements from each matrix in matrices.
m-When passed a single matrix, returns a new
matrix of the same dimensions as matrix whose elemnts are the
result of perforing a unary minus (or sign inversion) on each
element in the matrix. When passed more than one matrix,
performs element-wise subtraction of each matrix after the
first from the first matrix and returns a new matrix containing
these values.
m.*Hadamard multiplication operator. Performs an
element-wise multiplication of the elements in each matrix.
mabs
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-add
mat-add-range
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-equal
mat-equal-range
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-mult
mat-mult-3-block
mat-mult3
mat-scalar-op
mat-scale
mat-scale-2
mat-scale-fit
mat-scale-fit!
mat-scale-fit-range
mat-scale-fit-range!
mat-scale-range-2
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-subtr-range3
mat-trim
matrix->list
matrix-l2-distance
matrix-move
matrix-move-range-2d
matrix-move-range-2d-constrain
matrix-precedence-list
max-range
max-val
maxvalthe maximum value allowed by instances
of this matrix class.
mbitnor
mbitnor!
mbitnor!-range
mbitnor-range
mean
mean-range
min-range
min-val
minvalthe minimum value allowed by instances
of this matrix class.
mlogand
mlogand-range
mlogior
mlogior-range
mlognotPerforms element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
mlognot-range
mlogxor
mlogxor-range
morphological-op
move-affine-transformation
move-elementCopy the contents of the element at row i1, column
j1, in matrix m to the element at row i2, column j2, in matrix n.
mrefReturns the value of the element in the ith row of
the jth column of the matrix m.
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
random-bit-matrix
random-complex-matrix
random-double-float-matrix
random-fixnum-matrix
random-float-matrix
random-integer-matrix
random-matrixCreate a matrix of type <matrix-class> having
<rows> rows and <cols> cols. The values of the matrix will be
random numbers of the appropriate type between 0 and <limit>.
random-number-matrix
random-real-matrix
random-sb16-matrix
random-sb32-matrix
random-sb8-matrix
random-single-float-matrix
random-t-matrix
random-ub16-matrix
random-ub32-matrix
random-ub8-matrix
random-unsigned-byte-matrix
reshape
row-major-mref
rowsReturns the number of rows in the matrix.
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
separable-discrete-convolve
set-affine-transformation-matrix
set-affine-transformation-parameters
set-col
set-row
set-valSets the value of the element at row i, column j of
matrix m to v.
set-val-fit
specialized-array-p
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transform-matrixapplies the affine transform xfrm to the contents of matrix m
and places the contents in n. The default supported classes
of interpolation are :quadratic, :bilinear
and :nearest-neighbor.
transpose
transpose-matrix
valReturns the value of the element in the ith row of
the jth column of the matrix m.
val-formatthe format string used to print out
element values of instances of this matrix class
variance
variance-range
vec-dim
vec-set-val
vec-val
vertcat
zero-col-vector
zero-matrix
zero-row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-%%sum--range.html b/external/clem/doc/tinaa/clem-package/macro-%%sum--range.html deleted file mode 100644 index 3641173..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-%%sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro %%Sum-Range [Tinaa]

Macro %%Sum-Range

Part of:

package clem
( %%sum-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-bilinear--interpolate.html b/external/clem/doc/tinaa/clem-package/macro-bilinear--interpolate.html deleted file mode 100644 index c2711bc..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-bilinear--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Macro Bilinear-Interpolate [Tinaa]

Macro Bilinear-Interpolate

Part of:

package clem
( bilinear-interpolate &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--binary--op!.html b/external/clem/doc/tinaa/clem-package/macro-def--binary--op!.html deleted file mode 100644 index c2bfd01..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--binary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Binary-Op! [Tinaa]

Macro Def-Binary-Op!

Part of:

package clem
( def-binary-op! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--binary--op.html b/external/clem/doc/tinaa/clem-package/macro-def--binary--op.html deleted file mode 100644 index 3000a4c..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--binary--op.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Binary-Op [Tinaa]

Macro Def-Binary-Op

Part of:

package clem
( def-binary-op &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--abs!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--abs!.html deleted file mode 100644 index 1b4675d..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Abs! [Tinaa]

Macro Def-Matrix-Abs!

Part of:

package clem
( def-matrix-abs! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--abs.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--abs.html deleted file mode 100644 index ad36623..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--abs.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Abs [Tinaa]

Macro Def-Matrix-Abs

Part of:

package clem
( def-matrix-abs &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add!.html deleted file mode 100644 index a726dd0..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add! [Tinaa]

Macro Def-Matrix-Add!

Part of:

package clem
( def-matrix-add! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number!.html deleted file mode 100644 index ab509e5..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Number! [Tinaa]

Macro Def-Matrix-Add-Number!

Part of:

package clem
( def-matrix-add-number! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number.html deleted file mode 100644 index 55f31b5..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--number.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Number [Tinaa]

Macro Def-Matrix-Add-Number

Part of:

package clem
( def-matrix-add-number &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--range.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--range.html deleted file mode 100644 index bcf6319..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Range [Tinaa]

Macro Def-Matrix-Add-Range

Part of:

package clem
( def-matrix-add-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar!.html deleted file mode 100644 index 80ace87..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Scalar! [Tinaa]

Macro Def-Matrix-Add-Scalar!

Part of:

package clem
( def-matrix-add-scalar! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar.html deleted file mode 100644 index ce0f37d..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Scalar [Tinaa]

Macro Def-Matrix-Add-Scalar

Part of:

package clem
( def-matrix-add-scalar &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--add.html deleted file mode 100644 index 978e3f5..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--add.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add [Tinaa]

Macro Def-Matrix-Add

Part of:

package clem
( def-matrix-add &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--convolve.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--convolve.html deleted file mode 100644 index 9fdf3c8..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--convolve.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Convolve [Tinaa]

Macro Def-Matrix-Convolve

Part of:

package clem
( def-matrix-convolve &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--equal.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--equal.html deleted file mode 100644 index a2bb258..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--equal.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Equal [Tinaa]

Macro Def-Matrix-Equal

Part of:

package clem
( def-matrix-equal &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod!.html deleted file mode 100644 index bb12a12..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Hprod! [Tinaa]

Macro Def-Matrix-Hprod!

Part of:

package clem
( def-matrix-hprod! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod.html deleted file mode 100644 index 93d7b3d..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Hprod [Tinaa]

Macro Def-Matrix-Hprod

Part of:

package clem
( def-matrix-hprod &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--log!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--log!.html deleted file mode 100644 index 506cfa9..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--log!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Log! [Tinaa]

Macro Def-Matrix-Log!

Part of:

package clem
( def-matrix-log! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--log.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--log.html deleted file mode 100644 index 12d0217..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--log.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Log [Tinaa]

Macro Def-Matrix-Log

Part of:

package clem
( def-matrix-log &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--min--max.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--min--max.html deleted file mode 100644 index 3c62a72..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--min--max.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Min-Max [Tinaa]

Macro Def-Matrix-Min-Max

Part of:

package clem
( def-matrix-min-max &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--move.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--move.html deleted file mode 100644 index c62c1a9..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Move [Tinaa]

Macro Def-Matrix-Move

Part of:

package clem
( def-matrix-move &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--mref.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--mref.html deleted file mode 100644 index 3b58a89..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Mref [Tinaa]

Macro Def-Matrix-Mref

Part of:

package clem
( def-matrix-mref &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--mult--block.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--mult--block.html deleted file mode 100644 index c0d0b09..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Mult-Block [Tinaa]

Macro Def-Matrix-Mult-Block

Part of:

package clem
( def-matrix-mult-block &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--mult.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--mult.html deleted file mode 100644 index 751f1ca..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--mult.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Mult [Tinaa]

Macro Def-Matrix-Mult

Part of:

package clem
( def-matrix-mult &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale!.html deleted file mode 100644 index 5e89853..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale! [Tinaa]

Macro Def-Matrix-Scale!

Part of:

package clem
( def-matrix-scale! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--2.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--2.html deleted file mode 100644 index 3bb4fba..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--2.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale-2 [Tinaa]

Macro Def-Matrix-Scale-2

Part of:

package clem
( def-matrix-scale-2 &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit!.html deleted file mode 100644 index dc687c6..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale-Fit! [Tinaa]

Macro Def-Matrix-Scale-Fit!

Part of:

package clem
( def-matrix-scale-fit! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit.html deleted file mode 100644 index 2de7440..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale--fit.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale-Fit [Tinaa]

Macro Def-Matrix-Scale-Fit

Part of:

package clem
( def-matrix-scale-fit &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale.html deleted file mode 100644 index 8984fd0..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--scale.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale [Tinaa]

Macro Def-Matrix-Scale

Part of:

package clem
( def-matrix-scale &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--square.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--square.html deleted file mode 100644 index f63886b..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--square.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Square [Tinaa]

Macro Def-Matrix-Square

Part of:

package clem
( def-matrix-square &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--subset--matrix.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--subset--matrix.html deleted file mode 100644 index 6b97950..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Subset-Matrix [Tinaa]

Macro Def-Matrix-Subset-Matrix

Part of:

package clem
( def-matrix-subset-matrix &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr!.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr!.html deleted file mode 100644 index ae95dc3..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Subtr! [Tinaa]

Macro Def-Matrix-Subtr!

Part of:

package clem
( def-matrix-subtr! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr.html deleted file mode 100644 index 53db60d..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--subtr.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Subtr [Tinaa]

Macro Def-Matrix-Subtr

Part of:

package clem
( def-matrix-subtr &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--matrix--transform.html b/external/clem/doc/tinaa/clem-package/macro-def--matrix--transform.html deleted file mode 100644 index 1e6fb45..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--matrix--transform.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Transform [Tinaa]

Macro Def-Matrix-Transform

Part of:

package clem
( def-matrix-transform &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--move--element.html b/external/clem/doc/tinaa/clem-package/macro-def--move--element.html deleted file mode 100644 index 5dfda33..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--move--element.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Move-Element [Tinaa]

Macro Def-Move-Element

Part of:

package clem
( def-move-element &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--unary--op!.html b/external/clem/doc/tinaa/clem-package/macro-def--unary--op!.html deleted file mode 100644 index 4d99392..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--unary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Unary-Op! [Tinaa]

Macro Def-Unary-Op!

Part of:

package clem
( def-unary-op! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-def--unary--op.html b/external/clem/doc/tinaa/clem-package/macro-def--unary--op.html deleted file mode 100644 index 96a557d..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-def--unary--op.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Unary-Op [Tinaa]

Macro Def-Unary-Op

Part of:

package clem
( def-unary-op &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-defmatrixclass.html b/external/clem/doc/tinaa/clem-package/macro-defmatrixclass.html deleted file mode 100644 index cfc7add..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-defmatrixclass.html +++ /dev/null @@ -1 +0,0 @@ -Macro Defmatrixclass [Tinaa]

Macro Defmatrixclass

Part of:

package clem
( defmatrixclass &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-defmatrixfuncs.html b/external/clem/doc/tinaa/clem-package/macro-defmatrixfuncs.html deleted file mode 100644 index 71c8b6f..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-defmatrixfuncs.html +++ /dev/null @@ -1 +0,0 @@ -Macro Defmatrixfuncs [Tinaa]

Macro Defmatrixfuncs

Part of:

package clem
( defmatrixfuncs &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-defmbitnor!.html b/external/clem/doc/tinaa/clem-package/macro-defmbitnor!.html deleted file mode 100644 index bb1e418..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-defmbitnor!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Defmbitnor! [Tinaa]

Macro Defmbitnor!

Part of:

package clem
( defmbitnor! &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-defmbitnor.html b/external/clem/doc/tinaa/clem-package/macro-defmbitnor.html deleted file mode 100644 index 61fa258..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-defmbitnor.html +++ /dev/null @@ -1 +0,0 @@ -Macro Defmbitnor [Tinaa]

Macro Defmbitnor

Part of:

package clem
( defmbitnor &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-fixnum1+.html b/external/clem/doc/tinaa/clem-package/macro-fixnum1+.html deleted file mode 100644 index d81ffc8..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-fixnum1+.html +++ /dev/null @@ -1 +0,0 @@ -Macro Fixnum1+ [Tinaa]

Macro Fixnum1+

Part of:

package clem
( fixnum1+ &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-matrix--dimensions.html b/external/clem/doc/tinaa/clem-package/macro-matrix--dimensions.html deleted file mode 100644 index 12eb79c..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-matrix--dimensions.html +++ /dev/null @@ -1 +0,0 @@ -Macro Matrix-Dimensions [Tinaa]

Macro Matrix-Dimensions

Part of:

package clem
( matrix-dimensions &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-matrix--total--size.html b/external/clem/doc/tinaa/clem-package/macro-matrix--total--size.html deleted file mode 100644 index 91f0d4a..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-matrix--total--size.html +++ /dev/null @@ -1 +0,0 @@ -Macro Matrix-Total-Size [Tinaa]

Macro Matrix-Total-Size

Part of:

package clem
( matrix-total-size &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-maybe--coerce.html b/external/clem/doc/tinaa/clem-package/macro-maybe--coerce.html deleted file mode 100644 index 5ee0113..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-maybe--coerce.html +++ /dev/null @@ -1 +0,0 @@ -Macro Maybe-Coerce [Tinaa]

Macro Maybe-Coerce

Part of:

package clem
( maybe-coerce &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-maybe--truncate.html b/external/clem/doc/tinaa/clem-package/macro-maybe--truncate.html deleted file mode 100644 index 16a5068..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-maybe--truncate.html +++ /dev/null @@ -1 +0,0 @@ -Macro Maybe-Truncate [Tinaa]

Macro Maybe-Truncate

Part of:

package clem
( maybe-truncate &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-mloop--range.html b/external/clem/doc/tinaa/clem-package/macro-mloop--range.html deleted file mode 100644 index 222df23..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-mloop--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro Mloop-Range [Tinaa]

Macro Mloop-Range

Part of:

package clem
( mloop-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-mloop.html b/external/clem/doc/tinaa/clem-package/macro-mloop.html deleted file mode 100644 index 23ecb17..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-mloop.html +++ /dev/null @@ -1 +0,0 @@ -Macro Mloop [Tinaa]

Macro Mloop

Part of:

package clem
( mloop &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-quadratic--interpolate.html b/external/clem/doc/tinaa/clem-package/macro-quadratic--interpolate.html deleted file mode 100644 index 44c99f7..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-quadratic--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Macro Quadratic-Interpolate [Tinaa]

Macro Quadratic-Interpolate

Part of:

package clem
( quadratic-interpolate &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-quadratic--kernel.html b/external/clem/doc/tinaa/clem-package/macro-quadratic--kernel.html deleted file mode 100644 index f3193e7..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-quadratic--kernel.html +++ /dev/null @@ -1 +0,0 @@ -Macro Quadratic-Kernel [Tinaa]

Macro Quadratic-Kernel

Part of:

package clem
( quadratic-kernel &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--map--range.html b/external/clem/doc/tinaa/clem-package/macro-with--map--range.html deleted file mode 100644 index 6fa1312..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--map--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Map-Range [Tinaa]

Macro With-Map-Range

Part of:

package clem
( with-map-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--matrix--range--do.html b/external/clem/doc/tinaa/clem-package/macro-with--matrix--range--do.html deleted file mode 100644 index 8c05f21..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--matrix--range--do.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Matrix-Range-Do [Tinaa]

Macro With-Matrix-Range-Do

Part of:

package clem
( with-matrix-range-do &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--matrix--vals.html b/external/clem/doc/tinaa/clem-package/macro-with--matrix--vals.html deleted file mode 100644 index c2fe9dd..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Matrix-Vals [Tinaa]

Macro With-Matrix-Vals

Part of:

package clem
( with-matrix-vals &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--typed--map--range.html b/external/clem/doc/tinaa/clem-package/macro-with--typed--map--range.html deleted file mode 100644 index 2c802bb..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--typed--map--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Typed-Map-Range [Tinaa]

Macro With-Typed-Map-Range

Part of:

package clem
( with-typed-map-range &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--accessor.html b/external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--accessor.html deleted file mode 100644 index c517c09..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--accessor.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Typed-Matrix-Accessor [Tinaa]

Macro With-Typed-Matrix-Accessor

Part of:

package clem
( with-typed-matrix-accessor &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--vals.html b/external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--vals.html deleted file mode 100644 index ec61de9..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--typed--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Typed-Matrix-Vals [Tinaa]

Macro With-Typed-Matrix-Vals

Part of:

package clem
( with-typed-matrix-vals &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--typed--mref.html b/external/clem/doc/tinaa/clem-package/macro-with--typed--mref.html deleted file mode 100644 index f1ce347..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--typed--mref.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Typed-Mref [Tinaa]

Macro With-Typed-Mref

Part of:

package clem
( with-typed-mref &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/macro-with--untyped--matrix--vals.html b/external/clem/doc/tinaa/clem-package/macro-with--untyped--matrix--vals.html deleted file mode 100644 index dd61124..0000000 --- a/external/clem/doc/tinaa/clem-package/macro-with--untyped--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Untyped-Matrix-Vals [Tinaa]

Macro With-Untyped-Matrix-Vals

Part of:

package clem
( with-untyped-matrix-vals &rest < args > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-%discrete--convolve.html b/external/clem/doc/tinaa/clem-package/method-%discrete--convolve.html deleted file mode 100644 index ac36299..0000000 --- a/external/clem/doc/tinaa/clem-package/method-%discrete--convolve.html +++ /dev/null @@ -1,2 +0,0 @@ -Method %Discrete-Convolve [Tinaa]

Method %Discrete-Convolve

( %discrete-convolve < u > < v > < z > &key (norm-v - t) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-%get--subtr--matrix--class.html b/external/clem/doc/tinaa/clem-package/method-%get--subtr--matrix--class.html deleted file mode 100644 index 6c9f6ea..0000000 --- a/external/clem/doc/tinaa/clem-package/method-%get--subtr--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Method %Get-Subtr-Matrix-Class [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-%mat--mult--block.html b/external/clem/doc/tinaa/clem-package/method-%mat--mult--block.html deleted file mode 100644 index fb80a35..0000000 --- a/external/clem/doc/tinaa/clem-package/method-%mat--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Method %Mat-Mult-Block [Tinaa]

Method %Mat-Mult-Block

( %mat-mult-block < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-%mat--mult--with--blocks.html b/external/clem/doc/tinaa/clem-package/method-%mat--mult--with--blocks.html deleted file mode 100644 index 113302f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-%mat--mult--with--blocks.html +++ /dev/null @@ -1 +0,0 @@ -Method %Mat-Mult-With-Blocks [Tinaa]

Method %Mat-Mult-With-Blocks

( %mat-mult-with-blocks < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-%separable--discrete--convolve.html b/external/clem/doc/tinaa/clem-package/method-%separable--discrete--convolve.html deleted file mode 100644 index a3b601b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-%separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Method %Separable-Discrete-Convolve [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-%transform--matrix.html b/external/clem/doc/tinaa/clem-package/method-%transform--matrix.html deleted file mode 100644 index 52c7956..0000000 --- a/external/clem/doc/tinaa/clem-package/method-%transform--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Method %Transform-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-accumulator--type.html b/external/clem/doc/tinaa/clem-package/method-accumulator--type.html deleted file mode 100644 index a9a70d1..0000000 --- a/external/clem/doc/tinaa/clem-package/method-accumulator--type.html +++ /dev/null @@ -1 +0,0 @@ -Method Accumulator-Type [Tinaa]

Method Accumulator-Type

( accumulator-type < smc > )
the type of the result of various mathematical
opreations on instances of this matrix class. needs work.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-add--col.html b/external/clem/doc/tinaa/clem-package/method-add--col.html deleted file mode 100644 index bdeec1c..0000000 --- a/external/clem/doc/tinaa/clem-package/method-add--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Add-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-add--row.html b/external/clem/doc/tinaa/clem-package/method-add--row.html deleted file mode 100644 index 8d826e4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-add--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Add-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-affine--transform.html b/external/clem/doc/tinaa/clem-package/method-affine--transform.html deleted file mode 100644 index d8a6d07..0000000 --- a/external/clem/doc/tinaa/clem-package/method-affine--transform.html +++ /dev/null @@ -1,7 +0,0 @@ -Method Affine-Transform [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-allocate--matrix--vals.html b/external/clem/doc/tinaa/clem-package/method-allocate--matrix--vals.html deleted file mode 100644 index b1a3173..0000000 --- a/external/clem/doc/tinaa/clem-package/method-allocate--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Method Allocate-Matrix-Vals [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-binary--threshold.html b/external/clem/doc/tinaa/clem-package/method-binary--threshold.html deleted file mode 100644 index 511e0be..0000000 --- a/external/clem/doc/tinaa/clem-package/method-binary--threshold.html +++ /dev/null @@ -1 +0,0 @@ -Method Binary-Threshold [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-closest--common--matrix--class.html b/external/clem/doc/tinaa/clem-package/method-closest--common--matrix--class.html deleted file mode 100644 index aa32e18..0000000 --- a/external/clem/doc/tinaa/clem-package/method-closest--common--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Method Closest-Common-Matrix-Class [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-cols.html b/external/clem/doc/tinaa/clem-package/method-cols.html deleted file mode 100644 index bdc3f34..0000000 --- a/external/clem/doc/tinaa/clem-package/method-cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Cols [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-complement--matrix.html b/external/clem/doc/tinaa/clem-package/method-complement--matrix.html deleted file mode 100644 index 958b069..0000000 --- a/external/clem/doc/tinaa/clem-package/method-complement--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Complement-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-compute--mat--scale--result--class.html b/external/clem/doc/tinaa/clem-package/method-compute--mat--scale--result--class.html deleted file mode 100644 index 845a5c0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-compute--mat--scale--result--class.html +++ /dev/null @@ -1 +0,0 @@ -Method Compute-Mat-Scale-Result-Class [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-concat--matrix--cols.html b/external/clem/doc/tinaa/clem-package/method-concat--matrix--cols.html deleted file mode 100644 index 7e15823..0000000 --- a/external/clem/doc/tinaa/clem-package/method-concat--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Concat-Matrix-Cols [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--affine--transformation.html b/external/clem/doc/tinaa/clem-package/method-copy--affine--transformation.html deleted file mode 100644 index f6d4cba..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Copy-Affine-Transformation [Tinaa]

Method Copy-Affine-Transformation

( copy-affine-transformation < xfrm > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--bit--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--bit--matrix.html deleted file mode 100644 index ba8f903..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--bit--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Bit-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--complex--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--complex--matrix.html deleted file mode 100644 index e8d27b2..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--complex--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Complex-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--double--float--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--double--float--matrix.html deleted file mode 100644 index 322cdaf..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--double--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Double-Float-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--fixnum--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--fixnum--matrix.html deleted file mode 100644 index 05d4a23..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--fixnum--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Fixnum-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--sb16--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--sb16--matrix.html deleted file mode 100644 index 2f2e893..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--sb16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Sb16-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--sb32--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--sb32--matrix.html deleted file mode 100644 index 4fa1a3f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--sb32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Sb32-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--sb8--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--sb8--matrix.html deleted file mode 100644 index 3957f25..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--sb8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Sb8-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--single--float--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--single--float--matrix.html deleted file mode 100644 index 00fd337..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--single--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Single-Float-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--ub16--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--ub16--matrix.html deleted file mode 100644 index 224d84a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--ub16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Ub16-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--ub32--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--ub32--matrix.html deleted file mode 100644 index 2419f51..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--ub32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Ub32-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-copy--to--ub8--matrix.html b/external/clem/doc/tinaa/clem-package/method-copy--to--ub8--matrix.html deleted file mode 100644 index 4f66e5d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-copy--to--ub8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Ub8-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-cvref.html b/external/clem/doc/tinaa/clem-package/method-cvref.html deleted file mode 100644 index c10893e..0000000 --- a/external/clem/doc/tinaa/clem-package/method-cvref.html +++ /dev/null @@ -1 +0,0 @@ -Method Cvref [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-decf--affine--transformation.html b/external/clem/doc/tinaa/clem-package/method-decf--affine--transformation.html deleted file mode 100644 index d927954..0000000 --- a/external/clem/doc/tinaa/clem-package/method-decf--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Decf-Affine-Transformation [Tinaa]

Method Decf-Affine-Transformation

( decf-affine-transformation < src > < dest > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-dilate--orig.html b/external/clem/doc/tinaa/clem-package/method-dilate--orig.html deleted file mode 100644 index 2097ace..0000000 --- a/external/clem/doc/tinaa/clem-package/method-dilate--orig.html +++ /dev/null @@ -1 +0,0 @@ -Method Dilate-Orig [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-dilate.html b/external/clem/doc/tinaa/clem-package/method-dilate.html deleted file mode 100644 index e9eba2f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-dilate.html +++ /dev/null @@ -1 +0,0 @@ -Method Dilate [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-dim.html b/external/clem/doc/tinaa/clem-package/method-dim.html deleted file mode 100644 index b264a9a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-dim.html +++ /dev/null @@ -1 +0,0 @@ -Method Dim [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-dim1.html b/external/clem/doc/tinaa/clem-package/method-dim1.html deleted file mode 100644 index b761346..0000000 --- a/external/clem/doc/tinaa/clem-package/method-dim1.html +++ /dev/null @@ -1 +0,0 @@ -Method Dim1 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-discrete--convolve.html b/external/clem/doc/tinaa/clem-package/method-discrete--convolve.html deleted file mode 100644 index 891cab9..0000000 --- a/external/clem/doc/tinaa/clem-package/method-discrete--convolve.html +++ /dev/null @@ -1,4 +0,0 @@ -Method Discrete-Convolve [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-element--type.html b/external/clem/doc/tinaa/clem-package/method-element--type.html deleted file mode 100644 index a401fc5..0000000 --- a/external/clem/doc/tinaa/clem-package/method-element--type.html +++ /dev/null @@ -1 +0,0 @@ -Method Element-Type [Tinaa]

Method Element-Type

( element-type < smc > )
the type of the elements of instances
of this matrix class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-erode--orig.html b/external/clem/doc/tinaa/clem-package/method-erode--orig.html deleted file mode 100644 index 703d6cf..0000000 --- a/external/clem/doc/tinaa/clem-package/method-erode--orig.html +++ /dev/null @@ -1 +0,0 @@ -Method Erode-Orig [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-erode.html b/external/clem/doc/tinaa/clem-package/method-erode.html deleted file mode 100644 index 2bba4c4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-erode.html +++ /dev/null @@ -1 +0,0 @@ -Method Erode [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-fit--value.html b/external/clem/doc/tinaa/clem-package/method-fit--value.html deleted file mode 100644 index 561e200..0000000 --- a/external/clem/doc/tinaa/clem-package/method-fit--value.html +++ /dev/null @@ -1 +0,0 @@ -Method Fit-Value [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-fit.html b/external/clem/doc/tinaa/clem-package/method-fit.html deleted file mode 100644 index 7e01bed..0000000 --- a/external/clem/doc/tinaa/clem-package/method-fit.html +++ /dev/null @@ -1 +0,0 @@ -Method Fit [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-get--col--list.html b/external/clem/doc/tinaa/clem-package/method-get--col--list.html deleted file mode 100644 index c31d275..0000000 --- a/external/clem/doc/tinaa/clem-package/method-get--col--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Get-Col-List [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-get--col--vector.html b/external/clem/doc/tinaa/clem-package/method-get--col--vector.html deleted file mode 100644 index 1d742ff..0000000 --- a/external/clem/doc/tinaa/clem-package/method-get--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Method Get-Col-Vector [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-get--first--non--zero--row--in--col.html b/external/clem/doc/tinaa/clem-package/method-get--first--non--zero--row--in--col.html deleted file mode 100644 index 6faa2eb..0000000 --- a/external/clem/doc/tinaa/clem-package/method-get--first--non--zero--row--in--col.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Get-First-Non-Zero-Row-In-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-get--row--as--col--vector.html b/external/clem/doc/tinaa/clem-package/method-get--row--as--col--vector.html deleted file mode 100644 index c403627..0000000 --- a/external/clem/doc/tinaa/clem-package/method-get--row--as--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Method Get-Row-As-Col-Vector [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-get--row--list.html b/external/clem/doc/tinaa/clem-package/method-get--row--list.html deleted file mode 100644 index 6c1fdad..0000000 --- a/external/clem/doc/tinaa/clem-package/method-get--row--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Get-Row-List [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-get--row--vector.html b/external/clem/doc/tinaa/clem-package/method-get--row--vector.html deleted file mode 100644 index 8a7d96b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-get--row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Method Get-Row-Vector [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-horzcat.html b/external/clem/doc/tinaa/clem-package/method-horzcat.html deleted file mode 100644 index 19dc433..0000000 --- a/external/clem/doc/tinaa/clem-package/method-horzcat.html +++ /dev/null @@ -1 +0,0 @@ -Method Horzcat [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-invert--affine--transformation.html b/external/clem/doc/tinaa/clem-package/method-invert--affine--transformation.html deleted file mode 100644 index 1cb7399..0000000 --- a/external/clem/doc/tinaa/clem-package/method-invert--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Invert-Affine-Transformation [Tinaa]

Method Invert-Affine-Transformation

( invert-affine-transformation < xfrm > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-invert--matrix.html b/external/clem/doc/tinaa/clem-package/method-invert--matrix.html deleted file mode 100644 index 6653cf3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-invert--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Invert-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mabs.html b/external/clem/doc/tinaa/clem-package/method-mabs.html deleted file mode 100644 index 78b1f86..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mabs.html +++ /dev/null @@ -1 +0,0 @@ -Method Mabs [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--col.html b/external/clem/doc/tinaa/clem-package/method-map--col.html deleted file mode 100644 index 912596a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--matrix--copy.html b/external/clem/doc/tinaa/clem-package/method-map--matrix--copy.html deleted file mode 100644 index 8daec57..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--matrix--copy.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Map-Matrix-Copy [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--matrix--fit.html b/external/clem/doc/tinaa/clem-package/method-map--matrix--fit.html deleted file mode 100644 index d47e7e0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--matrix--fit.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Matrix-Fit [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--range.html b/external/clem/doc/tinaa/clem-package/method-map--range.html deleted file mode 100644 index bf2338f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--row.html b/external/clem/doc/tinaa/clem-package/method-map--row.html deleted file mode 100644 index 8b46a29..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--set--range.html b/external/clem/doc/tinaa/clem-package/method-map--set--range.html deleted file mode 100644 index 108485b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--set--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Set-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--set--val--copy.html b/external/clem/doc/tinaa/clem-package/method-map--set--val--copy.html deleted file mode 100644 index 6266857..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--set--val--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Set-Val-Copy [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--set--val--fit.html b/external/clem/doc/tinaa/clem-package/method-map--set--val--fit.html deleted file mode 100644 index 6fc7528..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Map-Set-Val-Fit [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-map--set--val.html b/external/clem/doc/tinaa/clem-package/method-map--set--val.html deleted file mode 100644 index 0a802d5..0000000 --- a/external/clem/doc/tinaa/clem-package/method-map--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Set-Val [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--abs!.html b/external/clem/doc/tinaa/clem-package/method-mat--abs!.html deleted file mode 100644 index 9c71a25..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--abs--range!.html b/external/clem/doc/tinaa/clem-package/method-mat--abs--range!.html deleted file mode 100644 index 89242ec..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--abs--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs-Range! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--abs--range.html b/external/clem/doc/tinaa/clem-package/method-mat--abs--range.html deleted file mode 100644 index 87183dc..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--abs--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--abs.html b/external/clem/doc/tinaa/clem-package/method-mat--abs.html deleted file mode 100644 index d1b2b4e..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--abs.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--add!.html b/external/clem/doc/tinaa/clem-package/method-mat--add!.html deleted file mode 100644 index 4813dfa..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--add!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--add--range!.html b/external/clem/doc/tinaa/clem-package/method-mat--add--range!.html deleted file mode 100644 index ee287b4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--add--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add-Range! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--add--range.html b/external/clem/doc/tinaa/clem-package/method-mat--add--range.html deleted file mode 100644 index 23b81f3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--add--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--add.html b/external/clem/doc/tinaa/clem-package/method-mat--add.html deleted file mode 100644 index 18879af..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--add.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--copy--into.html b/external/clem/doc/tinaa/clem-package/method-mat--copy--into.html deleted file mode 100644 index 86a1730..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--copy--into.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Copy-Into [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--copy--proto--dim.html b/external/clem/doc/tinaa/clem-package/method-mat--copy--proto--dim.html deleted file mode 100644 index 9d4676b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--copy--proto--dim.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Mat-Copy-Proto-Dim [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--copy--proto.html b/external/clem/doc/tinaa/clem-package/method-mat--copy--proto.html deleted file mode 100644 index 3042bb7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--copy--proto.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Copy-Proto [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--copy.html b/external/clem/doc/tinaa/clem-package/method-mat--copy.html deleted file mode 100644 index 4742b6d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Copy [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--equal--range.html b/external/clem/doc/tinaa/clem-package/method-mat--equal--range.html deleted file mode 100644 index 4327d54..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--equal--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Equal-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--equal.html b/external/clem/doc/tinaa/clem-package/method-mat--equal.html deleted file mode 100644 index b1069b6..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--equal.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Equal [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--hprod!.html b/external/clem/doc/tinaa/clem-package/method-mat--hprod!.html deleted file mode 100644 index 4937448..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--hprod--range!.html b/external/clem/doc/tinaa/clem-package/method-mat--hprod--range!.html deleted file mode 100644 index 7bc7aa2..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--hprod--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod-Range! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--hprod--range.html b/external/clem/doc/tinaa/clem-package/method-mat--hprod--range.html deleted file mode 100644 index dc4712b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--hprod--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--hprod.html b/external/clem/doc/tinaa/clem-package/method-mat--hprod.html deleted file mode 100644 index 50c6cc5..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--log!.html b/external/clem/doc/tinaa/clem-package/method-mat--log!.html deleted file mode 100644 index 0b59f49..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--log!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--log--range!.html b/external/clem/doc/tinaa/clem-package/method-mat--log--range!.html deleted file mode 100644 index 4869193..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--log--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log-Range! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--log--range.html b/external/clem/doc/tinaa/clem-package/method-mat--log--range.html deleted file mode 100644 index a2b5f5a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--log--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--log.html b/external/clem/doc/tinaa/clem-package/method-mat--log.html deleted file mode 100644 index 36c8d3a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--log.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--mult--3--block.html b/external/clem/doc/tinaa/clem-package/method-mat--mult--3--block.html deleted file mode 100644 index b51c9d8..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--mult--3--block.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Mult-3-Block [Tinaa]

Method Mat-Mult-3-Block

( mat-mult-3-block < m > < n > < p > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--mult.html b/external/clem/doc/tinaa/clem-package/method-mat--mult.html deleted file mode 100644 index 1e12913..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--mult.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Mult [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--mult3.html b/external/clem/doc/tinaa/clem-package/method-mat--mult3.html deleted file mode 100644 index 9743eeb..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--mult3.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Mult3 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scalar--op.html b/external/clem/doc/tinaa/clem-package/method-mat--scalar--op.html deleted file mode 100644 index 573cdd2..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scalar--op.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scalar-Op [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale!.html b/external/clem/doc/tinaa/clem-package/method-mat--scale!.html deleted file mode 100644 index 262506e..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--2.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--2.html deleted file mode 100644 index f94b41f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--2.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-2 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit!.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--fit!.html deleted file mode 100644 index a9bc6c2..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Fit! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range!.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range!.html deleted file mode 100644 index d53732d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Fit-Range! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range.html deleted file mode 100644 index 5e139a6..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Fit-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--fit.html deleted file mode 100644 index ed60719..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--fit.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Fit [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--range!.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--range!.html deleted file mode 100644 index 823e503..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Range! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--range--2.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--range--2.html deleted file mode 100644 index 9c3d2e7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--range--2.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Range-2 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--range--fit!.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--range--fit!.html deleted file mode 100644 index 853d17d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--range--fit!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Range-Fit! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale--range.html b/external/clem/doc/tinaa/clem-package/method-mat--scale--range.html deleted file mode 100644 index 4783185..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--scale.html b/external/clem/doc/tinaa/clem-package/method-mat--scale.html deleted file mode 100644 index 903eafc..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--scale.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--sqrt!.html b/external/clem/doc/tinaa/clem-package/method-mat--sqrt!.html deleted file mode 100644 index 5776921..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--sqrt!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Sqrt! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--sqrt.html b/external/clem/doc/tinaa/clem-package/method-mat--sqrt.html deleted file mode 100644 index 292dc86..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--sqrt.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Sqrt [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--square!.html b/external/clem/doc/tinaa/clem-package/method-mat--square!.html deleted file mode 100644 index ab2672d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--square!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Square! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--square.html b/external/clem/doc/tinaa/clem-package/method-mat--square.html deleted file mode 100644 index ac0916c..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--square.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Square [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--subtr!--range.html b/external/clem/doc/tinaa/clem-package/method-mat--subtr!--range.html deleted file mode 100644 index 475e2a4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--subtr!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Subtr!-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--subtr!.html b/external/clem/doc/tinaa/clem-package/method-mat--subtr!.html deleted file mode 100644 index ff56ff0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Subtr! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--subtr--range.html b/external/clem/doc/tinaa/clem-package/method-mat--subtr--range.html deleted file mode 100644 index 4641e6f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--subtr--range.html +++ /dev/null @@ -1,4 +0,0 @@ -Method Mat-Subtr-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--subtr--range3.html b/external/clem/doc/tinaa/clem-package/method-mat--subtr--range3.html deleted file mode 100644 index 7e912ab..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--subtr--range3.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Subtr-Range3 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--subtr.html b/external/clem/doc/tinaa/clem-package/method-mat--subtr.html deleted file mode 100644 index 3a34230..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--subtr.html +++ /dev/null @@ -1,6 +0,0 @@ -Method Mat-Subtr [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mat--trim.html b/external/clem/doc/tinaa/clem-package/method-mat--trim.html deleted file mode 100644 index 312672e..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mat--trim.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Trim [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix---glist.html b/external/clem/doc/tinaa/clem-package/method-matrix---glist.html deleted file mode 100644 index 371b536..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix---glist.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix->List [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--argument--error--cause.html b/external/clem/doc/tinaa/clem-package/method-matrix--argument--error--cause.html deleted file mode 100644 index d32d0a0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--argument--error--cause.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Argument-Error-Cause [Tinaa]

Method Matrix-Argument-Error-Cause

( matrix-argument-error-cause < condition > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--l2--distance.html b/external/clem/doc/tinaa/clem-package/method-matrix--l2--distance.html deleted file mode 100644 index ef0a0fe..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--l2--distance.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-L2-Distance [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d--constrain.html b/external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d--constrain.html deleted file mode 100644 index a00a334..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d--constrain.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move-Range-2d-Constrain [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d.html b/external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d.html deleted file mode 100644 index c3c08f3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--move--range--2d.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move-Range-2d [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--move--range--constrain.html b/external/clem/doc/tinaa/clem-package/method-matrix--move--range--constrain.html deleted file mode 100644 index 64a1176..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--move--range--constrain.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move-Range-Constrain [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--move--range.html b/external/clem/doc/tinaa/clem-package/method-matrix--move--range.html deleted file mode 100644 index d5d38f3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--move--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--move.html b/external/clem/doc/tinaa/clem-package/method-matrix--move.html deleted file mode 100644 index 7905225..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-matrix--precedence--list.html b/external/clem/doc/tinaa/clem-package/method-matrix--precedence--list.html deleted file mode 100644 index d8b83f1..0000000 --- a/external/clem/doc/tinaa/clem-package/method-matrix--precedence--list.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Precedence-List [Tinaa]

Method Matrix-Precedence-List

( matrix-precedence-list < c > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-max--range.html b/external/clem/doc/tinaa/clem-package/method-max--range.html deleted file mode 100644 index b9122d3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-max--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Max-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-max--val.html b/external/clem/doc/tinaa/clem-package/method-max--val.html deleted file mode 100644 index 8293c58..0000000 --- a/external/clem/doc/tinaa/clem-package/method-max--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Max-Val [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-maxval.html b/external/clem/doc/tinaa/clem-package/method-maxval.html deleted file mode 100644 index d2f0e8b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-maxval.html +++ /dev/null @@ -1 +0,0 @@ -Method Maxval [Tinaa]

Method Maxval

( maxval < smc > )
the maximum value allowed by instances
of this matrix class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mbitnor!--range.html b/external/clem/doc/tinaa/clem-package/method-mbitnor!--range.html deleted file mode 100644 index a3d0dc9..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mbitnor!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mbitnor!-Range [Tinaa]

Method Mbitnor!-Range

( mbitnor!-range < m > < n > < startr > < endr > < startc > < endc > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mbitnor!.html b/external/clem/doc/tinaa/clem-package/method-mbitnor!.html deleted file mode 100644 index 3f23d4f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mbitnor!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mbitnor! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mbitnor--range.html b/external/clem/doc/tinaa/clem-package/method-mbitnor--range.html deleted file mode 100644 index b614e79..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mbitnor--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mbitnor-Range [Tinaa]

Method Mbitnor-Range

( mbitnor-range < m > < n > < startr > < endr > < startc > < endc > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mbitnor.html b/external/clem/doc/tinaa/clem-package/method-mbitnor.html deleted file mode 100644 index 6b11cbd..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mbitnor.html +++ /dev/null @@ -1 +0,0 @@ -Method Mbitnor [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mean--range.html b/external/clem/doc/tinaa/clem-package/method-mean--range.html deleted file mode 100644 index 43d883c..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mean--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mean-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mean.html b/external/clem/doc/tinaa/clem-package/method-mean.html deleted file mode 100644 index 3824820..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mean.html +++ /dev/null @@ -1 +0,0 @@ -Method Mean [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-min--range.html b/external/clem/doc/tinaa/clem-package/method-min--range.html deleted file mode 100644 index dfd207a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-min--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Min-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-min--val.html b/external/clem/doc/tinaa/clem-package/method-min--val.html deleted file mode 100644 index 1a1ec16..0000000 --- a/external/clem/doc/tinaa/clem-package/method-min--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Min-Val [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-minval.html b/external/clem/doc/tinaa/clem-package/method-minval.html deleted file mode 100644 index dca0cd9..0000000 --- a/external/clem/doc/tinaa/clem-package/method-minval.html +++ /dev/null @@ -1 +0,0 @@ -Method Minval [Tinaa]

Method Minval

( minval < smc > )
the minimum value allowed by instances
of this matrix class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogand!--range.html b/external/clem/doc/tinaa/clem-package/method-mlogand!--range.html deleted file mode 100644 index 25d8915..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogand!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand!-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogand!.html b/external/clem/doc/tinaa/clem-package/method-mlogand!.html deleted file mode 100644 index 8adb4e4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogand!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogand--range.html b/external/clem/doc/tinaa/clem-package/method-mlogand--range.html deleted file mode 100644 index 23b1618..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogand--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogand.html b/external/clem/doc/tinaa/clem-package/method-mlogand.html deleted file mode 100644 index 816d6f2..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogand.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogior!--range.html b/external/clem/doc/tinaa/clem-package/method-mlogior!--range.html deleted file mode 100644 index c9982e3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogior!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior!-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogior!.html b/external/clem/doc/tinaa/clem-package/method-mlogior!.html deleted file mode 100644 index f7fcc99..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogior!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogior--range.html b/external/clem/doc/tinaa/clem-package/method-mlogior--range.html deleted file mode 100644 index 267cdda..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogior--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogior.html b/external/clem/doc/tinaa/clem-package/method-mlogior.html deleted file mode 100644 index 16e9146..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogior.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlognot--range.html b/external/clem/doc/tinaa/clem-package/method-mlognot--range.html deleted file mode 100644 index a48a9f5..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlognot--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlognot-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlognot.html b/external/clem/doc/tinaa/clem-package/method-mlognot.html deleted file mode 100644 index abfd150..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlognot.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlognot [Tinaa]

Method Mlognot

( mlognot < m > &key < in-place > )
Performs element-wise logical negation of the
matrix m. If in-place is nil, returns a new matrix with the
resulting values, otherwise, destructively modifies matrix
m.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogxor!--range.html b/external/clem/doc/tinaa/clem-package/method-mlogxor!--range.html deleted file mode 100644 index df6153d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogxor!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor!-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogxor!.html b/external/clem/doc/tinaa/clem-package/method-mlogxor!.html deleted file mode 100644 index 246a80a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogxor!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogxor--range.html b/external/clem/doc/tinaa/clem-package/method-mlogxor--range.html deleted file mode 100644 index 125651d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogxor--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mlogxor.html b/external/clem/doc/tinaa/clem-package/method-mlogxor.html deleted file mode 100644 index 5036d5f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mlogxor.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mnot!--range.html b/external/clem/doc/tinaa/clem-package/method-mnot!--range.html deleted file mode 100644 index ef48897..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mnot!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot!-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mnot!.html b/external/clem/doc/tinaa/clem-package/method-mnot!.html deleted file mode 100644 index 174f3d9..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mnot!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot! [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mnot--range.html b/external/clem/doc/tinaa/clem-package/method-mnot--range.html deleted file mode 100644 index 803c98a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mnot--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mnot.html b/external/clem/doc/tinaa/clem-package/method-mnot.html deleted file mode 100644 index f20381d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mnot.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-morphological--op.html b/external/clem/doc/tinaa/clem-package/method-morphological--op.html deleted file mode 100644 index 30754c4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-morphological--op.html +++ /dev/null @@ -1 +0,0 @@ -Method Morphological-Op [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-move--affine--transformation.html b/external/clem/doc/tinaa/clem-package/method-move--affine--transformation.html deleted file mode 100644 index 75daa45..0000000 --- a/external/clem/doc/tinaa/clem-package/method-move--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Move-Affine-Transformation [Tinaa]

Method Move-Affine-Transformation

( move-affine-transformation < src > < dest > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-move--element.html b/external/clem/doc/tinaa/clem-package/method-move--element.html deleted file mode 100644 index a68f219..0000000 --- a/external/clem/doc/tinaa/clem-package/method-move--element.html +++ /dev/null @@ -1 +0,0 @@ -Method Move-Element [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-mref.html b/external/clem/doc/tinaa/clem-package/method-mref.html deleted file mode 100644 index cc383b7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-mref.html +++ /dev/null @@ -1 +0,0 @@ -Method Mref [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-norm--0--1.html b/external/clem/doc/tinaa/clem-package/method-norm--0--1.html deleted file mode 100644 index 0842743..0000000 --- a/external/clem/doc/tinaa/clem-package/method-norm--0--1.html +++ /dev/null @@ -1 +0,0 @@ -Method Norm-0-1 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-norm--0--255.html b/external/clem/doc/tinaa/clem-package/method-norm--0--255.html deleted file mode 100644 index 0c03efc..0000000 --- a/external/clem/doc/tinaa/clem-package/method-norm--0--255.html +++ /dev/null @@ -1 +0,0 @@ -Method Norm-0-255 [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-normalize.html b/external/clem/doc/tinaa/clem-package/method-normalize.html deleted file mode 100644 index 49359f4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-normalize.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Normalize [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-pad--matrix.html b/external/clem/doc/tinaa/clem-package/method-pad--matrix.html deleted file mode 100644 index 64165f7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-pad--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Pad-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-parameters--list.html b/external/clem/doc/tinaa/clem-package/method-parameters--list.html deleted file mode 100644 index e098569..0000000 --- a/external/clem/doc/tinaa/clem-package/method-parameters--list.html +++ /dev/null @@ -1 +0,0 @@ -Method Parameters-List [Tinaa]

Method Parameters-List

( parameters-list < xfrm > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-print--matrix.html b/external/clem/doc/tinaa/clem-package/method-print--matrix.html deleted file mode 100644 index ec566ea..0000000 --- a/external/clem/doc/tinaa/clem-package/method-print--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Print-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-print--range.html b/external/clem/doc/tinaa/clem-package/method-print--range.html deleted file mode 100644 index 14d8eb3..0000000 --- a/external/clem/doc/tinaa/clem-package/method-print--range.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Print-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-reshape.html b/external/clem/doc/tinaa/clem-package/method-reshape.html deleted file mode 100644 index 2a80502..0000000 --- a/external/clem/doc/tinaa/clem-package/method-reshape.html +++ /dev/null @@ -1 +0,0 @@ -Method Reshape [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-row--major--mref.html b/external/clem/doc/tinaa/clem-package/method-row--major--mref.html deleted file mode 100644 index 09d900c..0000000 --- a/external/clem/doc/tinaa/clem-package/method-row--major--mref.html +++ /dev/null @@ -1 +0,0 @@ -Method Row-Major-Mref [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-rows.html b/external/clem/doc/tinaa/clem-package/method-rows.html deleted file mode 100644 index 0a6b927..0000000 --- a/external/clem/doc/tinaa/clem-package/method-rows.html +++ /dev/null @@ -1 +0,0 @@ -Method Rows [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-rvref.html b/external/clem/doc/tinaa/clem-package/method-rvref.html deleted file mode 100644 index 3774f88..0000000 --- a/external/clem/doc/tinaa/clem-package/method-rvref.html +++ /dev/null @@ -1 +0,0 @@ -Method Rvref [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sample--variance--range.html b/external/clem/doc/tinaa/clem-package/method-sample--variance--range.html deleted file mode 100644 index 85601ff..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sample--variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Sample-Variance-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sample--variance.html b/external/clem/doc/tinaa/clem-package/method-sample--variance.html deleted file mode 100644 index 3ec0c7c..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sample--variance.html +++ /dev/null @@ -1 +0,0 @@ -Method Sample-Variance [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--divide--col.html b/external/clem/doc/tinaa/clem-package/method-scalar--divide--col.html deleted file mode 100644 index 0c68db6..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--divide--copy.html b/external/clem/doc/tinaa/clem-package/method-scalar--divide--copy.html deleted file mode 100644 index d3dd3cb..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--divide--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide-Copy [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--divide--row.html b/external/clem/doc/tinaa/clem-package/method-scalar--divide--row.html deleted file mode 100644 index 76978f1..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--divide.html b/external/clem/doc/tinaa/clem-package/method-scalar--divide.html deleted file mode 100644 index a94b3e0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--divide.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--col.html b/external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--col.html deleted file mode 100644 index 4a20fc4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Double-Float-Divide-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--row.html b/external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--row.html deleted file mode 100644 index 0705a8a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--double--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Double-Float-Divide-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--mult--col.html b/external/clem/doc/tinaa/clem-package/method-scalar--mult--col.html deleted file mode 100644 index 0138e0f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--mult--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--mult--copy.html b/external/clem/doc/tinaa/clem-package/method-scalar--mult--copy.html deleted file mode 100644 index 5f69a32..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--mult--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult-Copy [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--mult--row.html b/external/clem/doc/tinaa/clem-package/method-scalar--mult--row.html deleted file mode 100644 index 03fedb4..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--mult--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--mult.html b/external/clem/doc/tinaa/clem-package/method-scalar--mult.html deleted file mode 100644 index 4eefd34..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--mult.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--set--val.html b/external/clem/doc/tinaa/clem-package/method-scalar--set--val.html deleted file mode 100644 index 5b9f15f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Set-Val [Tinaa]

Method Scalar-Set-Val

( scalar-set-val < s > < v > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--col.html b/external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--col.html deleted file mode 100644 index 4660651..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Single-Float-Divide-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--row.html b/external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--row.html deleted file mode 100644 index 2203dea..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--single--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Single-Float-Divide-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-scalar--val.html b/external/clem/doc/tinaa/clem-package/method-scalar--val.html deleted file mode 100644 index 7f30725..0000000 --- a/external/clem/doc/tinaa/clem-package/method-scalar--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Val [Tinaa]

Method Scalar-Val

( scalar-val < s > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-separable--discrete--convolve.html b/external/clem/doc/tinaa/clem-package/method-separable--discrete--convolve.html deleted file mode 100644 index eb7cfc7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Method Separable-Discrete-Convolve [Tinaa]

Method Separable-Discrete-Convolve

( separable-discrete-convolve < m > < h1 > < h2 > &key (matrix-class - (class-of - m)) (norm-v - nil) (truncate - nil) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-set--affine--transformation--matrix.html b/external/clem/doc/tinaa/clem-package/method-set--affine--transformation--matrix.html deleted file mode 100644 index 9e8aea0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-set--affine--transformation--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Set-Affine-Transformation-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-set--affine--transformation--parameters.html b/external/clem/doc/tinaa/clem-package/method-set--affine--transformation--parameters.html deleted file mode 100644 index 566bf04..0000000 --- a/external/clem/doc/tinaa/clem-package/method-set--affine--transformation--parameters.html +++ /dev/null @@ -1,8 +0,0 @@ -Method Set-Affine-Transformation-Parameters [Tinaa]

Method Set-Affine-Transformation-Parameters

( set-affine-transformation-parameters < xfrm > &key (y-shift - 0.0d0) (x-shift - 0.0d0) (theta - 0.0d0) (y-scale - 1.0d0) (x-scale - 1.0d0) (y-shear - 0.0d0) (x-shear - 0.0d0) )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-set--col.html b/external/clem/doc/tinaa/clem-package/method-set--col.html deleted file mode 100644 index 788add0..0000000 --- a/external/clem/doc/tinaa/clem-package/method-set--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Set-Col [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-set--row.html b/external/clem/doc/tinaa/clem-package/method-set--row.html deleted file mode 100644 index 2bf3a26..0000000 --- a/external/clem/doc/tinaa/clem-package/method-set--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Set-Row [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-set--val--fit.html b/external/clem/doc/tinaa/clem-package/method-set--val--fit.html deleted file mode 100644 index 7422e78..0000000 --- a/external/clem/doc/tinaa/clem-package/method-set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Set-Val-Fit [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-set--val.html b/external/clem/doc/tinaa/clem-package/method-set--val.html deleted file mode 100644 index b2b2afd..0000000 --- a/external/clem/doc/tinaa/clem-package/method-set--val.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Set-Val [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-setfmref.html b/external/clem/doc/tinaa/clem-package/method-setfmref.html deleted file mode 100644 index 04d9f62..0000000 --- a/external/clem/doc/tinaa/clem-package/method-setfmref.html +++ /dev/null @@ -1 +0,0 @@ -Method (Setf Mref) [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-setfrow--major--mref.html b/external/clem/doc/tinaa/clem-package/method-setfrow--major--mref.html deleted file mode 100644 index 2a8a7b6..0000000 --- a/external/clem/doc/tinaa/clem-package/method-setfrow--major--mref.html +++ /dev/null @@ -1 +0,0 @@ -Method (Setf Row-Major-Mref) [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-slot--names.html b/external/clem/doc/tinaa/clem-package/method-slot--names.html deleted file mode 100644 index a42b588..0000000 --- a/external/clem/doc/tinaa/clem-package/method-slot--names.html +++ /dev/null @@ -1 +0,0 @@ -Method Slot-Names [Tinaa]

Method Slot-Names

( slot-names < class > )
Returns a list of the names of the slots of a class (including
both direct and inherited slots). It's like class-slot-names but on the
class, not an instance of the class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-specialized--array--p.html b/external/clem/doc/tinaa/clem-package/method-specialized--array--p.html deleted file mode 100644 index d20b0f8..0000000 --- a/external/clem/doc/tinaa/clem-package/method-specialized--array--p.html +++ /dev/null @@ -1 +0,0 @@ -Method Specialized-Array-P [Tinaa]

Method Specialized-Array-P

( specialized-array-p < typed-matrix > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-subset--matrix--cols.html b/external/clem/doc/tinaa/clem-package/method-subset--matrix--cols.html deleted file mode 100644 index 34b3c44..0000000 --- a/external/clem/doc/tinaa/clem-package/method-subset--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Subset-Matrix-Cols [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-subset--matrix.html b/external/clem/doc/tinaa/clem-package/method-subset--matrix.html deleted file mode 100644 index d98e906..0000000 --- a/external/clem/doc/tinaa/clem-package/method-subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Subset-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sum--cols.html b/external/clem/doc/tinaa/clem-package/method-sum--cols.html deleted file mode 100644 index eb235ad..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sum--cols.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Sum-Cols [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sum--range.html b/external/clem/doc/tinaa/clem-package/method-sum--range.html deleted file mode 100644 index a5149cb..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sum--rows.html b/external/clem/doc/tinaa/clem-package/method-sum--rows.html deleted file mode 100644 index 6d5af7a..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sum--rows.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Sum-Rows [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sum--square--range.html b/external/clem/doc/tinaa/clem-package/method-sum--square--range.html deleted file mode 100644 index 29be3f7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sum--square--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum-Square-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sum--square.html b/external/clem/doc/tinaa/clem-package/method-sum--square.html deleted file mode 100644 index 7c3aa8c..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sum--square.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum-Square [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-sum.html b/external/clem/doc/tinaa/clem-package/method-sum.html deleted file mode 100644 index 330288d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-sum.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-swap--cols.html b/external/clem/doc/tinaa/clem-package/method-swap--cols.html deleted file mode 100644 index 97ada5f..0000000 --- a/external/clem/doc/tinaa/clem-package/method-swap--cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Swap-Cols [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-swap--rows.html b/external/clem/doc/tinaa/clem-package/method-swap--rows.html deleted file mode 100644 index 5436665..0000000 --- a/external/clem/doc/tinaa/clem-package/method-swap--rows.html +++ /dev/null @@ -1 +0,0 @@ -Method Swap-Rows [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-threshold.html b/external/clem/doc/tinaa/clem-package/method-threshold.html deleted file mode 100644 index 6397230..0000000 --- a/external/clem/doc/tinaa/clem-package/method-threshold.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Threshold [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-transpose--matrix.html b/external/clem/doc/tinaa/clem-package/method-transpose--matrix.html deleted file mode 100644 index dcd2b16..0000000 --- a/external/clem/doc/tinaa/clem-package/method-transpose--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Transpose-Matrix [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-transpose.html b/external/clem/doc/tinaa/clem-package/method-transpose.html deleted file mode 100644 index 8f4e787..0000000 --- a/external/clem/doc/tinaa/clem-package/method-transpose.html +++ /dev/null @@ -1 +0,0 @@ -Method Transpose [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-update--affine--transformation--matrix.html b/external/clem/doc/tinaa/clem-package/method-update--affine--transformation--matrix.html deleted file mode 100644 index b50ad4b..0000000 --- a/external/clem/doc/tinaa/clem-package/method-update--affine--transformation--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Update-Affine-Transformation-Matrix [Tinaa]

Method Update-Affine-Transformation-Matrix

( update-affine-transformation-matrix < xfrm > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-update--affine--transformation--slots.html b/external/clem/doc/tinaa/clem-package/method-update--affine--transformation--slots.html deleted file mode 100644 index e79bd64..0000000 --- a/external/clem/doc/tinaa/clem-package/method-update--affine--transformation--slots.html +++ /dev/null @@ -1 +0,0 @@ -Method Update-Affine-Transformation-Slots [Tinaa]

Method Update-Affine-Transformation-Slots

( update-affine-transformation-slots < xfrm > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-val--format.html b/external/clem/doc/tinaa/clem-package/method-val--format.html deleted file mode 100644 index 85de2e7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-val--format.html +++ /dev/null @@ -1 +0,0 @@ -Method Val-Format [Tinaa]

Method Val-Format

( val-format < smc > )
the format string used to print out
element values of instances of this matrix class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-val.html b/external/clem/doc/tinaa/clem-package/method-val.html deleted file mode 100644 index d5348b7..0000000 --- a/external/clem/doc/tinaa/clem-package/method-val.html +++ /dev/null @@ -1 +0,0 @@ -Method Val [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-variance--range.html b/external/clem/doc/tinaa/clem-package/method-variance--range.html deleted file mode 100644 index a3f2b27..0000000 --- a/external/clem/doc/tinaa/clem-package/method-variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Variance-Range [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-variance.html b/external/clem/doc/tinaa/clem-package/method-variance.html deleted file mode 100644 index adadc7d..0000000 --- a/external/clem/doc/tinaa/clem-package/method-variance.html +++ /dev/null @@ -1 +0,0 @@ -Method Variance [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-vec--dim.html b/external/clem/doc/tinaa/clem-package/method-vec--dim.html deleted file mode 100644 index eb7cd46..0000000 --- a/external/clem/doc/tinaa/clem-package/method-vec--dim.html +++ /dev/null @@ -1 +0,0 @@ -Method Vec-Dim [Tinaa]

Method Vec-Dim

( vec-dim < cv > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-vec--set--val.html b/external/clem/doc/tinaa/clem-package/method-vec--set--val.html deleted file mode 100644 index 90a6654..0000000 --- a/external/clem/doc/tinaa/clem-package/method-vec--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Vec-Set-Val [Tinaa]

Method Vec-Set-Val

( vec-set-val < cv > < i > < v > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-vec--val.html b/external/clem/doc/tinaa/clem-package/method-vec--val.html deleted file mode 100644 index 0ad6b04..0000000 --- a/external/clem/doc/tinaa/clem-package/method-vec--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Vec-Val [Tinaa]

Method Vec-Val

( vec-val < cv > < i > )
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem-package/method-vertcat.html b/external/clem/doc/tinaa/clem-package/method-vertcat.html deleted file mode 100644 index 72feabf..0000000 --- a/external/clem/doc/tinaa/clem-package/method-vertcat.html +++ /dev/null @@ -1 +0,0 @@ -Method Vertcat [Tinaa] \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-affine--transformation.html b/external/clem/doc/tinaa/clem/class-affine--transformation.html deleted file mode 100644 index bd16ea7..0000000 --- a/external/clem/doc/tinaa/clem/class-affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Class Affine-Transformation [Tinaa]

Class Affine-Transformation

a matrix that represents an affine-transformation

Direct Superclass Summary

double-float-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
thetaInitform:0.0d0, Initargs:theta; Accessors:theta; Type:'double-float.
x-scaleInitform:0.0d0, Initargs:x-scale; Accessors:x-scale; Type:'double-float.
x-shearInitform:0.0d0, Initargs:x-shear; Accessors:x-shear; Type:'double-float.
x-shiftInitform:0.0d0, Initargs:x-shift; Accessors:x-shift; Type:'double-float.
y-scaleInitform:0.0d0, Initargs:y-scale; Accessors:y-scale; Type:'double-float.
y-shearInitform:0.0d0, Initargs:y-shear; Accessors:y-shear; Type:'double-float.
y-shiftInitform:0.0d0, Initargs:y-shift; Accessors:y-shift; Type:'double-float.

Other Method Summary

%discrete-convolve
%get-subtr-matrix-class
%mat-mult-block
%mat-mult-with-blocks
%separable-discrete-convolve
%transform-matrix
add-col
add-row
allocate-matrix-vals
closest-common-matrix-class
cols
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dilate-orig
dim
discrete-convolve
erode
erode-orig
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-add
mat-add!
mat-add-range
mat-add-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-log
mat-log!
mat-log-range
mat-log-range!
mat-mult
mat-mult-3-block
mat-mult3
mat-scalar-op
mat-scale
mat-scale!
mat-scale-range
mat-scale-range!
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr!
mat-subtr!-range
mat-subtr-range
mat-subtr-range3
mat-trim
matrix-move
matrix-move-range
matrix-move-range-constrain
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-element
mref
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
rows
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-single-float-divide-col
scalar-single-float-divide-row
separable-discrete-convolve
set-col
set-row
set-val
set-val-fit
setfmref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
val
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-base--vector.html b/external/clem/doc/tinaa/clem/class-base--vector.html deleted file mode 100644 index ba42221..0000000 --- a/external/clem/doc/tinaa/clem/class-base--vector.html +++ /dev/null @@ -1 +0,0 @@ -Class Base-Vector [Tinaa]

Class Base-Vector

Direct Superclass Summary

matrix

Direct Subclass Summary

col-vector
row-vector

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-bit--matrix.html b/external/clem/doc/tinaa/clem/class-bit--matrix.html deleted file mode 100644 index 7243713..0000000 --- a/external/clem/doc/tinaa/clem/class-bit--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Bit-Matrix [Tinaa]

Class Bit-Matrix

Direct Superclass Summary

integer-matrix

Direct Subclass Summary

bit-scalar

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-bit--scalar.html b/external/clem/doc/tinaa/clem/class-bit--scalar.html deleted file mode 100644 index f7548cf..0000000 --- a/external/clem/doc/tinaa/clem/class-bit--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Class Bit-Scalar [Tinaa]

Class Bit-Scalar

Direct Superclass Summary

bit-matrix
scalar

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method Summary

%get-subtr-matrix-class
%separable-discrete-convolve
%transform-matrix
add-col
add-row
affine-transform
allocate-matrix-vals
closest-common-matrix-class
cols
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dilate-orig
dim
discrete-convolve
erode
erode-orig
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-log
mat-log!
mat-log-range
mat-log-range!
mat-mult
mat-mult3
mat-scalar-op
mat-scale
mat-scale!
mat-scale-range
mat-scale-range!
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr!
mat-subtr!-range
mat-subtr-range
mat-subtr-range3
mat-trim
matrix-move
matrix-move-range
matrix-move-range-constrain
max-range
max-val
mean
mean-range
min-range
min-val
mlogand
mlogand!
mlogand!-range
mlogand-range
mlogior
mlogior!
mlogior!-range
mlogior-range
mlogxor
mlogxor!
mlogxor!-range
mlogxor-range
mnot
mnot!
mnot!-range
mnot-range
morphological-op
move-element
mref
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
rows
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
set-col
set-row
set-val
set-val-fit
setfmref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
val
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-col--vector.html b/external/clem/doc/tinaa/clem/class-col--vector.html deleted file mode 100644 index 4e7ab08..0000000 --- a/external/clem/doc/tinaa/clem/class-col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Class Col-Vector [Tinaa]

Class Col-Vector

Direct Superclass Summary

base-vector

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-complex--matrix.html b/external/clem/doc/tinaa/clem/class-complex--matrix.html deleted file mode 100644 index 883cf9a..0000000 --- a/external/clem/doc/tinaa/clem/class-complex--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Complex-Matrix [Tinaa]

Class Complex-Matrix

Direct Superclass Summary

t-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-double--float--matrix.html b/external/clem/doc/tinaa/clem/class-double--float--matrix.html deleted file mode 100644 index b70e2e4..0000000 --- a/external/clem/doc/tinaa/clem/class-double--float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Double-Float-Matrix [Tinaa]

Class Double-Float-Matrix

Direct Superclass Summary

float-matrix

Direct Subclass Summary

affine-transformationa matrix that represents an affine-transformation

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-fixnum--matrix.html b/external/clem/doc/tinaa/clem/class-fixnum--matrix.html deleted file mode 100644 index f98de33..0000000 --- a/external/clem/doc/tinaa/clem/class-fixnum--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Fixnum-Matrix [Tinaa]

Class Fixnum-Matrix

Direct Superclass Summary

integer-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-float--matrix.html b/external/clem/doc/tinaa/clem/class-float--matrix.html deleted file mode 100644 index 3fdacc6..0000000 --- a/external/clem/doc/tinaa/clem/class-float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Float-Matrix [Tinaa]

Class Float-Matrix

Direct Superclass Summary

real-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method Summary

%separable-discrete-convolve
add-col
add-row
affine-transform
allocate-matrix-vals
closest-common-matrix-class
cols
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dilate-orig
dim
discrete-convolve
erode
erode-orig
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-add
mat-add!
mat-add-range
mat-add-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-log
mat-log!
mat-log-range
mat-log-range!
mat-mult
mat-scalar-op
mat-scale
mat-scale!
mat-scale-range
mat-scale-range!
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr-range
mat-trim
matrix-move
matrix-move-range
matrix-move-range-constrain
max-range
max-val
mean
mean-range
min-range
min-val
morphological-op
move-element
norm-0-1
norm-0-255
pad-matrix
print-matrix
print-range
reshape
rows
rvref
sample-variance
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-single-float-divide-col
scalar-single-float-divide-row
set-col
set-row
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
val
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-integer--matrix.html b/external/clem/doc/tinaa/clem/class-integer--matrix.html deleted file mode 100644 index 64ef12c..0000000 --- a/external/clem/doc/tinaa/clem/class-integer--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Integer-Matrix [Tinaa]

Class Integer-Matrix

Direct Superclass Summary

real-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-matrix.html b/external/clem/doc/tinaa/clem/class-matrix.html deleted file mode 100644 index 1a9e807..0000000 --- a/external/clem/doc/tinaa/clem/class-matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Matrix [Tinaa]

Class Matrix

Direct Superclass Summary

typed-mixin

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method Summary

map-matrix-fit
mat-subtr-range
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-number--matrix.html b/external/clem/doc/tinaa/clem/class-number--matrix.html deleted file mode 100644 index c012763..0000000 --- a/external/clem/doc/tinaa/clem/class-number--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Number-Matrix [Tinaa]

Class Number-Matrix

Direct Superclass Summary

t-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-real--matrix.html b/external/clem/doc/tinaa/clem/class-real--matrix.html deleted file mode 100644 index c4a01d0..0000000 --- a/external/clem/doc/tinaa/clem/class-real--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Real-Matrix [Tinaa]

Class Real-Matrix

Direct Superclass Summary

t-matrix

Direct Subclass Summary

float-matrix
integer-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-row--vector.html b/external/clem/doc/tinaa/clem/class-row--vector.html deleted file mode 100644 index 7e715b2..0000000 --- a/external/clem/doc/tinaa/clem/class-row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Class Row-Vector [Tinaa]

Class Row-Vector

Direct Superclass Summary

base-vector

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-sb16--matrix.html b/external/clem/doc/tinaa/clem/class-sb16--matrix.html deleted file mode 100644 index 4dadd12..0000000 --- a/external/clem/doc/tinaa/clem/class-sb16--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Sb16-Matrix [Tinaa]

Class Sb16-Matrix

Direct Superclass Summary

integer-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-sb32--matrix.html b/external/clem/doc/tinaa/clem/class-sb32--matrix.html deleted file mode 100644 index 9419f78..0000000 --- a/external/clem/doc/tinaa/clem/class-sb32--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Sb32-Matrix [Tinaa]

Class Sb32-Matrix

Direct Superclass Summary

integer-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-sb8--matrix.html b/external/clem/doc/tinaa/clem/class-sb8--matrix.html deleted file mode 100644 index 87f8fe4..0000000 --- a/external/clem/doc/tinaa/clem/class-sb8--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Sb8-Matrix [Tinaa]

Class Sb8-Matrix

Direct Superclass Summary

integer-matrix

Direct Subclass Summary

sb8-scalar

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-sb8--scalar.html b/external/clem/doc/tinaa/clem/class-sb8--scalar.html deleted file mode 100644 index a9e90aa..0000000 --- a/external/clem/doc/tinaa/clem/class-sb8--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Class Sb8-Scalar [Tinaa]

Class Sb8-Scalar

Direct Superclass Summary

sb8-matrix
scalar

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method Summary

%get-subtr-matrix-class
%separable-discrete-convolve
%transform-matrix
add-col
add-row
affine-transform
allocate-matrix-vals
closest-common-matrix-class
cols
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dilate-orig
dim
discrete-convolve
erode
erode-orig
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-log
mat-log!
mat-log-range
mat-log-range!
mat-mult
mat-mult3
mat-scalar-op
mat-scale
mat-scale!
mat-scale-range
mat-scale-range!
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr!
mat-subtr!-range
mat-subtr-range
mat-subtr-range3
mat-trim
matrix-move
matrix-move-range
matrix-move-range-constrain
max-range
max-val
mean
mean-range
min-range
min-val
mlogand
mlogand!
mlogand!-range
mlogand-range
mlogior
mlogior!
mlogior!-range
mlogior-range
mlogxor
mlogxor!
mlogxor!-range
mlogxor-range
mnot
mnot!
mnot!-range
mnot-range
morphological-op
move-element
mref
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
rows
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
set-col
set-row
set-val
set-val-fit
setfmref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
val
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-scalar.html b/external/clem/doc/tinaa/clem/class-scalar.html deleted file mode 100644 index 709cf98..0000000 --- a/external/clem/doc/tinaa/clem/class-scalar.html +++ /dev/null @@ -1 +0,0 @@ -Class Scalar [Tinaa]

Class Scalar

Direct Superclass Summary

matrix

Direct Subclass Summary

bit-scalar
sb8-scalar
ub8-scalar

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-single--float--matrix.html b/external/clem/doc/tinaa/clem/class-single--float--matrix.html deleted file mode 100644 index 7478d22..0000000 --- a/external/clem/doc/tinaa/clem/class-single--float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Single-Float-Matrix [Tinaa]

Class Single-Float-Matrix

Direct Superclass Summary

float-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-standard--matrix--class.html b/external/clem/doc/tinaa/clem/class-standard--matrix--class.html deleted file mode 100644 index 5716b2f..0000000 --- a/external/clem/doc/tinaa/clem/class-standard--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Class Standard-Matrix-Class [Tinaa]

Class Standard-Matrix-Class

Slot Summary

accumulator-typeInitargs:accumulator-type.
direct-superclasses
Reader:class-direct-superclasses.
element-typeInitargs:element-type.
maxvalInitargs:maxval.
minvalInitargs:minval.
name
Initargs:name; Reader:class-name.
specialized-arrayInitargs:specialized-array.
val-formatInitargs:val-format.

Direct Method Summary

accumulator-typethe type of the result of various mathematical
opreations on instances of this matrix class. need...
element-typethe type of the elements of instances
of this matrix class
maxvalthe maximum value allowed by instances
of this matrix class.
minvalthe minimum value allowed by instances
of this matrix class.
specialized-array-p
val-formatthe format string used to print out
element values of instances of this matrix class

Other Method Summary

matrix-precedence-list
slot-namesReturns a list of the names of the slots of a class (including
both direct and inherited slots). ...
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-t--matrix.html b/external/clem/doc/tinaa/clem/class-t--matrix.html deleted file mode 100644 index 03e38cc..0000000 --- a/external/clem/doc/tinaa/clem/class-t--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class T-Matrix [Tinaa]

Class T-Matrix

Direct Superclass Summary

matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-typed--matrix.html b/external/clem/doc/tinaa/clem/class-typed--matrix.html deleted file mode 100644 index 828d085..0000000 --- a/external/clem/doc/tinaa/clem/class-typed--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Typed-Matrix [Tinaa]

Class Typed-Matrix

Direct Superclass Summary

matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Direct Method Summary

map-matrix-fit
set-val-fit
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-typed--mixin.html b/external/clem/doc/tinaa/clem/class-typed--mixin.html deleted file mode 100644 index f8c5b15..0000000 --- a/external/clem/doc/tinaa/clem/class-typed--mixin.html +++ /dev/null @@ -1 +0,0 @@ -Class Typed-Mixin [Tinaa]

Class Typed-Mixin

Direct Subclass Summary

matrix

Slot Summary

specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-ub16--matrix.html b/external/clem/doc/tinaa/clem/class-ub16--matrix.html deleted file mode 100644 index fe39b8b..0000000 --- a/external/clem/doc/tinaa/clem/class-ub16--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Ub16-Matrix [Tinaa]

Class Ub16-Matrix

Direct Superclass Summary

integer-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-ub32--matrix.html b/external/clem/doc/tinaa/clem/class-ub32--matrix.html deleted file mode 100644 index 9af9ae2..0000000 --- a/external/clem/doc/tinaa/clem/class-ub32--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Ub32-Matrix [Tinaa]

Class Ub32-Matrix

Direct Superclass Summary

integer-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-ub8--matrix.html b/external/clem/doc/tinaa/clem/class-ub8--matrix.html deleted file mode 100644 index c43c561..0000000 --- a/external/clem/doc/tinaa/clem/class-ub8--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Class Ub8-Matrix [Tinaa]

Class Ub8-Matrix

Direct Superclass Summary

integer-matrix

Direct Subclass Summary

ub8-scalar

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/class-ub8--scalar.html b/external/clem/doc/tinaa/clem/class-ub8--scalar.html deleted file mode 100644 index fbb1a71..0000000 --- a/external/clem/doc/tinaa/clem/class-ub8--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Class Ub8-Scalar [Tinaa]

Class Ub8-Scalar

Direct Superclass Summary

scalar
ub8-matrix

Slot Summary

adjustableInitargs:adjustable; Accessors:adjustable.
colsInitform:1, Initargs:cols; Accessors:matrix-cols; Type:fixnum.
initial-elementInitform:0.0d0, Initargs:initial-element; Accessors:initial-element.
mAccessors:matrix-vals.
resizeableAccessors:resizable.
rowsInitform:1, Initargs:rows; Accessors:matrix-rows; Type:fixnum.
specialzied-arrayAccessors:specialized-array-p; Allocation:class.

Other Method Summary

%discrete-convolve
%get-subtr-matrix-class
%separable-discrete-convolve
%transform-matrix
add-col
add-row
affine-transform
allocate-matrix-vals
closest-common-matrix-class
cols
concat-matrix-cols
copy-to-bit-matrix
copy-to-complex-matrix
copy-to-double-float-matrix
copy-to-fixnum-matrix
copy-to-sb16-matrix
copy-to-sb32-matrix
copy-to-sb8-matrix
copy-to-single-float-matrix
copy-to-ub16-matrix
copy-to-ub32-matrix
copy-to-ub8-matrix
cvref
dilate
dilate-orig
dim
discrete-convolve
erode
erode-orig
fit
fit-value
get-col-list
get-col-vector
get-first-non-zero-row-in-col
get-row-as-col-vector
get-row-list
get-row-vector
horzcat
invert-matrix
map-col
map-matrix-copy
map-matrix-fit
map-range
map-row
map-set-range
map-set-val
map-set-val-copy
map-set-val-fit
mat-abs
mat-abs!
mat-abs-range
mat-abs-range!
mat-copy
mat-copy-into
mat-copy-proto
mat-copy-proto-dim
mat-hprod
mat-hprod!
mat-hprod-range
mat-hprod-range!
mat-log
mat-log!
mat-log-range
mat-log-range!
mat-mult
mat-mult3
mat-scalar-op
mat-scale
mat-scale!
mat-scale-range
mat-scale-range!
mat-sqrt
mat-sqrt!
mat-square
mat-square!
mat-subtr
mat-subtr!
mat-subtr!-range
mat-subtr-range
mat-subtr-range3
mat-trim
matrix-move
matrix-move-range
matrix-move-range-constrain
max-range
max-val
mean
mean-range
min-range
min-val
mlogand
mlogand!
mlogand!-range
mlogand-range
mlogior
mlogior!
mlogior!-range
mlogior-range
mlogxor
mlogxor!
mlogxor!-range
mlogxor-range
mnot
mnot!
mnot!-range
mnot-range
morphological-op
move-element
mref
norm-0-1
norm-0-255
normalize
pad-matrix
print-matrix
print-range
reshape
rows
rvref
sample-variance
sample-variance-range
scalar-divide
scalar-divide-col
scalar-divide-copy
scalar-divide-row
scalar-double-float-divide-col
scalar-double-float-divide-row
scalar-mult
scalar-mult-col
scalar-mult-copy
scalar-mult-row
scalar-set-val
scalar-single-float-divide-col
scalar-single-float-divide-row
scalar-val
separable-discrete-convolve
set-col
set-row
set-val
set-val-fit
setfmref
subset-matrix
subset-matrix-cols
sum
sum-cols
sum-range
sum-rows
sum-square
sum-square-range
swap-cols
swap-rows
threshold
transpose
transpose-matrix
val
variance
variance-range
vertcat
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/condition-matrix--condition.html b/external/clem/doc/tinaa/clem/condition-matrix--condition.html deleted file mode 100644 index b1c69e6..0000000 --- a/external/clem/doc/tinaa/clem/condition-matrix--condition.html +++ /dev/null @@ -1 +0,0 @@ -Condition Matrix-Condition [Tinaa]

Condition Matrix-Condition

Direct Subclass Summary

matrix-error
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/condition-matrix--error.html b/external/clem/doc/tinaa/clem/condition-matrix--error.html deleted file mode 100644 index 2b953c1..0000000 --- a/external/clem/doc/tinaa/clem/condition-matrix--error.html +++ /dev/null @@ -1 +0,0 @@ -Condition Matrix-Error [Tinaa]

Condition Matrix-Error

Direct Superclass Summary

matrix-condition
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-%%sum--range.html b/external/clem/doc/tinaa/clem/function-%%sum--range.html deleted file mode 100644 index 421aae6..0000000 --- a/external/clem/doc/tinaa/clem/function-%%sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Function %%Sum-Range [Tinaa]

Function %%Sum-Range

( %%sum-range &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-add--root--class.html b/external/clem/doc/tinaa/clem/function-add--root--class.html deleted file mode 100644 index cb0baad..0000000 --- a/external/clem/doc/tinaa/clem/function-add--root--class.html +++ /dev/null @@ -1 +0,0 @@ -Function Add-Root-Class [Tinaa]

Function Add-Root-Class

( add-root-class < root-class > < direct-superclasses > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-bilinear--interpolate.html b/external/clem/doc/tinaa/clem/function-bilinear--interpolate.html deleted file mode 100644 index 4c5b395..0000000 --- a/external/clem/doc/tinaa/clem/function-bilinear--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Function Bilinear-Interpolate [Tinaa]

Function Bilinear-Interpolate

( bilinear-interpolate &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-bit--matrix--mref.html b/external/clem/doc/tinaa/clem/function-bit--matrix--mref.html deleted file mode 100644 index aecfc1d..0000000 --- a/external/clem/doc/tinaa/clem/function-bit--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Bit-Matrix-Mref [Tinaa]

Function Bit-Matrix-Mref

( bit-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-complex--matrix--mref.html b/external/clem/doc/tinaa/clem/function-complex--matrix--mref.html deleted file mode 100644 index 34a63fc..0000000 --- a/external/clem/doc/tinaa/clem/function-complex--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Complex-Matrix-Mref [Tinaa]

Function Complex-Matrix-Mref

( complex-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-compute--bounds.html b/external/clem/doc/tinaa/clem/function-compute--bounds.html deleted file mode 100644 index 5540fd7..0000000 --- a/external/clem/doc/tinaa/clem/function-compute--bounds.html +++ /dev/null @@ -1 +0,0 @@ -Function Compute-Bounds [Tinaa]

Function Compute-Bounds

( compute-bounds < x1 > < y1 > < x2 > < y2 > < xfrm > )
takes a region bound by x1 and x2 on the x-axis and y1 and y2 on
the y-axis and returns the coordinates of the bounding rectangle
after applying the affine transform xfrm
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-constrain.html b/external/clem/doc/tinaa/clem/function-constrain.html deleted file mode 100644 index a6ccd2a..0000000 --- a/external/clem/doc/tinaa/clem/function-constrain.html +++ /dev/null @@ -1 +0,0 @@ -Function Constrain [Tinaa]

Function Constrain

( constrain < min > < val > < max > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-copy--to--matrix--type.html b/external/clem/doc/tinaa/clem/function-copy--to--matrix--type.html deleted file mode 100644 index c1b6872..0000000 --- a/external/clem/doc/tinaa/clem/function-copy--to--matrix--type.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Copy-To-Matrix-Type [Tinaa]

Function Copy-To-Matrix-Type

( copy-to-matrix-type < m > < mtype > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-count--range.html b/external/clem/doc/tinaa/clem/function-count--range.html deleted file mode 100644 index 264bfd4..0000000 --- a/external/clem/doc/tinaa/clem/function-count--range.html +++ /dev/null @@ -1 +0,0 @@ -Function Count-Range [Tinaa]

Function Count-Range

( count-range < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--binary--op!.html b/external/clem/doc/tinaa/clem/function-def--binary--op!.html deleted file mode 100644 index 07078aa..0000000 --- a/external/clem/doc/tinaa/clem/function-def--binary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Binary-Op! [Tinaa]

Function Def-Binary-Op!

( def-binary-op! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--binary--op.html b/external/clem/doc/tinaa/clem/function-def--binary--op.html deleted file mode 100644 index a9c9251..0000000 --- a/external/clem/doc/tinaa/clem/function-def--binary--op.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Binary-Op [Tinaa]

Function Def-Binary-Op

( def-binary-op &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--abs!.html b/external/clem/doc/tinaa/clem/function-def--matrix--abs!.html deleted file mode 100644 index ed7bf7a..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Abs! [Tinaa]

Function Def-Matrix-Abs!

( def-matrix-abs! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--abs.html b/external/clem/doc/tinaa/clem/function-def--matrix--abs.html deleted file mode 100644 index 018a9fa..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--abs.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Abs [Tinaa]

Function Def-Matrix-Abs

( def-matrix-abs &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--add!.html b/external/clem/doc/tinaa/clem/function-def--matrix--add!.html deleted file mode 100644 index b65f92a..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--add!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add! [Tinaa]

Function Def-Matrix-Add!

( def-matrix-add! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--add--number!.html b/external/clem/doc/tinaa/clem/function-def--matrix--add--number!.html deleted file mode 100644 index d35a850..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--add--number!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Number! [Tinaa]

Function Def-Matrix-Add-Number!

( def-matrix-add-number! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--add--number.html b/external/clem/doc/tinaa/clem/function-def--matrix--add--number.html deleted file mode 100644 index 5dd5805..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--add--number.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Number [Tinaa]

Function Def-Matrix-Add-Number

( def-matrix-add-number &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--add--scalar!.html b/external/clem/doc/tinaa/clem/function-def--matrix--add--scalar!.html deleted file mode 100644 index d129843..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--add--scalar!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Scalar! [Tinaa]

Function Def-Matrix-Add-Scalar!

( def-matrix-add-scalar! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--add--scalar.html b/external/clem/doc/tinaa/clem/function-def--matrix--add--scalar.html deleted file mode 100644 index e309e92..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--add--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add-Scalar [Tinaa]

Function Def-Matrix-Add-Scalar

( def-matrix-add-scalar &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--add.html b/external/clem/doc/tinaa/clem/function-def--matrix--add.html deleted file mode 100644 index 4c372d4..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--add.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Add [Tinaa]

Function Def-Matrix-Add

( def-matrix-add &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--convolve.html b/external/clem/doc/tinaa/clem/function-def--matrix--convolve.html deleted file mode 100644 index c504900..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--convolve.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Convolve [Tinaa]

Function Def-Matrix-Convolve

( def-matrix-convolve &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--hprod!.html b/external/clem/doc/tinaa/clem/function-def--matrix--hprod!.html deleted file mode 100644 index bcd56ac..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Hprod! [Tinaa]

Function Def-Matrix-Hprod!

( def-matrix-hprod! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--hprod.html b/external/clem/doc/tinaa/clem/function-def--matrix--hprod.html deleted file mode 100644 index 4013117..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Hprod [Tinaa]

Function Def-Matrix-Hprod

( def-matrix-hprod &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--log!.html b/external/clem/doc/tinaa/clem/function-def--matrix--log!.html deleted file mode 100644 index 6321f5b..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--log!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Log! [Tinaa]

Function Def-Matrix-Log!

( def-matrix-log! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--log.html b/external/clem/doc/tinaa/clem/function-def--matrix--log.html deleted file mode 100644 index 4efbcb9..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--log.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Log [Tinaa]

Function Def-Matrix-Log

( def-matrix-log &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--min--max.html b/external/clem/doc/tinaa/clem/function-def--matrix--min--max.html deleted file mode 100644 index b91c3ab..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--min--max.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Min-Max [Tinaa]

Function Def-Matrix-Min-Max

( def-matrix-min-max &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--move.html b/external/clem/doc/tinaa/clem/function-def--matrix--move.html deleted file mode 100644 index e6ff404..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Move [Tinaa]

Function Def-Matrix-Move

( def-matrix-move &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--mref.html b/external/clem/doc/tinaa/clem/function-def--matrix--mref.html deleted file mode 100644 index 150f33f..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Mref [Tinaa]

Function Def-Matrix-Mref

( def-matrix-mref &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--mult--block.html b/external/clem/doc/tinaa/clem/function-def--matrix--mult--block.html deleted file mode 100644 index c5d670d..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Mult-Block [Tinaa]

Function Def-Matrix-Mult-Block

( def-matrix-mult-block &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--mult.html b/external/clem/doc/tinaa/clem/function-def--matrix--mult.html deleted file mode 100644 index e0a96db..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--mult.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Mult [Tinaa]

Function Def-Matrix-Mult

( def-matrix-mult &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--scale!.html b/external/clem/doc/tinaa/clem/function-def--matrix--scale!.html deleted file mode 100644 index 7d54342..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Scale! [Tinaa]

Function Def-Matrix-Scale!

( def-matrix-scale! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--scale.html b/external/clem/doc/tinaa/clem/function-def--matrix--scale.html deleted file mode 100644 index 3a22201..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--scale.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Scale [Tinaa]

Function Def-Matrix-Scale

( def-matrix-scale &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--square.html b/external/clem/doc/tinaa/clem/function-def--matrix--square.html deleted file mode 100644 index 3c8856b..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--square.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Square [Tinaa]

Function Def-Matrix-Square

( def-matrix-square &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--subset--matrix.html b/external/clem/doc/tinaa/clem/function-def--matrix--subset--matrix.html deleted file mode 100644 index 9eb866b..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Subset-Matrix [Tinaa]

Function Def-Matrix-Subset-Matrix

( def-matrix-subset-matrix &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--subtr!.html b/external/clem/doc/tinaa/clem/function-def--matrix--subtr!.html deleted file mode 100644 index 4017a1b..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Subtr! [Tinaa]

Function Def-Matrix-Subtr!

( def-matrix-subtr! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--subtr.html b/external/clem/doc/tinaa/clem/function-def--matrix--subtr.html deleted file mode 100644 index 200e935..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--subtr.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Subtr [Tinaa]

Function Def-Matrix-Subtr

( def-matrix-subtr &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--matrix--transform.html b/external/clem/doc/tinaa/clem/function-def--matrix--transform.html deleted file mode 100644 index 655cb69..0000000 --- a/external/clem/doc/tinaa/clem/function-def--matrix--transform.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Matrix-Transform [Tinaa]

Function Def-Matrix-Transform

( def-matrix-transform &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--move--element.html b/external/clem/doc/tinaa/clem/function-def--move--element.html deleted file mode 100644 index 7e94527..0000000 --- a/external/clem/doc/tinaa/clem/function-def--move--element.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Move-Element [Tinaa]

Function Def-Move-Element

( def-move-element &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--unary--op!.html b/external/clem/doc/tinaa/clem/function-def--unary--op!.html deleted file mode 100644 index 3eca320..0000000 --- a/external/clem/doc/tinaa/clem/function-def--unary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Unary-Op! [Tinaa]

Function Def-Unary-Op!

( def-unary-op! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-def--unary--op.html b/external/clem/doc/tinaa/clem/function-def--unary--op.html deleted file mode 100644 index e6161cb..0000000 --- a/external/clem/doc/tinaa/clem/function-def--unary--op.html +++ /dev/null @@ -1 +0,0 @@ -Function Def-Unary-Op [Tinaa]

Function Def-Unary-Op

( def-unary-op &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-defmatrixfuncs.html b/external/clem/doc/tinaa/clem/function-defmatrixfuncs.html deleted file mode 100644 index 988f9c8..0000000 --- a/external/clem/doc/tinaa/clem/function-defmatrixfuncs.html +++ /dev/null @@ -1 +0,0 @@ -Function Defmatrixfuncs [Tinaa]

Function Defmatrixfuncs

( defmatrixfuncs &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-defmatrixtype.html b/external/clem/doc/tinaa/clem/function-defmatrixtype.html deleted file mode 100644 index 8e174ae..0000000 --- a/external/clem/doc/tinaa/clem/function-defmatrixtype.html +++ /dev/null @@ -1 +0,0 @@ -Function Defmatrixtype [Tinaa]

Function Defmatrixtype

( defmatrixtype &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-delistify--dsd.html b/external/clem/doc/tinaa/clem/function-delistify--dsd.html deleted file mode 100644 index 23f6685..0000000 --- a/external/clem/doc/tinaa/clem/function-delistify--dsd.html +++ /dev/null @@ -1 +0,0 @@ -Function Delistify-Dsd [Tinaa]

Function Delistify-Dsd

( delistify-dsd < list > )
Some MOPs, like openmcl 0.14.2, cons attribute values in a list.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-delistify.html b/external/clem/doc/tinaa/clem/function-delistify.html deleted file mode 100644 index a35f574..0000000 --- a/external/clem/doc/tinaa/clem/function-delistify.html +++ /dev/null @@ -1 +0,0 @@ -Function Delistify [Tinaa]

Function Delistify

( delistify < list > )
Some MOPs, like openmcl 0.14.2, cons attribute values in a list.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-displace--to--1d--array.html b/external/clem/doc/tinaa/clem/function-displace--to--1d--array.html deleted file mode 100644 index 920fca7..0000000 --- a/external/clem/doc/tinaa/clem/function-displace--to--1d--array.html +++ /dev/null @@ -1 +0,0 @@ -Function Displace-To-1d-Array [Tinaa]

Function Displace-To-1d-Array

( displace-to-1d-array < matrix > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-double--float--divide.html b/external/clem/doc/tinaa/clem/function-double--float--divide.html deleted file mode 100644 index 9334292..0000000 --- a/external/clem/doc/tinaa/clem/function-double--float--divide.html +++ /dev/null @@ -1 +0,0 @@ -Function Double-Float-Divide [Tinaa]

Function Double-Float-Divide

( double-float-divide &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-double--float--matrix--mref.html b/external/clem/doc/tinaa/clem/function-double--float--matrix--mref.html deleted file mode 100644 index 034777e..0000000 --- a/external/clem/doc/tinaa/clem/function-double--float--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Double-Float-Matrix-Mref [Tinaa]

Function Double-Float-Matrix-Mref

( double-float-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-fill--slot--from--ancestor.html b/external/clem/doc/tinaa/clem/function-fill--slot--from--ancestor.html deleted file mode 100644 index 13e4605..0000000 --- a/external/clem/doc/tinaa/clem/function-fill--slot--from--ancestor.html +++ /dev/null @@ -1 +0,0 @@ -Function Fill-Slot-From-Ancestor [Tinaa]

Function Fill-Slot-From-Ancestor

( fill-slot-from-ancestor < slot > < class > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-fill--standard--matrix--class--slots--from--ancestors.html b/external/clem/doc/tinaa/clem/function-fill--standard--matrix--class--slots--from--ancestors.html deleted file mode 100644 index 2aaebc1..0000000 --- a/external/clem/doc/tinaa/clem/function-fill--standard--matrix--class--slots--from--ancestors.html +++ /dev/null @@ -1 +0,0 @@ -Function Fill-Standard-Matrix-Class-Slots-From-Ancestors [Tinaa]

Function Fill-Standard-Matrix-Class-Slots-From-Ancestors

( fill-standard-matrix-class-slots-from-ancestors < class > &rest < all-keys > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-fixnum--matrix--mref.html b/external/clem/doc/tinaa/clem/function-fixnum--matrix--mref.html deleted file mode 100644 index 7b5d5ab..0000000 --- a/external/clem/doc/tinaa/clem/function-fixnum--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Fixnum-Matrix-Mref [Tinaa]

Function Fixnum-Matrix-Mref

( fixnum-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-fixnum1+.html b/external/clem/doc/tinaa/clem/function-fixnum1+.html deleted file mode 100644 index baa3540..0000000 --- a/external/clem/doc/tinaa/clem/function-fixnum1+.html +++ /dev/null @@ -1 +0,0 @@ -Function Fixnum1+ [Tinaa]

Function Fixnum1+

( fixnum1+ &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-gaussian--blur.html b/external/clem/doc/tinaa/clem/function-gaussian--blur.html deleted file mode 100644 index ae99463..0000000 --- a/external/clem/doc/tinaa/clem/function-gaussian--blur.html +++ /dev/null @@ -1,4 +0,0 @@ -Function Gaussian-Blur [Tinaa]

Function Gaussian-Blur

( gaussian-blur < m > &key (k - 2) (sigma - 1) (truncate - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-gaussian--kernel--1d.html b/external/clem/doc/tinaa/clem/function-gaussian--kernel--1d.html deleted file mode 100644 index f051254..0000000 --- a/external/clem/doc/tinaa/clem/function-gaussian--kernel--1d.html +++ /dev/null @@ -1 +0,0 @@ -Function Gaussian-Kernel-1d [Tinaa]

Function Gaussian-Kernel-1d

( gaussian-kernel-1d < k > < sigma > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-gaussian--kernel.html b/external/clem/doc/tinaa/clem/function-gaussian--kernel.html deleted file mode 100644 index b2f761e..0000000 --- a/external/clem/doc/tinaa/clem/function-gaussian--kernel.html +++ /dev/null @@ -1 +0,0 @@ -Function Gaussian-Kernel [Tinaa]

Function Gaussian-Kernel

( gaussian-kernel < k > < sigma > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-get--matrix--name--for--type.html b/external/clem/doc/tinaa/clem/function-get--matrix--name--for--type.html deleted file mode 100644 index 4735f5f..0000000 --- a/external/clem/doc/tinaa/clem/function-get--matrix--name--for--type.html +++ /dev/null @@ -1 +0,0 @@ -Function Get-Matrix-Name-For-Type [Tinaa]

Function Get-Matrix-Name-For-Type

( get-matrix-name-for-type < type > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-get--matrix--type--for--type.html b/external/clem/doc/tinaa/clem/function-get--matrix--type--for--type.html deleted file mode 100644 index bf89150..0000000 --- a/external/clem/doc/tinaa/clem/function-get--matrix--type--for--type.html +++ /dev/null @@ -1 +0,0 @@ -Function Get-Matrix-Type-For-Type [Tinaa]

Function Get-Matrix-Type-For-Type

( get-matrix-type-for-type < type > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-gradmag.html b/external/clem/doc/tinaa/clem/function-gradmag.html deleted file mode 100644 index 75bfdad..0000000 --- a/external/clem/doc/tinaa/clem/function-gradmag.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Gradmag [Tinaa]

Function Gradmag

( gradmag < m > &key (truncate - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-inferior.html b/external/clem/doc/tinaa/clem/function-inferior.html deleted file mode 100644 index bac305e..0000000 --- a/external/clem/doc/tinaa/clem/function-inferior.html +++ /dev/null @@ -1 +0,0 @@ -Function Inferior [Tinaa]

Function Inferior

( inferior < a > < b > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-insert--before.html b/external/clem/doc/tinaa/clem/function-insert--before.html deleted file mode 100644 index 73fe0d8..0000000 --- a/external/clem/doc/tinaa/clem/function-insert--before.html +++ /dev/null @@ -1 +0,0 @@ -Function Insert-Before [Tinaa]

Function Insert-Before

( insert-before < new > < old > < list > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-integer--matrix--mref.html b/external/clem/doc/tinaa/clem/function-integer--matrix--mref.html deleted file mode 100644 index 5bf04d8..0000000 --- a/external/clem/doc/tinaa/clem/function-integer--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Integer-Matrix-Mref [Tinaa]

Function Integer-Matrix-Mref

( integer-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-list--if.html b/external/clem/doc/tinaa/clem/function-list--if.html deleted file mode 100644 index 80724b0..0000000 --- a/external/clem/doc/tinaa/clem/function-list--if.html +++ /dev/null @@ -1 +0,0 @@ -Function List-If [Tinaa]

Function List-If

( list-if < x > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-make--affine--transformation.html b/external/clem/doc/tinaa/clem/function-make--affine--transformation.html deleted file mode 100644 index 030c834..0000000 --- a/external/clem/doc/tinaa/clem/function-make--affine--transformation.html +++ /dev/null @@ -1,8 +0,0 @@ -Function Make-Affine-Transformation [Tinaa]

Function Make-Affine-Transformation

( make-affine-transformation &key (x-shift - 0.0d0) (y-shift - 0.0d0) (x-scale - 0.0d0) (y-scale - 0.0d0) (x-shear - 0.0d0) (y-shear - 0.0d0) (theta - 0.0d0) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-mat--add!--inline.html b/external/clem/doc/tinaa/clem/function-mat--add!--inline.html deleted file mode 100644 index bacda24..0000000 --- a/external/clem/doc/tinaa/clem/function-mat--add!--inline.html +++ /dev/null @@ -1 +0,0 @@ -Function Mat-Add!-Inline [Tinaa]

Function Mat-Add!-Inline

( mat-add!-inline < a > < b > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-mat--add--inline.html b/external/clem/doc/tinaa/clem/function-mat--add--inline.html deleted file mode 100644 index b788854..0000000 --- a/external/clem/doc/tinaa/clem/function-mat--add--inline.html +++ /dev/null @@ -1 +0,0 @@ -Function Mat-Add-Inline [Tinaa]

Function Mat-Add-Inline

( mat-add-inline < a > < b > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-maybe--coerce.html b/external/clem/doc/tinaa/clem/function-maybe--coerce.html deleted file mode 100644 index 073a718..0000000 --- a/external/clem/doc/tinaa/clem/function-maybe--coerce.html +++ /dev/null @@ -1 +0,0 @@ -Function Maybe-Coerce [Tinaa]

Function Maybe-Coerce

( maybe-coerce &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-maybe--truncate.html b/external/clem/doc/tinaa/clem/function-maybe--truncate.html deleted file mode 100644 index 124fb0d..0000000 --- a/external/clem/doc/tinaa/clem/function-maybe--truncate.html +++ /dev/null @@ -1 +0,0 @@ -Function Maybe-Truncate [Tinaa]

Function Maybe-Truncate

( maybe-truncate &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-mloop--range.html b/external/clem/doc/tinaa/clem/function-mloop--range.html deleted file mode 100644 index 85a59a7..0000000 --- a/external/clem/doc/tinaa/clem/function-mloop--range.html +++ /dev/null @@ -1 +0,0 @@ -Function Mloop-Range [Tinaa]

Function Mloop-Range

( mloop-range &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-mloop.html b/external/clem/doc/tinaa/clem/function-mloop.html deleted file mode 100644 index 9930959..0000000 --- a/external/clem/doc/tinaa/clem/function-mloop.html +++ /dev/null @@ -1 +0,0 @@ -Function Mloop [Tinaa]

Function Mloop

( mloop &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-parse--mloop--vars.html b/external/clem/doc/tinaa/clem/function-parse--mloop--vars.html deleted file mode 100644 index adbcd45..0000000 --- a/external/clem/doc/tinaa/clem/function-parse--mloop--vars.html +++ /dev/null @@ -1 +0,0 @@ -Function Parse-Mloop-Vars [Tinaa]

Function Parse-Mloop-Vars

( parse-mloop-vars < vars > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-print--matrix--line.html b/external/clem/doc/tinaa/clem/function-print--matrix--line.html deleted file mode 100644 index 2211aa2..0000000 --- a/external/clem/doc/tinaa/clem/function-print--matrix--line.html +++ /dev/null @@ -1 +0,0 @@ -Function Print-Matrix-Line [Tinaa]

Function Print-Matrix-Line

( print-matrix-line < obj > < stream > < val-format-spec > < i > < startc > < endc > < lastcol > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-quadratic--interpolate.html b/external/clem/doc/tinaa/clem/function-quadratic--interpolate.html deleted file mode 100644 index 0ad5adc..0000000 --- a/external/clem/doc/tinaa/clem/function-quadratic--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Function Quadratic-Interpolate [Tinaa]

Function Quadratic-Interpolate

( quadratic-interpolate &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-quadratic--kernel.html b/external/clem/doc/tinaa/clem/function-quadratic--kernel.html deleted file mode 100644 index a484989..0000000 --- a/external/clem/doc/tinaa/clem/function-quadratic--kernel.html +++ /dev/null @@ -1 +0,0 @@ -Function Quadratic-Kernel [Tinaa]

Function Quadratic-Kernel

( quadratic-kernel &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-real--matrix--mref.html b/external/clem/doc/tinaa/clem/function-real--matrix--mref.html deleted file mode 100644 index d4cd6f8..0000000 --- a/external/clem/doc/tinaa/clem/function-real--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Real-Matrix-Mref [Tinaa]

Function Real-Matrix-Mref

( real-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-remove--keyword--arg.html b/external/clem/doc/tinaa/clem/function-remove--keyword--arg.html deleted file mode 100644 index a03b464..0000000 --- a/external/clem/doc/tinaa/clem/function-remove--keyword--arg.html +++ /dev/null @@ -1 +0,0 @@ -Function Remove-Keyword-Arg [Tinaa]

Function Remove-Keyword-Arg

( remove-keyword-arg < arglist > < akey > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-resize--matrix.html b/external/clem/doc/tinaa/clem/function-resize--matrix.html deleted file mode 100644 index 9fa6037..0000000 --- a/external/clem/doc/tinaa/clem/function-resize--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Resize-Matrix [Tinaa]

Function Resize-Matrix

( resize-matrix < m > < y > < x > &key (interpolation - bilinear) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-sample--variance--window.html b/external/clem/doc/tinaa/clem/function-sample--variance--window.html deleted file mode 100644 index b154f5c..0000000 --- a/external/clem/doc/tinaa/clem/function-sample--variance--window.html +++ /dev/null @@ -1,3 +0,0 @@ -Function Sample-Variance-Window [Tinaa]

Function Sample-Variance-Window

( sample-variance-window < a > &key (k - 1) (truncate - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-sb16--matrix--mref.html b/external/clem/doc/tinaa/clem/function-sb16--matrix--mref.html deleted file mode 100644 index ba77c1b..0000000 --- a/external/clem/doc/tinaa/clem/function-sb16--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Sb16-Matrix-Mref [Tinaa]

Function Sb16-Matrix-Mref

( sb16-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-sb32--matrix--mref.html b/external/clem/doc/tinaa/clem/function-sb32--matrix--mref.html deleted file mode 100644 index 72229fb..0000000 --- a/external/clem/doc/tinaa/clem/function-sb32--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Sb32-Matrix-Mref [Tinaa]

Function Sb32-Matrix-Mref

( sb32-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-sb8--matrix--mref.html b/external/clem/doc/tinaa/clem/function-sb8--matrix--mref.html deleted file mode 100644 index 89d5d9f..0000000 --- a/external/clem/doc/tinaa/clem/function-sb8--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Sb8-Matrix-Mref [Tinaa]

Function Sb8-Matrix-Mref

( sb8-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-scalar.html b/external/clem/doc/tinaa/clem/function-scalar.html deleted file mode 100644 index 11fa159..0000000 --- a/external/clem/doc/tinaa/clem/function-scalar.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Scalar [Tinaa]

Function Scalar

( scalar < val > &key (matrix-class - 'scalar) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-separable--morphological--op.html b/external/clem/doc/tinaa/clem/function-separable--morphological--op.html deleted file mode 100644 index 5d8faf9..0000000 --- a/external/clem/doc/tinaa/clem/function-separable--morphological--op.html +++ /dev/null @@ -1 +0,0 @@ -Function Separable-Morphological-Op [Tinaa]

Function Separable-Morphological-Op

( separable-morphological-op < m > < h > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-single--float--matrix--mref.html b/external/clem/doc/tinaa/clem/function-single--float--matrix--mref.html deleted file mode 100644 index 412607c..0000000 --- a/external/clem/doc/tinaa/clem/function-single--float--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Single-Float-Matrix-Mref [Tinaa]

Function Single-Float-Matrix-Mref

( single-float-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-standard--matrix--class--p.html b/external/clem/doc/tinaa/clem/function-standard--matrix--class--p.html deleted file mode 100644 index 144f6e2..0000000 --- a/external/clem/doc/tinaa/clem/function-standard--matrix--class--p.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Matrix-Class-P [Tinaa]

Function Standard-Matrix-Class-P

( standard-matrix-class-p < class > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-standard--matrix--class--precedence--list.html b/external/clem/doc/tinaa/clem/function-standard--matrix--class--precedence--list.html deleted file mode 100644 index 61112a6..0000000 --- a/external/clem/doc/tinaa/clem/function-standard--matrix--class--precedence--list.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Matrix-Class-Precedence-List [Tinaa]

Function Standard-Matrix-Class-Precedence-List

( standard-matrix-class-precedence-list < class > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-standard--matrix--class--slots.html b/external/clem/doc/tinaa/clem/function-standard--matrix--class--slots.html deleted file mode 100644 index e01c6a7..0000000 --- a/external/clem/doc/tinaa/clem/function-standard--matrix--class--slots.html +++ /dev/null @@ -1 +0,0 @@ -Function Standard-Matrix-Class-Slots [Tinaa]

Function Standard-Matrix-Class-Slots

( standard-matrix-class-slots < class > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-subclassp.html b/external/clem/doc/tinaa/clem/function-subclassp.html deleted file mode 100644 index 9a02f00..0000000 --- a/external/clem/doc/tinaa/clem/function-subclassp.html +++ /dev/null @@ -1 +0,0 @@ -Function Subclassp [Tinaa]

Function Subclassp

( subclassp < c1 > < c2 > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-superior.html b/external/clem/doc/tinaa/clem/function-superior.html deleted file mode 100644 index 7acb6c0..0000000 --- a/external/clem/doc/tinaa/clem/function-superior.html +++ /dev/null @@ -1 +0,0 @@ -Function Superior [Tinaa]

Function Superior

( superior < a > < b > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-transform--coord.html b/external/clem/doc/tinaa/clem/function-transform--coord.html deleted file mode 100644 index 5f5a4ab..0000000 --- a/external/clem/doc/tinaa/clem/function-transform--coord.html +++ /dev/null @@ -1 +0,0 @@ -Function Transform-Coord [Tinaa]

Function Transform-Coord

( transform-coord < x > < y > < xfrm > )
applies the affine transformation xfrm to the point {x,y} and
returns the position of the point after applying the transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-ub16--matrix--mref.html b/external/clem/doc/tinaa/clem/function-ub16--matrix--mref.html deleted file mode 100644 index 9918271..0000000 --- a/external/clem/doc/tinaa/clem/function-ub16--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Ub16-Matrix-Mref [Tinaa]

Function Ub16-Matrix-Mref

( ub16-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-ub32--matrix--mref.html b/external/clem/doc/tinaa/clem/function-ub32--matrix--mref.html deleted file mode 100644 index abef5d0..0000000 --- a/external/clem/doc/tinaa/clem/function-ub32--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Ub32-Matrix-Mref [Tinaa]

Function Ub32-Matrix-Mref

( ub32-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-ub8--matrix--mref.html b/external/clem/doc/tinaa/clem/function-ub8--matrix--mref.html deleted file mode 100644 index 7c06917..0000000 --- a/external/clem/doc/tinaa/clem/function-ub8--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Function Ub8-Matrix-Mref [Tinaa]

Function Ub8-Matrix-Mref

( ub8-matrix-mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-variance--window.html b/external/clem/doc/tinaa/clem/function-variance--window.html deleted file mode 100644 index 9c98fdc..0000000 --- a/external/clem/doc/tinaa/clem/function-variance--window.html +++ /dev/null @@ -1,2 +0,0 @@ -Function Variance-Window [Tinaa]

Function Variance-Window

( variance-window < a > &key (k - 2) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-with--map--range.html b/external/clem/doc/tinaa/clem/function-with--map--range.html deleted file mode 100644 index 26a7dea..0000000 --- a/external/clem/doc/tinaa/clem/function-with--map--range.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Map-Range [Tinaa]

Function With-Map-Range

( with-map-range &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-with--matrix--range--do.html b/external/clem/doc/tinaa/clem/function-with--matrix--range--do.html deleted file mode 100644 index aea2ef9..0000000 --- a/external/clem/doc/tinaa/clem/function-with--matrix--range--do.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Matrix-Range-Do [Tinaa]

Function With-Matrix-Range-Do

( with-matrix-range-do &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-with--matrix--vals.html b/external/clem/doc/tinaa/clem/function-with--matrix--vals.html deleted file mode 100644 index 7cf4233..0000000 --- a/external/clem/doc/tinaa/clem/function-with--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Matrix-Vals [Tinaa]

Function With-Matrix-Vals

( with-matrix-vals &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-with--typed--matrix--vals.html b/external/clem/doc/tinaa/clem/function-with--typed--matrix--vals.html deleted file mode 100644 index f203f0b..0000000 --- a/external/clem/doc/tinaa/clem/function-with--typed--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Typed-Matrix-Vals [Tinaa]

Function With-Typed-Matrix-Vals

( with-typed-matrix-vals &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-with--untyped--matrix--vals.html b/external/clem/doc/tinaa/clem/function-with--untyped--matrix--vals.html deleted file mode 100644 index e46f4a5..0000000 --- a/external/clem/doc/tinaa/clem/function-with--untyped--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Function With-Untyped-Matrix-Vals [Tinaa]

Function With-Untyped-Matrix-Vals

( with-untyped-matrix-vals &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-x--derivative.html b/external/clem/doc/tinaa/clem/function-x--derivative.html deleted file mode 100644 index baa8363..0000000 --- a/external/clem/doc/tinaa/clem/function-x--derivative.html +++ /dev/null @@ -1,3 +0,0 @@ -Function X-Derivative [Tinaa]

Function X-Derivative

( x-derivative < m > &key (matrix-class - 'double-float-matrix) (truncate - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/function-y--derivative.html b/external/clem/doc/tinaa/clem/function-y--derivative.html deleted file mode 100644 index 5ad9e69..0000000 --- a/external/clem/doc/tinaa/clem/function-y--derivative.html +++ /dev/null @@ -1,3 +0,0 @@ -Function Y-Derivative [Tinaa]

Function Y-Derivative

( y-derivative < m > &key (matrix-class - 'double-float-matrix) (truncate - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-%discrete--convolve.html b/external/clem/doc/tinaa/clem/generic function-%discrete--convolve.html deleted file mode 100644 index 299a4a0..0000000 --- a/external/clem/doc/tinaa/clem/generic function-%discrete--convolve.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function %Discrete-Convolve [Tinaa]

Generic Function %Discrete-Convolve (5 methods)

( %discrete-convolve < u > < v > < z > &key (norm-v - t) )

Method Summary

%discrete-convolve < double-float-matrix > < double-float-matrix > < double-float-matrix
%discrete-convolve < single-float-matrix > < single-float-matrix > < single-float-matrix
%discrete-convolve < ub8-matrix > < double-float-matrix > < ub8-matrix
%discrete-convolve < ub8-matrix > < single-float-matrix > < ub8-matrix
%discrete-convolve < ub8-matrix > < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-%get--subtr--matrix--class.html b/external/clem/doc/tinaa/clem/generic function-%get--subtr--matrix--class.html deleted file mode 100644 index feef0cd..0000000 --- a/external/clem/doc/tinaa/clem/generic function-%get--subtr--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function %Get-Subtr-Matrix-Class [Tinaa]

Generic Function %Get-Subtr-Matrix-Class (45 methods)

( %get-subtr-matrix-class < a > < b > )

Method Summary

%get-subtr-matrix-class < bit-matrix > < double-float-matrix
%get-subtr-matrix-class < bit-matrix > < single-float-matrix
%get-subtr-matrix-class < double-float-matrix > < bit-matrix
%get-subtr-matrix-class < double-float-matrix > < double-float-matrix
%get-subtr-matrix-class < double-float-matrix > < fixnum-matrix
%get-subtr-matrix-class < double-float-matrix > < sb16-matrix
%get-subtr-matrix-class < double-float-matrix > < sb32-matrix
%get-subtr-matrix-class < double-float-matrix > < sb8-matrix
%get-subtr-matrix-class < double-float-matrix > < single-float-matrix
%get-subtr-matrix-class < double-float-matrix > < ub16-matrix
%get-subtr-matrix-class < double-float-matrix > < ub32-matrix
%get-subtr-matrix-class < double-float-matrix > < ub8-matrix
%get-subtr-matrix-class < sb16-matrix > < bit-matrix
%get-subtr-matrix-class < sb16-matrix > < double-float-matrix
%get-subtr-matrix-class < sb16-matrix > < single-float-matrix
%get-subtr-matrix-class < sb32-matrix > < bit-matrix
%get-subtr-matrix-class < sb32-matrix > < double-float-matrix
%get-subtr-matrix-class < sb32-matrix > < single-float-matrix
%get-subtr-matrix-class < sb32-matrix > < ub16-matrix
%get-subtr-matrix-class < sb32-matrix > < ub8-matrix
%get-subtr-matrix-class < sb8-matrix > < bit-matrix
%get-subtr-matrix-class < sb8-matrix > < double-float-matrix
%get-subtr-matrix-class < sb8-matrix > < single-float-matrix
%get-subtr-matrix-class < single-float-matrix > < bit-matrix
%get-subtr-matrix-class < single-float-matrix > < double-float-matrix
%get-subtr-matrix-class < single-float-matrix > < fixnum-matrix
%get-subtr-matrix-class < single-float-matrix > < sb16-matrix
%get-subtr-matrix-class < single-float-matrix > < sb32-matrix
%get-subtr-matrix-class < single-float-matrix > < sb8-matrix
%get-subtr-matrix-class < single-float-matrix > < single-float-matrix
%get-subtr-matrix-class < single-float-matrix > < ub16-matrix
%get-subtr-matrix-class < single-float-matrix > < ub32-matrix
%get-subtr-matrix-class < single-float-matrix > < ub8-matrix
%get-subtr-matrix-class < ub16-matrix > < bit-matrix
%get-subtr-matrix-class < ub16-matrix > < double-float-matrix
%get-subtr-matrix-class < ub16-matrix > < single-float-matrix
%get-subtr-matrix-class < ub16-matrix > < ub16-matrix
%get-subtr-matrix-class < ub32-matrix > < bit-matrix
%get-subtr-matrix-class < ub32-matrix > < double-float-matrix
%get-subtr-matrix-class < ub32-matrix > < single-float-matrix
%get-subtr-matrix-class < ub32-matrix > < ub32-matrix
%get-subtr-matrix-class < ub8-matrix > < bit-matrix
%get-subtr-matrix-class < ub8-matrix > < double-float-matrix
%get-subtr-matrix-class < ub8-matrix > < single-float-matrix
%get-subtr-matrix-class < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-%mat--mult--block.html b/external/clem/doc/tinaa/clem/generic function-%mat--mult--block.html deleted file mode 100644 index 70da89d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-%mat--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function %Mat-Mult-Block [Tinaa]

Generic Function %Mat-Mult-Block (2 methods)

( %mat-mult-block < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > )

Method Summary

%mat-mult-block < double-float-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
%mat-mult-block < single-float-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-%mat--mult--with--blocks.html b/external/clem/doc/tinaa/clem/generic function-%mat--mult--with--blocks.html deleted file mode 100644 index 747ac5b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-%mat--mult--with--blocks.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function %Mat-Mult-With-Blocks [Tinaa]

Generic Function %Mat-Mult-With-Blocks (2 methods)

( %mat-mult-with-blocks < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > )

Method Summary

%mat-mult-with-blocks < double-float-matrix > < double-float-matrix > < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > 
%mat-mult-with-blocks < single-float-matrix > < single-float-matrix > < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-%separable--discrete--convolve.html b/external/clem/doc/tinaa/clem/generic function-%separable--discrete--convolve.html deleted file mode 100644 index 28be469..0000000 --- a/external/clem/doc/tinaa/clem/generic function-%separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Generic Function %Separable-Discrete-Convolve [Tinaa]

Generic Function %Separable-Discrete-Convolve (5 methods)

( %separable-discrete-convolve < m > < h1 > < h2 > < z1 > < z2 > &key (truncate - nil) (norm-v - nil) (matrix-class - (class-of - m)) )

Method Summary

%separable-discrete-convolve < double-float-matrix > < double-float-matrix > < double-float-matrix > < matrix > < matrix
%separable-discrete-convolve < single-float-matrix > < single-float-matrix > < single-float-matrix > < matrix > < matrix
%separable-discrete-convolve < ub8-matrix > < double-float-matrix > < double-float-matrix > < matrix > < matrix
%separable-discrete-convolve < ub8-matrix > < single-float-matrix > < single-float-matrix > < matrix > < matrix
%separable-discrete-convolve < ub8-matrix > < ub8-matrix > < ub8-matrix > < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-%transform--matrix.html b/external/clem/doc/tinaa/clem/generic function-%transform--matrix.html deleted file mode 100644 index fbfcfcc..0000000 --- a/external/clem/doc/tinaa/clem/generic function-%transform--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function %Transform-Matrix [Tinaa]

Generic Function %Transform-Matrix (11 methods)

( %transform-matrix < m > < n > < xfrm > &key (background - 0) (interpolation - nearest-neighbor) )

Method Summary

%transform-matrix < bit-matrix > < bit-matrix > < double-float-matrix
%transform-matrix < double-float-matrix > < double-float-matrix > < double-float-matrix
%transform-matrix < fixnum-matrix > < fixnum-matrix > < double-float-matrix
%transform-matrix < sb16-matrix > < sb16-matrix > < double-float-matrix
%transform-matrix < sb32-matrix > < sb32-matrix > < double-float-matrix
%transform-matrix < sb8-matrix > < sb8-matrix > < double-float-matrix
%transform-matrix < single-float-matrix > < single-float-matrix > < double-float-matrix
%transform-matrix < single-float-matrix > < single-float-matrix > < single-float-matrix
%transform-matrix < ub16-matrix > < ub16-matrix > < double-float-matrix
%transform-matrix < ub32-matrix > < ub32-matrix > < double-float-matrix
%transform-matrix < ub8-matrix > < ub8-matrix > < double-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-accumulator--type.html b/external/clem/doc/tinaa/clem/generic function-accumulator--type.html deleted file mode 100644 index 1f3e8e5..0000000 --- a/external/clem/doc/tinaa/clem/generic function-accumulator--type.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Accumulator-Type [Tinaa]

Generic Function Accumulator-Type (1 method)

( accumulator-type < smc > )
the type of the result of various mathematical
opreations on instances of this matrix class. needs work.

Method Summary

accumulator-type < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-add--col.html b/external/clem/doc/tinaa/clem/generic function-add--col.html deleted file mode 100644 index fbbc467..0000000 --- a/external/clem/doc/tinaa/clem/generic function-add--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Add-Col [Tinaa]

Generic Function Add-Col (1 method)

( add-col < m > &key < values > < initial-element > )

Method Summary

add-col < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-add--row.html b/external/clem/doc/tinaa/clem/generic function-add--row.html deleted file mode 100644 index 431b2e3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-add--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Add-Row [Tinaa]

Generic Function Add-Row (1 method)

( add-row < m > &key < values > < initial-element > )

Method Summary

add-row < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-affine--transform.html b/external/clem/doc/tinaa/clem/generic function-affine--transform.html deleted file mode 100644 index 5bf0a4f..0000000 --- a/external/clem/doc/tinaa/clem/generic function-affine--transform.html +++ /dev/null @@ -1,7 +0,0 @@ -Generic Function Affine-Transform [Tinaa]

Generic Function Affine-Transform (1 method)

( affine-transform < mat > < xfrm > &key < u > < v > < x > < y > (interpolation - nil - interpolation-supplied-p) (background - nil - background-supplied-p) (matrix-class - (class-of - mat)) )

Method Summary

affine-transform < matrix > < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-allocate--matrix--vals.html b/external/clem/doc/tinaa/clem/generic function-allocate--matrix--vals.html deleted file mode 100644 index 652e92b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-allocate--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Allocate-Matrix-Vals [Tinaa]

Generic Function Allocate-Matrix-Vals (3 methods)

( allocate-matrix-vals < object > &key < rows > < cols > < adjustable > < initial-element > )

Method Summary

allocate-matrix-vals < col-vector
allocate-matrix-vals < matrix
allocate-matrix-vals < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gbit--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gbit--matrix.html deleted file mode 100644 index 70f945d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gbit--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Bit-Matrix [Tinaa]

Generic Function Array->Bit-Matrix (1 method)

( array->bit-matrix < a > )

Method Summary

array->bit-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gcol--vector.html b/external/clem/doc/tinaa/clem/generic function-array---gcol--vector.html deleted file mode 100644 index 2ffe84b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gcol--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Col-Vector [Tinaa]

Generic Function Array->Col-Vector (1 method)

( array->col-vector < a > )

Method Summary

array->col-vector < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gcomplex--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gcomplex--matrix.html deleted file mode 100644 index 6d790b5..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gcomplex--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Complex-Matrix [Tinaa]

Generic Function Array->Complex-Matrix (1 method)

( array->complex-matrix < a > )

Method Summary

array->complex-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gdouble--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gdouble--float--matrix.html deleted file mode 100644 index 65d3a4d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gdouble--float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Double-Float-Matrix [Tinaa]

Generic Function Array->Double-Float-Matrix (1 method)

( array->double-float-matrix < a > )

Method Summary

array->double-float-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gfixnum--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gfixnum--matrix.html deleted file mode 100644 index 72af736..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gfixnum--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Fixnum-Matrix [Tinaa]

Generic Function Array->Fixnum-Matrix (1 method)

( array->fixnum-matrix < a > )

Method Summary

array->fixnum-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gfloat--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gfloat--matrix.html deleted file mode 100644 index 1006be8..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gfloat--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Float-Matrix [Tinaa]

Generic Function Array->Float-Matrix (1 method)

( array->float-matrix < a > )

Method Summary

array->float-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---ginteger--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---ginteger--matrix.html deleted file mode 100644 index da001b3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---ginteger--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Integer-Matrix [Tinaa]

Generic Function Array->Integer-Matrix (1 method)

( array->integer-matrix < a > )

Method Summary

array->integer-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gmatrix.html b/external/clem/doc/tinaa/clem/generic function-array---gmatrix.html deleted file mode 100644 index 35eb9f7..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gmatrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Array->Matrix [Tinaa]

Generic Function Array->Matrix (1 method)

( array->matrix < a > &key (matrix-class - 'matrix) )

Method Summary

array->matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gnumber--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gnumber--matrix.html deleted file mode 100644 index 9201a99..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gnumber--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Number-Matrix [Tinaa]

Generic Function Array->Number-Matrix (1 method)

( array->number-matrix < a > )

Method Summary

array->number-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---greal--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---greal--matrix.html deleted file mode 100644 index 949ca14..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---greal--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Real-Matrix [Tinaa]

Generic Function Array->Real-Matrix (1 method)

( array->real-matrix < a > )

Method Summary

array->real-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---grow--vector.html b/external/clem/doc/tinaa/clem/generic function-array---grow--vector.html deleted file mode 100644 index 2c88d04..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---grow--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Row-Vector [Tinaa]

Generic Function Array->Row-Vector (1 method)

( array->row-vector < a > )

Method Summary

array->row-vector < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gsb16--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gsb16--matrix.html deleted file mode 100644 index e9ff684..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gsb16--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Sb16-Matrix [Tinaa]

Generic Function Array->Sb16-Matrix (1 method)

( array->sb16-matrix < a > )

Method Summary

array->sb16-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gsb32--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gsb32--matrix.html deleted file mode 100644 index d4cf38d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gsb32--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Sb32-Matrix [Tinaa]

Generic Function Array->Sb32-Matrix (1 method)

( array->sb32-matrix < a > )

Method Summary

array->sb32-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gsb8--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gsb8--matrix.html deleted file mode 100644 index 3f26c4e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gsb8--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Sb8-Matrix [Tinaa]

Generic Function Array->Sb8-Matrix (1 method)

( array->sb8-matrix < a > )

Method Summary

array->sb8-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gsingle--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gsingle--float--matrix.html deleted file mode 100644 index 13b614a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gsingle--float--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Single-Float-Matrix [Tinaa]

Generic Function Array->Single-Float-Matrix (1 method)

( array->single-float-matrix < a > )

Method Summary

array->single-float-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gt--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gt--matrix.html deleted file mode 100644 index 83be157..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gt--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->T-Matrix [Tinaa]

Generic Function Array->T-Matrix (1 method)

( array->t-matrix < a > )

Method Summary

array->t-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gub16--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gub16--matrix.html deleted file mode 100644 index 3f98501..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gub16--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Ub16-Matrix [Tinaa]

Generic Function Array->Ub16-Matrix (1 method)

( array->ub16-matrix < a > )

Method Summary

array->ub16-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gub32--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gub32--matrix.html deleted file mode 100644 index 36d2bf7..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gub32--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Ub32-Matrix [Tinaa]

Generic Function Array->Ub32-Matrix (1 method)

( array->ub32-matrix < a > )

Method Summary

array->ub32-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-array---gub8--matrix.html b/external/clem/doc/tinaa/clem/generic function-array---gub8--matrix.html deleted file mode 100644 index f4051c7..0000000 --- a/external/clem/doc/tinaa/clem/generic function-array---gub8--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Array->Ub8-Matrix [Tinaa]

Generic Function Array->Ub8-Matrix (1 method)

( array->ub8-matrix < a > )

Method Summary

array->ub8-matrix < array > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-closest--common--matrix--class.html b/external/clem/doc/tinaa/clem/generic function-closest--common--matrix--class.html deleted file mode 100644 index 0c4e5eb..0000000 --- a/external/clem/doc/tinaa/clem/generic function-closest--common--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Closest-Common-Matrix-Class [Tinaa]

Generic Function Closest-Common-Matrix-Class (1 method)

( closest-common-matrix-class < m1 > &rest < mr > )

Method Summary

closest-common-matrix-class < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-cols.html b/external/clem/doc/tinaa/clem/generic function-cols.html deleted file mode 100644 index bf0bfc0..0000000 --- a/external/clem/doc/tinaa/clem/generic function-cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Cols [Tinaa]

Generic Function Cols (3 methods)

( cols < cv > )

Method Summary

cols < col-vector
cols < matrix
cols < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-concat--matrix--cols.html b/external/clem/doc/tinaa/clem/generic function-concat--matrix--cols.html deleted file mode 100644 index 7e35fb2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-concat--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Concat-Matrix-Cols [Tinaa]

Generic Function Concat-Matrix-Cols (1 method)

( concat-matrix-cols < a > < b > &key < matrix-type > )

Method Summary

concat-matrix-cols < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--affine--transformation.html b/external/clem/doc/tinaa/clem/generic function-copy--affine--transformation.html deleted file mode 100644 index 8e5174a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Copy-Affine-Transformation [Tinaa]

Generic Function Copy-Affine-Transformation (1 method)

( copy-affine-transformation < xfrm > )

Method Summary

copy-affine-transformation < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--bit--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--bit--matrix.html deleted file mode 100644 index fdaf0f2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--bit--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Bit-Matrix [Tinaa]

Generic Function Copy-To-Bit-Matrix (1 method)

( copy-to-bit-matrix < m > &key (constrain - t) )

Method Summary

copy-to-bit-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--complex--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--complex--matrix.html deleted file mode 100644 index 5c97792..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--complex--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Complex-Matrix [Tinaa]

Generic Function Copy-To-Complex-Matrix (1 method)

( copy-to-complex-matrix < m > &key (constrain - t) )

Method Summary

copy-to-complex-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--double--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--double--float--matrix.html deleted file mode 100644 index 3102c67..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--double--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Double-Float-Matrix [Tinaa]

Generic Function Copy-To-Double-Float-Matrix (1 method)

( copy-to-double-float-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-double-float-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--fixnum--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--fixnum--matrix.html deleted file mode 100644 index 41eeadc..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--fixnum--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Fixnum-Matrix [Tinaa]

Generic Function Copy-To-Fixnum-Matrix (1 method)

( copy-to-fixnum-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-fixnum-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--sb16--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--sb16--matrix.html deleted file mode 100644 index f765b79..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--sb16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Sb16-Matrix [Tinaa]

Generic Function Copy-To-Sb16-Matrix (1 method)

( copy-to-sb16-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-sb16-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--sb32--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--sb32--matrix.html deleted file mode 100644 index aa07640..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--sb32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Sb32-Matrix [Tinaa]

Generic Function Copy-To-Sb32-Matrix (1 method)

( copy-to-sb32-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-sb32-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--sb8--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--sb8--matrix.html deleted file mode 100644 index e99e69e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--sb8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Sb8-Matrix [Tinaa]

Generic Function Copy-To-Sb8-Matrix (1 method)

( copy-to-sb8-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-sb8-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--single--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--single--float--matrix.html deleted file mode 100644 index b87e834..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--single--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Single-Float-Matrix [Tinaa]

Generic Function Copy-To-Single-Float-Matrix (1 method)

( copy-to-single-float-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-single-float-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--ub16--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--ub16--matrix.html deleted file mode 100644 index 2fb637c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--ub16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Ub16-Matrix [Tinaa]

Generic Function Copy-To-Ub16-Matrix (1 method)

( copy-to-ub16-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-ub16-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--ub32--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--ub32--matrix.html deleted file mode 100644 index 62a5f89..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--ub32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Ub32-Matrix [Tinaa]

Generic Function Copy-To-Ub32-Matrix (1 method)

( copy-to-ub32-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-ub32-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-copy--to--ub8--matrix.html b/external/clem/doc/tinaa/clem/generic function-copy--to--ub8--matrix.html deleted file mode 100644 index ad69d03..0000000 --- a/external/clem/doc/tinaa/clem/generic function-copy--to--ub8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Copy-To-Ub8-Matrix [Tinaa]

Generic Function Copy-To-Ub8-Matrix (1 method)

( copy-to-ub8-matrix < m > &key (constrain - nil) )

Method Summary

copy-to-ub8-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-cvref.html b/external/clem/doc/tinaa/clem/generic function-cvref.html deleted file mode 100644 index 2997133..0000000 --- a/external/clem/doc/tinaa/clem/generic function-cvref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Cvref [Tinaa]

Generic Function Cvref (1 method)

( cvref < cv > < i > )

Method Summary

cvref < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-decf--affine--transformation.html b/external/clem/doc/tinaa/clem/generic function-decf--affine--transformation.html deleted file mode 100644 index 557f1cc..0000000 --- a/external/clem/doc/tinaa/clem/generic function-decf--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Decf-Affine-Transformation [Tinaa]

Generic Function Decf-Affine-Transformation (1 method)

( decf-affine-transformation < src > < dest > )

Method Summary

decf-affine-transformation < affine-transformation > < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-dilate--orig.html b/external/clem/doc/tinaa/clem/generic function-dilate--orig.html deleted file mode 100644 index 0b18655..0000000 --- a/external/clem/doc/tinaa/clem/generic function-dilate--orig.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dilate-Orig [Tinaa]

Generic Function Dilate-Orig (1 method)

( dilate-orig < u > < r > )

Method Summary

dilate-orig < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-dilate.html b/external/clem/doc/tinaa/clem/generic function-dilate.html deleted file mode 100644 index 280a46c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-dilate.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dilate [Tinaa]

Generic Function Dilate (1 method)

( dilate < u > < v > )

Method Summary

dilate < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-dim.html b/external/clem/doc/tinaa/clem/generic function-dim.html deleted file mode 100644 index add83cb..0000000 --- a/external/clem/doc/tinaa/clem/generic function-dim.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Dim [Tinaa]

Generic Function Dim (4 methods)

( dim < cv > )

Method Summary

dim < col-vector
dim < matrix
dim < row-vector
dim < scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-discrete--convolve.html b/external/clem/doc/tinaa/clem/generic function-discrete--convolve.html deleted file mode 100644 index 727ad8f..0000000 --- a/external/clem/doc/tinaa/clem/generic function-discrete--convolve.html +++ /dev/null @@ -1,4 +0,0 @@ -Generic Function Discrete-Convolve [Tinaa]

Generic Function Discrete-Convolve (6 methods)

( discrete-convolve < u > < v > &key (matrix-class - 'ub8-matrix) (norm-v - t) (truncate - nil) )

Method Summary

discrete-convolve < double-float-matrix > < double-float-matrix
discrete-convolve < matrix > < matrix
discrete-convolve < single-float-matrix > < single-float-matrix
discrete-convolve < ub8-matrix > < double-float-matrix
discrete-convolve < ub8-matrix > < single-float-matrix
discrete-convolve < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-element--type.html b/external/clem/doc/tinaa/clem/generic function-element--type.html deleted file mode 100644 index 4d9b55c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-element--type.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Element-Type [Tinaa]

Generic Function Element-Type (1 method)

( element-type < smc > )
the type of the elements of instances
of this matrix class

Method Summary

element-type < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-erode--orig.html b/external/clem/doc/tinaa/clem/generic function-erode--orig.html deleted file mode 100644 index edb9834..0000000 --- a/external/clem/doc/tinaa/clem/generic function-erode--orig.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Erode-Orig [Tinaa]

Generic Function Erode-Orig (1 method)

( erode-orig < u > < r > )

Method Summary

erode-orig < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-erode.html b/external/clem/doc/tinaa/clem/generic function-erode.html deleted file mode 100644 index b6c37fe..0000000 --- a/external/clem/doc/tinaa/clem/generic function-erode.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Erode [Tinaa]

Generic Function Erode (1 method)

( erode < u > < v > )

Method Summary

erode < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-fit--value.html b/external/clem/doc/tinaa/clem/generic function-fit--value.html deleted file mode 100644 index 8fbf271..0000000 --- a/external/clem/doc/tinaa/clem/generic function-fit--value.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Fit-Value [Tinaa]

Generic Function Fit-Value (1 method)

( fit-value < val > < m > )

Method Summary

fit-value < t > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-fit.html b/external/clem/doc/tinaa/clem/generic function-fit.html deleted file mode 100644 index aa18586..0000000 --- a/external/clem/doc/tinaa/clem/generic function-fit.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Fit [Tinaa]

Generic Function Fit (17 methods)

( fit < m > < v > )

Method Summary

fit < bit-matrix > < t > 
fit < complex-matrix > < t > 
fit < double-float-matrix > < t > 
fit < fixnum-matrix > < t > 
fit < float-matrix > < t > 
fit < integer-matrix > < t > 
fit < matrix > < t > 
fit < number-matrix > < t > 
fit < real-matrix > < t > 
fit < sb16-matrix > < t > 
fit < sb32-matrix > < t > 
fit < sb8-matrix > < t > 
fit < single-float-matrix > < t > 
fit < t-matrix > < t > 
fit < ub16-matrix > < t > 
fit < ub32-matrix > < t > 
fit < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-get--col--list.html b/external/clem/doc/tinaa/clem/generic function-get--col--list.html deleted file mode 100644 index 05265d2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-get--col--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Get-Col-List [Tinaa]

Generic Function Get-Col-List (1 method)

( get-col-list < m > < c > &optional (start - 0) )

Method Summary

get-col-list < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-get--col--vector.html b/external/clem/doc/tinaa/clem/generic function-get--col--vector.html deleted file mode 100644 index 46e4602..0000000 --- a/external/clem/doc/tinaa/clem/generic function-get--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Get-Col-Vector [Tinaa]

Generic Function Get-Col-Vector (1 method)

( get-col-vector < m > < r > )

Method Summary

get-col-vector < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-get--first--non--zero--row--in--col.html b/external/clem/doc/tinaa/clem/generic function-get--first--non--zero--row--in--col.html deleted file mode 100644 index d5cf670..0000000 --- a/external/clem/doc/tinaa/clem/generic function-get--first--non--zero--row--in--col.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Get-First-Non-Zero-Row-In-Col [Tinaa]

Generic Function Get-First-Non-Zero-Row-In-Col (1 method)

( get-first-non-zero-row-in-col < a > < j > &optional (start - 0) )

Method Summary

get-first-non-zero-row-in-col < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-get--row--as--col--vector.html b/external/clem/doc/tinaa/clem/generic function-get--row--as--col--vector.html deleted file mode 100644 index 4455b5e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-get--row--as--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Get-Row-As-Col-Vector [Tinaa]

Generic Function Get-Row-As-Col-Vector (1 method)

( get-row-as-col-vector < m > < r > )

Method Summary

get-row-as-col-vector < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-get--row--list.html b/external/clem/doc/tinaa/clem/generic function-get--row--list.html deleted file mode 100644 index 4aa99f6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-get--row--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Get-Row-List [Tinaa]

Generic Function Get-Row-List (1 method)

( get-row-list < m > < r > &optional (start - 0) )

Method Summary

get-row-list < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-get--row--vector.html b/external/clem/doc/tinaa/clem/generic function-get--row--vector.html deleted file mode 100644 index 05ed827..0000000 --- a/external/clem/doc/tinaa/clem/generic function-get--row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Get-Row-Vector [Tinaa]

Generic Function Get-Row-Vector (1 method)

( get-row-vector < m > < r > )

Method Summary

get-row-vector < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-horzcat.html b/external/clem/doc/tinaa/clem/generic function-horzcat.html deleted file mode 100644 index 60fc9ca..0000000 --- a/external/clem/doc/tinaa/clem/generic function-horzcat.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Horzcat [Tinaa]

Generic Function Horzcat (1 method)

( horzcat < m1 > &rest < mr > )

Method Summary

horzcat < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-identity--matrix.html b/external/clem/doc/tinaa/clem/generic function-identity--matrix.html deleted file mode 100644 index 0851244..0000000 --- a/external/clem/doc/tinaa/clem/generic function-identity--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Identity-Matrix [Tinaa]

Generic Function Identity-Matrix (1 method)

( identity-matrix < k > &key (matrix-class - 'matrix) )

Method Summary

identity-matrix < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-invert--matrix.html b/external/clem/doc/tinaa/clem/generic function-invert--matrix.html deleted file mode 100644 index 839c3b1..0000000 --- a/external/clem/doc/tinaa/clem/generic function-invert--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Invert-Matrix [Tinaa]

Generic Function Invert-Matrix (1 method)

( invert-matrix < a > )

Method Summary

invert-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-m+.html b/external/clem/doc/tinaa/clem/generic function-m+.html deleted file mode 100644 index c94cfc3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-m+.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M+ [Tinaa]

Generic Function M+ (1 method)

( m+ &rest < matrices > )

Method Summary

m+
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-m--.html b/external/clem/doc/tinaa/clem/generic function-m--.html deleted file mode 100644 index f2da4ab..0000000 --- a/external/clem/doc/tinaa/clem/generic function-m--.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M- [Tinaa]

Generic Function M- (1 method)

( m- &rest < matrices > )

Method Summary

m-
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-m-c.html b/external/clem/doc/tinaa/clem/generic function-m-c.html deleted file mode 100644 index d330229..0000000 --- a/external/clem/doc/tinaa/clem/generic function-m-c.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M* [Tinaa]

Generic Function M* (1 method)

( m* &rest < matrices > )

Method Summary

m*
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-m-i-c.html b/external/clem/doc/tinaa/clem/generic function-m-i-c.html deleted file mode 100644 index 53ef1ab..0000000 --- a/external/clem/doc/tinaa/clem/generic function-m-i-c.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function M.* [Tinaa]

Generic Function M.* (1 method)

( m.* &rest < matrices > )

Method Summary

m.*
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--col.html b/external/clem/doc/tinaa/clem/generic function-map--col.html deleted file mode 100644 index 6b2be2e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Col [Tinaa]

Generic Function Map-Col (1 method)

( map-col < a > < k > < f > )

Method Summary

map-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--matrix--copy.html b/external/clem/doc/tinaa/clem/generic function-map--matrix--copy.html deleted file mode 100644 index 193131e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--matrix--copy.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Map-Matrix-Copy [Tinaa]

Generic Function Map-Matrix-Copy (1 method)

( map-matrix-copy < a > < f > &key (matrix-class - (class-of - a)) )

Method Summary

map-matrix-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--matrix--fit.html b/external/clem/doc/tinaa/clem/generic function-map--matrix--fit.html deleted file mode 100644 index b98753a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--matrix--fit.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Matrix-Fit [Tinaa]

Generic Function Map-Matrix-Fit (2 methods)

( map-matrix-fit < f > < a > )

Method Summary

map-matrix-fit < t > < typed-matrix
map-matrix-fit < t > < typed-mixin
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--matrix.html b/external/clem/doc/tinaa/clem/generic function-map--matrix.html deleted file mode 100644 index e3ec934..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Matrix [Tinaa]

Generic Function Map-Matrix (1 method)

( map-matrix < a > < f > )

Method Summary

map-matrix < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--range.html b/external/clem/doc/tinaa/clem/generic function-map--range.html deleted file mode 100644 index 903d132..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Range [Tinaa]

Generic Function Map-Range (1 method)

( map-range < a > < startr > < endr > < startc > < endc > < f > )

Method Summary

map-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--row.html b/external/clem/doc/tinaa/clem/generic function-map--row.html deleted file mode 100644 index da531a6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Row [Tinaa]

Generic Function Map-Row (1 method)

( map-row < a > < k > < f > )

Method Summary

map-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--set--range.html b/external/clem/doc/tinaa/clem/generic function-map--set--range.html deleted file mode 100644 index 25545e5..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--set--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Set-Range [Tinaa]

Generic Function Map-Set-Range (1 method)

( map-set-range < a > < startr > < endr > < startc > < endc > < f > )

Method Summary

map-set-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--set--val--copy.html b/external/clem/doc/tinaa/clem/generic function-map--set--val--copy.html deleted file mode 100644 index 6d73542..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--set--val--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Set-Val-Copy [Tinaa]

Generic Function Map-Set-Val-Copy (1 method)

( map-set-val-copy < a > < f > )

Method Summary

map-set-val-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--set--val--fit.html b/external/clem/doc/tinaa/clem/generic function-map--set--val--fit.html deleted file mode 100644 index 0002490..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Map-Set-Val-Fit [Tinaa]

Generic Function Map-Set-Val-Fit (1 method)

( map-set-val-fit < a > < f > &key (truncate - t) )

Method Summary

map-set-val-fit < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-map--set--val.html b/external/clem/doc/tinaa/clem/generic function-map--set--val.html deleted file mode 100644 index 2381e07..0000000 --- a/external/clem/doc/tinaa/clem/generic function-map--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Map-Set-Val [Tinaa]

Generic Function Map-Set-Val (17 methods)

( map-set-val < m > < f > )

Method Summary

map-set-val < bit-matrix > < t > 
map-set-val < complex-matrix > < t > 
map-set-val < double-float-matrix > < t > 
map-set-val < fixnum-matrix > < t > 
map-set-val < float-matrix > < t > 
map-set-val < integer-matrix > < t > 
map-set-val < matrix > < t > 
map-set-val < number-matrix > < t > 
map-set-val < real-matrix > < t > 
map-set-val < sb16-matrix > < t > 
map-set-val < sb32-matrix > < t > 
map-set-val < sb8-matrix > < t > 
map-set-val < single-float-matrix > < t > 
map-set-val < t-matrix > < t > 
map-set-val < ub16-matrix > < t > 
map-set-val < ub32-matrix > < t > 
map-set-val < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--abs!.html b/external/clem/doc/tinaa/clem/generic function-mat--abs!.html deleted file mode 100644 index a93ab82..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs! [Tinaa]

Generic Function Mat-Abs! (5 methods)

( mat-abs! < m > )

Method Summary

mat-abs! < bit-matrix
mat-abs! < double-float-matrix
mat-abs! < integer-matrix
mat-abs! < single-float-matrix
mat-abs! < t-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--abs--range!.html b/external/clem/doc/tinaa/clem/generic function-mat--abs--range!.html deleted file mode 100644 index 64196c6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--abs--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs-Range! [Tinaa]

Generic Function Mat-Abs-Range! (5 methods)

( mat-abs-range! < m > < startr > < endr > < startc > < endc > )

Method Summary

mat-abs-range! < bit-matrix > < t > < t > < t > < t > 
mat-abs-range! < double-float-matrix > < t > < t > < t > < t > 
mat-abs-range! < integer-matrix > < t > < t > < t > < t > 
mat-abs-range! < single-float-matrix > < t > < t > < t > < t > 
mat-abs-range! < t-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--abs--range.html b/external/clem/doc/tinaa/clem/generic function-mat--abs--range.html deleted file mode 100644 index 40167ef..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--abs--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs-Range [Tinaa]

Generic Function Mat-Abs-Range (15 methods)

( mat-abs-range < m > < startr > < endr > < startc > < endc > )

Method Summary

mat-abs-range < bit-matrix > < t > < t > < t > < t > 
mat-abs-range < complex-matrix > < t > < t > < t > < t > 
mat-abs-range < double-float-matrix > < t > < t > < t > < t > 
mat-abs-range < fixnum-matrix > < t > < t > < t > < t > 
mat-abs-range < integer-matrix > < t > < t > < t > < t > 
mat-abs-range < number-matrix > < t > < t > < t > < t > 
mat-abs-range < real-matrix > < t > < t > < t > < t > 
mat-abs-range < sb16-matrix > < t > < t > < t > < t > 
mat-abs-range < sb32-matrix > < t > < t > < t > < t > 
mat-abs-range < sb8-matrix > < t > < t > < t > < t > 
mat-abs-range < single-float-matrix > < t > < t > < t > < t > 
mat-abs-range < t-matrix > < t > < t > < t > < t > 
mat-abs-range < ub16-matrix > < t > < t > < t > < t > 
mat-abs-range < ub32-matrix > < t > < t > < t > < t > 
mat-abs-range < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--abs.html b/external/clem/doc/tinaa/clem/generic function-mat--abs.html deleted file mode 100644 index fd8d054..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--abs.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Abs [Tinaa]

Generic Function Mat-Abs (16 methods)

( mat-abs < m > )

Method Summary

mat-abs < bit-matrix
mat-abs < complex-matrix
mat-abs < double-float-matrix
mat-abs < fixnum-matrix
mat-abs < integer-matrix
mat-abs < matrix
mat-abs < number-matrix
mat-abs < real-matrix
mat-abs < sb16-matrix
mat-abs < sb32-matrix
mat-abs < sb8-matrix
mat-abs < single-float-matrix
mat-abs < t-matrix
mat-abs < ub16-matrix
mat-abs < ub32-matrix
mat-abs < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--add!--range.html b/external/clem/doc/tinaa/clem/generic function-mat--add!--range.html deleted file mode 100644 index 7d32c31..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--add!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add!-Range [Tinaa]

Generic Function Mat-Add!-Range (42 methods)

( mat-add!-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-add!-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-add!-range < complex-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add!-range < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < double-float > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < integer > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < single-float > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add!-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add!-range < integer-matrix > < integer > < t > < t > < t > < t > 
mat-add!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add!-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add!-range < real-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add!-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add!-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add!-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add!-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add!-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add!-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add!-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add!-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add!-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--add!.html b/external/clem/doc/tinaa/clem/generic function-mat--add!.html deleted file mode 100644 index e9ccc09..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--add!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add! [Tinaa]

Generic Function Mat-Add! (45 methods)

( mat-add! < m > < n > )

Method Summary

mat-add! < complex-matrix > < complex-matrix
mat-add! < complex-matrix > < integer-matrix
mat-add! < complex-matrix > < real-matrix
mat-add! < double-float-matrix > < bit-matrix
mat-add! < double-float-matrix > < double-float > 
mat-add! < double-float-matrix > < double-float-matrix
mat-add! < double-float-matrix > < fixnum-matrix
mat-add! < double-float-matrix > < integer > 
mat-add! < double-float-matrix > < sb16-matrix
mat-add! < double-float-matrix > < sb32-matrix
mat-add! < double-float-matrix > < sb8-matrix
mat-add! < double-float-matrix > < single-float > 
mat-add! < double-float-matrix > < single-float-matrix
mat-add! < double-float-matrix > < ub16-matrix
mat-add! < double-float-matrix > < ub32-matrix
mat-add! < double-float-matrix > < ub8-matrix
mat-add! < integer-matrix > < integer > 
mat-add! < integer-matrix > < integer-matrix
mat-add! < real-matrix > < double-float-matrix
mat-add! < real-matrix > < integer-matrix
mat-add! < real-matrix > < real-matrix
mat-add! < real-matrix > < single-float-matrix
mat-add! < sb16-matrix > < bit-matrix
mat-add! < sb32-matrix > < bit-matrix
mat-add! < sb32-matrix > < ub16-matrix
mat-add! < sb32-matrix > < ub8-matrix
mat-add! < sb8-matrix > < bit-matrix
mat-add! < single-float-matrix > < bit-matrix
mat-add! < single-float-matrix > < fixnum-matrix
mat-add! < single-float-matrix > < sb16-matrix
mat-add! < single-float-matrix > < sb32-matrix
mat-add! < single-float-matrix > < sb8-matrix
mat-add! < single-float-matrix > < single-float-matrix
mat-add! < single-float-matrix > < ub16-matrix
mat-add! < single-float-matrix > < ub32-matrix
mat-add! < single-float-matrix > < ub8-matrix
mat-add! < ub16-matrix > < bit-matrix
mat-add! < ub16-matrix > < ub16-matrix
mat-add! < ub32-matrix > < bit-matrix
mat-add! < ub32-matrix > < ub32-matrix
mat-add! < ub8-matrix > < bit-matrix
mat-add! < ub8-matrix > < bit-scalar
mat-add! < ub8-matrix > < sb8-scalar
mat-add! < ub8-matrix > < ub8-matrix
mat-add! < ub8-matrix > < ub8-scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--add--range!.html b/external/clem/doc/tinaa/clem/generic function-mat--add--range!.html deleted file mode 100644 index b3d35b1..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--add--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add-Range! [Tinaa]

Generic Function Mat-Add-Range! (45 methods)

( mat-add-range! < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-add-range! < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-add-range! < complex-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range! < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < double-float > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < integer > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < single-float > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range! < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < integer-matrix > < integer > < t > < t > < t > < t > 
mat-add-range! < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range! < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range! < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range! < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range! < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < bit-scalar > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < sb8-scalar > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range! < ub8-matrix > < ub8-scalar > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--add--range.html b/external/clem/doc/tinaa/clem/generic function-mat--add--range.html deleted file mode 100644 index 7d7cd28..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--add--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add-Range [Tinaa]

Generic Function Mat-Add-Range (66 methods)

( mat-add-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-add-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < bit-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < bit-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-add-range < complex-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < double-float > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < integer > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < single-float > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < integer-matrix > < integer > < t > < t > < t > < t > 
mat-add-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < integer-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-add-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < bit-scalar > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < double-float > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < integer > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < sb8-scalar > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < single-float > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-add-range < ub8-matrix > < ub8-scalar > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--add.html b/external/clem/doc/tinaa/clem/generic function-mat--add.html deleted file mode 100644 index 240e8e3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--add.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Add [Tinaa]

Generic Function Mat-Add (67 methods)

( mat-add < m > < n > )

Method Summary

mat-add < bit-matrix > < bit-matrix
mat-add < bit-matrix > < double-float-matrix
mat-add < bit-matrix > < single-float-matrix
mat-add < complex-matrix > < complex-matrix
mat-add < complex-matrix > < integer-matrix
mat-add < complex-matrix > < real-matrix
mat-add < double-float-matrix > < bit-matrix
mat-add < double-float-matrix > < double-float > 
mat-add < double-float-matrix > < double-float-matrix
mat-add < double-float-matrix > < fixnum-matrix
mat-add < double-float-matrix > < integer > 
mat-add < double-float-matrix > < sb16-matrix
mat-add < double-float-matrix > < sb32-matrix
mat-add < double-float-matrix > < sb8-matrix
mat-add < double-float-matrix > < single-float > 
mat-add < double-float-matrix > < single-float-matrix
mat-add < double-float-matrix > < ub16-matrix
mat-add < double-float-matrix > < ub32-matrix
mat-add < double-float-matrix > < ub8-matrix
mat-add < fixnum-matrix > < double-float-matrix
mat-add < fixnum-matrix > < single-float-matrix
mat-add < integer-matrix > < integer > 
mat-add < integer-matrix > < integer-matrix
mat-add < matrix > < matrix
mat-add < real-matrix > < double-float-matrix
mat-add < real-matrix > < integer-matrix
mat-add < real-matrix > < real-matrix
mat-add < real-matrix > < single-float-matrix
mat-add < sb16-matrix > < bit-matrix
mat-add < sb16-matrix > < double-float-matrix
mat-add < sb16-matrix > < single-float-matrix
mat-add < sb32-matrix > < bit-matrix
mat-add < sb32-matrix > < double-float-matrix
mat-add < sb32-matrix > < single-float-matrix
mat-add < sb32-matrix > < ub16-matrix
mat-add < sb32-matrix > < ub8-matrix
mat-add < sb8-matrix > < bit-matrix
mat-add < sb8-matrix > < double-float-matrix
mat-add < sb8-matrix > < single-float-matrix
mat-add < single-float-matrix > < bit-matrix
mat-add < single-float-matrix > < double-float-matrix
mat-add < single-float-matrix > < fixnum-matrix
mat-add < single-float-matrix > < sb16-matrix
mat-add < single-float-matrix > < sb32-matrix
mat-add < single-float-matrix > < sb8-matrix
mat-add < single-float-matrix > < single-float-matrix
mat-add < single-float-matrix > < ub16-matrix
mat-add < single-float-matrix > < ub32-matrix
mat-add < single-float-matrix > < ub8-matrix
mat-add < ub16-matrix > < bit-matrix
mat-add < ub16-matrix > < double-float-matrix
mat-add < ub16-matrix > < single-float-matrix
mat-add < ub16-matrix > < ub16-matrix
mat-add < ub32-matrix > < bit-matrix
mat-add < ub32-matrix > < double-float-matrix
mat-add < ub32-matrix > < single-float-matrix
mat-add < ub32-matrix > < ub32-matrix
mat-add < ub8-matrix > < bit-matrix
mat-add < ub8-matrix > < bit-scalar
mat-add < ub8-matrix > < double-float > 
mat-add < ub8-matrix > < double-float-matrix
mat-add < ub8-matrix > < integer > 
mat-add < ub8-matrix > < sb8-scalar
mat-add < ub8-matrix > < single-float > 
mat-add < ub8-matrix > < single-float-matrix
mat-add < ub8-matrix > < ub8-matrix
mat-add < ub8-matrix > < ub8-scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--copy--into.html b/external/clem/doc/tinaa/clem/generic function-mat--copy--into.html deleted file mode 100644 index 94b34a9..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--copy--into.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Copy-Into [Tinaa]

Generic Function Mat-Copy-Into (1 method)

( mat-copy-into < a > < c > &key < truncate > < constrain > )

Method Summary

mat-copy-into < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--copy--proto--dim.html b/external/clem/doc/tinaa/clem/generic function-mat--copy--proto--dim.html deleted file mode 100644 index 98c0d14..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--copy--proto--dim.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Mat-Copy-Proto-Dim [Tinaa]

Generic Function Mat-Copy-Proto-Dim (1 method)

( mat-copy-proto-dim < a > < m > < n > &key (initial-element - nil - initial-element-supplied-p) )

Method Summary

mat-copy-proto-dim < matrix > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--copy--proto.html b/external/clem/doc/tinaa/clem/generic function-mat--copy--proto.html deleted file mode 100644 index 395fa8c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--copy--proto.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Copy-Proto [Tinaa]

Generic Function Mat-Copy-Proto (1 method)

( mat-copy-proto < a > )

Method Summary

mat-copy-proto < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--copy.html b/external/clem/doc/tinaa/clem/generic function-mat--copy.html deleted file mode 100644 index e2b538a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Copy [Tinaa]

Generic Function Mat-Copy (1 method)

( mat-copy < a > &rest < args > )

Method Summary

mat-copy < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--hprod!--range.html b/external/clem/doc/tinaa/clem/generic function-mat--hprod!--range.html deleted file mode 100644 index 7df440e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--hprod!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod!-Range [Tinaa]

Generic Function Mat-Hprod!-Range (63 methods)

( mat-hprod!-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-hprod!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < complex-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < fixnum-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < fixnum-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < real-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb16-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb32-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb32-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub16-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--hprod!.html b/external/clem/doc/tinaa/clem/generic function-mat--hprod!.html deleted file mode 100644 index 0fb2df2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod! [Tinaa]

Generic Function Mat-Hprod! (63 methods)

( mat-hprod! < m > < n > )

Method Summary

mat-hprod! < bit-matrix > < bit-matrix
mat-hprod! < complex-matrix > < bit-matrix
mat-hprod! < complex-matrix > < complex-matrix
mat-hprod! < complex-matrix > < double-float-matrix
mat-hprod! < complex-matrix > < number-matrix
mat-hprod! < complex-matrix > < real-matrix
mat-hprod! < complex-matrix > < sb16-matrix
mat-hprod! < complex-matrix > < sb32-matrix
mat-hprod! < complex-matrix > < sb8-matrix
mat-hprod! < complex-matrix > < single-float-matrix
mat-hprod! < complex-matrix > < ub16-matrix
mat-hprod! < complex-matrix > < ub32-matrix
mat-hprod! < complex-matrix > < ub8-matrix
mat-hprod! < double-float-matrix > < bit-matrix
mat-hprod! < double-float-matrix > < double-float-matrix
mat-hprod! < double-float-matrix > < fixnum-matrix
mat-hprod! < double-float-matrix > < sb16-matrix
mat-hprod! < double-float-matrix > < sb32-matrix
mat-hprod! < double-float-matrix > < sb8-matrix
mat-hprod! < double-float-matrix > < single-float-matrix
mat-hprod! < double-float-matrix > < ub16-matrix
mat-hprod! < double-float-matrix > < ub32-matrix
mat-hprod! < double-float-matrix > < ub8-matrix
mat-hprod! < fixnum-matrix > < bit-matrix
mat-hprod! < fixnum-matrix > < fixnum-matrix
mat-hprod! < real-matrix > < bit-matrix
mat-hprod! < real-matrix > < double-float-matrix
mat-hprod! < real-matrix > < number-matrix
mat-hprod! < real-matrix > < real-matrix
mat-hprod! < real-matrix > < sb16-matrix
mat-hprod! < real-matrix > < sb32-matrix
mat-hprod! < real-matrix > < sb8-matrix
mat-hprod! < real-matrix > < single-float-matrix
mat-hprod! < real-matrix > < ub16-matrix
mat-hprod! < real-matrix > < ub32-matrix
mat-hprod! < real-matrix > < ub8-matrix
mat-hprod! < sb16-matrix > < bit-matrix
mat-hprod! < sb16-matrix > < sb16-matrix
mat-hprod! < sb16-matrix > < sb8-matrix
mat-hprod! < sb32-matrix > < bit-matrix
mat-hprod! < sb32-matrix > < sb16-matrix
mat-hprod! < sb32-matrix > < sb32-matrix
mat-hprod! < sb32-matrix > < sb8-matrix
mat-hprod! < sb8-matrix > < bit-matrix
mat-hprod! < sb8-matrix > < sb8-matrix
mat-hprod! < single-float-matrix > < bit-matrix
mat-hprod! < single-float-matrix > < fixnum-matrix
mat-hprod! < single-float-matrix > < sb16-matrix
mat-hprod! < single-float-matrix > < sb32-matrix
mat-hprod! < single-float-matrix > < sb8-matrix
mat-hprod! < single-float-matrix > < single-float-matrix
mat-hprod! < single-float-matrix > < ub16-matrix
mat-hprod! < single-float-matrix > < ub32-matrix
mat-hprod! < single-float-matrix > < ub8-matrix
mat-hprod! < ub16-matrix > < bit-matrix
mat-hprod! < ub16-matrix > < ub16-matrix
mat-hprod! < ub16-matrix > < ub8-matrix
mat-hprod! < ub32-matrix > < bit-matrix
mat-hprod! < ub32-matrix > < ub16-matrix
mat-hprod! < ub32-matrix > < ub32-matrix
mat-hprod! < ub32-matrix > < ub8-matrix
mat-hprod! < ub8-matrix > < bit-matrix
mat-hprod! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--hprod--range!.html b/external/clem/doc/tinaa/clem/generic function-mat--hprod--range!.html deleted file mode 100644 index 93551f7..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--hprod--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod-Range! [Tinaa]

Generic Function Mat-Hprod-Range! (63 methods)

( mat-hprod-range! < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-hprod-range! < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < complex-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < fixnum-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < fixnum-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < real-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb16-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb32-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub16-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range! < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--hprod--range.html b/external/clem/doc/tinaa/clem/generic function-mat--hprod--range.html deleted file mode 100644 index 15b9d75..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--hprod--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod-Range [Tinaa]

Generic Function Mat-Hprod-Range (63 methods)

( mat-hprod-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-hprod-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < complex-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < fixnum-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < fixnum-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < number-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < real-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < real-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb16-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb16-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb32-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < sb8-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub16-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-hprod-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--hprod.html b/external/clem/doc/tinaa/clem/generic function-mat--hprod.html deleted file mode 100644 index 6e242ca..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Hprod [Tinaa]

Generic Function Mat-Hprod (63 methods)

( mat-hprod < m > < n > )

Method Summary

mat-hprod < bit-matrix > < bit-matrix
mat-hprod < complex-matrix > < bit-matrix
mat-hprod < complex-matrix > < complex-matrix
mat-hprod < complex-matrix > < double-float-matrix
mat-hprod < complex-matrix > < number-matrix
mat-hprod < complex-matrix > < real-matrix
mat-hprod < complex-matrix > < sb16-matrix
mat-hprod < complex-matrix > < sb32-matrix
mat-hprod < complex-matrix > < sb8-matrix
mat-hprod < complex-matrix > < single-float-matrix
mat-hprod < complex-matrix > < ub16-matrix
mat-hprod < complex-matrix > < ub32-matrix
mat-hprod < complex-matrix > < ub8-matrix
mat-hprod < double-float-matrix > < bit-matrix
mat-hprod < double-float-matrix > < double-float-matrix
mat-hprod < double-float-matrix > < fixnum-matrix
mat-hprod < double-float-matrix > < sb16-matrix
mat-hprod < double-float-matrix > < sb32-matrix
mat-hprod < double-float-matrix > < sb8-matrix
mat-hprod < double-float-matrix > < single-float-matrix
mat-hprod < double-float-matrix > < ub16-matrix
mat-hprod < double-float-matrix > < ub32-matrix
mat-hprod < double-float-matrix > < ub8-matrix
mat-hprod < fixnum-matrix > < bit-matrix
mat-hprod < fixnum-matrix > < fixnum-matrix
mat-hprod < real-matrix > < bit-matrix
mat-hprod < real-matrix > < double-float-matrix
mat-hprod < real-matrix > < number-matrix
mat-hprod < real-matrix > < real-matrix
mat-hprod < real-matrix > < sb16-matrix
mat-hprod < real-matrix > < sb32-matrix
mat-hprod < real-matrix > < sb8-matrix
mat-hprod < real-matrix > < single-float-matrix
mat-hprod < real-matrix > < ub16-matrix
mat-hprod < real-matrix > < ub32-matrix
mat-hprod < real-matrix > < ub8-matrix
mat-hprod < sb16-matrix > < bit-matrix
mat-hprod < sb16-matrix > < sb16-matrix
mat-hprod < sb16-matrix > < sb8-matrix
mat-hprod < sb32-matrix > < bit-matrix
mat-hprod < sb32-matrix > < sb16-matrix
mat-hprod < sb32-matrix > < sb32-matrix
mat-hprod < sb32-matrix > < sb8-matrix
mat-hprod < sb8-matrix > < bit-matrix
mat-hprod < sb8-matrix > < sb8-matrix
mat-hprod < single-float-matrix > < bit-matrix
mat-hprod < single-float-matrix > < fixnum-matrix
mat-hprod < single-float-matrix > < sb16-matrix
mat-hprod < single-float-matrix > < sb32-matrix
mat-hprod < single-float-matrix > < sb8-matrix
mat-hprod < single-float-matrix > < single-float-matrix
mat-hprod < single-float-matrix > < ub16-matrix
mat-hprod < single-float-matrix > < ub32-matrix
mat-hprod < single-float-matrix > < ub8-matrix
mat-hprod < ub16-matrix > < bit-matrix
mat-hprod < ub16-matrix > < ub16-matrix
mat-hprod < ub16-matrix > < ub8-matrix
mat-hprod < ub32-matrix > < bit-matrix
mat-hprod < ub32-matrix > < ub16-matrix
mat-hprod < ub32-matrix > < ub32-matrix
mat-hprod < ub32-matrix > < ub8-matrix
mat-hprod < ub8-matrix > < bit-matrix
mat-hprod < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--log!.html b/external/clem/doc/tinaa/clem/generic function-mat--log!.html deleted file mode 100644 index c99e55e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--log!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log! [Tinaa]

Generic Function Mat-Log! (5 methods)

( mat-log! < m > &optional < base > )

Method Summary

mat-log! < complex-matrix
mat-log! < double-float-matrix
mat-log! < number-matrix
mat-log! < single-float-matrix
mat-log! < t-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--log--range!.html b/external/clem/doc/tinaa/clem/generic function-mat--log--range!.html deleted file mode 100644 index d63112e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--log--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log-Range! [Tinaa]

Generic Function Mat-Log-Range! (5 methods)

( mat-log-range! < m > < startr > < endr > < startc > < endc > &optional < base > )

Method Summary

mat-log-range! < complex-matrix > < t > < t > < t > < t > 
mat-log-range! < double-float-matrix > < t > < t > < t > < t > 
mat-log-range! < number-matrix > < t > < t > < t > < t > 
mat-log-range! < single-float-matrix > < t > < t > < t > < t > 
mat-log-range! < t-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--log--range.html b/external/clem/doc/tinaa/clem/generic function-mat--log--range.html deleted file mode 100644 index 5f90351..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--log--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log-Range [Tinaa]

Generic Function Mat-Log-Range (15 methods)

( mat-log-range < m > < startr > < endr > < startc > < endc > &optional < base > )

Method Summary

mat-log-range < bit-matrix > < t > < t > < t > < t > 
mat-log-range < complex-matrix > < t > < t > < t > < t > 
mat-log-range < double-float-matrix > < t > < t > < t > < t > 
mat-log-range < fixnum-matrix > < t > < t > < t > < t > 
mat-log-range < integer-matrix > < t > < t > < t > < t > 
mat-log-range < number-matrix > < t > < t > < t > < t > 
mat-log-range < real-matrix > < t > < t > < t > < t > 
mat-log-range < sb16-matrix > < t > < t > < t > < t > 
mat-log-range < sb32-matrix > < t > < t > < t > < t > 
mat-log-range < sb8-matrix > < t > < t > < t > < t > 
mat-log-range < single-float-matrix > < t > < t > < t > < t > 
mat-log-range < t-matrix > < t > < t > < t > < t > 
mat-log-range < ub16-matrix > < t > < t > < t > < t > 
mat-log-range < ub32-matrix > < t > < t > < t > < t > 
mat-log-range < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--log.html b/external/clem/doc/tinaa/clem/generic function-mat--log.html deleted file mode 100644 index 0ffb180..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--log.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Log [Tinaa]

Generic Function Mat-Log (16 methods)

( mat-log < m > &optional < base > )

Method Summary

mat-log < bit-matrix
mat-log < complex-matrix
mat-log < double-float-matrix
mat-log < fixnum-matrix
mat-log < integer-matrix
mat-log < matrix
mat-log < number-matrix
mat-log < real-matrix
mat-log < sb16-matrix
mat-log < sb32-matrix
mat-log < sb8-matrix
mat-log < single-float-matrix
mat-log < t-matrix
mat-log < ub16-matrix
mat-log < ub32-matrix
mat-log < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--mult--3--block.html b/external/clem/doc/tinaa/clem/generic function-mat--mult--3--block.html deleted file mode 100644 index 84bf8db..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--mult--3--block.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Mult-3-Block [Tinaa]

Generic Function Mat-Mult-3-Block (2 methods)

( mat-mult-3-block < m > < n > < p > )

Method Summary

mat-mult-3-block < double-float-matrix > < double-float-matrix > < double-float-matrix
mat-mult-3-block < single-float-matrix > < single-float-matrix > < single-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--mult.html b/external/clem/doc/tinaa/clem/generic function-mat--mult.html deleted file mode 100644 index a57fdde..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--mult.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Mult [Tinaa]

Generic Function Mat-Mult (11 methods)

( mat-mult < m > < n > )

Method Summary

mat-mult < bit-matrix > < bit-matrix
mat-mult < double-float-matrix > < double-float-matrix
mat-mult < fixnum-matrix > < fixnum-matrix
mat-mult < matrix > < matrix
mat-mult < sb16-matrix > < sb16-matrix
mat-mult < sb32-matrix > < sb32-matrix
mat-mult < sb8-matrix > < sb8-matrix
mat-mult < single-float-matrix > < single-float-matrix
mat-mult < ub16-matrix > < ub16-matrix
mat-mult < ub32-matrix > < ub32-matrix
mat-mult < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--mult3.html b/external/clem/doc/tinaa/clem/generic function-mat--mult3.html deleted file mode 100644 index 421bece..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--mult3.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Mult3 [Tinaa]

Generic Function Mat-Mult3 (10 methods)

( mat-mult3 < m > < n > < p > )

Method Summary

mat-mult3 < bit-matrix > < bit-matrix > < bit-matrix
mat-mult3 < double-float-matrix > < double-float-matrix > < double-float-matrix
mat-mult3 < fixnum-matrix > < fixnum-matrix > < fixnum-matrix
mat-mult3 < sb16-matrix > < sb16-matrix > < sb16-matrix
mat-mult3 < sb32-matrix > < sb32-matrix > < sb32-matrix
mat-mult3 < sb8-matrix > < sb8-matrix > < sb8-matrix
mat-mult3 < single-float-matrix > < single-float-matrix > < single-float-matrix
mat-mult3 < ub16-matrix > < ub16-matrix > < ub16-matrix
mat-mult3 < ub32-matrix > < ub32-matrix > < ub32-matrix
mat-mult3 < ub8-matrix > < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--scalar--op.html b/external/clem/doc/tinaa/clem/generic function-mat--scalar--op.html deleted file mode 100644 index a0efbc0..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--scalar--op.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scalar-Op [Tinaa]

Generic Function Mat-Scalar-Op (1 method)

( mat-scalar-op < a > < b > < op > )

Method Summary

mat-scalar-op < matrix > < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--scale!.html b/external/clem/doc/tinaa/clem/generic function-mat--scale!.html deleted file mode 100644 index 52953ab..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale! [Tinaa]

Generic Function Mat-Scale! (14 methods)

( mat-scale! < m > < q > )

Method Summary

mat-scale! < bit-matrix > < t > 
mat-scale! < complex-matrix > < t > 
mat-scale! < double-float-matrix > < t > 
mat-scale! < fixnum-matrix > < t > 
mat-scale! < integer-matrix > < t > 
mat-scale! < real-matrix > < t > 
mat-scale! < sb16-matrix > < t > 
mat-scale! < sb32-matrix > < t > 
mat-scale! < sb8-matrix > < t > 
mat-scale! < single-float-matrix > < t > 
mat-scale! < t-matrix > < t > 
mat-scale! < ub16-matrix > < t > 
mat-scale! < ub32-matrix > < t > 
mat-scale! < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--scale--range!.html b/external/clem/doc/tinaa/clem/generic function-mat--scale--range!.html deleted file mode 100644 index 733e51b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--scale--range!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Range! [Tinaa]

Generic Function Mat-Scale-Range! (14 methods)

( mat-scale-range! < m > < q > < startr > < endr > < startc > < endc > )

Method Summary

mat-scale-range! < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range! < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--scale--range.html b/external/clem/doc/tinaa/clem/generic function-mat--scale--range.html deleted file mode 100644 index 1cca54e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--scale--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale-Range [Tinaa]

Generic Function Mat-Scale-Range (14 methods)

( mat-scale-range < m > < q > < startr > < endr > < startc > < endc > )

Method Summary

mat-scale-range < bit-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < complex-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < double-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < fixnum-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < integer-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < real-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < sb16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < sb32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < sb8-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < single-float-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < t-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < ub16-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < ub32-matrix > < t > < t > < t > < t > < t > 
mat-scale-range < ub8-matrix > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--scale.html b/external/clem/doc/tinaa/clem/generic function-mat--scale.html deleted file mode 100644 index 0b883b6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--scale.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Scale [Tinaa]

Generic Function Mat-Scale (14 methods)

( mat-scale < m > < q > )

Method Summary

mat-scale < bit-matrix > < t > 
mat-scale < complex-matrix > < t > 
mat-scale < double-float-matrix > < t > 
mat-scale < fixnum-matrix > < t > 
mat-scale < integer-matrix > < t > 
mat-scale < real-matrix > < t > 
mat-scale < sb16-matrix > < t > 
mat-scale < sb32-matrix > < t > 
mat-scale < sb8-matrix > < t > 
mat-scale < single-float-matrix > < t > 
mat-scale < t-matrix > < t > 
mat-scale < ub16-matrix > < t > 
mat-scale < ub32-matrix > < t > 
mat-scale < ub8-matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--sqrt!.html b/external/clem/doc/tinaa/clem/generic function-mat--sqrt!.html deleted file mode 100644 index 9a06ec1..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--sqrt!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Sqrt! [Tinaa]

Generic Function Mat-Sqrt! (3 methods)

( mat-sqrt! < u > )

Method Summary

mat-sqrt! < double-float-matrix
mat-sqrt! < matrix
mat-sqrt! < single-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--sqrt.html b/external/clem/doc/tinaa/clem/generic function-mat--sqrt.html deleted file mode 100644 index b82889b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--sqrt.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Sqrt [Tinaa]

Generic Function Mat-Sqrt (1 method)

( mat-sqrt < u > )

Method Summary

mat-sqrt < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--square!.html b/external/clem/doc/tinaa/clem/generic function-mat--square!.html deleted file mode 100644 index 30eaa32..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--square!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Square! [Tinaa]

Generic Function Mat-Square! (3 methods)

( mat-square! < u > )

Method Summary

mat-square! < double-float-matrix
mat-square! < matrix
mat-square! < single-float-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--square.html b/external/clem/doc/tinaa/clem/generic function-mat--square.html deleted file mode 100644 index b663c15..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--square.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Square [Tinaa]

Generic Function Mat-Square (1 method)

( mat-square < u > )

Method Summary

mat-square < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--subtr!--range.html b/external/clem/doc/tinaa/clem/generic function-mat--subtr!--range.html deleted file mode 100644 index 07df7ae..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--subtr!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Subtr!-Range [Tinaa]

Generic Function Mat-Subtr!-Range (30 methods)

( mat-subtr!-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mat-subtr!-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > 
mat-subtr!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--subtr!.html b/external/clem/doc/tinaa/clem/generic function-mat--subtr!.html deleted file mode 100644 index 189dd60..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Subtr! [Tinaa]

Generic Function Mat-Subtr! (30 methods)

( mat-subtr! < m > < n > )

Method Summary

mat-subtr! < double-float-matrix > < bit-matrix
mat-subtr! < double-float-matrix > < double-float-matrix
mat-subtr! < double-float-matrix > < fixnum-matrix
mat-subtr! < double-float-matrix > < sb16-matrix
mat-subtr! < double-float-matrix > < sb32-matrix
mat-subtr! < double-float-matrix > < sb8-matrix
mat-subtr! < double-float-matrix > < single-float-matrix
mat-subtr! < double-float-matrix > < ub16-matrix
mat-subtr! < double-float-matrix > < ub32-matrix
mat-subtr! < double-float-matrix > < ub8-matrix
mat-subtr! < sb16-matrix > < bit-matrix
mat-subtr! < sb32-matrix > < bit-matrix
mat-subtr! < sb32-matrix > < ub16-matrix
mat-subtr! < sb32-matrix > < ub8-matrix
mat-subtr! < sb8-matrix > < bit-matrix
mat-subtr! < single-float-matrix > < bit-matrix
mat-subtr! < single-float-matrix > < fixnum-matrix
mat-subtr! < single-float-matrix > < sb16-matrix
mat-subtr! < single-float-matrix > < sb32-matrix
mat-subtr! < single-float-matrix > < sb8-matrix
mat-subtr! < single-float-matrix > < single-float-matrix
mat-subtr! < single-float-matrix > < ub16-matrix
mat-subtr! < single-float-matrix > < ub32-matrix
mat-subtr! < single-float-matrix > < ub8-matrix
mat-subtr! < ub16-matrix > < bit-matrix
mat-subtr! < ub16-matrix > < ub16-matrix
mat-subtr! < ub32-matrix > < bit-matrix
mat-subtr! < ub32-matrix > < ub32-matrix
mat-subtr! < ub8-matrix > < bit-matrix
mat-subtr! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--subtr--range.html b/external/clem/doc/tinaa/clem/generic function-mat--subtr--range.html deleted file mode 100644 index 56acf7a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--subtr--range.html +++ /dev/null @@ -1,4 +0,0 @@ -Generic Function Mat-Subtr-Range [Tinaa]

Generic Function Mat-Subtr-Range (1 method)

( mat-subtr-range < m > < n > < startr > < endr > < startc > < endc > &key (matrix-class - (%get-subtr-matrix-class - m - n)) )

Method Summary

mat-subtr-range < typed-mixin > < typed-mixin > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--subtr--range3.html b/external/clem/doc/tinaa/clem/generic function-mat--subtr--range3.html deleted file mode 100644 index 40f5a7e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--subtr--range3.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Subtr-Range3 [Tinaa]

Generic Function Mat-Subtr-Range3 (49 methods)

( mat-subtr-range3 < m > < n > < p > < startr > < endr > < startc > < endc > )

Method Summary

mat-subtr-range3 < bit-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < bit-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < bit-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < double-float-matrix > < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < bit-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb16-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < bit-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < ub16-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb32-matrix > < ub8-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < bit-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < bit-matrix > < sb8-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < sb8-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < bit-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < single-float-matrix > < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < bit-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < ub16-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub16-matrix > < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < bit-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < ub32-matrix > < sb32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub32-matrix > < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < bit-matrix > < ub8-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < ub8-matrix > < sb16-matrix > < t > < t > < t > < t > 
mat-subtr-range3 < ub8-matrix > < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--subtr.html b/external/clem/doc/tinaa/clem/generic function-mat--subtr.html deleted file mode 100644 index 96abba3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--subtr.html +++ /dev/null @@ -1,4 +0,0 @@ -Generic Function Mat-Subtr [Tinaa]

Generic Function Mat-Subtr (2 methods)

( mat-subtr < m > < n > &key (matrix-class - (%get-subtr-matrix-class - m - n)) )

Method Summary

mat-subtr :around < matrix > < matrix
mat-subtr < matrix > < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mat--trim.html b/external/clem/doc/tinaa/clem/generic function-mat--trim.html deleted file mode 100644 index a610a76..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mat--trim.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mat-Trim [Tinaa]

Generic Function Mat-Trim (1 method)

( mat-trim < m > < k > )

Method Summary

mat-trim < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-matrix--move--range--constrain.html b/external/clem/doc/tinaa/clem/generic function-matrix--move--range--constrain.html deleted file mode 100644 index c0e03ff..0000000 --- a/external/clem/doc/tinaa/clem/generic function-matrix--move--range--constrain.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move-Range-Constrain [Tinaa]

Generic Function Matrix-Move-Range-Constrain (66 methods)

( matrix-move-range-constrain < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > )

Method Summary

matrix-move-range-constrain < bit-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < complex-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < real-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range-constrain < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-matrix--move--range.html b/external/clem/doc/tinaa/clem/generic function-matrix--move--range.html deleted file mode 100644 index d9e0559..0000000 --- a/external/clem/doc/tinaa/clem/generic function-matrix--move--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move-Range [Tinaa]

Generic Function Matrix-Move-Range (66 methods)

( matrix-move-range < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > )

Method Summary

matrix-move-range < bit-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < bit-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < complex-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < complex-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < double-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < fixnum-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < fixnum-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < real-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb32-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < sb8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < complex-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < fixnum-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < number-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < real-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < sb16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < sb32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < sb8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < single-float-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < bit-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < double-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < single-float-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
matrix-move-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-matrix--move.html b/external/clem/doc/tinaa/clem/generic function-matrix--move.html deleted file mode 100644 index 836cf50..0000000 --- a/external/clem/doc/tinaa/clem/generic function-matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Move [Tinaa]

Generic Function Matrix-Move (66 methods)

( matrix-move < m > < n > &key < constrain > )

Method Summary

matrix-move < bit-matrix > < double-float-matrix
matrix-move < bit-matrix > < sb16-matrix
matrix-move < bit-matrix > < sb32-matrix
matrix-move < bit-matrix > < sb8-matrix
matrix-move < bit-matrix > < single-float-matrix
matrix-move < bit-matrix > < ub16-matrix
matrix-move < bit-matrix > < ub32-matrix
matrix-move < bit-matrix > < ub8-matrix
matrix-move < complex-matrix > < complex-matrix
matrix-move < complex-matrix > < real-matrix
matrix-move < double-float-matrix > < bit-matrix
matrix-move < double-float-matrix > < complex-matrix
matrix-move < double-float-matrix > < double-float-matrix
matrix-move < double-float-matrix > < fixnum-matrix
matrix-move < double-float-matrix > < number-matrix
matrix-move < double-float-matrix > < real-matrix
matrix-move < double-float-matrix > < sb16-matrix
matrix-move < double-float-matrix > < sb32-matrix
matrix-move < double-float-matrix > < sb8-matrix
matrix-move < double-float-matrix > < single-float-matrix
matrix-move < double-float-matrix > < ub16-matrix
matrix-move < double-float-matrix > < ub32-matrix
matrix-move < double-float-matrix > < ub8-matrix
matrix-move < fixnum-matrix > < double-float-matrix
matrix-move < fixnum-matrix > < single-float-matrix
matrix-move < real-matrix > < complex-matrix
matrix-move < real-matrix > < double-float-matrix
matrix-move < real-matrix > < real-matrix
matrix-move < real-matrix > < single-float-matrix
matrix-move < real-matrix > < ub8-matrix
matrix-move < sb16-matrix > < bit-matrix
matrix-move < sb16-matrix > < double-float-matrix
matrix-move < sb16-matrix > < single-float-matrix
matrix-move < sb32-matrix > < bit-matrix
matrix-move < sb32-matrix > < double-float-matrix
matrix-move < sb32-matrix > < single-float-matrix
matrix-move < sb32-matrix > < ub16-matrix
matrix-move < sb32-matrix > < ub8-matrix
matrix-move < sb8-matrix > < bit-matrix
matrix-move < sb8-matrix > < double-float-matrix
matrix-move < sb8-matrix > < single-float-matrix
matrix-move < single-float-matrix > < bit-matrix
matrix-move < single-float-matrix > < complex-matrix
matrix-move < single-float-matrix > < double-float-matrix
matrix-move < single-float-matrix > < fixnum-matrix
matrix-move < single-float-matrix > < number-matrix
matrix-move < single-float-matrix > < real-matrix
matrix-move < single-float-matrix > < sb16-matrix
matrix-move < single-float-matrix > < sb32-matrix
matrix-move < single-float-matrix > < sb8-matrix
matrix-move < single-float-matrix > < single-float-matrix
matrix-move < single-float-matrix > < ub16-matrix
matrix-move < single-float-matrix > < ub32-matrix
matrix-move < single-float-matrix > < ub8-matrix
matrix-move < ub16-matrix > < bit-matrix
matrix-move < ub16-matrix > < double-float-matrix
matrix-move < ub16-matrix > < single-float-matrix
matrix-move < ub16-matrix > < ub16-matrix
matrix-move < ub32-matrix > < bit-matrix
matrix-move < ub32-matrix > < double-float-matrix
matrix-move < ub32-matrix > < single-float-matrix
matrix-move < ub32-matrix > < ub32-matrix
matrix-move < ub8-matrix > < bit-matrix
matrix-move < ub8-matrix > < double-float-matrix
matrix-move < ub8-matrix > < single-float-matrix
matrix-move < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-matrix--precedence--list.html b/external/clem/doc/tinaa/clem/generic function-matrix--precedence--list.html deleted file mode 100644 index b665290..0000000 --- a/external/clem/doc/tinaa/clem/generic function-matrix--precedence--list.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Matrix-Precedence-List [Tinaa]

Generic Function Matrix-Precedence-List (1 method)

( matrix-precedence-list < c > )

Method Summary

matrix-precedence-list < class > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-max--range.html b/external/clem/doc/tinaa/clem/generic function-max--range.html deleted file mode 100644 index df56642..0000000 --- a/external/clem/doc/tinaa/clem/generic function-max--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Max-Range [Tinaa]

Generic Function Max-Range (13 methods)

( max-range < m > < startr > < endr > < startc > < endc > )

Method Summary

max-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < integer-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < real-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
max-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-max--val.html b/external/clem/doc/tinaa/clem/generic function-max--val.html deleted file mode 100644 index fcfad7f..0000000 --- a/external/clem/doc/tinaa/clem/generic function-max--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Max-Val [Tinaa]

Generic Function Max-Val (1 method)

( max-val < m > )

Method Summary

max-val < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-maxval.html b/external/clem/doc/tinaa/clem/generic function-maxval.html deleted file mode 100644 index 2b80d94..0000000 --- a/external/clem/doc/tinaa/clem/generic function-maxval.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Maxval [Tinaa]

Generic Function Maxval (1 method)

( maxval < smc > )
the maximum value allowed by instances
of this matrix class.

Method Summary

maxval < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mean--range.html b/external/clem/doc/tinaa/clem/generic function-mean--range.html deleted file mode 100644 index 4a06226..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mean--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mean-Range [Tinaa]

Generic Function Mean-Range (1 method)

( mean-range < m > < startr > < endr > < startc > < endc > )

Method Summary

mean-range < matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mean.html b/external/clem/doc/tinaa/clem/generic function-mean.html deleted file mode 100644 index 447ac6a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mean.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mean [Tinaa]

Generic Function Mean (1 method)

( mean < m > )

Method Summary

mean < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-min--range.html b/external/clem/doc/tinaa/clem/generic function-min--range.html deleted file mode 100644 index 9c1924c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-min--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Min-Range [Tinaa]

Generic Function Min-Range (13 methods)

( min-range < m > < startr > < endr > < startc > < endc > )

Method Summary

min-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < integer-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < real-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
min-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-min--val.html b/external/clem/doc/tinaa/clem/generic function-min--val.html deleted file mode 100644 index 9351f94..0000000 --- a/external/clem/doc/tinaa/clem/generic function-min--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Min-Val [Tinaa]

Generic Function Min-Val (1 method)

( min-val < m > )

Method Summary

min-val < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-minval.html b/external/clem/doc/tinaa/clem/generic function-minval.html deleted file mode 100644 index be3c04c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-minval.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Minval [Tinaa]

Generic Function Minval (1 method)

( minval < smc > )
the minimum value allowed by instances
of this matrix class.

Method Summary

minval < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogand!--range.html b/external/clem/doc/tinaa/clem/generic function-mlogand!--range.html deleted file mode 100644 index b0d76da..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogand!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand!-Range [Tinaa]

Generic Function Mlogand!-Range (5 methods)

( mlogand!-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mlogand!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogand!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogand!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogand!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogand!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogand!.html b/external/clem/doc/tinaa/clem/generic function-mlogand!.html deleted file mode 100644 index 8d68f8d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogand!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand! [Tinaa]

Generic Function Mlogand! (5 methods)

( mlogand! < m > < n > )

Method Summary

mlogand! < bit-matrix > < bit-matrix
mlogand! < integer-matrix > < integer-matrix
mlogand! < ub16-matrix > < ub16-matrix
mlogand! < ub32-matrix > < ub32-matrix
mlogand! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogand--range.html b/external/clem/doc/tinaa/clem/generic function-mlogand--range.html deleted file mode 100644 index 8a51f8a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogand--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand-Range [Tinaa]

Generic Function Mlogand-Range (5 methods)

( mlogand-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mlogand-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogand-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogand-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogand-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogand-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogand.html b/external/clem/doc/tinaa/clem/generic function-mlogand.html deleted file mode 100644 index b08a248..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogand.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogand [Tinaa]

Generic Function Mlogand (5 methods)

( mlogand < m > < n > )

Method Summary

mlogand < bit-matrix > < bit-matrix
mlogand < integer-matrix > < integer-matrix
mlogand < ub16-matrix > < ub16-matrix
mlogand < ub32-matrix > < ub32-matrix
mlogand < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogior!--range.html b/external/clem/doc/tinaa/clem/generic function-mlogior!--range.html deleted file mode 100644 index 7c56738..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogior!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior!-Range [Tinaa]

Generic Function Mlogior!-Range (5 methods)

( mlogior!-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mlogior!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogior!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogior!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogior!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogior!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogior!.html b/external/clem/doc/tinaa/clem/generic function-mlogior!.html deleted file mode 100644 index 1398717..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogior!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior! [Tinaa]

Generic Function Mlogior! (5 methods)

( mlogior! < m > < n > )

Method Summary

mlogior! < bit-matrix > < bit-matrix
mlogior! < integer-matrix > < integer-matrix
mlogior! < ub16-matrix > < ub16-matrix
mlogior! < ub32-matrix > < ub32-matrix
mlogior! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogior--range.html b/external/clem/doc/tinaa/clem/generic function-mlogior--range.html deleted file mode 100644 index dee3bff..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogior--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior-Range [Tinaa]

Generic Function Mlogior-Range (5 methods)

( mlogior-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mlogior-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogior-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogior-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogior-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogior-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogior.html b/external/clem/doc/tinaa/clem/generic function-mlogior.html deleted file mode 100644 index 3127c34..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogior.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogior [Tinaa]

Generic Function Mlogior (5 methods)

( mlogior < m > < n > )

Method Summary

mlogior < bit-matrix > < bit-matrix
mlogior < integer-matrix > < integer-matrix
mlogior < ub16-matrix > < ub16-matrix
mlogior < ub32-matrix > < ub32-matrix
mlogior < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogxor!--range.html b/external/clem/doc/tinaa/clem/generic function-mlogxor!--range.html deleted file mode 100644 index c2a88a6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogxor!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor!-Range [Tinaa]

Generic Function Mlogxor!-Range (5 methods)

( mlogxor!-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mlogxor!-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogxor!-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogxor!-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogxor!-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogxor!-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogxor!.html b/external/clem/doc/tinaa/clem/generic function-mlogxor!.html deleted file mode 100644 index f2ab173..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogxor!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor! [Tinaa]

Generic Function Mlogxor! (5 methods)

( mlogxor! < m > < n > )

Method Summary

mlogxor! < bit-matrix > < bit-matrix
mlogxor! < integer-matrix > < integer-matrix
mlogxor! < ub16-matrix > < ub16-matrix
mlogxor! < ub32-matrix > < ub32-matrix
mlogxor! < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogxor--range.html b/external/clem/doc/tinaa/clem/generic function-mlogxor--range.html deleted file mode 100644 index e448824..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogxor--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor-Range [Tinaa]

Generic Function Mlogxor-Range (5 methods)

( mlogxor-range < m > < n > < startr > < endr > < startc > < endc > )

Method Summary

mlogxor-range < bit-matrix > < bit-matrix > < t > < t > < t > < t > 
mlogxor-range < integer-matrix > < integer-matrix > < t > < t > < t > < t > 
mlogxor-range < ub16-matrix > < ub16-matrix > < t > < t > < t > < t > 
mlogxor-range < ub32-matrix > < ub32-matrix > < t > < t > < t > < t > 
mlogxor-range < ub8-matrix > < ub8-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mlogxor.html b/external/clem/doc/tinaa/clem/generic function-mlogxor.html deleted file mode 100644 index 755aa2c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mlogxor.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mlogxor [Tinaa]

Generic Function Mlogxor (5 methods)

( mlogxor < m > < n > )

Method Summary

mlogxor < bit-matrix > < bit-matrix
mlogxor < integer-matrix > < integer-matrix
mlogxor < ub16-matrix > < ub16-matrix
mlogxor < ub32-matrix > < ub32-matrix
mlogxor < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mnot!--range.html b/external/clem/doc/tinaa/clem/generic function-mnot!--range.html deleted file mode 100644 index 1e86554..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mnot!--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot!-Range [Tinaa]

Generic Function Mnot!-Range (1 method)

( mnot!-range < m > < startr > < endr > < startc > < endc > )

Method Summary

mnot!-range < integer-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mnot!.html b/external/clem/doc/tinaa/clem/generic function-mnot!.html deleted file mode 100644 index 0c7a0b8..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mnot!.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot! [Tinaa]

Generic Function Mnot! (1 method)

( mnot! < m > )

Method Summary

mnot! < integer-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mnot--range.html b/external/clem/doc/tinaa/clem/generic function-mnot--range.html deleted file mode 100644 index 869db59..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mnot--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot-Range [Tinaa]

Generic Function Mnot-Range (1 method)

( mnot-range < m > < startr > < endr > < startc > < endc > )

Method Summary

mnot-range < integer-matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mnot.html b/external/clem/doc/tinaa/clem/generic function-mnot.html deleted file mode 100644 index 937efc3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mnot.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mnot [Tinaa]

Generic Function Mnot (1 method)

( mnot < m > )

Method Summary

mnot < integer-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-morphological--op.html b/external/clem/doc/tinaa/clem/generic function-morphological--op.html deleted file mode 100644 index a129b14..0000000 --- a/external/clem/doc/tinaa/clem/generic function-morphological--op.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Morphological-Op [Tinaa]

Generic Function Morphological-Op (1 method)

( morphological-op < u > < v > < f > )

Method Summary

morphological-op < matrix > < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-move--affine--transformation.html b/external/clem/doc/tinaa/clem/generic function-move--affine--transformation.html deleted file mode 100644 index e2665cf..0000000 --- a/external/clem/doc/tinaa/clem/generic function-move--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Move-Affine-Transformation [Tinaa]

Generic Function Move-Affine-Transformation (1 method)

( move-affine-transformation < src > < dest > )

Method Summary

move-affine-transformation < affine-transformation > < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-move--element.html b/external/clem/doc/tinaa/clem/generic function-move--element.html deleted file mode 100644 index 545f46d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-move--element.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Move-Element [Tinaa]

Generic Function Move-Element (67 methods)

( move-element < m > < i1 > < j1 > < n > < i2 > < j2 > )

Method Summary

move-element < bit-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < sb16-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < sb32-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < sb8-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < bit-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < complex-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < complex-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < fixnum-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < number-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < sb16-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < sb32-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < sb8-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < double-float-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < fixnum-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < fixnum-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < matrix > < t > < t > < matrix > < t > < t > 
move-element < real-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < real-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < sb16-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < sb16-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < sb16-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < sb32-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < sb8-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < sb8-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < sb8-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < complex-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < fixnum-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < number-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < real-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < sb16-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < sb32-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < sb8-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < single-float-matrix > < t > < t > < ub8-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < ub16-matrix > < t > < t > < ub16-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < ub32-matrix > < t > < t > < ub32-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < bit-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < double-float-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < single-float-matrix > < t > < t > 
move-element < ub8-matrix > < t > < t > < ub8-matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-mref.html b/external/clem/doc/tinaa/clem/generic function-mref.html deleted file mode 100644 index f80fdb2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-mref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Mref [Tinaa]

Generic Function Mref (17 methods)

( mref < m > < row > < col > )

Method Summary

mref < bit-matrix > < fixnum > < fixnum > 
mref < complex-matrix > < fixnum > < fixnum > 
mref < double-float-matrix > < fixnum > < fixnum > 
mref < fixnum-matrix > < fixnum > < fixnum > 
mref < float-matrix > < fixnum > < fixnum > 
mref < integer-matrix > < fixnum > < fixnum > 
mref < matrix > < t > < t > 
mref < number-matrix > < fixnum > < fixnum > 
mref < real-matrix > < fixnum > < fixnum > 
mref < sb16-matrix > < fixnum > < fixnum > 
mref < sb32-matrix > < fixnum > < fixnum > 
mref < sb8-matrix > < fixnum > < fixnum > 
mref < single-float-matrix > < fixnum > < fixnum > 
mref < t-matrix > < fixnum > < fixnum > 
mref < ub16-matrix > < fixnum > < fixnum > 
mref < ub32-matrix > < fixnum > < fixnum > 
mref < ub8-matrix > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-norm--0--1.html b/external/clem/doc/tinaa/clem/generic function-norm--0--1.html deleted file mode 100644 index e3333df..0000000 --- a/external/clem/doc/tinaa/clem/generic function-norm--0--1.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Norm-0-1 [Tinaa]

Generic Function Norm-0-1 (1 method)

( norm-0-1 < u > )

Method Summary

norm-0-1 < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-norm--0--255.html b/external/clem/doc/tinaa/clem/generic function-norm--0--255.html deleted file mode 100644 index cdd1367..0000000 --- a/external/clem/doc/tinaa/clem/generic function-norm--0--255.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Norm-0-255 [Tinaa]

Generic Function Norm-0-255 (1 method)

( norm-0-255 < u > )

Method Summary

norm-0-255 < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-normalize.html b/external/clem/doc/tinaa/clem/generic function-normalize.html deleted file mode 100644 index 8836d79..0000000 --- a/external/clem/doc/tinaa/clem/generic function-normalize.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Normalize [Tinaa]

Generic Function Normalize (17 methods)

( normalize < u > &key (normin) (normax) )

Method Summary

normalize < bit-matrix
normalize < complex-matrix
normalize < double-float-matrix
normalize < fixnum-matrix
normalize < float-matrix
normalize < integer-matrix
normalize < matrix
normalize < number-matrix
normalize < real-matrix
normalize < sb16-matrix
normalize < sb32-matrix
normalize < sb8-matrix
normalize < single-float-matrix
normalize < t-matrix
normalize < ub16-matrix
normalize < ub32-matrix
normalize < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-pad--matrix.html b/external/clem/doc/tinaa/clem/generic function-pad--matrix.html deleted file mode 100644 index a8ea52b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-pad--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Pad-Matrix [Tinaa]

Generic Function Pad-Matrix (1 method)

( pad-matrix < m > )

Method Summary

pad-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-parameters--list.html b/external/clem/doc/tinaa/clem/generic function-parameters--list.html deleted file mode 100644 index b8e9c87..0000000 --- a/external/clem/doc/tinaa/clem/generic function-parameters--list.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Parameters-List [Tinaa]

Generic Function Parameters-List (1 method)

( parameters-list < xfrm > )

Method Summary

parameters-list < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-print--matrix.html b/external/clem/doc/tinaa/clem/generic function-print--matrix.html deleted file mode 100644 index 5b7c403..0000000 --- a/external/clem/doc/tinaa/clem/generic function-print--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Print-Matrix [Tinaa]

Generic Function Print-Matrix (3 methods)

( print-matrix < cv > )

Method Summary

print-matrix < col-vector
print-matrix < matrix
print-matrix < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-print--range.html b/external/clem/doc/tinaa/clem/generic function-print--range.html deleted file mode 100644 index eea6da8..0000000 --- a/external/clem/doc/tinaa/clem/generic function-print--range.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Print-Range [Tinaa]

Generic Function Print-Range (1 method)

( print-range < m > < startr > < endr > < startc > < endc > &optional (stream - t) )

Method Summary

print-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--bit--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--bit--matrix.html deleted file mode 100644 index 3bc3c3a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--bit--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Bit-Matrix [Tinaa]

Generic Function Random-Bit-Matrix (1 method)

( random-bit-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-bit-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--complex--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--complex--matrix.html deleted file mode 100644 index d0b5b16..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--complex--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Complex-Matrix [Tinaa]

Generic Function Random-Complex-Matrix (1 method)

( random-complex-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-complex-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--double--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--double--float--matrix.html deleted file mode 100644 index 18d9ad2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--double--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Double-Float-Matrix [Tinaa]

Generic Function Random-Double-Float-Matrix (1 method)

( random-double-float-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-double-float-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--fixnum--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--fixnum--matrix.html deleted file mode 100644 index 8e7f5b3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--fixnum--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Fixnum-Matrix [Tinaa]

Generic Function Random-Fixnum-Matrix (1 method)

( random-fixnum-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-fixnum-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--float--matrix.html deleted file mode 100644 index 2a6473e..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Float-Matrix [Tinaa]

Generic Function Random-Float-Matrix (1 method)

( random-float-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-float-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--integer--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--integer--matrix.html deleted file mode 100644 index bb479a6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--integer--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Integer-Matrix [Tinaa]

Generic Function Random-Integer-Matrix (1 method)

( random-integer-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-integer-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--matrix.html deleted file mode 100644 index 3fcfc7f..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Random-Matrix [Tinaa]

Generic Function Random-Matrix (1 method)

( random-matrix < rows > < cols > &key (matrix-class - 'matrix) (limit - 1.0d0) )

Method Summary

random-matrix < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--number--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--number--matrix.html deleted file mode 100644 index 58d62bc..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--number--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Number-Matrix [Tinaa]

Generic Function Random-Number-Matrix (1 method)

( random-number-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-number-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--real--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--real--matrix.html deleted file mode 100644 index 14cd2ae..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--real--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Real-Matrix [Tinaa]

Generic Function Random-Real-Matrix (1 method)

( random-real-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-real-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--sb16--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--sb16--matrix.html deleted file mode 100644 index a9b6e67..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--sb16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Sb16-Matrix [Tinaa]

Generic Function Random-Sb16-Matrix (1 method)

( random-sb16-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-sb16-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--sb32--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--sb32--matrix.html deleted file mode 100644 index f7271e3..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--sb32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Sb32-Matrix [Tinaa]

Generic Function Random-Sb32-Matrix (1 method)

( random-sb32-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-sb32-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--sb8--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--sb8--matrix.html deleted file mode 100644 index 90f97a8..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--sb8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Sb8-Matrix [Tinaa]

Generic Function Random-Sb8-Matrix (1 method)

( random-sb8-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-sb8-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--single--float--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--single--float--matrix.html deleted file mode 100644 index 1f118d0..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--single--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Single-Float-Matrix [Tinaa]

Generic Function Random-Single-Float-Matrix (1 method)

( random-single-float-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-single-float-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--t--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--t--matrix.html deleted file mode 100644 index c1eeb9a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--t--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-T-Matrix [Tinaa]

Generic Function Random-T-Matrix (1 method)

( random-t-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-t-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--ub16--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--ub16--matrix.html deleted file mode 100644 index bdf1e88..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--ub16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Ub16-Matrix [Tinaa]

Generic Function Random-Ub16-Matrix (1 method)

( random-ub16-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-ub16-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--ub32--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--ub32--matrix.html deleted file mode 100644 index cd49959..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--ub32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Ub32-Matrix [Tinaa]

Generic Function Random-Ub32-Matrix (1 method)

( random-ub32-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-ub32-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-random--ub8--matrix.html b/external/clem/doc/tinaa/clem/generic function-random--ub8--matrix.html deleted file mode 100644 index b7d065b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-random--ub8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Random-Ub8-Matrix [Tinaa]

Generic Function Random-Ub8-Matrix (1 method)

( random-ub8-matrix < rows > < cols > &key (max - nil) )

Method Summary

random-ub8-matrix < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-reshape.html b/external/clem/doc/tinaa/clem/generic function-reshape.html deleted file mode 100644 index 3c4068a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-reshape.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Reshape [Tinaa]

Generic Function Reshape (1 method)

( reshape < m > < rows > < cols > &key < initial-element > )

Method Summary

reshape < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-rows.html b/external/clem/doc/tinaa/clem/generic function-rows.html deleted file mode 100644 index 73b90e2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-rows.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Rows [Tinaa]

Generic Function Rows (3 methods)

( rows < cv > )

Method Summary

rows < col-vector
rows < matrix
rows < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-rvref.html b/external/clem/doc/tinaa/clem/generic function-rvref.html deleted file mode 100644 index bfd1e71..0000000 --- a/external/clem/doc/tinaa/clem/generic function-rvref.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Rvref [Tinaa]

Generic Function Rvref (1 method)

( rvref < rv > < i > )

Method Summary

rvref < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sample--variance--range.html b/external/clem/doc/tinaa/clem/generic function-sample--variance--range.html deleted file mode 100644 index bb5a91c..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sample--variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sample-Variance-Range [Tinaa]

Generic Function Sample-Variance-Range (17 methods)

( sample-variance-range < m > < startr > < endr > < startc > < endc > )

Method Summary

sample-variance-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < complex-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < integer-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < matrix > < t > < t > < t > < t > 
sample-variance-range < number-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < real-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < t-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sample-variance-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sample--variance.html b/external/clem/doc/tinaa/clem/generic function-sample--variance.html deleted file mode 100644 index a72e2f0..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sample--variance.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sample-Variance [Tinaa]

Generic Function Sample-Variance (1 method)

( sample-variance < m > )

Method Summary

sample-variance < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--divide--col.html b/external/clem/doc/tinaa/clem/generic function-scalar--divide--col.html deleted file mode 100644 index b058a7d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide-Col [Tinaa]

Generic Function Scalar-Divide-Col (1 method)

( scalar-divide-col < a > < k > < q > )

Method Summary

scalar-divide-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--divide--copy.html b/external/clem/doc/tinaa/clem/generic function-scalar--divide--copy.html deleted file mode 100644 index e572499..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--divide--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide-Copy [Tinaa]

Generic Function Scalar-Divide-Copy (1 method)

( scalar-divide-copy < a > < q > )

Method Summary

scalar-divide-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--divide--row.html b/external/clem/doc/tinaa/clem/generic function-scalar--divide--row.html deleted file mode 100644 index eb93236..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide-Row [Tinaa]

Generic Function Scalar-Divide-Row (17 methods)

( scalar-divide-row < m > < k > < q > )

Method Summary

scalar-divide-row < bit-matrix > < t > < t > 
scalar-divide-row < complex-matrix > < t > < t > 
scalar-divide-row < double-float-matrix > < t > < t > 
scalar-divide-row < fixnum-matrix > < t > < t > 
scalar-divide-row < float-matrix > < t > < t > 
scalar-divide-row < integer-matrix > < t > < t > 
scalar-divide-row < matrix > < t > < t > 
scalar-divide-row < number-matrix > < t > < t > 
scalar-divide-row < real-matrix > < t > < t > 
scalar-divide-row < sb16-matrix > < t > < t > 
scalar-divide-row < sb32-matrix > < t > < t > 
scalar-divide-row < sb8-matrix > < t > < t > 
scalar-divide-row < single-float-matrix > < t > < t > 
scalar-divide-row < t-matrix > < t > < t > 
scalar-divide-row < ub16-matrix > < t > < t > 
scalar-divide-row < ub32-matrix > < t > < t > 
scalar-divide-row < ub8-matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--divide.html b/external/clem/doc/tinaa/clem/generic function-scalar--divide.html deleted file mode 100644 index fcab839..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--divide.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Divide [Tinaa]

Generic Function Scalar-Divide (1 method)

( scalar-divide < a > < q > )

Method Summary

scalar-divide < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--col.html b/external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--col.html deleted file mode 100644 index 13ac43a..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Double-Float-Divide-Col [Tinaa]

Generic Function Scalar-Double-Float-Divide-Col (1 method)

( scalar-double-float-divide-col < a > < k > < q > )

Method Summary

scalar-double-float-divide-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--row.html b/external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--row.html deleted file mode 100644 index 23bea05..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--double--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Double-Float-Divide-Row [Tinaa]

Generic Function Scalar-Double-Float-Divide-Row (1 method)

( scalar-double-float-divide-row < a > < k > < q > )

Method Summary

scalar-double-float-divide-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--mult--col.html b/external/clem/doc/tinaa/clem/generic function-scalar--mult--col.html deleted file mode 100644 index 2e4b793..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--mult--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult-Col [Tinaa]

Generic Function Scalar-Mult-Col (1 method)

( scalar-mult-col < a > < k > < q > )

Method Summary

scalar-mult-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--mult--copy.html b/external/clem/doc/tinaa/clem/generic function-scalar--mult--copy.html deleted file mode 100644 index abd0754..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--mult--copy.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult-Copy [Tinaa]

Generic Function Scalar-Mult-Copy (1 method)

( scalar-mult-copy < a > < q > )

Method Summary

scalar-mult-copy < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--mult--row.html b/external/clem/doc/tinaa/clem/generic function-scalar--mult--row.html deleted file mode 100644 index fb59bd6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--mult--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult-Row [Tinaa]

Generic Function Scalar-Mult-Row (17 methods)

( scalar-mult-row < m > < k > < q > )

Method Summary

scalar-mult-row < bit-matrix > < t > < t > 
scalar-mult-row < complex-matrix > < t > < t > 
scalar-mult-row < double-float-matrix > < t > < t > 
scalar-mult-row < fixnum-matrix > < t > < t > 
scalar-mult-row < float-matrix > < t > < t > 
scalar-mult-row < integer-matrix > < t > < t > 
scalar-mult-row < matrix > < t > < t > 
scalar-mult-row < number-matrix > < t > < t > 
scalar-mult-row < real-matrix > < t > < t > 
scalar-mult-row < sb16-matrix > < t > < t > 
scalar-mult-row < sb32-matrix > < t > < t > 
scalar-mult-row < sb8-matrix > < t > < t > 
scalar-mult-row < single-float-matrix > < t > < t > 
scalar-mult-row < t-matrix > < t > < t > 
scalar-mult-row < ub16-matrix > < t > < t > 
scalar-mult-row < ub32-matrix > < t > < t > 
scalar-mult-row < ub8-matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--mult.html b/external/clem/doc/tinaa/clem/generic function-scalar--mult.html deleted file mode 100644 index 4572078..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--mult.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Mult [Tinaa]

Generic Function Scalar-Mult (1 method)

( scalar-mult < m > < q > )

Method Summary

scalar-mult < matrix > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--set--val.html b/external/clem/doc/tinaa/clem/generic function-scalar--set--val.html deleted file mode 100644 index 077ade5..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Set-Val [Tinaa]

Generic Function Scalar-Set-Val (1 method)

( scalar-set-val < s > < v > )

Method Summary

scalar-set-val < scalar > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--col.html b/external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--col.html deleted file mode 100644 index a6f06d1..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Single-Float-Divide-Col [Tinaa]

Generic Function Scalar-Single-Float-Divide-Col (1 method)

( scalar-single-float-divide-col < a > < k > < q > )

Method Summary

scalar-single-float-divide-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--row.html b/external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--row.html deleted file mode 100644 index 0d2f596..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--single--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Single-Float-Divide-Row [Tinaa]

Generic Function Scalar-Single-Float-Divide-Row (1 method)

( scalar-single-float-divide-row < a > < k > < q > )

Method Summary

scalar-single-float-divide-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-scalar--val.html b/external/clem/doc/tinaa/clem/generic function-scalar--val.html deleted file mode 100644 index ddb0603..0000000 --- a/external/clem/doc/tinaa/clem/generic function-scalar--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Scalar-Val [Tinaa]

Generic Function Scalar-Val (1 method)

( scalar-val < s > )

Method Summary

scalar-val < scalar
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-separable--discrete--convolve.html b/external/clem/doc/tinaa/clem/generic function-separable--discrete--convolve.html deleted file mode 100644 index f38ea52..0000000 --- a/external/clem/doc/tinaa/clem/generic function-separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Generic Function Separable-Discrete-Convolve [Tinaa]

Generic Function Separable-Discrete-Convolve (6 methods)

( separable-discrete-convolve < m > < h1 > < h2 > &key (matrix-class - (class-of - m)) (norm-v - nil) (truncate - nil) )

Method Summary

separable-discrete-convolve < double-float-matrix > < double-float-matrix > < double-float-matrix
separable-discrete-convolve < single-float-matrix > < single-float-matrix > < single-float-matrix
separable-discrete-convolve < t > < t > < t > 
separable-discrete-convolve < ub8-matrix > < double-float-matrix > < double-float-matrix
separable-discrete-convolve < ub8-matrix > < single-float-matrix > < single-float-matrix
separable-discrete-convolve < ub8-matrix > < ub8-matrix > < ub8-matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-set--col.html b/external/clem/doc/tinaa/clem/generic function-set--col.html deleted file mode 100644 index 6a3c213..0000000 --- a/external/clem/doc/tinaa/clem/generic function-set--col.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Set-Col [Tinaa]

Generic Function Set-Col (3 methods)

( set-col < m > < c > < v > )

Method Summary

set-col < matrix > < t > < col-vector
set-col < matrix > < t > < row-vector
set-col < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-set--row.html b/external/clem/doc/tinaa/clem/generic function-set--row.html deleted file mode 100644 index cf9f8c7..0000000 --- a/external/clem/doc/tinaa/clem/generic function-set--row.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Set-Row [Tinaa]

Generic Function Set-Row (3 methods)

( set-row < m > < r > < v > )

Method Summary

set-row < matrix > < t > < col-vector
set-row < matrix > < t > < row-vector
set-row < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-set--val--fit.html b/external/clem/doc/tinaa/clem/generic function-set--val--fit.html deleted file mode 100644 index 6cfcbd9..0000000 --- a/external/clem/doc/tinaa/clem/generic function-set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Set-Val-Fit [Tinaa]

Generic Function Set-Val-Fit (19 methods)

( set-val-fit < m > < i > < j > < v > &key (truncate - nil) )

Method Summary

set-val-fit < bit-matrix > < t > < t > < t > 
set-val-fit < complex-matrix > < t > < t > < t > 
set-val-fit < double-float-matrix > < t > < t > < t > 
set-val-fit < fixnum-matrix > < t > < t > < t > 
set-val-fit < float-matrix > < t > < t > < t > 
set-val-fit < integer-matrix > < t > < t > < t > 
set-val-fit < matrix > < t > < t > < t > 
set-val-fit < number-matrix > < t > < t > < t > 
set-val-fit < real-matrix > < t > < t > < t > 
set-val-fit < sb16-matrix > < t > < t > < t > 
set-val-fit < sb32-matrix > < t > < t > < t > 
set-val-fit < sb8-matrix > < t > < t > < t > 
set-val-fit < single-float-matrix > < t > < t > < t > 
set-val-fit < t-matrix > < t > < t > < t > 
set-val-fit < typed-matrix > < t > < t > < t > 
set-val-fit < typed-mixin > < t > < t > < t > 
set-val-fit < ub16-matrix > < t > < t > < t > 
set-val-fit < ub32-matrix > < t > < t > < t > 
set-val-fit < ub8-matrix > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-set--val.html b/external/clem/doc/tinaa/clem/generic function-set--val.html deleted file mode 100644 index 7b7b560..0000000 --- a/external/clem/doc/tinaa/clem/generic function-set--val.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Set-Val [Tinaa]

Generic Function Set-Val (20 methods)

( set-val < cv > < i > < j > < v > &key (coerce - t) )

Method Summary

set-val < bit-matrix > < t > < t > < t > 
set-val < col-vector > < t > < t > < t > 
set-val < complex-matrix > < t > < t > < t > 
set-val < double-float-matrix > < t > < t > < t > 
set-val < fixnum-matrix > < t > < t > < t > 
set-val < float-matrix > < t > < t > < t > 
set-val < integer-matrix > < t > < t > < t > 
set-val < matrix > < t > < t > < t > 
set-val < number-matrix > < t > < t > < t > 
set-val < real-matrix > < t > < t > < t > 
set-val < row-vector > < t > < t > < t > 
set-val < sb16-matrix > < t > < t > < t > 
set-val < sb32-matrix > < t > < t > < t > 
set-val < sb8-matrix > < t > < t > < t > 
set-val < scalar > < t > < t > < t > 
set-val < single-float-matrix > < t > < t > < t > 
set-val < t-matrix > < t > < t > < t > 
set-val < ub16-matrix > < t > < t > < t > 
set-val < ub32-matrix > < t > < t > < t > 
set-val < ub8-matrix > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-specialized--array--p.html b/external/clem/doc/tinaa/clem/generic function-specialized--array--p.html deleted file mode 100644 index 04a5706..0000000 --- a/external/clem/doc/tinaa/clem/generic function-specialized--array--p.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Specialized-Array-P [Tinaa]

Generic Function Specialized-Array-P (3 methods)

( specialized-array-p < typed-matrix > )

Method Summary

specialized-array-p < standard-matrix-class
specialized-array-p < typed-matrix
specialized-array-p < typed-mixin
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-subset--matrix--cols.html b/external/clem/doc/tinaa/clem/generic function-subset--matrix--cols.html deleted file mode 100644 index 6014e8d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-subset--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Subset-Matrix-Cols [Tinaa]

Generic Function Subset-Matrix-Cols (1 method)

( subset-matrix-cols < a > < x > < y > &key (matrix-type) )

Method Summary

subset-matrix-cols < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-subset--matrix.html b/external/clem/doc/tinaa/clem/generic function-subset--matrix.html deleted file mode 100644 index 541ec7d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Subset-Matrix [Tinaa]

Generic Function Subset-Matrix (1 method)

( subset-matrix < u > < startr > < endr > < startc > < endc > )

Method Summary

subset-matrix < matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sum--cols.html b/external/clem/doc/tinaa/clem/generic function-sum--cols.html deleted file mode 100644 index 419d030..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sum--cols.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Sum-Cols [Tinaa]

Generic Function Sum-Cols (1 method)

( sum-cols < m > &key (matrix-class - (class-of - m)) )

Method Summary

sum-cols < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sum--range.html b/external/clem/doc/tinaa/clem/generic function-sum--range.html deleted file mode 100644 index a6d48a8..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum-Range [Tinaa]

Generic Function Sum-Range (11 methods)

( sum-range < m > < startr > < endr > < startc > < endc > )

Method Summary

sum-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sum--rows.html b/external/clem/doc/tinaa/clem/generic function-sum--rows.html deleted file mode 100644 index 15fc848..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sum--rows.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Sum-Rows [Tinaa]

Generic Function Sum-Rows (1 method)

( sum-rows < m > &key (matrix-class - (class-of - m)) )

Method Summary

sum-rows < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sum--square--range.html b/external/clem/doc/tinaa/clem/generic function-sum--square--range.html deleted file mode 100644 index 7ae870d..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sum--square--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum-Square-Range [Tinaa]

Generic Function Sum-Square-Range (11 methods)

( sum-square-range < m > < startr > < endr > < startc > < endc > )

Method Summary

sum-square-range < bit-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < double-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < fixnum-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < sb16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < sb32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < sb8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < single-float-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < ub16-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < ub32-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
sum-square-range < ub8-matrix > < fixnum > < fixnum > < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sum--square.html b/external/clem/doc/tinaa/clem/generic function-sum--square.html deleted file mode 100644 index 8527e4b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sum--square.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum-Square [Tinaa]

Generic Function Sum-Square (1 method)

( sum-square < m > )

Method Summary

sum-square < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-sum.html b/external/clem/doc/tinaa/clem/generic function-sum.html deleted file mode 100644 index aec4bc2..0000000 --- a/external/clem/doc/tinaa/clem/generic function-sum.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Sum [Tinaa]

Generic Function Sum (1 method)

( sum < m > )

Method Summary

sum < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-swap--cols.html b/external/clem/doc/tinaa/clem/generic function-swap--cols.html deleted file mode 100644 index afbb07b..0000000 --- a/external/clem/doc/tinaa/clem/generic function-swap--cols.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Swap-Cols [Tinaa]

Generic Function Swap-Cols (1 method)

( swap-cols < a > < k > < l > )

Method Summary

swap-cols < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-swap--rows.html b/external/clem/doc/tinaa/clem/generic function-swap--rows.html deleted file mode 100644 index fdb8778..0000000 --- a/external/clem/doc/tinaa/clem/generic function-swap--rows.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Swap-Rows [Tinaa]

Generic Function Swap-Rows (1 method)

( swap-rows < a > < k > < l > )

Method Summary

swap-rows < matrix > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-threshold.html b/external/clem/doc/tinaa/clem/generic function-threshold.html deleted file mode 100644 index e97c3fd..0000000 --- a/external/clem/doc/tinaa/clem/generic function-threshold.html +++ /dev/null @@ -1,3 +0,0 @@ -Generic Function Threshold [Tinaa]

Generic Function Threshold (1 method)

( threshold < u > < tval > &key (minval - 0) (maxval - 255) )

Method Summary

threshold < matrix > < number > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-transform--matrix.html b/external/clem/doc/tinaa/clem/generic function-transform--matrix.html deleted file mode 100644 index 5362e56..0000000 --- a/external/clem/doc/tinaa/clem/generic function-transform--matrix.html +++ /dev/null @@ -1,6 +0,0 @@ -Generic Function Transform-Matrix [Tinaa]

Generic Function Transform-Matrix (1 method)

( transform-matrix < m > < n > < xfrm > &key < u > < v > < x > < y > (interpolation - nearest-neighbor - interpolation-supplied-p) (background - nil - background-supplied-p) (update-transform - t) )
applies the affine transform xfrm to the contents of matrix m and
places the contents in n

Method Summary

transform-matrix < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-transpose--matrix.html b/external/clem/doc/tinaa/clem/generic function-transpose--matrix.html deleted file mode 100644 index 468afca..0000000 --- a/external/clem/doc/tinaa/clem/generic function-transpose--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Transpose-Matrix [Tinaa]

Generic Function Transpose-Matrix (1 method)

( transpose-matrix < a > )

Method Summary

transpose-matrix < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-transpose.html b/external/clem/doc/tinaa/clem/generic function-transpose.html deleted file mode 100644 index 31c4cf1..0000000 --- a/external/clem/doc/tinaa/clem/generic function-transpose.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Transpose [Tinaa]

Generic Function Transpose (3 methods)

( transpose < cv > )

Method Summary

transpose < col-vector
transpose < matrix
transpose < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-update--affine--transformation--matrix.html b/external/clem/doc/tinaa/clem/generic function-update--affine--transformation--matrix.html deleted file mode 100644 index ca1e0e6..0000000 --- a/external/clem/doc/tinaa/clem/generic function-update--affine--transformation--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Update-Affine-Transformation-Matrix [Tinaa]

Generic Function Update-Affine-Transformation-Matrix (1 method)

( update-affine-transformation-matrix < xfrm > )

Method Summary

update-affine-transformation-matrix < affine-transformation
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-val--format.html b/external/clem/doc/tinaa/clem/generic function-val--format.html deleted file mode 100644 index c4e4388..0000000 --- a/external/clem/doc/tinaa/clem/generic function-val--format.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Val-Format [Tinaa]

Generic Function Val-Format (1 method)

( val-format < smc > )
the format string used to print out
element values of instances of this matrix class

Method Summary

val-format < standard-matrix-class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-val.html b/external/clem/doc/tinaa/clem/generic function-val.html deleted file mode 100644 index 4e25974..0000000 --- a/external/clem/doc/tinaa/clem/generic function-val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Val [Tinaa]

Generic Function Val (4 methods)

( val < cv > < i > < j > )

Method Summary

val < col-vector > < t > < t > 
val < matrix > < t > < t > 
val < row-vector > < t > < t > 
val < scalar > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-variance--range.html b/external/clem/doc/tinaa/clem/generic function-variance--range.html deleted file mode 100644 index 243069f..0000000 --- a/external/clem/doc/tinaa/clem/generic function-variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Variance-Range [Tinaa]

Generic Function Variance-Range (1 method)

( variance-range < m > < startr > < endr > < startc > < endc > )

Method Summary

variance-range < matrix > < t > < t > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-variance.html b/external/clem/doc/tinaa/clem/generic function-variance.html deleted file mode 100644 index 4d62c9f..0000000 --- a/external/clem/doc/tinaa/clem/generic function-variance.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Variance [Tinaa]

Generic Function Variance (1 method)

( variance < m > )

Method Summary

variance < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-vec--dim.html b/external/clem/doc/tinaa/clem/generic function-vec--dim.html deleted file mode 100644 index afc3494..0000000 --- a/external/clem/doc/tinaa/clem/generic function-vec--dim.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vec-Dim [Tinaa]

Generic Function Vec-Dim (2 methods)

( vec-dim < cv > )

Method Summary

vec-dim < col-vector
vec-dim < row-vector
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-vec--set--val.html b/external/clem/doc/tinaa/clem/generic function-vec--set--val.html deleted file mode 100644 index 8647cdb..0000000 --- a/external/clem/doc/tinaa/clem/generic function-vec--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vec-Set-Val [Tinaa]

Generic Function Vec-Set-Val (2 methods)

( vec-set-val < cv > < i > < v > )

Method Summary

vec-set-val < col-vector > < t > < t > 
vec-set-val < row-vector > < t > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-vec--val.html b/external/clem/doc/tinaa/clem/generic function-vec--val.html deleted file mode 100644 index 42afec5..0000000 --- a/external/clem/doc/tinaa/clem/generic function-vec--val.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vec-Val [Tinaa]

Generic Function Vec-Val (2 methods)

( vec-val < cv > < i > )

Method Summary

vec-val < col-vector > < t > 
vec-val < row-vector > < t > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-vertcat.html b/external/clem/doc/tinaa/clem/generic function-vertcat.html deleted file mode 100644 index dd4dcfb..0000000 --- a/external/clem/doc/tinaa/clem/generic function-vertcat.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Vertcat [Tinaa]

Generic Function Vertcat (1 method)

( vertcat < m1 > &rest < mr > )

Method Summary

vertcat < matrix
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-zero--col--vector.html b/external/clem/doc/tinaa/clem/generic function-zero--col--vector.html deleted file mode 100644 index 1b033ae..0000000 --- a/external/clem/doc/tinaa/clem/generic function-zero--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Zero-Col-Vector [Tinaa]

Generic Function Zero-Col-Vector (1 method)

( zero-col-vector < j > )

Method Summary

zero-col-vector < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-zero--matrix.html b/external/clem/doc/tinaa/clem/generic function-zero--matrix.html deleted file mode 100644 index fce6bcc..0000000 --- a/external/clem/doc/tinaa/clem/generic function-zero--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Generic Function Zero-Matrix [Tinaa]

Generic Function Zero-Matrix (1 method)

( zero-matrix < j > < k > &key (matrix-class - 'matrix) )

Method Summary

zero-matrix < fixnum > < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/generic function-zero--row--vector.html b/external/clem/doc/tinaa/clem/generic function-zero--row--vector.html deleted file mode 100644 index bbed291..0000000 --- a/external/clem/doc/tinaa/clem/generic function-zero--row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Generic Function Zero-Row-Vector [Tinaa]

Generic Function Zero-Row-Vector (1 method)

( zero-row-vector < j > )

Method Summary

zero-row-vector < fixnum > 
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-%%sum--range.html b/external/clem/doc/tinaa/clem/macro-%%sum--range.html deleted file mode 100644 index c197600..0000000 --- a/external/clem/doc/tinaa/clem/macro-%%sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro %%Sum-Range [Tinaa]

Function %%Sum-Range

( %%sum-range &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-bilinear--interpolate.html b/external/clem/doc/tinaa/clem/macro-bilinear--interpolate.html deleted file mode 100644 index 1474db5..0000000 --- a/external/clem/doc/tinaa/clem/macro-bilinear--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Macro Bilinear-Interpolate [Tinaa]

Function Bilinear-Interpolate

( bilinear-interpolate &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--binary--op!.html b/external/clem/doc/tinaa/clem/macro-def--binary--op!.html deleted file mode 100644 index 392ad46..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--binary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Binary-Op! [Tinaa]

Function Def-Binary-Op!

( def-binary-op! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--binary--op.html b/external/clem/doc/tinaa/clem/macro-def--binary--op.html deleted file mode 100644 index fe3ea79..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--binary--op.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Binary-Op [Tinaa]

Function Def-Binary-Op

( def-binary-op &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--abs!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--abs!.html deleted file mode 100644 index ba6ccea..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Abs! [Tinaa]

Function Def-Matrix-Abs!

( def-matrix-abs! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--abs.html b/external/clem/doc/tinaa/clem/macro-def--matrix--abs.html deleted file mode 100644 index 2d235fc..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--abs.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Abs [Tinaa]

Function Def-Matrix-Abs

( def-matrix-abs &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--add!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--add!.html deleted file mode 100644 index 6b1618c..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--add!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add! [Tinaa]

Function Def-Matrix-Add!

( def-matrix-add! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--add--number!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--add--number!.html deleted file mode 100644 index 6d47c52..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--add--number!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Number! [Tinaa]

Function Def-Matrix-Add-Number!

( def-matrix-add-number! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--add--number.html b/external/clem/doc/tinaa/clem/macro-def--matrix--add--number.html deleted file mode 100644 index 8ede4ce..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--add--number.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Number [Tinaa]

Function Def-Matrix-Add-Number

( def-matrix-add-number &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar!.html deleted file mode 100644 index ab39f95..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Scalar! [Tinaa]

Function Def-Matrix-Add-Scalar!

( def-matrix-add-scalar! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar.html b/external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar.html deleted file mode 100644 index d181970..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--add--scalar.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add-Scalar [Tinaa]

Function Def-Matrix-Add-Scalar

( def-matrix-add-scalar &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--add.html b/external/clem/doc/tinaa/clem/macro-def--matrix--add.html deleted file mode 100644 index 19711cd..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--add.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Add [Tinaa]

Function Def-Matrix-Add

( def-matrix-add &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--convolve.html b/external/clem/doc/tinaa/clem/macro-def--matrix--convolve.html deleted file mode 100644 index 8781eb3..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--convolve.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Convolve [Tinaa]

Function Def-Matrix-Convolve

( def-matrix-convolve &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--hprod!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--hprod!.html deleted file mode 100644 index e87d587..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Hprod! [Tinaa]

Function Def-Matrix-Hprod!

( def-matrix-hprod! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--hprod.html b/external/clem/doc/tinaa/clem/macro-def--matrix--hprod.html deleted file mode 100644 index c8711a0..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Hprod [Tinaa]

Function Def-Matrix-Hprod

( def-matrix-hprod &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--log!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--log!.html deleted file mode 100644 index ec7b791..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--log!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Log! [Tinaa]

Function Def-Matrix-Log!

( def-matrix-log! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--log.html b/external/clem/doc/tinaa/clem/macro-def--matrix--log.html deleted file mode 100644 index b160661..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--log.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Log [Tinaa]

Function Def-Matrix-Log

( def-matrix-log &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--min--max.html b/external/clem/doc/tinaa/clem/macro-def--matrix--min--max.html deleted file mode 100644 index 2bade95..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--min--max.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Min-Max [Tinaa]

Function Def-Matrix-Min-Max

( def-matrix-min-max &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--move.html b/external/clem/doc/tinaa/clem/macro-def--matrix--move.html deleted file mode 100644 index 5c9ad75..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Move [Tinaa]

Function Def-Matrix-Move

( def-matrix-move &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--mref.html b/external/clem/doc/tinaa/clem/macro-def--matrix--mref.html deleted file mode 100644 index 02b6fb6..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--mref.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Mref [Tinaa]

Function Def-Matrix-Mref

( def-matrix-mref &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--mult--block.html b/external/clem/doc/tinaa/clem/macro-def--matrix--mult--block.html deleted file mode 100644 index 702198b..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Mult-Block [Tinaa]

Function Def-Matrix-Mult-Block

( def-matrix-mult-block &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--mult.html b/external/clem/doc/tinaa/clem/macro-def--matrix--mult.html deleted file mode 100644 index b2a0f4e..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--mult.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Mult [Tinaa]

Function Def-Matrix-Mult

( def-matrix-mult &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--scale!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--scale!.html deleted file mode 100644 index b4c77e4..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale! [Tinaa]

Function Def-Matrix-Scale!

( def-matrix-scale! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--scale.html b/external/clem/doc/tinaa/clem/macro-def--matrix--scale.html deleted file mode 100644 index 68f5fa1..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--scale.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Scale [Tinaa]

Function Def-Matrix-Scale

( def-matrix-scale &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--square.html b/external/clem/doc/tinaa/clem/macro-def--matrix--square.html deleted file mode 100644 index 5b09ed6..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--square.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Square [Tinaa]

Function Def-Matrix-Square

( def-matrix-square &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--subset--matrix.html b/external/clem/doc/tinaa/clem/macro-def--matrix--subset--matrix.html deleted file mode 100644 index cf5405f..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Subset-Matrix [Tinaa]

Function Def-Matrix-Subset-Matrix

( def-matrix-subset-matrix &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--subtr!.html b/external/clem/doc/tinaa/clem/macro-def--matrix--subtr!.html deleted file mode 100644 index ea72f6e..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Subtr! [Tinaa]

Function Def-Matrix-Subtr!

( def-matrix-subtr! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--subtr.html b/external/clem/doc/tinaa/clem/macro-def--matrix--subtr.html deleted file mode 100644 index 63eaae1..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--subtr.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Subtr [Tinaa]

Function Def-Matrix-Subtr

( def-matrix-subtr &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--matrix--transform.html b/external/clem/doc/tinaa/clem/macro-def--matrix--transform.html deleted file mode 100644 index b4f511d..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--matrix--transform.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Matrix-Transform [Tinaa]

Function Def-Matrix-Transform

( def-matrix-transform &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--move--element.html b/external/clem/doc/tinaa/clem/macro-def--move--element.html deleted file mode 100644 index f0a1c9a..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--move--element.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Move-Element [Tinaa]

Function Def-Move-Element

( def-move-element &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--unary--op!.html b/external/clem/doc/tinaa/clem/macro-def--unary--op!.html deleted file mode 100644 index 036702a..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--unary--op!.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Unary-Op! [Tinaa]

Function Def-Unary-Op!

( def-unary-op! &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-def--unary--op.html b/external/clem/doc/tinaa/clem/macro-def--unary--op.html deleted file mode 100644 index 305eb25..0000000 --- a/external/clem/doc/tinaa/clem/macro-def--unary--op.html +++ /dev/null @@ -1 +0,0 @@ -Macro Def-Unary-Op [Tinaa]

Function Def-Unary-Op

( def-unary-op &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-defmatrixfuncs.html b/external/clem/doc/tinaa/clem/macro-defmatrixfuncs.html deleted file mode 100644 index da56aef..0000000 --- a/external/clem/doc/tinaa/clem/macro-defmatrixfuncs.html +++ /dev/null @@ -1 +0,0 @@ -Macro Defmatrixfuncs [Tinaa]

Function Defmatrixfuncs

( defmatrixfuncs &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-defmatrixtype.html b/external/clem/doc/tinaa/clem/macro-defmatrixtype.html deleted file mode 100644 index a4c7e0c..0000000 --- a/external/clem/doc/tinaa/clem/macro-defmatrixtype.html +++ /dev/null @@ -1 +0,0 @@ -Macro Defmatrixtype [Tinaa]

Function Defmatrixtype

( defmatrixtype &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-fixnum1+.html b/external/clem/doc/tinaa/clem/macro-fixnum1+.html deleted file mode 100644 index 7cdf0bf..0000000 --- a/external/clem/doc/tinaa/clem/macro-fixnum1+.html +++ /dev/null @@ -1 +0,0 @@ -Macro Fixnum1+ [Tinaa]

Function Fixnum1+

( fixnum1+ &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-maybe--coerce.html b/external/clem/doc/tinaa/clem/macro-maybe--coerce.html deleted file mode 100644 index 39b6d32..0000000 --- a/external/clem/doc/tinaa/clem/macro-maybe--coerce.html +++ /dev/null @@ -1 +0,0 @@ -Macro Maybe-Coerce [Tinaa]

Function Maybe-Coerce

( maybe-coerce &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-maybe--truncate.html b/external/clem/doc/tinaa/clem/macro-maybe--truncate.html deleted file mode 100644 index b6688f0..0000000 --- a/external/clem/doc/tinaa/clem/macro-maybe--truncate.html +++ /dev/null @@ -1 +0,0 @@ -Macro Maybe-Truncate [Tinaa]

Function Maybe-Truncate

( maybe-truncate &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-mloop--range.html b/external/clem/doc/tinaa/clem/macro-mloop--range.html deleted file mode 100644 index 80753fc..0000000 --- a/external/clem/doc/tinaa/clem/macro-mloop--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro Mloop-Range [Tinaa]

Function Mloop-Range

( mloop-range &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-mloop.html b/external/clem/doc/tinaa/clem/macro-mloop.html deleted file mode 100644 index 040fc4f..0000000 --- a/external/clem/doc/tinaa/clem/macro-mloop.html +++ /dev/null @@ -1 +0,0 @@ -Macro Mloop [Tinaa]

Function Mloop

( mloop &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-quadratic--interpolate.html b/external/clem/doc/tinaa/clem/macro-quadratic--interpolate.html deleted file mode 100644 index d8495f7..0000000 --- a/external/clem/doc/tinaa/clem/macro-quadratic--interpolate.html +++ /dev/null @@ -1 +0,0 @@ -Macro Quadratic-Interpolate [Tinaa]

Function Quadratic-Interpolate

( quadratic-interpolate &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-quadratic--kernel.html b/external/clem/doc/tinaa/clem/macro-quadratic--kernel.html deleted file mode 100644 index 5d07108..0000000 --- a/external/clem/doc/tinaa/clem/macro-quadratic--kernel.html +++ /dev/null @@ -1 +0,0 @@ -Macro Quadratic-Kernel [Tinaa]

Function Quadratic-Kernel

( quadratic-kernel &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-with--map--range.html b/external/clem/doc/tinaa/clem/macro-with--map--range.html deleted file mode 100644 index 65daa4c..0000000 --- a/external/clem/doc/tinaa/clem/macro-with--map--range.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Map-Range [Tinaa]

Function With-Map-Range

( with-map-range &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-with--matrix--range--do.html b/external/clem/doc/tinaa/clem/macro-with--matrix--range--do.html deleted file mode 100644 index 1849ca2..0000000 --- a/external/clem/doc/tinaa/clem/macro-with--matrix--range--do.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Matrix-Range-Do [Tinaa]

Function With-Matrix-Range-Do

( with-matrix-range-do &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-with--matrix--vals.html b/external/clem/doc/tinaa/clem/macro-with--matrix--vals.html deleted file mode 100644 index 9c18a0b..0000000 --- a/external/clem/doc/tinaa/clem/macro-with--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Matrix-Vals [Tinaa]

Function With-Matrix-Vals

( with-matrix-vals &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-with--typed--matrix--vals.html b/external/clem/doc/tinaa/clem/macro-with--typed--matrix--vals.html deleted file mode 100644 index 9bfde85..0000000 --- a/external/clem/doc/tinaa/clem/macro-with--typed--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Typed-Matrix-Vals [Tinaa]

Function With-Typed-Matrix-Vals

( with-typed-matrix-vals &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/macro-with--untyped--matrix--vals.html b/external/clem/doc/tinaa/clem/macro-with--untyped--matrix--vals.html deleted file mode 100644 index 1aee50e..0000000 --- a/external/clem/doc/tinaa/clem/macro-with--untyped--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Macro With-Untyped-Matrix-Vals [Tinaa]

Function With-Untyped-Matrix-Vals

( with-untyped-matrix-vals &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-%discrete--convolve.html b/external/clem/doc/tinaa/clem/method-%discrete--convolve.html deleted file mode 100644 index 34d13e1..0000000 --- a/external/clem/doc/tinaa/clem/method-%discrete--convolve.html +++ /dev/null @@ -1,2 +0,0 @@ -Method %Discrete-Convolve [Tinaa]

Function %Discrete-Convolve

( %discrete-convolve < u > < v > < z > &key (norm-v - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-%get--subtr--matrix--class.html b/external/clem/doc/tinaa/clem/method-%get--subtr--matrix--class.html deleted file mode 100644 index 84e23c7..0000000 --- a/external/clem/doc/tinaa/clem/method-%get--subtr--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Method %Get-Subtr-Matrix-Class [Tinaa]

Function %Get-Subtr-Matrix-Class

( %get-subtr-matrix-class < a > < b > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-%mat--mult--block.html b/external/clem/doc/tinaa/clem/method-%mat--mult--block.html deleted file mode 100644 index 97bc1eb..0000000 --- a/external/clem/doc/tinaa/clem/method-%mat--mult--block.html +++ /dev/null @@ -1 +0,0 @@ -Method %Mat-Mult-Block [Tinaa]

Function %Mat-Mult-Block

( %mat-mult-block < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-%mat--mult--with--blocks.html b/external/clem/doc/tinaa/clem/method-%mat--mult--with--blocks.html deleted file mode 100644 index 8731e02..0000000 --- a/external/clem/doc/tinaa/clem/method-%mat--mult--with--blocks.html +++ /dev/null @@ -1 +0,0 @@ -Method %Mat-Mult-With-Blocks [Tinaa]

Function %Mat-Mult-With-Blocks

( %mat-mult-with-blocks < m > < n > < p > < mstartr > < mendr > < mstartc > < mendc > < nstartr > < nendr > < nstartc > < nendc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-%separable--discrete--convolve.html b/external/clem/doc/tinaa/clem/method-%separable--discrete--convolve.html deleted file mode 100644 index ec1be49..0000000 --- a/external/clem/doc/tinaa/clem/method-%separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Method %Separable-Discrete-Convolve [Tinaa]

Function %Separable-Discrete-Convolve

( %separable-discrete-convolve < m > < h1 > < h2 > < z1 > < z2 > &key (truncate - nil) (norm-v - nil) (matrix-class - (class-of - m)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-%transform--matrix.html b/external/clem/doc/tinaa/clem/method-%transform--matrix.html deleted file mode 100644 index 6697558..0000000 --- a/external/clem/doc/tinaa/clem/method-%transform--matrix.html +++ /dev/null @@ -1,3 +0,0 @@ -Method %Transform-Matrix [Tinaa]

Function %Transform-Matrix

( %transform-matrix < m > < n > < xfrm > &key (background - 0) (interpolation - nearest-neighbor) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-accumulator--type.html b/external/clem/doc/tinaa/clem/method-accumulator--type.html deleted file mode 100644 index 5403504..0000000 --- a/external/clem/doc/tinaa/clem/method-accumulator--type.html +++ /dev/null @@ -1 +0,0 @@ -Method Accumulator-Type [Tinaa]

Function Accumulator-Type

( accumulator-type < smc > )
the type of the result of various mathematical
opreations on instances of this matrix class. needs work.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-add--col.html b/external/clem/doc/tinaa/clem/method-add--col.html deleted file mode 100644 index 234fe74..0000000 --- a/external/clem/doc/tinaa/clem/method-add--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Add-Col [Tinaa]

Function Add-Col

( add-col < m > &key < values > < initial-element > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-add--row.html b/external/clem/doc/tinaa/clem/method-add--row.html deleted file mode 100644 index ba86b6f..0000000 --- a/external/clem/doc/tinaa/clem/method-add--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Add-Row [Tinaa]

Function Add-Row

( add-row < m > &key < values > < initial-element > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-affine--transform.html b/external/clem/doc/tinaa/clem/method-affine--transform.html deleted file mode 100644 index f4ef2ae..0000000 --- a/external/clem/doc/tinaa/clem/method-affine--transform.html +++ /dev/null @@ -1,7 +0,0 @@ -Method Affine-Transform [Tinaa]

Function Affine-Transform

( affine-transform < mat > < xfrm > &key < u > < v > < x > < y > (interpolation - nil - interpolation-supplied-p) (background - nil - background-supplied-p) (matrix-class - (class-of - mat)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-allocate--matrix--vals.html b/external/clem/doc/tinaa/clem/method-allocate--matrix--vals.html deleted file mode 100644 index 7b9c954..0000000 --- a/external/clem/doc/tinaa/clem/method-allocate--matrix--vals.html +++ /dev/null @@ -1 +0,0 @@ -Method Allocate-Matrix-Vals [Tinaa]

Function Allocate-Matrix-Vals

( allocate-matrix-vals < object > &key < rows > < cols > < adjustable > < initial-element > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-closest--common--matrix--class.html b/external/clem/doc/tinaa/clem/method-closest--common--matrix--class.html deleted file mode 100644 index 48efa18..0000000 --- a/external/clem/doc/tinaa/clem/method-closest--common--matrix--class.html +++ /dev/null @@ -1 +0,0 @@ -Method Closest-Common-Matrix-Class [Tinaa]

Function Closest-Common-Matrix-Class

( closest-common-matrix-class < m1 > &rest < mr > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-cols.html b/external/clem/doc/tinaa/clem/method-cols.html deleted file mode 100644 index 33fc3d4..0000000 --- a/external/clem/doc/tinaa/clem/method-cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Cols [Tinaa]

Function Cols

( cols < cv > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-concat--matrix--cols.html b/external/clem/doc/tinaa/clem/method-concat--matrix--cols.html deleted file mode 100644 index 4d6c8a4..0000000 --- a/external/clem/doc/tinaa/clem/method-concat--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Concat-Matrix-Cols [Tinaa]

Function Concat-Matrix-Cols

( concat-matrix-cols < a > < b > &key < matrix-type > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--affine--transformation.html b/external/clem/doc/tinaa/clem/method-copy--affine--transformation.html deleted file mode 100644 index b16921a..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Copy-Affine-Transformation [Tinaa]

Function Copy-Affine-Transformation

( copy-affine-transformation < xfrm > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--bit--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--bit--matrix.html deleted file mode 100644 index 8e625ac..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--bit--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Bit-Matrix [Tinaa]

Function Copy-To-Bit-Matrix

( copy-to-bit-matrix < m > &key (constrain - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--complex--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--complex--matrix.html deleted file mode 100644 index b2a2fe9..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--complex--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Complex-Matrix [Tinaa]

Function Copy-To-Complex-Matrix

( copy-to-complex-matrix < m > &key (constrain - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--double--float--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--double--float--matrix.html deleted file mode 100644 index 1222a5f..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--double--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Double-Float-Matrix [Tinaa]

Function Copy-To-Double-Float-Matrix

( copy-to-double-float-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--fixnum--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--fixnum--matrix.html deleted file mode 100644 index fd4f6b2..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--fixnum--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Fixnum-Matrix [Tinaa]

Function Copy-To-Fixnum-Matrix

( copy-to-fixnum-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--sb16--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--sb16--matrix.html deleted file mode 100644 index ef77d3e..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--sb16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Sb16-Matrix [Tinaa]

Function Copy-To-Sb16-Matrix

( copy-to-sb16-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--sb32--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--sb32--matrix.html deleted file mode 100644 index 16798a1..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--sb32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Sb32-Matrix [Tinaa]

Function Copy-To-Sb32-Matrix

( copy-to-sb32-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--sb8--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--sb8--matrix.html deleted file mode 100644 index 4f692de..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--sb8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Sb8-Matrix [Tinaa]

Function Copy-To-Sb8-Matrix

( copy-to-sb8-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--single--float--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--single--float--matrix.html deleted file mode 100644 index 23d02fa..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--single--float--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Single-Float-Matrix [Tinaa]

Function Copy-To-Single-Float-Matrix

( copy-to-single-float-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--ub16--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--ub16--matrix.html deleted file mode 100644 index 100fd10..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--ub16--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Ub16-Matrix [Tinaa]

Function Copy-To-Ub16-Matrix

( copy-to-ub16-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--ub32--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--ub32--matrix.html deleted file mode 100644 index dbe6639..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--ub32--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Ub32-Matrix [Tinaa]

Function Copy-To-Ub32-Matrix

( copy-to-ub32-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-copy--to--ub8--matrix.html b/external/clem/doc/tinaa/clem/method-copy--to--ub8--matrix.html deleted file mode 100644 index f8ce7f1..0000000 --- a/external/clem/doc/tinaa/clem/method-copy--to--ub8--matrix.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Copy-To-Ub8-Matrix [Tinaa]

Function Copy-To-Ub8-Matrix

( copy-to-ub8-matrix < m > &key (constrain - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-cvref.html b/external/clem/doc/tinaa/clem/method-cvref.html deleted file mode 100644 index f898e3b..0000000 --- a/external/clem/doc/tinaa/clem/method-cvref.html +++ /dev/null @@ -1 +0,0 @@ -Method Cvref [Tinaa]

Function Cvref

( cvref < cv > < i > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-decf--affine--transformation.html b/external/clem/doc/tinaa/clem/method-decf--affine--transformation.html deleted file mode 100644 index d4720ec..0000000 --- a/external/clem/doc/tinaa/clem/method-decf--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Decf-Affine-Transformation [Tinaa]

Function Decf-Affine-Transformation

( decf-affine-transformation < src > < dest > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-dilate--orig.html b/external/clem/doc/tinaa/clem/method-dilate--orig.html deleted file mode 100644 index 77aab06..0000000 --- a/external/clem/doc/tinaa/clem/method-dilate--orig.html +++ /dev/null @@ -1 +0,0 @@ -Method Dilate-Orig [Tinaa]

Function Dilate-Orig

( dilate-orig < u > < r > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-dilate.html b/external/clem/doc/tinaa/clem/method-dilate.html deleted file mode 100644 index 3809034..0000000 --- a/external/clem/doc/tinaa/clem/method-dilate.html +++ /dev/null @@ -1 +0,0 @@ -Method Dilate [Tinaa]

Function Dilate

( dilate < u > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-dim.html b/external/clem/doc/tinaa/clem/method-dim.html deleted file mode 100644 index 1742d94..0000000 --- a/external/clem/doc/tinaa/clem/method-dim.html +++ /dev/null @@ -1 +0,0 @@ -Method Dim [Tinaa]

Function Dim

( dim < cv > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-discrete--convolve.html b/external/clem/doc/tinaa/clem/method-discrete--convolve.html deleted file mode 100644 index c0d612f..0000000 --- a/external/clem/doc/tinaa/clem/method-discrete--convolve.html +++ /dev/null @@ -1,4 +0,0 @@ -Method Discrete-Convolve [Tinaa]

Function Discrete-Convolve

( discrete-convolve < u > < v > &key (matrix-class - 'ub8-matrix) (norm-v - t) (truncate - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-element--type.html b/external/clem/doc/tinaa/clem/method-element--type.html deleted file mode 100644 index feb2257..0000000 --- a/external/clem/doc/tinaa/clem/method-element--type.html +++ /dev/null @@ -1 +0,0 @@ -Method Element-Type [Tinaa]

Function Element-Type

( element-type < smc > )
the type of the elements of instances
of this matrix class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-erode--orig.html b/external/clem/doc/tinaa/clem/method-erode--orig.html deleted file mode 100644 index 527b0ec..0000000 --- a/external/clem/doc/tinaa/clem/method-erode--orig.html +++ /dev/null @@ -1 +0,0 @@ -Method Erode-Orig [Tinaa]

Function Erode-Orig

( erode-orig < u > < r > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-erode.html b/external/clem/doc/tinaa/clem/method-erode.html deleted file mode 100644 index e807b61..0000000 --- a/external/clem/doc/tinaa/clem/method-erode.html +++ /dev/null @@ -1 +0,0 @@ -Method Erode [Tinaa]

Function Erode

( erode < u > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-fit--value.html b/external/clem/doc/tinaa/clem/method-fit--value.html deleted file mode 100644 index d46479a..0000000 --- a/external/clem/doc/tinaa/clem/method-fit--value.html +++ /dev/null @@ -1 +0,0 @@ -Method Fit-Value [Tinaa]

Function Fit-Value

( fit-value < val > < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-fit.html b/external/clem/doc/tinaa/clem/method-fit.html deleted file mode 100644 index 501a7b3..0000000 --- a/external/clem/doc/tinaa/clem/method-fit.html +++ /dev/null @@ -1 +0,0 @@ -Method Fit [Tinaa]

Function Fit

( fit < m > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-get--col--list.html b/external/clem/doc/tinaa/clem/method-get--col--list.html deleted file mode 100644 index 4bd07d1..0000000 --- a/external/clem/doc/tinaa/clem/method-get--col--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Get-Col-List [Tinaa]

Function Get-Col-List

( get-col-list < m > < c > &optional (start - 0) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-get--col--vector.html b/external/clem/doc/tinaa/clem/method-get--col--vector.html deleted file mode 100644 index 99465e1..0000000 --- a/external/clem/doc/tinaa/clem/method-get--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Method Get-Col-Vector [Tinaa]

Function Get-Col-Vector

( get-col-vector < m > < r > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-get--first--non--zero--row--in--col.html b/external/clem/doc/tinaa/clem/method-get--first--non--zero--row--in--col.html deleted file mode 100644 index e811a14..0000000 --- a/external/clem/doc/tinaa/clem/method-get--first--non--zero--row--in--col.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Get-First-Non-Zero-Row-In-Col [Tinaa]

Function Get-First-Non-Zero-Row-In-Col

( get-first-non-zero-row-in-col < a > < j > &optional (start - 0) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-get--row--as--col--vector.html b/external/clem/doc/tinaa/clem/method-get--row--as--col--vector.html deleted file mode 100644 index 9690895..0000000 --- a/external/clem/doc/tinaa/clem/method-get--row--as--col--vector.html +++ /dev/null @@ -1 +0,0 @@ -Method Get-Row-As-Col-Vector [Tinaa]

Function Get-Row-As-Col-Vector

( get-row-as-col-vector < m > < r > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-get--row--list.html b/external/clem/doc/tinaa/clem/method-get--row--list.html deleted file mode 100644 index 14ed000..0000000 --- a/external/clem/doc/tinaa/clem/method-get--row--list.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Get-Row-List [Tinaa]

Function Get-Row-List

( get-row-list < m > < r > &optional (start - 0) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-get--row--vector.html b/external/clem/doc/tinaa/clem/method-get--row--vector.html deleted file mode 100644 index a98c7f1..0000000 --- a/external/clem/doc/tinaa/clem/method-get--row--vector.html +++ /dev/null @@ -1 +0,0 @@ -Method Get-Row-Vector [Tinaa]

Function Get-Row-Vector

( get-row-vector < m > < r > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-horzcat.html b/external/clem/doc/tinaa/clem/method-horzcat.html deleted file mode 100644 index 34e6c17..0000000 --- a/external/clem/doc/tinaa/clem/method-horzcat.html +++ /dev/null @@ -1 +0,0 @@ -Method Horzcat [Tinaa]

Function Horzcat

( horzcat < m1 > &rest < mr > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-invert--matrix.html b/external/clem/doc/tinaa/clem/method-invert--matrix.html deleted file mode 100644 index 0da25cd..0000000 --- a/external/clem/doc/tinaa/clem/method-invert--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Invert-Matrix [Tinaa]

Function Invert-Matrix

( invert-matrix < a > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--col.html b/external/clem/doc/tinaa/clem/method-map--col.html deleted file mode 100644 index 7f01493..0000000 --- a/external/clem/doc/tinaa/clem/method-map--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Col [Tinaa]

Function Map-Col

( map-col < a > < k > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--matrix--copy.html b/external/clem/doc/tinaa/clem/method-map--matrix--copy.html deleted file mode 100644 index be94d48..0000000 --- a/external/clem/doc/tinaa/clem/method-map--matrix--copy.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Map-Matrix-Copy [Tinaa]

Function Map-Matrix-Copy

( map-matrix-copy < a > < f > &key (matrix-class - (class-of - a)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--matrix--fit.html b/external/clem/doc/tinaa/clem/method-map--matrix--fit.html deleted file mode 100644 index a18efbf..0000000 --- a/external/clem/doc/tinaa/clem/method-map--matrix--fit.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Matrix-Fit [Tinaa]

Function Map-Matrix-Fit

( map-matrix-fit < f > < a > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--matrix.html b/external/clem/doc/tinaa/clem/method-map--matrix.html deleted file mode 100644 index cf032af..0000000 --- a/external/clem/doc/tinaa/clem/method-map--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Matrix [Tinaa]

Function Map-Matrix

( map-matrix < a > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--range.html b/external/clem/doc/tinaa/clem/method-map--range.html deleted file mode 100644 index a09e35b..0000000 --- a/external/clem/doc/tinaa/clem/method-map--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Range [Tinaa]

Function Map-Range

( map-range < a > < startr > < endr > < startc > < endc > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--row.html b/external/clem/doc/tinaa/clem/method-map--row.html deleted file mode 100644 index f372539..0000000 --- a/external/clem/doc/tinaa/clem/method-map--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Row [Tinaa]

Function Map-Row

( map-row < a > < k > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--set--range.html b/external/clem/doc/tinaa/clem/method-map--set--range.html deleted file mode 100644 index 432a49f..0000000 --- a/external/clem/doc/tinaa/clem/method-map--set--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Set-Range [Tinaa]

Function Map-Set-Range

( map-set-range < a > < startr > < endr > < startc > < endc > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--set--val--copy.html b/external/clem/doc/tinaa/clem/method-map--set--val--copy.html deleted file mode 100644 index c8b5a46..0000000 --- a/external/clem/doc/tinaa/clem/method-map--set--val--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Set-Val-Copy [Tinaa]

Function Map-Set-Val-Copy

( map-set-val-copy < a > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--set--val--fit.html b/external/clem/doc/tinaa/clem/method-map--set--val--fit.html deleted file mode 100644 index 330a04d..0000000 --- a/external/clem/doc/tinaa/clem/method-map--set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Map-Set-Val-Fit [Tinaa]

Function Map-Set-Val-Fit

( map-set-val-fit < a > < f > &key (truncate - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-map--set--val.html b/external/clem/doc/tinaa/clem/method-map--set--val.html deleted file mode 100644 index b9c3225..0000000 --- a/external/clem/doc/tinaa/clem/method-map--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Map-Set-Val [Tinaa]

Function Map-Set-Val

( map-set-val < m > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--abs!.html b/external/clem/doc/tinaa/clem/method-mat--abs!.html deleted file mode 100644 index b8434dd..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--abs!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs! [Tinaa]

Function Mat-Abs!

( mat-abs! < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--abs--range!.html b/external/clem/doc/tinaa/clem/method-mat--abs--range!.html deleted file mode 100644 index e94489c..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--abs--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs-Range! [Tinaa]

Function Mat-Abs-Range!

( mat-abs-range! < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--abs--range.html b/external/clem/doc/tinaa/clem/method-mat--abs--range.html deleted file mode 100644 index c1f6e8a..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--abs--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs-Range [Tinaa]

Function Mat-Abs-Range

( mat-abs-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--abs.html b/external/clem/doc/tinaa/clem/method-mat--abs.html deleted file mode 100644 index a2c7d38..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--abs.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Abs [Tinaa]

Function Mat-Abs

( mat-abs < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--add!--range.html b/external/clem/doc/tinaa/clem/method-mat--add!--range.html deleted file mode 100644 index e0c1719..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--add!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add!-Range [Tinaa]

Function Mat-Add!-Range

( mat-add!-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--add!.html b/external/clem/doc/tinaa/clem/method-mat--add!.html deleted file mode 100644 index 387073b..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--add!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add! [Tinaa]

Function Mat-Add!

( mat-add! < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--add--range!.html b/external/clem/doc/tinaa/clem/method-mat--add--range!.html deleted file mode 100644 index 44162c4..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--add--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add-Range! [Tinaa]

Function Mat-Add-Range!

( mat-add-range! < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--add--range.html b/external/clem/doc/tinaa/clem/method-mat--add--range.html deleted file mode 100644 index 5cb00e8..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--add--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add-Range [Tinaa]

Function Mat-Add-Range

( mat-add-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--add.html b/external/clem/doc/tinaa/clem/method-mat--add.html deleted file mode 100644 index 66eee7e..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--add.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Add [Tinaa]

Function Mat-Add

( mat-add < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--copy--into.html b/external/clem/doc/tinaa/clem/method-mat--copy--into.html deleted file mode 100644 index 12d7e9c..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--copy--into.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Copy-Into [Tinaa]

Function Mat-Copy-Into

( mat-copy-into < a > < c > &key < truncate > < constrain > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--copy--proto--dim.html b/external/clem/doc/tinaa/clem/method-mat--copy--proto--dim.html deleted file mode 100644 index 30ef429..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--copy--proto--dim.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Mat-Copy-Proto-Dim [Tinaa]

Function Mat-Copy-Proto-Dim

( mat-copy-proto-dim < a > < m > < n > &key (initial-element - nil - initial-element-supplied-p) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--copy--proto.html b/external/clem/doc/tinaa/clem/method-mat--copy--proto.html deleted file mode 100644 index a8a9a8f..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--copy--proto.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Copy-Proto [Tinaa]

Function Mat-Copy-Proto

( mat-copy-proto < a > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--copy.html b/external/clem/doc/tinaa/clem/method-mat--copy.html deleted file mode 100644 index fc9786b..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Copy [Tinaa]

Function Mat-Copy

( mat-copy < a > &rest < args > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--hprod!--range.html b/external/clem/doc/tinaa/clem/method-mat--hprod!--range.html deleted file mode 100644 index 7371636..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--hprod!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod!-Range [Tinaa]

Function Mat-Hprod!-Range

( mat-hprod!-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--hprod!.html b/external/clem/doc/tinaa/clem/method-mat--hprod!.html deleted file mode 100644 index 5c82357..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--hprod!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod! [Tinaa]

Function Mat-Hprod!

( mat-hprod! < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--hprod--range!.html b/external/clem/doc/tinaa/clem/method-mat--hprod--range!.html deleted file mode 100644 index 2687ae8..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--hprod--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod-Range! [Tinaa]

Function Mat-Hprod-Range!

( mat-hprod-range! < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--hprod--range.html b/external/clem/doc/tinaa/clem/method-mat--hprod--range.html deleted file mode 100644 index 2c2577f..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--hprod--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod-Range [Tinaa]

Function Mat-Hprod-Range

( mat-hprod-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--hprod.html b/external/clem/doc/tinaa/clem/method-mat--hprod.html deleted file mode 100644 index d12ac99..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--hprod.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Hprod [Tinaa]

Function Mat-Hprod

( mat-hprod < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--log!.html b/external/clem/doc/tinaa/clem/method-mat--log!.html deleted file mode 100644 index 54d49ba..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--log!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log! [Tinaa]

Function Mat-Log!

( mat-log! < m > &optional < base > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--log--range!.html b/external/clem/doc/tinaa/clem/method-mat--log--range!.html deleted file mode 100644 index 020055b..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--log--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log-Range! [Tinaa]

Function Mat-Log-Range!

( mat-log-range! < m > < startr > < endr > < startc > < endc > &optional < base > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--log--range.html b/external/clem/doc/tinaa/clem/method-mat--log--range.html deleted file mode 100644 index da09cde..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--log--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log-Range [Tinaa]

Function Mat-Log-Range

( mat-log-range < m > < startr > < endr > < startc > < endc > &optional < base > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--log.html b/external/clem/doc/tinaa/clem/method-mat--log.html deleted file mode 100644 index 23515c8..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--log.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Log [Tinaa]

Function Mat-Log

( mat-log < m > &optional < base > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--mult--3--block.html b/external/clem/doc/tinaa/clem/method-mat--mult--3--block.html deleted file mode 100644 index 2fa3644..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--mult--3--block.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Mult-3-Block [Tinaa]

Function Mat-Mult-3-Block

( mat-mult-3-block < m > < n > < p > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--mult.html b/external/clem/doc/tinaa/clem/method-mat--mult.html deleted file mode 100644 index 3e8adbe..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--mult.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Mult [Tinaa]

Function Mat-Mult

( mat-mult < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--mult3.html b/external/clem/doc/tinaa/clem/method-mat--mult3.html deleted file mode 100644 index a2a035e..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--mult3.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Mult3 [Tinaa]

Function Mat-Mult3

( mat-mult3 < m > < n > < p > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--scalar--op.html b/external/clem/doc/tinaa/clem/method-mat--scalar--op.html deleted file mode 100644 index df39697..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--scalar--op.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scalar-Op [Tinaa]

Function Mat-Scalar-Op

( mat-scalar-op < a > < b > < op > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--scale!.html b/external/clem/doc/tinaa/clem/method-mat--scale!.html deleted file mode 100644 index 5336684..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--scale!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale! [Tinaa]

Function Mat-Scale!

( mat-scale! < m > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--scale--range!.html b/external/clem/doc/tinaa/clem/method-mat--scale--range!.html deleted file mode 100644 index 8d1047c..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--scale--range!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Range! [Tinaa]

Function Mat-Scale-Range!

( mat-scale-range! < m > < q > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--scale--range.html b/external/clem/doc/tinaa/clem/method-mat--scale--range.html deleted file mode 100644 index 2db93c6..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--scale--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale-Range [Tinaa]

Function Mat-Scale-Range

( mat-scale-range < m > < q > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--scale.html b/external/clem/doc/tinaa/clem/method-mat--scale.html deleted file mode 100644 index afced4f..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--scale.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Scale [Tinaa]

Function Mat-Scale

( mat-scale < m > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--sqrt!.html b/external/clem/doc/tinaa/clem/method-mat--sqrt!.html deleted file mode 100644 index 7a12f4b..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--sqrt!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Sqrt! [Tinaa]

Function Mat-Sqrt!

( mat-sqrt! < u > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--sqrt.html b/external/clem/doc/tinaa/clem/method-mat--sqrt.html deleted file mode 100644 index 2e49591..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--sqrt.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Sqrt [Tinaa]

Function Mat-Sqrt

( mat-sqrt < u > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--square!.html b/external/clem/doc/tinaa/clem/method-mat--square!.html deleted file mode 100644 index 1a39398..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--square!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Square! [Tinaa]

Function Mat-Square!

( mat-square! < u > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--square.html b/external/clem/doc/tinaa/clem/method-mat--square.html deleted file mode 100644 index e3068ac..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--square.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Square [Tinaa]

Function Mat-Square

( mat-square < u > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--subtr!--range.html b/external/clem/doc/tinaa/clem/method-mat--subtr!--range.html deleted file mode 100644 index 67ce8f5..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--subtr!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Subtr!-Range [Tinaa]

Function Mat-Subtr!-Range

( mat-subtr!-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--subtr!.html b/external/clem/doc/tinaa/clem/method-mat--subtr!.html deleted file mode 100644 index cb104b6..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--subtr!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Subtr! [Tinaa]

Function Mat-Subtr!

( mat-subtr! < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--subtr--range.html b/external/clem/doc/tinaa/clem/method-mat--subtr--range.html deleted file mode 100644 index 8bb5d9d..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--subtr--range.html +++ /dev/null @@ -1,4 +0,0 @@ -Method Mat-Subtr-Range [Tinaa]

Function Mat-Subtr-Range

( mat-subtr-range < m > < n > < startr > < endr > < startc > < endc > &key (matrix-class - (%get-subtr-matrix-class - m - n)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--subtr--range3.html b/external/clem/doc/tinaa/clem/method-mat--subtr--range3.html deleted file mode 100644 index a48decc..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--subtr--range3.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Subtr-Range3 [Tinaa]

Function Mat-Subtr-Range3

( mat-subtr-range3 < m > < n > < p > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--subtr.html b/external/clem/doc/tinaa/clem/method-mat--subtr.html deleted file mode 100644 index 097dff4..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--subtr.html +++ /dev/null @@ -1,4 +0,0 @@ -Method Mat-Subtr [Tinaa]

Function Mat-Subtr

( mat-subtr < m > < n > &key (matrix-class - (%get-subtr-matrix-class - m - n)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mat--trim.html b/external/clem/doc/tinaa/clem/method-mat--trim.html deleted file mode 100644 index 7360649..0000000 --- a/external/clem/doc/tinaa/clem/method-mat--trim.html +++ /dev/null @@ -1 +0,0 @@ -Method Mat-Trim [Tinaa]

Function Mat-Trim

( mat-trim < m > < k > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-matrix--move--range--constrain.html b/external/clem/doc/tinaa/clem/method-matrix--move--range--constrain.html deleted file mode 100644 index c44b642..0000000 --- a/external/clem/doc/tinaa/clem/method-matrix--move--range--constrain.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move-Range-Constrain [Tinaa]

Function Matrix-Move-Range-Constrain

( matrix-move-range-constrain < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-matrix--move--range.html b/external/clem/doc/tinaa/clem/method-matrix--move--range.html deleted file mode 100644 index 01154bc..0000000 --- a/external/clem/doc/tinaa/clem/method-matrix--move--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move-Range [Tinaa]

Function Matrix-Move-Range

( matrix-move-range < m > < n > < startr1 > < endr1 > < startc1 > < endc1 > < startr2 > < endr2 > < startc2 > < endc2 > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-matrix--move.html b/external/clem/doc/tinaa/clem/method-matrix--move.html deleted file mode 100644 index 0403443..0000000 --- a/external/clem/doc/tinaa/clem/method-matrix--move.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Move [Tinaa]

Function Matrix-Move

( matrix-move < m > < n > &key < constrain > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-matrix--precedence--list.html b/external/clem/doc/tinaa/clem/method-matrix--precedence--list.html deleted file mode 100644 index 110bd20..0000000 --- a/external/clem/doc/tinaa/clem/method-matrix--precedence--list.html +++ /dev/null @@ -1 +0,0 @@ -Method Matrix-Precedence-List [Tinaa]

Function Matrix-Precedence-List

( matrix-precedence-list < c > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-max--range.html b/external/clem/doc/tinaa/clem/method-max--range.html deleted file mode 100644 index d5dc1f3..0000000 --- a/external/clem/doc/tinaa/clem/method-max--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Max-Range [Tinaa]

Function Max-Range

( max-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-max--val.html b/external/clem/doc/tinaa/clem/method-max--val.html deleted file mode 100644 index df131fb..0000000 --- a/external/clem/doc/tinaa/clem/method-max--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Max-Val [Tinaa]

Function Max-Val

( max-val < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-maxval.html b/external/clem/doc/tinaa/clem/method-maxval.html deleted file mode 100644 index dc41507..0000000 --- a/external/clem/doc/tinaa/clem/method-maxval.html +++ /dev/null @@ -1 +0,0 @@ -Method Maxval [Tinaa]

Function Maxval

( maxval < smc > )
the maximum value allowed by instances
of this matrix class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mean--range.html b/external/clem/doc/tinaa/clem/method-mean--range.html deleted file mode 100644 index 5d73945..0000000 --- a/external/clem/doc/tinaa/clem/method-mean--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mean-Range [Tinaa]

Function Mean-Range

( mean-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mean.html b/external/clem/doc/tinaa/clem/method-mean.html deleted file mode 100644 index 433f217..0000000 --- a/external/clem/doc/tinaa/clem/method-mean.html +++ /dev/null @@ -1 +0,0 @@ -Method Mean [Tinaa]

Function Mean

( mean < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-min--range.html b/external/clem/doc/tinaa/clem/method-min--range.html deleted file mode 100644 index 5e1221c..0000000 --- a/external/clem/doc/tinaa/clem/method-min--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Min-Range [Tinaa]

Function Min-Range

( min-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-min--val.html b/external/clem/doc/tinaa/clem/method-min--val.html deleted file mode 100644 index df6bfcb..0000000 --- a/external/clem/doc/tinaa/clem/method-min--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Min-Val [Tinaa]

Function Min-Val

( min-val < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-minval.html b/external/clem/doc/tinaa/clem/method-minval.html deleted file mode 100644 index 79f71cf..0000000 --- a/external/clem/doc/tinaa/clem/method-minval.html +++ /dev/null @@ -1 +0,0 @@ -Method Minval [Tinaa]

Function Minval

( minval < smc > )
the minimum value allowed by instances
of this matrix class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogand!--range.html b/external/clem/doc/tinaa/clem/method-mlogand!--range.html deleted file mode 100644 index 56ea9aa..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogand!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand!-Range [Tinaa]

Function Mlogand!-Range

( mlogand!-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogand!.html b/external/clem/doc/tinaa/clem/method-mlogand!.html deleted file mode 100644 index cb828e0..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogand!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand! [Tinaa]

Function Mlogand!

( mlogand! < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogand--range.html b/external/clem/doc/tinaa/clem/method-mlogand--range.html deleted file mode 100644 index b5da5d2..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogand--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand-Range [Tinaa]

Function Mlogand-Range

( mlogand-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogand.html b/external/clem/doc/tinaa/clem/method-mlogand.html deleted file mode 100644 index 4d6a8da..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogand.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogand [Tinaa]

Function Mlogand

( mlogand < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogior!--range.html b/external/clem/doc/tinaa/clem/method-mlogior!--range.html deleted file mode 100644 index 4f1f163..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogior!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior!-Range [Tinaa]

Function Mlogior!-Range

( mlogior!-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogior!.html b/external/clem/doc/tinaa/clem/method-mlogior!.html deleted file mode 100644 index 08c7a8f..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogior!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior! [Tinaa]

Function Mlogior!

( mlogior! < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogior--range.html b/external/clem/doc/tinaa/clem/method-mlogior--range.html deleted file mode 100644 index 43f4dfb..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogior--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior-Range [Tinaa]

Function Mlogior-Range

( mlogior-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogior.html b/external/clem/doc/tinaa/clem/method-mlogior.html deleted file mode 100644 index fb390f0..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogior.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogior [Tinaa]

Function Mlogior

( mlogior < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogxor!--range.html b/external/clem/doc/tinaa/clem/method-mlogxor!--range.html deleted file mode 100644 index 18ab1cd..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogxor!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor!-Range [Tinaa]

Function Mlogxor!-Range

( mlogxor!-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogxor!.html b/external/clem/doc/tinaa/clem/method-mlogxor!.html deleted file mode 100644 index 226336d..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogxor!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor! [Tinaa]

Function Mlogxor!

( mlogxor! < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogxor--range.html b/external/clem/doc/tinaa/clem/method-mlogxor--range.html deleted file mode 100644 index d9e248a..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogxor--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor-Range [Tinaa]

Function Mlogxor-Range

( mlogxor-range < m > < n > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mlogxor.html b/external/clem/doc/tinaa/clem/method-mlogxor.html deleted file mode 100644 index 8caa1f5..0000000 --- a/external/clem/doc/tinaa/clem/method-mlogxor.html +++ /dev/null @@ -1 +0,0 @@ -Method Mlogxor [Tinaa]

Function Mlogxor

( mlogxor < m > < n > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mnot!--range.html b/external/clem/doc/tinaa/clem/method-mnot!--range.html deleted file mode 100644 index 02274da..0000000 --- a/external/clem/doc/tinaa/clem/method-mnot!--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot!-Range [Tinaa]

Function Mnot!-Range

( mnot!-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mnot!.html b/external/clem/doc/tinaa/clem/method-mnot!.html deleted file mode 100644 index 1d31ba9..0000000 --- a/external/clem/doc/tinaa/clem/method-mnot!.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot! [Tinaa]

Function Mnot!

( mnot! < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mnot--range.html b/external/clem/doc/tinaa/clem/method-mnot--range.html deleted file mode 100644 index 80afcc5..0000000 --- a/external/clem/doc/tinaa/clem/method-mnot--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot-Range [Tinaa]

Function Mnot-Range

( mnot-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mnot.html b/external/clem/doc/tinaa/clem/method-mnot.html deleted file mode 100644 index ffce9ba..0000000 --- a/external/clem/doc/tinaa/clem/method-mnot.html +++ /dev/null @@ -1 +0,0 @@ -Method Mnot [Tinaa]

Function Mnot

( mnot < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-morphological--op.html b/external/clem/doc/tinaa/clem/method-morphological--op.html deleted file mode 100644 index 3793c36..0000000 --- a/external/clem/doc/tinaa/clem/method-morphological--op.html +++ /dev/null @@ -1 +0,0 @@ -Method Morphological-Op [Tinaa]

Function Morphological-Op

( morphological-op < u > < v > < f > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-move--affine--transformation.html b/external/clem/doc/tinaa/clem/method-move--affine--transformation.html deleted file mode 100644 index 74b2f7b..0000000 --- a/external/clem/doc/tinaa/clem/method-move--affine--transformation.html +++ /dev/null @@ -1 +0,0 @@ -Method Move-Affine-Transformation [Tinaa]

Function Move-Affine-Transformation

( move-affine-transformation < src > < dest > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-move--element.html b/external/clem/doc/tinaa/clem/method-move--element.html deleted file mode 100644 index 21a6952..0000000 --- a/external/clem/doc/tinaa/clem/method-move--element.html +++ /dev/null @@ -1 +0,0 @@ -Method Move-Element [Tinaa]

Function Move-Element

( move-element < m > < i1 > < j1 > < n > < i2 > < j2 > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-mref.html b/external/clem/doc/tinaa/clem/method-mref.html deleted file mode 100644 index 38a2e31..0000000 --- a/external/clem/doc/tinaa/clem/method-mref.html +++ /dev/null @@ -1 +0,0 @@ -Method Mref [Tinaa]

Function Mref

( mref < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-norm--0--1.html b/external/clem/doc/tinaa/clem/method-norm--0--1.html deleted file mode 100644 index 4176d13..0000000 --- a/external/clem/doc/tinaa/clem/method-norm--0--1.html +++ /dev/null @@ -1 +0,0 @@ -Method Norm-0-1 [Tinaa]

Function Norm-0-1

( norm-0-1 < u > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-norm--0--255.html b/external/clem/doc/tinaa/clem/method-norm--0--255.html deleted file mode 100644 index 53213f0..0000000 --- a/external/clem/doc/tinaa/clem/method-norm--0--255.html +++ /dev/null @@ -1 +0,0 @@ -Method Norm-0-255 [Tinaa]

Function Norm-0-255

( norm-0-255 < u > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-normalize.html b/external/clem/doc/tinaa/clem/method-normalize.html deleted file mode 100644 index 8346d1c..0000000 --- a/external/clem/doc/tinaa/clem/method-normalize.html +++ /dev/null @@ -1 +0,0 @@ -Method Normalize [Tinaa]

Function Normalize

( normalize < u > &key (normin) (normax) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-pad--matrix.html b/external/clem/doc/tinaa/clem/method-pad--matrix.html deleted file mode 100644 index 0182e44..0000000 --- a/external/clem/doc/tinaa/clem/method-pad--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Pad-Matrix [Tinaa]

Function Pad-Matrix

( pad-matrix < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-parameters--list.html b/external/clem/doc/tinaa/clem/method-parameters--list.html deleted file mode 100644 index 7f10b8a..0000000 --- a/external/clem/doc/tinaa/clem/method-parameters--list.html +++ /dev/null @@ -1 +0,0 @@ -Method Parameters-List [Tinaa]

Function Parameters-List

( parameters-list < xfrm > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-print--matrix.html b/external/clem/doc/tinaa/clem/method-print--matrix.html deleted file mode 100644 index a159da8..0000000 --- a/external/clem/doc/tinaa/clem/method-print--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Print-Matrix [Tinaa]

Function Print-Matrix

( print-matrix < cv > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-print--range.html b/external/clem/doc/tinaa/clem/method-print--range.html deleted file mode 100644 index b084fda..0000000 --- a/external/clem/doc/tinaa/clem/method-print--range.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Print-Range [Tinaa]

Function Print-Range

( print-range < m > < startr > < endr > < startc > < endc > &optional (stream - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-reshape.html b/external/clem/doc/tinaa/clem/method-reshape.html deleted file mode 100644 index 6e98a7e..0000000 --- a/external/clem/doc/tinaa/clem/method-reshape.html +++ /dev/null @@ -1 +0,0 @@ -Method Reshape [Tinaa]

Function Reshape

( reshape < m > < rows > < cols > &key < initial-element > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-rows.html b/external/clem/doc/tinaa/clem/method-rows.html deleted file mode 100644 index c9896d8..0000000 --- a/external/clem/doc/tinaa/clem/method-rows.html +++ /dev/null @@ -1 +0,0 @@ -Method Rows [Tinaa]

Function Rows

( rows < cv > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-rvref.html b/external/clem/doc/tinaa/clem/method-rvref.html deleted file mode 100644 index 0b91bd9..0000000 --- a/external/clem/doc/tinaa/clem/method-rvref.html +++ /dev/null @@ -1 +0,0 @@ -Method Rvref [Tinaa]

Function Rvref

( rvref < rv > < i > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sample--variance--range.html b/external/clem/doc/tinaa/clem/method-sample--variance--range.html deleted file mode 100644 index b54a7ff..0000000 --- a/external/clem/doc/tinaa/clem/method-sample--variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Sample-Variance-Range [Tinaa]

Function Sample-Variance-Range

( sample-variance-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sample--variance.html b/external/clem/doc/tinaa/clem/method-sample--variance.html deleted file mode 100644 index 8f14c00..0000000 --- a/external/clem/doc/tinaa/clem/method-sample--variance.html +++ /dev/null @@ -1 +0,0 @@ -Method Sample-Variance [Tinaa]

Function Sample-Variance

( sample-variance < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--divide--col.html b/external/clem/doc/tinaa/clem/method-scalar--divide--col.html deleted file mode 100644 index 15348e2..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide-Col [Tinaa]

Function Scalar-Divide-Col

( scalar-divide-col < a > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--divide--copy.html b/external/clem/doc/tinaa/clem/method-scalar--divide--copy.html deleted file mode 100644 index 369de2c..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--divide--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide-Copy [Tinaa]

Function Scalar-Divide-Copy

( scalar-divide-copy < a > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--divide--row.html b/external/clem/doc/tinaa/clem/method-scalar--divide--row.html deleted file mode 100644 index 10289ad..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide-Row [Tinaa]

Function Scalar-Divide-Row

( scalar-divide-row < m > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--divide.html b/external/clem/doc/tinaa/clem/method-scalar--divide.html deleted file mode 100644 index 442476a..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--divide.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Divide [Tinaa]

Function Scalar-Divide

( scalar-divide < a > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--double--float--divide--col.html b/external/clem/doc/tinaa/clem/method-scalar--double--float--divide--col.html deleted file mode 100644 index 484e84f..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--double--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Double-Float-Divide-Col [Tinaa]

Function Scalar-Double-Float-Divide-Col

( scalar-double-float-divide-col < a > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--double--float--divide--row.html b/external/clem/doc/tinaa/clem/method-scalar--double--float--divide--row.html deleted file mode 100644 index 662ad3c..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--double--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Double-Float-Divide-Row [Tinaa]

Function Scalar-Double-Float-Divide-Row

( scalar-double-float-divide-row < a > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--mult--col.html b/external/clem/doc/tinaa/clem/method-scalar--mult--col.html deleted file mode 100644 index 158ed27..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--mult--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult-Col [Tinaa]

Function Scalar-Mult-Col

( scalar-mult-col < a > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--mult--copy.html b/external/clem/doc/tinaa/clem/method-scalar--mult--copy.html deleted file mode 100644 index 661a958..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--mult--copy.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult-Copy [Tinaa]

Function Scalar-Mult-Copy

( scalar-mult-copy < a > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--mult--row.html b/external/clem/doc/tinaa/clem/method-scalar--mult--row.html deleted file mode 100644 index c9e11f1..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--mult--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult-Row [Tinaa]

Function Scalar-Mult-Row

( scalar-mult-row < m > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--mult.html b/external/clem/doc/tinaa/clem/method-scalar--mult.html deleted file mode 100644 index 39647dc..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--mult.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Mult [Tinaa]

Function Scalar-Mult

( scalar-mult < m > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--set--val.html b/external/clem/doc/tinaa/clem/method-scalar--set--val.html deleted file mode 100644 index 7f489a5..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Set-Val [Tinaa]

Function Scalar-Set-Val

( scalar-set-val < s > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--single--float--divide--col.html b/external/clem/doc/tinaa/clem/method-scalar--single--float--divide--col.html deleted file mode 100644 index b2c426f..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--single--float--divide--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Single-Float-Divide-Col [Tinaa]

Function Scalar-Single-Float-Divide-Col

( scalar-single-float-divide-col < a > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--single--float--divide--row.html b/external/clem/doc/tinaa/clem/method-scalar--single--float--divide--row.html deleted file mode 100644 index 24f5ac9..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--single--float--divide--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Single-Float-Divide-Row [Tinaa]

Function Scalar-Single-Float-Divide-Row

( scalar-single-float-divide-row < a > < k > < q > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-scalar--val.html b/external/clem/doc/tinaa/clem/method-scalar--val.html deleted file mode 100644 index 3267203..0000000 --- a/external/clem/doc/tinaa/clem/method-scalar--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Scalar-Val [Tinaa]

Function Scalar-Val

( scalar-val < s > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-separable--discrete--convolve.html b/external/clem/doc/tinaa/clem/method-separable--discrete--convolve.html deleted file mode 100644 index 053bdce..0000000 --- a/external/clem/doc/tinaa/clem/method-separable--discrete--convolve.html +++ /dev/null @@ -1,5 +0,0 @@ -Method Separable-Discrete-Convolve [Tinaa]

Function Separable-Discrete-Convolve

( separable-discrete-convolve < m > < h1 > < h2 > &key (matrix-class - (class-of - m)) (norm-v - nil) (truncate - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-set--col.html b/external/clem/doc/tinaa/clem/method-set--col.html deleted file mode 100644 index f33b10f..0000000 --- a/external/clem/doc/tinaa/clem/method-set--col.html +++ /dev/null @@ -1 +0,0 @@ -Method Set-Col [Tinaa]

Function Set-Col

( set-col < m > < c > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-set--row.html b/external/clem/doc/tinaa/clem/method-set--row.html deleted file mode 100644 index 91b6796..0000000 --- a/external/clem/doc/tinaa/clem/method-set--row.html +++ /dev/null @@ -1 +0,0 @@ -Method Set-Row [Tinaa]

Function Set-Row

( set-row < m > < r > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-set--val--fit.html b/external/clem/doc/tinaa/clem/method-set--val--fit.html deleted file mode 100644 index 2c7970b..0000000 --- a/external/clem/doc/tinaa/clem/method-set--val--fit.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Set-Val-Fit [Tinaa]

Function Set-Val-Fit

( set-val-fit < m > < i > < j > < v > &key (truncate - nil) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-set--val.html b/external/clem/doc/tinaa/clem/method-set--val.html deleted file mode 100644 index 8de6e49..0000000 --- a/external/clem/doc/tinaa/clem/method-set--val.html +++ /dev/null @@ -1,2 +0,0 @@ -Method Set-Val [Tinaa]

Function Set-Val

( set-val < cv > < i > < j > < v > &key (coerce - t) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-setfmref.html b/external/clem/doc/tinaa/clem/method-setfmref.html deleted file mode 100644 index 6ce60ab..0000000 --- a/external/clem/doc/tinaa/clem/method-setfmref.html +++ /dev/null @@ -1 +0,0 @@ -Method (Setf Mref) [Tinaa]

Function Setfmref

( setfmref < v > < m > < row > < col > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-slot--names.html b/external/clem/doc/tinaa/clem/method-slot--names.html deleted file mode 100644 index 1c19c8f..0000000 --- a/external/clem/doc/tinaa/clem/method-slot--names.html +++ /dev/null @@ -1 +0,0 @@ -Method Slot-Names [Tinaa]

Function Slot-Names

( slot-names < class > )
Returns a list of the names of the slots of a class (including
both direct and inherited slots). It's like class-slot-names but on the
class, not an instance of the class.
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-specialized--array--p.html b/external/clem/doc/tinaa/clem/method-specialized--array--p.html deleted file mode 100644 index b750da3..0000000 --- a/external/clem/doc/tinaa/clem/method-specialized--array--p.html +++ /dev/null @@ -1 +0,0 @@ -Method Specialized-Array-P [Tinaa]

Function Specialized-Array-P

( specialized-array-p < typed-matrix > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-subset--matrix--cols.html b/external/clem/doc/tinaa/clem/method-subset--matrix--cols.html deleted file mode 100644 index 0850770..0000000 --- a/external/clem/doc/tinaa/clem/method-subset--matrix--cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Subset-Matrix-Cols [Tinaa]

Function Subset-Matrix-Cols

( subset-matrix-cols < a > < x > < y > &key (matrix-type) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-subset--matrix.html b/external/clem/doc/tinaa/clem/method-subset--matrix.html deleted file mode 100644 index 720d5e1..0000000 --- a/external/clem/doc/tinaa/clem/method-subset--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Subset-Matrix [Tinaa]

Function Subset-Matrix

( subset-matrix < u > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sum--cols.html b/external/clem/doc/tinaa/clem/method-sum--cols.html deleted file mode 100644 index 1d230af..0000000 --- a/external/clem/doc/tinaa/clem/method-sum--cols.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Sum-Cols [Tinaa]

Function Sum-Cols

( sum-cols < m > &key (matrix-class - (class-of - m)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sum--range.html b/external/clem/doc/tinaa/clem/method-sum--range.html deleted file mode 100644 index ab2a95d..0000000 --- a/external/clem/doc/tinaa/clem/method-sum--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum-Range [Tinaa]

Function Sum-Range

( sum-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sum--rows.html b/external/clem/doc/tinaa/clem/method-sum--rows.html deleted file mode 100644 index d93cdd7..0000000 --- a/external/clem/doc/tinaa/clem/method-sum--rows.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Sum-Rows [Tinaa]

Function Sum-Rows

( sum-rows < m > &key (matrix-class - (class-of - m)) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sum--square--range.html b/external/clem/doc/tinaa/clem/method-sum--square--range.html deleted file mode 100644 index e7249f8..0000000 --- a/external/clem/doc/tinaa/clem/method-sum--square--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum-Square-Range [Tinaa]

Function Sum-Square-Range

( sum-square-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sum--square.html b/external/clem/doc/tinaa/clem/method-sum--square.html deleted file mode 100644 index c78a312..0000000 --- a/external/clem/doc/tinaa/clem/method-sum--square.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum-Square [Tinaa]

Function Sum-Square

( sum-square < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-sum.html b/external/clem/doc/tinaa/clem/method-sum.html deleted file mode 100644 index c0c0db4..0000000 --- a/external/clem/doc/tinaa/clem/method-sum.html +++ /dev/null @@ -1 +0,0 @@ -Method Sum [Tinaa]

Function Sum

( sum < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-swap--cols.html b/external/clem/doc/tinaa/clem/method-swap--cols.html deleted file mode 100644 index ddbc065..0000000 --- a/external/clem/doc/tinaa/clem/method-swap--cols.html +++ /dev/null @@ -1 +0,0 @@ -Method Swap-Cols [Tinaa]

Function Swap-Cols

( swap-cols < a > < k > < l > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-swap--rows.html b/external/clem/doc/tinaa/clem/method-swap--rows.html deleted file mode 100644 index d7fbcda..0000000 --- a/external/clem/doc/tinaa/clem/method-swap--rows.html +++ /dev/null @@ -1 +0,0 @@ -Method Swap-Rows [Tinaa]

Function Swap-Rows

( swap-rows < a > < k > < l > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-threshold.html b/external/clem/doc/tinaa/clem/method-threshold.html deleted file mode 100644 index 3b11639..0000000 --- a/external/clem/doc/tinaa/clem/method-threshold.html +++ /dev/null @@ -1,3 +0,0 @@ -Method Threshold [Tinaa]

Function Threshold

( threshold < u > < tval > &key (minval - 0) (maxval - 255) ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-transpose--matrix.html b/external/clem/doc/tinaa/clem/method-transpose--matrix.html deleted file mode 100644 index 07fb9af..0000000 --- a/external/clem/doc/tinaa/clem/method-transpose--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Transpose-Matrix [Tinaa]

Function Transpose-Matrix

( transpose-matrix < a > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-transpose.html b/external/clem/doc/tinaa/clem/method-transpose.html deleted file mode 100644 index 17fb10e..0000000 --- a/external/clem/doc/tinaa/clem/method-transpose.html +++ /dev/null @@ -1 +0,0 @@ -Method Transpose [Tinaa]

Function Transpose

( transpose < cv > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-update--affine--transformation--matrix.html b/external/clem/doc/tinaa/clem/method-update--affine--transformation--matrix.html deleted file mode 100644 index 868c7f2..0000000 --- a/external/clem/doc/tinaa/clem/method-update--affine--transformation--matrix.html +++ /dev/null @@ -1 +0,0 @@ -Method Update-Affine-Transformation-Matrix [Tinaa]

Function Update-Affine-Transformation-Matrix

( update-affine-transformation-matrix < xfrm > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-val--format.html b/external/clem/doc/tinaa/clem/method-val--format.html deleted file mode 100644 index bb0c60c..0000000 --- a/external/clem/doc/tinaa/clem/method-val--format.html +++ /dev/null @@ -1 +0,0 @@ -Method Val-Format [Tinaa]

Function Val-Format

( val-format < smc > )
the format string used to print out
element values of instances of this matrix class
\ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-val.html b/external/clem/doc/tinaa/clem/method-val.html deleted file mode 100644 index f50904d..0000000 --- a/external/clem/doc/tinaa/clem/method-val.html +++ /dev/null @@ -1 +0,0 @@ -Method Val [Tinaa]

Function Val

( val < cv > < i > < j > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-variance--range.html b/external/clem/doc/tinaa/clem/method-variance--range.html deleted file mode 100644 index 2814471..0000000 --- a/external/clem/doc/tinaa/clem/method-variance--range.html +++ /dev/null @@ -1 +0,0 @@ -Method Variance-Range [Tinaa]

Function Variance-Range

( variance-range < m > < startr > < endr > < startc > < endc > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-variance.html b/external/clem/doc/tinaa/clem/method-variance.html deleted file mode 100644 index a377ea2..0000000 --- a/external/clem/doc/tinaa/clem/method-variance.html +++ /dev/null @@ -1 +0,0 @@ -Method Variance [Tinaa]

Function Variance

( variance < m > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-vec--dim.html b/external/clem/doc/tinaa/clem/method-vec--dim.html deleted file mode 100644 index 274191b..0000000 --- a/external/clem/doc/tinaa/clem/method-vec--dim.html +++ /dev/null @@ -1 +0,0 @@ -Method Vec-Dim [Tinaa]

Function Vec-Dim

( vec-dim < cv > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-vec--set--val.html b/external/clem/doc/tinaa/clem/method-vec--set--val.html deleted file mode 100644 index d65d44a..0000000 --- a/external/clem/doc/tinaa/clem/method-vec--set--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Vec-Set-Val [Tinaa]

Function Vec-Set-Val

( vec-set-val < cv > < i > < v > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-vec--val.html b/external/clem/doc/tinaa/clem/method-vec--val.html deleted file mode 100644 index 8d349ef..0000000 --- a/external/clem/doc/tinaa/clem/method-vec--val.html +++ /dev/null @@ -1 +0,0 @@ -Method Vec-Val [Tinaa]

Function Vec-Val

( vec-val < cv > < i > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/clem/method-vertcat.html b/external/clem/doc/tinaa/clem/method-vertcat.html deleted file mode 100644 index a7d4284..0000000 --- a/external/clem/doc/tinaa/clem/method-vertcat.html +++ /dev/null @@ -1 +0,0 @@ -Method Vertcat [Tinaa]

Function Vertcat

( vertcat < m1 > &rest < mr > ) \ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-class.html b/external/clem/doc/tinaa/index-of-class.html deleted file mode 100644 index 83efd4b..0000000 --- a/external/clem/doc/tinaa/index-of-class.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Class

Class Index

E
G
H
J
K
L
O
P
Q
V
W
X
Y
Z
\ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-condition.html b/external/clem/doc/tinaa/index-of-condition.html deleted file mode 100644 index 7e5e9ff..0000000 --- a/external/clem/doc/tinaa/index-of-condition.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Condition

Condition Index

A
B
C
D
E
F
G
H
I
J
K
L
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
\ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-function.html b/external/clem/doc/tinaa/index-of-function.html deleted file mode 100644 index f1d7fe0..0000000 --- a/external/clem/doc/tinaa/index-of-function.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Function

Function Index

\ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-macro.html b/external/clem/doc/tinaa/index-of-macro.html deleted file mode 100644 index f1444db..0000000 --- a/external/clem/doc/tinaa/index-of-macro.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Macro

Macro Index

A
C
E
G
H
I
J
K
L
N
O
P
R
S
T
U
V
X
Y
Z
\ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-permuted-symbols.html b/external/clem/doc/tinaa/index-of-permuted-symbols.html deleted file mode 100644 index 26c03e5..0000000 --- a/external/clem/doc/tinaa/index-of-permuted-symbols.html +++ /dev/null @@ -1 +0,0 @@ -Permuted Index of clem

Permuted Index of clem

                                               %%sum-range (macro)
                                               %%sum-range (function)
                                               %discrete-convolve (generic function)
                                               %get-subtr-matrix-class (generic function)
                                               %mat-mult-block (generic function)
                                               %mat-mult-with-blocks (generic function)
                                               %separable-discrete-convolve (generic function)
                                               %transform-matrix (generic function)
                                               *matrix-print* (variable)
                                               *matrix-print-col-limit* (variable)
                                               *matrix-print-row-limit* (variable)
                                               *max-block-size* (variable)
                                               *print-matrix-float-format* (variable)
                                               *print-matrix-newlines* (variable)
                                               *typed-matrix-names-hash* (variable)
                                               *typed-matrix-types* (variable)
                                               *typed-matrix-types-hash* (variable)
                                               *x-derivative-conv-matrix* (variable)
                                               *y-derivative-conv-matrix* (variable)
                                               +epsilon+ (constant)
                                          norm-0-1 (generic function)
                                          norm-0-255 (generic function)
                                        norm-0-1 (generic function)
                               gaussian-kernel-1d (function)
                                   displace-to-1d-array (function)
                                        norm-0-255 (generic function)
                                      mat-mult-3-block (generic function)
                                         array->bit-matrix (generic function)
                                         array->col-vector (generic function)
                                         array->complex-matrix (generic function)
                                         array->double-float-matrix (generic function)
                                         array->fixnum-matrix (generic function)
                                         array->float-matrix (generic function)
                                         array->integer-matrix (generic function)
                                         array->matrix (generic function)
                                         array->number-matrix (generic function)
                                         array->real-matrix (generic function)
                                         array->row-vector (generic function)
                                         array->sb16-matrix (generic function)
                                         array->sb32-matrix (generic function)
                                         array->sb8-matrix (generic function)
                                         array->single-float-matrix (generic function)
                                         array->t-matrix (generic function)
                                         array->ub16-matrix (generic function)
                                         array->ub32-matrix (generic function)
                                         array->ub8-matrix (generic function)
                                    def-matrix-abs (macro)
                                    def-matrix-abs (function)
                                           mat-abs (generic function)
                                    def-matrix-abs! (macro)
                                    def-matrix-abs! (function)
                                           mat-abs! (generic function)
                                           mat-abs-range (generic function)
                                           mat-abs-range! (generic function)
                                               accumulator-type (generic function)
                                               accumulator-type (slot)
                                    def-matrix-add (macro)
                                    def-matrix-add (function)
                                           mat-add (generic function)
                                    def-matrix-add! (macro)
                                    def-matrix-add! (function)
                                           mat-add! (generic function)
                                           mat-add!-inline (function)
                                               add-col (generic function)
                                           mat-add-inline (function)
                                    def-matrix-add-number (macro)
                                    def-matrix-add-number (function)
                                    def-matrix-add-number! (macro)
                                    def-matrix-add-number! (function)
                                           mat-add-range (generic function)
                                           mat-add-range! (generic function)
                                               add-root-class (function)
                                               add-row (generic function)
                                    def-matrix-add-scalar (macro)
                                    def-matrix-add-scalar (function)
                                    def-matrix-add-scalar! (macro)
                                    def-matrix-add-scalar! (function)
                                               adjustable (slot)
                                               affine-transform (generic function)
                                               affine-transformation (class)
                                          copy-affine-transformation (generic function)
                                          decf-affine-transformation (generic function)
                                          make-affine-transformation (function)
                                          move-affine-transformation (generic function)
                                        update-affine-transformation-matrix (generic function)
                                               allocate-matrix-vals (generic function)
                                fill-slot-from-ancestor (function)
         fill-standard-matrix-class-slots-from-ancestors (function)
                                remove-keyword-arg (function)
                                displace-to-1d-array (function)
                                               array->bit-matrix (generic function)
                                               array->col-vector (generic function)
                                               array->complex-matrix (generic function)
                                               array->double-float-matrix (generic function)
                                               array->fixnum-matrix (generic function)
                                               array->float-matrix (generic function)
                                               array->integer-matrix (generic function)
                                               array->matrix (generic function)
                                               array->number-matrix (generic function)
                                               array->real-matrix (generic function)
                                               array->row-vector (generic function)
                                               array->sb16-matrix (generic function)
                                               array->sb32-matrix (generic function)
                                               array->sb8-matrix (generic function)
                                               array->single-float-matrix (generic function)
                                               array->t-matrix (generic function)
                                               array->ub16-matrix (generic function)
                                               array->ub32-matrix (generic function)
                                               array->ub8-matrix (generic function)
                                   specialized-array-p (generic function)
                                       get-row-as-col-vector (generic function)
                                               base-vector (class)
                                        insert-before (function)
                                               bilinear-interpolate (macro)
                                               bilinear-interpolate (function)
                                           def-binary-op (macro)
                                           def-binary-op (function)
                                           def-binary-op! (macro)
                                           def-binary-op! (function)
                                               bit-matrix (class)
                                       copy-to-bit-matrix (generic function)
                                        random-bit-matrix (generic function)
                                               bit-matrix-mref (function)
                                               bit-scalar (class)
                                     %mat-mult-block (generic function)
                               def-matrix-mult-block (macro)
                               def-matrix-mult-block (function)
                                    mat-mult-3-block (generic function)
                                          *max-block-size* (variable)
                                %mat-mult-with-blocks (generic function)
                                      gaussian-blur (function)
                                       compute-bounds (function)
                             %get-subtr-matrix-class (generic function)
                                      add-root-class (function)
                         closest-common-matrix-class (generic function)
                               standard-matrix-class (class)
                               standard-matrix-class-p (function)
                               standard-matrix-class-precedence-list (function)
                               standard-matrix-class-slots (function)
                          fill-standard-matrix-class-slots-from-ancestors (function)
                                               closest-common-matrix-class (generic function)
                                         maybe-coerce (macro)
                                         maybe-coerce (function)
                                           add-col (generic function)
                     get-first-non-zero-row-in-col (generic function)
                                           map-col (generic function)
                                 scalar-divide-col (generic function)
                    scalar-double-float-divide-col (generic function)
                                   scalar-mult-col (generic function)
                    scalar-single-float-divide-col (generic function)
                                           set-col (generic function)
                                 *matrix-print-col-limit* (variable)
                                           get-col-list (generic function)
                                               col-vector (class)
                                           get-col-vector (generic function)
                                    get-row-as-col-vector (generic function)
                                          zero-col-vector (generic function)
                                               cols (generic function)
                                               cols (slot)
                                 concat-matrix-cols (generic function)
                                 subset-matrix-cols (generic function)
                                           sum-cols (generic function)
                                          swap-cols (generic function)
                                       closest-common-matrix-class (generic function)
                                               complex-matrix (class)
                                       copy-to-complex-matrix (generic function)
                                        random-complex-matrix (generic function)
                                               complex-matrix-mref (function)
                                               compute-bounds (function)
                                               concat-matrix-cols (generic function)
                                        matrix-condition (condition)
                                               constrain (function)
                             matrix-move-range-constrain (generic function)
                                 *x-derivative-conv-matrix* (variable)
                                 *y-derivative-conv-matrix* (variable)
                                     %discrete-convolve (generic function)
                           %separable-discrete-convolve (generic function)
                                    def-matrix-convolve (macro)
                                    def-matrix-convolve (function)
                                      discrete-convolve (generic function)
                            separable-discrete-convolve (generic function)
                                     transform-coord (function)
                                    map-matrix-copy (generic function)
                                   map-set-val-copy (generic function)
                                           mat-copy (generic function)
                                 scalar-divide-copy (generic function)
                                   scalar-mult-copy (generic function)
                                               copy-affine-transformation (generic function)
                                           mat-copy-into (generic function)
                                           mat-copy-proto (generic function)
                                           mat-copy-proto-dim (generic function)
                                               copy-to-bit-matrix (generic function)
                                               copy-to-complex-matrix (generic function)
                                               copy-to-double-float-matrix (generic function)
                                               copy-to-fixnum-matrix (generic function)
                                               copy-to-matrix-type (function)
                                               copy-to-sb16-matrix (generic function)
                                               copy-to-sb32-matrix (generic function)
                                               copy-to-sb8-matrix (generic function)
                                               copy-to-single-float-matrix (generic function)
                                               copy-to-ub16-matrix (generic function)
                                               copy-to-ub32-matrix (generic function)
                                               copy-to-ub8-matrix (generic function)
                                               count-range (function)
                                               cvref (generic function)
                                               decf-affine-transformation (generic function)
                                               def-binary-op (macro)
                                               def-binary-op (function)
                                               def-binary-op! (macro)
                                               def-binary-op! (function)
                                               def-matrix-abs (macro)
                                               def-matrix-abs (function)
                                               def-matrix-abs! (macro)
                                               def-matrix-abs! (function)
                                               def-matrix-add (macro)
                                               def-matrix-add (function)
                                               def-matrix-add! (macro)
                                               def-matrix-add! (function)
                                               def-matrix-add-number (macro)
                                               def-matrix-add-number (function)
                                               def-matrix-add-number! (macro)
                                               def-matrix-add-number! (function)
                                               def-matrix-add-scalar (macro)
                                               def-matrix-add-scalar (function)
                                               def-matrix-add-scalar! (macro)
                                               def-matrix-add-scalar! (function)
                                               def-matrix-convolve (macro)
                                               def-matrix-convolve (function)
                                               def-matrix-hprod (macro)
                                               def-matrix-hprod (function)
                                               def-matrix-hprod! (macro)
                                               def-matrix-hprod! (function)
                                               def-matrix-log (macro)
                                               def-matrix-log (function)
                                               def-matrix-log! (macro)
                                               def-matrix-log! (function)
                                               def-matrix-min-max (macro)
                                               def-matrix-min-max (function)
                                               def-matrix-move (macro)
                                               def-matrix-move (function)
                                               def-matrix-mref (macro)
                                               def-matrix-mref (function)
                                               def-matrix-mult (macro)
                                               def-matrix-mult (function)
                                               def-matrix-mult-block (macro)
                                               def-matrix-mult-block (function)
                                               def-matrix-scale (macro)
                                               def-matrix-scale (function)
                                               def-matrix-scale! (macro)
                                               def-matrix-scale! (function)
                                               def-matrix-square (macro)
                                               def-matrix-square (function)
                                               def-matrix-subset-matrix (macro)
                                               def-matrix-subset-matrix (function)
                                               def-matrix-subtr (macro)
                                               def-matrix-subtr (function)
                                               def-matrix-subtr! (macro)
                                               def-matrix-subtr! (function)
                                               def-matrix-transform (macro)
                                               def-matrix-transform (function)
                                               def-move-element (macro)
                                               def-move-element (function)
                                               def-unary-op (macro)
                                               def-unary-op (function)
                                               def-unary-op! (macro)
                                               def-unary-op! (function)
                                               defmatrixfuncs (macro)
                                               defmatrixfuncs (function)
                                               defmatrixtype (macro)
                                               defmatrixtype (function)
                                               delistify (function)
                                               delistify-dsd (function)
                                             x-derivative (function)
                                             y-derivative (function)
                                            *x-derivative-conv-matrix* (variable)
                                            *y-derivative-conv-matrix* (variable)
                                               dilate (generic function)
                                               dilate-orig (generic function)
                                               dim (generic function)
                                mat-copy-proto-dim (generic function)
                                           vec-dim (generic function)
                                    %separable-discrete-convolve (generic function)
                                               discrete-convolve (generic function)
                                     separable-discrete-convolve (generic function)
                                               displace-to-1d-array (function)
                                  double-float-divide (function)
                                        scalar-divide (generic function)
                                        scalar-divide-col (generic function)
                           scalar-double-float-divide-col (generic function)
                           scalar-single-float-divide-col (generic function)
                                        scalar-divide-copy (generic function)
                                        scalar-divide-row (generic function)
                           scalar-double-float-divide-row (generic function)
                           scalar-single-float-divide-row (generic function)
                             with-matrix-range-do (macro)
                             with-matrix-range-do (function)
                                               double-float-divide (function)
                                        scalar-double-float-divide-col (generic function)
                                        scalar-double-float-divide-row (generic function)
                                       copy-to-double-float-matrix (generic function)
                                               double-float-matrix (class)
                                        random-double-float-matrix (generic function)
                                               double-float-matrix-mref (function)
                                     delistify-dsd (function)
                                      def-move-element (macro)
                                      def-move-element (function)
                                       initial-element (slot)
                                          move-element (generic function)
                                               element-type (generic function)
                                               element-type (slot)
                                               erode (generic function)
                                               erode-orig (generic function)
                                        matrix-error (condition)
                                               fill-slot-from-ancestor (function)
                                               fill-standard-matrix-class-slots-from-ancestors (function)
                                           get-first-non-zero-row-in-col (generic function)
                                               fit (generic function)
                                    map-matrix-fit (generic function)
                                   map-set-val-fit (generic function)
                                       set-val-fit (generic function)
                                               fit-value (generic function)
                                       copy-to-fixnum-matrix (generic function)
                                               fixnum-matrix (class)
                                        random-fixnum-matrix (generic function)
                                               fixnum-matrix-mref (function)
                                               fixnum1+ (macro)
                                               fixnum1+ (function)
                                        double-float-divide (function)
                                 scalar-double-float-divide-col (generic function)
                                 scalar-single-float-divide-col (generic function)
                                 scalar-double-float-divide-row (generic function)
                                 scalar-single-float-divide-row (generic function)
                                 *print-matrix-float-format* (variable)
                                 array->double-float-matrix (generic function)
                                 array->single-float-matrix (generic function)
                                copy-to-double-float-matrix (generic function)
                                copy-to-single-float-matrix (generic function)
                                        double-float-matrix (class)
                                               float-matrix (class)
                                 random-double-float-matrix (generic function)
                                        random-float-matrix (generic function)
                                 random-single-float-matrix (generic function)
                                        single-float-matrix (class)
                                        double-float-matrix-mref (function)
                                        single-float-matrix-mref (function)
                               get-matrix-name-for-type (function)
                               get-matrix-type-for-type (function)
                                           val-format (generic function)
                                           val-format (slot)
                           *print-matrix-float-format* (variable)
                                     fill-slot-from-ancestor (function)
              fill-standard-matrix-class-slots-from-ancestors (function)
                                               gaussian-blur (function)
                                               gaussian-kernel (function)
                                               gaussian-kernel-1d (function)
                                               get-col-list (generic function)
                                               get-col-vector (generic function)
                                               get-first-non-zero-row-in-col (generic function)
                                               get-matrix-name-for-type (function)
                                               get-matrix-type-for-type (function)
                                               get-row-as-col-vector (generic function)
                                               get-row-list (generic function)
                                               get-row-vector (generic function)
                                               gradmag (function)
                           *typed-matrix-names-hash* (variable)
                           *typed-matrix-types-hash* (variable)
                                               horzcat (generic function)
                                    def-matrix-hprod (macro)
                                    def-matrix-hprod (function)
                                           mat-hprod (generic function)
                                    def-matrix-hprod! (macro)
                                    def-matrix-hprod! (function)
                                           mat-hprod! (generic function)
                                           mat-hprod-range (generic function)
                                           mat-hprod-range! (generic function)
                                               identity-matrix (generic function)
                                          list-if (function)
                        get-first-non-zero-row-in-col (generic function)
                                               inferior (function)
                                               initial-element (slot)
                                      mat-add!-inline (function)
                                       mat-add-inline (function)
                                               insert-before (function)
                                               integer-matrix (class)
                                        random-integer-matrix (generic function)
                                               integer-matrix-mref (function)
                                      bilinear-interpolate (macro)
                                      bilinear-interpolate (function)
                                     quadratic-interpolate (macro)
                                     quadratic-interpolate (function)
                                      mat-copy-into (generic function)
                                               invert-matrix (generic function)
                                      gaussian-kernel (function)
                                     quadratic-kernel (macro)
                                     quadratic-kernel (function)
                                      gaussian-kernel-1d (function)
                                        remove-keyword-arg (function)
                             *matrix-print-col-limit* (variable)
                             *matrix-print-row-limit* (variable)
                                  print-matrix-line (function)
                                       get-col-list (generic function)
                                       get-row-list (generic function)
                             matrix-precedence-list (generic function)
                                    parameters-list (generic function)
              standard-matrix-class-precedence-list (function)
                                               list-if (function)
                                    def-matrix-log (macro)
                                    def-matrix-log (function)
                                           mat-log (generic function)
                                    def-matrix-log! (macro)
                                    def-matrix-log! (function)
                                           mat-log! (generic function)
                                           mat-log-range (generic function)
                                           mat-log-range! (generic function)
                                               m* (generic function)
                                               m+ (generic function)
                                               m- (generic function)
                                               m.* (generic function)
                                               make-affine-transformation (function)
                                               map-col (generic function)
                                               map-matrix-copy (generic function)
                                               map-matrix-fit (generic function)
                                               map-range (generic function)
                                          with-map-range (macro)
                                          with-map-range (function)
                                               map-row (generic function)
                                               map-set-range (generic function)
                                               map-set-val (generic function)
                                               map-set-val-copy (generic function)
                                               map-set-val-fit (generic function)
                                               mat-abs (generic function)
                                               mat-abs! (generic function)
                                               mat-abs-range (generic function)
                                               mat-abs-range! (generic function)
                                               mat-add (generic function)
                                               mat-add! (generic function)
                                               mat-add!-inline (function)
                                               mat-add-inline (function)
                                               mat-add-range (generic function)
                                               mat-add-range! (generic function)
                                               mat-copy (generic function)
                                               mat-copy-into (generic function)
                                               mat-copy-proto (generic function)
                                               mat-copy-proto-dim (generic function)
                                               mat-hprod (generic function)
                                               mat-hprod! (generic function)
                                               mat-hprod-range (generic function)
                                               mat-hprod-range! (generic function)
                                               mat-log (generic function)
                                               mat-log! (generic function)
                                               mat-log-range (generic function)
                                               mat-log-range! (generic function)
                                               mat-mult (generic function)
                                               mat-mult-3-block (generic function)
                                               mat-mult3 (generic function)
                                               mat-scalar-op (generic function)
                                               mat-scale (generic function)
                                               mat-scale! (generic function)
                                               mat-scale-range (generic function)
                                               mat-scale-range! (generic function)
                                               mat-sqrt (generic function)
                                               mat-sqrt! (generic function)
                                               mat-square (generic function)
                                               mat-square! (generic function)
                                               mat-subtr (generic function)
                                               mat-subtr! (generic function)
                                               mat-subtr!-range (generic function)
                                               mat-subtr-range (generic function)
                                               mat-subtr-range3 (generic function)
                                               mat-trim (generic function)
                                    %transform-matrix (generic function)
                                    array->bit-matrix (generic function)
                                array->complex-matrix (generic function)
                           array->double-float-matrix (generic function)
                                 array->fixnum-matrix (generic function)
                                  array->float-matrix (generic function)
                                array->integer-matrix (generic function)
                                 array->number-matrix (generic function)
                                   array->real-matrix (generic function)
                                   array->sb16-matrix (generic function)
                                   array->sb32-matrix (generic function)
                                    array->sb8-matrix (generic function)
                           array->single-float-matrix (generic function)
                                      array->t-matrix (generic function)
                                   array->ub16-matrix (generic function)
                                   array->ub32-matrix (generic function)
                                    array->ub8-matrix (generic function)
                                           bit-matrix (class)
                                       complex-matrix (class)
                                   copy-to-bit-matrix (generic function)
                               copy-to-complex-matrix (generic function)
                          copy-to-double-float-matrix (generic function)
                                copy-to-fixnum-matrix (generic function)
                                  copy-to-sb16-matrix (generic function)
                                  copy-to-sb32-matrix (generic function)
                                   copy-to-sb8-matrix (generic function)
                          copy-to-single-float-matrix (generic function)
                                  copy-to-ub16-matrix (generic function)
                                  copy-to-ub32-matrix (generic function)
                                   copy-to-ub8-matrix (generic function)
                             def-matrix-subset-matrix (macro)
                             def-matrix-subset-matrix (function)
                                  double-float-matrix (class)
                                        fixnum-matrix (class)
                                         float-matrix (class)
                                      identity-matrix (generic function)
                                       integer-matrix (class)
                                        invert-matrix (generic function)
                                               matrix (class)
                                        number-matrix (class)
                                           pad-matrix (generic function)
                                         print-matrix (generic function)
                                    random-bit-matrix (generic function)
                                random-complex-matrix (generic function)
                           random-double-float-matrix (generic function)
                                 random-fixnum-matrix (generic function)
                                  random-float-matrix (generic function)
                                random-integer-matrix (generic function)
                                        random-matrix (generic function)
                                 random-number-matrix (generic function)
                                   random-real-matrix (generic function)
                                   random-sb16-matrix (generic function)
                                   random-sb32-matrix (generic function)
                                    random-sb8-matrix (generic function)
                           random-single-float-matrix (generic function)
                                      random-t-matrix (generic function)
                                   random-ub16-matrix (generic function)
                                   random-ub32-matrix (generic function)
                                    random-ub8-matrix (generic function)
                                          real-matrix (class)
                                        resize-matrix (function)
                                          sb16-matrix (class)
                                          sb32-matrix (class)
                                           sb8-matrix (class)
                                  single-float-matrix (class)
                                        subset-matrix (generic function)
                                             t-matrix (class)
                                     transform-matrix (generic function)
                                     transpose-matrix (generic function)
                                         typed-matrix (class)
                                          ub16-matrix (class)
                                          ub32-matrix (class)
                                           ub8-matrix (class)
                  update-affine-transformation-matrix (generic function)
                                          zero-matrix (generic function)
                            *x-derivative-conv-matrix* (variable)
                            *y-derivative-conv-matrix* (variable)
                                           def-matrix-abs (macro)
                                           def-matrix-abs (function)
                                           def-matrix-abs! (macro)
                                           def-matrix-abs! (function)
                                           def-matrix-add (macro)
                                           def-matrix-add (function)
                                           def-matrix-add! (macro)
                                           def-matrix-add! (function)
                                           def-matrix-add-number (macro)
                                           def-matrix-add-number (function)
                                           def-matrix-add-number! (macro)
                                           def-matrix-add-number! (function)
                                           def-matrix-add-scalar (macro)
                                           def-matrix-add-scalar (function)
                                           def-matrix-add-scalar! (macro)
                                           def-matrix-add-scalar! (function)
                                    %get-subtr-matrix-class (generic function)
                                closest-common-matrix-class (generic function)
                                      standard-matrix-class (class)
                                      standard-matrix-class-p (function)
                                      standard-matrix-class-precedence-list (function)
                                      standard-matrix-class-slots (function)
                                 fill-standard-matrix-class-slots-from-ancestors (function)
                                        concat-matrix-cols (generic function)
                                        subset-matrix-cols (generic function)
                                               matrix-condition (condition)
                                           def-matrix-convolve (macro)
                                           def-matrix-convolve (function)
                                           map-matrix-copy (generic function)
                                               matrix-error (condition)
                                           map-matrix-fit (generic function)
                                        *print-matrix-float-format* (variable)
                                           def-matrix-hprod (macro)
                                           def-matrix-hprod (function)
                                           def-matrix-hprod! (macro)
                                           def-matrix-hprod! (function)
                                         print-matrix-line (function)
                                           def-matrix-log (macro)
                                           def-matrix-log (function)
                                           def-matrix-log! (macro)
                                           def-matrix-log! (function)
                                           def-matrix-min-max (macro)
                                           def-matrix-min-max (function)
                                           def-matrix-move (macro)
                                           def-matrix-move (function)
                                               matrix-move (generic function)
                                               matrix-move-range (generic function)
                                               matrix-move-range-constrain (generic function)
                                           bit-matrix-mref (function)
                                       complex-matrix-mref (function)
                                           def-matrix-mref (macro)
                                           def-matrix-mref (function)
                                  double-float-matrix-mref (function)
                                        fixnum-matrix-mref (function)
                                       integer-matrix-mref (function)
                                          real-matrix-mref (function)
                                          sb16-matrix-mref (function)
                                          sb32-matrix-mref (function)
                                           sb8-matrix-mref (function)
                                  single-float-matrix-mref (function)
                                          ub16-matrix-mref (function)
                                          ub32-matrix-mref (function)
                                           ub8-matrix-mref (function)
                                           def-matrix-mult (macro)
                                           def-matrix-mult (function)
                                           def-matrix-mult-block (macro)
                                           def-matrix-mult-block (function)
                                           get-matrix-name-for-type (function)
                                        *typed-matrix-names-hash* (variable)
                                        *print-matrix-newlines* (variable)
                                               matrix-precedence-list (generic function)
                                          with-matrix-range-do (macro)
                                          with-matrix-range-do (function)
                                           def-matrix-scale (macro)
                                           def-matrix-scale (function)
                                           def-matrix-scale! (macro)
                                           def-matrix-scale! (function)
                                           def-matrix-square (macro)
                                           def-matrix-square (function)
                                           def-matrix-subset-matrix (macro)
                                           def-matrix-subset-matrix (function)
                                           def-matrix-subtr (macro)
                                           def-matrix-subtr (function)
                                           def-matrix-subtr! (macro)
                                           def-matrix-subtr! (function)
                                           def-matrix-transform (macro)
                                           def-matrix-transform (function)
                                       copy-to-matrix-type (function)
                                           get-matrix-type-for-type (function)
                                        *typed-matrix-types* (variable)
                                        *typed-matrix-types-hash* (variable)
                                      allocate-matrix-vals (generic function)
                                          with-matrix-vals (macro)
                                          with-matrix-vals (function)
                                    with-typed-matrix-vals (macro)
                                    with-typed-matrix-vals (function)
                                  with-untyped-matrix-vals (macro)
                                  with-untyped-matrix-vals (function)
                                def-matrix-min-max (macro)
                                def-matrix-min-max (function)
                                               max-range (generic function)
                                               max-val (generic function)
                                               maxval (generic function)
                                               maxval (slot)
                                               maybe-coerce (macro)
                                               maybe-coerce (function)
                                               maybe-truncate (macro)
                                               maybe-truncate (function)
                                               mean (generic function)
                                               mean-range (generic function)
                                    def-matrix-min-max (macro)
                                    def-matrix-min-max (function)
                                               min-range (generic function)
                                               min-val (generic function)
                                               minval (generic function)
                                               minval (slot)
                                         typed-mixin (class)
                                               mlogand (generic function)
                                               mlogand! (generic function)
                                               mlogand!-range (generic function)
                                               mlogand-range (generic function)
                                               mlogior (generic function)
                                               mlogior! (generic function)
                                               mlogior!-range (generic function)
                                               mlogior-range (generic function)
                                               mlogxor (generic function)
                                               mlogxor! (generic function)
                                               mlogxor!-range (generic function)
                                               mlogxor-range (generic function)
                                               mloop (macro)
                                               mloop (function)
                                               mloop-range (macro)
                                               mloop-range (function)
                                         parse-mloop-vars (function)
                                               mnot (generic function)
                                               mnot! (generic function)
                                               mnot!-range (generic function)
                                               mnot-range (generic function)
                                               morphological-op (generic function)
                                     separable-morphological-op (function)
                                    def-matrix-move (macro)
                                    def-matrix-move (function)
                                        matrix-move (generic function)
                                               move-affine-transformation (generic function)
                                           def-move-element (macro)
                                           def-move-element (function)
                                               move-element (generic function)
                                        matrix-move-range (generic function)
                                        matrix-move-range-constrain (generic function)
                                    bit-matrix-mref (function)
                                complex-matrix-mref (function)
                                    def-matrix-mref (macro)
                                    def-matrix-mref (function)
                           double-float-matrix-mref (function)
                                 fixnum-matrix-mref (function)
                                integer-matrix-mref (function)
                                               mref (generic function)
                                   real-matrix-mref (function)
                                   sb16-matrix-mref (function)
                                   sb32-matrix-mref (function)
                                    sb8-matrix-mref (function)
                           single-float-matrix-mref (function)
                                   ub16-matrix-mref (function)
                                   ub32-matrix-mref (function)
                                    ub8-matrix-mref (function)
                                    def-matrix-mult (macro)
                                    def-matrix-mult (function)
                                           mat-mult (generic function)
                                        scalar-mult (generic function)
                                           mat-mult-3-block (generic function)
                                          %mat-mult-block (generic function)
                                    def-matrix-mult-block (macro)
                                    def-matrix-mult-block (function)
                                        scalar-mult-col (generic function)
                                        scalar-mult-copy (generic function)
                                        scalar-mult-row (generic function)
                                          %mat-mult-with-blocks (generic function)
                                           mat-mult3 (generic function)
                                    get-matrix-name-for-type (function)
                                 *typed-matrix-names-hash* (variable)
                                 *print-matrix-newlines* (variable)
                                     get-first-non-zero-row-in-col (generic function)
                                               norm-0-1 (generic function)
                                               norm-0-255 (generic function)
                                               normalize (generic function)
                                def-matrix-add-number (macro)
                                def-matrix-add-number (function)
                                def-matrix-add-number! (macro)
                                def-matrix-add-number! (function)
                                               number-matrix (class)
                                        random-number-matrix (generic function)
                                    def-binary-op (macro)
                                    def-binary-op (function)
                                     def-unary-op (macro)
                                     def-unary-op (function)
                                    mat-scalar-op (generic function)
                                 morphological-op (generic function)
                       separable-morphological-op (function)
                                    def-binary-op! (macro)
                                    def-binary-op! (function)
                                     def-unary-op! (macro)
                                     def-unary-op! (function)
                                        dilate-orig (generic function)
                                         erode-orig (generic function)
                             specialized-array-p (generic function)
                         standard-matrix-class-p (function)
                                               pad-matrix (generic function)
                                               parameters-list (generic function)
                                               parse-mloop-vars (function)
                                        matrix-precedence-list (generic function)
                         standard-matrix-class-precedence-list (function)
                                       *matrix-print* (variable)
                                       *matrix-print-col-limit* (variable)
                                               print-matrix (generic function)
                                               print-matrix-line (function)
                                               print-range (generic function)
                                       *matrix-print-row-limit* (variable)
                                      mat-copy-proto (generic function)
                                      mat-copy-proto-dim (generic function)
                                               quadratic-interpolate (macro)
                                               quadratic-interpolate (function)
                                               quadratic-kernel (macro)
                                               quadratic-kernel (function)
                                               random-bit-matrix (generic function)
                                               random-complex-matrix (generic function)
                                               random-double-float-matrix (generic function)
                                               random-fixnum-matrix (generic function)
                                               random-float-matrix (generic function)
                                               random-integer-matrix (generic function)
                                               random-matrix (generic function)
                                               random-number-matrix (generic function)
                                               random-real-matrix (generic function)
                                               random-sb16-matrix (generic function)
                                               random-sb32-matrix (generic function)
                                               random-sb8-matrix (generic function)
                                               random-single-float-matrix (generic function)
                                               random-t-matrix (generic function)
                                               random-ub16-matrix (generic function)
                                               random-ub32-matrix (generic function)
                                               random-ub8-matrix (generic function)
                                         %%sum-range (macro)
                                         %%sum-range (function)
                                         count-range (function)
                                           map-range (generic function)
                                       map-set-range (generic function)
                                       mat-abs-range (generic function)
                                       mat-add-range (generic function)
                                     mat-hprod-range (generic function)
                                       mat-log-range (generic function)
                                     mat-scale-range (generic function)
                                    mat-subtr!-range (generic function)
                                     mat-subtr-range (generic function)
                                   matrix-move-range (generic function)
                                           max-range (generic function)
                                          mean-range (generic function)
                                           min-range (generic function)
                                      mlogand!-range (generic function)
                                       mlogand-range (generic function)
                                      mlogior!-range (generic function)
                                       mlogior-range (generic function)
                                      mlogxor!-range (generic function)
                                       mlogxor-range (generic function)
                                         mloop-range (macro)
                                         mloop-range (function)
                                         mnot!-range (generic function)
                                          mnot-range (generic function)
                                         print-range (generic function)
                               sample-variance-range (generic function)
                                           sum-range (generic function)
                                    sum-square-range (generic function)
                                      variance-range (generic function)
                                      with-map-range (macro)
                                      with-map-range (function)
                                       mat-abs-range! (generic function)
                                       mat-add-range! (generic function)
                                     mat-hprod-range! (generic function)
                                       mat-log-range! (generic function)
                                     mat-scale-range! (generic function)
                                   matrix-move-range-constrain (generic function)
                                   with-matrix-range-do (macro)
                                   with-matrix-range-do (function)
                                     mat-subtr-range3 (generic function)
                                        random-real-matrix (generic function)
                                               real-matrix (class)
                                               real-matrix-mref (function)
                                               remove-keyword-arg (function)
                                               reshape (generic function)
                                               resize-matrix (function)
                                           add-root-class (function)
                                           add-row (generic function)
                                           map-row (generic function)
                                 scalar-divide-row (generic function)
                    scalar-double-float-divide-row (generic function)
                                   scalar-mult-row (generic function)
                    scalar-single-float-divide-row (generic function)
                                           set-row (generic function)
                                           get-row-as-col-vector (generic function)
                            get-first-non-zero-row-in-col (generic function)
                                 *matrix-print-row-limit* (variable)
                                           get-row-list (generic function)
                                           get-row-vector (generic function)
                                               row-vector (class)
                                          zero-row-vector (generic function)
                                               rows (generic function)
                                               rows (slot)
                                           sum-rows (generic function)
                                          swap-rows (generic function)
                                               rvref (generic function)
                                               sample-variance (generic function)
                                               sample-variance-range (generic function)
                                               sample-variance-window (function)
                                       copy-to-sb16-matrix (generic function)
                                        random-sb16-matrix (generic function)
                                               sb16-matrix (class)
                                               sb16-matrix-mref (function)
                                       copy-to-sb32-matrix (generic function)
                                        random-sb32-matrix (generic function)
                                               sb32-matrix (class)
                                               sb32-matrix-mref (function)
                                       copy-to-sb8-matrix (generic function)
                                        random-sb8-matrix (generic function)
                                               sb8-matrix (class)
                                               sb8-matrix-mref (function)
                                               sb8-scalar (class)
                                           bit-scalar (class)
                                def-matrix-add-scalar (macro)
                                def-matrix-add-scalar (function)
                                           sb8-scalar (class)
                                               scalar (function)
                                               scalar (class)
                                           ub8-scalar (class)
                                def-matrix-add-scalar! (macro)
                                def-matrix-add-scalar! (function)
                                               scalar-divide (generic function)
                                               scalar-divide-col (generic function)
                                               scalar-divide-copy (generic function)
                                               scalar-divide-row (generic function)
                                               scalar-double-float-divide-col (generic function)
                                               scalar-double-float-divide-row (generic function)
                                               scalar-mult (generic function)
                                               scalar-mult-col (generic function)
                                               scalar-mult-copy (generic function)
                                               scalar-mult-row (generic function)
                                           mat-scalar-op (generic function)
                                               scalar-set-val (generic function)
                                               scalar-single-float-divide-col (generic function)
                                               scalar-single-float-divide-row (generic function)
                                               scalar-val (generic function)
                                    def-matrix-scale (macro)
                                    def-matrix-scale (function)
                                           mat-scale (generic function)
                                             x-scale (slot)
                                             y-scale (slot)
                                    def-matrix-scale! (macro)
                                    def-matrix-scale! (function)
                                           mat-scale! (generic function)
                                           mat-scale-range (generic function)
                                           mat-scale-range! (generic function)
                                               separable-discrete-convolve (generic function)
                                               separable-morphological-op (function)
                                               set-col (generic function)
                                           map-set-range (generic function)
                                               set-row (generic function)
                                           map-set-val (generic function)
                                        scalar-set-val (generic function)
                                               set-val (generic function)
                                           vec-set-val (generic function)
                                           map-set-val-copy (generic function)
                                           map-set-val-fit (generic function)
                                               set-val-fit (generic function)
                                             x-shear (slot)
                                             y-shear (slot)
                                             x-shift (slot)
                                             y-shift (slot)
                                        scalar-single-float-divide-col (generic function)
                                        scalar-single-float-divide-row (generic function)
                                       copy-to-single-float-matrix (generic function)
                                        random-single-float-matrix (generic function)
                                               single-float-matrix (class)
                                               single-float-matrix-mref (function)
                                    *max-block-size* (variable)
                                          fill-slot-from-ancestor (function)
                         standard-matrix-class-slots (function)
                    fill-standard-matrix-class-slots-from-ancestors (function)
                                               specialized-array-p (generic function)
                                           mat-sqrt (generic function)
                                           mat-sqrt! (generic function)
                                    def-matrix-square (macro)
                                    def-matrix-square (function)
                                           mat-square (generic function)
                                           sum-square (generic function)
                                           mat-square! (generic function)
                                           sum-square-range (generic function)
                                               standard-matrix-class (class)
                                               standard-matrix-class-p (function)
                                               standard-matrix-class-precedence-list (function)
                                               standard-matrix-class-slots (function)
                                          fill-standard-matrix-class-slots-from-ancestors (function)
                                               subclassp (function)
                                    def-matrix-subset-matrix (macro)
                                    def-matrix-subset-matrix (function)
                                               subset-matrix (generic function)
                                               subset-matrix-cols (generic function)
                                    def-matrix-subtr (macro)
                                    def-matrix-subtr (function)
                                           mat-subtr (generic function)
                                    def-matrix-subtr! (macro)
                                    def-matrix-subtr! (function)
                                           mat-subtr! (generic function)
                                           mat-subtr!-range (generic function)
                                          %get-subtr-matrix-class (generic function)
                                           mat-subtr-range (generic function)
                                           mat-subtr-range3 (generic function)
                                               sum (generic function)
                                               sum-cols (generic function)
                                               sum-range (generic function)
                                               sum-rows (generic function)
                                               sum-square (generic function)
                                               sum-square-range (generic function)
                                               superior (function)
                                               swap-cols (generic function)
                                               swap-rows (generic function)
                                        random-t-matrix (generic function)
                                               t-matrix (class)
                                               theta (slot)
                                               threshold (generic function)
                                      displace-to-1d-array (function)
                                          copy-to-bit-matrix (generic function)
                                          copy-to-complex-matrix (generic function)
                                          copy-to-double-float-matrix (generic function)
                                          copy-to-fixnum-matrix (generic function)
                                          copy-to-matrix-type (function)
                                          copy-to-sb16-matrix (generic function)
                                          copy-to-sb32-matrix (generic function)
                                          copy-to-sb8-matrix (generic function)
                                          copy-to-single-float-matrix (generic function)
                                          copy-to-ub16-matrix (generic function)
                                          copy-to-ub32-matrix (generic function)
                                          copy-to-ub8-matrix (generic function)
                                        affine-transform (generic function)
                                    def-matrix-transform (macro)
                                    def-matrix-transform (function)
                                               transform-coord (function)
                                               transform-matrix (generic function)
                                        affine-transformation (class)
                                   copy-affine-transformation (generic function)
                                   decf-affine-transformation (generic function)
                                   make-affine-transformation (function)
                                   move-affine-transformation (generic function)
                                 update-affine-transformation-matrix (generic function)
                                               transpose (generic function)
                                               transpose-matrix (generic function)
                                           mat-trim (generic function)
                                         maybe-truncate (macro)
                                         maybe-truncate (function)
                                   accumulator-type (generic function)
                                   accumulator-type (slot)
                                copy-to-matrix-type (function)
                                       element-type (generic function)
                                       element-type (slot)
                           get-matrix-name-for-type (function)
                           get-matrix-type-for-type (function)
                                    get-matrix-type-for-type (function)
                                               typed-matrix (class)
                                          with-typed-matrix-vals (macro)
                                          with-typed-matrix-vals (function)
                                               typed-mixin (class)
                                 *typed-matrix-types* (variable)
                                 *typed-matrix-types-hash* (variable)
                                       copy-to-ub16-matrix (generic function)
                                        random-ub16-matrix (generic function)
                                               ub16-matrix (class)
                                               ub16-matrix-mref (function)
                                       copy-to-ub32-matrix (generic function)
                                        random-ub32-matrix (generic function)
                                               ub32-matrix (class)
                                               ub32-matrix-mref (function)
                                       copy-to-ub8-matrix (generic function)
                                        random-ub8-matrix (generic function)
                                               ub8-matrix (class)
                                               ub8-matrix-mref (function)
                                               ub8-scalar (class)
                                           def-unary-op (macro)
                                           def-unary-op (function)
                                           def-unary-op! (macro)
                                           def-unary-op! (function)
                                          with-untyped-matrix-vals (macro)
                                          with-untyped-matrix-vals (function)
                                               update-affine-transformation-matrix (generic function)
                                       map-set-val (generic function)
                                           max-val (generic function)
                                           min-val (generic function)
                                    scalar-set-val (generic function)
                                        scalar-val (generic function)
                                           set-val (generic function)
                                               val (generic function)
                                       vec-set-val (generic function)
                                           vec-val (generic function)
                                       map-set-val-copy (generic function)
                                       map-set-val-fit (generic function)
                                           set-val-fit (generic function)
                                               val-format (generic function)
                                               val-format (slot)
                               allocate-matrix-vals (generic function)
                                   with-matrix-vals (macro)
                                   with-matrix-vals (function)
                             with-typed-matrix-vals (macro)
                             with-typed-matrix-vals (function)
                           with-untyped-matrix-vals (macro)
                           with-untyped-matrix-vals (function)
                                           fit-value (generic function)
                                        sample-variance (generic function)
                                               variance (generic function)
                                        sample-variance-range (generic function)
                                               variance-range (generic function)
                                        sample-variance-window (function)
                                               variance-window (function)
                                   parse-mloop-vars (function)
                                               vec-dim (generic function)
                                               vec-set-val (generic function)
                                               vec-val (generic function)
                                    array->col-vector (generic function)
                                    array->row-vector (generic function)
                                          base-vector (class)
                                           col-vector (class)
                                       get-col-vector (generic function)
                                get-row-as-col-vector (generic function)
                                       get-row-vector (generic function)
                                           row-vector (class)
                                      zero-col-vector (generic function)
                                      zero-row-vector (generic function)
                                               vertcat (generic function)
                               sample-variance-window (function)
                                      variance-window (function)
                                     %mat-mult-with-blocks (generic function)
                                               with-map-range (macro)
                                               with-map-range (function)
                                               with-matrix-range-do (macro)
                                               with-matrix-range-do (function)
                                               with-matrix-vals (macro)
                                               with-matrix-vals (function)
                                               with-typed-matrix-vals (macro)
                                               with-typed-matrix-vals (function)
                                               with-untyped-matrix-vals (macro)
                                               with-untyped-matrix-vals (function)
                                               x-derivative (function)
                                               x-scale (slot)
                                               x-shear (slot)
                                               x-shift (slot)
                                               y-derivative (function)
                                               y-scale (slot)
                                               y-shear (slot)
                                               y-shift (slot)
                                               zero-col-vector (generic function)
                                               zero-matrix (generic function)
                                 get-first-non-zero-row-in-col (generic function)
                                               zero-row-vector (generic function)
\ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-symbol.html b/external/clem/doc/tinaa/index-of-symbol.html deleted file mode 100644 index efb8e57..0000000 --- a/external/clem/doc/tinaa/index-of-symbol.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Symbol

Symbol Index

%%sum-range

%discrete-convolve

%get-subtr-matrix-class

%mat-mult-block

%mat-mult-with-blocks

%separable-discrete-convolve

%transform-matrix

%transfrom-matrix

*matrix-print*
variable

*matrix-print-col-limit*
variable

*matrix-print-row-limit*
variable

*max-block-size*
variable

*print-matrix-float-format*
variable

*print-matrix-newlines*
variable

*typed-matrix-names-hash*
variable

*typed-matrix-types*
variable

*typed-matrix-types-hash*
variable

*x-derivative-conv-matrix*
variable

*y-derivative-conv-matrix*
variable

+epsilon+
constant

accumulator-type
slot

add-col

add-root-class

add-row

adjustable
slot

affine-transform

affine-transformation

allocate-matrix-vals

array->bit-matrix

array->col-vector

array->complex-matrix

array->double-float-matrix

array->fixnum-matrix

array->float-matrix

array->integer-matrix

array->matrix

array->number-matrix

array->real-matrix

array->row-vector

array->sb16-matrix

array->sb32-matrix

array->sb8-matrix

array->single-float-matrix

array->t-matrix

array->ub16-matrix

array->ub32-matrix

array->ub8-matrix

base-vector

bilinear-interpolate

bit-matrix

bit-matrix-mref

bit-scalar

closest-common-matrix-class

col-vector

cols
slot

complex-matrix

complex-matrix-mref

compute-bounds

concat-matrix-cols

constrain

copy-affine-transformation

copy-to-bit-matrix

copy-to-complex-matrix

copy-to-double-float-matrix

copy-to-fixnum-matrix

copy-to-matrix-type

copy-to-sb16-matrix

copy-to-sb32-matrix

copy-to-sb8-matrix

copy-to-single-float-matrix

copy-to-ub16-matrix

copy-to-ub32-matrix

copy-to-ub8-matrix

count-range

cvref

decf-affine-transformation

def-binary-op

def-binary-op!

def-matrix-abs

def-matrix-abs!

def-matrix-add

def-matrix-add!

def-matrix-add-number

def-matrix-add-number!

def-matrix-add-scalar

def-matrix-add-scalar!

def-matrix-convolve

def-matrix-hprod

def-matrix-hprod!

def-matrix-log

def-matrix-log!

def-matrix-min-max

def-matrix-move

def-matrix-mref

def-matrix-mult

def-matrix-mult-block

def-matrix-scale

def-matrix-scale!

def-matrix-square

def-matrix-subset-matrix

def-matrix-subtr

def-matrix-subtr!

def-matrix-transform

def-move-element

def-unary-op

def-unary-op!

defmatrixfuncs

defmatrixtype

delistify

delistify-dsd

dilate

dilate-orig

dim

discrete-convolve

displace-to-1d-array

double-float-divide

double-float-matrix

double-float-matrix-mref

element-type
slot

erode

erode-orig

fill-slot-from-ancestor

fill-standard-matrix-class-slots-from-ancestors

fit

fit-value

fixnum-matrix

fixnum-matrix-mref

fixnum1+

float-matrix

gaussian-blur

gaussian-kernel

gaussian-kernel-1d

get-col-list

get-col-vector

get-first-non-zero-row-in-col

get-matrix-name-for-type

get-matrix-type-for-type

get-row-as-col-vector

get-row-list

get-row-vector

gradmag

horzcat

identity-matrix

inferior

initial-element
slot

insert-before

integer-matrix

integer-matrix-mref

invert-matrix

list-if

m*

m+

m-

m.*

make-affine-transformation

map-col

map-matrix-copy

map-matrix-fit

map-range

map-row

map-set-range

map-set-val

map-set-val-copy

map-set-val-fit

mat-abs

mat-abs!

mat-abs-range

mat-abs-range!

mat-add

mat-add!

mat-add!-inline

mat-add-inline

mat-add-range

mat-add-range!

mat-copy

mat-copy-into

mat-copy-proto

mat-copy-proto-dim

mat-hprod

mat-hprod!

mat-hprod-range

mat-hprod-range!

mat-log

mat-log!

mat-log-range

mat-log-range!

mat-mult

mat-mult-3-block

mat-mult3

mat-scalar-op

mat-scale

mat-scale!

mat-scale-range

mat-scale-range!

mat-sqrt

mat-sqrt!

mat-square

mat-square!

mat-subtr

mat-subtr!

mat-subtr!-range

mat-subtr-range

mat-subtr-range3

mat-trim

matrix

matrix-cols

matrix-condition

matrix-error

matrix-move

matrix-move-range

matrix-move-range-constrain

matrix-precedence-list

matrix-rows

matrix-vals

max-range

max-val

maxval
slot

maybe-coerce

maybe-truncate

mean

mean-range

min-range

min-val

minval
slot

mlogand

mlogand!

mlogand!-range

mlogand-range

mlogior

mlogior!

mlogior!-range

mlogior-range

mlogxor

mlogxor!

mlogxor!-range

mlogxor-range

mloop

mloop-range

mnot

mnot!

mnot!-range

mnot-range

morphological-op

move-affine-transformation

move-element

mref

norm-0-1

norm-0-255

normalize

number-matrix

pad-matrix

parameters-list

parse-mloop-vars

print-matrix

print-matrix-line

print-range

quadratic-interpolate

quadratic-kernel

random-bit-matrix

random-complex-matrix

random-double-float-matrix

random-fixnum-matrix

random-float-matrix

random-integer-matrix

random-matrix

random-number-matrix

random-real-matrix

random-sb16-matrix

random-sb32-matrix

random-sb8-matrix

random-single-float-matrix

random-t-matrix

random-ub16-matrix

random-ub32-matrix

random-ub8-matrix

real-matrix

real-matrix-mref

remove-keyword-arg

reshape

resizable

resize-matrix

row-vector

rows
slot

rvref

sample-variance

sample-variance-range

sample-variance-window

sb16-matrix

sb16-matrix-mref

sb32-matrix

sb32-matrix-mref

sb8-matrix

sb8-matrix-mref

sb8-scalar

scalar

scalar-divide

scalar-divide-col

scalar-divide-copy

scalar-divide-row

scalar-double-float-divide-col

scalar-double-float-divide-row

scalar-mult

scalar-mult-col

scalar-mult-copy

scalar-mult-row

scalar-set-val

scalar-single-float-divide-col

scalar-single-float-divide-row

scalar-val

separable-discrete-convolve

separable-morphological-op

set-col

set-row

set-val

set-val-fit

single-float-matrix

single-float-matrix-mref

specialized-array-p

standard-matrix-class

standard-matrix-class-p

standard-matrix-class-precedence-list

standard-matrix-class-slots

subclassp

subset-matrix

subset-matrix-cols

sum

sum-cols

sum-range

sum-rows

sum-square

sum-square-range

superior

swap-cols

swap-rows

t-matrix

theta
slot

threshold

transform-coord

transform-matrix

transpose

transpose-matrix

typed-matrix

typed-mixin

ub16-matrix

ub16-matrix-mref

ub32-matrix

ub32-matrix-mref

ub8-matrix

ub8-matrix-mref

ub8-scalar

update-affine-transformation-matrix

val

val-format
slot

variance

variance-range

variance-window

vec-dim

vec-set-val

vec-val

vertcat

with-map-range

with-matrix-range-do

with-matrix-vals

with-typed-matrix-vals

with-untyped-matrix-vals

x-derivative

x-scale
slot

x-shear
slot

x-shift
slot

y-derivative

y-scale
slot

y-shear
slot

y-shift
slot

zero-col-vector

zero-matrix

zero-row-vector

\ No newline at end of file diff --git a/external/clem/doc/tinaa/index-of-variable.html b/external/clem/doc/tinaa/index-of-variable.html deleted file mode 100644 index 556355a..0000000 --- a/external/clem/doc/tinaa/index-of-variable.html +++ /dev/null @@ -1 +0,0 @@ -Clem: Index of Variable

Variable Index

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z

*matrix-print*

*matrix-print-col-limit*

*matrix-print-row-limit*

*max-block-size*

*print-matrix-float-format*

*print-matrix-newlines*

*typed-matrix-names-hash*

*typed-matrix-types*

*typed-matrix-types-hash*

*x-derivative-conv-matrix*

*y-derivative-conv-matrix*

+epsilon+

\ No newline at end of file diff --git a/external/clem/doc/tinaa/index.html b/external/clem/doc/tinaa/index.html deleted file mode 100644 index dab618f..0000000 --- a/external/clem/doc/tinaa/index.html +++ /dev/null @@ -1 +0,0 @@ -Table of Contents [Tinaa]

Table of Contents

package
clem
\ No newline at end of file diff --git a/external/clem/doc/tinaa/tinaa.css b/external/clem/doc/tinaa/tinaa.css deleted file mode 100644 index 5729bab..0000000 --- a/external/clem/doc/tinaa/tinaa.css +++ /dev/null @@ -1,271 +0,0 @@ -body { - font: 90% Times New Roman, Times, serif; -} - -.contents { - margin-right: 1em; - margin-left: 1em; -} - -.documentation { - margin-right: 1em; - margin-left: 1em; -} - -.part-parents { - margin-left: 1em; -} - -.part-parents h3 { - display: inline; - margin-right: 0.5em; -} - -.package-symbols { - margin-left: 1em; - margin-bottom: 0.5em; - margin-top: 0.5em; -} - -.license { - margin-right: 1em; - margin-left: 1em; - margin-bottom: 1em; -} - -/**/ - -.table-of-contents { - border-collapse: collapse; - vertical-align: top; - text-align: left; -} - -.table-of-contents table { - border-collapse: collapse; - padding-right: 1em; - padding-left: 1em; -} - -.table-of-contents tr { -} - -.table-of-contents th { - font-weight: bold; - width: 200px; - font-family: Arial, Helvetica, sans-serif; - text-align: left; -} - -.table-of-contents td { - padding-left: 1em; -} - -/**/ - -/**/ - -.part-summary { - margin-right: 2em; - margin-left: 2em; -} - -.part-summary tr { - text-align: left; - vertical-align: top; -} - -.part-summary td { - text-align: left; - padding-bottom: 0.0em; - padding-top: 0.0em; -} - -.part-summary th { - text-align: left; - width: 100px; - font-style: italic; -} - -/**/ - -/**/ - -#other-file td { - padding-left: 1em; -} - -.table-summary { - border-collapse: collapse; - vertical-align: top; - margin-right: 1em; - margin-left: 1em; - text-align: left; -} - -.table-summary table { - margin-left: 1em; -} - -.table-summary tr { - text-align: left; - vertical-align: top; -} - -.table-summary td { - text-align: left; - padding-bottom: 0.5em; - padding-top: 0.2em; -} - -.table-summary th { - text-align: left; - font-weight: normal; - width: 200px; -} - -/**/ - -#header { background: #009933; color: white; border: 1px solid black; font-family: sans-serif; margin-top: 0.5em; padding: 0.5em; height: 22px; } - -#header a[href] { color: #ffff33; text-decoration: none; - border-bottom-style: none; -} - -#header a[href]:hover { - background: transparent; - color: #ffff00; - font-variant: small-caps; - font-style: italic; -} - -#contents-link { clear: both; } - -#footer { background: #009933; color: white; border: 1px solid black; margin-top: 0.5em; padding: 0.5em; - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 80%; - clear: both; -} - -#footer a[href] { color: #ffff33; text-decoration: none; - border-bottom-style: none; -} - -#footer a[href]:hover { background: transparent; color: #ffff00; - font-style: italic; - font-variant: small-caps; -} - -#tinaa-logo { font-variant: small-caps; float: right; font-family: fantasy; font-size: 150%; letter-spacing: 0.05em; } - -.date { - margin-right: 2em; -} - -.version { - margin-right: 2em; -} - -h1, h2, h3, h4 { color: #333333; font-family: Arial, Helvetica, sans-serif; } - -h3 { - margin-right: 0; - margin-bottom: 0.5em; - margin-left: 0; -} - -a[href] { - text-decoration: none; -} - -a[href]:hover { - background: #ff9; - border-bottom: 1px dotted black; -} - -.documentation { - text-align: left; - margin-bottom: 0.4em; -} - -.property-heading { - margin-right: 3px; - font: italic 90% Arial, Helvetica, sans-serif; -} - -.property-value { - -} - -.oddrow { background-color: #ccffcc } - -/**/ - -.back-to-top { - float: right; -} - -.index-name { - width: 200px; - float: left; - clear: left; - margin-left: 3em; - text-indent: -1em; - margin-top: 0.2em; -} - -.index-kind { - float: left; - padding-right: 2.0em; -} - -.index-links { - float: right; -} - -.index { - float: left; - padding-left: 0.4em; -} - -.index-contents { - margin-bottom: 2.0em; -} - -.index-contents pre { - clear: both; -} - -.index-letters { - margin-left: 2em; -} - -.used-letter { - float: left; - margin-right: 6px; - font-family: Verdana, Arial, Helvetica, sans-serif; -} - -.dead-letter { - float: left; - margin-right: 6px; - font-family: Verdana, Arial, Helvetica, sans-serif; - color: #999999; -} - -.index-letter { - float: left; - width: 90%; - margin-top: 1.5em; - border: 1px #000000; - border-top: 1px dotted #666666; - padding-top: 0.4em; -} - -.the-letter { - text-transform: uppercase; - float: left; - font: 150% Verdana, Arial, Helvetica, sans-serif; -} - -/**/ \ No newline at end of file diff --git a/external/clem/make-dist.sh b/external/clem/make-dist.sh deleted file mode 100644 index 3822fc0..0000000 --- a/external/clem/make-dist.sh +++ /dev/null @@ -1,11 +0,0 @@ -PACKAGE=clem -SYSTEMS=":${PACKAGE} :${PACKAGE}-test :${PACKAGE}-doc :${PACKAGE}-benchmark" - -sbcl --noinform --noprint \ - --eval '(require :asdf)' \ - --eval "(pushnew (make-pathname :directory \""`pwd`"\") asdf:*central-registry*)" \ - --eval "(asdf:operate 'asdf:load-op 'ch-util)" \ - --eval "(asdf:operate 'asdf:load-op 'asdf-package)" \ - --eval "(load \"make-tinaa-docs.lisp\")" \ - --eval "(asdf-package:package-system ${SYSTEMS})" \ - --eval '(quit)' diff --git a/external/clem/make-tinaa-docs.lisp b/external/clem/make-tinaa-docs.lisp deleted file mode 100644 index eaae828..0000000 --- a/external/clem/make-tinaa-docs.lisp +++ /dev/null @@ -1,19 +0,0 @@ - -(require 'asdf) - -(asdf:operate 'asdf:load-op 'clem) -(asdf:operate 'asdf:load-op 'clem-doc) -(asdf:operate 'asdf:load-op 'tinaa) - -(defun clem-doc-system::make-tinaa-docs () - (asdf:operate 'asdf:load-op 'tinaa) - (let ((tinaa::*short-documentation-length* 512)) - (tinaa:document-system - 'package 'clem (asdf:component-pathname - (asdf:find-component - (asdf:find-component - (asdf:find-system 'clem-doc) - "doc") - "tinaa"))))) - -(clem-doc-system::make-tinaa-docs) diff --git a/external/clem/src/abs.lisp b/external/clem/src/abs.lisp deleted file mode 100644 index 3704416..0000000 --- a/external/clem/src/abs.lisp +++ /dev/null @@ -1,111 +0,0 @@ -;;; abs.lisp -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; slow version - -(defmethod mabs ((u matrix)) - (map-set-val-copy u #'(lambda (x) (abs x)))) - -;;; faster version - -(defmacro def-matrix-abs (type-1 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-abs-range" suffix)) - ((m ,type-1) startr endr startc endc) - (destructuring-bind (mr mc) (dim m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-matrix-vals (m ,element-type-1 a) - (with-matrix-vals (p ,accumulator-element-type c) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (aref c i j) - (abs (aref a i j))))))) - p))) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-abs" suffix)) - ((m ,type-1)) - (destructuring-bind (mr mc) (dim m) - (,(ch-util:make-intern (concatenate 'string "mat-abs-range" suffix)) - m 0 (1- mr) 0 (1- mc))))))) - -(defmacro def-matrix-abs! (type-1 &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-abs-range!" suffix)) - ((m ,type-1) startr endr startc endc) - (with-matrix-vals (m ,element-type-1 a) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (aref a i j) (abs (aref a i j)))))) - m) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-abs!" suffix)) - ((m ,type-1)) - (destructuring-bind (mr mc) (dim m) - (,(ch-util:make-intern (concatenate 'string "mat-abs-range!" suffix)) - m 0 (1- mr) 0 (1- mc))))))) - -(macrolet ((frob (type-1 type-2 &key suffix) - `(progn - (def-matrix-abs ,type-1 ,type-2 :suffix ,suffix) - (def-matrix-abs! ,type-1 :suffix ,suffix)))) - (frob double-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix) - (frob bit-matrix bit-matrix) - (frob integer-matrix integer-matrix) - (frob t-matrix t-matrix)) - -(macrolet ((frob (type-1 type-2 &key suffix) - `(progn - (def-matrix-abs ,type-1 ,type-2 :suffix ,suffix)))) - (frob ub8-matrix ub8-matrix) - (frob ub16-matrix ub16-matrix) - (frob ub32-matrix ub32-matrix) - (frob sb8-matrix sb8-matrix) - (frob sb16-matrix sb16-matrix) - (frob sb32-matrix sb32-matrix) - (frob fixnum-matrix fixnum-matrix) - (frob real-matrix real-matrix) - (frob complex-matrix real-matrix) - (frob number-matrix real-matrix) - (frob t-matrix t-matrix)) - diff --git a/external/clem/src/add.lisp b/external/clem/src/add.lisp deleted file mode 100644 index 5274604..0000000 --- a/external/clem/src/add.lisp +++ /dev/null @@ -1,293 +0,0 @@ -;;; add.lisp -;;; macros, functions and methods for matrix addition -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; slow version -(defmethod mat-add ((a matrix) (b matrix) &key in-place) - (if in-place - (error "not yet supported") - (mat-scalar-op a b #'+))) - -;;; faster version -(defmacro def-matrix-add-range (type-1 type-2 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-add-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc &key in-place) - (destructuring-bind (mr mc) (dim m) - (if in-place - (progn - (clem::mloop-range (((m ,element-type-1 a) - (n ,element-type-2 b)) - startr endr startc endc i j) - (setf (aref a i j) (+ (aref a i j) (aref b i j)))) - m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (clem::mloop-range (((m ,element-type-1 a) - (n ,element-type-2 b) - (p ,accumulator-element-type c)) - startr endr startc endc i j) - (setf (aref c i j) (+ (aref a i j) (aref b i j)))) - p))))))) - - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-binary-op "mat-add" + ,type-1 ,type-2 ,type-3) - (def-matrix-add-range ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - - (frob double-float-matrix double-float-matrix double-float-matrix) - (frob double-float-matrix single-float-matrix double-float-matrix) - (frob double-float-matrix ub8-matrix double-float-matrix) - (frob double-float-matrix ub16-matrix double-float-matrix) - (frob double-float-matrix ub32-matrix double-float-matrix) - (frob double-float-matrix sb8-matrix double-float-matrix) - (frob double-float-matrix sb16-matrix double-float-matrix) - (frob double-float-matrix sb32-matrix double-float-matrix) - (frob double-float-matrix bit-matrix double-float-matrix) - (frob double-float-matrix fixnum-matrix double-float-matrix) - - (frob single-float-matrix single-float-matrix single-float-matrix) - (frob single-float-matrix ub8-matrix single-float-matrix) - (frob single-float-matrix ub16-matrix single-float-matrix) - (frob single-float-matrix ub32-matrix single-float-matrix) - (frob single-float-matrix sb8-matrix single-float-matrix) - (frob single-float-matrix sb16-matrix single-float-matrix) - (frob single-float-matrix sb32-matrix single-float-matrix) - (frob single-float-matrix bit-matrix single-float-matrix) - (frob single-float-matrix fixnum-matrix single-float-matrix) - - (frob ub8-matrix ub8-matrix ub8-matrix) - (frob ub16-matrix ub16-matrix ub16-matrix) - (frob ub32-matrix ub8-matrix ub32-matrix) - (frob ub32-matrix ub32-matrix ub32-matrix) - - (frob sb8-matrix sb8-matrix sb16-matrix) - (frob sb16-matrix sb16-matrix sb32-matrix) - (frob sb32-matrix sb8-matrix sb32-matrix) - (frob sb32-matrix sb32-matrix sb32-matrix) - - (frob ub8-matrix bit-matrix ub8-matrix) - (frob ub16-matrix bit-matrix ub16-matrix) - (frob ub32-matrix bit-matrix ub32-matrix) - - (frob sb8-matrix bit-matrix sb8-matrix) - (frob sb16-matrix bit-matrix sb16-matrix) - (frob sb32-matrix bit-matrix sb32-matrix) - - (frob sb32-matrix ub8-matrix sb32-matrix) - (frob sb32-matrix ub16-matrix sb32-matrix) - - (frob real-matrix real-matrix real-matrix) - (frob real-matrix double-float-matrix real-matrix) - (frob real-matrix single-float-matrix real-matrix) - (frob real-matrix integer-matrix real-matrix) - - (frob integer-matrix integer-matrix integer-matrix) - - (frob complex-matrix complex-matrix complex-matrix) - (frob complex-matrix integer-matrix complex-matrix) - (frob complex-matrix real-matrix complex-matrix)) - - -(macrolet ((frob (type-1 type-2 type-3) - `(progn - (def-binary-op "mat-add" + ,type-1 ,type-2 ,type-3 :allow-in-place nil)))) - (frob single-float-matrix double-float-matrix double-float-matrix) - - (frob bit-matrix bit-matrix ub32-matrix) - - (frob ub8-matrix double-float-matrix double-float-matrix) - (frob ub8-matrix single-float-matrix single-float-matrix) - - (frob ub16-matrix double-float-matrix double-float-matrix) - (frob ub16-matrix single-float-matrix single-float-matrix) - - (frob ub32-matrix double-float-matrix double-float-matrix) - (frob ub32-matrix single-float-matrix single-float-matrix) - - (frob sb8-matrix double-float-matrix double-float-matrix) - (frob sb8-matrix single-float-matrix single-float-matrix) - - (frob sb16-matrix double-float-matrix double-float-matrix) - (frob sb16-matrix single-float-matrix single-float-matrix) - - (frob sb32-matrix double-float-matrix double-float-matrix) - (frob sb32-matrix single-float-matrix single-float-matrix) - - (frob fixnum-matrix double-float-matrix double-float-matrix) - (frob fixnum-matrix single-float-matrix single-float-matrix) - - (frob bit-matrix double-float-matrix double-float-matrix) - (frob bit-matrix single-float-matrix single-float-matrix)) - - -(defmacro def-matrix-add-number (type-1 type-2 accumulator-type &key suffix (allow-in-place t)) - (let ((element-type-1 (element-type (find-class `,type-1))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-add-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc &key in-place) - (declare (type ,type-2 n)) - (destructuring-bind (mr mc) (dim m) - (if in-place - ,(if allow-in-place - `(with-typed-mref (m ,element-type-1) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref m i j) - (+ (mref m i j) n)))) - m) - `(error 'matrix-argument-error - :format-control - "in-place operation not allowed (~S of ~S and ~S)" - :format-arguments (list '+ ',type-1 ',type-2))) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref p i j) - (+ (mref m i j) n)))))) - p)))) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-add" suffix)) - ((m ,type-1) (n ,type-2) &key in-place) - (if in-place - ,(if allow-in-place - `(with-typed-mref (m ,element-type-1) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (+ (row-major-mref m i) n))) - m) - `(error 'matrix-argument-error - :format-control - "in-place operation not allowed (~S of ~S and ~S" - :format-arguments (list '+ ',type-1 ',type-2))) - (let ((p (make-instance ',accumulator-type :dimensions (matrix-dimensions m)))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref p i) - (+ (row-major-mref m i) n))))) - p)))))) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-matrix-add-number ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - (frob double-float-matrix double-float double-float-matrix) - (frob double-float-matrix single-float double-float-matrix) - (frob double-float-matrix integer double-float-matrix) - - (frob integer-matrix integer integer-matrix)) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-matrix-add-number ,type-1 ,type-2 ,type-3 :suffix ,suffix :allow-in-place nil)))) - - (frob ub8-matrix integer integer-matrix) - (frob ub8-matrix double-float double-float-matrix) - (frob ub8-matrix single-float single-float-matrix)) - -(defmacro def-matrix-add-scalar (type-1 type-2 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-add-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc &key in-place) - (declare (type ,type-2 n)) - (let ((val (clem::scalar-val n))) - (declare (type ,element-type-2 val)) - (destructuring-bind (mr mc) (dim m) - (if in-place - (progn - (with-typed-mref (m ,element-type-1) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref m i j) - (+ (mref m i j) val))))) - m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref p i j) - (+ (mref m i j) val)))))) - p))))) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-add" suffix)) - ((m ,type-1) (n ,type-2) &key in-place) - (let ((val (clem::scalar-val n))) - (declare (type ,element-type-2 val)) - (if in-place - (with-typed-mref (m ,element-type-1) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (+ (row-major-mref m i) val))) - m) - (let ((p (make-instance ',accumulator-type :dimensions (matrix-dimensions m)))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref p i) - (+ (row-major-mref m i) val))))) - p))) - )))) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-matrix-add-scalar ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - - (frob ub8-matrix bit-scalar ub8-matrix) - (frob ub8-matrix sb8-scalar ub8-matrix) - (frob ub8-matrix ub8-scalar ub8-matrix)) - diff --git a/external/clem/src/arithmetic.lisp b/external/clem/src/arithmetic.lisp deleted file mode 100644 index 2b3a6be..0000000 --- a/external/clem/src/arithmetic.lisp +++ /dev/null @@ -1,63 +0,0 @@ -;;; arithmetic.lisp -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;;; -;;;; level-1 arithmetic functions - -(defmethod m+ (&rest matrices) - (reduce #'mat-add matrices)) - -(defmethod m- (&rest matrices) - (if (cdr matrices) - (reduce #'mat-subtr matrices) - (mat-scale (car matrices) -1))) - -(defmethod m* (&rest matrices) - (reduce - #'(lambda (x y) - (cond ((and (typep y 'matrix) - (typep x 'matrix)) - (mat-mult x y)) - ((and (typep x 'matrix) - (numberp y)) - (mat-scale x y)) - ((and (numberp x) - (typep y 'matrix)) - (mat-scale y x)) - (t (error 'matrix-argument-error - :format-control "At least one argument (~{~S~^ ~}) must be a MATRIX." - :format-arguments (list matrices))))) - matrices)) - -(defmethod m.* (&rest matrices) - (reduce #'mat-hprod matrices)) - diff --git a/external/clem/src/defmatrix-types.lisp b/external/clem/src/defmatrix-types.lisp deleted file mode 100644 index 78c7569..0000000 --- a/external/clem/src/defmatrix-types.lisp +++ /dev/null @@ -1,148 +0,0 @@ -;;; defmatrix-types.lisp -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -(defmatrixfuncs t-matrix - :element-type t - :accumulator-type t) - -(defmatrixfuncs number-matrix - :element-type number - :accumulator-type number) - -(defmatrixfuncs real-matrix - :element-type real - :accumulator-type real) - -(defmatrixfuncs complex-matrix - :element-type complex - :accumulator-type complex) - -(defmatrixfuncs float-matrix - :element-type float - :accumulator-type float) - -(defmatrixfuncs unsigned-byte-matrix - :element-type unsigned-byte - :accumulator-type unsigned-byte) - -(defmatrixfuncs integer-matrix - :element-type integer - :accumulator-type integer) - -(defmatrixfuncs bit-matrix - :element-type (unsigned-byte 1) - :accumulator-type (signed-byte 32) - :minval 0 - :maxval 1) - -(defmatrixfuncs sb8-matrix - :element-type (signed-byte 8) - :accumulator-type (signed-byte 32) - :minval #.(- (expt 2 7)) - :maxval #.(- (expt 2 7) 1)) - -(defmatrixfuncs ub8-matrix - :element-type (unsigned-byte 8) - :accumulator-type (unsigned-byte 32) - :minval 0 - :maxval #.(- (expt 2 8) 1)) - -(defmatrixfuncs sb16-matrix - :element-type (signed-byte 16) - :accumulator-type (signed-byte 32) - :minval #.(- (expt 2 15)) - :maxval #.(- (expt 2 15) 1)) - -(defmatrixfuncs ub16-matrix - :element-type (unsigned-byte 16) - :accumulator-type (unsigned-byte 32) - :minval 0 - :maxval #.(- (expt 2 16) 1)) - -(defmatrixfuncs sb32-matrix - :element-type (signed-byte 32) - :accumulator-type (signed-byte 32) - :minval #.(- (expt 2 31)) - :maxval #.(- (expt 2 31) 1)) - -(defmatrixfuncs ub32-matrix - :element-type (unsigned-byte 32) - :accumulator-type (unsigned-byte 32) - :minval 0 - :maxval #.(- (expt 2 32) 1)) - -(defmatrixfuncs fixnum-matrix - :element-type fixnum - :accumulator-type (unsigned-byte 32) - :minval most-negative-fixnum - :maxval most-positive-fixnum) - -(defmatrixfuncs single-float-matrix - :element-type single-float - :accumulator-type single-float - :minval most-negative-single-float - :maxval most-positive-single-float) - -(defmatrixfuncs double-float-matrix - :element-type double-float - :accumulator-type double-float - :minval most-negative-double-float - :maxval most-positive-double-float) - -(defparameter *typed-matrix-types* - '((double-float-matrix double-float "double-float") - (single-float-matrix single-float "single-float") - (fixnum-matrix fixnum "fixnum") - (sb8-matrix (signed-byte 8) "sb8") - (sb16-matrix (signed-byte 16) "sb16") - (sb32-matrix (signed-byte 32) "sb32") - (ub8-matrix (unsigned-byte 8) "ub8") - (ub16-matrix (unsigned-byte 16) "ub16") - (ub32-matrix (unsigned-byte 32) "ub32") - (bit-matrix (unsigned-byte 1) "bit"))) - -(defparameter *typed-matrix-types-hash* (make-hash-table :test 'equal)) -(defparameter *typed-matrix-names-hash* (make-hash-table :test 'equal)) - -(mapc #'(lambda (l) - (destructuring-bind (matrix-type element-type type-name) l - ;;; (print (list matrix-type element-type type-name)) - (setf (gethash element-type *typed-matrix-types-hash*) matrix-type) - (setf (gethash element-type *typed-matrix-names-hash*) type-name))) - *typed-matrix-types*) - -(defun get-matrix-type-for-type (type) - (gethash type *typed-matrix-types-hash*)) - -(defun get-matrix-name-for-type (type) - (gethash type *typed-matrix-names-hash*)) - diff --git a/external/clem/src/defmatrix.lisp b/external/clem/src/defmatrix.lisp deleted file mode 100644 index 0610bd7..0000000 --- a/external/clem/src/defmatrix.lisp +++ /dev/null @@ -1,195 +0,0 @@ -;;;; File: defmatrix.cl -;;;; Author: Cyrus Harmon -;;;; -;;;; This file contains definitions for typed matrices. Typed -;;;; matrices have elements that are of a single type (although -;;;; this type can have mutliple subtypes; even a t-matrix where -;;;; each of the items is of type t can offer substantial -;;;; performance gains, at least on SBCL). -;;;; - -(in-package :clem) - -(defmacro with-map-range (m element-type startr endr startc endc (a i j) &body body) - `(with-matrix-vals (,m ,element-type ,a) - (do ((,i ,startr (1+ ,i))) - ((> ,i ,endr)) - (declare (dynamic-extent ,i) (type fixnum ,i)) - (do ((,j ,startc (1+ ,j))) - ((> ,j ,endc)) - (declare (dynamic-extent ,j) (type fixnum ,j)) - ,@body)))) - -(defmacro with-typed-map-range (m element-type startr endr startc endc (a i j) &body body) - `(with-typed-matrix-vals (,m ,element-type ,a) - (do ((,i ,startr (1+ ,i))) - ((> ,i ,endr)) - (declare (dynamic-extent ,i) (type fixnum ,i)) - (do ((,j ,startc (1+ ,j))) - ((> ,j ,endc)) - (declare (dynamic-extent ,j) (type fixnum ,j)) - ,@body)))) - -(defmacro with-matrix-range-do (matrix-class m n p - startr endr startc endc (a b c i j) &body body) - (let ((mat-class (if (typep matrix-class 'class) - matrix-class - (find-class matrix-class)))) - (let ((element-type (element-type mat-class))) - `(with-matrix-vals (,m ,element-type ,a) - (with-matrix-vals (,n ,element-type ,b) - (with-matrix-vals (,p ,element-type ,c) - (do ((,i ,startr (1+ ,i))) - ((> ,i ,endr)) - (declare #-sbcl (dynamic-extent ,i) (type fixnum ,i)) - (do ((,j ,startc (1+ ,j))) - ((> ,j ,endc)) - (declare #-sbcl (dynamic-extent ,j) (type fixnum ,j)) - ,@body)))))))) - - -(defmacro defmatrixfuncs (type &key - (element-type 'double-float) - (accumulator-type 'double-float) - minval maxval) - `(progn - #+nil - (defmethod mref ((m ,type) (row fixnum) (col fixnum)) - (with-typed-matrix-vals (m ,element-type a) - (aref a row col))) - - #+nil - (defmethod (setf mref) (v (m ,type) (row fixnum) (col fixnum)) - (with-typed-matrix-vals (m ,element-type a) - (setf (aref a row col) v))) - - (defgeneric ,(ch-util:make-intern - (concatenate 'string "array->" (symbol-name type))) (a)) - (defmethod ,(ch-util:make-intern - (concatenate 'string "array->" (symbol-name type))) ((a array)) - (array->matrix a :matrix-class ',type)) - - (defmethod sample-variance-range ((m ,type) - (startr fixnum) (endr fixnum) - (startc fixnum) (endc fixnum)) - (let ((acc (coerce 0 ',accumulator-type))) - (let ((mu (mean-range m startr endr startc endc))) - (let ((musq (* mu mu))) - (with-map-range m ,element-type startr endr startc endc (a i j) - (incf acc (- (* (aref a i j) (aref a i j)) musq))))) - (double-float-divide acc (1- (count-range startr endr startc endc))))) - - (defmethod set-val ((m ,type) i j v &key (coerce t)) - (declare (fixnum i j)) - (setf (aref (matrix-vals m) i j) - (if coerce - (coerce v (element-type (class-of m))) - v))) - - (defmethod fit ((m ,type) v) - (declare (ignore m)) - ,(if (subtypep element-type 'real) - (if maxval - `(if (> v ,maxval) - ,maxval - ,(if minval `(if (< v ,minval) ,minval v) `v)) - (if minval `(if (< v ,minval) ,minval v) `v)) - `v)) - - (defmethod set-val-fit ((m ,type) i j v &key (truncate nil)) - (set-val m i j (coerce - ,(if (and (subtypep element-type 'real) minval maxval) - `(cond ((< v ,minval) ,minval) - ((> v ,maxval) ,maxval) - (t (if truncate (truncate v) v))) - `(if truncate (truncate v) v)) - (element-type (class-of m))))) - - (defmethod map-set-val ((m ,type) f) - (destructuring-bind (rows cols) (mapcar #'1- (dim m)) - (declare (dynamic-extent rows cols) (fixnum rows cols)) - (with-map-range m ,element-type 0 rows 0 cols (a i j) - (setf (aref a i j) (funcall f (aref a i j))))) - m) - - (defgeneric - ,(ch-util:make-intern (concatenate 'string "random-" (symbol-name type))) - (rows cols &key max)) - (defmethod - ,(ch-util:make-intern (concatenate 'string "random-" (symbol-name type))) - (rows cols &key (max nil)) - (let ((a (make-instance ',type :rows rows :cols cols)) - (maxvalue (if max - max - ,(if maxval maxval 255)))) - (map-set-val-fit a #'(lambda (x) (declare (ignore x)) - ,(if (subtypep element-type 'integer) - `(coerce (random (1+ maxvalue)) ',element-type) - `(random (coerce maxvalue ',element-type)))) - :truncate nil) - a)) - - (defmethod normalize ((u ,type) &key normin normax copy) - (let ((min (min-val u)) - (max (max-val u)) - (nmin (if normin normin ,(if minval minval 0))) - (nmax (if normax normax ,(if maxval maxval 255))) - (u (if copy (mat-copy u) u))) - (let ((slope (if (= max min) - 0d0 - (double-float-divide (- nmax nmin) (- max min))))) - (map-set-val-fit u #'(lambda (x) (+ nmin (* slope (- x min)))))) - u)) - - ,(cond ((and (find-class 'integer-matrix nil) - (member (find-class 'integer-matrix) - (class-precedence-list (find-class type)))) - `(progn - (defmethod scalar-divide-row ((m ,type) k q) - (with-typed-matrix-vals (m ,element-type a) - (dotimes (j (cols m)) - (setf (aref a k j) (fit m (truncate (aref a k j) q))))) - m) - (defmethod scalar-mult-row ((m ,type) k q) - (with-typed-matrix-vals (m ,element-type a) - (dotimes (j (cols m)) - (setf (aref a k j) (fit m (truncate (* (aref a k j) q)))))) - m))) - (t `(progn - (defmethod scalar-divide-row ((m ,type) k q) - (with-typed-matrix-vals (m ,element-type a) - (dotimes (j (cols m)) - (setf (aref a k j) (fit m (/ (aref a k j) q))))) - m) - (defmethod scalar-mult-row ((m ,type) k q) - (with-typed-matrix-vals (m ,element-type a) - (dotimes (j (cols m)) - (setf (aref a k j) (fit m (* (aref a k j) q))))) - m)))))) - - -(defmacro def-move-element (type-1 type-2) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2)))) - `(progn - (defmethod move-element - ((m ,type-1) i1 j1 (n ,type-2) i2 j2) - (with-matrix-vals (m ,element-type-1 a) - (with-matrix-vals (n ,element-type-2 b) - (setf (aref b i2 j2) - ,(if (eql element-type-1 element-type-2) - `(aref a i1 j1) - `(coerce (aref a i1 j1) ',element-type-2))))))))) - -(defmacro maybe-coerce (val type-1 type-2) - (if (eql type-1 type-2) - val - `(coerce ,val ',type-2))) - -(defmacro maybe-truncate (val type-1 type-2) - (if (and (subtypep type-2 'integer) - (and (subtypep type-1 'real) - (not (subtypep type-1 'integer)))) - `(nth-value 0 (truncate ,val)) - `(maybe-coerce ,val ,type-1 ,type-2))) - diff --git a/external/clem/src/defpackage.lisp b/external/clem/src/defpackage.lisp deleted file mode 100644 index 1406bab..0000000 --- a/external/clem/src/defpackage.lisp +++ /dev/null @@ -1,246 +0,0 @@ - -(in-package #:cl-user) - -(eval-when (:compile-toplevel :load-toplevel :execute) - #+sbcl - (if (find-package 'sb-mop) - (pushnew :clem-sbcl-mop cl:*features*) - (pushnew :clem-sbcl-pcl cl:*features*))) - - -(defpackage #:clem - (:use #:cl #:asdf - #+clem-sbcl-mop #:sb-mop - #+(and cmu pcl) #:clos-mop) - (:export - #:matrix - #:dim - #:rows - #:cols - #:val - #:set-val - #:mref - - #:mat-equal - #:print-range - #:print-matrix - #:transpose - #:mat-mult - #:mat-hprod - #:mat-hprod! - #:mat-copy-into - #:mat-add - #:mat-subtr - #:swap-rows - #:swap-cols - #:map-col - #:map-row - #:invert-matrix - - #:horzcat - #:vertcat - #:pad-matrix - - #:scalar-divide - #:scalar-mult-col - #:scalar-mult-row - #:scalar-divide-col - #:scalar-divide-row - #:scalar-double-float-divide-col - #:scalar-double-float-divide-row - #:scalar-single-float-divide-col - #:scalar-single-float-divide-row - - #:random-matrix - #:zero-matrix - #:identity-matrix - - #:mat-square - #:mat-square! - #:mat-sqrt - #:mat-sqrt! - - #:normalize - #:norm-0-255 - #:norm-0-1 - - #:map-matrix - - #:sum-range - #:sum - #:sum-square-range - #:sum-square - - #:max-val - #:min-val - - #:mat-copy-proto - - ;;; temporary (maybe) matrix conversion utility functions - #:copy-to-ub8-matrix - #:copy-to-ub16-matrix - #:copy-to-ub32-matrix - #:copy-to-double-float-matrix - #:copy-to-fixnum-matrix - #:copy-to-bit-matrix - - - ;;; matrix operations - - #:discrete-convolve - #:separable-discrete-convolve - - #:gaussian-blur - #:gaussian-blur-word - - #:gaussian-kernel - - #:dilate - #:erode - - #:threshold - #:binary-threshold - - #:x-derivative - #:y-derivative - #:gradmag - #:laplacian - - #:variance-window - #:sample-variance-window - - ;;; from matrixutils.cl - #:array->matrix - #:mat-trim - - ;;; typed-matrix stuff - #:typed-matrix - #:map-matrix-fit - - #:defmatrixtype - - #:sb8-matrix - #:sb8-scalar - #:array->sb8-matrix - #:random-sb8-matrix - - #:unsigned-byte-matrix - #:ub8-matrix - #:ub8-scalar - #:array->ub8-matrix - #:random-ub8-matrix - - #:sb16-matrix - #:array->sb16-matrix - #:random-sb16-matrix - - #:ub16-matrix - #:array->ub16-matrix - #:random-ub16-matrix - - #:sb32-matrix - #:array->sb32-matrix - #:random-sb32-matrix - - #:ub32-matrix - #:array->ub32-matrix - #:random-ub32-matrix - - #:fixnum-matrix - #:array->fixnum-matrix - #:random-fixnum-matrix - - #:float-matrix - - #:single-float-matrix - #:array->single-float-matrix - #:random-single-float-matrix - - #:double-float-matrix - #:array->double-float-matrix - #:random-double-float-matrix - - #:t-matrix - #:array->t-matrix - #:random-t-matrix - - #:bit-matrix - #:array->bit-matrix - #:random-bit-matrix - - #:integer-matrix - #:array->integer-matrix - #:random-integer-matrix - - #:real-matrix - #:array->real-matrix - #:random-real-matrix - - #:complex-matrix - #:array->complex-matrix - #:random-complex-matrix - - #:number-matrix - - ;;; affine transformation stuff - #:affine-transformation - #:make-affine-transformation - - ;; 7-parameter parameterization of an affine transformation - #:affine-transformation-7-parameters - #:make-affine-transformation-matrix-from-7-parameters - #:transformation-parameter - #:decf-transformation-parameters - #:copy-affine-transformation-7-parameters - #:move-affine-transformation-7-parameters - #:get-affine-transformation-7-parameters-properties - - #:y-scale - #:x-scale - #:theta - #:y-shift - #:x-shift - #:y-shear - #:x-shear - - #:affine-transform - #:transform-matrix - - #:compute-bounds - #:transform-coord - - #:subset-matrix - - #:mat-scale - #:mat-scale-range - #:mat-abs - #:mat-abs-range - #:mlog - #:mlog-range - - #:matrix-move - #:matrix-move-range-2d - - ;;; typed matrix operations - - #:m+ - #:m- - #:m* - #:m.* - - ;;; logical operations - - #:mlogior - #:mlogand - #:mlogxor - - ;; matrix looping operator - #:mloop - - #:matrix-means - #:matrix-medians - )) - -(defpackage :clem-user - (:use #:cl #:clem)) - diff --git a/external/clem/src/early-matrix.lisp b/external/clem/src/early-matrix.lisp deleted file mode 100644 index 3bd25c8..0000000 --- a/external/clem/src/early-matrix.lisp +++ /dev/null @@ -1,95 +0,0 @@ -;;; early-matrix.lisp -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -(define-condition matrix-condition () ()) - -(define-condition matrix-error (simple-error matrix-condition) ()) - -(define-condition matrix-argument-error (matrix-error) - () - (:report (lambda (condition stream) - (format stream "~?" - (simple-condition-format-control condition) - (simple-condition-format-arguments condition))))) - -(deftype index-type () - '(integer 0 #.(1- array-dimension-limit))) - -(defclass matrix () - ((m :accessor matrix-vals) - (dimensions :initarg :dimensions :initform '(1) :type (or list null)) - (initial-element :accessor initial-element :initarg :initial-element :initform 0d0) - (adjustable :accessor adjustable :initarg :adjustable :initform nil) - (resizeable :accessor resizable :initform nil)) - (:metaclass standard-matrix-class) - (:element-type double-float) - (:val-format "~4,9F") - (:minval nil) - (:maxval nil)) - -(defmethod make-load-form ((matrix matrix) &optional env) - "Creates and returns a creation form and an initialization form -that can be used to externalize matrices." - (make-load-form-saving-slots matrix :environment env)) - -(defgeneric allocate-matrix-vals (object &key adjustable initial-element &allow-other-keys)) - -(defmethod allocate-matrix-vals ((object matrix) - &key - (dimensions '(1)) - adjustable - (initial-element 0)) - (setf (slot-value object 'm) - (make-array dimensions - :adjustable adjustable - :initial-element (coerce initial-element (element-type (class-of object))) - :element-type (element-type (class-of object))))) - -(defmethod shared-initialize :before - ((object matrix) slot-names &rest initargs &key dimensions rows cols adjustable initial-element) - (declare (ignore slot-names initargs dimensions adjustable initial-element) - (optimize (debug 3))) - (when (and rows cols) - (setf (slot-value object 'dimensions) - (list rows cols)))) - -(defmethod shared-initialize :after - ((object matrix) slot-names &rest initargs &key dimensions rows cols adjustable initial-element) - (declare (ignore slot-names initargs dimensions adjustable initial-element) - (optimize (debug 3))) - (apply #'allocate-matrix-vals object - (append - (list :dimensions (slot-value object 'dimensions)) - (list :adjustable (slot-value object 'adjustable)) - (when (slot-value object 'initial-element) - (list :initial-element (slot-value object 'initial-element)))))) - diff --git a/external/clem/src/exponential.lisp b/external/clem/src/exponential.lisp deleted file mode 100644 index 23551e6..0000000 --- a/external/clem/src/exponential.lisp +++ /dev/null @@ -1,40 +0,0 @@ - -(in-package :clem) - -(defmethod mat-square ((u matrix)) - (map-set-val-copy u #'(lambda (x) (* x x)))) - -(defmethod mat-square! ((u matrix)) - (map-set-val u #'(lambda (x) (* x x)))) - -(defmethod mat-sqrt ((u matrix)) - (map-set-val-copy u #'(lambda (x) (sqrt x)))) - -(defmethod mat-sqrt! ((u matrix)) - (map-set-val u #'(lambda (x) (sqrt x)))) - -(defmacro def-matrix-square (matrix-type) - (let ((element-type (element-type (find-class `,matrix-type)))) - `(progn - (defmethod mat-square! ((u ,matrix-type)) - (declare (optimize (speed 3) - (safety 0))) - (destructuring-bind (rows cols) (mapcar #'1- (dim u)) - (declare (type fixnum rows cols)) - (with-typed-map-range u ,element-type 0 rows 0 cols (a i j) - (let ((val (aref a i j))) - (declare (type ,element-type val)) - (setf (aref a i j) (* val val))))) - u) - - (defmethod mat-sqrt! ((u ,matrix-type)) - (destructuring-bind (rows cols) (mapcar #'1- (dim u)) - (declare (type fixnum rows cols)) - (with-map-range u ,element-type 0 rows 0 cols (a i j) - (setf (aref a i j) (sqrt (aref a i j))))) - u)))) - -(macrolet ((frob (type-1) - `(def-matrix-square ,type-1))) - (frob double-float-matrix) - (frob single-float-matrix)) diff --git a/external/clem/src/extrema.lisp b/external/clem/src/extrema.lisp deleted file mode 100644 index f6b48d4..0000000 --- a/external/clem/src/extrema.lisp +++ /dev/null @@ -1,102 +0,0 @@ -;;; extrema.lisp -;;; macros, functions and methods for finding matrix extrema -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; slow functions - -(defmethod min-range ((m matrix) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (let ((retval (val m startr startc))) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (setf retval (min retval v)))) - retval)) - -(defmethod max-range ((m matrix) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (let ((retval (val m startr startc))) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (setf retval (max retval v)))) - retval)) - -(defmethod min-val ((m matrix)) - (let ((minval (row-major-mref m 0))) - (loop for i from 0 below (matrix-total-size m) - do (setf minval (min minval (row-major-mref m i)))) - minval)) - -(defmethod max-val ((m matrix)) - (let ((maxval (row-major-mref m 0))) - (loop for i from 0 below (matrix-total-size m) - do (setf maxval (max maxval (row-major-mref m i)))) - maxval)) - -;;; fast functions - -(defmacro def-matrix-min-max (type) - (let ((element-type (element-type (find-class `,type))) - (accumulator-element-type (element-type (find-class `,type)))) - `(progn - (defmethod min-range ((m ,type) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (let ((acc (coerce (aref (matrix-vals m) startr startc) ',accumulator-element-type))) - (declare (type ,accumulator-element-type acc)) - (with-map-range m ,element-type startr endr startc endc (a i j) - (when (< (aref a i j) acc) - (setf acc (aref a i j)))) - acc)) - - (defmethod max-range ((m ,type) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (let ((acc (coerce (aref (matrix-vals m) startr startc) ',accumulator-element-type))) - (declare (type ,accumulator-element-type acc)) - (with-map-range m ,element-type startr endr startc endc (a i j) - (when (> (aref a i j) acc) - (setf acc (aref a i j)))) - acc))))) - -(macrolet ((frob (type) - `(def-matrix-min-max ,type))) - (frob double-float-matrix) - (frob single-float-matrix) - (frob ub8-matrix) - (frob ub16-matrix) - (frob ub32-matrix) - (frob sb8-matrix) - (frob sb16-matrix) - (frob sb32-matrix) - (frob fixnum-matrix) - (frob bit-matrix) - (frob integer-matrix) - (frob real-matrix)) - diff --git a/external/clem/src/interpolation.lisp b/external/clem/src/interpolation.lisp deleted file mode 100644 index fdd7061..0000000 --- a/external/clem/src/interpolation.lisp +++ /dev/null @@ -1,55 +0,0 @@ -;;; -;;; File: interpolation.cl -;;; Description: interpolation for the clem matrix package -;;; Author: Cyrus Harmon -;;; - -(in-package :clem) - - -(defmacro bilinear-interpolate - (g00 g01 g10 g11 a b) - (ch-util::once-only (g00 g01 g10 g11 a b) - `(+ ,g00 - (* ,a (- ,g10 ,g00)) - (* ,b (- ,g01 ,g00)) - (* ,a ,b (- (+ ,g00 ,g11) - (+ ,g10 ,g01)))))) - -(defmacro quadratic-kernel (s type) - (let ((minus-half (coerce -0.5 `,type)) - (half (coerce 0.5 `,type)) - (minus-one-point-five (coerce -1.5 `,type)) - (one-point-five (coerce 1.5 `,type)) - (five (coerce 5 `,type)) - (minus-two (coerce -2 `,type)) - (two (coerce 2 `,type)) - (one (coerce 1 `,type)) - (zero (coerce 0 `,type))) - `(cond ((<= ,minus-half ,s ,half) - (+ (* ,minus-two (* ,s ,s)) ,one)) - ((<= ,minus-one-point-five ,s ,one-point-five) - (+ (* ,s ,s) (- (/ (* ,five (abs ,s)) ,two)) ,one-point-five)) - (t ,zero)))) - -(defmacro quadratic-interpolate - (g00 g01 g02 - g10 g11 g12 - g20 g21 g22 a b - type) - `(let ((a0 (quadratic-kernel (- -1, a) ,type)) - (a1 (quadratic-kernel (- ,a) ,type)) - (a2 (quadratic-kernel (- 1 ,a) ,type)) - (b0 (quadratic-kernel (- -1 ,b) ,type)) - (b1 (quadratic-kernel (- ,b) ,type)) - (b2 (quadratic-kernel (- 1 ,b) ,type))) - (+ (* a0 (+ (* b0 ,g00) - (* b1 ,g01) - (* b2 ,g02))) - (* a1 (+ (* b0 ,g10) - (* b1 ,g11) - (* b2 ,g12))) - (* a2 (+ (* b0 ,g20) - (* b1 ,g21) - (* b2 ,g22)))))) - diff --git a/external/clem/src/logical-operations.lisp b/external/clem/src/logical-operations.lisp deleted file mode 100644 index 549f5c8..0000000 --- a/external/clem/src/logical-operations.lisp +++ /dev/null @@ -1,134 +0,0 @@ -;;; logical-operations.lop -;;; mlogand, mlogior, mlogxor, mlognot and mbitnor -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; mlogand -(def-binary-op "mlogand" logand bit-matrix bit-matrix bit-matrix) -(def-binary-op "mlogand" logand ub8-matrix ub8-matrix ub8-matrix) -(def-binary-op "mlogand" logand ub16-matrix ub16-matrix ub16-matrix) -(def-binary-op "mlogand" logand ub32-matrix ub32-matrix ub32-matrix) -(def-binary-op "mlogand" logand integer-matrix integer-matrix integer-matrix) - -;;; mlogior -(def-binary-op "mlogior" logior bit-matrix bit-matrix bit-matrix) -(def-binary-op "mlogior" logior ub8-matrix ub8-matrix ub8-matrix) -(def-binary-op "mlogior" logior ub16-matrix ub16-matrix ub16-matrix) -(def-binary-op "mlogior" logior ub32-matrix ub32-matrix ub32-matrix) -(def-binary-op "mlogior" logior integer-matrix integer-matrix integer-matrix) - -;;; mlogxor -(def-binary-op "mlogxor" logxor bit-matrix bit-matrix bit-matrix) -(def-binary-op "mlogxor" logxor ub8-matrix ub8-matrix ub8-matrix) -(def-binary-op "mlogxor" logxor ub16-matrix ub16-matrix ub16-matrix) -(def-binary-op "mlogxor" logxor ub32-matrix ub32-matrix ub32-matrix) -(def-binary-op "mlogxor" logxor integer-matrix integer-matrix integer-matrix) - -;;; mlognot -(def-unary-op "mlognot" lognot integer-matrix integer-matrix) -(def-unary-op "mlognot" lognot fixnum-matrix fixnum-matrix) -(def-unary-op "mlognot" lognot sb8-matrix sb8-matrix) -(def-unary-op "mlognot" lognot sb16-matrix sb16-matrix) -(def-unary-op "mlognot" lognot sb32-matrix sb32-matrix) - -(defmacro defmbitnor (name type-1 type-2 accumulator-type &key suffix) - (let ((class-1 (find-class `,type-1)) - (class-2 (find-class `,type-2))) - (let ((element-type-1 (element-type class-1)) - (element-type-2 (element-type class-2)) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - (let ((max (max (maxval class-1) (maxval class-2)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string name "-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc) - (destructuring-bind (mr mc) (dim m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (n ,element-type-2) - (with-typed-mref (p ,accumulator-element-type) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref p i j) - (logand ,max (lognor (mref m i j) (mref n i j))))))))) - p))) - - (defmethod ,(ch-util:make-intern (concatenate 'string name suffix)) - ((m ,type-1) (n ,type-2)) - (destructuring-bind (mr mc) (dim m) - (,(ch-util:make-intern (concatenate 'string name "-range" suffix)) m n 0 (1- mr) 0 (1- mc))))))))) - -(defmacro defmbitnor! (name type-1 type-2 accumulator-type &key suffix) - (declare (ignore accumulator-type)) - (let ((class-1 (find-class `,type-1)) - (class-2 (find-class `,type-2))) - (let ((element-type-1 (element-type class-1)) - (element-type-2 (element-type class-2))) - (let ((max (max (maxval class-1) (maxval class-2)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string name "!-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (n ,element-type-2) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref m i j) - (logand ,max (lognor (mref m i j) (mref n i j))))))) - m)) - - (defmethod ,(ch-util:make-intern (concatenate 'string name "!" suffix)) - ((m ,type-1) (n ,type-2)) - (destructuring-bind (mr mc) (dim m) - (,(ch-util:make-intern (concatenate 'string name "!-range" suffix)) m n 0 (1- mr) 0 (1- mc)))) - - ))))) - - -(defun bitnor (integer1 integer2 andmask) - (logand andmask (lognor integer1 integer2))) - -(macrolet ((frob (name type-1 type-2 type-3 &key suffix) - `(progn - (defmbitnor ,name ,type-1 ,type-2 ,type-3 :suffix ,suffix) - (defmbitnor! ,name ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - ;; mbitnor - (frob "mbitnor" bit-matrix bit-matrix bit-matrix) - (frob "mbitnor" ub8-matrix ub8-matrix ub8-matrix) - (frob "mbitnor" ub16-matrix ub16-matrix ub16-matrix) - (frob "mbitnor" ub32-matrix ub32-matrix ub32-matrix)) - diff --git a/external/clem/src/macros.lisp b/external/clem/src/macros.lisp deleted file mode 100644 index 849486d..0000000 --- a/external/clem/src/macros.lisp +++ /dev/null @@ -1,114 +0,0 @@ - -(in-package :clem) - -(defmacro def-unary-op (name op type-1 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string name "-range" suffix)) - ((m ,type-1) startr endr startc endc &key in-place) - (destructuring-bind (mr mc) (dim m) - (if in-place - (with-typed-mref (m ,element-type-1) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref m i j) - (,op (mref m i j))))) - m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref p i j) - (,op (mref m i j))))))) - p)))) - - (defmethod ,(ch-util:make-intern (concatenate 'string name suffix)) - ((m ,type-1) &key in-place) - (if in-place - (with-typed-mref (m ,element-type-1) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (,op (row-major-mref m i)))) - m) - (let ((p (make-instance ',accumulator-type :dimensions (matrix-dimensions m)))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref p i) - (,op (row-major-mref m i)))))) - p)))))) - -(defmacro def-binary-op (name op type-1 type-2 accumulator-type &key suffix (allow-in-place t)) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string name "-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc &key in-place) - (destructuring-bind (mr mc) (dim m) - (if in-place - ,(if allow-in-place - `(with-typed-mref (m ,element-type-1) - (with-typed-mref (n ,element-type-2) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref m i j) - (,op (mref m i j) (mref n i j)))))) - m) - `(error 'matrix-argument-error - :format-control - "in-place operation not allowed (~S of ~S and ~S" - :format-arguments (list '+ ',type-1 ',type-2))) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (p ,accumulator-element-type) - (with-typed-mref (n ,element-type-2) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref p i j) - (,op (mref m i j) (mref n i j)))))))) - p)))) - - (defmethod ,(ch-util:make-intern (concatenate 'string name suffix)) - ((m ,type-1) (n ,type-2) &key in-place) - (if in-place - ,(if allow-in-place - `(with-typed-mref (m ,element-type-1) - (with-typed-mref (n ,element-type-2) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (,op (row-major-mref m i) (row-major-mref n i))))) - m) - `(error 'matrix-argument-error - :format-control - "in-place operation not allowed (~S of ~S and ~S" - :format-arguments (list '+ ',type-1 ',type-2))) - (let ((p (make-instance ',accumulator-type :dimensions (matrix-dimensions m)))) - (with-typed-mref (m ,element-type-1) - (with-typed-mref (n ,element-type-2) - (with-typed-mref (p ,accumulator-element-type) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref p i) - (,op (row-major-mref m i) (row-major-mref n i))))))) - p)))))) - - - diff --git a/external/clem/src/matrix-classes.lisp b/external/clem/src/matrix-classes.lisp deleted file mode 100644 index 3c3ec71..0000000 --- a/external/clem/src/matrix-classes.lisp +++ /dev/null @@ -1,121 +0,0 @@ - -(in-package :clem) - -;;; taken from KMR's clsql package -(declaim (inline delistify)) -(defun delistify (list) - "Some MOPs, like openmcl 0.14.2, cons attribute values in a list." - (if (and (listp list) (null (cdr list))) - (car list) - list)) - -(defmacro defmatrixclass (type direct-superclasses &key - (element-type) - (accumulator-type) - (initial-element) - minval maxval - (val-format)) - (unless direct-superclasses (setf direct-superclasses '(matrix))) - `(progn - (defclass ,type ,direct-superclasses - ((initial-element :accessor initial-element - :initarg :initial-element :initform ,initial-element)) - (:metaclass standard-matrix-class) - ,@(when element-type `((:element-type ,(delistify element-type)))) - ,@(when accumulator-type `((:accumulator-type ,(delistify accumulator-type)))) - ,@(when val-format `((:val-format ,(delistify val-format)))) - ,@(when minval `((:minval ,(if (symbolp minval) (symbol-value minval) minval)))) - ,@(when maxval `((:maxval ,(if (symbolp maxval) (symbol-value minval) maxval))))))) - -(defmatrixclass t-matrix () - :element-type t - :accumulator-type t) - -(defmatrixclass number-matrix (t-matrix) - :element-type number - :accumulator-type number) - -(defmatrixclass real-matrix (number-matrix) - :element-type real - :accumulator-type real) - -(defmatrixclass complex-matrix (number-matrix) - :element-type complex - :accumulator-type complex) - -(defmatrixclass float-matrix (real-matrix) - :element-type float - :accumulator-type float - :val-format "~4,9F") - -(defmatrixclass integer-matrix (real-matrix) - :element-type integer - :accumulator-type integer - :val-format "~d") - -(defmatrixclass unsigned-byte-matrix (integer-matrix) - :element-type (unsigned-byte *) - :accumulator-type (unsigned-byte *) - :val-format "~d") - -(defmatrixclass bit-matrix (integer-matrix) :element-type (unsigned-byte 1) - :accumulator-type (signed-byte 32) - :minval 0 - :maxval 1 - :val-format "~b") - -(defmatrixclass ub8-matrix (unsigned-byte-matrix) - :element-type (unsigned-byte 8) - :accumulator-type (unsigned-byte 32) - :minval 0 - :maxval #.(- (expt 2 8) 1)) - -(defmatrixclass ub16-matrix (unsigned-byte-matrix) - :element-type (unsigned-byte 16) - :accumulator-type (unsigned-byte 32) - :minval 0 - :maxval #.(- (expt 2 16) 1)) - -(defmatrixclass ub32-matrix (unsigned-byte-matrix) - :element-type (unsigned-byte 32) - :accumulator-type (unsigned-byte 32) - :minval 0 - :maxval #.(- (expt 2 32) 1)) - -(defmatrixclass sb8-matrix (integer-matrix) - :element-type (signed-byte 8) - :accumulator-type (signed-byte 32) - :minval #.(- (expt 2 7)) - :maxval #.(- (expt 2 7) 1)) - -(defmatrixclass sb16-matrix (integer-matrix) - :element-type (signed-byte 16) - :accumulator-type (signed-byte 32) - :minval #.(- (expt 2 15)) - :maxval #.(- (expt 2 15) 1)) - -(defmatrixclass sb32-matrix (integer-matrix) - :element-type (signed-byte 32) - :accumulator-type (signed-byte 32) - :minval #.(- (expt 2 31)) - :maxval #.(- (expt 2 31) 1)) - -(defmatrixclass fixnum-matrix (integer-matrix) - :element-type fixnum - :accumulator-type (unsigned-byte 32) - :minval most-negative-fixnum - :maxval most-positive-fixnum) - -(defmatrixclass single-float-matrix (float-matrix) - :element-type single-float - :accumulator-type single-float - :initial-element 0f0 - :minval most-negative-single-float - :maxval most-positive-single-float) - -(defmatrixclass double-float-matrix (float-matrix) - :element-type double-float - :accumulator-type double-float - :initial-element 0d0 - :minval most-negative-double-float - :maxval most-positive-double-float) diff --git a/external/clem/src/matrix.lisp b/external/clem/src/matrix.lisp deleted file mode 100644 index a01a473..0000000 --- a/external/clem/src/matrix.lisp +++ /dev/null @@ -1,887 +0,0 @@ -;;; matrix.lisp -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - - -;;; matrix protocol - -(defgeneric dim (m) - (:documentation "Returns a list containg the number of - elments in each dimension of the matrix.")) - -(defgeneric rows (m) - (:documentation "Returns the number of rows in the matrix.")) - -(defgeneric cols (m) - (:documentation "Returns the number of columns in the matrix.")) - -(defgeneric val (m i j) - (:documentation "Returns the value of the element in the ith row of - the jth column of the matrix m.")) - -;;; This is totally bogys. Why do we have both mref and val? I'm -;;; assuming that val should go away! -(defgeneric mref (m &rest indices) - (:documentation "Returns the value of the element in the ith row of - the jth column of the matrix m.")) - -(defgeneric (setf mref) (v m &rest indices) - (:documentation "Set the value of the specified element at row row - and col col of matrix m to be v.")) - -(defgeneric row-major-mref (m index)) - -(defgeneric (setf row-major-mref) (v m index)) - -(defgeneric move-element (m i1 j1 n i2 j2) - (:documentation "Copy the contents of the element at row i1, column - j1, in matrix m to the element at row i2, column j2, in matrix n.")) - -(defgeneric set-val (m i j v &key coerce) - (:documentation "Sets the value of the element at row i, column j of - matrix m to v.")) - -(defgeneric set-val (m i j v &key coerce)) - -;;;; level-1 interface - -;;; arithmetic functions - -(defgeneric m+ (&rest matrices) - (:documentation "Element-wise addition of matrices. All matrices - must be of the same dimensions. Returns a matrix of the same size as - each matrix in matrices, whoses elements are the some of the - corresponding elements from each matrix in matrices.")) - -(defgeneric m- (&rest matrices) - (:documentation "When passed a single matrix, returns a new - matrix of the same dimensions as matrix whose elemnts are the - result of perforing a unary minus (or sign inversion) on each - element in the matrix. When passed more than one matrix, - performs element-wise subtraction of each matrix after the - first from the first matrix and returns a new matrix containing - these values.")) - -(defgeneric m* (&rest matrices) - (:documentation "General purpose matrix multiplication - operator. If one argument is supplied, returns that matrix. If - two arguments are supplied, if both are matrices, performs a - matrix multiplication equivalent to multiplying the first - matrix by the second matrix. if one argument is a matrix and - the other a number, m* scales the matrix by the numeric - argument. If more than two arguments are supplied, the first - two arguments are treated as in the two argument case and the - results are then multiplied by the remaining arguments such - that (m* m1 m2 m3) == (m* (m* m1 m2) m3).")) - -(defgeneric m.* (&rest matrices) - (:documentation "Hadamard multiplication operator. Performs an - element-wise multiplication of the elements in each matrix.")) - -;;; logical functions - -(defgeneric mlognot (m &key in-place) - (:documentation "Performs element-wise logical negation of the - matrix m. If in-place is nil, returns a new matrix with the - resulting values, otherwise, destructively modifies matrix - m.")) - -(defgeneric mlognot-range (m startr endr startc endc &key in-place)) - -(defgeneric mlogand-range (m1 m2 startr endr startc endc &key in-place)) -(defgeneric mlogand (m1 m2 &key in-place)) - -(defgeneric mlogior-range (m1 m2 startr endr startc endc &key in-place)) -(defgeneric mlogior (m1 m2 &key in-place)) - -(defgeneric mlogxor-range (m1 m2 startr endr startc endc &key in-place)) -(defgeneric mlogxor (m1 m2 &key in-place)) - -;;; FIXME!! fix bitnor -(defgeneric mbitnor-range (m1 m2 startr endr startc endc)) -(defgeneric mbitnor (m1 m2)) - -;;; extrema (min and max) - -(defgeneric min-range (m startr endr startc endc)) -(defgeneric max-range (m startr endr startc endc)) -(defgeneric sum-range (m startr endr startc endc)) -(defgeneric min-val (m)) -(defgeneric max-val (m)) - -;;; exponential functions - -(defgeneric mat-square (u)) -(defgeneric mat-square! (u)) -(defgeneric mat-sqrt (u)) -(defgeneric mat-sqrt! (u)) - -;;; sum - -(defgeneric sum (m)) -(defgeneric sum-cols (m &key matrix-class)) -(defgeneric sum-rows (m &key matrix-class)) -(defgeneric sum-square-range (m startr endr startc endc)) -(defgeneric sum-square (m)) - -;;; statistics - -(defgeneric mean-range (m startr endr startc endc)) -(defgeneric mean (m)) -(defgeneric variance-range (m startr endr startc endc)) -(defgeneric variance (m)) -(defgeneric sample-variance-range (m startr endr startc endc)) -(defgeneric sample-variance (m)) - - -;;; normalization - -(defgeneric normalize (u &key normin normax copy)) -(defgeneric norm-0-255 (u &key copy)) -(defgeneric norm-0-1 (u &key copy)) - -;;;; level-0 interface - -(defgeneric matrix-move-range-2d (m n startr1 endr1 startc1 endc1 - startr2 endr2 startc2 endc2)) - -(defgeneric matrix-move-range-2d-constrain - (m n startr1 endr1 startc1 endc1 - startr2 endr2 startc2 endc2)) - -(defgeneric matrix-move (m n &key constrain)) - -(defgeneric mat-mult-3-block (m n p)) - - -;;; log generic functions - -(defgeneric mlog-range (m startr endr startc endc &optional base)) - -(defgeneric mlog-range! (m startr endr startc endc &optional base)) - -(defgeneric mlog (m &optional base)) - -(defgeneric mlog! (m &optional base)) - -;;; hadamard product - -(defgeneric mat-hprod-range (m n startr endr startc endc)) - -(defgeneric mat-hprod (m n)) - -(defgeneric mat-hprod-range! (m n startr endr startc endc)) - -(defgeneric mat-hprod! (m n)) - -;;; add - -(defgeneric mat-add (a b &key in-place)) -(defgeneric mat-add-range (m n startr endr startc endc &key in-place)) - -;;; abs - -(defgeneric mabs (u)) - -(defgeneric mabs-range (m startr endr startc endc)) - -(defgeneric mabs-range! (m startr endr startc endc)) - -;;; transformation - -(defgeneric %transfrom-matrix (m n xfrm &key background interpolation)) - -;;; discrete convolution - -(defgeneric %discrete-convolve (u v z &key norm-v)) - -(defgeneric %separable-discrete-convolve (m h1 h2 z1 z2 &key truncate norm-v matrix-class)) - -;;;;; - -;;; Miscellaneous class utilities - -#+openmcl -(defun compute-class-precedence-list (class) - (ccl:class-precedence-list class)) - -(defun subclassp (c1 c2) - (subtypep (class-name c1) (class-name c2))) - -(defgeneric matrix-precedence-list (c) - (:method ((c class)) - (let ((mpl (compute-class-precedence-list c)) - (mc (find-class 'matrix))) - (mapcan #'(lambda (x) - (if (subclassp x mc) (when x (list x)))) - mpl) - ))) - -(defgeneric closest-common-matrix-class (m1 &rest mr) - (:method ((m1 matrix) &rest mr) - (car (apply #'ch-util:closest-common-ancestor - (mapcar #'(lambda (x) (matrix-precedence-list (class-of x))) - (cons m1 mr)))))) - -;;; gory implementation details follow - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; coerce/fit - -(defgeneric fit (m val)) -(defmethod fit ((m matrix) val) - (declare (ignore m)) - val) - -(defgeneric fit-value (val m)) -(defmethod fit-value (val (m matrix)) - (declare (ignore m)) - val) - -(defmethod dim ((m matrix)) (matrix-dimensions m)) - -(defmethod rows ((m matrix)) - (let ((vals (matrix-vals m))) - (if (and vals - (> (length (array-dimensions vals)) 0)) - (array-dimension vals 0) - 1))) - -(defmethod cols ((m matrix)) - (let ((vals (matrix-vals m))) - (if (and vals - (> (length (array-dimensions vals)) 1)) - (array-dimension vals 1) - 1))) - -(declaim (inline set-val)) -(defmethod val ((m matrix) i j) (aref (matrix-vals m) i j)) - - -;;; rvref treats the matrix as a row-vector (that is a -;;; 1 x n matrix). we should throw an error if this is not the case. -;;; TODO: add rvref methods for row-vector, column-vector, and scalar -;;; classes, erroring as appropriate. -(defgeneric rvref (rv i)) -(defmethod rvref ((rv matrix) i) (aref (matrix-vals rv) 1 i)) - -;;; cvref treats the matrix as a row-vector (that is an -;;; n x 1 matrix). we should throw an error if this is not the case. -;;; TODO: add cvref methods for row-vector, column-vector, and scalar -;;; classes, erroring as appropriate. -(defgeneric cvref (cv i)) -(defmethod cvref ((cv matrix) i) (aref (matrix-vals cv) i 1)) - - -(defmethod move-element ((m matrix) i1 j1 (n matrix) i2 j2) - (setf (mref n i2 j2) (mref m i1 j1))) - -(defmethod set-val ((m matrix) i j v &key (coerce t)) - (setf (aref (matrix-vals m) i j) - (if coerce - (coerce v (element-type (class-of m))) - v))) - -(defmethod set-val-fit ((m matrix) i j v &key (truncate nil)) - (setf (mref m i j) (if truncate (truncate v) v))) - - -(defmethod transpose ((m matrix)) - (destructuring-bind (rows cols) (dim m) - (declare (type fixnum rows cols)) - (let ((tr (make-instance (class-of m) :rows cols :cols rows))) - (dotimes (i rows) - (declare (type fixnum i)) - (dotimes (j cols) - (declare (type fixnum j)) - (set-val tr j i (val m i j)))) - tr))) - -(defmethod transpose ((m double-float-matrix)) - (destructuring-bind (rows cols) (dim m) - (declare (type fixnum rows cols)) - (let ((tr (make-instance 'double-float-matrix :rows cols :cols rows))) - (with-typed-mref (m double-float) - (with-typed-mref (tr double-float) - (dotimes (i rows) - (dotimes (j cols) - (setf (mref tr j i) (mref m i j)))))) - tr))) - -(defgeneric mat-mult (a b)) -(defmethod mat-mult ((a matrix) (b matrix)) - (destructuring-bind (ar ac) (dim a) - (destructuring-bind (br bc) (dim b) - (if (= ac br) - (let* ((c (make-instance (class-of a) :rows ar :cols bc))) - (dotimes (i ar) - (dotimes (j bc) - (let ((v 0)) - (dotimes (r ac) - (incf v (* (val a i r) (val b r j)))) - (set-val c i j v)))) - c) - (error 'matrix-argument-error - :format-control - "Incompatible matrix dimensions in mat-mult (~S x ~S) * (~S x ~S)." - :format-arguments (list ar ac br bc)))))) - -(declaim (inline inferior)) -(defun inferior (a b) - (if (< a b) a b)) - -(declaim (inline superior)) -(defun superior (a b) - (if (> a b) a b)) - -(declaim (inline constrain)) -(defun constrain (min val max) - (if (and min max) - (inferior (superior min val) max) - val)) - -;;; FIXME - figure out what to do about truncate -(defgeneric mat-copy-into (a c &key truncate constrain)) -(defmethod mat-copy-into ((a matrix) (c matrix) &key truncate constrain) - (declare (ignore truncate constrain)) - (destructuring-bind (m n) (dim a) - (dotimes (i m) - (declare (type fixnum i)) - (dotimes (j n) - (declare (type fixnum j)) - (move-element a i j c i j))) - c)) - -(defgeneric mat-copy-proto-dim (a m n &key initial-element)) -(defmethod mat-copy-proto-dim ((a matrix) (m fixnum) (n fixnum) - &key (initial-element nil initial-element-supplied-p)) - (apply #'make-instance (class-of a) :rows m :cols n - (when initial-element-supplied-p - (list :initial-element initial-element)))) - - -(defgeneric mat-copy-proto (a)) -(defmethod mat-copy-proto ((a matrix)) - (destructuring-bind (m n) (dim a) - (make-instance (class-of a) :rows m :cols n))) - -(defgeneric mat-copy (a &rest args)) -(defmethod mat-copy ((a matrix) &rest args) - (let ((c (mat-copy-proto a))) - (apply #'mat-copy-into a c args) - c)) - -(defgeneric mat-scalar-op (a b op)) -(defmethod mat-scalar-op ((a matrix) (b matrix) op) - (and (equal (dim a) (dim b)) - (destructuring-bind (m n) (dim a) - (let ((c (mat-copy a))) - (dotimes (i m c) - (dotimes (j n) - (set-val c i j (funcall op (val a i j) (val b i j))))))))) - -(defmethod mat-scalar-op ((a number) (b matrix) op) - (destructuring-bind (m n) (dim b) - (let ((c (mat-copy b))) - (dotimes (i m c) - (dotimes (j n) - (set-val c i j (funcall op a (val b i j)))))))) - -(defmethod mat-scalar-op ((a matrix) (b number) op) - (destructuring-bind (m n) (dim a) - (let ((c (mat-copy a))) - (dotimes (i m c) - (dotimes (j n) - (set-val c i j (funcall op (val a i j) b))))))) - -(defgeneric mat-subtr (a b &key in-place result-type)) - -(defgeneric swap-rows (a k l)) -(defmethod swap-rows ((a matrix) k l) - (let* ((da (dim a)) - (n (second da))) - (dotimes (j n) - (let ((h (val a k j))) - (set-val a k j (val a l j)) - (set-val a l j h))))) - -(defgeneric swap-cols (a k l)) -(defmethod swap-cols ((a matrix) k l) - (let* ((da (dim a)) - (m (first da))) - (dotimes (i m) - (let ((h (val a i k))) - (set-val a i k (val a i l)) - (set-val a i l h))))) - -(defgeneric map-col (a k f)) -(defmethod map-col ((a matrix) k f) - (destructuring-bind (m n) (dim a) - (declare (ignore n)) - (dotimes (i m) - (set-val a i k (funcall f (val a i k)))))) - -(defgeneric map-row (a k f)) -(defmethod map-row ((a matrix) k f) - (destructuring-bind (m n) (dim a) - (declare (ignore m)) - (dotimes (j n) - (set-val a k j (funcall f (val a k j)))))) - -(macrolet ((frob (name op) - `(progn - ;;; define the row op - (defgeneric ,(ch-util:make-intern (concatenate 'string "scalar-" name "-row")) - (a k q)) - (defmethod ,(ch-util:make-intern (concatenate 'string "scalar-" name "-row")) - ((a matrix) k q) - (map-row a k #'(lambda (x) (apply ,op (list x q)))) - a) - ;;; define the column op - (defgeneric ,(ch-util:make-intern (concatenate 'string "scalar-" name "-col")) - (a k q)) - (defmethod ,(ch-util:make-intern (concatenate 'string "scalar-" name "-col")) - ((a matrix) k q) - (map-col a k #'(lambda (x) (apply ,op (list x q)))) - a)))) - (frob "mult" #'*) - (frob "divide" #'/) - (frob "double-float-divide" #'/) - (frob "single-float-divide" #'/)) - -(defgeneric scalar-mult (m q)) -(defmethod scalar-mult ((m matrix) q) - (dotimes (i (first (dim m)) m) - (scalar-mult-row m i q)) - m) - -(defgeneric scalar-mult-copy (m q)) -(defmethod scalar-mult-copy ((a matrix) q) - (let ((m (mat-copy a))) - (scalar-mult m q))) - -(defgeneric scalar-divide (a q)) -(defmethod scalar-divide ((a matrix) q) - (dotimes (i (first (dim a)) a) - (scalar-divide-row a i q)) - a) - -(defgeneric scalar-divide-copy (a q)) -(defmethod scalar-divide-copy ((a matrix) q) - (let ((m (mat-copy a))) - (scalar-divide m q))) - -(defgeneric zero-matrix (j k &key matrix-class)) -(defmethod zero-matrix ((j fixnum) (k fixnum) &key (matrix-class 'matrix)) - (make-instance matrix-class :rows j :cols k)) - -(defgeneric identity-matrix (k &key matrix-class)) -(defmethod identity-matrix ((k fixnum) &key (matrix-class 'matrix)) - (let* ((a (zero-matrix k k :matrix-class matrix-class)) - (one (coerce 1 (element-type (class-of a))))) - (dotimes (i k a) - (set-val a i i one)))) - -(defgeneric concat-matrix-cols (a b &key matrix-type)) -(defmethod concat-matrix-cols ((a matrix) (b matrix) &key matrix-type) - (let ((da (dim a)) (db (dim b))) - (cond - ((equal (first da) (first db)) - (let ((c (make-instance (if matrix-type - matrix-type - (class-of a)) :rows (first da) :cols (+ (second da) (second db))))) - (let ((m (first da)) - (n (second da)) - (q (second db))) - (dotimes (i m) - (dotimes (j n) - (set-val c i j (val a i j) :coerce t))) - (dotimes (i m) - (dotimes (j q) - (set-val c i (+ j n) (val b i j) :coerce t)))) - c)) - (t nil)))) - -(defgeneric subset-matrix-cols (a x y &key (matrix-type))) -(defmethod subset-matrix-cols ((a matrix) x y &key (matrix-type)) - (let ((da (dim a))) - (cond - ((< x y) - (let* ((m (first da)) - (n (- y x)) - (c (make-instance (if matrix-type - matrix-type - (class-of a)) :rows (first da) :cols (- y x)))) - (dotimes (i m) - (dotimes (j n) - (set-val c i j (val a i (+ j x))))) - c)) - (t nil)))) - -;;; this should be optimized via a type-specific method -;;; for each matrix class -(defgeneric get-first-non-zero-row-in-col (a j &optional start)) -(defmethod get-first-non-zero-row-in-col ((a matrix) j &optional (start 0)) - (let ((n (first (dim a)))) - (do ((i start (+ i 1))) - ((or (= i n) - (not (= (val a i j) 0))) - (if (= i n) - nil - i))))) - -;;; this should be optimized via a type-specific method -;;; for each matrix class -(defgeneric invert-matrix (a)) -(defmethod invert-matrix ((a matrix)) - (let* ((n (second (dim a))) - (c (concat-matrix-cols a (identity-matrix n) :matrix-type 'double-float-matrix))) - (do* - ((y 0 (+ y 1))) - ((or (= y n) (not c))) - (let ((z (get-first-non-zero-row-in-col c y y))) - (cond - ((not z) (setf c nil)) - (t - (if (> z y) - (swap-rows c y z)) - (scalar-divide-row c y (val c y y)) - (do* - ((i 0 (+ i 1))) - ((= i n)) - (unless (= i y) - (let ((k (val c i y))) - (dotimes (j (* n 2)) - (set-val c i j (+ (val c i j) - (* (- k) (val c y j)))))))))))) - (unless (not c) - (subset-matrix-cols c n (+ n n) :matrix-type 'double-float-matrix)))) - -(defgeneric transpose-matrix (a)) -(defmethod transpose-matrix ((a matrix)) - (let* ((da (dim a)) - (m (first da)) - (n (second da)) - (c (make-instance (class-of a) :rows n :cols m))) - (dotimes (i m) - (dotimes (j n) - (set-val c j i (val a i j)))) - c)) - -(defgeneric add-row (m &key values initial-element) - (:method ((m matrix) &key values initial-element) - (if (adjustable m) - (progn - (if (null initial-element) - (setf initial-element (initial-element m))) - (let ((d (dim m))) - (setf (matrix-vals m) - (adjust-array (matrix-vals m) (list (+ 1 (first d)) (second d)) - :initial-element initial-element)) - (if values - (do - ((l values (cdr l)) - (i 0 (+ i 1))) - ((not l)) - (set-val m (first d) i (car l)))))) - (error 'matrix-error :message "Tried to add-row to non-adjustable matrix ~A" m)))) - -(defgeneric add-col (m &key values initial-element) - (:method ((m matrix) &key values initial-element) - (if (adjustable m) - (progn - (if (null initial-element) - (setf initial-element (initial-element m))) - (let ((d (dim m))) - (setf (matrix-vals m) - (adjust-array (matrix-vals m) (list (first d) (+ 1 (second d))) - :initial-element initial-element)) - (if values - (do - ((l values (cdr l)) - (i 0 (+ i 1))) - ((not l)) - (set-val m i (second d) (car l)))))) - (error 'matrix-error :message "Tried to add-col to non-adjustable matrix ~A" m)))) - -(defgeneric reshape (m rows cols &key initial-element) - (:method ((m matrix) rows cols &key initial-element) - (if (adjustable m) - (progn - (if (null initial-element) - (setf initial-element (initial-element m))) - (setf (matrix-vals m) - (adjust-array (matrix-vals m) (list rows cols) - :initial-element initial-element))) - (error 'matrix-error :message "Tried to reshape non-adjustable matrix ~A" m)))) - -(defgeneric horzcat (m1 &rest mr) - (:method ((m1 matrix) &rest mr) - (let ((rows (apply #'max (mapcar #'rows (cons m1 mr)))) - (cols (apply #'+ (mapcar #'cols (cons m1 mr))))) - (let ((z (make-instance (apply #'closest-common-matrix-class m1 mr) - :rows rows - :cols cols))) - (let ((coff 0)) - (dolist (x (cons m1 mr)) - (map-set-range z 0 (- (rows x) 1) coff (+ coff (- (cols x) 1)) - #'(lambda (v i j) (declare (ignore v)) (val x i (- j coff)))) - (incf coff (cols x)) - )) - z)))) - -(defgeneric vertcat (m1 &rest mr) - (:method ((m1 matrix) &rest mr) - (let ((rows (apply #'+ (mapcar #'rows (cons m1 mr)))) - (cols (apply #'max (mapcar #'cols (cons m1 mr))))) - (let ((z (make-instance (apply #'closest-common-matrix-class m1 mr) - :rows rows - :cols cols))) - (let ((roff 0)) - (dolist (x (cons m1 mr)) - (map-set-range z roff (+ roff (- (rows x) 1)) 0 (- (cols x) 1) - #'(lambda (v i j) (declare (ignore v)) (val x (- i roff) j))) - (incf roff (rows x)) - )) - z)))) - -(defgeneric pad-matrix (m)) -(defmethod pad-matrix ((m matrix)) - (cond - ((> (rows m) (cols m)) - (let ((delta (- (rows m) (cols m)))) - (horzcat (make-instance (class-of m) - :rows (rows m) - :cols (ceiling (/ delta 2))) - m - (make-instance (class-of m) - :rows (rows m) - :cols (floor (/ delta 2)))))) - ((> (cols m) (rows m)) - (let ((delta (- (cols m) (rows m)))) - (vertcat (make-instance (class-of m) - :rows (ceiling (/ delta 2)) - :cols (cols m)) - m - (make-instance (class-of m) - :rows (floor (/ delta 2)) - :cols (cols m))))))) - -(defgeneric set-row (m r values)) -(defmethod set-row ((m matrix) r values) - (do - ((l values (cdr l)) - (i 0 (+ i 1))) - ((not l)) - (set-val m r i (car l)))) - -(defgeneric set-col (m c values)) - -(defmethod set-col ((m matrix) c values) - (do - ((l values (cdr l)) - (i 0 (+ i 1))) - ((not l)) - (set-val m i c (car l)))) - -(defgeneric get-row-list (m r &optional start)) - -(defmethod get-row-list ((m matrix) r &optional (start 0)) - (cond - ((< start (second (dim m))) - (cons (val m r start) - (get-row-list m r (+ 1 start)))) - (t nil))) - -(defgeneric get-col-list (m c &optional start)) - -(defmethod get-col-list ((m matrix) c &optional (start 0)) - (cond - ((< start (first (dim m))) - (cons (val m start c) - (get-col-list m c (+ 1 start)))) - (t nil))) - -(defgeneric map-set-val (a f)) - -(defmethod map-set-val ((m matrix) f) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (funcall f (row-major-mref m i)))) - m) - -;;; FIXME THIS IS BROKEN! -(defgeneric map-set-val-fit (a f &key truncate)) -(defmethod map-set-val-fit ((a matrix) f &key (truncate t)) - (destructuring-bind (m n) (dim a) - (declare (dynamic-extent m n) (fixnum m n)) - (dotimes (i m) - (declare (dynamic-extent i) (fixnum i)) - (dotimes (j n) - (declare (dynamic-extent j) (fixnum j)) - (set-val-fit a i j (funcall f (val a i j)) :truncate truncate)))) - a) - -(defgeneric map-set-val-copy (a f)) -(defmethod map-set-val-copy ((a matrix) f) - (destructuring-bind (ar ac) (dim a) - (declare (dynamic-extent ar ac) (fixnum ar ac)) - (let* ((b (mat-copy-proto a))) - (dotimes (i ar) - (declare (dynamic-extent i) (fixnum i)) - (dotimes (j ac) - (declare (dynamic-extent j) (fixnum j)) - (set-val b i j (funcall f (val a i j))))) - b))) - -(defgeneric map-range (a startr endr startc endc f)) -(defmethod map-range ((a matrix) - (startr fixnum) - (endr fixnum) - (startc fixnum) - (endc fixnum) - f) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (funcall f (val a i j) i j)))) - -(defgeneric map-set-range (a startr endr startc endc func)) -(defmethod map-set-range ((a matrix) - (startr fixnum) - (endr fixnum) - (startc fixnum) - (endc fixnum) - f) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (fixnum j)) - (set-val a i j (funcall f (val a i j) i j))))) - -(defgeneric random-matrix (rows cols &key matrix-class limit) - (:documentation "Create a matrix of type having - rows and cols. The values of the matrix will be -random numbers of the appropriate type between 0 and .")) - -(defmethod random-matrix ((rows fixnum) (cols fixnum) &key - (matrix-class 'matrix) - (limit 1.0d0)) - (declare (dynamic-extent rows cols) - (fixnum rows cols)) - (let ((a (make-instance matrix-class :rows rows :cols cols))) - (map-set-val a #'(lambda (x) (declare (ignore x)) (random limit))) - a)) - - -(defun count-range (startr endr startc endc) - (* (1+ (- endr startr)) (1+ (- endc startc)))) - -(defun double-float-divide (&rest args) - (apply #'/ (mapcar #'(lambda (x) (coerce x 'double-float)) args))) - -(defgeneric subset-matrix (u startr endr startc endc)) -(defmethod subset-matrix ((u matrix) startr endr startc endc) - (destructuring-bind (ur uc) (dim u) - (cond - ((and (<= startr endr ur) (<= startc endc uc)) - (let* ((m (1+ (- endr startr))) - (n (1+ (- endc startc))) - (c (mat-copy-proto-dim u m n))) - (dotimes (i m) - (dotimes (j n) - (set-val c i j (val u (+ i startr) (+ j startc))))) - c)) - (t nil)))) - -(defgeneric map-matrix-copy (a f &key matrix-class)) -(defmethod map-matrix-copy ((a matrix) f &key (matrix-class (class-of a))) - (destructuring-bind (m n) (dim a) - (let* ((b (make-instance matrix-class :rows m :cols n))) - (dotimes (i m) - (dotimes (j n) - (set-val b i j (funcall f a i j)))) - b))) - -(defgeneric array->matrix (a &key matrix-class)) -(defmethod array->matrix ((a array) &key (matrix-class 'matrix)) - (let ((d (array-dimensions a)) - (element-type (element-type (find-class matrix-class))) - (m)) - (cond ((= (length d) 2) - (destructuring-bind (ar ac) d - (cond -#| ((and (= ar 1) (= ac 1)) - (setf m (scalar (aref a 0 0)))) - ((= ac 1) - (setf m (array->col-vector a))) - ((= ar 1) - (setf m (array->row-vector a))) -|# - (t - (setf m (make-instance matrix-class :rows ar :cols ac)) - (let ((k 0)) - (dotimes (i ar) - (dotimes (j ac) - (set-val m i j (aref a i j) :coerce t) - (incf k)))))))) - ((> (length d) 0) - (setf m (make-instance matrix-class :dimensions d)) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (coerce - (row-major-aref a i) - element-type))))) - m)) - -(defgeneric matrix->list (m)) -(defmethod matrix->list ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (loop for i below mr - append (loop for j below mc - collect (mref m i j))))) - -(defgeneric mat-trim (m k)) -(defmethod mat-trim ((m matrix) k) - (destructuring-bind (mr mc) (dim m) - (subset-matrix m k (- mr k 1) k (- mc k 1)))) - - diff --git a/external/clem/src/matrixops.lisp b/external/clem/src/matrixops.lisp deleted file mode 100644 index 4019e8f..0000000 --- a/external/clem/src/matrixops.lisp +++ /dev/null @@ -1,449 +0,0 @@ -;;; -;;; file: matrixops.cl -;;; author: cyrus harmon -;;; - -;;; -;;; 2004-05-07 - This class contains matrix operations such as -;;; gaussian-blur, gradient, etc... -;;; -;;; Relies on the matrix package for matrix datatypes -;;; and core functions such as discrete-convolve -;;; - -(in-package :clem) - - -;;; discrete-convolve takes two matrices and returns -;;; a new matrix which is the convolution of the two matrices. -;;; To convolve, for each row,col of the matrix u, overlay matrix v -;;; the current cell and take the sum of the product of all of the -;;; u,v pairs. Note that v is rotated 180 degrees wrt u so that -;;; if we are calculating the value of (1,1) in the convolution of -;;; 3x3 matrices, the first number we would sum would be (0,0) x (2,2) -;;; not (0,0) x (0,0) - -;;; discrete-convolve takes two matrices and returns -;;; a new matrix which is the convolution of the two matrices. -;;; To convolve, for each row,col of the matrix u, overlay matrix v -;;; the current cell and take the sum of the product of all of the -;;; u,v pairs. Note that v is rotated 180 degrees wrt u so that -;;; if we are calculating the value of (1,1) in the convolution of -;;; 3x3 matrices, the first number we would sum would be (0,0) x (2,2) -;;; not (0,0) x (0,0) - - -(defgeneric discrete-convolve (u v &key truncate norm-v matrix-class)) - -(defmethod discrete-convolve ((u matrix) (v matrix) - &key (truncate nil) (norm-v t) - (matrix-class nil)) - ;; (declare (optimize (speed 3) (safety 0) (space 0))) - ;;; ur, uc, vr, vc are the number of rows and columns in u and v - (print 'unspecialized-discrete-convolve!) - (destructuring-bind (ur uc) (dim u) - (declare (dynamic-extent ur uc) (fixnum ur uc)) - (destructuring-bind (vr vc) (dim v) - (declare (fixnum vr vc) (dynamic-extent vr vc)) - ;;; need a new matrix z to hold the values of the convolved matrix - ;;; dim z should be dim u + dim v - 1 - (let ((zr (+ ur vr (- 1))) - (zc (+ uc vc (- 1)))) - (declare (fixnum zr zc) (dynamic-extent zr zc)) - (unless matrix-class - (setf matrix-class (type-of u))) - (let ((z (make-instance matrix-class :rows zr :cols zc)) - (vsum (sum v))) - (dotimes (i zr) - (let ((ustartr (max 0 (- i vr -1))) - (uendr (min (- ur 1) i)) - (vstartr (- vr (max (- vr i) 1))) - (vendr (- vr (min (- zr i) vr)))) - (dotimes (j zc) - (let ((ustartc (max 0 (- j vc -1))) - (uendc (min (- uc 1) j)) - (vstartc (- vc (max (- vc j) 1))) - (vendc (- vc (min (- zc j) vc))) - (acc 0)) - (let ((normval (if (and norm-v (or (not (= vendr vendc 0)) - (< vstartr (- vr 1)) - (< vstartc (- vc 1)))) - (let ((rsum (sum-range v vendr vstartr vendc vstartc))) - (if (not (= rsum 0)) - (/ vsum rsum) - 0)) - nil))) - (do ((urow ustartr (1+ urow)) - (vrow vstartr (1- vrow))) - ((> urow uendr)) - (declare (fixnum urow vrow)) - (declare (dynamic-extent urow vrow)) - (do ((ucol ustartc (1+ ucol)) - (vcol vstartc (1- vcol))) - ((> ucol uendc)) - (declare (fixnum ucol vcol)) - (declare (dynamic-extent ucol vcol)) - (let ((uv (val u urow ucol)) - (vv (val v vrow vcol))) - (declare (dynamic-extent uv vv)) - (incf acc (* uv vv)) - ))) - (if normval - (setf acc (fit-value (* acc normval) z))) - (if truncate - (set-val-fit z i j acc :truncate truncate) - (set-val z i j acc))))))) - z))))) - -(defun gaussian-kernel (k sigma) - (let* ((d (1+ (* 2 k))) - (a (make-instance 'double-float-matrix :rows d :cols d)) - (q (* 2 sigma sigma)) - (z (/ (* pi q)))) - (dotimes (i d) - (dotimes (j d) - (set-val a i j - (* (exp (- (/ (+ (* (- i k) (- i k)) - (* (- j k) (- j k))) - q))) - z)))) - (scalar-divide a (sum-range a 0 (- d 1) 0 (- d 1))) - a)) - - -(defun gaussian-kernel-1d (k sigma) - (let* ((d (1+ (* 2 k))) - (a (make-instance 'double-float-matrix :rows d :cols 1)) - (q (* 2 sigma sigma)) - (z (/ (* pi q)))) - (dotimes (i d) - (set-val a i 0 - (* (exp (- (/ (+ (* (- i k) (- i k)) - (* (- i k) (- i k))) - q))) - z))) - (scalar-divide a (sum-range a 0 (- d 1) 0 0)) - a)) - -(defgeneric separable-discrete-convolve (m h1 h2 &key truncate norm-v)) - -(defmethod separable-discrete-convolve (m h1 h2 &key (truncate nil) (norm-v nil)) - (let* ((m1 (discrete-convolve m h1 :truncate truncate :norm-v norm-v)) - (m2 (discrete-convolve m1 h2 :truncate truncate :norm-v norm-v))) - m2)) - -(defun gaussian-blur (m &key (k 2) (sigma 1) (truncate nil)) - (let* ((hr (gaussian-kernel-1d k sigma)) - (hc (transpose hr))) - (separable-discrete-convolve m hr hc :truncate truncate))) - -(defparameter *x-derivative-conv-matrix* - (transpose (array->sb8-matrix #2A((1 0 -1)(1 0 -1)(1 0 -1))))) - -(defun x-derivative (m &key (matrix-class 'double-float-matrix) (truncate t)) - (let ((m1 (copy-to-matrix-type m matrix-class)) - (m2 (copy-to-matrix-type *x-derivative-conv-matrix* matrix-class))) - (mat-scale (discrete-convolve m1 m2 - :truncate truncate :matrix-class matrix-class) - (/ 3)))) - -(defparameter *y-derivative-conv-matrix* - (array->sb8-matrix #2A((1 0 -1)(1 0 -1)(1 0 -1)))) - -(defun y-derivative (m &key (matrix-class 'double-float-matrix) (truncate t)) - (mat-scale - (discrete-convolve (copy-to-matrix-type m matrix-class) - (copy-to-matrix-type *y-derivative-conv-matrix* matrix-class) - :truncate truncate :matrix-class matrix-class) - (/ 3))) - -(defun gradmag (m &key (truncate nil)) - (let ((xd (x-derivative m :truncate truncate)) - (yd (y-derivative m :truncate truncate))) - (mat-square! xd) - (mat-square! yd) - (mat-sqrt! (mat-add xd yd :in-place t)))) - -(defun graddir (m &key (truncate nil)) - (let ((xd (x-derivative m :truncate truncate)) - (yd (y-derivative m :truncate truncate))) - (destructuring-bind (ur uc) (dim xd) - (dotimes (i ur) - (dotimes (j uc) - (set-val xd i j - (if (zerop (val yd i j)) - (val yd i j) - (atan (/ (val xd i j) (val yd i j)))))))) - xd)) - -(defparameter *laplacian-conv-matrix* - (array->sb8-matrix #2A((0 1 0)(1 -4 1)(0 1 0)))) - -(defun laplacian (m &key (matrix-class 'double-float-matrix) (truncate t)) - (mat-scale - (discrete-convolve (copy-to-matrix-type m matrix-class) - (copy-to-matrix-type *laplacian-conv-matrix* matrix-class) - :truncate truncate :matrix-class matrix-class) - (/ 4))) - -(defparameter *laplacian-conv-matrix-2* - (array->sb8-matrix #2A((0 0 1 0 0) - (0 0 0 0 0) - (1 0 -4 0 1) - (0 0 0 0 0) - (0 0 1 0 0)))) - - -(defun laplacian-2 (m &key (matrix-class 'double-float-matrix) (truncate t)) - (mat-scale - (discrete-convolve (copy-to-matrix-type m matrix-class) - (copy-to-matrix-type *laplacian-conv-matrix-2* matrix-class) - :truncate truncate :matrix-class matrix-class) - (/ 4) - :in-place t)) - - -(defun variance-window (a &key (k 2)) - (destructuring-bind (m n) (dim a) - (let ((zm (1- m)) - (zn (1- n))) - (map-matrix-copy a #'(lambda (m i j) (variance-range - m - (max 0 (- i k)) - (min zm (+ i k)) - (max 0 (- j k)) - (min zn (+ j k)))) - :matrix-class 'double-float-matrix)))) - -(defun sample-variance-window (a &key (k 1) (truncate nil)) - ;;; FIXME remove truncate, I think - (declare (ignore truncate)) - (destructuring-bind (m n) (dim a) - (let ((zm (1- m)) - (zn (1- n))) - (map-matrix-copy a #'(lambda (m i j) (sample-variance-range - m - (max 0 (- i k)) - (min zm (+ i k)) - (max 0 (- j k)) - (min zn (+ j k)))))))) - -(defgeneric morphological-op (u v f)) -(defmethod morphological-op ((u matrix) (v matrix) f) - ;;; ur, uc, vr, vc are the number of rows and columns in u and v - (destructuring-bind (ur uc) (dim u) - (destructuring-bind (vr vc) (dim v) - ;;; need a new matrix z to hold the values of the convolved matrix - ;;; dim z should be dim u + dim v - 1 - (let ((zr (+ ur vr (- 1))) - (zc (+ uc vc (- 1)))) - (let ((z (make-instance (class-of u) :rows zr :cols zc))) - (dotimes (i zr) - (let ((ustartr (max 0 (- i vr -1))) - (uendr (min (- ur 1) i)) - (vstartr (- vr (max (- vr i) 1))) -; (vendr (- vr (min (- zr i) vr))) - ) - (dotimes (j zc) - (let ((ustartc (max 0 (- j vc -1))) - (uendc (min (- uc 1) j)) - (vstartc (- vc (max (- vc j) 1))) - (acc '())) -; (vendc (- vc (min (- zc j) vc)))) -; (print (list i j ";" ustartr uendr ";" ustartc uendc -; ";" vstartr vendr ";" vstartc vendc)) - (do ((urow ustartr (1+ urow)) - (vrow vstartr (1- vrow))) - ((> urow uendr)) - (do ((ucol ustartc (1+ ucol)) - (vcol vstartc (1- vcol))) - ((> ucol uendc)) - (setf acc (funcall f acc (val u urow ucol) (val v vrow vcol))))) -; (setf acc (max acc (* (val u urow ucol) (val v vrow vcol)))))) - (set-val-fit z i j acc))))) - z))))) - -(defun separable-morphological-op (m h f) - (let ((rowstart (floor (/ (1- (rows h)) 2))) - (rowend (floor (/ (rows h) 2))) - (colstart (floor (/ (1- (cols h)) 2))) - (colend (floor (/ (cols h) 2)))) - - (declare (dynamic-extent rowstart rowend colstart colend) - (index-type rowstart rowend colstart colend)) - - (let ((h1 (subset-matrix h rowstart rowend 0 (1- (cols h)))) - (h2 (subset-matrix h 0 (1- (rows h)) colstart colend))) - (let* - ((m1 (morphological-op m h1 f)) - (m2 (morphological-op m1 h2 f))) - m2)))) - -(defgeneric dilate (u v)) -(defmethod dilate ((u matrix) (v matrix)) - (separable-morphological-op u v #'(lambda (acc uval vval) - (let ((opval (+ uval vval))) - (cond - ((null acc) opval) - (t (max acc opval))))))) - -(defgeneric erode (u v)) -(defmethod erode ((u matrix) (v matrix)) - (separable-morphological-op u v #'(lambda (acc uval vval) - (let ((opval (- uval vval))) - (cond - ((null acc) opval) - (t (min acc opval))))))) - -#+nil -(defmethod dilate-orig ((u matrix) r) -;;; ur, uc, vr, vc are the number of rows and columns in u and v - (destructuring-bind (ur uc) (dim u) - (let ((z (make-instance (class-of u) :rows ur :cols uc))) - (dotimes (i ur) - (let ((ustartr (max 0 (- i r))) - (uendr (min (- ur 1) (+ i r)))) - (dotimes (j uc) - (let ((ustartc (max 0 (- j r))) - (uendc (min (- uc 1) (+ j r))) - (max-val (val u i j))) - (do ((urow ustartr (1+ urow))) - ((> urow uendr)) - (do ((ucol ustartc (1+ ucol))) - ((> ucol uendc)) - (setf max-val (max max-val (val u urow ucol))))) - (set-val z i j max-val))))) - z))) - - -#+nil -(defmethod erode-orig ((u matrix) r) -;;; ur, uc, vr, vc are the number of rows and columns in u and v - (destructuring-bind (ur uc) (dim u) - (let ((z (make-instance (class-of u) :rows ur :cols uc))) - (dotimes (i ur) - (let ((ustartr (max 0 (- i r))) - (uendr (min (- ur 1) (+ i r)))) - (dotimes (j uc) - (let ((ustartc (max 0 (- j r))) - (uendc (min (- uc 1) (+ j r))) - (min-val (val u i j))) - (do ((urow ustartr (1+ urow))) - ((> urow uendr)) - (do ((ucol ustartc (1+ ucol))) - ((> ucol uendc)) - (setf min-val (min min-val (val u urow ucol))))) - (set-val z i j min-val))))) - z))) - -(defgeneric threshold (u tval &key minval maxval)) -(defmethod threshold ((u matrix) (tval number) &key (minval 0) (maxval 255)) - (map-set-val-copy u #'(lambda (x) (if (> x tval) - maxval - minval)))) - -(defgeneric binary-threshold (u tval)) -(defmethod binary-threshold ((u matrix) (tval number)) - (destructuring-bind (rows cols) - (clem:dim u) - (let ((thresh (make-instance 'bit-matrix :rows (rows u) :cols (cols u)))) - (dotimes (i rows) - (dotimes (j cols) - (setf (mref thresh i j) - (if (> (mref u i j) tval) 1 0)))) - thresh))) - -(defgeneric complement-matrix (u &key maxval)) -(defmethod complement-matrix ((u matrix) &key (maxval (max-val u))) - (destructuring-bind (rows cols) - (clem:dim u) - (let ((comp (mat-copy-proto u))) - (dotimes (i rows) - (dotimes (j cols) - (setf (mref comp i j) (- maxval (mref u i j))))) - comp))) - -(defun standard-deviation (&rest matrices) - (flet ((square (q) - (* q q))) - (when matrices - (let ((x (make-instance 'double-float-matrix - :rows (rows (car matrices)) - :cols (cols (car matrices)))) - (sd (make-instance 'double-float-matrix - :rows (rows (car matrices)) - :cols (cols (car matrices)))) - (n (length matrices))) - (dotimes (i (rows sd)) - (dotimes (j (cols sd)) - (loop for m in matrices - do - (incf (mref x i j) (mref m i j))))) - (mat-scale x (/ n) :in-place t) - (dotimes (i (rows sd)) - (dotimes (j (cols sd)) - (loop for m in matrices - do - (incf (mref sd i j) (square (- (mref m i j) (mref x i j))))))) - (mat-scale sd (/ (1- n)) :in-place t) - (mat-sqrt sd))))) - - -(defun matrix-means (&rest matrices) - (cond ((null matrices) nil) - ((= (length matrices) 1) (car matrices)) - (t - (when matrices - (let ((x (make-instance 'double-float-matrix - :rows (rows (car matrices)) - :cols (cols (car matrices)))) - (n (length matrices))) - (dotimes (i (rows x)) - (dotimes (j (cols x)) - (loop for m in matrices - do - (incf (mref x i j) (mref m i j))))) - (mat-scale x (/ n) :in-place t) - x))))) - -(defun matrix-medians (matrices) - (cond ((null matrices) nil) - ((= (length matrices) 1) (car matrices)) - (t - (when matrices - (let ((x (make-instance 'double-float-matrix - :rows (rows (car matrices)) - :cols (cols (car matrices))))) - (dotimes (i (rows x)) - (dotimes (j (cols x)) - (loop for m in matrices - with l - do (push (mref m i j) l) - finally (setf (mref x i j) - (coerce (ch-util::median l) - 'double-float))))) - x))))) - -(defgeneric matrix-l2-distance (b0 b1 &key dest)) - -;; we could probably make this faster by passing in a double-float-matrix that we -;; could use as a temporary destination matrix -(defmethod matrix-l2-distance ((b0 matrix) (b1 matrix) &key dest) - (declare (optimize (speed 3) - (safety 0))) - (let ((n (the fixnum (* (the fixnum (clem:rows b0)) (the fixnum (clem:cols b0)))))) - (declare (type fixnum n)) - (/ - ;; if we have a destination matrix, use it, otherwise we need to allocate one - (the double-float - (if dest - (clem:sum - (clem:mat-square! - (progn - (clem::matrix-move b0 dest) - (clem:mat-subtr dest b1 :in-place t) - dest))) - (clem:sum - (clem:mat-square - (clem::copy-to-double-float-matrix (clem:m- b0 b1)))))) - n))) diff --git a/external/clem/src/metaclasses.lisp b/external/clem/src/metaclasses.lisp deleted file mode 100644 index e0ff92f..0000000 --- a/external/clem/src/metaclasses.lisp +++ /dev/null @@ -1,195 +0,0 @@ - -(in-package :clem) - -;;; Taken from KMR's clsql package -(defun remove-keyword-arg (arglist akey) - (let ((mylist arglist) - (newlist ())) - (labels ((pop-arg (alist) - (let ((arg (pop alist)) - (val (pop alist))) - (unless (equal arg akey) - (setf newlist (append (list arg val) newlist))) - (when alist (pop-arg alist))))) - (pop-arg mylist)) - newlist)) - -;;; Also taken from KMR's clsql package -(declaim (inline delistify-dsd)) -(defun delistify-dsd (list) - "Some MOPs, like openmcl 0.14.2, cons attribute values in a list." - (if (and (listp list) (null (cdr list))) - (car list) - list)) - -;;; Taken from util so I don't need to include it here -(defun insert-before (new old list) - (labels ((build-list (old c &optional newlist) - (if c - (if (eq old (car c)) - (append (reverse (cdr c)) (cons (car c) (cons new newlist))) - (build-list old (cdr c) (cons (car c) newlist))) - (cons new newlist)))) - (reverse (build-list old list)))) - - -(defun fill-slot-from-ancestor (slot class) - (let ((ancestor (find-if #'(lambda (anc) - (when (slot-exists-p anc slot) - (slot-boundp anc slot))) - (cdr (compute-class-precedence-list class))))) - (when ancestor - (setf (slot-value class slot) (slot-value ancestor slot))))) - -(defun fill-standard-matrix-class-slots-from-ancestors (class &rest all-keys) - (mapcar #'(lambda (x) - (let ((name (slot-definition-name x)) - (initargs (slot-definition-initargs x))) - (unless (getf (car all-keys) (car initargs)) - (fill-slot-from-ancestor name class)))) - (standard-matrix-class-slots class))) - - -;;; NOTE: don't use accessors here as they will return a list! -;;; at least on SBCL -(defclass standard-matrix-class (standard-class) - ((element-type :initarg :element-type) - (accumulator-type :initarg :accumulator-type) - (specialized-array :initarg :specialized-array :initform nil) - (val-format :initarg :val-format :initform nil) - (minval :initarg :minval) - (maxval :initarg :maxval))) - -(let ((smc (find-class 'standard-matrix-class))) - (defun standard-matrix-class-p (class) - (subtypep (class-of class) smc))) - -(defun standard-matrix-class-precedence-list (class) - (remove-if-not - #'(lambda (x) (standard-matrix-class-p x)) - (class-precedence-list class))) - -(defun standard-matrix-class-slots (class) - (let ((slots) (slot-names)) - (mapcar #'(lambda (x) - (mapcar #'(lambda (y) - (unless (member (slot-definition-name y) - slot-names) - (push y slots) - (push (slot-definition-name y) - slot-names))) - (class-direct-slots (class-of x)))) - (standard-matrix-class-precedence-list class)) - slots)) - -(defgeneric element-type (smc) - (:documentation "the type of the elements of instances -of this matrix class")) -(defmethod element-type ((smc standard-matrix-class)) - (car (slot-value smc 'element-type))) - -(defgeneric accumulator-type (smc) - (:documentation "the type of the result of various mathematical -opreations on instances of this matrix class. needs work.")) -(defmethod accumulator-type ((smc standard-matrix-class)) - (car (slot-value smc 'accumulator-type))) - -;;; FIXME! This is a hack to get around the fact that -;;; if we have a say, integer-matrix class, we can't -;;; make certain declarations. this needs to be fixed -;;; and hopefully removed -(defgeneric specialized-array-p (smc)) -(defmethod specialized-array-p ((smc standard-matrix-class)) - (car (slot-value smc 'specialized-array))) - -(defgeneric val-format (smc) - (:documentation "the format string used to print out -element values of instances of this matrix class")) -(defmethod val-format ((smc standard-matrix-class)) - (car (slot-value smc 'val-format))) - -;;; FIXME this name is _way_ too close to min-val. Should -;;; be something like min-allowed-value or some such. -;;; also should be enforced more places if we're going to -;;; really use this! -(defgeneric minval (smc) - (:documentation "the minimum value allowed by instances -of this matrix class.")) -(defmethod minval ((smc standard-matrix-class)) - (car (slot-value smc 'minval))) - -;;; FIXME this name is _way_ too close to max-val. Should -;;; be something like max-allowed-value or some such. -;;; also should be enforced more places if we're going to -;;; really use this! -(defgeneric maxval (smc) - (:documentation "the maximum value allowed by instances -of this matrix class.")) -(defmethod maxval ((smc standard-matrix-class)) - (car (slot-value smc 'maxval))) - - -;;; -;;; Need validate-superclass for some reason. Read AMOP and fix this note -;;; -(defmethod validate-superclass ((c1 standard-matrix-class) (c2 standard-class)) - t) - -(defmethod validate-superclass ((c1 standard-class) (c2 standard-matrix-class)) - t) - -(defun add-root-class (root-class direct-superclasses) - (if (member root-class direct-superclasses) - direct-superclasses - (insert-before root-class - (car (class-direct-superclasses root-class)) - direct-superclasses))) - -(defclass typed-mixin () - ((specialzied-array :allocation :class :accessor specialized-array-p :initform nil))) - -;;; FIXME this needs work -(defgeneric set-val-fit (m i j v &key truncate)) -(defmethod set-val-fit ((m typed-mixin) i j v &key (truncate nil)) - (set-val m i j (if truncate (truncate v) v))) - -(defgeneric map-matrix-fit (f a)) -(defmethod map-matrix-fit (f (a typed-mixin)) - (destructuring-bind (m n) (dim a) - (dotimes (i m) - (dotimes (j n) - (set-val-fit a i j (funcall f a i j))))) - a) - -(defmethod initialize-instance :around - ((class standard-matrix-class) &rest all-keys &key direct-superclasses &allow-other-keys) - (let ((root-class (find-class 'typed-mixin)) - (mc (find-class 'standard-matrix-class))) - (if (and root-class (not (equal class root-class))) - (if (member-if #'(lambda (super) - (eq (class-of super) mc)) direct-superclasses) - (call-next-method) - (apply #'call-next-method class - :direct-superclasses - (add-root-class root-class direct-superclasses) - (remove-keyword-arg all-keys :direct-superclasses))) - (call-next-method))) - (finalize-inheritance class) - (fill-standard-matrix-class-slots-from-ancestors class all-keys)) - -(defmethod reinitialize-instance :around - ((class standard-matrix-class) &rest all-keys &key direct-superclasses &allow-other-keys) - (let ((root-class (find-class 'typed-mixin)) - (mc (find-class 'standard-matrix-class))) - (if (and root-class (not (equal class root-class))) - (if (member-if #'(lambda (super) - (eq (class-of super) mc)) direct-superclasses) - (call-next-method) - (apply #'call-next-method class - :direct-superclasses - (add-root-class root-class direct-superclasses) - (remove-keyword-arg all-keys :direct-superclasses))) - (call-next-method))) - (finalize-inheritance class) - (fill-standard-matrix-class-slots-from-ancestors class all-keys)) - diff --git a/external/clem/src/mloop.lisp b/external/clem/src/mloop.lisp deleted file mode 100644 index e17200a..0000000 --- a/external/clem/src/mloop.lisp +++ /dev/null @@ -1,49 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: mloop.cl -;;; author: cyrus harmon -;;; - -;;; macros for looping over matrices and doing operations with the benefit -;;; of type declarations - -(in-package :clem) - -(defun parse-mloop-vars (vars) - (apply #'mapcar (cons #'list vars))) - -(defmacro mloop ((mspecs m n i j) &body body) - (destructuring-bind (matrices types vars) - (parse-mloop-vars mspecs) - `(destructuring-bind (,m ,n) (clem:dim ,(car matrices)) - (declare (type fixnum ,m ,n)) - (let (,@(loop for var in vars and matrix in matrices - collect - `(,var (clem::matrix-vals ,matrix)))) - ,@(loop for type in types and var in vars - collect - `(declare (type (simple-array ,type *) ,var))) - (dotimes (,i ,m) - (declare (type fixnum ,i)) - (dotimes (,j ,n) - (declare (type fixnum ,j)) - ,@body)))))) - -(defmacro mloop-range ((mspecs startr endr startc endc i j) &body body) - (destructuring-bind (matrices types vars) - (parse-mloop-vars mspecs) - `(let (,@(loop for var in vars and matrix in matrices - collect - `(,var (clem::matrix-vals ,matrix)))) - ,@(loop for type in types and var in vars - collect - `(declare (type (simple-array ,type *) ,var))) - (do ((,i ,startr (1+ ,i))) - ((> ,i ,endr)) - (declare (type fixnum ,i)) - (do ((,j ,startc (1+ ,j))) - ((> ,j ,endc)) - (declare (type fixnum ,j)) - ,@body))))) - - diff --git a/external/clem/src/move.lisp b/external/clem/src/move.lisp deleted file mode 100644 index e5add16..0000000 --- a/external/clem/src/move.lisp +++ /dev/null @@ -1,228 +0,0 @@ -;;; move.lisp -;;; macros, functions and methods for moving elements between -;;; matrices. -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; fallback version for when we don't have type information - -(defmethod matrix-move ((m matrix) (n matrix) &key constrain) - (if (= (matrix-total-size m) - (matrix-total-size n)) - (if constrain - (let ((min (minval (class-of n))) - (max (maxval (class-of n)))) - (dotimes (i (matrix-total-size m)) - (setf (row-major-mref n i) - (constrain min (row-major-mref m i) max)))) - (dotimes (i (matrix-total-size m)) - (setf (row-major-mref n i) - (row-major-mref m i)))) - (error 'matrix-argument-error - :format-control - "Incompatible matrix dimensions in matrix-move ~S => ~S." - :format-arguments (list (matrix-dimensions m) - (matrix-dimensions n))))) - -(defmethod matrix-move ((m matrix) (n integer-matrix) &key constrain) - (if (= (matrix-total-size m) - (matrix-total-size n)) - (if constrain - (let ((min (minval (class-of n))) - (max (maxval (class-of n)))) - (dotimes (i (matrix-total-size m)) - (setf (row-major-mref n i) - (constrain min (truncate (row-major-mref m i)) max)))) - (dotimes (i (matrix-total-size m)) - (setf (row-major-mref n i) - (truncate (row-major-mref m i))))) - (error 'matrix-argument-error - :format-control - "Incompatible matrix dimensions in matrix-move ~S => ~S." - :format-arguments (list (matrix-dimensions m) - (matrix-dimensions n))))) - -(defmacro def-matrix-move (type-1 type-2) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (min (minval (find-class `,type-2))) - (max (maxval (find-class `,type-2)))) - `(progn - (defmethod matrix-move-range-2d ((m ,type-1) (n ,type-2) - startr1 endr1 startc1 endc1 - startr2 endr2 startc2 endc2) - (declare (optimize (speed 3) (safety 0)) - (type fixnum startr1 endr1 startc1 endc1 - startr2 endr2 startc2 endc2)) - (with-typed-matrix-vals (m ,element-type-1 a) - (with-typed-matrix-vals (n ,element-type-2 b) - (do ((i startr1 (1+ i)) - (k startr2 (1+ k))) - ((or (>= i endr1) (>= k endr2))) - (declare (dynamic-extent i k) (type fixnum i k)) - (do ((j startc1 (1+ j)) - (l startc2 (1+ l))) - ((or (>= j endc1) (>= l endc2))) - (declare (dynamic-extent j l) (type fixnum j l)) - (setf (aref b k l) - (maybe-truncate - (aref a i j) - ,element-type-1 ,element-type-2)))))) - n) - - (defmethod matrix-move-range-2d-constrain ((m ,type-1) (n ,type-2) - startr1 endr1 startc1 endc1 - startr2 endr2 startc2 endc2) - (with-matrix-vals (m ,element-type-1 a) - (with-matrix-vals (n ,element-type-2 b) - (do ((i startr1 (1+ i)) - (k startr2 (1+ k))) - ((or (>= i endr1) (>= k endr2))) - (declare (dynamic-extent i k) (type fixnum i k)) - (do ((j startc1 (1+ j)) - (l startc2 (1+ l))) - ((or (>= j endc1) (>= l endc2))) - (declare (dynamic-extent j l) (type fixnum j l)) - (setf (aref b k l) ,(if (eql element-type-1 element-type-2) - `(constrain ,min (aref a i j) ,max) - `(maybe-truncate (constrain ,min (aref a i j) ,max) - ,element-type-1 ,element-type-2))))))) - n) - - (defmethod matrix-move ((m ,type-1) (n ,type-2) &key constrain) - (destructuring-bind (mr mc) (dim m) - (cond (constrain - (matrix-move-range-2d-constrain m n - 0 mr 0 mc - 0 mr 0 mc)) - (t - (matrix-move-range-2d m n - 0 mr 0 mc - 0 mr 0 mc)))))))) - -(macrolet ((frob (type-1 type-2) - `(progn - (def-move-element ,type-1 ,type-2) - (def-matrix-move ,type-1 ,type-2)))) - - (frob double-float-matrix double-float-matrix) - (frob double-float-matrix single-float-matrix) - (frob double-float-matrix ub8-matrix) - (frob double-float-matrix ub16-matrix) - (frob double-float-matrix ub32-matrix) - (frob double-float-matrix sb8-matrix) - (frob double-float-matrix sb16-matrix) - (frob double-float-matrix sb32-matrix) - (frob double-float-matrix bit-matrix) - (frob double-float-matrix fixnum-matrix) - (frob double-float-matrix real-matrix) - (frob double-float-matrix complex-matrix) - (frob double-float-matrix number-matrix) - - (frob single-float-matrix single-float-matrix) - (frob single-float-matrix ub8-matrix) - (frob single-float-matrix ub16-matrix) - (frob single-float-matrix ub32-matrix) - (frob single-float-matrix sb8-matrix) - (frob single-float-matrix sb16-matrix) - (frob single-float-matrix sb32-matrix) - (frob single-float-matrix bit-matrix) - (frob single-float-matrix fixnum-matrix) - (frob single-float-matrix real-matrix) - (frob single-float-matrix complex-matrix) - (frob single-float-matrix number-matrix) - - (frob ub8-matrix ub8-matrix) - (frob ub16-matrix ub16-matrix) - (frob ub32-matrix ub32-matrix) - - (frob ub8-matrix bit-matrix) - (frob ub16-matrix bit-matrix) - (frob ub32-matrix bit-matrix) - - (frob sb8-matrix bit-matrix) - (frob sb16-matrix bit-matrix) - (frob sb32-matrix bit-matrix) - - (frob sb32-matrix ub8-matrix) - (frob sb32-matrix ub16-matrix)) - -(macrolet ((frob (type-1 type-2) - `(progn - (def-move-element ,type-1 ,type-2) - (def-matrix-move ,type-1 ,type-2)))) - - (frob single-float-matrix double-float-matrix) - - (frob ub8-matrix double-float-matrix) - (frob ub8-matrix single-float-matrix) - - (frob ub16-matrix double-float-matrix) - (frob ub16-matrix single-float-matrix) - - (frob ub32-matrix double-float-matrix) - (frob ub32-matrix single-float-matrix) - - (frob sb8-matrix double-float-matrix) - (frob sb8-matrix single-float-matrix) - - (frob sb16-matrix double-float-matrix) - (frob sb16-matrix single-float-matrix) - - (frob sb32-matrix double-float-matrix) - (frob sb32-matrix single-float-matrix) - - (frob fixnum-matrix double-float-matrix) - (frob fixnum-matrix single-float-matrix) - - (frob bit-matrix double-float-matrix) - (frob bit-matrix single-float-matrix) - (frob bit-matrix ub8-matrix) - (frob bit-matrix ub16-matrix) - (frob bit-matrix ub32-matrix) - (frob bit-matrix sb8-matrix) - (frob bit-matrix sb16-matrix) - (frob bit-matrix sb32-matrix)) - -(macrolet ((frob (type-1 type-2) - `(progn - (def-move-element ,type-1 ,type-2) - (def-matrix-move ,type-1 ,type-2)))) - - (frob complex-matrix real-matrix) - (frob complex-matrix complex-matrix) - - (frob real-matrix ub8-matrix) - (frob real-matrix real-matrix) - (frob real-matrix complex-matrix) - (frob real-matrix double-float-matrix) - (frob real-matrix single-float-matrix)) - diff --git a/external/clem/src/mref.lisp b/external/clem/src/mref.lisp deleted file mode 100644 index 5a0656a..0000000 --- a/external/clem/src/mref.lisp +++ /dev/null @@ -1,166 +0,0 @@ -;;; mref.lisp -;;; macros, functions and methods for matrix element access -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; mref and friends - -(defmethod mref ((m matrix) &rest indices) - (apply #'aref (matrix-vals m) indices)) - -(defmethod (setf mref) (v (m matrix) &rest indices) - (setf (apply #'aref (matrix-vals m) indices) v)) - -(defmethod row-major-mref ((m matrix) index) - (row-major-aref (matrix-vals m) index)) - -(defmethod (setf row-major-mref) (v (m matrix) index) - (setf (row-major-aref (matrix-vals m) index) v)) - -;;; with-typed-mref establishes variables for the matrix-vals of the -;;; matrix and local macros that shadow mref and -;;; thanks to nyef, kpreid, rahul and Riastradh from #lisp for -;;; suggestions on how to make this work properly. -;;; -;;; (NOW FIXED) BIG NASTY HACK ALERT! -;;; -;;; Unfortunately, a naive implementation of with-typed-mref would -;;; rely on implementation-specific behavior of defmacro. The problem -;;; is that the environment might have dynamic extent and might not be -;;; around when we call the local mref macro, so this isn't guaranteed -;;; to work. It seems that the extent of the environment allows this -;;; to work on SBCL, but other implmenatations (or future versions of -;;; SBCL for that matter) aren't guaranteed to provide this, therefore -;;; this might break. Hopefully if it breaks it will do so in a really -;;; nasty, obvious way. -;;; -;;; it would be nice if this worked: -;;; -;; (defmacro with-typed-mref ((z element-type) &body body &environment env) -;; (let ((vals (gensym "MATRIX-"))) -;; `(let ((,vals (matrix-vals ,z))) -;; (declare (type (simple-array ,element-type *) ,vals)) -;; (macrolet ((mref (&whole whole mat &rest args) -;; (if (eql ',z mat) -;; `(aref ,',vals ,@args) -;; (macroexpand whole ,env))) -;; (row-major-mref (&whole whole mat &rest args) -;; (if (eql ',z mat) -;; `(row-major-aref ,',vals ,@args) -;; (macroexpand whole ,env)))) -;; ,@body)))) -;; -;;; but we may not have access to the environment when we want to -;;; expand mref, so we need to do the following. Thanks to cmm on -;;; #lisp for the revised macro. -;;; - -;;; define a local symbol-macro that is initially bound to nil. This -;;; will hold an alist of matrices and their corresponding matrix-vals -(define-symbol-macro .mref-expanders. nil) - -;;; 1. gensym a symbol to hold the result of (matrix-vals ,z) -;;; 2. declare the type of this array -;;; 3. (do a "shadowing") symbol-macrolet .mref-expanders. with the matrix and vals -;;; consed on to the front of the list -;;; 4. -(defmacro with-typed-mref ((z element-type) &body body &environment env) - (let ((vals (gensym "MATRIX-VALS-"))) - `(let ((,vals (matrix-vals ,z))) - (declare (type (simple-array ,element-type *) ,vals)) - (symbol-macrolet - ((.mref-expanders. ,(acons z vals (macroexpand-1 '.mref-expanders. env)))) - (macrolet - ((mref (mat &rest args &environment env) - (let ((vals (cdr (assoc mat (macroexpand-1 '.mref-expanders. env))))) - (if vals - `(aref ,vals ,@args) - `(aref (matrix-vals ,mat) ,@args)))) - (row-major-mref (mat &rest args &environment env) - (let ((vals (cdr (assoc mat (macroexpand-1 '.mref-expanders. env))))) - (if vals - `(row-major-aref ,vals ,@args) - `(row-major-aref (matrix-vals ,mat) ,@args))))) - ,@body))))) - -(defmacro matrix-total-size (matrix) - `(array-total-size (matrix-vals ,matrix))) - -(defmacro matrix-dimensions (matrix) - `(array-dimensions (matrix-vals ,matrix))) - - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Old approahes to getting fast performance from matrices - - -;;; old approach 1: use with-typed-matrix-vals whereby we bind a -;;; (user-specified) local-variable to the matrix-vals of the array -;;; and the user accesses the matrix data via aref of this symbol. -(defmacro with-typed-matrix-vals ((m element-type a) &body body) - `(let ((,a (matrix-vals ,m))) - (declare (type (simple-array ,element-type *) ,a)) - ,@body)) - -;;; as an analog to with-typed-matrix-vals, we'd like to be able to -;;; use the same code for both typed and untyped matrices, therefore -;;; we define with-untyped-matrix-vals. -(defmacro with-untyped-matrix-vals ((m element-type a) &body body) - (declare (ignore element-type)) - `(let ((,a (matrix-vals ,m))) - ,@body)) - -;;; with-matrix-vals is supposed to choose between -;;; with-typed-matrix-vals and with-untyped-matrix-vals if 1) we know -;;; the type of the array and 2) it matches the element type of the -;;; matrix class. -(defmacro with-matrix-vals ((m element-type a) &body body) - `(if (equal ',element-type (element-type (class-of ,m))) - (with-typed-matrix-vals (,m ,element-type ,a) - ,@body) - (with-untyped-matrix-vals (,m ,element-type ,a) - ,@body))) - -;;; old approach 2: like with-typed-matrix-vals, but instead of -;;; specifying a symbol to hold the matrix-vals, we gensym that symbol -;;; and instead the users passes in the name of an accessor, which is -;;; then macrolet-ed to perform the aref of the gensym-ed symbol, -;;; which gets bound to the matrix-vals prior to exectuing the body. -;;; -(defmacro with-typed-matrix-accessor ((m element-type ref) &body body) - (let ((vals (gensym))) - `(let ((,vals (matrix-vals ,m))) - (declare (type (simple-array ,element-type *) ,vals)) - (macrolet ((,ref (&rest args) - `(aref ,',vals ,@args))) - ,@body)))) diff --git a/external/clem/src/normalize.lisp b/external/clem/src/normalize.lisp deleted file mode 100644 index 7301a41..0000000 --- a/external/clem/src/normalize.lisp +++ /dev/null @@ -1,22 +0,0 @@ - -(in-package :clem) - -(defmethod normalize ((u matrix) &key (normin) (normax) (truncate nil) (copy nil)) - (let ((min (min-val u)) - (max (max-val u)) - (nmin (if normin normin 0)) - (nmax (if normax normax 255)) - (u (if copy (mat-copy u) u))) - (let ((slope (if (= max min) - 0 - (/ (- nmax nmin) (- max min))))) - (map-set-val-fit u #'(lambda (x) (+ nmin (* slope (- x min)))) - :truncate truncate)) - u)) - -(defmethod norm-0-255 ((u matrix) &key copy) - (normalize u :normin 0 :normax 255 :copy copy)) - -(defmethod norm-0-1 ((u matrix) &key copy) - (normalize u :normin 0 :normax 1 :copy copy)) - diff --git a/external/clem/src/print.lisp b/external/clem/src/print.lisp deleted file mode 100644 index 8dfa637..0000000 --- a/external/clem/src/print.lisp +++ /dev/null @@ -1,108 +0,0 @@ -;;; print.lisp -;;; macros, functions and methods for matrix element access -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -(defparameter *print-matrix-newlines* t) -(defparameter *print-matrix-float-format* nil) -(defparameter *matrix-print* t) -(defparameter *matrix-print-row-limit* 8) -(defparameter *matrix-print-col-limit* 8) - -(defgeneric print-range (m startr endr startc endc &optional stream)) -(defmethod print-range ((m matrix) - (startr fixnum) (endr fixnum) - (startc fixnum) (endc fixnum) - &optional (stream t)) - (let ((val-format-spec (if *print-matrix-float-format* - *print-matrix-float-format* - (val-format (class-of m))))) - (format stream "[") - (do ((i startr (1+ i))) - ((> i endr)) - (unless (= i startr) - (princ "; " stream) - (if *print-matrix-newlines* - (progn - (format stream "~&~1,0T")))) - (do ((j startc (1+ j))) - ((> j endc)) - (format stream (if (= j startc) - val-format-spec - (concatenate 'string " " val-format-spec)) (mref m i j)))) - (format stream "]"))) - -(defgeneric print-matrix (m)) -(defmethod print-matrix ((m matrix)) - (destructuring-bind (endr endc) (mapcar #'1- (dim m)) - (print-range m 0 endr 0 endc)) - m) - -(defun print-matrix-line (obj stream val-format-spec i startc endc lastcol) - (do ((j startc (1+ j))) - ((> j endc)) - (format stream (if (= j startc) - val-format-spec - (concatenate 'string " " val-format-spec)) (mref obj i j))) - (cond ((>= lastcol (1- *matrix-print-col-limit*)) - (if (= lastcol (1- *matrix-print-col-limit*)) - (format stream (concatenate 'string " " val-format-spec) (mref obj i lastcol)) - (format stream (concatenate 'string " ... " val-format-spec) (mref obj i lastcol)))))) - -(defmethod print-object ((obj matrix) stream) - (print-unreadable-object (obj stream :type t :identity (not *matrix-print*)) - (when *matrix-print* - (cond ((= (length (matrix-dimensions obj)) 2) - (let ((startr 0) (endr (min (1- (rows obj)) (- *matrix-print-row-limit* 2))) - (startc 0) (endc (min (1- (cols obj)) (- *matrix-print-col-limit* 2)))) - (let ((val-format-spec (if *print-matrix-float-format* - *print-matrix-float-format* - (val-format (class-of obj)))) - (lastrow (1- (rows obj))) - (lastcol (1- (cols obj)))) - (format stream "[") - (do ((i startr (1+ i))) - ((> i endr)) - (unless (= i startr) - (princ "; " stream) - (if *print-matrix-newlines* - (progn - (format stream "~&~1,0T")))) - (print-matrix-line obj stream val-format-spec i startc endc lastcol)) - (cond ((>= lastrow (1- *matrix-print-row-limit*)) - (if (= lastrow (1- *matrix-print-row-limit*)) - (format stream (concatenate 'string ";~&~1,0T")) - (format stream (concatenate 'string ";~& ... ~&~1,0T"))) - (print-matrix-line obj stream val-format-spec lastrow startc endc lastcol))) - (format stream "]")))) - (t (format stream "of dimensions ~A" (matrix-dimensions obj))))))) - - diff --git a/external/clem/src/scalar.lisp b/external/clem/src/scalar.lisp deleted file mode 100644 index 80512fa..0000000 --- a/external/clem/src/scalar.lisp +++ /dev/null @@ -1,50 +0,0 @@ - -(in-package :clem) - -(defclass scalar (matrix) ()) - -(defun scalar (val &key (matrix-class 'scalar)) - (let ((m (make-instance matrix-class))) - (scalar-set-val m val) - m)) - -(defgeneric scalar-val (s)) -(defmethod scalar-val ((s scalar)) (aref (matrix-vals s) 0 0)) - -(defgeneric scalar-set-val (s v)) -(defmethod scalar-set-val ((s scalar) v) (setf (matrix-vals s) v)) - -(defmethod dim ((s scalar)) '(1 1)) -(defmethod val ((s scalar) i j) (declare (ignore i) (ignore j)) (scalar-val s)) -(defmethod set-val ((s scalar) i j v &key (coerce t)) - (declare (ignore i) (ignore j)) - (scalar-set-val s (if coerce (coerce v (element-type (class-of s))) v))) - - -(defclass bit-scalar (bit-matrix scalar) - ((initial-element :accessor initial-element - :initarg :initial-element :initform 0)) - (:metaclass standard-matrix-class) - (:element-type (unsigned-byte 1)) - (:accumulator-type (unsigned-byte 32)) - (:minval 0) - (:maxval 1)) - -(defclass ub8-scalar (ub8-matrix scalar) - ((initial-element :accessor initial-element - :initarg :initial-element :initform 0)) - (:metaclass standard-matrix-class) - (:element-type (unsigned-byte 8)) - (:accumulator-type (unsigned-byte 32)) - (:minval 0) - (:maxval #.(- (expt 2 8) 1))) - -(defclass sb8-scalar (sb8-matrix scalar) - ((initial-element :accessor initial-element - :initarg :initial-element :initform 0)) - (:metaclass standard-matrix-class) - (:element-type (signed-byte 8)) - (:accumulator-type (signed-byte 32)) - (:minval #.(- (expt 2 7))) - (:maxval #.(- (expt 2 7) 1))) - diff --git a/external/clem/src/scale.lisp b/external/clem/src/scale.lisp deleted file mode 100644 index 6fd1a59..0000000 --- a/external/clem/src/scale.lisp +++ /dev/null @@ -1,146 +0,0 @@ - -(in-package :clem) - -(defgeneric mat-scale-range-2 (m n q startr endr startc endc)) -(defgeneric mat-scale-2 (m n q)) - -(defmacro def-matrix-scale-2 (input-class result-class) - (let ((input-class-element-type (element-type (find-class `,input-class))) - (result-class-element-type (element-type (find-class `,result-class)))) - `(progn - (defmethod mat-scale-range-2 - ((m ,input-class) (n ,result-class) q startr endr startc endc) - (with-typed-mref (m ,input-class-element-type) - (with-typed-mref (n ,result-class-element-type) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (mref n i j) (* (mref m i j) q)))))) - n) - - (defmethod mat-scale-2 - ((m ,input-class) (n ,result-class) q) - (with-typed-mref (m ,input-class-element-type) - (with-typed-mref (n ,result-class-element-type) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref n i) - (* (row-major-mref m i) q)))) - n))))) - -(progn - (def-matrix-scale-2 double-float-matrix complex-matrix) - (def-matrix-scale-2 double-float-matrix double-float-matrix) - - (def-matrix-scale-2 single-float-matrix complex-matrix) - (def-matrix-scale-2 single-float-matrix double-float-matrix) - (def-matrix-scale-2 single-float-matrix single-float-matrix) - - (def-matrix-scale-2 unsigned-byte-matrix complex-matrix) - (def-matrix-scale-2 unsigned-byte-matrix double-float-matrix) - (def-matrix-scale-2 unsigned-byte-matrix single-float-matrix) - (def-matrix-scale-2 unsigned-byte-matrix integer-matrix) - (def-matrix-scale-2 unsigned-byte-matrix unsigned-byte-matrix) - - (def-matrix-scale-2 ub8-matrix complex-matrix) - (def-matrix-scale-2 ub8-matrix double-float-matrix) - (def-matrix-scale-2 ub8-matrix single-float-matrix) - (def-matrix-scale-2 ub8-matrix ub8-matrix) - (def-matrix-scale-2 ub8-matrix ub16-matrix) - (def-matrix-scale-2 ub8-matrix ub32-matrix) - - (def-matrix-scale-2 ub16-matrix complex-matrix) - (def-matrix-scale-2 ub16-matrix double-float-matrix) - (def-matrix-scale-2 ub16-matrix single-float-matrix) - (def-matrix-scale-2 ub16-matrix ub16-matrix) - (def-matrix-scale-2 ub16-matrix ub32-matrix) - - (def-matrix-scale-2 ub32-matrix complex-matrix) - (def-matrix-scale-2 ub32-matrix double-float-matrix) - (def-matrix-scale-2 ub32-matrix single-float-matrix) - (def-matrix-scale-2 ub32-matrix ub32-matrix) - - (def-matrix-scale-2 sb8-matrix complex-matrix) - (def-matrix-scale-2 sb8-matrix double-float-matrix) - (def-matrix-scale-2 sb8-matrix single-float-matrix) - (def-matrix-scale-2 sb8-matrix sb8-matrix) - (def-matrix-scale-2 sb8-matrix sb16-matrix) - (def-matrix-scale-2 sb8-matrix sb32-matrix) - - (def-matrix-scale-2 sb16-matrix complex-matrix) - (def-matrix-scale-2 sb16-matrix double-float-matrix) - (def-matrix-scale-2 sb16-matrix single-float-matrix) - (def-matrix-scale-2 sb16-matrix sb16-matrix) - (def-matrix-scale-2 sb16-matrix sb32-matrix) - - (def-matrix-scale-2 sb32-matrix complex-matrix) - (def-matrix-scale-2 sb32-matrix double-float-matrix) - (def-matrix-scale-2 sb32-matrix single-float-matrix) - (def-matrix-scale-2 sb32-matrix sb32-matrix) - - (def-matrix-scale-2 bit-matrix ub8-matrix) - (def-matrix-scale-2 bit-matrix sb32-matrix) - (def-matrix-scale-2 fixnum-matrix fixnum-matrix) - (def-matrix-scale-2 real-matrix real-matrix) - (def-matrix-scale-2 integer-matrix integer-matrix) - (def-matrix-scale-2 complex-matrix complex-matrix) - (def-matrix-scale-2 t-matrix t-matrix)) - -(defgeneric compute-mat-scale-result-class (m q)) - -(defmethod compute-mat-scale-result-class ((m double-float-matrix) q) - (typecase q - (complex 'complex-matrix) - (t (class-of m)))) - -(defmethod compute-mat-scale-result-class ((m single-float-matrix) q) - (typecase q - (complex 'complex-matrix) - (double-float 'double-float-matrix) - (t (class-of m)))) - -(defmethod compute-mat-scale-result-class ((m unsigned-byte-matrix) q) - (typecase q - (complex 'complex-matrix) - (double-float 'double-float-matrix) - (single-float 'single-float-matrix) - (t (cond - ((complexp q) 'complex-matrix) - ((floatp q) 'double-float-matrix) - ((minusp q) 'integer-matrix) - (t (class-of m)))))) - -(defmethod compute-mat-scale-result-class ((m integer-matrix) q) - (typecase q - (complex 'complex-matrix) - (double-float 'double-float-matrix) - (single-float 'single-float-matrix) - (t (cond - ((complexp q) 'complex-matrix) - ((floatp q) 'double-float-matrix) - (t 'sb32-matrix))))) - -(defmethod compute-mat-scale-result-class ((m bit-matrix) q) - (typecase q - (complex 'complex-matrix) - (double-float 'double-float-matrix) - (single-float 'single-float-matrix) - (t (cond - ((complexp q) 'complex-matrix) - ((floatp q) 'double-float-matrix) - (t 'sb32-matrix))))) - -(defmethod compute-mat-scale-result-class ((m t-matrix) q) - (class-of m)) - -(defmethod mat-scale (m q - &key - in-place - (result-class (unless in-place - (compute-mat-scale-result-class m q)))) - (if in-place - (mat-scale-2 m m q) - (let ((n (make-instance result-class :dimensions (dim m)))) - (mat-scale-2 m n q)))) diff --git a/external/clem/src/statistics.lisp b/external/clem/src/statistics.lisp deleted file mode 100644 index 4f44f28..0000000 --- a/external/clem/src/statistics.lisp +++ /dev/null @@ -1,186 +0,0 @@ -;;; statistics.lisp -;;; macros, functions and methods for matrix element access -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; slow fallback methods - -(defmethod sum ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (sum-range m 0 (- mr 1) 0 (- mc 1)))) - -(defmethod sum-cols ((m matrix) &key (matrix-class (class-of m))) - (let ((mr (rows m)) (mc (cols m))) - (let ((n (make-instance matrix-class :rows 1 :cols mc))) - (dotimes (i mr) - (dotimes (j mc) - (incf (mref n 0 j) (mref m i j)))) - n))) - -(defmethod sum-rows ((m matrix) &key (matrix-class (class-of m))) - (let ((mr (rows m)) (mc (cols m))) - (let ((n (make-instance matrix-class :rows mr :cols 1))) - (dotimes (i mr) - (dotimes (j mc) - (incf (mref n i 0) (mref m i j)))) - n))) - -(defmethod sum-square-range ((m matrix) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (let ((acc 0)) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (incf acc (* v v)))) - acc)) - -(defmethod sum-square ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (sum-square-range m 0 (- mr 1) 0 (- mc 1)))) - -(defmethod sum-range ((m matrix) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (let ((acc 0)) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (incf acc v))) - acc)) - -(defmethod mean-range ((m matrix) startr endr startc endc) - (double-float-divide (sum-range m startr endr startc endc) - (count-range startr endr startc endc))) - -(defmethod mean ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (mean-range m 0 (- mr 1) 0 (- mc 1)))) - -(defmethod variance-range ((m matrix) startr endr startc endc) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (let ((mu (mean-range m startr endr startc endc))) - (let ((musq (* mu mu))) - (let ((ssr (sum-square-range m startr endr startc endc))) - (let ((cr (count-range startr endr startc endc))) - (declare (fixnum cr)) - (- (double-float-divide ssr cr) - musq)))))) - -(defmethod variance ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (variance-range m 0 (- mr 1) 0 (- mc 1)))) - -(defmethod sample-variance-range ((m matrix) startr endr startc endc) - (let* ((acc 0) - (mu (mean-range m startr endr startc endc)) - (musq (* mu mu))) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (incf acc (- (* v v) musq)))) - (double-float-divide acc (1- (count-range startr endr startc endc))))) - -(defmethod sample-variance ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (sample-variance-range m 0 (- mr 1) 0 (- mc 1)))) - -;;; faster type-specific methods - -(defmacro %%sum-range (m startr endr startc endc element-type accumulator-type) - `(let ((acc (coerce 0 ',accumulator-type)) - (a (matrix-vals ,m))) - (declare (type ,accumulator-type acc) - (type (simple-array ,element-type *) a)) - (do ((i ,startr (1+ i))) - ((> i ,endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j ,startc (1+ j))) - ((> j ,endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf acc (+ acc (aref a i j))))) - acc)) - -(macrolet - ((frob-sum-range (matrix-type accumulator-type) - (let ((element-type (element-type (find-class matrix-type)))) - `(defmethod sum-range ((m ,matrix-type) - (startr fixnum) (endr fixnum) - (startc fixnum) (endc fixnum)) - (%%sum-range m startr endr startc endc - ,element-type ,accumulator-type))))) - (frob-sum-range double-float-matrix double-float) - (frob-sum-range single-float-matrix single-float) - - (frob-sum-range ub8-matrix (unsigned-byte 32)) - (frob-sum-range ub16-matrix (unsigned-byte 32)) - (frob-sum-range ub32-matrix (unsigned-byte 32)) - - (frob-sum-range sb8-matrix (signed-byte 32)) - (frob-sum-range sb16-matrix (signed-byte 32)) - (frob-sum-range sb32-matrix (signed-byte 32)) - - (frob-sum-range fixnum-matrix (signed-byte 32)) - (frob-sum-range bit-matrix (signed-byte 32))) - - -(macrolet - ((frob-sum-square-range (matrix-type accumulator-type) - (let ((element-type (element-type (find-class matrix-type)))) - `(defmethod sum-square-range ((m ,matrix-type) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (let ((acc (coerce 0 ',accumulator-type)) - (a (matrix-vals m))) - (declare (type ,accumulator-type acc) - (type (simple-array ,element-type *) a)) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (incf acc (* (aref a i j) (aref a i j))))) - acc))))) - - (frob-sum-square-range double-float-matrix double-float) - (frob-sum-square-range single-float-matrix single-float) - - (frob-sum-square-range ub8-matrix (unsigned-byte 32)) - (frob-sum-square-range ub16-matrix (unsigned-byte 32)) - (frob-sum-square-range ub32-matrix (unsigned-byte 32)) - - (frob-sum-square-range sb8-matrix (signed-byte 32)) - (frob-sum-square-range sb16-matrix (signed-byte 32)) - (frob-sum-square-range sb32-matrix (signed-byte 32)) - - (frob-sum-square-range fixnum-matrix (signed-byte 32)) - (frob-sum-square-range bit-matrix (signed-byte 32))) - diff --git a/external/clem/src/subtr.lisp b/external/clem/src/subtr.lisp deleted file mode 100644 index 20180f7..0000000 --- a/external/clem/src/subtr.lisp +++ /dev/null @@ -1,208 +0,0 @@ -;;; subtr.lisp -;;; macros, functions and methods for matrix element access -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -;;; first the slow versions - -(defmethod mat-subtr ((m matrix) (n matrix) &key in-place result-type) - ;;; FIXME how about some sanity check on the args here please? - (if in-place - (progn - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (- (row-major-mref m i) - (row-major-mref n i)))) - m) - (progn - (let ((p (if result-type - (make-instance result-type :dimensions (matrix-dimensions m)) - (mat-copy-proto m)))) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref p i) - (- (row-major-mref m i) - (row-major-mref n i)))) - p)))) - -(defmethod mat-subtr ((m number) (n matrix) &key in-place result-type) - (if in-place - `(error 'matrix-argument-error - :format-control - "in-place operation not allowed (~S of ~S and ~S" - :format-arguments (list '- m n)) - (progn - (let ((p (if result-type - (make-instance result-type :dimensions (matrix-dimensions n)) - (mat-copy-proto n)))) - (loop for i from 0 below (matrix-total-size n) - do (setf (row-major-mref p i) - (- m - (row-major-mref n i)))) - p)))) - -(defmethod mat-subtr ((m matrix) (n number) &key in-place result-type) - (if in-place - (progn - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref m i) - (- (row-major-mref m i) n))) - m) - (progn - (let ((p (if result-type - (make-instance result-type :dimensions (matrix-dimensions m)) - (mat-copy-proto m)))) - (loop for i from 0 below (matrix-total-size m) - do (setf (row-major-mref p i) - (- (row-major-mref m i) n))) - p)))) - - -(defgeneric %get-subtr-matrix-class (a b)) -(defgeneric mat-subtr-range3 (m n p startr endr startc endc)) - -(defmacro def-matrix-subtr (type-1 type-2 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - - (defmethod %get-subtr-matrix-class ((a ,type-1) (b ,type-2)) - ',accumulator-type) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-subtr-range3" suffix)) - ((m ,type-1) (n ,type-2) (p ,accumulator-type) startr endr startc endc) - (with-matrix-vals (m ,element-type-1 a) - (with-matrix-vals (n ,element-type-2 b) - (with-matrix-vals (p ,accumulator-element-type c) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (aref c i j) - (- (aref a i j) (aref b i j)))))))) - p)))) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-matrix-subtr ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - - (frob double-float-matrix double-float-matrix double-float-matrix) - (frob double-float-matrix single-float-matrix double-float-matrix) - (frob double-float-matrix ub8-matrix double-float-matrix) - (frob double-float-matrix ub16-matrix double-float-matrix) - (frob double-float-matrix ub32-matrix double-float-matrix) - (frob double-float-matrix sb8-matrix double-float-matrix) - (frob double-float-matrix sb16-matrix double-float-matrix) - (frob double-float-matrix sb32-matrix double-float-matrix) - (frob double-float-matrix bit-matrix double-float-matrix) - (frob double-float-matrix fixnum-matrix double-float-matrix) - - (frob single-float-matrix single-float-matrix single-float-matrix) - (frob single-float-matrix ub8-matrix single-float-matrix) - (frob single-float-matrix ub16-matrix single-float-matrix) - (frob single-float-matrix ub32-matrix single-float-matrix) - (frob single-float-matrix sb8-matrix single-float-matrix) - (frob single-float-matrix sb16-matrix single-float-matrix) - (frob single-float-matrix sb32-matrix single-float-matrix) - (frob single-float-matrix bit-matrix single-float-matrix) - (frob single-float-matrix fixnum-matrix single-float-matrix) - - (frob ub8-matrix ub8-matrix ub8-matrix) - (frob ub8-matrix ub8-matrix sb16-matrix) - (frob ub16-matrix ub16-matrix ub16-matrix) - (frob ub16-matrix ub16-matrix sb32-matrix) - (frob ub32-matrix ub32-matrix ub32-matrix) - (frob ub32-matrix ub32-matrix sb32-matrix) - - (frob sb8-matrix sb8-matrix sb8-matrix) - (frob sb8-matrix sb8-matrix sb16-matrix) - (frob sb16-matrix sb16-matrix sb32-matrix) - (frob sb16-matrix sb16-matrix sb32-matrix) - (frob sb32-matrix sb32-matrix sb32-matrix) - (frob sb32-matrix sb32-matrix sb32-matrix) - - (frob ub8-matrix bit-matrix ub8-matrix) - (frob ub16-matrix bit-matrix ub16-matrix) - (frob ub32-matrix bit-matrix ub32-matrix) - - (frob sb8-matrix bit-matrix sb8-matrix) - (frob sb8-matrix bit-matrix sb16-matrix) - (frob sb16-matrix bit-matrix sb16-matrix) - (frob sb32-matrix bit-matrix sb32-matrix) - - (frob sb32-matrix ub8-matrix sb32-matrix) - (frob sb32-matrix ub16-matrix sb32-matrix) - - (frob single-float-matrix double-float-matrix double-float-matrix) - - (frob ub8-matrix double-float-matrix double-float-matrix) - (frob ub8-matrix single-float-matrix single-float-matrix) - - (frob ub16-matrix double-float-matrix double-float-matrix) - (frob ub16-matrix single-float-matrix single-float-matrix) - - (frob ub32-matrix double-float-matrix double-float-matrix) - (frob ub32-matrix single-float-matrix single-float-matrix) - - (frob sb8-matrix double-float-matrix double-float-matrix) - (frob sb8-matrix single-float-matrix single-float-matrix) - - (frob sb16-matrix double-float-matrix double-float-matrix) - (frob sb16-matrix single-float-matrix single-float-matrix) - - (frob sb32-matrix double-float-matrix double-float-matrix) - (frob sb32-matrix single-float-matrix single-float-matrix) - (frob bit-matrix double-float-matrix double-float-matrix) - (frob bit-matrix single-float-matrix single-float-matrix) - (frob bit-matrix bit-matrix bit-matrix)) - -(defgeneric mat-subtr-range (m n start endr startc endc &key in-place result-type)) - -(defmethod mat-subtr-range ((m typed-mixin) (n typed-mixin) startr endr startc endc &key in-place - (result-type (%get-subtr-matrix-class m n))) - (destructuring-bind (mr mc) (dim m) - (if in-place - (mat-subtr-range3 m n m startr endr startc endc) - (let ((p (make-instance result-type :rows mr :cols mc))) - (mat-subtr-range3 m n p startr endr startc endc))))) - -(defmethod mat-subtr :around ((m matrix) (n matrix) - &key (in-place nil in-place-supplied-p) - (result-type (%get-subtr-matrix-class m n))) - (if (compute-applicable-methods #'mat-subtr-range (list m n 0 0 0 0)) - (destructuring-bind (mr mc) (dim m) - (apply #'mat-subtr-range - m n 0 (1- mr) 0 (1- mc) :result-type result-type - (when in-place-supplied-p `(:in-place ,in-place)))) - (call-next-method))) - diff --git a/external/clem/src/sum.lisp b/external/clem/src/sum.lisp deleted file mode 100644 index 267a0f0..0000000 --- a/external/clem/src/sum.lisp +++ /dev/null @@ -1,159 +0,0 @@ - -(in-package :clem) - -;;; slow fallback methods -;;; FIXME NEED FAST METHODS!! - -(defmethod sum ((m matrix)) - (let ((acc 0)) - (loop for i from 0 below (matrix-total-size m) - do (incf acc (row-major-mref m i))) - acc)) - -(defmethod sum-cols ((m matrix) &key (matrix-class (class-of m))) - (let ((mr (rows m)) (mc (cols m))) - (let ((n (make-instance matrix-class :rows 1 :cols mc))) - (dotimes (i mr) - (dotimes (j mc) - (incf (mref n 0 j) (mref m i j)))) - n))) - -(defmethod sum-rows ((m matrix) &key (matrix-class (class-of m))) - (let ((mr (rows m)) (mc (cols m))) - (let ((n (make-instance matrix-class :rows mr :cols 1))) - (dotimes (i mr) - (dotimes (j mc) - (incf (mref n i 0) (mref m i j)))) - n))) - -(defmethod sum-square-range ((m matrix) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (let ((acc 0)) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (incf acc (* v v)))) - acc)) - -(defmethod sum-square ((m matrix)) - (destructuring-bind (mr mc) (dim m) - (sum-square-range m 0 (- mr 1) 0 (- mc 1)))) - -(defmethod sum-range ((m matrix) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (declare (dynamic-extent startr endr startc endc) - (fixnum startr endr startc endc)) - (let ((acc 0)) - (map-range m startr endr startc endc - #'(lambda (v i j) - (declare (ignore i j)) - (incf acc v))) - acc)) - -;;; faster type-specific methods - -(defmacro %%sum-range (m startr endr startc endc element-type accumulator-type) - `(let ((acc (coerce 0 ',accumulator-type)) - (a (matrix-vals ,m))) - (declare (type ,accumulator-type acc) - (type (simple-array ,element-type *) a)) - (do ((i ,startr (1+ i))) - ((> i ,endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j ,startc (1+ j))) - ((> j ,endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf acc (+ acc (aref a i j))))) - acc)) - -(macrolet ((frob-sum (matrix-type accumulator-type) - (let ((element-type (element-type (find-class matrix-type)))) - `(progn - (defmethod sum ((m ,matrix-type)) - (let ((acc (coerce 0 ',accumulator-type))) - (declare (type ,accumulator-type acc)) - (with-typed-mref (m ,element-type) - (loop for i from 0 below (matrix-total-size m) - do (incf acc (row-major-mref m i)))) - acc)) - - (defmethod sum-square ((m ,matrix-type)) - (let ((acc (coerce 0 ',accumulator-type))) - (declare (type ,accumulator-type acc)) - (with-typed-mref (m ,element-type) - (loop for i from 0 below (matrix-total-size m) - do (incf acc - (* (row-major-mref m i) - (row-major-mref m i))))) - acc)))))) - (frob-sum double-float-matrix double-float) - (frob-sum single-float-matrix single-float) - - (frob-sum ub8-matrix (unsigned-byte 32)) - (frob-sum ub16-matrix (unsigned-byte 32)) - (frob-sum ub32-matrix (unsigned-byte 32)) - - (frob-sum sb8-matrix (signed-byte 32)) - (frob-sum sb16-matrix (signed-byte 32)) - (frob-sum sb32-matrix (signed-byte 32)) - - (frob-sum fixnum-matrix (signed-byte 32)) - (frob-sum bit-matrix (signed-byte 32)) - (frob-sum integer-matrix integer) - (frob-sum real-matrix real) - (frob-sum number-matrix number)) - -(macrolet - ((frob-sum-range (matrix-type accumulator-type) - (let ((element-type (element-type (find-class matrix-type)))) - `(defmethod sum-range ((m ,matrix-type) - (startr fixnum) (endr fixnum) - (startc fixnum) (endc fixnum)) - (%%sum-range m startr endr startc endc - ,element-type ,accumulator-type))))) - (frob-sum-range double-float-matrix double-float) - (frob-sum-range single-float-matrix single-float) - - (frob-sum-range ub8-matrix (unsigned-byte 32)) - (frob-sum-range ub16-matrix (unsigned-byte 32)) - (frob-sum-range ub32-matrix (unsigned-byte 32)) - - (frob-sum-range sb8-matrix (signed-byte 32)) - (frob-sum-range sb16-matrix (signed-byte 32)) - (frob-sum-range sb32-matrix (signed-byte 32)) - - (frob-sum-range fixnum-matrix (signed-byte 32)) - (frob-sum-range bit-matrix (signed-byte 32))) - - -(macrolet - ((frob-sum-square-range (matrix-type accumulator-type) - (let ((element-type (element-type (find-class matrix-type)))) - `(defmethod sum-square-range ((m ,matrix-type) (startr fixnum) (endr fixnum) (startc fixnum) (endc fixnum)) - (let ((acc (coerce 0 ',accumulator-type)) - (a (matrix-vals m))) - (declare (type ,accumulator-type acc) - (type (simple-array ,element-type *) a)) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (incf acc (* (aref a i j) (aref a i j))))) - acc))))) - - (frob-sum-square-range double-float-matrix double-float) - (frob-sum-square-range single-float-matrix single-float) - - (frob-sum-square-range ub8-matrix (unsigned-byte 32)) - (frob-sum-square-range ub16-matrix (unsigned-byte 32)) - (frob-sum-square-range ub32-matrix (unsigned-byte 32)) - - (frob-sum-square-range sb8-matrix (signed-byte 32)) - (frob-sum-square-range sb16-matrix (signed-byte 32)) - (frob-sum-square-range sb32-matrix (signed-byte 32)) - - (frob-sum-square-range fixnum-matrix (signed-byte 32)) - (frob-sum-square-range bit-matrix (signed-byte 32))) - diff --git a/external/clem/src/transform.lisp b/external/clem/src/transform.lisp deleted file mode 100644 index bae4e84..0000000 --- a/external/clem/src/transform.lisp +++ /dev/null @@ -1,414 +0,0 @@ -;;; transform.lisp -;;; affine transformations for the clem matrix package -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -(defclass affine-transformation (double-float-matrix) - ((dimensions :initarg :dimensions :initform '(3 3) :type (or list null))) - (:metaclass standard-matrix-class) - (:documentation "a matrix that represents an affine-transformation")) - -(defgeneric transform-matrix - (m n xfrm &key u v x y - interpolation background) - (:documentation - "applies the affine transform xfrm to the contents of matrix m - and places the contents in n. The default supported classes - of interpolation are :quadratic, :bilinear - and :nearest-neighbor.")) - -(defgeneric copy-affine-transformation (xfrm)) -(defgeneric move-affine-transformation (src dest)) - -(defun transform-coord (x y xfrm) - "applies the affine transformation xfrm to the point {x,y} and - returns the position of the point after applying the transformation" - (let ((coord1 (make-instance 'double-float-matrix :rows 3 :cols 1))) - (setf (mref coord1 0 0) (coerce x 'double-float) - (mref coord1 1 0) (coerce y 'double-float) - (mref coord1 2 0) 1d0) - (let ((coord2 (mat-mult xfrm coord1))) - (values (mref coord2 0 0) (mref coord2 1 0))))) - -(defun compute-bounds (x1 y1 x2 y2 xfrm) - "takes a region bound by x1 and x2 on the x-axis and y1 and y2 on - the y-axis and returns the coordinates of the bounding rectangle - after applying the affine transform xfrm" - (multiple-value-bind (p1 q1) - (transform-coord x1 y1 xfrm) - (multiple-value-bind (p2 q2) - (transform-coord x2 y2 xfrm) - (multiple-value-bind (p3 q3) - (transform-coord x1 y2 xfrm) - (multiple-value-bind (p4 q4) - (transform-coord x2 y1 xfrm) - (values (min p1 p2 p3 p4) ;; x1' - (min q1 q2 q3 q4) ;; y1' - (max p1 p2 p3 p4) ;; x2' - (max q1 q2 q3 q4))))))) ;; y2' - -;;; I need to rethink what to do about the output matrix for the -;;; moment I pass it in and it is the same size as the input matrix. I -;;; should probably compute the required size of the thing and make a -;;; new matrix as apporpriate. -;;; -;;; Ok, rethinking... -;;; -;;; we have an input matrix, an output matrix and an affine -;;; transformation, represented by a matrix. -;;; this is enough to go on but it would probably be nice to offer -;;; more parameters to make affine transforms easier to use. -;;; -;;; the problem is that both input and output matrices themselves can -;;; be considered as living in coordinate spaces. One approach would -;;; be to leave this as is, ranging from 0 to rows - 1 rows and 0 to -;;; cols - 1 cols. Alternatively, we can allow input and output -;;; coordinates, onto which the affine transform is applied and the -;;; appropriate transformed matrix generated. We probably also need to -;;; specify a pixel-space coordinate for the input and output matrices -;;; as well, although there are lots of possible to interpret -;;; those. Let'stick to the matrix-space coordinates and figure those -;;; at first: -;;; -;;; m = input matrix -;;; mr = input matrix rows - 1, mc = input matrix cols -1 -;;; -;;; n = output matrix -;;; nr = output matrix rows - 1, nc = output matrix cols - 1 -;;; -;;; xfrm - affine transformation, specifies the mapping of points from -;;; input space to output space -;;; -;;; u = (u1 . u2) begin and end x coordinates of input matrix -;;; v = (v1 . v2) begin and end y coordinates of input matrix -;;; -;;; x = (x1 . x2) begin and end x coordinates of output matrix -;;; y = (y1 . y2) begin and end y coordinates of output matrix -;;; -;;; examples: -;;; -;;; keeping the transformed matrix fully in the new matrix: -;;; 2x doubling transformation -;;; u = (0 . 100), v = (0 . 100), x = (0 . 200), y = (0 . 200) -;;; -;;; 2x doubling of a matrix shifted -;;; u = (100 . 200), v = (100 . 200), x = (200 . 400), y = (200 . 400) - -(defmethod transform-matrix (m n xfrm - &key u v x y - (interpolation :nearest-neighbor interpolation-supplied-p) - (background nil background-supplied-p)) - "applies the affine transform xfrm to the contents of matrix m - and places the contents in n. The default supported - classes. The default supported classes of interpolation - are :quadratic, :bilinear and :nearest-neighbor. If no - interpolation is supplied, the default is :nearest-neighbor." - (let ((xfrm-shift (mat-copy xfrm))) - (unless u - (setf u (cons 0 (cols m)))) - (unless v - (setf v (cons 0 (rows m)))) - (multiple-value-bind (x1 y1 x2 y2) - (compute-bounds (car u) (car v) (cdr u) (cdr v) xfrm) - (unless x - (setf x (cons (floor x1) (ceiling x2)))) - (unless y - (setf y (cons (floor y1) (ceiling y2))))) - - ;; Need to rework math to do the right thing here! - - (let ((pre-shift1 (make-affine-transformation - :y-shift (car v) :x-shift (car u))) - (pre-shift2 (make-affine-transformation - :y-scale (/ (- (cdr v) (car v)) (rows m)) - :x-scale (/ (- (cdr u) (car u)) (cols m))))) - (setf xfrm-shift (mat-mult xfrm-shift (mat-mult pre-shift1 pre-shift2)))) - (let ((post-shift (make-affine-transformation - :y-shift (- (car y)) :x-shift (- (car x)))) - (post-shift2 (make-affine-transformation - :y-scale (/ (rows n) (- (cdr y) (car y))) - :x-scale (/ (cols n) (- (cdr x) (car x)))))) - (setf xfrm-shift (mat-mult post-shift (mat-mult post-shift2 xfrm-shift)))) - (apply #'%transform-matrix m n xfrm-shift - (append - (when background-supplied-p (list :background background)) - (when interpolation-supplied-p (list :interpolation interpolation)))))) - - -(defmethod set-affine-transformation-parameters ((xfrm affine-transformation) - &key - (y-shift 0d0) - (x-shift 0d0) - (theta 0d0) - (y-scale 1d0) - (x-scale 1d0) - (y-shear 0d0) - (x-shear 0d0)) - (setf (mref xfrm 0 0) (- (* (cos theta) x-scale) - (* (sin theta) y-scale y-shear))) - (setf (mref xfrm 0 1) (- (* (cos theta) x-scale x-shear) - (* (sin theta) y-scale))) - (setf (mref xfrm 0 2) (coerce x-shift 'double-float)) - - (setf (mref xfrm 1 0) (+ (* (sin theta) x-scale) - (* (cos theta) y-scale y-shear))) - (setf (mref xfrm 1 1) (+ (* (sin theta) x-scale x-shear) - (* (cos theta) y-scale))) - (setf (mref xfrm 1 2) (coerce y-shift 'double-float)) - - (setf (mref xfrm 2 0) 0d0) - (setf (mref xfrm 2 1) 0d0) - (setf (mref xfrm 2 2) 1d0) - xfrm) - -(defmethod set-affine-transformation-matrix ((xfrm affine-transformation) (m matrix)) - (dotimes (i (rows m)) - (dotimes (j (cols m)) - (setf (mref xfrm i j) (mref m i j)))) - xfrm) - -(defmethod copy-affine-transformation ((xfrm affine-transformation)) - (mat-copy xfrm)) - -(defmethod invert-affine-transformation ((xfrm affine-transformation)) - (let ((inv (copy-affine-transformation xfrm))) - (set-affine-transformation-matrix inv (clem:invert-matrix xfrm)))) - -(defmethod move-affine-transformation ((src affine-transformation) - (dest affine-transformation)) - (mat-copy-into src dest)) - -(defmethod shared-initialize :after - ((object affine-transformation) slot-names &rest args) - (declare (ignore slot-names args))) - -;;; Creates 3x3 matrix that represents an affine transformation. -;;; since we have an arbitarty 2d matrix (row-major order) and we -;;; haven't really fixed x and y axes, we have some choice as -;;; to how to represent this. Current convention is that -;;; y == row and x == col, so rows 0 and 1 of this matrix are -;;; swapped WRT the usual parameterization of this kind of -;;; affine transformation matrix. -(defun make-affine-transformation (&key - (x-shift 0d0) - (y-shift 0d0) - (x-scale 1.0d0) - (y-scale 1.0d0) - (x-shear 0.0d0) - (y-shear 0.0d0) - (theta 0d0)) - (let ((xfrm (make-instance 'affine-transformation))) - (set-affine-transformation-parameters xfrm - :x-shift x-shift - :y-shift y-shift - :theta theta - :x-scale x-scale - :y-scale y-scale - :x-shear x-shear - :y-shear y-shear) - xfrm)) - - -(defgeneric affine-transform (mat xfrm &key u v x y interpolation background matrix-class)) -(defmethod affine-transform ((mat matrix) - (xfrm affine-transformation) - &key - u v x y - (interpolation nil interpolation-supplied-p) - (background nil background-supplied-p) - (matrix-class (class-of mat))) - (unless u (setf u (cons 0 (cols mat)))) - (unless v (setf v (cons 0 (rows mat)))) - (multiple-value-bind (x1 y1 x2 y2) - (compute-bounds (car u) (car v) (cdr u) (cdr v) xfrm) - (unless x (setf x (cons (floor x1) (ceiling x2)))) - (unless y (setf y (cons (floor y1) (ceiling y2))))) - (let ((rows (if y (truncate (- (cdr y) (car y))) - (rows mat))) - (cols (if x (truncate (- (cdr x) (car x))) - (cols mat)))) - (let ((m (make-instance matrix-class - :rows rows - :cols cols - :initial-element - (coerce 0 (element-type (class-of mat)))))) - (apply #'transform-matrix mat m xfrm - (append - (when u (list :u u)) - (when v (list :v v)) - (when x (list :x x)) - (when y (list :y y)) - (when background-supplied-p - (list :background background)) - (when interpolation-supplied-p - (list :interpolation interpolation)))) - m))) - -(defun resize-matrix (m y x &key (interpolation :bilinear)) - (let ((oldy (rows m)) - (oldx (cols m))) - (let ((xfrm (make-affine-transformation :x-scale (/ x oldx) - :y-scale (/ y oldy)))) - (let ((n (affine-transform - m xfrm - :interpolation interpolation - :u `(0 . ,oldx) :v `(0 . ,oldy) - :x `(0 . ,x) :y `(0 . ,y)))) - n)))) - -(defmethod mat-mult ((m affine-transformation) - n) - (let ((p (make-instance 'clem::affine-transformation)) - (r (call-next-method))) - (if (equal (dim n) '(3 3)) - (progn - (set-affine-transformation-matrix p r) - p) - r))) - -(defmethod mat-add ((m affine-transformation) - (n affine-transformation) &key in-place) - (let ((p (make-instance 'clem::affine-transformation)) - (r (call-next-method))) - (set-affine-transformation-matrix p r))) - -(defmethod mat-subtr :around - ((m affine-transformation) - n &key in-place (result-type 'clem::affine-transformation)) - (declare (ignorable matrix-class)) - (let ((p (make-instance result-type)) - (r (call-next-method))) - (set-affine-transformation-matrix p r))) - -(defmethod mat-hprod ((m affine-transformation) - n) - (let ((p (make-instance 'clem::affine-transformation)) - (r (call-next-method))) - (if (equal (dim n) '(3 3)) - (set-affine-transformation-matrix p r) - r))) - - -(defclass affine-transformation-7-parameters () - ((y-shift :accessor y-shift :initarg :y-shift :initform 0d0 :type double-float) - (x-shift :accessor x-shift :initarg :x-shift :initform 0d0 :type double-float) - (theta :accessor theta :initarg :theta :initform 0d0 :type double-float) - (y-scale :accessor y-scale :initarg :y-scale :initform 0d0 :type double-float) - (x-scale :accessor x-scale :initarg :x-scale :initform 0d0 :type double-float) - (y-shear :accessor y-shear :initarg :y-shear :initform 0d0 :type double-float) - (x-shear :accessor x-shear :initarg :x-shear :initform 0d0 :type double-float)) - (:documentation "a set of parameters for use in - (over-) parameterizing an affine transformation by use of seven - parameters, x-shift, y-shift, theta, x-scale, y-scale, x-shear, - and y-shear.")) - -(defun make-affine-transformation-matrix-from-7-parameters (transvec) - (with-slots (y-shift x-shift theta y-scale x-scale y-shear x-shear) transvec - (clem:make-affine-transformation :y-shift y-shift - :x-shift x-shift - :theta theta - :y-scale (exp y-scale) - :x-scale (exp x-scale) - :y-shear y-shear - :x-shear x-shear))) - -(declaim (inline transformation-parameter)) -(declaim (ftype (function (affine-transformation-7-parameters fixnum) double-float) transforamtion-parameter)) - -(defun transformation-parameter (xfrm i) - (declare (type fixnum i)) - (ecase i - (0 (/ (the double-float (y-shift xfrm)) 100d0)) - (1 (/ (the double-float (x-shift xfrm)) 100d0)) - (2 (theta xfrm)) - (3 (y-scale xfrm)) - (4 (x-scale xfrm)) - (5 (y-shear xfrm)) - (6 (x-shear xfrm)))) - -(declaim (ftype (function (double-float clem:affine-transformation fixnum) - clem:affine-transformation) (setf transforamtion-parameter))) -(declaim (inline (setf transformation-parameter))) -(defun (setf transformation-parameter) (v xfrm i) - (declare (type double-float v) - (type fixnum i)) - (ecase i - (0 (setf (y-shift xfrm) (* v 100d0))) - (1 (setf (x-shift xfrm) (* v 100d0))) - (2 (setf (theta xfrm) v)) - (3 (setf (y-scale xfrm) v)) - (4 (setf (x-scale xfrm) v)) - (5 (setf (y-shear xfrm) v)) - (6 (setf (x-shear xfrm) v)))) - - -(defun decf-transformation-parameters (src delta) - (with-slots (y-shift x-shift theta y-scale x-scale y-shear x-shear) src - (decf y-shift (y-shift delta)) - (decf x-shift (x-shift delta)) - (decf theta (theta delta)) - (decf y-scale (y-scale delta)) - (decf x-scale (x-scale delta)) - (decf y-shear (y-shear delta)) - (decf x-shear (x-shear delta)) - src)) - -(defun copy-affine-transformation-7-parameters (src) - (let ((dest (make-instance 'affine-transformation-7-parameters))) - (setf (y-shift dest) (y-shift src) - (x-shift dest) (x-shift src) - (theta dest) (theta src) - (y-scale dest) (y-scale src) - (x-scale dest) (x-scale src) - (y-shear dest) (y-shear src) - (x-shear dest) (x-shear src)) - dest)) - -(defun move-affine-transformation-7-parameters (src dest) - (setf (y-shift dest) (y-shift src) - (x-shift dest) (x-shift src) - (theta dest) (theta src) - (y-scale dest) (y-scale src) - (x-scale dest) (x-scale src) - (y-shear dest) (y-shear src) - (x-shear dest) (x-shear src)) - dest) - -(defun get-affine-transformation-7-parameters-properties (transvec) - (with-slots (y-shift x-shift theta y-scale x-scale y-shear x-shear) - transvec - (list :y-shift y-shift - :x-shift x-shift - :theta theta - :y-scale y-scale - :x-scale x-scale - :y-shear y-shear - :x-shear x-shear))) diff --git a/external/clem/src/typed-matrix-utils.lisp b/external/clem/src/typed-matrix-utils.lisp deleted file mode 100644 index ac7142b..0000000 --- a/external/clem/src/typed-matrix-utils.lisp +++ /dev/null @@ -1,51 +0,0 @@ - -(in-package :clem) - -(defun copy-to-matrix-type (m mtype &key (constrain nil)) - (let ((b (make-instance mtype :rows (rows m) :cols (cols m)))) - (matrix-move m b :constrain constrain) - b)) - -(defgeneric copy-to-ub8-matrix (m &key constrain)) -(defmethod copy-to-ub8-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'ub8-matrix :constrain constrain)) - -(defgeneric copy-to-ub16-matrix (m &key constrain)) -(defmethod copy-to-ub16-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'ub16-matrix :constrain constrain)) - -(defgeneric copy-to-ub32-matrix (m &key constrain)) -(defmethod copy-to-ub32-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'ub32-matrix :constrain constrain)) - -(defgeneric copy-to-sb8-matrix (m &key constrain)) -(defmethod copy-to-sb8-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'sb8-matrix :constrain constrain)) - -(defgeneric copy-to-sb16-matrix (m &key constrain)) -(defmethod copy-to-sb16-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'sb16-matrix :constrain constrain)) - -(defgeneric copy-to-sb32-matrix (m &key constrain)) -(defmethod copy-to-sb32-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'sb32-matrix :constrain constrain)) - -(defgeneric copy-to-double-float-matrix (m &key constrain)) -(defmethod copy-to-double-float-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'double-float-matrix :constrain constrain)) - -(defgeneric copy-to-single-float-matrix (m &key constrain)) -(defmethod copy-to-single-float-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'single-float-matrix :constrain constrain)) - -(defgeneric copy-to-fixnum-matrix (m &key constrain)) -(defmethod copy-to-fixnum-matrix ((m matrix) &key (constrain nil)) - (copy-to-matrix-type m 'fixnum-matrix :constrain constrain)) - -(defgeneric copy-to-bit-matrix (m &key constrain)) -(defmethod copy-to-bit-matrix ((m matrix) &key (constrain t)) - (copy-to-matrix-type m 'bit-matrix :constrain constrain)) - -(defgeneric copy-to-complex-matrix (m &key constrain)) -(defmethod copy-to-complex-matrix ((m matrix) &key (constrain t)) - (copy-to-matrix-type m 'complex-matrix :constrain constrain)) diff --git a/external/clem/src/typed-matrix.lisp b/external/clem/src/typed-matrix.lisp deleted file mode 100644 index 66daddd..0000000 --- a/external/clem/src/typed-matrix.lisp +++ /dev/null @@ -1,47 +0,0 @@ -;;; typed-matrix.lisp -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -(in-package :clem) - -(defclass typed-matrix (matrix) - ((specialzied-array :allocation :class :accessor specialized-array-p :initform nil)) - (:metaclass standard-matrix-class)) - -(defmethod set-val-fit ((m typed-matrix) i j v &key (truncate nil)) - (set-val m i j (if truncate (truncate v) v))) - -(defmethod map-matrix-fit (f (a typed-matrix)) - (destructuring-bind (m n) (dim a) - (dotimes (i m) - (dotimes (j n) - (set-val-fit a i j (funcall f a i j))))) - a) - - diff --git a/external/clem/src/typed-ops/defmatrix-convolve.lisp b/external/clem/src/typed-ops/defmatrix-convolve.lisp deleted file mode 100644 index 7a0e011..0000000 --- a/external/clem/src/typed-ops/defmatrix-convolve.lisp +++ /dev/null @@ -1,137 +0,0 @@ -;;; -;;; file: defmatrix-conolve.cl -;;; author: cyrus harmon -;;; - -(in-package :clem) - -(defmacro def-matrix-convolve (type-1 type-2 accumulator-element-type dest-type) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (dest-element-type (element-type (find-class `,dest-type)))) - (let ((one (coerce 1 accumulator-element-type)) - (zero (coerce 0 accumulator-element-type))) - `(progn - (defmethod %discrete-convolve ((u ,type-1) - (v ,type-2) - (z ,dest-type) - &key - (norm-v t)) - (declare (optimize (speed 3) (safety 0) (space 0))) - ;; ur, uc, vr, vc are the number of rows and columns in u and v - (let ((ur (rows u)) (uc (cols u)) (vr (rows v)) (vc (cols v))) - (declare (type fixnum ur uc vr vc)) - ;; need a new matrix z to hold the values of the convolved matrix - ;; dim z should be dim u + dim v - 1 - (let ((zr (+ ur vr (- 1))) - (zc (+ uc vc (- 1)))) - ;; now that we really have z we should get the dimensions and check - ;; instead! - (declare (type fixnum zr zc)) - (let ((uval (matrix-vals u)) - (vval (matrix-vals v)) - (zval (matrix-vals z)) - (vsum (sum v))) - (declare (type (simple-array ,element-type-1 *) uval) - (type (simple-array ,element-type-2 *) vval) - (type (simple-array ,dest-element-type *) zval) - (type ,accumulator-element-type vsum)) - (dotimes (i zr) - (declare (type fixnum i)) - (let ((ustartr (max 0 (the fixnum (- i vr -1)))) - (uendr (min (- ur 1) i)) - (vstartr (- vr (max (the fixnum (- vr i)) 1))) - (vendr (- vr (min (- zr i) vr)))) - (declare (type fixnum ustartr uendr vstartr vendr)) - (dotimes (j zc) - (declare (type fixnum j)) - (let ((ustartc (max 0 (the fixnum (- j vc -1)))) - (uendc (min (- uc 1) j)) - (vstartc (- vc (max (the fixnum (- vc j)) 1))) - (vendc (- vc (min (- zc j) vc))) - (acc ,zero)) - (declare (type fixnum ustartr uendr vstartr vendr) - (type ,accumulator-element-type acc)) - (let ((normval - (if (and norm-v - (or (not (= vendr vendc 0)) - (< vstartr (the fixnum (1- vr))) - (< vstartc (the fixnum (1- vc))))) - (let ((rsum - (%%sum-range v vendr vstartr vendc vstartc - ,element-type-2 - ,(car (slot-value - `,(find-class `,type-2) - 'clem::accumulator-type))))) - (declare (type ,accumulator-element-type rsum)) - (if (not (= rsum ,zero)) - (/ vsum rsum) - ,zero)) - ,one))) - (declare (type ,accumulator-element-type normval)) - (do ((urow ustartr (the fixnum (1+ urow))) - (vrow vstartr (the fixnum (1- vrow)))) - ((> urow uendr)) - (declare (type fixnum urow vrow)) - (do ((ucol ustartc (the fixnum (1+ ucol))) - (vcol vstartc (the fixnum (1- vcol)))) - ((> ucol uendc)) - (declare (type fixnum ucol vcol)) - (let ((uv (aref uval urow ucol)) - (vv (aref vval vrow vcol))) - (declare (type ,element-type-1 uv) - (type ,element-type-2 vv)) - (incf acc (* uv vv)) - ))) - - (setf (aref zval i j) - (maybe-truncate - (* acc normval) - ,accumulator-element-type - ,dest-element-type))))))) - z)))) - - (defmethod discrete-convolve ((u ,type-1) (v ,type-2) - &key (truncate nil) (norm-v t) - (matrix-class ',dest-type)) - (declare (ignore truncate)) - ;; ur, uc, vr, vc are the number of rows and columns in u and v - (let ((ur (rows u)) (uc (cols u)) (vr (rows v)) (vc (cols v))) - (let ((zr (+ ur vr (- 1))) - (zc (+ uc vc (- 1)))) - (unless matrix-class - (setf matrix-class (type-of u))) - (let ((z (make-instance matrix-class :rows zr :cols zc))) - (%discrete-convolve u v z :norm-v norm-v))))) - - (defmethod %separable-discrete-convolve ((m ,type-1) (h1 ,type-2) (h2 ,type-2) - (z1 matrix) (z2 matrix) - &key (truncate nil) (norm-v nil) - (matrix-class (class-of m))) - (declare (ignore truncate matrix-class)) - (let ((mr (rows m)) (mc (cols m)) (hr (rows h1)) (hc (cols h2))) - (declare (ignore mr mc hr hc)) - (%discrete-convolve m h2 z1 :norm-v norm-v) - (%discrete-convolve z1 h1 z2 :norm-v norm-v))) - - - (defmethod separable-discrete-convolve ((m ,type-1) (h1 ,type-2) (h2 ,type-2) - &key (truncate nil) (norm-v nil) - (matrix-class (class-of m))) - (declare (ignore truncate)) - (let ((mr (rows m)) (mc (cols m)) (hr (rows h1)) (hc (cols h2))) - (let ((z1r mr) (z1c (+ mc hc -1)) - (z2r (+ mr hr -1)) (z2c (+ mc hc -1))) - (let ((z1 (make-instance matrix-class :rows z1r :cols z1c)) - (z2 (make-instance matrix-class :rows z2r :cols z2c))) - (%separable-discrete-convolve m h1 h2 z1 z2 :norm-v norm-v))))))))) - -(macrolet ((frob (type-1 type-2 type-3 type-4) - `(progn - (def-matrix-convolve ,type-1 ,type-2 ,type-3 ,type-4)))) - (frob double-float-matrix double-float-matrix double-float double-float-matrix) - (frob single-float-matrix single-float-matrix single-float single-float-matrix) - (frob ub8-matrix ub8-matrix (unsigned-byte 8) ub8-matrix) - (frob ub8-matrix double-float-matrix double-float ub8-matrix) - (frob ub8-matrix single-float-matrix single-float ub8-matrix)) - diff --git a/external/clem/src/typed-ops/defmatrix-equal.lisp b/external/clem/src/typed-ops/defmatrix-equal.lisp deleted file mode 100644 index 3db81a4..0000000 --- a/external/clem/src/typed-ops/defmatrix-equal.lisp +++ /dev/null @@ -1,48 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: defmatrix-equal.cl -;;; author: cyrus harmon -;;; - -(in-package :clem) - -(defmacro def-matrix-equal (type-1 type-2 &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-equal-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc) - (let ((equal t)) - (clem::mloop-range (((m ,element-type-1 a) - (n ,element-type-2 b)) - startr endr startc endc i j) - (setf equal (and equal (= (aref a i j) (aref b i j))))) - equal)) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-equal" suffix)) - ((m ,type-1) (n ,type-2)) - (destructuring-bind (mr mc) (dim m) - (,(ch-util:make-intern (concatenate 'string "mat-equal-range" suffix)) m n 0 (1- mr) 0 (1- mc))))))) - -(macrolet ((frob (type-1 type-2 &key suffix) - `(progn - (def-matrix-equal ,type-1 ,type-2 :suffix ,suffix)))) - - (frob double-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix) - - (frob ub8-matrix ub8-matrix) - (frob ub16-matrix ub16-matrix) - (frob ub32-matrix ub32-matrix) - - (frob sb8-matrix sb8-matrix) - (frob sb16-matrix sb16-matrix) - (frob sb32-matrix sb32-matrix) - - (frob bit-matrix bit-matrix) - - (frob real-matrix real-matrix) - (frob integer-matrix integer-matrix) - - (frob complex-matrix complex-matrix)) - diff --git a/external/clem/src/typed-ops/defmatrix-hprod.lisp b/external/clem/src/typed-ops/defmatrix-hprod.lisp deleted file mode 100644 index 89ecffd..0000000 --- a/external/clem/src/typed-ops/defmatrix-hprod.lisp +++ /dev/null @@ -1,139 +0,0 @@ - -(in-package :clem) - -(defmacro def-matrix-hprod (type-1 type-2 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-hprod-range" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc) - (destructuring-bind (mr mc) (dim m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-matrix-vals (m ,element-type-1 a) - (with-matrix-vals (n ,element-type-2 b) - (with-matrix-vals (p ,accumulator-element-type c) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (aref c i j) - (* (aref a i j) (aref b i j)))))))) - p))) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-hprod" suffix)) - ((m ,type-1) (n ,type-2)) - (destructuring-bind (mr mc) (dim m) - (mat-hprod-range m n 0 (1- mr) 0 (1- mc))))))) - -(defmacro def-matrix-hprod! (type-1 type-2 accumulator-type &key suffix) - (declare (ignore accumulator-type)) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2)))) - `(progn - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-hprod-range!" suffix)) - ((m ,type-1) (n ,type-2) startr endr startc endc) - (with-matrix-vals (m ,element-type-1 a) - (with-matrix-vals (n ,element-type-2 b) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (setf (aref a i j) - (* (aref a i j) (aref b i j)))))) - m)) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-hprod!" suffix)) - ((m ,type-1) (n ,type-2)) - (destructuring-bind (mr mc) (dim m) - (mat-hprod-range! m n 0 (1- mr) 0 (1- mc))))))) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-matrix-hprod ,type-1 ,type-2 ,type-3 :suffix ,suffix) - (def-matrix-hprod! ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - - (frob double-float-matrix double-float-matrix double-float-matrix) - (frob double-float-matrix single-float-matrix double-float-matrix) - (frob double-float-matrix ub8-matrix double-float-matrix) - (frob double-float-matrix ub16-matrix double-float-matrix) - (frob double-float-matrix ub32-matrix double-float-matrix) - (frob double-float-matrix sb8-matrix double-float-matrix) - (frob double-float-matrix sb16-matrix double-float-matrix) - (frob double-float-matrix sb32-matrix double-float-matrix) - (frob double-float-matrix fixnum-matrix double-float-matrix) - (frob double-float-matrix bit-matrix double-float-matrix) - - (frob single-float-matrix single-float-matrix single-float-matrix) - (frob single-float-matrix ub8-matrix single-float-matrix) - (frob single-float-matrix ub16-matrix single-float-matrix) - (frob single-float-matrix ub32-matrix single-float-matrix) - (frob single-float-matrix sb8-matrix single-float-matrix) - (frob single-float-matrix sb16-matrix single-float-matrix) - (frob single-float-matrix sb32-matrix single-float-matrix) - (frob single-float-matrix fixnum-matrix single-float-matrix) - (frob single-float-matrix bit-matrix single-float-matrix) - - (frob ub8-matrix ub8-matrix ub8-matrix) - (frob ub8-matrix bit-matrix ub8-matrix) - - (frob ub16-matrix ub16-matrix ub16-matrix) - (frob ub16-matrix ub8-matrix ub16-matrix) - (frob ub16-matrix bit-matrix ub16-matrix) - - (frob ub32-matrix ub32-matrix ub32-matrix) - (frob ub32-matrix ub16-matrix ub32-matrix) - (frob ub32-matrix ub8-matrix ub32-matrix) - (frob ub32-matrix bit-matrix ub32-matrix) - - (frob sb8-matrix sb8-matrix sb8-matrix) - (frob sb8-matrix bit-matrix sb8-matrix) - - (frob sb16-matrix sb16-matrix sb16-matrix) - (frob sb16-matrix sb8-matrix sb16-matrix) - (frob sb16-matrix bit-matrix sb16-matrix) - - (frob sb32-matrix sb32-matrix sb32-matrix) - (frob sb32-matrix sb16-matrix sb32-matrix) - (frob sb32-matrix sb8-matrix sb32-matrix) - (frob sb32-matrix bit-matrix sb32-matrix) - - (frob fixnum-matrix fixnum-matrix fixnum-matrix) - (frob fixnum-matrix bit-matrix fixnum-matrix) - - (frob bit-matrix bit-matrix bit-matrix)) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(progn - (def-matrix-hprod ,type-1 ,type-2 ,type-3 :suffix ,suffix) - (def-matrix-hprod! ,type-1 ,type-2 ,type-3 :suffix ,suffix)))) - - (frob real-matrix double-float-matrix real-matrix) - (frob real-matrix single-float-matrix real-matrix) - (frob real-matrix ub8-matrix real-matrix) - (frob real-matrix ub16-matrix real-matrix) - (frob real-matrix ub32-matrix real-matrix) - (frob real-matrix sb8-matrix real-matrix) - (frob real-matrix sb16-matrix real-matrix) - (frob real-matrix sb32-matrix real-matrix) - (frob real-matrix real-matrix real-matrix) - (frob real-matrix number-matrix real-matrix) - (frob real-matrix bit-matrix real-matrix) - - (frob complex-matrix double-float-matrix complex-matrix) - (frob complex-matrix single-float-matrix complex-matrix) - (frob complex-matrix ub8-matrix complex-matrix) - (frob complex-matrix ub16-matrix complex-matrix) - (frob complex-matrix ub32-matrix complex-matrix) - (frob complex-matrix sb8-matrix complex-matrix) - (frob complex-matrix sb16-matrix complex-matrix) - (frob complex-matrix sb32-matrix complex-matrix) - (frob complex-matrix real-matrix complex-matrix) - (frob complex-matrix complex-matrix complex-matrix) - (frob complex-matrix number-matrix complex-matrix) - (frob complex-matrix bit-matrix complex-matrix)) - diff --git a/external/clem/src/typed-ops/defmatrix-mult-block.lisp b/external/clem/src/typed-ops/defmatrix-mult-block.lisp deleted file mode 100644 index c03e30c..0000000 --- a/external/clem/src/typed-ops/defmatrix-mult-block.lisp +++ /dev/null @@ -1,152 +0,0 @@ - - -(in-package :clem) - -(defparameter *max-block-size* 32) -(declaim (type fixnum *max-block-size*)) - -(defmacro fixnum1+ (place) - `(the fixnum (1+ ,place))) - -(defgeneric %mat-mult-block (m n p - mstartr mendr mstartc mendc - nstartr nendr nstartc nendc)) - - -(defgeneric %mat-mult-with-blocks (m n p - mstartr mendr mstartc mendc - nstartr nendr nstartc nendc)) - -(defmacro def-matrix-mult-block (type-1 type-2 accumulator-type &key suffix) - (declare (ignore suffix)) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - (defmethod %mat-mult-block - ((m ,type-1) (n ,type-2) (p ,accumulator-type) - mstartr mendr mstartc mendc - nstartr nendr nstartc nendc) - (declare (type fixnum mstartr mendr mstartc mendc - nstartr nendr nstartc nendc) - (optimize (speed 3) (safety 0) (space 0))) - (let ((a (clem::matrix-vals m)) - (b (clem::matrix-vals n)) - (c (clem::matrix-vals p)) - (atemp (coerce 0 ',accumulator-element-type))) - (declare (type (simple-array ,element-type-1 *) a) - (type (simple-array ,element-type-2 *) b) - (type (simple-array ,accumulator-element-type *) c) - (type ,accumulator-element-type atemp)) - (when (eql (- mendc mstartc) (- nendr nstartr)) - (let ((ci 0)) - (declare (type fixnum ci)) - (do ((k mstartc (fixnum1+ k))) - ((> k mendc)) - (declare (type fixnum k)) - (setf ci 0) - (do ((i mstartr (fixnum1+ i))) - ((> i mendr)) - (declare (type fixnum i)) - (setf atemp (aref a i k)) - (do ((j nstartc (fixnum1+ j))) - ((> j nendc)) - (declare (type fixnum j)) - (incf (row-major-aref c ci) (* (aref b k j) atemp)) - (incf ci)))))))) - - (defmethod %mat-mult-with-blocks - ((m ,type-1) (n ,type-2) (p ,accumulator-type) - (mstartr fixnum) (mendr fixnum) (mstartc fixnum) (mendc fixnum) - (nstartr fixnum) (nendr fixnum) (nstartc fixnum) (nendc fixnum)) - (declare (type fixnum mstartr mendr mstartc mendc - nstartr nendr nstartc nendc) - (optimize (speed 3) (safety 0))) - (if (and (> (- mendr mstartr) *max-block-size*) - (> (- mendc mstartc) *max-block-size*) - (> (- nendr nstartr) *max-block-size*) - (> (- nendc nstartc) *max-block-size*)) - (let ((mblock-row-end (the fixnum - (+ (the fixnum mstartr) - (the fixnum (ash (the fixnum (- mendr mstartr (the fixnum -1))) (the fixnum -1))) - (the fixnum -1)))) - (mblock-col-end (the fixnum (+ mstartc (ash (- mendc mstartc -1) -1) -1))) - (nblock-row-end (the fixnum (+ nstartr (ash (- nendr nstartr -1) -1) -1))) - (nblock-col-end (the fixnum (+ nstartc (the fixnum (ash (- nendc nstartc -1) -1)) -1)))) - (declare (type fixnum mblock-row-end mblock-col-end nblock-row-end nblock-col-end)) - ;; m_11 * n_11 - (%mat-mult-with-blocks m n p - mstartr mblock-row-end - mstartc mblock-col-end - nstartr nblock-row-end - nstartc nblock-col-end) - - ;; m_11 * n_12 - (%mat-mult-with-blocks m n p - mstartr mblock-row-end - mstartc mblock-col-end - nstartr nblock-row-end - (the fixnum (1+ nblock-col-end)) nendc) - - ;; m_21 * n_11 - (%mat-mult-with-blocks m n p - (the fixnum (1+ mblock-row-end)) mendr - mstartc mblock-col-end - nstartr nblock-row-end - nstartc nblock-col-end) - - ;; m_21 * n_12 - (%mat-mult-with-blocks m n p - (the fixnum (1+ mblock-row-end)) mendr - mstartc mblock-col-end - nstartr nblock-row-end - (fixnum1+ nblock-col-end) nendc) - - ;; m_12 * n_21 - (%mat-mult-with-blocks m n p - mstartr mblock-row-end - (fixnum1+ mblock-col-end) mendc - (fixnum1+ nblock-row-end) nendr - nstartc nblock-col-end) - - ;; m_12 * n_22 - (%mat-mult-with-blocks m n p - mstartr mblock-row-end - (fixnum1+ mblock-col-end) mendc - (fixnum1+ nblock-row-end) nendr - (fixnum1+ nblock-col-end) nendc) - - ;; m_22 * n_21 - (%mat-mult-with-blocks m n p - (fixnum1+ mblock-row-end) mendr - (fixnum1+ mblock-col-end) mendc - (fixnum1+ nblock-row-end) nendr - nstartc nblock-col-end) - - ;; m_22 * n_22 - (%mat-mult-with-blocks m n p - (fixnum1+ mblock-row-end) mendr - (fixnum1+ mblock-col-end) mendc - (fixnum1+ nblock-row-end) nendr - (fixnum1+ nblock-col-end) nendc) - - ) - (%mat-mult-block m n p - mstartr mendr - mstartc mendc - nstartr nendr - nstartc nendc))) - - (defmethod mat-mult-3-block ((m ,type-1) (n ,type-2) (p ,accumulator-type)) - (destructuring-bind (mr mc) (dim m) - (destructuring-bind (nr nc) (dim n) - (%mat-mult-with-blocks m n p - 0 (1- mr) 0 (1- mc) - 0 (1- nr) 0 (1- nc)))) - p)))) - -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(def-matrix-mult-block ,type-1 ,type-2 ,type-3 :suffix ,suffix))) - (frob double-float-matrix double-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix single-float-matrix)) - diff --git a/external/clem/src/typed-ops/defmatrix-mult.lisp b/external/clem/src/typed-ops/defmatrix-mult.lisp deleted file mode 100644 index e4ab629..0000000 --- a/external/clem/src/typed-ops/defmatrix-mult.lisp +++ /dev/null @@ -1,124 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: defmatrix-mult.cl -;;; author: cyrus harmon -;;; - -(in-package :clem) - -#+sbcl -(defun displace-to-1d-array (matrix) - (sb-c::%array-data-vector (clem::matrix-vals matrix))) - -(defgeneric mat-mult3 (m n p)) - -(defmacro def-matrix-mult (type-1 type-2 accumulator-type &key suffix) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (accumulator-element-type (element-type (find-class `,accumulator-type)))) - `(progn - - #+sbcl - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-mult3" suffix)) - ((m ,type-1) (n ,type-2) (p ,accumulator-type)) - (declare (optimize (speed 3) (safety 0))) - (let ((a (displace-to-1d-array m)) - (b (displace-to-1d-array n)) - (c (displace-to-1d-array p)) - (atemp (coerce 0 ',accumulator-element-type))) - (declare (type (simple-array ,element-type-1 (*)) a) - (type (simple-array ,element-type-2 (*)) b) - (type (simple-array ,accumulator-element-type (*)) c) - (type ,accumulator-element-type atemp)) - (let ((mr (rows m)) (mc (cols m)) - (nr (rows n)) (nc (cols n)) - (pr (rows p)) (pc (cols p))) - (declare (type fixnum mr mc nr nc pr pc)) - (if (and (= mc nr) (= mr pr) (= nc pc)) - (do ((k 0 (the fixnum (1+ k)))) - ((>= k mc)) - (declare (type fixnum k)) - (do* ((i 0 (the fixnum (1+ i))) - (aind k (+ aind mc))) - ((>= i mr)) - (declare (type fixnum i aind)) - (setf atemp (aref a aind)) - (do ((j 0 (the fixnum (1+ j))) - (bind (* k nc) (the fixnum (1+ bind))) - (cind (* i nc) (the fixnum (1+ cind)))) - ((>= j nc)) - (declare (type fixnum j bind cind)) - (incf (aref c cind) (the ,accumulator-element-type (* atemp (aref b bind))))))) - (error 'matrix-argument-error - :format-control - "Incompatible matrix dimensions in mat-mult3 (~S x ~S) * (~S x ~S) => (~S x ~S)." - :format-arguments (list mr mc nr nc pr pc)) - ))) - p) - - #-sbcl - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-mult3" suffix)) - ((m ,type-1) (n ,type-1) (p ,type-1)) - (declare (optimize (speed 3) (safety 0))) - (let ((a (clem::matrix-vals m)) - (b (clem::matrix-vals n)) - (c (clem::matrix-vals p)) - (atemp (coerce 0 ',accumulator-element-type))) - (declare (type (simple-array ,element-type-1 *) a) - (type (simple-array ,element-type-2 *) b) - (type (simple-array ,accumulator-element-type *) c) - (type ,accumulator-element-type atemp)) - (let ((mr (rows m)) (mc (cols m)) - (nr (rows n)) (nc (cols n)) - (pr (rows n)) (pc (cols n))) - (declare (type fixnum mr mc nr nc pr pc)) - (if (and (= mc nr) (= mr pr) (= nc pc)) - (do ((k 0 (the fixnum (1+ k)))) - ((>= k mc)) - (declare (type fixnum k)) - (do ((i 0 (the fixnum (1+ i)))) - ((>= i mr)) - (declare (type fixnum i)) - (setf atemp (aref a i k)) - (do ((j 0 (the fixnum (1+ j)))) - ((>= j nc)) - (declare (type fixnum j)) - (incf (aref c i j) (the ,accumulator-element-type (* atemp (aref b k j))))))) - (error 'matrix-argument-error - :format-control - "Incompatible matrix dimensions in mat-mult3 (~S x ~S) * (~S x ~S) => (~S x ~S)." - :format-arguments (list mr mc nr nc pr pc))))) - p) - - (defmethod ,(ch-util:make-intern (concatenate 'string "mat-mult" suffix)) - ((m ,type-1) (n ,type-2)) - (declare (optimize (speed 3) (safety 0))) - (let ((mr (rows m)) - (nc (cols n))) - (declare (type fixnum mr nc)) - (if (= (cols m) (rows n)) - (let ((p (make-instance ',accumulator-type - :rows (the fixnum mr) - :cols (the fixnum nc)))) - (mat-mult3 m n p)) - (error 'matrix-argument-error - :format-control - "Incompatible matrix dimensions in mat-mult (~S x ~S) * (~S x ~S)." - :format-arguments (list (rows m) (cols m) (rows n) (cols n))))))))) - - -;;; need to think about which mat-mult type combinations are needed -;;; here. add more as apporpriate. -(macrolet ((frob (type-1 type-2 type-3 &key suffix) - `(def-matrix-mult ,type-1 ,type-2 ,type-3 :suffix ,suffix))) - (frob double-float-matrix double-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix single-float-matrix) - (frob ub8-matrix ub8-matrix ub8-matrix) - (frob ub16-matrix ub16-matrix ub16-matrix) - (frob ub32-matrix ub32-matrix ub32-matrix) - (frob sb8-matrix sb8-matrix sb32-matrix) - (frob sb16-matrix sb16-matrix sb32-matrix) - (frob sb32-matrix sb32-matrix sb32-matrix) - (frob fixnum-matrix fixnum-matrix fixnum-matrix) - (frob bit-matrix bit-matrix bit-matrix)) - diff --git a/external/clem/src/typed-ops/defmatrix-scale.lisp b/external/clem/src/typed-ops/defmatrix-scale.lisp deleted file mode 100644 index e218dd6..0000000 --- a/external/clem/src/typed-ops/defmatrix-scale.lisp +++ /dev/null @@ -1,82 +0,0 @@ - -(in-package :clem) - -(defgeneric mat-scale-fit-range (m q startr endr startc endc)) -(defgeneric mat-scale-fit (m q)) -(defgeneric mat-scale-fit-range! (m q startr endr startc endc)) -(defgeneric mat-scale-fit! (m q)) - -(defmacro def-matrix-scale-fit (type-1 accumulator-type) - (let ((element-type-1 (element-type (find-class `,type-1)))) - `(progn - (defmethod mat-scale-fit-range - ((m ,type-1) q startr endr startc endc) - (let ((qconv (coerce q ',element-type-1))) - (declare (type ,element-type-1 qconv)) - (destructuring-bind (mr mc) (dim m) - (let ((p (make-instance ',accumulator-type :rows mr :cols mc))) - (with-matrix-vals (m ,element-type-1 a) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (set-val-fit p i j (* (aref a i j) qconv))))) - p)))) - - (defmethod mat-scale-fit - ((m ,type-1) q) - (destructuring-bind (mr mc) (dim m) - (mat-scale-fit-range m q 0 (1- mr) 0 (1- mc))))))) - - -(defmacro def-matrix-scale-fit! (type-1) - (let ((element-type-1 (element-type (find-class `,type-1)))) - `(progn - (defmethod mat-scale-fit-range! - ((m ,type-1) q startr endr startc endc) - (if (subtypep (type-of q) ',element-type-1) - (let ((qconv (coerce q ',element-type-1))) - (declare (type ,element-type-1 qconv)) - (with-matrix-vals (m ,element-type-1 a) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (set-val-fit m i j (* (aref a i j) qconv)))))) - (with-matrix-vals (m ,element-type-1 a) - (do ((i startr (1+ i))) - ((> i endr)) - (declare (dynamic-extent i) (type fixnum i)) - (do ((j startc (1+ j))) - ((> j endc)) - (declare (dynamic-extent j) (type fixnum j)) - (set-val-fit m i j (* (aref a i j) q)))))) - m) - - (defmethod mat-scale-fit! - ((m ,type-1) q) - (destructuring-bind (mr mc) (dim m) - (mat-scale-fit-range! m q 0 (1- mr) 0 (1- mc))))))) - -(macrolet ((frob (type-1 type-2) - `(progn - (def-matrix-scale-fit ,type-1 ,type-2) - (def-matrix-scale-fit! ,type-1)))) - (frob double-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix) - (frob ub8-matrix ub8-matrix) - (frob ub16-matrix ub16-matrix) - (frob ub32-matrix ub32-matrix) - (frob sb8-matrix sb8-matrix) - (frob sb16-matrix sb16-matrix) - (frob sb32-matrix sb32-matrix) - (frob bit-matrix bit-matrix) - (frob fixnum-matrix fixnum-matrix) - (frob real-matrix real-matrix) - (frob integer-matrix integer-matrix) - (frob complex-matrix complex-matrix) - (frob t-matrix t-matrix)) diff --git a/external/clem/src/typed-ops/defmatrix-subset-matrix.lisp b/external/clem/src/typed-ops/defmatrix-subset-matrix.lisp deleted file mode 100644 index 797cad0..0000000 --- a/external/clem/src/typed-ops/defmatrix-subset-matrix.lisp +++ /dev/null @@ -1,30 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: defmatrix-subset-matrix.cl -;;; author: cyrus harmon -;;; - -(in-package :clem) - -(defmacro def-matrix-subset-matrix (matrix-type) - (let ((element-type (element-type (find-class `,matrix-type)))) - `(progn - (defmethod subset-matrix ((u matrix) startr endr startc endc) - (destructuring-bind (ur uc) (dim u) - (cond - ((and (<= startr endr ur) (<= startc endc uc)) - (let* ((m (1+ (- endr startr))) - (n (1+ (- endc startc))) - (c (mat-copy-proto-dim u m n))) - (with-matrix-vals (u ,element-type a) - (with-matrix-vals (c ,element-type b) - (dotimes (i m) - (dotimes (j n) - (setf (aref b i j) (aref a (+ i startr) (+ j startc))))))) - c)) - (t nil))))))) - - -(macrolet ((frob (type-1) - `(def-matrix-subset-matrix ,type-1))) - (frob double-float-matrix)) diff --git a/external/clem/src/typed-ops/defmatrix-transform.lisp b/external/clem/src/typed-ops/defmatrix-transform.lisp deleted file mode 100644 index 36265a1..0000000 --- a/external/clem/src/typed-ops/defmatrix-transform.lisp +++ /dev/null @@ -1,199 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: defmatrix-transform.cl -;;; author: cyrus harmon -;;; - -(in-package :clem) - -(defconstant +epsilon+ 0.00001d0) - -(defmacro def-matrix-transform (type-1 type-2 transform-type) - (let ((element-type-1 (element-type (find-class `,type-1))) - (element-type-2 (element-type (find-class `,type-2))) - (transform-element-type (element-type (find-class `,transform-type)))) - (let ((zero (coerce 0 `,element-type-2)) - (one (coerce 1 `,transform-element-type)) - (half (coerce 0.5d0 `,transform-element-type)) - (epsilon (coerce +epsilon+ `,transform-element-type))) - `(progn - (defmethod %transform-matrix ((m ,type-1) (n ,type-2) (xfrm ,transform-type) - &key (background ,zero) - (interpolation :nearest-neighbor)) - (let ((mr (rows m)) (mc (cols m)) - (nr (rows n)) (nc (cols n))) - (declare (type fixnum mr mc nr nc) - (type ,element-type-2 background) - (optimize (speed 3) (safety 0))) - (let ((inv-xfrm (clem::invert-matrix xfrm)) - (coord1 (make-instance ',transform-type :rows 3 :cols 1)) - (coord2 (make-instance ',transform-type :rows 3 :cols 1)) - #+nil (mrf (coerce mr ',transform-element-type)) - #+nil (mcf (coerce mc ',transform-element-type))) - (let ((a (clem::matrix-vals m)) - (b (clem::matrix-vals n)) - (c (clem::matrix-vals coord1)) - (d (clem::matrix-vals coord2)) - (g (clem::matrix-vals inv-xfrm))) - (declare (type (simple-array ,element-type-1 *) a) - (type (simple-array ,element-type-2 *) b) - (type (simple-array ,transform-element-type *) c d g) - (optimize (speed 3) (safety 0))) - (setf (aref c 2 0) ,one) - (dotimes (i nr) - (declare (type fixnum i)) - (setf (aref c 0 0) (coerce i ',transform-element-type)) - (dotimes (j nc) - (declare (type fixnum j)) - (setf (aref c 1 0) (coerce j ',transform-element-type)) -;;; the slow(er) way to do this is: -;;; (setf (aref d 0 0) ,zero -;;; (aref d 1 0) ,zero -;;; (aref d 2 0) ,zero) -;;; (clem::mat-mult3 inv-xfrm coord1 coord2) -;;; -;;; but since we don't need the full matrix multiply, -;;; based on what we know is in the affine -;;; transformation matrix, we can get away with -;;; fewer operations (Foley et al., 1996, p. 213) - (setf (aref d 1 0) (the ,transform-element-type - (+ (* (aref c 1 0) (aref g 0 0)) - (* (aref c 0 0) (aref g 0 1)) - (aref g 0 2))) - (aref d 0 0) (the ,transform-element-type - (+ (* (aref c 1 0) (aref g 1 0)) - (* (aref c 0 0) (aref g 1 1)) - (aref g 1 2)))) -;;; this does nearest neighbor interpolation -;;; we should also offer a way to do bilinear, -;;; bicubic, etc... interpolation - (case interpolation - ((:quadratic) - (if (and - (< ,(coerce most-negative-fixnum `,transform-element-type) - (aref d 0 0) - ,(coerce most-positive-fixnum `,transform-element-type)) - (< ,(coerce most-negative-fixnum `,transform-element-type) - (aref d 1 0) - ,(coerce most-positive-fixnum `,transform-element-type))) - (multiple-value-bind (l ry) - - (truncate (the ,transform-element-type - (+ (the (,transform-element-type - ,(coerce most-negative-fixnum `,transform-element-type) - ,(coerce most-positive-fixnum `,transform-element-type)) - (aref d 0 0)) - ,epsilon))) - (declare (type fixnum l) - (type ,transform-element-type ry)) - (multiple-value-bind (k rx) - (truncate (the ,transform-element-type - (+ - (the (,transform-element-type - ,(coerce most-negative-fixnum `,transform-element-type) - ,(coerce most-positive-fixnum `,transform-element-type)) - (aref d 1 0)) - ,epsilon))) - (declare (type fixnum k) - (type ,transform-element-type rx)) - (cond - ((and (< -1 l mr) - (< -1 k mc)) - (let ((l0 (max (the fixnum (1- l)) 0)) - (l2 (min (the fixnum (1+ l)) (the fixnum (1- mr)))) - (k0 (max (the fixnum (1- k)) 0)) - (k2 (min (the fixnum (1+ k)) (the fixnum (1- mc))))) - (declare (type fixnum l0 l2 k0 k2)) - (setf (aref b i j) - (maybe-truncate - (quadratic-interpolate - (aref a l0 k0) - (aref a l0 k) - (aref a l0 k2) - (aref a l k0) - (aref a l k) - (aref a l k2) - (aref a l2 k0) - (aref a l2 k) - (aref a l2 k2) - ry rx - ,transform-element-type) - ,transform-element-type - ,element-type-2 - )))) - (t - (setf (aref b i j) background))))) - (setf (aref b i j) background))) - ((:bilinear :bi-linear) - (if (and - (< ,(coerce most-negative-fixnum `,transform-element-type) - (aref d 0 0) - ,(coerce most-positive-fixnum `,transform-element-type)) - (< ,(coerce most-negative-fixnum `,transform-element-type) - (aref d 1 0) - ,(coerce most-positive-fixnum `,transform-element-type))) - (multiple-value-bind (l ry) - (floor (the ,transform-element-type - (+ (the (,transform-element-type - ,(coerce most-negative-fixnum `,transform-element-type) - ,(coerce most-positive-fixnum `,transform-element-type)) - (aref d 0 0)) - ,epsilon))) - (declare (type fixnum l) - (type ,transform-element-type ry)) - (multiple-value-bind (k rx) - (floor (the ,transform-element-type - (+ - (the (,transform-element-type - ,(coerce most-negative-fixnum `,transform-element-type) - ,(coerce most-positive-fixnum `,transform-element-type)) - (aref d 1 0)) - ,epsilon))) - (declare (type fixnum k) - (type ,transform-element-type rx)) - (cond - ((and (< -1 l mr) - (< -1 k mc)) - (let ((l1 (the fixnum (min (the fixnum (1+ l)) (the fixnum (1- mr))))) - (k1 (the fixnum (min (the fixnum (1+ k)) (the fixnum (1- mc)))))) - (declare (type fixnum l1 k1)) - (setf (aref b i j) - (maybe-truncate - (bilinear-interpolate - (aref a l k) - (aref a l k1) - (aref a l1 k) - (aref a l1 k1) - ry rx) - ,transform-element-type - ,element-type-2 - )))) - (t - (setf (aref b i j) background))))) - (setf (aref b i j) background))) - ((nil :nearest-neighbor) - (let ((oldx (the fixnum (truncate (+ (aref d 0 0) ,half)))) - (oldy (the fixnum (truncate (+ (aref d 1 0) ,half))))) - (declare (type fixnum oldx oldy)) - (if (and (< -1 oldx mr) - (< -1 oldy mc)) - (setf (aref b i j) (aref a oldx oldy)) - (setf (aref b i j) background)))) - (t (error 'matrix-argument-error - :format-control "Unknown interpolation type: ~A" - :format-arguments (list interpolation))))))))) - n))))) - -(macrolet ((frob (type-1 type-2 type-3) - `(def-matrix-transform ,type-1 ,type-2 ,type-3))) - (frob double-float-matrix double-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix double-float-matrix) - (frob single-float-matrix single-float-matrix single-float-matrix) - (frob ub8-matrix ub8-matrix double-float-matrix) - (frob ub16-matrix ub16-matrix double-float-matrix) - (frob ub32-matrix ub32-matrix double-float-matrix) - (frob sb8-matrix sb8-matrix double-float-matrix) - (frob sb16-matrix sb16-matrix double-float-matrix) - (frob sb32-matrix sb32-matrix double-float-matrix) - (frob fixnum-matrix fixnum-matrix double-float-matrix) - (frob bit-matrix bit-matrix double-float-matrix)) diff --git a/external/clem/src/vector.lisp b/external/clem/src/vector.lisp deleted file mode 100644 index 21f937b..0000000 --- a/external/clem/src/vector.lisp +++ /dev/null @@ -1,188 +0,0 @@ -;;; vector.lisp -;;; macros, functions and methods for matrix element access -;;; -;;; Copyright (c) 2004-2006 Cyrus Harmon (ch-lisp@bobobeach.com) -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or without -;;; modification, are permitted provided that the following conditions -;;; are met: -;;; -;;; * Redistributions of source code must retain the above copyright -;;; notice, this list of conditions and the following disclaimer. -;;; -;;; * Redistributions in binary form must reproduce the above -;;; copyright notice, this list of conditions and the following -;;; disclaimer in the documentation and/or other materials -;;; provided with the distribution. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;; - -;;; this might all go away soon, but for the moment put some stuff -;;; that is common between row-vector and column-vector in here. - -(in-package :clem) - -(defclass base-vector (matrix) ()) - -(defgeneric vec-dim (vec)) -(defgeneric vec-val (vec i)) -(defgeneric vec-set-val (vec i val)) - -(defclass row-vector (base-vector) ()) -(defclass col-vector (base-vector) ()) - -(defmethod allocate-matrix-vals ((object row-vector) &key rows cols adjustable initial-element) - (declare (ignore rows)) - (setf (slot-value object 'm) - (make-array (list cols) - :adjustable adjustable - :initial-element initial-element - :element-type (element-type (class-of object))))) - -(defgeneric array->row-vector (a)) -(defmethod array->row-vector ((a array)) - (let ((d (array-dimensions a))) - (cond ((= (length d) 2) - (let* ((cols (second d)) - (m (make-instance 'row-vector :cols cols))) - (dotimes (i cols) - (vec-set-val m i (aref a 0 i))) - m)) - ((= (length d) 1) - (let ((m (make-instance 'row-vector :cols (first d)))) - (dotimes (i (first d)) (vec-set-val m i (aref a i))) - m))))) - -(defmethod vec-dim ((rv row-vector)) (array-dimensions (matrix-vals rv))) -(defmethod vec-val ((rv row-vector) i) (aref (matrix-vals rv) i)) -(defmethod vec-set-val ((rv row-vector) i v) (setf (aref (matrix-vals rv) i) v)) - -(defmethod dim ((rv row-vector)) (append '(1) (vec-dim rv))) -(defmethod rows ((rv row-vector)) 1) -(defmethod cols ((rv row-vector)) (first (array-dimensions (matrix-vals rv)))) -(defmethod val ((rv row-vector) i j) (declare (ignore i)) (vec-val rv j)) -(defmethod set-val ((rv row-vector) i j v &key (coerce t)) - (declare (ignore i)) - (vec-set-val rv j (if coerce (coerce v (element-type (class-of rv))) v))) - -(defmethod transpose ((rv row-vector)) - (let ((c (cols rv))) - (let ((cv (make-instance 'col-vector :rows c))) - (dotimes (j c cv) - (vec-set-val cv j (vec-val rv j)))))) - -(defmethod print-matrix ((rv row-vector)) - (let ((d (vec-dim rv))) - (format t "~&((") - (dotimes (i (first d)) - (format t (if (= i 0) "~a" " ~a") (vec-val rv i))) - (format t "))"))) - -(defmethod set-row ((m matrix) r (v row-vector)) - (do - ((i 0 (+ i 1))) - ((= i (cols v))) - (set-val m r i (vec-val v i)))) - -(defmethod set-col ((m matrix) r (v row-vector)) - (do - ((i 0 (+ i 1))) - ((= i (cols v))) - (set-val m i r (vec-val v i)))) - -(defgeneric get-row-vector (m r)) -(defmethod get-row-vector ((m matrix) r) - (let ((rv (make-instance 'row-vector :cols (second (dim m))))) - (dotimes (i (second (dim m))) - (vec-set-val rv i (val m r i))))) - -(defgeneric zero-row-vector (j)) -(defmethod zero-row-vector((j fixnum)) - (zero-matrix 1 j)) - -(defmethod allocate-matrix-vals ((object col-vector) &key rows cols adjustable initial-element) - (declare (ignore cols)) - (setf (slot-value object 'm) - (make-array (list rows) - :adjustable adjustable - :initial-element initial-element - :element-type (element-type (class-of object))))) - -(defmethod vec-dim ((cv col-vector)) (array-dimensions (matrix-vals cv))) -(defmethod vec-val ((cv col-vector) i) (aref (matrix-vals cv) i)) -(defmethod vec-set-val ((cv col-vector) i v) (setf (aref (matrix-vals cv) i) v)) - -(defmethod dim ((cv col-vector)) (append (vec-dim cv) '(1))) -(defmethod rows ((cv col-vector)) (first (array-dimensions (matrix-vals cv)))) -(defmethod cols ((cv col-vector)) 1) -(defmethod val ((cv col-vector) i j) (declare (ignore j)) (vec-val cv i)) -(defmethod set-val ((cv col-vector) i j v &key (coerce t)) - (declare (ignore j)) - (vec-set-val cv i (if coerce (coerce v (element-type (class-of cv))) v))) - -(defgeneric array->col-vector (a)) - -(defmethod array->col-vector ((a array)) - (let ((d (array-dimensions a))) - (cond ((= (length d) 2) - (let* ((rows (first d)) - (m (make-instance 'col-vector :rows rows))) - (dotimes (i rows) (vec-set-val m i (aref a i 0))) - m)) - ((= (length d) 1) - (let ((m (make-instance 'col-vector :rows (first d)))) - (dotimes (i (first d)) (vec-set-val m i (aref a i))) - m))))) - -(defmethod transpose ((cv col-vector)) - (let ((r (rows cv))) - (let ((rv (make-instance 'row-vector :cols r))) - (dotimes (j r rv) - (vec-set-val rv j (vec-val cv j)))))) - -(defmethod print-matrix ((cv col-vector)) - (let ((d (vec-dim cv))) - (format t "~&(") - (dotimes (i (first d)) - (format t (if (= i 0) "(~a)" " (~a)") (vec-val cv i))) - (format t ")"))) - -(defmethod set-row ((m matrix) r (v col-vector)) - (do - ((i 0 (+ i 1))) - ((= i (rows v))) - (set-val m r i (vec-val v i)))) - -(defmethod set-col ((m matrix) c (v col-vector)) - (do - ((i 0 (+ i 1))) - ((= i (first (dim v)))) - (set-val m i c (val v i 0)))) - -(defgeneric get-row-as-col-vector (m r)) -(defmethod get-row-as-col-vector ((m matrix) r) - (let ((cv (make-instance 'col-vector :rows (second (dim m))))) - (dotimes (i (second (dim m))) - (vec-set-val cv i (val m r i))))) - -(defgeneric get-col-vector (m r)) -(defmethod get-col-vector ((m matrix) r) - (let ((cv (make-instance 'col-vector :rows (first (dim m))))) - (dotimes (i (first (dim m))) - (vec-set-val cv i (val m i r))))) - -(defgeneric zero-col-vector (j)) -(defmethod zero-col-vector((j fixnum)) - (zero-matrix j 1)) diff --git a/external/clem/test/bench-matrix.cl b/external/clem/test/bench-matrix.cl deleted file mode 100644 index 1cced3c..0000000 --- a/external/clem/test/bench-matrix.cl +++ /dev/null @@ -1,262 +0,0 @@ - -(in-package :clem-test) - - -(defmacro with-benchmark (&body body) - (let ((start-var (gensym)) - (end-var (gensym))) - `(let ((,start-var (get-internal-run-time))) - (values - (multiple-value-list - (progn ,@body)) - (let ((,end-var (get-internal-run-time))) - (- ,end-var ,start-var)))))) - -(defun matrix-bench-1 () - (let ((x (random-matrix 256 256 :matrix-class 'double-float-matrix :limit 255d0))) - (print-range x 0 3 0 3) - (let ((xb1 (time (copy-to-ub8-matrix (gaussian-blur x :k 1 :sigma 1)))) - (xb2 (gaussian-blur x :k 1 :sigma 1))) - (time (dotimes (i 10) (setf xb2 (gaussian-blur xb2 :k 1 :sigma 1)))) - (print-range xb1 0 3 0 3) - (print-range xb2 0 3 0 3) - (print (cons (class-of xb1) (class-of xb2))) - (let ((ub2 (copy-to-ub8-matrix (clem::subset-matrix xb2 10 267 10 267)))) - (print-range ub2 0 3 0 3) - (print (dim xb1)) - (print (dim ub2)) - (let ((q (time (mat-subtr xb1 ub2 :matrix-class 'sb16-matrix)))) - (print q) - (print (sum q)))) - ))) - -(defun matrix-bench-2 () - (let* ((r 64) (c 64) - (x (copy-to-ub8-matrix (normalize (random-matrix r c))))) - (time - (dotimes (i r) - (dotimes (j c) - (val x i j)))))) - -(defun matrix-bench-3 () - (let* ((x (random-double-float-matrix 512 512 :max 255d0)) - (y (random-double-float-matrix 5 5 :max 255d0))) - (time - (let ((conv (discrete-convolve x y :truncate t))))))) - -(defun matrix-bench-4 () - (let* ((x (random-ub8-matrix 512 512 :max 255)) - (y (random-ub8-matrix 5 5 :max 255))) - (time - (let ((conv (discrete-convolve x y :matrix-class 'ub32-matrix :truncate t :norm-v nil))))) - )) - -(defun matrix-bench-5 () - (let* ((x (random-double-float-matrix 512 512 :max 1.0d0)) - (y (random-double-float-matrix 5 5 :max 1.0d0))) - (time - (let ((conv (discrete-convolve x y :matrix-class 'double-float-matrix :truncate t :norm-v nil))))) - )) - - -(defun matrix-bench-6 () - (let ((x (random-matrix 512 512 :matrix-class 'double-float-matrix :limit 255d0))) - (print-range x 0 5 0 5) - (let ((xb1 (time (gaussian-blur x :k 3 :sigma 1)))) - (print-range xb1 0 5 0 5) - (print (cons (dim x) (dim xb1)))))) - -(defun matrix-bench-7 () - (let ((x (make-instance 'double-float-matrix :rows 512 :cols 512 :initial-element 2d0)) - (y (make-instance 'double-float-matrix :rows 512 :cols 512 :initial-element 3d0)) - (z (make-instance 'double-float-matrix :rows 512 :cols 512 :initial-element 0d0))) - (print-range x 0 5 0 5) - (let ((xb1 (time (gaussian-blur x :k 3 :sigma 1)))) - (print-range xb1 0 5 0 5) - (print (cons (dim x) (dim xb1)))))) - -(defun matrix-bench-8 () - (let ((x (make-instance 'double-float-matrix :rows 1024 :cols 1024 :initial-element 2d0)) - (y (make-instance 'double-float-matrix :rows 1024 :cols 1024 :initial-element 3d0)) - (z (make-instance 'double-float-matrix :rows 1024 :cols 1024 :initial-element 0d0))) - (print-range x 0 5 0 5) - (let ((xb1 (time (clem::mat-mult3 x y z)))) - (print-range xb1 0 5 0 5) - (print (cons (dim x) (dim xb1)))))) - -(defun matrix-bench-9 () - (let ((x (make-instance 'double-float-matrix :rows 8 :cols 16 :initial-element 2d0)) - (y (make-instance 'double-float-matrix :rows 16 :cols 8 :initial-element 3d0)) - (z (make-instance 'double-float-matrix :rows 8 :cols 8 :initial-element 0d0))) - (print-range x 0 5 0 5) - (let ((xb1 (time (clem::mat-mult3 x y z)))) - (print-range xb1 0 5 0 5) - (print (cons (dim x) (dim xb1)))))) - -(defun matrix-bench-10 () - (let ((x (make-instance 'double-float-matrix :rows 1024 :cols 1024 :initial-element 2d0)) - (y (make-instance 'double-float-matrix :rows 1024 :cols 1024 :initial-element 3d0)) - (z (make-instance 'double-float-matrix :rows 1024 :cols 1024 :initial-element 0d0))) - (print-range x 0 5 0 5) - (let ((xb1 (time (clem::mat-mult-3-block x y z)))) - (print-range xb1 0 5 0 5) - (print (cons (dim x) (dim xb1)))))) - - -(defun matrix-bench-13 () - (declare (optimize (speed 3) - (space 0) - (safety 0))) - (let ((x (make-instance 'single-float-matrix :rows 1024 :cols 1024 :initial-element 1f0))) - (declare (type single-float-matrix x)) - (let ((acc 0f0) - (rows (rows x)) - (cols (cols x)) - (v (clem::matrix-vals x))) - (declare (type (simple-array single-float (* *)) v) - (type single-float acc) - (type fixnum rows cols)) - (dotimes (i rows) - (declare (type fixnum i)) - (dotimes (j cols) - (declare (type fixnum j)) - (setf acc (+ acc (the single-float (aref v i j)))))) - (print acc)))) - -(defun matrix-bench/ub8-matrix-add-mref () - (let ((x (make-instance 'ub8-matrix :rows 2048 :cols 2048 :initial-element 1))) - (declare (type ub8-matrix x)) - (let ((acc 0) - (rows (rows x)) - (cols (cols x))) - (declare (type (unsigned-byte 32) acc) - (type fixnum rows cols)) - (dotimes (i rows) - (declare (type fixnum i)) - (dotimes (j cols) - (declare (type fixnum j)) - (setf acc (+ acc (the (unsigned-byte 8) (clem::mref x i j)))))) - (print acc)))) - -(defun matrix-bench/ub8-matrix-add-aref () - (declare (optimize (speed 3) - (safety 0))) - (let ((x (make-instance 'ub8-matrix :rows 2048 :cols 2048 :initial-element 1))) - (declare (type ub8-matrix x)) - (let ((acc 0) - (rows (rows x)) - (cols (cols x)) - (v (clem::matrix-vals x))) - (declare (type (simple-array (unsigned-byte 8) (* *)) v) - (type (unsigned-byte 32) acc) - (type fixnum rows cols)) - (dotimes (i rows) - (declare (type fixnum i)) - (dotimes (j cols) - (declare (type fixnum j)) - (setf acc (+ acc (the (unsigned-byte 8) (aref v i j)))))) - (print acc)))) - -(defun matrix-bench-16 () - (let ((x (make-instance 'ub32-matrix :rows 1024 :cols 1024 :initial-element 1))) - (declare (type ub32-matrix x)) - (let ((acc 0) - (rows (rows x)) - (cols (cols x))) - (dotimes (i rows) - (dotimes (j cols) - (setf acc (+ acc (the (unsigned-byte 32) (clem::mref x i j)))))) - (print acc)))) - -(defun matrix-bench-18 () - (let ((x (make-instance 'bit-matrix :rows 1024 :cols 1024 :initial-element 1))) - (declare (type bit-matrix x)) - (let ((acc 0) - (rows (rows x)) - (cols (cols x))) - (dotimes (i rows) - (dotimes (j cols) - (setf acc (+ acc (the (unsigned-byte 32) (clem::mref x i j)))))) - (print acc)))) - -(defun matrix-bench-19 (x) - (let ((acc 0) - (rows (rows x)) - (cols (cols x))) - (dotimes (i rows) - (dotimes (j cols) - (setf acc (+ acc (clem::mref x i j))))) - (print acc))) - - - -(defun matrix-bench-23/aref () - (declare (optimize (speed 3) - (space 0) - (safety 0))) - (let ((x (make-instance 'double-float-matrix :rows 2048 :cols 2048 :initial-element 2d0))) - (declare (type double-float-matrix x)) - (let ((acc 0d0) - (rows (rows x)) - (cols (cols x)) - (v (clem::matrix-vals x))) - (declare (type double-float acc) - (type fixnum rows cols) - (type (simple-array double-float (* *)) v)) - (dotimes (i rows) - (declare (type fixnum i)) - (dotimes (j cols) - (declare (type fixnum j)) - (setf acc (+ acc (the double-float (* (aref v i j) - (aref v i j))))))) - (print acc)))) - -(defun matrix-bench-23/mref () - (declare (optimize (speed 3) - (space 0) - (safety 0))) - (let ((x (make-instance 'double-float-matrix :rows 2048 :cols 2048 :initial-element 2d0))) - (declare (type double-float-matrix x)) - (let ((acc 0d0) - (rows (rows x)) - (cols (cols x))) - (declare (type double-float acc) - (type fixnum rows cols)) - (dotimes (i rows) - (declare (type fixnum i)) - (dotimes (j cols) - (declare (type fixnum j)) - (setf acc (+ acc (the double-float (* (clem::double-float-matrix-mref x i j) - (clem::double-float-matrix-mref x i j))))))) - (print acc)))) - - -(defun matrix-bench-24 (x) - (let ((y (clem:mat-copy-proto x))) - (declare (type double-float-matrix x)) - (let ((rows (rows x)) - (cols (cols x))) - (dotimes (i rows) - (dotimes (j cols) - (setf (clem::mref y i j) (clem::mref x i j))))) - y)) - -(defun matrix-bench-26 (x) - (let ((y (clem:mat-copy-proto x))) - (declare (type double-float-matrix x)) - (let ((rows (rows x)) - (cols (cols x))) - (dotimes (i rows) - (dotimes (j cols) - (setf (clem::double-float-matrix-mref y i j) - (clem::double-float-matrix-mref x i j))))) - y)) - - -(defun run-bench () - ;; (matrix-bench-3) - (matrix-bench-4) - ;; (matrix-bench-5) - t) - - diff --git a/external/clem/test/defpackage.cl b/external/clem/test/defpackage.cl deleted file mode 100644 index 93b1523..0000000 --- a/external/clem/test/defpackage.cl +++ /dev/null @@ -1,10 +0,0 @@ - -(in-package #:cl-user) - -(defpackage #:clem-test - (:use #:cl #:asdf #:clem) - (:export #:run-tests - #:run-bench - #:run-defmatrix-tests - )) - diff --git a/external/clem/test/test-clem.cl b/external/clem/test/test-clem.cl deleted file mode 100644 index af1bb5d..0000000 --- a/external/clem/test/test-clem.cl +++ /dev/null @@ -1,128 +0,0 @@ - -(in-package :clem-test) - -(defun matrix-test-1 () - (let ((m (array->matrix #2A((1 2 3)(4 1 6)(7 1 9))))) - (print-matrix (invert-matrix m))) - t) - -(defun matrix-test-2 () - (let ((m (array->matrix #2A((1 2 3)(4 5 6)(7 8 9))))) - (print-matrix m) - (swap-rows m 0 2) - (swap-cols m 0 2) - (print-matrix m) - (let ((q (val m 0 0))) - (map-row m 0 #'(lambda (x) (/ x q))) - (scalar-mult-col m 0 4) - (scalar-divide-col m 0 3) - ) - (print-matrix m) - ) - t) - -(defun matrix-test-3 () - (let ((m1 (array->matrix #2A((1 2 3)(4 5 6)(7 8 9) (10 11 12))))) - (print-matrix m1) - (print (dim m1)) - - (let ((t1 (transpose m1))) - (print-matrix t1) - (print (dim t1))) - - (let ((m2 (array->matrix #2A((1 2 3 4 5 6 7 8 9))))) - (print m2) - (print-matrix m2) - (print (dim m2)) - )) - t) - -(defun matrix-test-4 () - (let ((m3 (array->matrix #2A((1) (2) (3) (4) (5) (6) (7) (8) (9))))) - (print-matrix m3) - (print (dim m3))) - t) - -(defun matrix-test-5 () - (let ((m (array->matrix #2A((1 2 3)(4 5 6)(7 8 9))))) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix (invert-matrix m))) - )) - t) - -(defun matrix-test-6 () - (let ((m (array->matrix #2A((1 2 3)(4 5 6)(7 8 9))))) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix (invert-matrix m))) - )) - t) - -(defun matrix-test-7 () - (let ((m (array->sb8-matrix #2A((1 2 3)(4 5 6)(7 2 8))))) - (print-matrix m) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix inv)) - )) - t) - -(defparameter m1 (make-instance 'double-float-matrix :rows 1000 :cols 1000)) - -(defun matrix-test-8 () - (dotimes (i 1000) - (dotimes (j 1000) - (set-val m1 i j (- i j))))) - -(defun matrix-test-9 () - (let ((m (array->integer-matrix #2A((1 2 3)(4 5 6)(7 2 8))))) - (print-matrix m) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix inv)) - )) - t) - -(defun matrix-test-10 () - (let ((m (array->real-matrix #2A((1 2 3)(4 5 6)(7 2 8))))) - (print-matrix m) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix inv)) - )) - t) - -(defun matrix-test-11 () - (let ((m (array->t-matrix #2A((1 2 3)(4 5 6)(7 2 8))))) - (print-matrix m) - (print-matrix (mat-mult m m)) - (print-matrix (mat-add m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix inv)) - )) - t) - -(defun matrix-test-12 () - (let ((m (array->ub8-matrix #2A((1 2 3)(4 5 6)(7 2 8))))) - (print (mref m 0 0)) - (setf (mref m 0 0) 32) - (print (mref m 0 0))) - t) - -(defun run-tests () - (let ((run (ch-util:make-test-run))) - (ch-util:run-test #'matrix-test-1 "matrix-test-1" run) - (ch-util:run-test #'matrix-test-2 "matrix-test-2" run) - (ch-util:run-test #'matrix-test-3 "matrix-test-3" run) - (ch-util:run-test #'matrix-test-4 "matrix-test-4" run) - (ch-util:run-test #'matrix-test-5 "matrix-test-5" run) - (ch-util:run-test #'matrix-test-6 "matrix-test-6" run) - (ch-util:run-test #'matrix-test-7 "matrix-test-7" run) - (ch-util:run-test #'matrix-test-7 "matrix-test-9" run) - (ch-util:run-test #'matrix-test-7 "matrix-test-10" run) - (ch-util:run-test #'matrix-test-7 "matrix-test-11" run) - (format t "~&~A of ~A tests passed" (ch-util:test-run-passed run) (ch-util:test-run-tests run)) - )) - -(defparameter m2 (make-instance 'double-float-matrix :dimensions '(1000 1000))) diff --git a/external/clem/test/test-clem2.cl b/external/clem/test/test-clem2.cl deleted file mode 100644 index de66b66..0000000 --- a/external/clem/test/test-clem2.cl +++ /dev/null @@ -1,405 +0,0 @@ - - -(in-package :clem-test) - -(defparameter *test-matrix-size* 256) - -;;; basic make-instance tests - -(defun test/make-instance/integer/1 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:integer-matrix :cols size :rows size :initial-element #xFF))) - m)) - -(defun test/make-instance/bit/1 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:bit-matrix :cols size :rows size))) - m)) - -(defun test/make-instance/bit/2 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - m)) - -(defun test/make-instance/ub8/1 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size))) - m)) - -(defun test/make-instance/ub8/2 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 255))) - m)) - -(defun test/make-instance/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb8-matrix :cols size :rows size))) - m)) - -(defun test/make-instance/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub16-matrix :cols size :rows size))) - m)) - -(defun test/make-instance/sb16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb16-matrix :cols size :rows size))) - m)) - -(defun test/make-instance/single-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size))) - m)) - -(defun test/make-instance/double-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size))) - m)) - -;;; simple arithmetic tests - -(defun test/mat-add/ub8/ub8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/in-place/eub8/ub8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n :in-place t))) - p))) - -(defun test/mat-add/ub8/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub16-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/in-place/ub8/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub16-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n :in-place t))) - p))) - -(defun test/mat-add/ub8/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/in-place/ub8/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n :in-place t))) - p))) - -;;; -;;; What should we do about overflow? -;;; There are three obvious possibilities: -;;; 1. fit the value to the type (which is what we do now) -;;; 2. throw an error -;;; 3. promote to a type to which the value will fit -;;; -;;; I have no idea how best to deal with these three possibilities. -;;; -(defun test/mat-add/ub8/overflow (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 64)) - (n (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 63))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/ub8/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 127))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/ub8/bit (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - (let ((p (clem:mat-add m n))) - p))) - -(defun test/mat-add/ub8/bit-2 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - (time (let ((p (clem:mat-add m n))) - (dotimes (i 32) (clem:mat-add p n :in-place t)))))) - - -;;; double-float tests - -(defun test/mat-add/double-float/double-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/in-place/double-float/double-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0))) - (let ((p (clem:mat-add m n :in-place t))) - p))) - -(defun test/mat-add/double-float/single-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/ub8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:ub16-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/in-place/double-float/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element #xffffffff))) - (let ((p (time (clem:mat-add m n :in-place t)))) - p))) - -(defun test/mat-add/double-float/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/sb16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:sb16-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/sb32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:sb32-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/bit (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/double-float/fixnum (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:fixnum-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/in-place/double-float/fixnum (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0)) - (n (make-instance 'clem:fixnum-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n :in-place t)))) - p))) - - -;;; single-float tests - -(defun test/mat-add/single-float/double-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/single-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/ub8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:ub16-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/in-place/single-float/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element #xffffffff))) - (let ((p (time (clem:mat-add m n :in-place t)))) - p))) - -(defun test/mat-add/single-float/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/sb16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:sb16-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/sb32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:sb32-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/bit (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/single-float/fixnum (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:fixnum-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/in-place/single-float/fixnum (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0)) - (n (make-instance 'clem:fixnum-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem:mat-add m n :in-place t)))) - p))) - - - -(defun test/mat-add/ub32/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 127))) - (let ((p (time (clem:mat-add m n)))) - p))) - -(defun test/mat-add/in-place/ub32/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 128)) - (n (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 127))) - (let ((p (time (clem:mat-add m n :in-place t)))) - p))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; mat-scale -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defun test/mat-scale/double-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0))) - (let ((p (time (clem::mat-scale m 2.0d0)))) - p))) - -(defun test/mat-scale/single-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0))) - (let ((p (time (clem::mat-scale m 2.0s0)))) - p))) - -(defun test/mat-scale/ub8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem::mat-scale m 2)))) - p))) - -(defun test/mat-scale/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub16-matrix :cols size :rows size :initial-element 255))) - (let ((p (time (clem::mat-scale m 255)))) - p))) - -(defun test/mat-scale/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 256))) - (let ((p (time (clem::mat-scale m 256)))) - p))) - - -(defun test/mat-scale/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem::mat-scale m 2)))) - p))) - -(defun test/mat-scale/sb16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb16-matrix :cols size :rows size :initial-element 127))) - (let ((p (time (clem::mat-scale m 127)))) - p))) - -(defun test/mat-scale/sb32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb32-matrix :cols size :rows size :initial-element 256))) - (let ((p (time (clem::mat-scale m 256)))) - p))) - -(defun test/mat-scale/bit (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem::mat-scale m 0)))) - p))) - -(defun test/mat-scale/fixnum (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:fixnum-matrix :cols size :rows size :initial-element 256))) - (let ((p (time (clem::mat-scale m 256)))) - p))) - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; mat-scale! -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defun test/mat-scale!/double-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:double-float-matrix :cols size :rows size :initial-element 1.0d0))) - (let ((p (time (clem::mat-scale! m 2.0d0)))) - p))) - -(defun test/mat-scale!/single-float (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:single-float-matrix :cols size :rows size :initial-element 1.0s0))) - (let ((p (time (clem::mat-scale! m 2.0s0)))) - p))) - -(defun test/mat-scale!/ub8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem::mat-scale! m 2)))) - p))) - -(defun test/mat-scale!/ub16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub16-matrix :cols size :rows size :initial-element 255))) - (let ((p (time (clem::mat-scale! m 255)))) - p))) - -(defun test/mat-scale!/ub32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:ub32-matrix :cols size :rows size :initial-element 256))) - (let ((p (time (clem::mat-scale! m 256)))) - p))) - - -(defun test/mat-scale!/sb8 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb8-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem::mat-scale! m 2)))) - p))) - -(defun test/mat-scale!/sb16 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb16-matrix :cols size :rows size :initial-element 127))) - (let ((p (time (clem::mat-scale! m -127)))) - p))) - -(defun test/mat-scale!/sb32 (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:sb32-matrix :cols size :rows size :initial-element 256))) - (let ((p (time (clem::mat-scale! m 256)))) - p))) - -(defun test/mat-scale!/bit (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:bit-matrix :cols size :rows size :initial-element 1))) - (let ((p (time (clem::mat-scale! m 0)))) - p))) - -(defun test/mat-scale!/fixnum (&key (size *test-matrix-size*)) - (let ((m (make-instance 'clem:fixnum-matrix :cols size :rows size :initial-element 256))) - (let ((p (time (clem::mat-scale! m 256)))) - p))) diff --git a/external/clem/test/test-clem3.cl b/external/clem/test/test-clem3.cl deleted file mode 100644 index de103aa..0000000 --- a/external/clem/test/test-clem3.cl +++ /dev/null @@ -1,117 +0,0 @@ - -;;; I'm trying to figure out how to generalize some matrix operations -;;; using SBCL's nice fast non-consing math operations. -;;; -;;; My first (well, the previous one anyway) attempt at this involved -;;; big hairy macros for each type. I'm trying to simplify things a -;;; bit with smaller functions with proper type definitions that get -;;; called as appropriate. I still, however, run into the problem that -;;; at some point I need a declare statement to tell the compiler what -;;; type of thing I'm working with. Perhaps this is a stupid idea. In -;;; my defense, the previous approach does work and gives me nice fast -;;; matrix math, it just involves a whole lot of compiled functions. I -;;; still think there's some merit to trying to simplify/clean this up -;;; a bit. - -(in-package :clem-test) - -;;; I need *my-pacakge* so the intern statement below doesn't intern -;;; the symbol into CL-USER and I put it up here to remind myself of -;;; this fact in case I switch packages -(eval-when (:compile-toplevel :load-toplevel :execute) - (defparameter *my-package* :clem-test)) - -;;; macro to define typed accessor functions -(defmacro make-accessors (element-type - &optional (element-name (symbol-name element-type))) - (let ((funcname (intern - (string-upcase - (concatenate 'string "mref-" element-name)) *my-package*))) - `(progn - (declaim (inline ,funcname)) - (defun ,funcname (a i j) - (declare (type (simple-array ,element-type (* *)) a)) - (aref a i j)) - - (declaim (inline (setf ,funcname))) - (defun (setf ,funcname) (v a i j) - (declare (type (simple-array ,element-type (* *)) a)) - (setf (aref a i j) v))))) - -;;; local macro to call make-accessors. saves a (very) few keystrokes -;;; but makes it easier to do more to these later if necessary. -(macrolet ((frob (&rest args) - `(make-accessors ,@args))) - (frob double-float) - (frob single-float) - (frob (unsigned-byte 8) "ub8") - (frob (unsigned-byte 16) "ub16") - (frob (unsigned-byte 32) "ub32") - (frob (signed-byte 8) "sb8") - (frob (signed-byte 16) "sb16") - (frob (signed-byte 32) "sb32") - (frob fixnum) - (frob bit)) - -;;; get the accessor functions for an array -;;; returns multiple-values the getter and the setter -(defun get-accessors (a) - (typecase a - ((simple-array double-float (* *)) - (values #'mref-double-float #'(setf mref-double-float))) - ((simple-array single-float (* *)) - (values #'mref-single-float #'(setf mref-single-float))) - - ((simple-array (unsigned-byte 8) (* *)) - (values #'mref-ub8 #'(setf mref-ub8))) - ((simple-array (unsigned-byte 16) (* *)) - (values #'mref-ub16 #'(setf mref-ub16))) - ((simple-array (unsigned-byte 32) (* *)) - (values #'mref-ub32 #'(setf mref-ub32))) - - ((simple-array (signed-byte 8) (* *)) - (values #'mref-sb8 #'(setf mref-sb8))) - ((simple-array (signed-byte 16) (* *)) - (values #'mref-sb16 #'(setf mref-sb16))) - ((simple-array (signed-byte 32) (* *)) - (values #'mref-sb32 #'(setf mref-sb32))) - - ((simple-array fixnum (* *)) - (values #'mref-fixnum #'(setf mref-fixnum))) - ((simple-array bit (* *)) - (values #'mref-bit #'(setf mref-bit))))) - -;;; test arrays -(defparameter uba (make-array '(1024 1024) :element-type '(unsigned-byte 8) :initial-element 2)) -(defparameter dfa (make-array '(1024 1024) :element-type 'double-float :initial-element 2d0)) - -;;; test functions to see if this works - -;;; the old school way - works no consing - double floats -(defun array-test-1 (a) - (let ((getter #'mref-double-float) - (setter #'(setf mref-double-float))) - (destructuring-bind (r c) (array-dimensions a) - (dotimes (i r) - (dotimes (j c) - (funcall setter (* (funcall getter a i j) 2.0d0) a i j)))))) - -;;; the old school way - works no consing - unsigned bytes -(defun array-test-2 (a) - (let ((getter #'mref-ub8) - (setter #'(setf mref-ub8))) - (destructuring-bind (r c) (array-dimensions a) - (dotimes (i r) - (dotimes (j c) - (funcall setter (* (funcall getter a i j) 2) a i j)))) - a)) - -(defun array-test-3 (a) -;; (declare (optimize (speed 3) (space 0))) - (multiple-value-bind (getter setter) (get-accessors a) -;; (declare (type (function ((simple-array double-float (* *)) * *) double-float) getter) -;; (type (function (double-float (simple-array double-float (* *)) * *) double-float) setter)) - (destructuring-bind (r c) (array-dimensions a) - (dotimes (i r) - (dotimes (j c) - (funcall setter (* (funcall getter a i j) 2.0d0)) a i j))))) diff --git a/external/clem/test/test-convolve.cl b/external/clem/test/test-convolve.cl deleted file mode 100644 index 9000178..0000000 --- a/external/clem/test/test-convolve.cl +++ /dev/null @@ -1,61 +0,0 @@ - -(in-package :clem-test) - -(defun convolve-test () - (let* ((h (clem:mat-scale (clem:gaussian-kernel 2 1) 1d0)) - (g (make-instance 'double-float-matrix :rows 512 :cols 512 - :initial-element 2d0)) - (m (time (clem:discrete-convolve g h :truncate t)))) - m)) - -(defun convolve-test-2 () - (let* ((g (clem:array->double-float-matrix - #2A((1 2 3 4 5) - (6 7 8 9 10) - (11 12 13 14 15)))) - (h (clem:array->double-float-matrix - #2A((1 2 1)(2 4 2) (1 2 1))))) - (clem::mat-scale! h (/ (clem:sum h))) - (print h) - (let ((m (clem:print-matrix (clem:discrete-convolve g h :truncate t :norm-v nil)))) - m))) - -(defun convolve-test-3 () - (let* ((g (clem:array->double-float-matrix - #2A((1 2 3 4 5) - (6 7 8 9 10) - (11 12 13 14 15)))) - (h1 (clem:array->double-float-matrix - #2A((1 2 1)))) - (h2 (clem:transpose h1)) - (m (clem:print-matrix - (clem:discrete-convolve - (clem:discrete-convolve g h1 :truncate t :norm-v nil) - h2 :truncate t :norm-v nil)))) - m)) - -(defun convolve-test-4 () - (let* ((g (clem:array->double-float-matrix - #2A((1 2 3 4 5) - (6 7 8 9 10) - (11 12 13 14 15)))) - (hrow (clem:array->double-float-matrix - #2A((0.1 0.8 0.1)))) - (hcol (clem:transpose hrow)) - (m (clem:print-matrix (clem:separable-discrete-convolve g hcol hrow :truncate t :norm-v nil)))) - m)) - -(defun convolve-test-5 () - (let* ((g (clem:array->ub8-matrix - #2A((1 2 3 4 5) - (6 7 8 9 10) - (11 12 13 14 15)))) - (h1 (clem:array->ub8-matrix - #2A((1 2 1)))) - (h2 (clem:transpose h1)) - (m (clem:print-matrix - (clem:discrete-convolve - (clem:discrete-convolve g h1 :truncate t :norm-v nil) - h2 :truncate t :norm-v nil)))) - m)) - diff --git a/external/clem/test/test-defmatrix.cl b/external/clem/test/test-defmatrix.cl deleted file mode 100644 index c70fe22..0000000 --- a/external/clem/test/test-defmatrix.cl +++ /dev/null @@ -1,103 +0,0 @@ - -(in-package :clem-test) - -(defun matrix-test-1 () - (let ((m (array->matrix #2A((1 2 3)(4 1 6)(7 1 9))))) - (print-matrix (invert-matrix m))) - t) - -(defun matrix-test-2 () - (let ((m (array->matrix #2A((1 2 3)(4 5 6)(7 8 9))))) - (print-matrix m) - (swap-rows m 0 2) - (swap-cols m 0 2) - (print-matrix m) - (let ((q (val m 0 0))) - (map-row m 0 #'(lambda (x) (/ x q))) - (scalar-mult-col m 0 4) - (scalar-divide-col m 0 3) - ) - (print-matrix m) - ) - t) - -(defun matrix-test-3 () - (let ((m1 (array->matrix #2A((1 2 3)(4 5 6)(7 8 9) (10 11 12))))) - (print-matrix m1) - (print (dim m1)) - - (let ((t1 (transpose m1))) - (print-matrix t1) - (print (dim t1))) - - (let ((m2 (array->matrix #2A((1 2 3 4 5 6 7 8 9))))) - (print m2) - (print-matrix m2) - (print (dim m2)) - )) - t) - -(defun matrix-test-4 () - (let ((m3 (array->matrix #2A((1) (2) (3) (4) (5) (6) (7) (8) (9))))) - (print-matrix m3) - (print (dim m3))) - t) - -(defun matrix-test-5 () - (let ((m (array->matrix #2A((1 2 3)(4 5 6)(7 8 9))))) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix (invert-matrix m))) - )) - t) - -(defun matrix-test-6 () - (let ((m (array->matrix #2A((1 2 3)(4 5 6)(7 8 9))))) - (print-matrix (mat-mult m m)) - (let ((inv (invert-matrix m))) - (if inv (print-matrix (invert-matrix m))) - )) - t) - -(defun run-tests-1 () - (let ((run (ch-util:make-test-run))) - (ch-util:run-test #'matrix-test-1 "matrix-test-1" run) - (ch-util:run-test #'matrix-test-2 "matrix-test-2" run) - (ch-util:run-test #'matrix-test-3 "matrix-test-3" run) - (ch-util:run-test #'matrix-test-4 "matrix-test-4" run) - (ch-util:run-test #'matrix-test-5 "matrix-test-5" run) - (format t "~&~A of ~A tests passed" (ch-util:test-run-passed run) (ch-util:test-run-tests run)) - )) - -(defun run-defmatrix-tests () -;; (pprint (macroexpand '(defmatrixtype ape-matrix () :element-type (unsigned-byte 8)))) - (defmatrixtype ape-matrix () - :element-type (unsigned-byte 8) - :accumulator-type (unsigned-byte 32) - :minval 23 :maxval 95) - (let ((q (make-instance 'ape-matrix :rows 4 :cols 4))) - (describe q) - (print (class-of q)) - (print-matrix q) - (describe (clem::matrix-vals q)) - (map-matrix-fit #'(lambda (a i j) - (* i i j j 2) - ) - q) - (print-matrix q) - ) - - (let ((q (make-instance 'sb8-matrix :rows 4 :cols 4))) - (map-matrix-fit #'(lambda (a i j) - (if (oddp (+ i j)) -255 255) - ) - q) - (print-matrix q) - ) - (let ((q (make-instance 't-matrix :rows 4 :cols 4))) - (describe (clem::matrix-vals q)) - ) - (let ((q (make-instance 'bit-matrix :rows 4 :cols 4))) - (describe (clem::matrix-vals q)) - ) - t) diff --git a/external/clem/test/test-hprod.cl b/external/clem/test/test-hprod.cl deleted file mode 100644 index 8a32189..0000000 --- a/external/clem/test/test-hprod.cl +++ /dev/null @@ -1,187 +0,0 @@ - -(in-package :clem-test) - -(defparameter *hprod-test-matrix-size* 256) - -(eval-when (:compile-toplevel :load-toplevel :execute) - (defun symbolicate (&rest args) - (intern (string-upcase (apply #'concatenate 'string args))))) - -(defmacro def-hprod-test (type-1 val-1 type-2 val-2) - (let ((funcname (symbolicate "test/mat-hprod/" (symbol-name type-1) - "/" (symbol-name type-2))) - (m1 (symbolicate (symbol-name type-1) "-matrix")) - (m2 (symbolicate (symbol-name type-2) "-matrix"))) - `(defun ,funcname (&key (size *hprod-test-matrix-size*)) - (let ((m (make-instance ',m1 :cols size :rows size - :initial-element ,val-1)) - (n (make-instance ',m2 :cols size :rows size - :initial-element ,val-2))) - (let ((p (time (clem:mat-hprod m n)))) - p))))) - -(defmacro def-hprod!-test (type-1 val-1 type-2 val-2) - (let ((funcname (symbolicate "test/mat-hprod!/" (symbol-name type-1) - "/" (symbol-name type-2))) - (m1 (symbolicate (symbol-name type-1) "-matrix")) - (m2 (symbolicate (symbol-name type-2) "-matrix"))) - `(defun ,funcname (&key (size *hprod-test-matrix-size*)) - (let ((m (make-instance ',m1 :cols size :rows size - :initial-element ,val-1)) - (n (make-instance ',m2 :cols size :rows size - :initial-element ,val-2))) - (let ((p (time (clem:mat-hprod! m n)))) - p))))) - -(defmacro def-hprod-tests (type-1 val-1 type-2 val-2) - `(progn - (def-hprod-test ,type-1 ,val-1 ,type-2 ,val-2) - (def-hprod!-test ,type-1 ,val-1 ,type-2 ,val-2))) - -(def-hprod-tests double-float 1.25d0 double-float pi) -(def-hprod-tests double-float 1.25d0 single-float 2.81818s0) -(def-hprod-tests double-float 1.25d0 ub8 12) -(def-hprod-tests double-float 1.25d0 ub16 256) -(def-hprod-tests double-float 1.25d0 ub32 #x000f0000) -(def-hprod-tests double-float 1.25d0 sb8 12) -(def-hprod-tests double-float 1.25d0 sb16 256) -(def-hprod-tests double-float 1.25d0 sb32 #x000f0000) -(def-hprod-tests double-float 1.25d0 bit 0) - -(def-hprod-tests single-float 1.25s0 single-float 2.81818s0) -(def-hprod-tests single-float 1.25s0 ub8 12) -(def-hprod-tests single-float 1.25s0 ub16 256) -(def-hprod-tests single-float 1.25s0 ub32 #x000f0000) -(def-hprod-tests single-float 1.25s0 sb8 12) -(def-hprod-tests single-float 1.25s0 sb16 256) -(def-hprod-tests single-float 1.25s0 sb32 #x000f0000) -(def-hprod-tests single-float 1.25s0 bit 0) - -(def-hprod-tests ub8 2 ub8 2) -(def-hprod-tests ub8 2 bit 0) - -(def-hprod-tests ub16 2 ub16 2) -(def-hprod-tests ub16 2 ub8 2) -(def-hprod-tests ub16 2 bit 0) - -(def-hprod-tests ub32 2 ub32 2) -(def-hprod-tests ub32 2 ub16 2) -(def-hprod-tests ub32 2 ub8 2) -(def-hprod-tests ub32 2 bit 0) - -(def-hprod-tests sb8 2 sb8 2) -(def-hprod-tests sb8 2 bit 0) - -(def-hprod-tests sb16 2 sb16 2) -(def-hprod-tests sb16 2 sb8 2) -(def-hprod-tests sb16 2 bit 0) - -(def-hprod-tests sb32 2 sb32 2) -(def-hprod-tests sb32 2 sb16 2) -(def-hprod-tests sb32 2 sb8 2) -(def-hprod-tests sb32 2 bit 0) - -(def-hprod-tests fixnum 2 fixnum 0) -(def-hprod-tests fixnum 2 bit 0) - -(def-hprod-tests bit 1 bit 0) - -(defun run-hprod-tests () - - (test/mat-hprod/double-float/double-float) - (test/mat-hprod/double-float/single-float) - (test/mat-hprod/double-float/ub8) - (test/mat-hprod/double-float/ub16) - (test/mat-hprod/double-float/ub32) - (test/mat-hprod/double-float/sb8) - (test/mat-hprod/double-float/sb16) - (test/mat-hprod/double-float/sb32) - (test/mat-hprod/double-float/bit) - - (test/mat-hprod/single-float/single-float) - (test/mat-hprod/single-float/ub8) - (test/mat-hprod/single-float/ub16) - (test/mat-hprod/single-float/ub32) - (test/mat-hprod/single-float/sb8) - (test/mat-hprod/single-float/sb16) - (test/mat-hprod/single-float/sb32) - (test/mat-hprod/single-float/bit) - - (test/mat-hprod/ub8/ub8) - (test/mat-hprod/ub8/bit) - - (test/mat-hprod/ub16/ub16) - (test/mat-hprod/ub16/ub8) - (test/mat-hprod/ub16/bit) - - (test/mat-hprod/ub32/ub32) - (test/mat-hprod/ub32/ub16) - (test/mat-hprod/ub32/ub8) - (test/mat-hprod/ub32/bit) - - (test/mat-hprod/sb8/sb8) - (test/mat-hprod/sb8/bit) - - (test/mat-hprod/sb16/sb16) - (test/mat-hprod/sb16/sb8) - (test/mat-hprod/sb16/bit) - - (test/mat-hprod/sb32/sb32) - (test/mat-hprod/sb32/sb16) - (test/mat-hprod/sb32/sb8) - (test/mat-hprod/sb32/bit) - - (test/mat-hprod/fixnum/fixnum) - (test/mat-hprod/fixnum/bit) - - (test/mat-hprod/bit/bit)) - -(defun run-hprod!-tests () - - (test/mat-hprod!/double-float/double-float) - (test/mat-hprod!/double-float/single-float) - (test/mat-hprod!/double-float/ub8) - (test/mat-hprod!/double-float/ub16) - (test/mat-hprod!/double-float/ub32) - (test/mat-hprod!/double-float/sb8) - (test/mat-hprod!/double-float/sb16) - (test/mat-hprod!/double-float/sb32) - (test/mat-hprod!/double-float/bit) - - (test/mat-hprod!/single-float/single-float) - (test/mat-hprod!/single-float/ub8) - (test/mat-hprod!/single-float/ub16) - (test/mat-hprod!/single-float/ub32) - (test/mat-hprod!/single-float/sb8) - (test/mat-hprod!/single-float/sb16) - (test/mat-hprod!/single-float/sb32) - (test/mat-hprod!/single-float/bit) - - (test/mat-hprod!/ub8/ub8) - (test/mat-hprod!/ub8/bit) - - (test/mat-hprod!/ub16/ub16) - (test/mat-hprod!/ub16/ub8) - (test/mat-hprod!/ub16/bit) - - (test/mat-hprod!/ub32/ub32) - (test/mat-hprod!/ub32/ub16) - (test/mat-hprod!/ub32/ub8) - (test/mat-hprod!/ub32/bit) - - (test/mat-hprod!/sb8/sb8) - (test/mat-hprod!/sb8/bit) - - (test/mat-hprod!/sb16/sb16) - (test/mat-hprod!/sb16/sb8) - (test/mat-hprod!/sb16/bit) - - (test/mat-hprod!/sb32/sb32) - (test/mat-hprod!/sb32/sb16) - (test/mat-hprod!/sb32/sb8) - (test/mat-hprod!/sb32/bit) - - (test/mat-hprod!/fixnum/fixnum) - (test/mat-hprod!/fixnum/bit) - - (test/mat-hprod!/bit/bit)) diff --git a/external/clem/test/test-transform.cl b/external/clem/test/test-transform.cl deleted file mode 100644 index d08d16f..0000000 --- a/external/clem/test/test-transform.cl +++ /dev/null @@ -1,22 +0,0 @@ - -(in-package :clem-test) - -(defun test-affine-transform () - (let ((xfrm (make-affine-transformation :x-shift -2d0 :y-shift -3d0 :theta (* -.25 pi))) - (coord1 (transpose (array->double-float-matrix #2A((10.0d0 20.0d0 1.0d0))))) - (coord2 (transpose (array->double-float-matrix #2A((2d0 2d0 1d0)))))) - (let ((inv-xfrm (invert-matrix xfrm))) - (print-matrix (mat-mult xfrm coord1)) - (print-matrix inv-xfrm) - (let ((hc (mat-mult inv-xfrm coord2))) - hc)))) - -(defun test-affine-transform-2 () - (let ((t1 (clem:make-affine-transformation - :x-shift 20d0 :y-shift 20d0 :theta (/ (* 120 pi) 180) :x-scale (log 2) :y-scale (log 2))) - (t2 (clem:make-affine-transformation - :x-shift 100d0 :y-shift 100d0))) - (clem:print-matrix t1) - (clem:print-matrix t2) - (clem:print-matrix (clem:mat-mult t2 t1)))) - diff --git a/external/clem/version.lisp-expr b/external/clem/version.lisp-expr deleted file mode 100644 index 722d7f3..0000000 --- a/external/clem/version.lisp-expr +++ /dev/null @@ -1 +0,0 @@ -"0.4.1" diff --git a/external/oct/.cvsignore b/external/oct/.cvsignore deleted file mode 100644 index 6509652..0000000 --- a/external/oct/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -*.ppcf -*.sparcf -*.x86f -*.err diff --git a/external/oct/LICENSE b/external/oct/LICENSE deleted file mode 100644 index d4bf97c..0000000 --- a/external/oct/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2007 Raymond Toy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/external/oct/branch-test.lisp b/external/oct/branch-test.lisp deleted file mode 100644 index a5c6ce5..0000000 --- a/external/oct/branch-test.lisp +++ /dev/null @@ -1,132 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;;; Some simple tests to see that we're computing the branch cuts -;;; correctly. -;;; -;;; NOTE: the tests assume that the functions for double-float are -;;; computing the values correctly for the branch cuts. We need to -;;; fix this. - -(in-package #:qd) - -(defun check-signs (fun arg real-sign imag-sign) - (let* ((z (funcall fun arg)) - (x (realpart z)) - (y (imagpart z))) - (unless (and (= (float-sign x) real-sign) - (= (float-sign y) imag-sign)) - (format t "Sign of result doesn't match expected signs~%~ - ~& fun = ~A~ - ~& arg = ~A~ - ~& res = ~A~ - ~& expected = ~A ~A~%" - fun arg z real-sign imag-sign)))) - -(defun get-signs (z) - (values (float-sign (realpart z)) - (float-sign (imagpart z)))) - -;; asin branch cut is the real axis |x| > 1. For x < -1, it is -;; continuous with quadrant II; for x > 1, continuous with quadrant -;; IV. -(defun test-asin () - ;; Check x < -1 - (multiple-value-bind (tr ti) - (get-signs (asin #c(-2d0 +1d-20))) - (check-signs #'asin -2d0 tr ti) - (check-signs #'asin -2w0 tr ti) - (check-signs #'asin #q-2 tr ti) - (check-signs #'asin #c(-2d0 0d0) tr ti) - (check-signs #'asin #c(-2w0 0w0) tr ti) - (check-signs #'asin #q(-2 0) tr ti) - (check-signs #'asin #c(-2d0 -0d0) tr (- ti)) - (check-signs #'asin #c(-2w0 -0w0) tr (- ti)) - (check-signs #'asin #q(-2 #q-0q0) tr (- ti)) - ) - - ;; Check x > 1 - (multiple-value-bind (tr ti) - (get-signs (asin #c(2d0 -1d-20))) - (check-signs #'asin 2d0 tr ti) - (check-signs #'asin 2w0 tr ti) - (check-signs #'asin #q2 tr ti) - (check-signs #'asin #c(2d0 -0d0) tr ti) - (check-signs #'asin #c(2w0 -0w0) tr ti) - (check-signs #'asin #q(2 #q-0q0) tr ti))) - -;; acos branch cut is the real axis, |x| > 1. For x < -1, it is -;; continuous with quadrant II; for x > 1, quadrant IV. -(defun test-acos () - ;; Check x < -1 - (multiple-value-bind (tr ti) - (get-signs (acos #c(-2d0 +1d-20))) - (check-signs #'acos -2d0 tr ti) - (check-signs #'acos -2w0 tr ti) - (check-signs #'acos #q-2 tr ti)) - - ;; Check x > 1 - (multiple-value-bind (tr ti) - (get-signs (acos #c(2d0 -1d-20))) - (check-signs #'acos 2d0 tr ti) - (check-signs #'acos 2w0 tr ti) - (check-signs #'acos #q2 tr ti))) - - -;; atan branch cut is the imaginary axis, |y| > 1. For y < -1, it is -;; continuous with quadrant IV; for x > 1, quadrant II. -(defun test-atan () - ;; Check y < -1 - (multiple-value-bind (tr ti) - (get-signs (atan #c(1d-20 -2d0))) - (check-signs #'atan #c(0d0 -2d0) tr ti) - (check-signs #'atan #c(0w0 -2w0) tr ti) - (check-signs #'atan #q(#q0 #q-2) tr ti)) - - ;; Check y > 1 - (multiple-value-bind (tr ti) - (get-signs (atan #c(-1d-20 2d0))) - (check-signs #'atan #c(-0d0 2d0) tr ti) - (check-signs #'atan #c(-0w0 2w0) tr ti) - (check-signs #'atan #q(#q-0 2) tr ti))) - - -(defun test-atanh () - ;; Check x < -1 - (multiple-value-bind (tr ti) - (get-signs (atanh #c(-2d0 -1d-20))) - (check-signs #'atanh -2d0 tr ti) - (check-signs #'atanh -2w0 tr ti) - (check-signs #'atanh #q-2 tr ti)) - - ;; Check x > 1 - (multiple-value-bind (tr ti) - (get-signs (atanh #c(2d0 1d-20))) - (check-signs #'atanh 2d0 tr ti) - (check-signs #'atanh 2w0 tr ti) - (check-signs #'atanh #q2 tr ti))) - - - diff --git a/external/oct/oct-test.system b/external/oct/oct-test.system deleted file mode 100644 index 7efe796..0000000 --- a/external/oct/oct-test.system +++ /dev/null @@ -1,44 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;; This requres the RT package. You can obtain a copy from -;; http://www.cliki.net/RT. -(require :rt) - -(mk:defsystem oct-extras - :source-pathname (make-pathname :directory (pathname-directory *load-pathname*)) - :depends-on ("oct") - :components - ((:file "qd-extra"))) - -(mk:defsystem oct-test - :source-pathname (make-pathname :directory (pathname-directory *load-pathname*)) - :depends-on ("oct" "oct-extras") - :components - ((:file "qd-test") - ;;(:file "tests") - (:file "branch-test") - (:file "rt-tests"))) - diff --git a/external/oct/oct.system b/external/oct/oct.system deleted file mode 100644 index d7b70a5..0000000 --- a/external/oct/oct.system +++ /dev/null @@ -1,72 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;; If you want all core functions to be inline (like the C++ code -;; does), add :qd-inline to *features* by enabling the following line. -;; This makes compilation much, much slower, but the resulting code -;; conses much less and is significantly faster. -#+(not (and cmu x86)) -(eval-when (:load-toplevel :compile-toplevel :execute) - (pushnew :qd-inline *features*)) - -;; To be able to inline all the functions, we need to make -;; *inline-expansion-limit* much larger. -;; -;; Not sure we really want to inline everything, but the QD C++ code -;; inlines all of the functions so we do the same. This makes CMUCL -;; take a very long time to compile the code, and the resulting -;; functions are huge. (I think div-qd is 8 KB, and sqrt-qd is a -;; whopping 30 KB!) -;; -#+(and cmu qd-inline) -(eval-when (:load-toplevel :compile-toplevel :execute) - (setf ext:*inline-expansion-limit* 1600)) - -(mk:defsystem oct - :source-pathname (make-pathname :directory (pathname-directory *load-pathname*)) - :components - ((:file "qd-package") - (:file "qd-rep" :depends-on ("qd-package")) - #-cmu - (:file "qd-dd" :depends-on ("qd-package")) - (:file "qd" - :depends-on ("qd-rep")) - (:file "qd-io" - :depends-on ("qd")) - (:file "qd-const" - :depends-on ("qd-io")) - (:file "qd-fun" - :depends-on ("qd" "qd-const")) - (:file "qd-class" - :depends-on ("qd-fun")) - (:file "qd-methods" - :depends-on ("qd-class")) - (:file "qd-format" - :depends-on ("qd-methods")) - (:file "qd-complex" - :depends-on ("qd-methods")) - )) - - diff --git a/external/oct/qd-class.lisp b/external/oct/qd-class.lisp deleted file mode 100644 index a97edca..0000000 --- a/external/oct/qd-class.lisp +++ /dev/null @@ -1,256 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qd) - -(define-symbol-macro * cl:*) -(define-symbol-macro - cl:-) -(define-symbol-macro / cl:/) - -(defclass qd-real () - ((qd :initform +qd-zero+ - :reader qd-value - :initarg :value - :type %quad-double))) - -(defclass qd-complex () - ((real :initform +qd-zero+ - :reader qd-real - :initarg :real - :type %quad-double) - (imag :initform +qd-zero+ - :reader qd-imag - :initarg :imag - :type %quad-double))) - -#-cmu -(defmethod print-object ((qd qd-real) stream) - (format stream "~/qdi::qd-format/" (qd-value qd))) - -#+cmu -(defun print-qd (q stream) - (declare (type %quad-double q)) - (if (or (ext:float-infinity-p (qd-0 q)) - (ext:float-nan-p (qd-0 q))) - (format stream "~/qdi::qd-format/" q) - (format stream "#q~/qdi::qd-format/" q))) -#+cmu -(defmethod print-object ((qd qd-real) stream) - (print-qd (qd-value qd) stream)) - -(defmethod make-qd ((x real)) - (make-instance 'qd-real :value (make-qd-d (float x 1d0)))) - -(defmethod make-qd ((x qd-real)) - (make-instance 'qd-real :value (qd-value x))) - -(defmethod print-object ((qd qd-complex) stream) - (format stream "#q(~/qdi::qd-format/ ~/qdi::qd-format/)" - (qd-real qd) - (qd-imag qd))) - -(defmethod print-object ((qd qd-complex) stream) - (write-string "#q(" stream) - (print-qd (qd-real qd) stream) - (write-char #\space stream) - (print-qd (qd-imag qd) stream) - (write-string ")" stream)) - -(defmethod qd-value ((x real)) - (make-qd-d (float x 1d0))) - -(defmethod make-load-form ((qd qd-real) &optional environment) - (declare (ignore environment)) - `(make-instance ',(class-of qd) - :value ',(qd-value qd))) - -(defmethod make-load-form ((qd qd-complex) &optional environment) - (declare (ignore environment)) - `(make-instance ',(class-of qd) - :real ',(qd-value (realpart qd)) - :imag ',(qd-value (imagpart qd)))) - -(defmethod describe-object ((q qd-real) stream) - (multiple-value-bind (q0 q1 q2 q3) - (qd-parts (qd-value q)) - (format stream "~&~S is a QD-REAL with components ~ - ~% ~A, ~A, ~A, ~A~%" - q q0 q1 q2 q3))) - -(defmethod describe-object ((q qd-complex) stream) - (format stream "~&~S is a QD-COMPLEX" q) - (format stream "~&It has components~&REAL: ") - (describe (realpart q)) - (format stream "~&IMAG: ") - (describe (imagpart q))) - - -(defgeneric add1 (a) - (:documentation "Add 1")) - -(defgeneric sub1 (a) - (:documentation "Subtract 1")) - - -(defgeneric two-arg-+ (a b) - (:documentation "A + B")) - -(defgeneric two-arg-- (a b) - (:documentation "A - B")) - -(defgeneric two-arg-* (a b) - (:documentation "A * B")) - -(defgeneric two-arg-/ (a b) - (:documentation "A / B")) - -(defgeneric two-arg-< (a b) - (:documentation "A < B")) - -(defgeneric two-arg-> (a b) - (:documentation "A > B")) - -(defgeneric two-arg-<= (a b) - (:documentation "A <= B")) - -(defgeneric two-arg->= (a b) - (:documentation "A >= B")) - -(defgeneric two-arg-= (a b) - (:documentation "A = B?")) - - -(defgeneric unary-minus (a) - (:documentation "-A")) - -(defgeneric unary-divide (a) - (:documentation "1 / A")) - -(defgeneric qzerop (a) - (:documentation "A = 0?")) - -(defgeneric qplusp (a) - (:documentation "A > 0")) - -(defgeneric qminusp (a) - (:documentation "A < 0")) - -(defgeneric qfloat (x ftype) - (:documentation "Convert X to a float of the same type a FLOAT")) - -(defgeneric qrealpart (x) - (:documentation "The real part of X")) - -(defgeneric qimagpart (x) - (:documentation "The imaginary part of X")) - -(defgeneric qconjugate (z) - (:documentation "The complex conjugate of Z")) - -(defgeneric qscale-float (x n) - (:documentation "Multiply the float X by 2^N")) - -(defgeneric qabs (x) - (:documentation "Absolute value of X")) - -(defgeneric qexp (x) - (:documentation "Exponential of X")) - -(defgeneric qsin (x) - (:documentation "Sine of X")) - -(defgeneric qcos (x) - (:documentation "Cosine of X")) - -(defgeneric qtan (x) - (:documentation "Tangent of X")) - -(defgeneric qsinh (x) - (:documentation "Hyperbolic sine of X")) - -(defgeneric qcosh (x) - (:documentation "Hyperbolic cosine of X")) - -(defgeneric qtanh (x) - (:documentation "Hyperbolic tangent of X")) - -(defgeneric qsqrt (x) - (:documentation "Square root of X")) - -(defgeneric qlog (a &optional b) - (:documentation "Log of A base B. If B not given, then natural log")) - -(defgeneric log1p (x) - (:documentation "log(1+x)")) - -(defgeneric qatan (y &optional x) - (:documentation "If X not given, atan(y). If X is given, atan(y/x), taking - the quadrant into account")) - -(defgeneric qexpt (x y) - (:documentation "X^Y")) - -(defgeneric qcomplex (x &optional y) - (:documentation "Create a complex number with components X and Y. If Y not given, assume 0")) - -(defgeneric qinteger-decode-float (f) - (:documentation "integer-decode-float")) - -(defgeneric qdecode-float (f) - (:documentation "decode-float")) - -(defgeneric qfloor (x &optional y)) - -(defgeneric qffloor (x &optional y)) - -(defgeneric %unary-round (x)) - -(defgeneric qfloat-sign (a &optional b) - (:documentation "Transfer sign of A to B. If B not given, assume 1")) - -(defgeneric qasin (x) - (:documentation "Inverse sine of X")) - -(defgeneric qacos (x) - (:documentation "Inverse cosine of X")) - -(defgeneric qacosh (x) - (:documentation "Inverse hyperbolic cosine of X")) - -(defgeneric qatanh (x) - (:documentation "Inverse hyperbolic tangent of X")) - -(defgeneric qcis (x) - (:documentation "(complex (cos x) (sin x))")) - -(defgeneric qphase (x) - (:documentation "Phase of X")) - -(defgeneric coerce (x type) - (:documentation "COERCE")) - -(defgeneric random (x &optional state) - (:documentation "RANDOM")) - diff --git a/external/oct/qd-complex.lisp b/external/oct/qd-complex.lisp deleted file mode 100644 index ed57efd..0000000 --- a/external/oct/qd-complex.lisp +++ /dev/null @@ -1,693 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;; Most of this code taken from CMUCL and slightly modified to support -;; QD-COMPLEX. - -(in-package #:qd) - -(defmethod two-arg-/ ((a qd-real) (b rational)) - (make-instance 'qd-real :value (div-qd (qd-value a) - (qd-value (float b #q0))))) - -(defmethod two-arg-/ ((a rational) (b qd-real)) - (make-instance 'qd-real :value (div-qd (qd-value (float a #q0)) - (qd-value b)))) - -(defmethod two-arg-* ((a qd-real) (b rational)) - (make-instance 'qd-real :value (mul-qd (qd-value a) (qd-value (float b #q0))))) - -(defmethod two-arg-+ ((a qd-real) (b rational)) - (make-instance 'qd-real :value (add-qd (qd-value a) (qd-value (float b #q0))))) - -(defmethod two-arg-+ ((a rational) (b qd-real)) - (make-instance 'qd-real :value (add-qd (qd-value b) (qd-value (float a #q0))))) - -(defmethod two-arg-- ((a qd-real) (b rational)) - (make-instance 'qd-real :value (sub-qd (qd-value a) (qd-value (float b #q0))))) - -(defmethod two-arg-- ((a rational) (b qd-real)) - (make-instance 'qd-real :value (sub-qd (qd-value (float a #q0)) (qd-value b)))) - -(defmethod unary-minus ((z qd-complex)) - (complex (- (realpart z)) - (- (imagpart z)))) - -(defmethod qzerop ((z qd-complex)) - (and (zerop (realpart z)) - (zerop (imagpart z)))) - -(defmethod two-arg-+ ((a qd-complex) (b qd-complex)) - (complex (+ (realpart a) (realpart b)) - (+ (imagpart a) (imagpart b)))) - -(defmethod two-arg-+ ((a qd-complex) (b real)) - (complex (+ (realpart a) b) - (imagpart a))) - -(defmethod two-arg-+ ((a qd-complex) (b qd-real)) - (complex (+ (realpart a) b) - (imagpart a))) - -(defmethod two-arg-+ ((a qd-real) (b qd-complex)) - (complex (+ a (realpart b)) - (imagpart b))) - -(defmethod two-arg-+ ((a qd-complex) (b cl:complex)) - (complex (+ (realpart a) (imagpart b)) - (+ (imagpart a) (imagpart b)))) - -(defmethod two-arg-+ ((a number) (b qd-complex)) - (two-arg-+ b a)) - -(defmethod two-arg-- ((a qd-complex) (b qd-complex)) - (complex (- (realpart a) (realpart b)) - (- (imagpart a) (imagpart b)))) - -(defmethod two-arg-- ((a qd-complex) (b real)) - (complex (- (realpart a) b) - (imagpart a))) - -(defmethod two-arg-- ((a qd-complex) (b cl:complex)) - (complex (- (realpart a) (realpart b)) - (- (imagpart a) (imagpart b)))) - -(defmethod two-arg-- ((a qd-complex) (b qd-real)) - (complex (- (realpart a) b) - (imagpart a))) - -(defmethod two-arg-- ((a number) (b qd-complex)) - (complex (- (realpart a) (realpart b)) - (- (imagpart a) (imagpart b)))) - -(defmethod two-arg-- ((a qd-real) (b qd-complex)) - (complex (- a (realpart b)) - (- (imagpart b)))) - -(defmethod two-arg-* ((a qd-complex) (b qd-complex)) - (let* ((rx (realpart a)) - (ix (imagpart a)) - (ry (realpart b)) - (iy (imagpart b))) - (complex (- (* rx ry) (* ix iy)) - (+ (* rx iy) (* ix ry))))) - -(defmethod two-arg-* ((a qd-complex) (b real)) - (let* ((rx (realpart a)) - (ix (imagpart a))) - (complex (* rx b) - (* ix b)))) - -(defmethod two-arg-* ((a qd-complex) (b qd-real)) - (let* ((rx (realpart a)) - (ix (imagpart a))) - (complex (* rx b) - (* ix b)))) - -(defmethod two-arg-* ((a qd-real) (b qd-complex)) - (two-arg-* b a)) - - - -#+cmu -(defmethod two-arg-* ((a qd-complex) (b cl:complex)) - ;; For now, convert B into a qd-complex and use that. - (let ((re (coerce (realpart b) 'ext:double-double-float)) - (im (coerce (imagpart b) 'ext:double-double-float))) - (two-arg-* a (make-instance 'qd-complex - :real (make-qd-dd re 0w0) - :imag (make-qd-dd im 0w0))))) - -#-cmu -(defmethod two-arg-* ((a qd-complex) (b cl:complex)) - ;; For now, convert B into a qd-complex and use that. - (let ((re (coerce (realpart b) 'double-float)) - (im (coerce (imagpart b) 'double-float))) - (two-arg-* a (make-instance 'qd-complex - :real (make-qd-d re) - :imag (make-qd-d im))))) - -(defmethod two-arg-* ((a number) (b qd-complex)) - (two-arg-* b a)) - -(defmethod two-arg-/ ((x qd-complex) (y qd-complex)) - (let* ((rx (realpart x)) - (ix (imagpart x)) - (ry (realpart y)) - (iy (imagpart y))) - (if (> (abs ry) (abs iy)) - (let* ((r (/ iy ry)) - (dn (+ ry (* r iy)))) - (complex (/ (+ rx (* ix r)) dn) - (/ (- ix (* rx r)) dn))) - (let* ((r (/ ry iy)) - (dn (+ iy (* r ry)))) - (complex (/ (+ (* rx r) ix) dn) - (/ (- (* ix r) rx) dn)))))) - -(defmethod two-arg-/ ((x qd-complex) (y qd-real)) - (complex (/ (realpart x) y) - (/ (imagpart x) y))) - -(defmethod two-arg-/ ((x qd-complex) (y number)) - (complex (/ (realpart x) y) - (/ (imagpart x) y))) - -(defmethod two-arg-/ ((x number) (y qd-complex)) - (let* ((rx (realpart x)) - (ix (imagpart x)) - (ry (realpart y)) - (iy (imagpart y))) - (if (> (abs ry) (abs iy)) - (let* ((r (/ iy ry)) - (dn (+ ry (* r iy)))) - (complex (/ (+ rx (* ix r)) dn) - (/ (- ix (* rx r)) dn))) - (let* ((r (/ ry iy)) - (dn (+ iy (* r ry)))) - (complex (/ (+ (* rx r) ix) dn) - (/ (- (* ix r) rx) dn)))))) - -(defmethod two-arg-/ ((x qd-real) (y qd-complex)) - ;; This can be simplified since X is real. - (let* ((rx (realpart x)) - (ix (imagpart x)) - (ry (realpart y)) - (iy (imagpart y))) - (if (> (abs ry) (abs iy)) - (let* ((r (/ iy ry)) - (dn (+ ry (* r iy)))) - (complex (/ (+ rx (* ix r)) dn) - (/ (- ix (* rx r)) dn))) - (let* ((r (/ ry iy)) - (dn (+ iy (* r ry)))) - (complex (/ (+ (* rx r) ix) dn) - (/ (- (* ix r) rx) dn)))))) - -(defmethod unary-divide ((a qd-complex)) - (two-arg-/ #q1 a)) - -(defmethod coerce ((obj t) (type t)) - (cl:coerce obj type)) - -(defmethod coerce ((number cl:real) (type (eql 'qd-real))) - (float number #q0)) - -(defmethod coerce ((number qd-real) (type (eql 'qd-real))) - number) - -(defmethod coerce ((number cl:number) (type (eql 'qd-complex))) - (complex (float (realpart number) #q0) - (float (imagpart number) #q0))) - -(defmethod coerce ((number qd-complex) (type (eql 'qd-complex))) - number) - -(declaim (inline square)) -(defun square (x) - (declare (type qd-real x)) - (make-instance 'qd-real :value (sqr-qd (qd-value x)))) - -(defun qd-complex-sqrt (z) - "Principle square root of Z - -Z may be any number, but the result is always a complex." - (declare (type qd-complex z)) - (multiple-value-bind (rho k) - (qd-cssqs z) - (declare (type qd-real rho) - (type fixnum k)) - (let ((x (realpart z)) - (y (imagpart z)) - (eta #q0.0) - (nu #q0.0)) - (declare (type qd-real x y eta nu)) - - (locally - ;; space 0 to get maybe-inline functions inlined. - (declare (optimize (speed 3) (space 0))) - - (setf rho (+ (scalb (abs x) (- k)) (sqrt rho))) - - (cond ((oddp k) - (setf k (ash k -1))) - (t - (setf k (1- (ash k -1))) - (setf rho (+ rho rho)))) - - (setf rho (scalb (sqrt rho) k)) - - (setf eta rho) - (setf nu y) - - (when (not (zerop rho)) - (setf nu (/ (/ nu rho) 2d0))) - (when (minusp x) - (setf eta (abs nu)) - (setf nu (float-sign y rho)))) - (complex eta nu)))) - -(defun qd-complex-log-scaled (z j) - "Compute log(2^j*z). - -This is for use with J /= 0 only when |z| is huge." - (declare (type qd-complex z) - (fixnum j)) - ;; The constants t0, t1, t2 should be evaluated to machine - ;; precision. In addition, Kahan says the accuracy of log1p - ;; influences the choices of these constants but doesn't say how to - ;; choose them. We'll just assume his choices matches our - ;; implementation of log1p. - (let ((t0 (/ 1 (sqrt #q2.0q0))) - (t1 #q1.2q0) - (t2 #q3q0) - (ln2 #.(log #q2.0)) - (x (realpart z)) - (y (imagpart z))) - (multiple-value-bind (rho k) - (qd-cssqs z) - (declare (optimize (speed 3))) - (let ((beta (max (abs x) (abs y))) - (theta (min (abs x) (abs y)))) - (complex (if (and (zerop k) - (< t0 beta) - (or (<= beta t1) - (< rho t2))) - (/ (log1p (+ (* (- beta 1.0d0) - (+ beta 1.0d0)) - (* theta theta))) - 2d0) - (+ (/ (log rho) 2d0) - (* (+ k j) ln2))) - (atan y x)))))) - -(defun qd-complex-log (z) - "Log of Z = log |Z| + i * arg Z - -Z may be any number, but the result is always a complex." - (declare (type qd-complex z)) - (qd-complex-log-scaled z 0)) - - -;; Let us note the following "strange" behavior. atanh 1.0d0 is -;; +infinity, but the following code returns approx 176 + i*pi/4. The -;; reason for the imaginary part is caused by the fact that arg i*y is -;; never 0 since we have positive and negative zeroes. - -;; -;; atanh(z) = (log(1+z) - log(1-z))/2 -;; -;; The branch cut is on the real axis for |x| >= 1. For x =< -1, -;; atanh is continuous with quadrant III; for x >= 1, continuous with -;; quadrant I. -(defun qd-complex-atanh (z) - "Compute atanh z = (log(1+z) - log(1-z))/2" - (declare (type (or qd-real qd-complex) z)) - (cond ((and (typep z 'qd-real) (< z -1)) - (qd-complex-atanh (complex z -0d0))) - (t - (flet ((careful-mul (a b) - ;; Carefully multiply a and b, taking care to handle - ;; signed zeroes. Only need to handle the case of b - ;; being zero. - (if (zerop b) - (if (minusp (* (float-sign a) (float-sign b))) - #q-0 - #q0) - (* a b)))) - (let* ( ;; Constants - (theta (/ (sqrt most-positive-double-float) 4.0d0)) - (rho (/ 4.0d0 (sqrt most-positive-double-float))) - (half-pi #.(/ +pi+ 2d0)) - (rp (realpart z)) - (beta (float-sign rp)) - (x (* beta rp)) - (y (careful-mul beta (- (imagpart z)))) - (eta #q0.0q0) - (nu #q0.0q0)) - ;; Shouldn't need this declare. - (declare (type qd-real x y)) - (locally - (declare (optimize (speed 3))) - (cond ((or (> x theta) - (> (abs y) theta)) - ;; To avoid overflow... - (setf nu (float-sign y half-pi)) - ;; eta is real part of 1/(x + iy). This is x/(x^2+y^2), - ;; which can cause overflow. Arrange this computation so - ;; that it won't overflow. - (setf eta (let* ((x-bigger (> x (abs y))) - (r (if x-bigger (/ y x) (/ x y))) - (d (+ 1.0d0 (* r r)))) - (if x-bigger - (/ (/ x) d) - (/ (/ r y) d))))) - ((= x #q1.0q0) - ;; Should this be changed so that if y is zero, eta is set - ;; to +infinity instead of approx 176? In any case - ;; tanh(176) is 1.0d0 within working precision. - (let ((t1 (+ 4d0 (square y))) - (t2 (+ (abs y) rho))) - (setf eta (log (/ (sqrt (sqrt t1)) - (sqrt t2)))) - (setf nu (* 0.5d0 - (float-sign y - (+ half-pi (atan (* 0.5d0 t2)))))) - )) - (t - (let ((t1 (+ (abs y) rho))) - ;; Normal case using log1p(x) = log(1 + x) - (setf eta (* 0.25d0 - (log1p (/ (* 4.0d0 x) - (+ (square (- 1.0d0 x)) - (square t1)))))) - (setf nu (* 0.5d0 - (atan (careful-mul 2.0d0 y) - (- (* (- 1.0d0 x) - (+ 1.0d0 x)) - (square t1)))))))) - (complex (* beta eta) - (- (* beta nu))))))))) - - -;; tanh(z) = sinh(z)/cosh(z) -;; -(defun qd-complex-tanh (z) - "Compute tanh z = sinh z / cosh z" - (declare (type (or qd-real qd-complex) z)) - (let ((x (realpart z)) - (y (imagpart z))) - (locally - ;; space 0 to get maybe-inline functions inlined - (declare (optimize (speed 3) (space 0))) - (cond ((> (abs x) #.(/ (+ (log most-positive-double-float) - (log 2d0)) - 4d0)) - ;; The threshold above is - ;; asinh(most-positive-double-float)/4, but many Lisps - ;; cannot actually compute that. Hence use the - ;; (accurate) approximation - ;; asinh(most-positive-double-float) = - ;; log(most-positive-double-float) + log(2) - (complex (float-sign x) - (float-sign y))) - (t - ;; With quad-double's it happens that tan(pi/2) will - ;; actually produce a division by zero error. We need to - ;; handle that case carefully. - (let* ((tv (ignore-errors (tan y))) - (s (sinh x)) - (rho (sqrt (+ 1.0d0 (* s s))))) - (cond (tv - (let* ((beta (+ 1.0d0 (* tv tv))) - (den (+ 1.0d0 (* beta s s)))) - (complex (/ (* beta rho s) - den) - (/ tv den)))) - (t - ;; This means tan(y) produced some error. We'll - ;; assume it's an overflow error because y is - ;; pi/2 + 2*k*pi. But we need a value for tv to - ;; compute (/ tv). This would be a signed-zero. - ;; For now, just return +0. - (complex (/ rho s) - #q0))))))))) - -;; Kahan says we should only compute the parts needed. Thus, the -;; realpart's below should only compute the real part, not the whole -;; complex expression. Doing this can be important because we may get -;; spurious signals that occur in the part that we are not using. -;; -;; However, we take a pragmatic approach and just use the whole -;; expression. - -;; NOTE: The formula given by Kahan is somewhat ambiguous in whether -;; it's the conjugate of the square root or the square root of the -;; conjugate. This needs to be checked. - -;; I checked. It doesn't matter because (conjugate (sqrt z)) is the -;; same as (sqrt (conjugate z)) for all z. This follows because -;; -;; (conjugate (sqrt z)) = exp(0.5*log |z|)*exp(-0.5*j*arg z). -;; -;; (sqrt (conjugate z)) = exp(0.5*log|z|)*exp(0.5*j*arg conj z) -;; -;; and these two expressions are equal if and only if arg conj z = -;; -arg z, which is clearly true for all z. - -;; NOTE: The rules of Common Lisp says that if you mix a real with a -;; complex, the real is converted to a complex before performing the -;; operation. However, Kahan says in this paper (pg 176): -;; -;; (iii) Careless handling can turn infinity or the sign of zero into -;; misinformation that subsequently disappears leaving behind -;; only a plausible but incorrect result. That is why compilers -;; must not transform z-1 into z-(1+i*0), as we have seen above, -;; nor -(-x-x^2) into (x+x^2), as we shall see below, lest a -;; subsequent logarithm or square root produce a non-zero -;; imaginary part whose sign is opposite to what was intended. -;; -;; The interesting examples are too long and complicated to reproduce -;; here. We refer the reader to his paper. -;; -;; The functions below are intended to handle the cases where a real -;; is mixed with a complex and we don't want CL complex contagion to -;; occur.. - -(declaim (inline 1+z 1-z z-1 z+1)) -(defun 1+z (z) - (complex (+ 1 (realpart z)) (imagpart z))) -(defun 1-z (z) - (complex (- 1 (realpart z)) (- (imagpart z)))) -(defun z-1 (z) - (complex (- (realpart z) 1) (imagpart z))) -(defun z+1 (z) - (complex (+ (realpart z) 1) (imagpart z))) - -(defun qd-complex-acos (z) - "Compute acos z = pi/2 - asin z - -Z may be any number, but the result is always a complex." - (declare (type (or qd-real qd-complex) z)) - (if (and (typep z 'qd-real) (> z 1)) - ;; acos is continuous in quadrant IV in this case. - (qd-complex-acos (complex z -0f0)) - (let ((sqrt-1+z (qd-complex-sqrt (1+z z))) - (sqrt-1-z (qd-complex-sqrt (1-z z)))) - (cond ((zerop (realpart sqrt-1+z)) - ;; Same as below, but we compute atan ourselves (because we - ;; have atan +/- infinity). - (complex - (if (minusp (float-sign (* (realpart sqrt-1-z) - (realpart sqrt-1+z)))) - (- +pi+) - +pi+) - (asinh (imagpart (* (conjugate sqrt-1+z) - sqrt-1-z))))) - (t - (complex (* 2 (atan (/ (realpart sqrt-1-z) - (realpart sqrt-1+z)))) - (asinh (imagpart (* (conjugate sqrt-1+z) - sqrt-1-z))))))))) - -(defun qd-complex-acosh (z) - "Compute acosh z = 2 * log(sqrt((z+1)/2) + sqrt((z-1)/2)) - -Z may be any number, but the result is always a complex." - (declare (type (or qd-real qd-complex) z)) - (let* ((sqrt-z-1 (qd-complex-sqrt (z-1 z))) - (sqrt-z+1 (qd-complex-sqrt (z+1 z)))) - ;; We need to handle the case where real part of sqrt-z+1 is zero, - ;; because division by zero with double-double-floats doesn't - ;; produce infinity. - (cond ((zerop (realpart sqrt-z+1)) - ;; Same as below, but we compute atan ourselves (because we - ;; have atan +/- infinity). - (complex (asinh (realpart (* (conjugate sqrt-z-1) - sqrt-z+1))) - (if (minusp (float-sign (* (imagpart sqrt-z-1) - (realpart sqrt-z+1)))) - (- +pi+) - +pi+))) - (t - (complex (asinh (realpart (* (conjugate sqrt-z-1) - sqrt-z+1))) - (* 2 (atan (/ (imagpart sqrt-z-1) - (realpart sqrt-z+1))))))))) - -;; asin(z) = asinh(i*z)/i -;; = -i log(i*z + sqrt(1-z^2)) -(defun qd-complex-asin (z) - "Compute asin z = asinh(i*z)/i - -Z may be any number, but the result is always a complex." - (declare (type (or qd-real qd-complex) z)) - (cond ((and (typep z 'qd-real) (> z 1)) - (qd-complex-asin (complex z -0d0))) - (t - (let* ((sqrt-1-z (qd-complex-sqrt (1-z z))) - (sqrt-1+z (qd-complex-sqrt (1+z z))) - (den (realpart (* sqrt-1-z sqrt-1+z)))) - (cond ((zerop den) - ;; Like below but we handle atan part ourselves. - ;; Must be sure to take into account the sign of - ;; (realpart z) and den! - (complex (if (minusp (* (float-sign (realpart z)) - (float-sign den))) - (- (/ +pi+ 2)) - (/ +pi+ 2)) - (asinh (imagpart (* (conjugate sqrt-1-z) - sqrt-1+z))))) - (t - ;; We get a invalid operation here when z is real and |z| > 1. - (complex (atan (/ (realpart z) - (realpart (* sqrt-1-z sqrt-1+z)))) - (asinh (imagpart (* (conjugate sqrt-1-z) - sqrt-1+z)))))))))) - -(defun qd-complex-asinh (z) - "Compute asinh z = log(z + sqrt(1 + z*z)) - -Z may be any number, but the result is always a complex." - (declare (type (or qd-real qd-complex) z)) - ;; asinh z = -i * asin (i*z) - (let* ((iz (complex (- (imagpart z)) (realpart z))) - (result (qd-complex-asin iz))) - (complex (imagpart result) - (- (realpart result))))) - -(defun qd-complex-atan (z) - "Compute atan z = atanh (i*z) / i - -Z may be any number, but the result is always a complex." - (declare (type (or qd-real qd-complex) z)) - ;; atan z = -i * atanh (i*z) - (let* ((iz (complex (- (imagpart z)) (realpart z))) - (result (qd-complex-atanh iz))) - (complex (imagpart result) - (- (realpart result))))) - -(defun qd-complex-tan (z) - "Compute tan z = -i * tanh(i * z) - -Z may be any number, but the result is always a complex." - (declare (type (or qd-real qd-complex) z)) - ;; tan z = -i * tanh(i*z) - (let* ((iz (complex (- (imagpart z)) (realpart z))) - (result (qd-complex-tanh iz))) - (complex (imagpart result) - (- (realpart result))))) - -(defmethod qasin ((x qd-complex)) - (qd-complex-asin x)) - -(defmethod qacos ((x qd-complex)) - (qd-complex-acos x)) - -(defmethod qacosh ((x qd-complex)) - (qd-complex-acosh x)) - -(defmethod qatanh ((x qd-complex)) - (qd-complex-atanh x)) - -(defmethod qsin ((z qd-complex)) - (let ((x (realpart z)) - (y (imagpart z))) - (complex (* (sin x) (cosh y)) - (* (cos x) (sinh y))))) - -(defmethod qcos ((z qd-complex)) - (let ((x (realpart z)) - (y (imagpart z))) - (complex (* (cos x) (cosh y)) - (- (* (sin x) (sinh y)))))) - -(defmethod qtan ((z qd-complex)) - (qd-complex-tan z)) - -(defmethod qsinh ((z qd-complex)) - (let ((x (realpart z)) - (y (imagpart z))) - (complex (* (sinh x) (cos y)) - (* (cosh x) (sin y))))) - -(defmethod qcosh ((z qd-complex)) - (let ((x (realpart z)) - (y (imagpart z))) - (complex (* (cosh x) (cos y)) - (* (sinh x) (sin y))))) - -(defmethod qtanh ((z qd-complex)) - (qd-complex-tanh z)) - -(defmethod qsqrt ((z qd-complex)) - (qd-complex-sqrt z)) - -(defmethod qatan ((y qd-complex) &optional x) - (if x - (error "First arg of 2-arg ATAN must be real") - (qd-complex-atan y))) - -(defmethod qatan ((y cl:complex) &optional x) - (if x - (error "First arg of 2-arg ATAN must be real") - (cl:atan y))) - -(defmethod qexp ((z qd-complex)) - (let* ((x (realpart z)) - (y (imagpart z)) - (ex (exp x))) - (complex (* ex (cos y)) - (* ex (sin y))))) - -(defmethod qlog ((a qd-complex) &optional b) - (if b - (/ (qlog a) (qlog b)) - (complex (log (abs a)) - (atan (imagpart a) (realpart a))))) - -(defmethod qexpt ((x qd-complex) (y number)) - (exp (* (float y #q0) (log x)))) - -(defmethod qexpt ((x number) (y qd-complex)) - (exp (* y (log (float x #q0))))) - -(defmethod qexpt ((x qd-complex) (y qd-complex)) - (exp (* y (log x)))) - -(defmethod qphase ((z qd-complex)) - (atan (imagpart z) (realpart z))) - -(defun realp (x) - (or (typep x 'qd-real) - (cl:realp x))) - -(defun complexp (x) - (or (typep x 'qd-complex) - (cl:complexp x))) - -(defun numberp (x) - (or (realp x) - (complexp x))) diff --git a/external/oct/qd-const.lisp b/external/oct/qd-const.lisp deleted file mode 100644 index a9235ce..0000000 --- a/external/oct/qd-const.lisp +++ /dev/null @@ -1,2591 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qdi) - -(defconstant +qd-zero+ - (make-qd-d 0d0)) - -(defconstant +qd-one+ - (make-qd-d 1d0)) - -(defconstant +qd-2pi+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -50) - (scale-float (float 4967757600021511 1.0d0) -104) - (scale-float (float -8753721960665020 1.0d0) -160) - (scale-float (float 5857755168774013 1.0d0) -214))) - -;; 3.1415926535897932384626433832795028841971693993751058209749445923078L0 -(defconstant +qd-pi+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -51) - (scale-float (float 4967757600021511 1.0d0) -105) - (scale-float (float -8753721960665020 1.0d0) -161) - (scale-float (float 5857755168774013 1.0d0) -215))) - -(defconstant +qd-pi/2+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -52) - (scale-float (float 4967757600021511 1.0d0) -106) - (scale-float (float -8753721960665020 1.0d0) -162) - (scale-float (float 5857755168774013 1.0d0) -216))) - -(defconstant +qd-pi/4+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -53) - (scale-float (float 4967757600021511 1.0d0) -107) - (scale-float (float -8753721960665020 1.0d0) -163) - (scale-float (float 5857755168774013 1.0d0) -217))) - -(defconstant +qd-3pi/4+ - (%make-qd-d (scale-float (float 5305678314021330 1.0d0) -51) - (scale-float (float 7451636400032266 1.0d0) -106) - (scale-float (float 5724553519491610 1.0d0) -160) - (scale-float (float -6810541066450736 1.0d0) -214))) - -(defconstant +qd-pi/1024+ - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -61) - (scale-float (float 4967757600021511 1.0d0) -115) - (scale-float (float -8753721960665020 1.0d0) -171) - (scale-float (float 5857755168774013 1.0d0) -225))) - -(defconstant +qd-e+ - (%make-qd-d (scale-float (float 6121026514868073 1.0d0) -51) - (scale-float (float 5864240480059706 1.0d0) -105) - (scale-float (float -6219324074349538 1.0d0) -161) - (scale-float (float 7980724272743020 1.0d0) -215))) - -;; 0.6931471805599453094172321214581765680755001343602552541206800094934L0 -(defconstant +qd-log2+ - #+nil - (make-qd-d 6.931471805599452862d-01 - 2.319046813846299558d-17 - 5.707708438416212066d-34 - -3.582432210601811423d-50) - (%make-qd-d (scale-float (float 6243314768165359 1.0d0) -53) - (scale-float (float 7525737178955839 1.0d0) -108) - (scale-float (float 6673460182522164 1.0d0) -163) - (scale-float (float -7545482916914656 1.0d0) -217))) - -;; The rest of log(2) such that (+ +qd-log2+ +qd-log2-extra+) is -;; log(2) to twice the precision of a quad-double. -(defconstant +qd-log2-extra+ - #+nil - (make-qd-d (scale-float (float 4141960528156623 1d0) (- -53 212)) - (scale-float (float 3973120087747366 1d0) (- -106 212)) - (scale-float (float 752798645508048 1d0) (- -159 212)) - (scale-float (float 7618435247650241 1d0) (- -212 212))) - (%make-qd-d (scale-float (float 8283921056313247 1.0d0) -266) - (scale-float (float -8487672633970079 1.0d0) -322) - (scale-float (float 6075158146775579 1.0d0) -376) - (scale-float (float 4764384374407424 1.0d0) -432))) - -(defconstant +qd-log10+ - (%make-qd-d (scale-float (float 5184960683398422 1.0d0) -51) - (scale-float (float -8805633374462953 1.0d0) -105) - (scale-float (float -7296007962371596 1.0d0) -159) - (scale-float (float -5296362421624049 1.0d0) -213))) - -(defconstant +qd-eps+ - (scale-float 1d0 -209)) - -(defconstant +qd-sin-table+ - (make-array 256 - :initial-contents - (list - (%make-qd-d (scale-float (float 7074226654454970 1.0d0) -61) - (scale-float (float 5271335698347442 1.0d0) -115) - (scale-float (float 7913822574154586 1.0d0) -170) - (scale-float (float -4804352564403217 1.0d0) -224)) - (%make-qd-d (scale-float (float 7074193361797233 1.0d0) -60) - (scale-float (float 7522205695703707 1.0d0) -116) - (scale-float (float 7787047147324868 1.0d0) -175) - (scale-float (float -6728650631839117 1.0d0) -232)) - (%make-qd-d (scale-float (float 5305603405682435 1.0d0) -59) - (scale-float (float -5041342953893321 1.0d0) -115) - (scale-float (float 8335474310793984 1.0d0) -170) - (scale-float (float 6743025479788607 1.0d0) -225)) - (%make-qd-d (scale-float (float 7074060192106372 1.0d0) -59) - (scale-float (float 7185921569156509 1.0d0) -113) - (scale-float (float -6016799991653399 1.0d0) -170) - (scale-float (float -5577663458559350 1.0d0) -224)) - (%make-qd-d (scale-float (float 8842450394781643 1.0d0) -59) - (scale-float (float -8771095658131507 1.0d0) -113) - (scale-float (float 8705573170983202 1.0d0) -167) - (scale-float (float -4692271881407162 1.0d0) -221)) - (%make-qd-d (scale-float (float 5305378684473085 1.0d0) -58) - (scale-float (float 7704904742673764 1.0d0) -113) - (scale-float (float 7308626221243388 1.0d0) -167) - (scale-float (float 4905810005485122 1.0d0) -223)) - (%make-qd-d (scale-float (float 6189482235310630 1.0d0) -58) - (scale-float (float -4715432182777116 1.0d0) -113) - (scale-float (float -8243063834437948 1.0d0) -168) - (scale-float (float 8566398131092182 1.0d0) -222)) - (%make-qd-d (scale-float (float 7073527528384126 1.0d0) -58) - (scale-float (float -7632135562854704 1.0d0) -116) - (scale-float (float 7289253486557291 1.0d0) -170) - (scale-float (float -7590289326531904 1.0d0) -224)) - (%make-qd-d (scale-float (float 7957506242722589 1.0d0) -58) - (scale-float (float -8272553670927212 1.0d0) -112) - (scale-float (float -6591995918745221 1.0d0) -166) - (scale-float (float -4636857096009409 1.0d0) -220)) - (%make-qd-d (scale-float (float 8841410057981697 1.0d0) -58) - (scale-float (float -5627969559234246 1.0d0) -118) - (scale-float (float -5998146560009404 1.0d0) -171) - (scale-float (float -8771421402740511 1.0d0) -225)) - (%make-qd-d (scale-float (float 4862615327261055 1.0d0) -57) - (scale-float (float -5217239170857332 1.0d0) -111) - (scale-float (float -6336246586437174 1.0d0) -165) - (scale-float (float 5522987872330073 1.0d0) -219)) - (%make-qd-d (scale-float (float 5304479856743885 1.0d0) -57) - (scale-float (float 6340842145528512 1.0d0) -113) - (scale-float (float -7566831660699656 1.0d0) -167) - (scale-float (float -7114412056121165 1.0d0) -221)) - (%make-qd-d (scale-float (float 5746294458442105 1.0d0) -57) - (scale-float (float 4845186982751657 1.0d0) -113) - (scale-float (float 6382779118838290 1.0d0) -167) - (scale-float (float 8090523197847278 1.0d0) -221)) - (%make-qd-d (scale-float (float 6188054973828419 1.0d0) -57) - (scale-float (float 7360584602593505 1.0d0) -111) - (scale-float (float 7946504576809704 1.0d0) -165) - (scale-float (float 5731224328660037 1.0d0) -219)) - (%make-qd-d (scale-float (float 6629757244884614 1.0d0) -57) - (scale-float (float -5806448969106076 1.0d0) -112) - (scale-float (float 7037190739826080 1.0d0) -166) - (scale-float (float 5552037724818900 1.0d0) -223)) - (%make-qd-d (scale-float (float 7071397114140692 1.0d0) -57) - (scale-float (float -7057477599664784 1.0d0) -113) - (scale-float (float -8290828586102809 1.0d0) -167) - (scale-float (float -6697971486035361 1.0d0) -222)) - (%make-qd-d (scale-float (float 7512970424714007 1.0d0) -57) - (scale-float (float -6294023145184360 1.0d0) -111) - (scale-float (float -6395720725273163 1.0d0) -165) - (scale-float (float -7071774105018818 1.0d0) -219)) - (%make-qd-d (scale-float (float 7954473020348387 1.0d0) -57) - (scale-float (float -6926679705961747 1.0d0) -112) - (scale-float (float -6427721451859560 1.0d0) -167) - (scale-float (float 8028310015339695 1.0d0) -222)) - (%make-qd-d (scale-float (float 8395900745453257 1.0d0) -57) - (scale-float (float 4839201044457661 1.0d0) -114) - (scale-float (float 5799570435052711 1.0d0) -171) - (scale-float (float -5529353034270453 1.0d0) -226)) - (%make-qd-d (scale-float (float 8837249445142752 1.0d0) -57) - (scale-float (float -5314952832401406 1.0d0) -113) - (scale-float (float -7992910057771694 1.0d0) -167) - (scale-float (float 8886165424019995 1.0d0) -221)) - (%make-qd-d (scale-float (float 4639257482637412 1.0d0) -56) - (scale-float (float -5494228531443205 1.0d0) -110) - (scale-float (float 6222043711193090 1.0d0) -167) - (scale-float (float 4966112393074763 1.0d0) -221)) - (%make-qd-d (scale-float (float 4859846576245171 1.0d0) -56) - (scale-float (float -8985502920124077 1.0d0) -110) - (scale-float (float 7440463379940699 1.0d0) -165) - (scale-float (float -6641325637598524 1.0d0) -219)) - (%make-qd-d (scale-float (float 5080389927126093 1.0d0) -56) - (scale-float (float -8898661047761268 1.0d0) -110) - (scale-float (float -4667727006484474 1.0d0) -164) - (scale-float (float 8478536563323652 1.0d0) -218)) - (%make-qd-d (scale-float (float 5300885459442166 1.0d0) -56) - (scale-float (float -7213383224879916 1.0d0) -111) - (scale-float (float -8534269322822802 1.0d0) -166) - (scale-float (float -6601733372219099 1.0d0) -221)) - (%make-qd-d (scale-float (float 5521331097805465 1.0d0) -56) - (scale-float (float 4829604598179156 1.0d0) -114) - (scale-float (float -7893599535446481 1.0d0) -172) - (scale-float (float -5384211130874634 1.0d0) -226)) - (%make-qd-d (scale-float (float 5741724767297686 1.0d0) -56) - (scale-float (float -5824155811343436 1.0d0) -110) - (scale-float (float 6673985610265747 1.0d0) -164) - (scale-float (float 4800782739249759 1.0d0) -220)) - (%make-qd-d (scale-float (float 5962064393489674 1.0d0) -56) - (scale-float (float 7651360099479755 1.0d0) -112) - (scale-float (float 6974817744235260 1.0d0) -167) - (scale-float (float 7824970858345265 1.0d0) -224)) - (%make-qd-d (scale-float (float 6182347902460953 1.0d0) -56) - (scale-float (float -8796242544913562 1.0d0) -111) - (scale-float (float -7546272905440146 1.0d0) -165) - (scale-float (float 6512061516709508 1.0d0) -219)) - (%make-qd-d (scale-float (float 6402573220819241 1.0d0) -56) - (scale-float (float -4868008820827392 1.0d0) -110) - (scale-float (float 8779206749884591 1.0d0) -164) - (scale-float (float -8648470131210884 1.0d0) -218)) - (%make-qd-d (scale-float (float 6622738275719969 1.0d0) -56) - (scale-float (float 6182934508221337 1.0d0) -110) - (scale-float (float 7353282250945404 1.0d0) -165) - (scale-float (float -8166192353391047 1.0d0) -220)) - (%make-qd-d (scale-float (float 6842840994885793 1.0d0) -56) - (scale-float (float -8552477024466766 1.0d0) -110) - (scale-float (float -4997427595980002 1.0d0) -164) - (scale-float (float 5821398332046138 1.0d0) -218)) - (%make-qd-d (scale-float (float 7062879306626092 1.0d0) -56) - (scale-float (float -8487236864497288 1.0d0) -112) - (scale-float (float -4942162982072151 1.0d0) -168) - (scale-float (float -4811145377091453 1.0d0) -223)) - (%make-qd-d (scale-float (float 7282851139856476 1.0d0) -56) - (scale-float (float 8609951212389606 1.0d0) -111) - (scale-float (float -5614142183842944 1.0d0) -165) - (scale-float (float 6068416796043208 1.0d0) -219)) - (%make-qd-d (scale-float (float 7502754424118275 1.0d0) -56) - (scale-float (float 8536169017599928 1.0d0) -110) - (scale-float (float 7981550951145323 1.0d0) -165) - (scale-float (float -8340622458345952 1.0d0) -220)) - (%make-qd-d (scale-float (float 7722587089598028 1.0d0) -56) - (scale-float (float 8362719068102409 1.0d0) -110) - (scale-float (float -7853008551658302 1.0d0) -166) - (scale-float (float -6852498985157079 1.0d0) -220)) - (%make-qd-d (scale-float (float 7942347067146965 1.0d0) -56) - (scale-float (float -5897359216343841 1.0d0) -113) - (scale-float (float 7767443765766550 1.0d0) -169) - (scale-float (float 8203371449514667 1.0d0) -225)) - (%make-qd-d (scale-float (float 8162032288300481 1.0d0) -56) - (scale-float (float 7035687121204020 1.0d0) -111) - (scale-float (float 5733124558862890 1.0d0) -168) - (scale-float (float 6681272325774503 1.0d0) -223)) - (%make-qd-d (scale-float (float 8381640685297609 1.0d0) -56) - (scale-float (float 5345425417737710 1.0d0) -112) - (scale-float (float -8790124191829010 1.0d0) -166) - (scale-float (float 7297964455931531 1.0d0) -225)) - (%make-qd-d (scale-float (float 8601170191100479 1.0d0) -56) - (scale-float (float -5127404751534987 1.0d0) -110) - (scale-float (float 8258618371098839 1.0d0) -164) - (scale-float (float 6354475203379338 1.0d0) -221)) - (%make-qd-d (scale-float (float 8820618739413774 1.0d0) -56) - (scale-float (float 7361249450583405 1.0d0) -111) - (scale-float (float 8489175872343797 1.0d0) -165) - (scale-float (float -4838736209868180 1.0d0) -220)) - (%make-qd-d (scale-float (float 4519992132352091 1.0d0) -55) - (scale-float (float 6319901705801489 1.0d0) -110) - (scale-float (float 5600764727998866 1.0d0) -166) - (scale-float (float -5650573825026412 1.0d0) -220)) - (%make-qd-d (scale-float (float 4629632351109917 1.0d0) -55) - (scale-float (float 4958462282897610 1.0d0) -110) - (scale-float (float -8711719640720475 1.0d0) -165) - (scale-float (float -8191834096705166 1.0d0) -221)) - (%make-qd-d (scale-float (float 4739228994004870 1.0d0) -55) - (scale-float (float -6495525500297301 1.0d0) -110) - (scale-float (float -6071898187587615 1.0d0) -165) - (scale-float (float -7897922259441451 1.0d0) -220)) - (%make-qd-d (scale-float (float 4848781029471607 1.0d0) -55) - (scale-float (float -5949746474335482 1.0d0) -109) - (scale-float (float 7443833788929433 1.0d0) -165) - (scale-float (float 6779921506403360 1.0d0) -220)) - (%make-qd-d (scale-float (float 4958287426364647 1.0d0) -55) - (scale-float (float 8600164307618932 1.0d0) -110) - (scale-float (float -5552907197025195 1.0d0) -164) - (scale-float (float -6315628760329704 1.0d0) -222)) - (%make-qd-d (scale-float (float 5067747153968079 1.0d0) -55) - (scale-float (float -5139980116898898 1.0d0) -109) - (scale-float (float 7128908501078503 1.0d0) -163) - (scale-float (float 5174334784143035 1.0d0) -217)) - (%make-qd-d (scale-float (float 5177159182005257 1.0d0) -55) - (scale-float (float 7446222959753664 1.0d0) -109) - (scale-float (float -4853116546479197 1.0d0) -166) - (scale-float (float -7114171320789543 1.0d0) -220)) - (%make-qd-d (scale-float (float 5286522480648506 1.0d0) -55) - (scale-float (float 4837853990883808 1.0d0) -110) - (scale-float (float 8734494569006220 1.0d0) -164) - (scale-float (float -6888573428631769 1.0d0) -220)) - (%make-qd-d (scale-float (float 5395836020528807 1.0d0) -55) - (scale-float (float 5245006079192873 1.0d0) -109) - (scale-float (float 6070092190452118 1.0d0) -165) - (scale-float (float 8372804672547503 1.0d0) -219)) - (%make-qd-d (scale-float (float 5505098772745492 1.0d0) -55) - (scale-float (float -4953034127800088 1.0d0) -109) - (scale-float (float 6748009167290918 1.0d0) -163) - (scale-float (float -7947104079128991 1.0d0) -217)) - (%make-qd-d (scale-float (float 5614309708875923 1.0d0) -55) - (scale-float (float 7879649848150358 1.0d0) -111) - (scale-float (float -5133702133285397 1.0d0) -165) - (scale-float (float 6633380945160774 1.0d0) -219)) - (%make-qd-d (scale-float (float 5723467800985178 1.0d0) -55) - (scale-float (float -5213481504208817 1.0d0) -110) - (scale-float (float -8683946243665639 1.0d0) -166) - (scale-float (float -4813600752545885 1.0d0) -220)) - (%make-qd-d (scale-float (float 5832572021635720 1.0d0) -55) - (scale-float (float 7691426989666512 1.0d0) -109) - (scale-float (float -5897567218587937 1.0d0) -163) - (scale-float (float 6426162084210735 1.0d0) -217)) - (%make-qd-d (scale-float (float 5941621343897074 1.0d0) -55) - (scale-float (float -7311303147276965 1.0d0) -113) - (scale-float (float 6212875260931578 1.0d0) -167) - (scale-float (float 5841094814764128 1.0d0) -222)) - (%make-qd-d (scale-float (float 6050614741355486 1.0d0) -55) - (scale-float (float 7046535347736856 1.0d0) -110) - (scale-float (float -7778307984467600 1.0d0) -164) - (scale-float (float -7808429293088315 1.0d0) -218)) - (%make-qd-d (scale-float (float 6159551188123590 1.0d0) -55) - (scale-float (float 5965947804179142 1.0d0) -109) - (scale-float (float -7914176807889465 1.0d0) -163) - (scale-float (float -8743204545259556 1.0d0) -219)) - (%make-qd-d (scale-float (float 6268429658850061 1.0d0) -55) - (scale-float (float 7548560474328400 1.0d0) -110) - (scale-float (float -7834123143654772 1.0d0) -165) - (scale-float (float -5643244224302487 1.0d0) -219)) - (%make-qd-d (scale-float (float 6377249128729266 1.0d0) -55) - (scale-float (float 8739842904414420 1.0d0) -110) - (scale-float (float 6557520883328920 1.0d0) -164) - (scale-float (float 6198578405040918 1.0d0) -220)) - (%make-qd-d (scale-float (float 6486008573510911 1.0d0) -55) - (scale-float (float 5172944262567044 1.0d0) -109) - (scale-float (float -8273960648700810 1.0d0) -163) - (scale-float (float 8265967084369073 1.0d0) -218)) - (%make-qd-d (scale-float (float 6594706969509681 1.0d0) -55) - (scale-float (float 5020296747686703 1.0d0) -109) - (scale-float (float -5238462653363294 1.0d0) -163) - (scale-float (float 4718474594983838 1.0d0) -218)) - (%make-qd-d (scale-float (float 6703343293614876 1.0d0) -55) - (scale-float (float -8155081811450095 1.0d0) -109) - (scale-float (float 8880533418464333 1.0d0) -163) - (scale-float (float -6482467806029927 1.0d0) -220)) - (%make-qd-d (scale-float (float 6811916523300038 1.0d0) -55) - (scale-float (float -4946244022635960 1.0d0) -109) - (scale-float (float -5237121426122221 1.0d0) -163) - (scale-float (float 8718098324302620 1.0d0) -217)) - (%make-qd-d (scale-float (float 6920425636632580 1.0d0) -55) - (scale-float (float 5626936751711242 1.0d0) -110) - (scale-float (float -5472825984215756 1.0d0) -164) - (scale-float (float 6651512109810514 1.0d0) -218)) - (%make-qd-d (scale-float (float 7028869612283403 1.0d0) -55) - (scale-float (float -5186506842934658 1.0d0) -109) - (scale-float (float 7231073992256617 1.0d0) -163) - (scale-float (float -7548842128799985 1.0d0) -217)) - (%make-qd-d (scale-float (float 7137247429536506 1.0d0) -55) - (scale-float (float -4785846924082858 1.0d0) -111) - (scale-float (float 6612549575000546 1.0d0) -165) - (scale-float (float 8882300801909735 1.0d0) -219)) - (%make-qd-d (scale-float (float 7245558068298598 1.0d0) -55) - (scale-float (float 7145919755147006 1.0d0) -109) - (scale-float (float -4574333719136121 1.0d0) -163) - (scale-float (float 8116579236098782 1.0d0) -221)) - (%make-qd-d (scale-float (float 7353800509108698 1.0d0) -55) - (scale-float (float 7910632724668908 1.0d0) -110) - (scale-float (float -6611929274882350 1.0d0) -164) - (scale-float (float 7768004576091902 1.0d0) -220)) - (%make-qd-d (scale-float (float 7461973733147729 1.0d0) -55) - (scale-float (float -6888466114708653 1.0d0) -109) - (scale-float (float 5251305190626995 1.0d0) -164) - (scale-float (float 5680012606429775 1.0d0) -218)) - (%make-qd-d (scale-float (float 7570076722248107 1.0d0) -55) - (scale-float (float 7503873979299470 1.0d0) -109) - (scale-float (float 7056820389775269 1.0d0) -163) - (scale-float (float 7020098326040376 1.0d0) -217)) - (%make-qd-d (scale-float (float 7678108458903330 1.0d0) -55) - (scale-float (float 7809132580424664 1.0d0) -109) - (scale-float (float -7983937846917205 1.0d0) -164) - (scale-float (float -5238765332718576 1.0d0) -218)) - (%make-qd-d (scale-float (float 7786067926277549 1.0d0) -55) - (scale-float (float -6562541456970122 1.0d0) -109) - (scale-float (float 8510563175036132 1.0d0) -163) - (scale-float (float -6181313461401740 1.0d0) -217)) - (%make-qd-d (scale-float (float 7893954108215139 1.0d0) -55) - (scale-float (float -7583622115760437 1.0d0) -114) - (scale-float (float -8739826341766039 1.0d0) -168) - (scale-float (float 8569299442299246 1.0d0) -224)) - (%make-qd-d (scale-float (float 8001765989250269 1.0d0) -55) - (scale-float (float -7875990267513186 1.0d0) -111) - (scale-float (float 6234618013881755 1.0d0) -166) - (scale-float (float 6777347195615505 1.0d0) -221)) - (%make-qd-d (scale-float (float 8109502554616454 1.0d0) -55) - (scale-float (float 5128307098824184 1.0d0) -110) - (scale-float (float 4543608696005937 1.0d0) -167) - (scale-float (float 7638129994812919 1.0d0) -223)) - (%make-qd-d (scale-float (float 8217162790256110 1.0d0) -55) - (scale-float (float 5345588865997323 1.0d0) -109) - (scale-float (float 8159479612637540 1.0d0) -163) - (scale-float (float -5402348902098945 1.0d0) -219)) - (%make-qd-d (scale-float (float 8324745682830097 1.0d0) -55) - (scale-float (float 6574607749416877 1.0d0) -109) - (scale-float (float -8109490796402671 1.0d0) -163) - (scale-float (float -6082280992156331 1.0d0) -217)) - (%make-qd-d (scale-float (float 8432250219727258 1.0d0) -55) - (scale-float (float -4538223398252166 1.0d0) -109) - (scale-float (float -6702216400949692 1.0d0) -163) - (scale-float (float 8946082027051995 1.0d0) -220)) - (%make-qd-d (scale-float (float 8539675389073947 1.0d0) -55) - (scale-float (float 5746889479488039 1.0d0) -109) - (scale-float (float 6355067832497967 1.0d0) -165) - (scale-float (float 8745994171732987 1.0d0) -219)) - (%make-qd-d (scale-float (float 8647020179743560 1.0d0) -55) - (scale-float (float -7877855974853474 1.0d0) -109) - (scale-float (float -6184796128853677 1.0d0) -164) - (scale-float (float -6716307004457317 1.0d0) -221)) - (%make-qd-d (scale-float (float 8754283581366043 1.0d0) -55) - (scale-float (float -5680003804930756 1.0d0) -109) - (scale-float (float -7684372211678467 1.0d0) -163) - (scale-float (float -8705668463298701 1.0d0) -219)) - (%make-qd-d (scale-float (float 8861464584337410 1.0d0) -55) - (scale-float (float -7223162559193390 1.0d0) -109) - (scale-float (float 5121803047874294 1.0d0) -163) - (scale-float (float 5147411879671042 1.0d0) -218)) - (%make-qd-d (scale-float (float 8968562179829241 1.0d0) -55) - (scale-float (float -5308048479279035 1.0d0) -109) - (scale-float (float 6508578347136807 1.0d0) -163) - (scale-float (float 8020683771279042 1.0d0) -217)) - (%make-qd-d (scale-float (float 4537787679899090 1.0d0) -54) - (scale-float (float -5708747378047162 1.0d0) -108) - (scale-float (float -6407036826384189 1.0d0) -162) - (scale-float (float 5919543467564908 1.0d0) -216)) - (%make-qd-d (scale-float (float 4591251558497710 1.0d0) -54) - (scale-float (float -5650174284497868 1.0d0) -115) - (scale-float (float -8990517484150757 1.0d0) -170) - (scale-float (float -8107597715031434 1.0d0) -224)) - (%make-qd-d (scale-float (float 4644672222488094 1.0d0) -54) - (scale-float (float 5997115408045016 1.0d0) -108) - (scale-float (float 7763885974670757 1.0d0) -164) - (scale-float (float -4679894517345222 1.0d0) -219)) - (%make-qd-d (scale-float (float 4698049169054608 1.0d0) -54) - (scale-float (float 5545557499125773 1.0d0) -110) - (scale-float (float 5311178975123782 1.0d0) -166) - (scale-float (float 5295664491197940 1.0d0) -220)) - (%make-qd-d (scale-float (float 4751381895793102 1.0d0) -54) - (scale-float (float -6113263535019274 1.0d0) -108) - (scale-float (float 8020796425904764 1.0d0) -162) - (scale-float (float -8716004022289625 1.0d0) -216)) - (%make-qd-d (scale-float (float 4804669900715639 1.0d0) -54) - (scale-float (float 6795815263120026 1.0d0) -108) - (scale-float (float -6608013933362003 1.0d0) -162) - (scale-float (float 8405700252907754 1.0d0) -218)) - (%make-qd-d (scale-float (float 4857912682255224 1.0d0) -54) - (scale-float (float 5116248407710562 1.0d0) -108) - (scale-float (float -8148882072162222 1.0d0) -163) - (scale-float (float -8520890580178720 1.0d0) -217)) - (%make-qd-d (scale-float (float 4911109739270519 1.0d0) -54) - (scale-float (float 5107738102425278 1.0d0) -109) - (scale-float (float 6190162227247694 1.0d0) -166) - (scale-float (float -4657820058623469 1.0d0) -220)) - (%make-qd-d (scale-float (float 4964260571050563 1.0d0) -54) - (scale-float (float 6269805211133874 1.0d0) -108) - (scale-float (float 8144711382265961 1.0d0) -162) - (scale-float (float 5736256866199006 1.0d0) -218)) - (%make-qd-d (scale-float (float 5017364677319486 1.0d0) -54) - (scale-float (float -6510019840528798 1.0d0) -109) - (scale-float (float 8487479632464686 1.0d0) -163) - (scale-float (float -8482708199224338 1.0d0) -219)) - (%make-qd-d (scale-float (float 5070421558241214 1.0d0) -54) - (scale-float (float -7997629714663984 1.0d0) -109) - (scale-float (float -4940945917580418 1.0d0) -165) - (scale-float (float 6330315470378748 1.0d0) -219)) - (%make-qd-d (scale-float (float 5123430714424177 1.0d0) -54) - (scale-float (float 7207319694891503 1.0d0) -108) - (scale-float (float -5367984184293639 1.0d0) -162) - (scale-float (float -5496551307550694 1.0d0) -216)) - (%make-qd-d (scale-float (float 5176391646926010 1.0d0) -54) - (scale-float (float 5017419446091570 1.0d0) -108) - (scale-float (float -7396832087454611 1.0d0) -163) - (scale-float (float -4840687577999527 1.0d0) -217)) - (%make-qd-d (scale-float (float 5229303857258246 1.0d0) -54) - (scale-float (float -6142480273924397 1.0d0) -108) - (scale-float (float 6736325962420316 1.0d0) -162) - (scale-float (float 7870899103225375 1.0d0) -216)) - (%make-qd-d (scale-float (float 5282166847391008 1.0d0) -54) - (scale-float (float 7264487630099164 1.0d0) -108) - (scale-float (float 7987097472370426 1.0d0) -162) - (scale-float (float -8941292693731426 1.0d0) -217)) - (%make-qd-d (scale-float (float 5334980119757703 1.0d0) -54) - (scale-float (float -6562004117740143 1.0d0) -108) - (scale-float (float -7412943256346969 1.0d0) -166) - (scale-float (float -4884902683994743 1.0d0) -220)) - (%make-qd-d (scale-float (float 5387743177259695 1.0d0) -54) - (scale-float (float 8671749280336977 1.0d0) -112) - (scale-float (float 8052630932330237 1.0d0) -166) - (scale-float (float 5382726735559265 1.0d0) -223)) - (%make-qd-d (scale-float (float 5440455523270994 1.0d0) -54) - (scale-float (float -5571226216357986 1.0d0) -108) - (scale-float (float 5456938947172397 1.0d0) -164) - (scale-float (float 6994870598847095 1.0d0) -219)) - (%make-qd-d (scale-float (float 5493116661642923 1.0d0) -54) - (scale-float (float -7460368030645572 1.0d0) -108) - (scale-float (float -6827621715323733 1.0d0) -165) - (scale-float (float 6362629589576016 1.0d0) -220)) - (%make-qd-d (scale-float (float 5545726096708791 1.0d0) -54) - (scale-float (float 8786044050481812 1.0d0) -108) - (scale-float (float 7347762739505304 1.0d0) -162) - (scale-float (float 7680616584349999 1.0d0) -216)) - (%make-qd-d (scale-float (float 5598283333288561 1.0d0) -54) - (scale-float (float 6778243811814134 1.0d0) -108) - (scale-float (float -7045745243982448 1.0d0) -164) - (scale-float (float 4676451795272765 1.0d0) -221)) - (%make-qd-d (scale-float (float 5650787876693505 1.0d0) -54) - (scale-float (float 4725135298405656 1.0d0) -108) - (scale-float (float 8550179043058735 1.0d0) -164) - (scale-float (float 4909349307819338 1.0d0) -218)) - (%make-qd-d (scale-float (float 5703239232730864 1.0d0) -54) - (scale-float (float 6956150123475237 1.0d0) -108) - (scale-float (float 7212901813329486 1.0d0) -162) - (scale-float (float 7153556903673412 1.0d0) -217)) - (%make-qd-d (scale-float (float 5755636907708500 1.0d0) -54) - (scale-float (float -4537276437495587 1.0d0) -108) - (scale-float (float 4777941193532901 1.0d0) -162) - (scale-float (float -8179721144625040 1.0d0) -216)) - (%make-qd-d (scale-float (float 5807980408439539 1.0d0) -54) - (scale-float (float -5259672094517845 1.0d0) -110) - (scale-float (float 8754582529967018 1.0d0) -164) - (scale-float (float 7408654934690508 1.0d0) -219)) - (%make-qd-d (scale-float (float 5860269242247018 1.0d0) -54) - (scale-float (float 5138507873462360 1.0d0) -109) - (scale-float (float -6320854003064805 1.0d0) -166) - (scale-float (float 7758282409924483 1.0d0) -221)) - (%make-qd-d (scale-float (float 5912502916968520 1.0d0) -54) - (scale-float (float -8662419418939044 1.0d0) -108) - (scale-float (float 4614185824928788 1.0d0) -162) - (scale-float (float 8601963191388429 1.0d0) -221)) - (%make-qd-d (scale-float (float 5964680940960804 1.0d0) -54) - (scale-float (float -8914351205645270 1.0d0) -108) - (scale-float (float -7834377139759957 1.0d0) -162) - (scale-float (float 6901300084898985 1.0d0) -216)) - (%make-qd-d (scale-float (float 6016802823104436 1.0d0) -54) - (scale-float (float 7333790512522496 1.0d0) -108) - (scale-float (float 4563571436080821 1.0d0) -162) - (scale-float (float 8605109854377494 1.0d0) -218)) - (%make-qd-d (scale-float (float 6068868072808413 1.0d0) -54) - (scale-float (float -8723253959652896 1.0d0) -114) - (scale-float (float -8733624133784357 1.0d0) -171) - (scale-float (float -6253293004427605 1.0d0) -225)) - (%make-qd-d (scale-float (float 6120876200014774 1.0d0) -54) - (scale-float (float 8571012628450813 1.0d0) -110) - (scale-float (float 5881087260125824 1.0d0) -165) - (scale-float (float 8616758768675350 1.0d0) -221)) - (%make-qd-d (scale-float (float 6172826715203219 1.0d0) -54) - (scale-float (float 6250720108433989 1.0d0) -108) - (scale-float (float -5422415971662036 1.0d0) -162) - (scale-float (float 8997881851302993 1.0d0) -216)) - (%make-qd-d (scale-float (float 6224719129395714 1.0d0) -54) - (scale-float (float 8843501730272727 1.0d0) -108) - (scale-float (float 8200563275489647 1.0d0) -163) - (scale-float (float -5971751274707875 1.0d0) -218)) - (%make-qd-d (scale-float (float 6276552954161094 1.0d0) -54) - (scale-float (float 4799554187051297 1.0d0) -110) - (scale-float (float 8308846534529580 1.0d0) -164) - (scale-float (float 8241934792467017 1.0d0) -218)) - (%make-qd-d (scale-float (float 6328327701619659 1.0d0) -54) - (scale-float (float -7357066700707823 1.0d0) -108) - (scale-float (float -7947864157743905 1.0d0) -165) - (scale-float (float 7675632966777644 1.0d0) -219)) - (%make-qd-d (scale-float (float 6380042884447767 1.0d0) -54) - (scale-float (float -5501161709946803 1.0d0) -108) - (scale-float (float 7466713522323834 1.0d0) -162) - (scale-float (float -7098845764308001 1.0d0) -217)) - (%make-qd-d (scale-float (float 6431698015882422 1.0d0) -54) - (scale-float (float -5007263247392991 1.0d0) -113) - (scale-float (float -7795754867074493 1.0d0) -167) - (scale-float (float -4821191128464752 1.0d0) -222)) - (%make-qd-d (scale-float (float 6483292609725855 1.0d0) -54) - (scale-float (float -5712074047376477 1.0d0) -108) - (scale-float (float 7819107111345661 1.0d0) -162) - (scale-float (float 8368937774054671 1.0d0) -216)) - (%make-qd-d (scale-float (float 6534826180350098 1.0d0) -54) - (scale-float (float -5949616244538138 1.0d0) -109) - (scale-float (float -8689252050077247 1.0d0) -163) - (scale-float (float -8509057300264997 1.0d0) -218)) - (%make-qd-d (scale-float (float 6586298242701558 1.0d0) -54) - (scale-float (float 5263009052367660 1.0d0) -108) - (scale-float (float 6598370143038445 1.0d0) -162) - (scale-float (float -7564085607225777 1.0d0) -216)) - (%make-qd-d (scale-float (float 6637708312305582 1.0d0) -54) - (scale-float (float 6791291154341829 1.0d0) -109) - (scale-float (float 7690532825767619 1.0d0) -168) - (scale-float (float 7037800597631649 1.0d0) -222)) - (%make-qd-d (scale-float (float 6689055905271015 1.0d0) -54) - (scale-float (float 7217134714480857 1.0d0) -114) - (scale-float (float -8997551068716333 1.0d0) -173) - (scale-float (float -6072128060810686 1.0d0) -227)) - (%make-qd-d (scale-float (float 6740340538294756 1.0d0) -54) - (scale-float (float 5199702616094614 1.0d0) -109) - (scale-float (float 6246995808738228 1.0d0) -163) - (scale-float (float 8721019383942846 1.0d0) -219)) - (%make-qd-d (scale-float (float 6791561728666308 1.0d0) -54) - (scale-float (float -7075880958543542 1.0d0) -111) - (scale-float (float 5953253779194679 1.0d0) -166) - (scale-float (float 5597468420642533 1.0d0) -222)) - (%make-qd-d (scale-float (float 6842718994272319 1.0d0) -54) - (scale-float (float 6435287673892967 1.0d0) -109) - (scale-float (float 5701190408884571 1.0d0) -163) - (scale-float (float 5908054947863245 1.0d0) -218)) - (%make-qd-d (scale-float (float 6893811853601123 1.0d0) -54) - (scale-float (float -6523324437210640 1.0d0) -109) - (scale-float (float -4818352562283701 1.0d0) -164) - (scale-float (float -5357330931060650 1.0d0) -218)) - (%make-qd-d (scale-float (float 6944839825747268 1.0d0) -54) - (scale-float (float 4925434022374747 1.0d0) -108) - (scale-float (float 8300294859713104 1.0d0) -162) - (scale-float (float 6208703759312379 1.0d0) -216)) - (%make-qd-d (scale-float (float 6995802430416048 1.0d0) -54) - (scale-float (float -6525270186811934 1.0d0) -109) - (scale-float (float 8879265420406843 1.0d0) -163) - (scale-float (float -6733241213708231 1.0d0) -217)) - (%make-qd-d (scale-float (float 7046699187928017 1.0d0) -54) - (scale-float (float 5840616084808535 1.0d0) -108) - (scale-float (float -6204648763678812 1.0d0) -162) - (scale-float (float -5748171176195803 1.0d0) -216)) - (%make-qd-d (scale-float (float 7097529619223511 1.0d0) -54) - (scale-float (float 6337798132651441 1.0d0) -109) - (scale-float (float -4965270455978562 1.0d0) -164) - (scale-float (float -4678379495118649 1.0d0) -219)) - (%make-qd-d (scale-float (float 7148293245867151 1.0d0) -54) - (scale-float (float 6667254347281325 1.0d0) -108) - (scale-float (float 7172706150755633 1.0d0) -163) - (scale-float (float 4521599313713307 1.0d0) -218)) - (%make-qd-d (scale-float (float 7198989590052351 1.0d0) -54) - (scale-float (float -4889033451117653 1.0d0) -108) - (scale-float (float -5825736040848376 1.0d0) -162) - (scale-float (float -6058018356871033 1.0d0) -216)) - (%make-qd-d (scale-float (float 7249618174605810 1.0d0) -54) - (scale-float (float 7076204518174404 1.0d0) -109) - (scale-float (float 8651917601296873 1.0d0) -163) - (scale-float (float 4790821447612866 1.0d0) -217)) - (%make-qd-d (scale-float (float 7300178522992010 1.0d0) -54) - (scale-float (float 6432697761913771 1.0d0) -109) - (scale-float (float -5885542131804050 1.0d0) -164) - (scale-float (float 5002309445714852 1.0d0) -225)) - (%make-qd-d (scale-float (float 7350670159317696 1.0d0) -54) - (scale-float (float -4543650155952635 1.0d0) -109) - (scale-float (float -6598133798027798 1.0d0) -165) - (scale-float (float 8182638753990352 1.0d0) -225)) - (%make-qd-d (scale-float (float 7401092608336357 1.0d0) -54) - (scale-float (float -7859785885819633 1.0d0) -108) - (scale-float (float -6675498128747218 1.0d0) -162) - (scale-float (float -8844902686085099 1.0d0) -218)) - (%make-qd-d (scale-float (float 7451445395452699 1.0d0) -54) - (scale-float (float -6746081919340579 1.0d0) -109) - (scale-float (float -5369758667471624 1.0d0) -165) - (scale-float (float -6834701290217458 1.0d0) -221)) - (%make-qd-d (scale-float (float 7501728046727114 1.0d0) -54) - (scale-float (float -8267298509278455 1.0d0) -108) - (scale-float (float -8063438575398244 1.0d0) -164) - (scale-float (float 6048179215733349 1.0d0) -219)) - (%make-qd-d (scale-float (float 7551940088880137 1.0d0) -54) - (scale-float (float -5482087221447130 1.0d0) -110) - (scale-float (float -8430648353819219 1.0d0) -164) - (scale-float (float 8658592177651744 1.0d0) -218)) - (%make-qd-d (scale-float (float 7602081049296905 1.0d0) -54) - (scale-float (float 5652239210598920 1.0d0) -110) - (scale-float (float 7420759427593921 1.0d0) -164) - (scale-float (float -5717719400948822 1.0d0) -218)) - (%make-qd-d (scale-float (float 7652150456031602 1.0d0) -54) - (scale-float (float 8912029836648224 1.0d0) -108) - (scale-float (float -5442965062816235 1.0d0) -163) - (scale-float (float 5557269064076599 1.0d0) -219)) - (%make-qd-d (scale-float (float 7702147837811904 1.0d0) -54) - (scale-float (float 6108211414778243 1.0d0) -109) - (scale-float (float -8159473578389260 1.0d0) -165) - (scale-float (float -7432349312262155 1.0d0) -221)) - (%make-qd-d (scale-float (float 7752072724043411 1.0d0) -54) - (scale-float (float 7223681421721881 1.0d0) -108) - (scale-float (float 5025963318844636 1.0d0) -162) - (scale-float (float -6196764359275049 1.0d0) -217)) - (%make-qd-d (scale-float (float 7801924644814081 1.0d0) -54) - (scale-float (float 7284976384109012 1.0d0) -109) - (scale-float (float 4978342074042849 1.0d0) -166) - (scale-float (float -8927853027064514 1.0d0) -220)) - (%make-qd-d (scale-float (float 7851703130898649 1.0d0) -54) - (scale-float (float 5267103399173910 1.0d0) -108) - (scale-float (float -6021054605042187 1.0d0) -166) - (scale-float (float 6370660996304786 1.0d0) -220)) - (%make-qd-d (scale-float (float 7901407713763047 1.0d0) -54) - (scale-float (float -6777023449092614 1.0d0) -108) - (scale-float (float -6668929501654487 1.0d0) -165) - (scale-float (float 8608953101571494 1.0d0) -223)) - (%make-qd-d (scale-float (float 7951037925568809 1.0d0) -54) - (scale-float (float 7256489245666525 1.0d0) -108) - (scale-float (float 5548921664669512 1.0d0) -165) - (scale-float (float -6417647354800337 1.0d0) -220)) - (%make-qd-d (scale-float (float 8000593299177483 1.0d0) -54) - (scale-float (float -7859474098720372 1.0d0) -108) - (scale-float (float 5192476996492227 1.0d0) -164) - (scale-float (float 7762192920165123 1.0d0) -219)) - (%make-qd-d (scale-float (float 8050073368155017 1.0d0) -54) - (scale-float (float -6237939819127611 1.0d0) -108) - (scale-float (float -8310809855799018 1.0d0) -167) - (scale-float (float -4607997215797586 1.0d0) -221)) - (%make-qd-d (scale-float (float 8099477666776158 1.0d0) -54) - (scale-float (float 6338746169655183 1.0d0) -110) - (scale-float (float 6349016711906624 1.0d0) -164) - (scale-float (float -6594231578666108 1.0d0) -218)) - (%make-qd-d (scale-float (float 8148805730028833 1.0d0) -54) - (scale-float (float -4811953802956820 1.0d0) -108) - (scale-float (float -8996711906404359 1.0d0) -163) - (scale-float (float 7437936247641814 1.0d0) -218)) - (%make-qd-d (scale-float (float 8198057093618523 1.0d0) -54) - (scale-float (float -8035018871140280 1.0d0) -109) - (scale-float (float 6464477674883353 1.0d0) -163) - (scale-float (float -7193445626531301 1.0d0) -219)) - (%make-qd-d (scale-float (float 8247231293972637 1.0d0) -54) - (scale-float (float -5487884902609878 1.0d0) -109) - (scale-float (float -7456042848390653 1.0d0) -163) - (scale-float (float 6693281418534385 1.0d0) -217)) - (%make-qd-d (scale-float (float 8296327868244873 1.0d0) -54) - (scale-float (float 5999951330674037 1.0d0) -108) - (scale-float (float -6154519112303483 1.0d0) -162) - (scale-float (float 7000233030992444 1.0d0) -217)) - (%make-qd-d (scale-float (float 8345346354319577 1.0d0) -54) - (scale-float (float -4771391396366549 1.0d0) -109) - (scale-float (float 7854156202477445 1.0d0) -163) - (scale-float (float 8339496630900022 1.0d0) -217)) - (%make-qd-d (scale-float (float 8394286290816088 1.0d0) -54) - (scale-float (float -8573403169330254 1.0d0) -111) - (scale-float (float 6529695060451631 1.0d0) -167) - (scale-float (float -6393362274584590 1.0d0) -221)) - (%make-qd-d (scale-float (float 8443147217093086 1.0d0) -54) - (scale-float (float -7447457963335574 1.0d0) -108) - (scale-float (float -6643844760557667 1.0d0) -162) - (scale-float (float 7249753184337927 1.0d0) -216)) - (%make-qd-d (scale-float (float 8491928673252923 1.0d0) -54) - (scale-float (float 8459131853498433 1.0d0) -110) - (scale-float (float 6888360499664938 1.0d0) -164) - (scale-float (float -5236945859638041 1.0d0) -219)) - (%make-qd-d (scale-float (float 8540630200145957 1.0d0) -54) - (scale-float (float -5286511185567367 1.0d0) -109) - (scale-float (float -8135173764139151 1.0d0) -164) - (scale-float (float -4921009164459924 1.0d0) -218)) - (%make-qd-d (scale-float (float 8589251339374868 1.0d0) -54) - (scale-float (float -6680873419295655 1.0d0) -109) - (scale-float (float -8554354988263275 1.0d0) -164) - (scale-float (float 7339900865625287 1.0d0) -218)) - (%make-qd-d (scale-float (float 8637791633298976 1.0d0) -54) - (scale-float (float 5977631648923170 1.0d0) -108) - (scale-float (float -7623682798863608 1.0d0) -162) - (scale-float (float 4624107632594484 1.0d0) -218)) - (%make-qd-d (scale-float (float 8686250625038550 1.0d0) -54) - (scale-float (float -8392536875785958 1.0d0) -108) - (scale-float (float -4707724355155067 1.0d0) -169) - (scale-float (float 5500147221680155 1.0d0) -223)) - (%make-qd-d (scale-float (float 8734627858479102 1.0d0) -54) - (scale-float (float -5852368960712652 1.0d0) -108) - (scale-float (float -8241530944970066 1.0d0) -164) - (scale-float (float -7219502451510509 1.0d0) -218)) - (%make-qd-d (scale-float (float 8782922878275687 1.0d0) -54) - (scale-float (float 4618253045998479 1.0d0) -108) - (scale-float (float -8548139780246601 1.0d0) -165) - (scale-float (float -5125184194605572 1.0d0) -221)) - (%make-qd-d (scale-float (float 8831135229857187 1.0d0) -54) - (scale-float (float -6684581881277189 1.0d0) -110) - (scale-float (float -8629413596046384 1.0d0) -164) - (scale-float (float 6391588371080480 1.0d0) -218)) - (%make-qd-d (scale-float (float 8879264459430586 1.0d0) -54) - (scale-float (float -5326170718959288 1.0d0) -112) - (scale-float (float 6502706495111478 1.0d0) -166) - (scale-float (float -8175927755321089 1.0d0) -221)) - (%make-qd-d (scale-float (float 8927310113985246 1.0d0) -54) - (scale-float (float -6121928410302052 1.0d0) -109) - (scale-float (float 5839069660685259 1.0d0) -167) - (scale-float (float 5662811753865077 1.0d0) -223)) - (%make-qd-d (scale-float (float 8975271741297168 1.0d0) -54) - (scale-float (float -5233310756427739 1.0d0) -108) - (scale-float (float -8823317657688998 1.0d0) -162) - (scale-float (float 4654507950124385 1.0d0) -218)) - (%make-qd-d (scale-float (float 4511574444966625 1.0d0) -53) - (scale-float (float -6426118857297543 1.0d0) -107) - (scale-float (float -6491521190013141 1.0d0) -161) - (scale-float (float 7186617536341604 1.0d0) -215)) - (%make-qd-d (scale-float (float 4535470554627767 1.0d0) -53) - (scale-float (float -5429619939489420 1.0d0) -108) - (scale-float (float -5927987229493283 1.0d0) -162) - (scale-float (float 8625723713246926 1.0d0) -217)) - (%make-qd-d (scale-float (float 4559323974712726 1.0d0) -53) - (scale-float (float -7840626733224058 1.0d0) -107) - (scale-float (float 5428491030047448 1.0d0) -162) - (scale-float (float 8993628089295535 1.0d0) -217)) - (%make-qd-d (scale-float (float 4583134480704026 1.0d0) -53) - (scale-float (float 7761991876870000 1.0d0) -107) - (scale-float (float -6271024629654463 1.0d0) -162) - (scale-float (float 5752025628139535 1.0d0) -217)) - (%make-qd-d (scale-float (float 4606901848488119 1.0d0) -53) - (scale-float (float -8494598453042205 1.0d0) -109) - (scale-float (float 4785427941994550 1.0d0) -163) - (scale-float (float -7993664237807223 1.0d0) -217)) - (%make-qd-d (scale-float (float 4630625854357486 1.0d0) -53) - (scale-float (float -7417310864687212 1.0d0) -107) - (scale-float (float 4527229152853963 1.0d0) -161) - (scale-float (float -5445479406340099 1.0d0) -217)) - (%make-qd-d (scale-float (float 4654306275012748 1.0d0) -53) - (scale-float (float 5388216318289433 1.0d0) -109) - (scale-float (float 6810717761619515 1.0d0) -163) - (scale-float (float -4804851653177209 1.0d0) -217)) - (%make-qd-d (scale-float (float 4677942887564769 1.0d0) -53) - (scale-float (float -8978008309930964 1.0d0) -107) - (scale-float (float -5916790110693661 1.0d0) -167) - (scale-float (float -8118978520081596 1.0d0) -221)) - (%make-qd-d (scale-float (float 4701535469536748 1.0d0) -53) - (scale-float (float -7554109741206949 1.0d0) -107) - (scale-float (float 5422636526155651 1.0d0) -163) - (scale-float (float -5639775327748784 1.0d0) -220)) - (%make-qd-d (scale-float (float 4725083798866319 1.0d0) -53) - (scale-float (float -6988323544295858 1.0d0) -107) - (scale-float (float -4912183619887695 1.0d0) -163) - (scale-float (float -6359206876678376 1.0d0) -218)) - (%make-qd-d (scale-float (float 4748587653907638 1.0d0) -53) - (scale-float (float -6847825579591004 1.0d0) -107) - (scale-float (float 5003358265465959 1.0d0) -162) - (scale-float (float 8422280950230119 1.0d0) -216)) - (%make-qd-d (scale-float (float 4772046813433470 1.0d0) -53) - (scale-float (float -7799453234034926 1.0d0) -107) - (scale-float (float 6817580222556671 1.0d0) -163) - (scale-float (float -7560644201550137 1.0d0) -219)) - (%make-qd-d (scale-float (float 4795461056637271 1.0d0) -53) - (scale-float (float -6655925208907997 1.0d0) -107) - (scale-float (float -5623857240635796 1.0d0) -161) - (scale-float (float -8070601107899198 1.0d0) -215)) - (%make-qd-d (scale-float (float 4818830163135267 1.0d0) -53) - (scale-float (float -8710586291184881 1.0d0) -107) - (scale-float (float -8126282278485839 1.0d0) -162) - (scale-float (float 5719317781414307 1.0d0) -217)) - (%make-qd-d (scale-float (float 4842153912968527 1.0d0) -53) - (scale-float (float -7339754703408720 1.0d0) -108) - (scale-float (float -6990336495915397 1.0d0) -163) - (scale-float (float 5257934322964996 1.0d0) -220)) - (%make-qd-d (scale-float (float 4865432086605035 1.0d0) -53) - (scale-float (float 8785511657898515 1.0d0) -108) - (scale-float (float 6839125971928921 1.0d0) -162) - (scale-float (float -6223394966801216 1.0d0) -216)) - (%make-qd-d (scale-float (float 4888664464941756 1.0d0) -53) - (scale-float (float 5564928859020974 1.0d0) -108) - (scale-float (float -7907253462425933 1.0d0) -162) - (scale-float (float 5236591704896374 1.0d0) -216)) - (%make-qd-d (scale-float (float 4911850829306697 1.0d0) -53) - (scale-float (float -6736651049305461 1.0d0) -107) - (scale-float (float -8955456639116160 1.0d0) -162) - (scale-float (float 6701012809879390 1.0d0) -216)) - (%make-qd-d (scale-float (float 4934990961460965 1.0d0) -53) - (scale-float (float -7809824017498950 1.0d0) -108) - (scale-float (float -5333685159010237 1.0d0) -170) - (scale-float (float -7013163948693077 1.0d0) -224)) - (%make-qd-d (scale-float (float 4958084643600824 1.0d0) -53) - (scale-float (float -5407770883530058 1.0d0) -109) - (scale-float (float -5391994932415003 1.0d0) -164) - (scale-float (float 8910660424091806 1.0d0) -218)) - (%make-qd-d (scale-float (float 4981131658359743 1.0d0) -53) - (scale-float (float -7636170899049036 1.0d0) -107) - (scale-float (float -6206770363233629 1.0d0) -162) - (scale-float (float -6822684679023966 1.0d0) -218)) - (%make-qd-d (scale-float (float 5004131788810440 1.0d0) -53) - (scale-float (float 7641456135071232 1.0d0) -107) - (scale-float (float -6033230867222893 1.0d0) -161) - (scale-float (float 6471526251842736 1.0d0) -215)) - (%make-qd-d (scale-float (float 5027084818466930 1.0d0) -53) - (scale-float (float 8749783685054072 1.0d0) -109) - (scale-float (float -6432564900081691 1.0d0) -163) - (scale-float (float -4946481004218511 1.0d0) -217)) - (%make-qd-d (scale-float (float 5049990531286555 1.0d0) -53) - (scale-float (float -4800045970584779 1.0d0) -109) - (scale-float (float 4639463359548121 1.0d0) -163) - (scale-float (float 6739134100775357 1.0d0) -217)) - (%make-qd-d (scale-float (float 5072848711672022 1.0d0) -53) - (scale-float (float 7735151275984803 1.0d0) -108) - (scale-float (float 6319202510957152 1.0d0) -165) - (scale-float (float 7852194967309185 1.0d0) -219)) - (%make-qd-d (scale-float (float 5095659144473433 1.0d0) -53) - (scale-float (float -5532405218054066 1.0d0) -107) - (scale-float (float -4990528183184909 1.0d0) -161) - (scale-float (float 4694142170446455 1.0d0) -215)) - (%make-qd-d (scale-float (float 5118421614990306 1.0d0) -53) - (scale-float (float -8264785570084562 1.0d0) -107) - (scale-float (float -4756999690706873 1.0d0) -161) - (scale-float (float 8271914155363375 1.0d0) -219)) - (%make-qd-d (scale-float (float 5141135908973599 1.0d0) -53) - (scale-float (float 7972820976421517 1.0d0) -108) - (scale-float (float -7508892149590212 1.0d0) -162) - (scale-float (float -7598338450058821 1.0d0) -218)) - (%make-qd-d (scale-float (float 5163801812627728 1.0d0) -53) - (scale-float (float 5528278164889757 1.0d0) -109) - (scale-float (float -7534708412684668 1.0d0) -163) - (scale-float (float 4748764085926481 1.0d0) -217)) - (%make-qd-d (scale-float (float 5186419112612575 1.0d0) -53) - (scale-float (float -6151167318128396 1.0d0) -107) - (scale-float (float -8018890614716932 1.0d0) -161) - (scale-float (float 5861072145574034 1.0d0) -215)) - (%make-qd-d (scale-float (float 5208987596045498 1.0d0) -53) - (scale-float (float -8514617700931210 1.0d0) -108) - (scale-float (float 7996782571413148 1.0d0) -162) - (scale-float (float -6615677919703496 1.0d0) -217)) - (%make-qd-d (scale-float (float 5231507050503336 1.0d0) -53) - (scale-float (float 6031287197379932 1.0d0) -108) - (scale-float (float 6471258723704346 1.0d0) -164) - (scale-float (float 8258737189713217 1.0d0) -218)) - (%make-qd-d (scale-float (float 5253977264024408 1.0d0) -53) - (scale-float (float 8961021967501223 1.0d0) -111) - (scale-float (float 8449105812948238 1.0d0) -165) - (scale-float (float -5388110305851105 1.0d0) -219)) - (%make-qd-d (scale-float (float 5276398025110506 1.0d0) -53) - (scale-float (float -4865896352247366 1.0d0) -110) - (scale-float (float 6539437345050652 1.0d0) -164) - (scale-float (float -6050564890654524 1.0d0) -219)) - (%make-qd-d (scale-float (float 5298769122728888 1.0d0) -53) - (scale-float (float -4752925789560358 1.0d0) -107) - (scale-float (float -6940658006329329 1.0d0) -161) - (scale-float (float -4874539996486145 1.0d0) -218)) - (%make-qd-d (scale-float (float 5321090346314263 1.0d0) -53) - (scale-float (float -7628390168680570 1.0d0) -107) - (scale-float (float 7251508591837652 1.0d0) -161) - (scale-float (float 5307279358527743 1.0d0) -218)) - (%make-qd-d (scale-float (float 5343361485770773 1.0d0) -53) - (scale-float (float 8367594692216948 1.0d0) -109) - (scale-float (float 6203590959579987 1.0d0) -163) - (scale-float (float 8665448091350130 1.0d0) -217)) - (%make-qd-d (scale-float (float 5365582331473973 1.0d0) -53) - (scale-float (float -8722177288784495 1.0d0) -109) - (scale-float (float -6349014528983703 1.0d0) -166) - (scale-float (float 8570508217536058 1.0d0) -220)) - (%make-qd-d (scale-float (float 5387752674272799 1.0d0) -53) - (scale-float (float 6295965926759422 1.0d0) -107) - (scale-float (float -7064411274953418 1.0d0) -162) - (scale-float (float -8521156802129240 1.0d0) -217)) - (%make-qd-d (scale-float (float 5409872305491543 1.0d0) -53) - (scale-float (float -7528538090890981 1.0d0) -107) - (scale-float (float -4873667464989738 1.0d0) -161) - (scale-float (float 5474430362703076 1.0d0) -216)) - (%make-qd-d (scale-float (float 5431941016931809 1.0d0) -53) - (scale-float (float 6056061026085675 1.0d0) -107) - (scale-float (float 8117741563781443 1.0d0) -161) - (scale-float (float -8527257181106372 1.0d0) -215)) - (%make-qd-d (scale-float (float 5453958600874483 1.0d0) -53) - (scale-float (float -5062923073902567 1.0d0) -107) - (scale-float (float 7460245243959813 1.0d0) -162) - (scale-float (float -8605987486451288 1.0d0) -217)) - (%make-qd-d (scale-float (float 5475924850081677 1.0d0) -53) - (scale-float (float 5705171231787006 1.0d0) -107) - (scale-float (float -5973740103346300 1.0d0) -164) - (scale-float (float -5933426595796939 1.0d0) -218)) - (%make-qd-d (scale-float (float 5497839557798690 1.0d0) -53) - (scale-float (float -7322198333974194 1.0d0) -108) - (scale-float (float 7708295787222922 1.0d0) -162) - (scale-float (float 8668959416020342 1.0d0) -216)) - (%make-qd-d (scale-float (float 5519702517755945 1.0d0) -53) - (scale-float (float -5541930106652097 1.0d0) -110) - (scale-float (float 6042424392306259 1.0d0) -164) - (scale-float (float 7112544487152837 1.0d0) -218)) - (%make-qd-d (scale-float (float 5541513524170937 1.0d0) -53) - (scale-float (float 8512581754243428 1.0d0) -108) - (scale-float (float -8240160558210729 1.0d0) -162) - (scale-float (float 7588665830274554 1.0d0) -216)) - (%make-qd-d (scale-float (float 5563272371750168 1.0d0) -53) - (scale-float (float -7703842410206491 1.0d0) -107) - (scale-float (float -8533597952376245 1.0d0) -163) - (scale-float (float -6350821420004830 1.0d0) -217)) - (%make-qd-d (scale-float (float 5584978855691076 1.0d0) -53) - (scale-float (float -4540568005736910 1.0d0) -107) - (scale-float (float 6810569017348767 1.0d0) -162) - (scale-float (float -5743636460441176 1.0d0) -216)) - (%make-qd-d (scale-float (float 5606632771683968 1.0d0) -53) - (scale-float (float 6872099470811347 1.0d0) -110) - (scale-float (float -4535230040345874 1.0d0) -166) - (scale-float (float 6845954161715752 1.0d0) -225)) - (%make-qd-d (scale-float (float 5628233915913940 1.0d0) -53) - (scale-float (float 5463569387507809 1.0d0) -107) - (scale-float (float -8139410524833584 1.0d0) -161) - (scale-float (float 5908305814053563 1.0d0) -216)) - (%make-qd-d (scale-float (float 5649782085062796 1.0d0) -53) - (scale-float (float 4991677084184053 1.0d0) -107) - (scale-float (float 6329805746482172 1.0d0) -164) - (scale-float (float -4706296920171159 1.0d0) -218)) - (%make-qd-d (scale-float (float 5671277076310961 1.0d0) -53) - (scale-float (float 6671344369483978 1.0d0) -107) - (scale-float (float -5602658804200812 1.0d0) -161) - (scale-float (float 5854533570742313 1.0d0) -215)) - (%make-qd-d (scale-float (float 5692718687339392 1.0d0) -53) - (scale-float (float -6517134490911270 1.0d0) -107) - (scale-float (float -8442644072947353 1.0d0) -163) - (scale-float (float 7967700612201239 1.0d0) -217)) - (%make-qd-d (scale-float (float 5714106716331478 1.0d0) -53) - (scale-float (float 6763552043812531 1.0d0) -109) - (scale-float (float 4814134823321695 1.0d0) -163) - (scale-float (float -4874409913813393 1.0d0) -221)) - (%make-qd-d (scale-float (float 5735440961974946 1.0d0) -53) - (scale-float (float 5098032122654983 1.0d0) -107) - (scale-float (float -6633387170173303 1.0d0) -161) - (scale-float (float -8437401866493262 1.0d0) -215)) - (%make-qd-d (scale-float (float 5756721223463751 1.0d0) -53) - (scale-float (float 8058961560658971 1.0d0) -109) - (scale-float (float -7260204596373573 1.0d0) -163) - (scale-float (float 5847373583723548 1.0d0) -217)) - (%make-qd-d (scale-float (float 5777947300499967 1.0d0) -53) - (scale-float (float -6482805255133693 1.0d0) -109) - (scale-float (float 4907047913048716 1.0d0) -163) - (scale-float (float 4800601318416331 1.0d0) -219)) - (%make-qd-d (scale-float (float 5799118993295673 1.0d0) -53) - (scale-float (float -5206056249695124 1.0d0) -107) - (scale-float (float -7363227589940729 1.0d0) -162) - (scale-float (float -8468347824445839 1.0d0) -217)) - (%make-qd-d (scale-float (float 5820236102574833 1.0d0) -53) - (scale-float (float -4828209332879607 1.0d0) -107) - (scale-float (float -6006988076989561 1.0d0) -162) - (scale-float (float 6811807852310658 1.0d0) -219)) - (%make-qd-d (scale-float (float 5841298429575172 1.0d0) -53) - (scale-float (float 5175456982428321 1.0d0) -110) - (scale-float (float 4538462653543703 1.0d0) -164) - (scale-float (float -8728016611215022 1.0d0) -220)) - (%make-qd-d (scale-float (float 5862305776050047 1.0d0) -53) - (scale-float (float 6444073748996113 1.0d0) -107) - (scale-float (float 6823119024662590 1.0d0) -164) - (scale-float (float 6426684369717617 1.0d0) -220)) - (%make-qd-d (scale-float (float 5883257944270313 1.0d0) -53) - (scale-float (float 5561965163229991 1.0d0) -109) - (scale-float (float -8086818543630428 1.0d0) -163) - (scale-float (float 5028398904287973 1.0d0) -217)) - (%make-qd-d (scale-float (float 5904154737026182 1.0d0) -53) - (scale-float (float 5782715275133621 1.0d0) -107) - (scale-float (float 7421719155960077 1.0d0) -162) - (scale-float (float 4632156185190014 1.0d0) -216)) - (%make-qd-d (scale-float (float 5924995957629083 1.0d0) -53) - (scale-float (float 6354379320602223 1.0d0) -108) - (scale-float (float -6982629383914688 1.0d0) -162) - (scale-float (float 6014680402693896 1.0d0) -217)) - (%make-qd-d (scale-float (float 5945781409913510 1.0d0) -53) - (scale-float (float -5798779723014377 1.0d0) -115) - (scale-float (float 4603157000630414 1.0d0) -169) - (scale-float (float 7213200979097056 1.0d0) -223)) - (%make-qd-d (scale-float (float 5966510898238870 1.0d0) -53) - (scale-float (float -7339152233857623 1.0d0) -108) - (scale-float (float 5866707295710201 1.0d0) -163) - (scale-float (float 6142346235706265 1.0d0) -217)) - (%make-qd-d (scale-float (float 5987184227491324 1.0d0) -53) - (scale-float (float -5878295590335062 1.0d0) -107) - (scale-float (float -5296945800600359 1.0d0) -162) - (scale-float (float 6511887897632255 1.0d0) -217)) - (%make-qd-d (scale-float (float 6007801203085623 1.0d0) -53) - (scale-float (float 5725215547860703 1.0d0) -107) - (scale-float (float -6069357457640343 1.0d0) -162) - (scale-float (float 7773390546671458 1.0d0) -216)) - (%make-qd-d (scale-float (float 6028361630966943 1.0d0) -53) - (scale-float (float -8858164301443705 1.0d0) -107) - (scale-float (float -7360418845574603 1.0d0) -161) - (scale-float (float -8881973385408916 1.0d0) -215)) - (%make-qd-d (scale-float (float 6048865317612704 1.0d0) -53) - (scale-float (float -6569721984711602 1.0d0) -107) - (scale-float (float 7481914584676442 1.0d0) -164) - (scale-float (float -5916197970128717 1.0d0) -218)) - (%make-qd-d (scale-float (float 6069312070034399 1.0d0) -53) - (scale-float (float 7493750390382232 1.0d0) -108) - (scale-float (float 6714493630887683 1.0d0) -163) - (scale-float (float 4735122177247567 1.0d0) -218)) - (%make-qd-d (scale-float (float 6089701695779408 1.0d0) -53) - (scale-float (float 6045278015665200 1.0d0) -107) - (scale-float (float 4986473437314348 1.0d0) -161) - (scale-float (float 5124830363027070 1.0d0) -215)) - (%make-qd-d (scale-float (float 6110034002932808 1.0d0) -53) - (scale-float (float 5939368762867376 1.0d0) -108) - (scale-float (float 5567834601844250 1.0d0) -162) - (scale-float (float 5300167663866890 1.0d0) -216)) - (%make-qd-d (scale-float (float 6130308800119180 1.0d0) -53) - (scale-float (float 4620055988650794 1.0d0) -107) - (scale-float (float 4832520168769970 1.0d0) -163) - (scale-float (float 8968190560224699 1.0d0) -217)) - (%make-qd-d (scale-float (float 6150525896504412 1.0d0) -53) - (scale-float (float -8410260520695715 1.0d0) -109) - (scale-float (float 8554993117360727 1.0d0) -165) - (scale-float (float 5819339724088257 1.0d0) -220)) - (%make-qd-d (scale-float (float 6170685101797492 1.0d0) -53) - (scale-float (float 8420651303499559 1.0d0) -108) - (scale-float (float -4970902812289148 1.0d0) -162) - (scale-float (float -7326795827672023 1.0d0) -216)) - (%make-qd-d (scale-float (float 6190786226252304 1.0d0) -53) - (scale-float (float -8949598425759774 1.0d0) -107) - (scale-float (float 6954695760200578 1.0d0) -162) - (scale-float (float -6614108672187788 1.0d0) -219)) - (%make-qd-d (scale-float (float 6210829080669407 1.0d0) -53) - (scale-float (float -5156380214241847 1.0d0) -108) - (scale-float (float 5334034121559607 1.0d0) -162) - (scale-float (float 8070176566193680 1.0d0) -217)) - (%make-qd-d (scale-float (float 6230813476397823 1.0d0) -53) - (scale-float (float 8893780947316055 1.0d0) -108) - (scale-float (float 7767301829960617 1.0d0) -162) - (scale-float (float 7179345590973681 1.0d0) -222)) - (%make-qd-d (scale-float (float 6250739225336809 1.0d0) -53) - (scale-float (float 4825271369095292 1.0d0) -109) - (scale-float (float 8776203731192851 1.0d0) -163) - (scale-float (float -6709656828176138 1.0d0) -218)) - (%make-qd-d (scale-float (float 6270606139937627 1.0d0) -53) - (scale-float (float -6688989605664720 1.0d0) -107) - (scale-float (float -5956139094822349 1.0d0) -167) - (scale-float (float 4660601968416390 1.0d0) -221)) - (%make-qd-d (scale-float (float 6290414033205309 1.0d0) -53) - (scale-float (float 7948803281116707 1.0d0) -107) - (scale-float (float 5592877509532575 1.0d0) -161) - (scale-float (float 5510182001592507 1.0d0) -217)) - (%make-qd-d (scale-float (float 6310162718700422 1.0d0) -53) - (scale-float (float 5034574382400651 1.0d0) -107) - (scale-float (float 5591018388425185 1.0d0) -162) - (scale-float (float 7733615070437822 1.0d0) -220)) - (%make-qd-d (scale-float (float 6329852010540816 1.0d0) -53) - (scale-float (float 6562620425861985 1.0d0) -111) - (scale-float (float -8136290568547131 1.0d0) -166) - (scale-float (float 8426790677064152 1.0d0) -220)) - (%make-qd-d (scale-float (float 6349481723403377 1.0d0) -53) - (scale-float (float 8959543695439504 1.0d0) -108) - (scale-float (float 6972321431588115 1.0d0) -164) - (scale-float (float 4858285252195155 1.0d0) -218)) - (%make-qd-d (scale-float (float 6369051672525773 1.0d0) -53) - (scale-float (float -7843040109683798 1.0d0) -107) - (scale-float (float 6048680740045173 1.0d0) -161) - (scale-float (float 5197737643093849 1.0d0) -217)))) - "Table of sin(k/1024) for k = 1 to 256") - -(defconstant +qd-cos-table+ - (make-array 256 - :initial-contents - (list - (%make-qd-d (scale-float (float 9007156865146114 1.0d0) -53) - (scale-float (float -6382651775133715 1.0d0) -108) - (scale-float (float -7372276689025835 1.0d0) -163) - (scale-float (float 7180257539184632 1.0d0) -223)) - (%make-qd-d (scale-float (float 9007029696760466 1.0d0) -53) - (scale-float (float 5446736202153207 1.0d0) -107) - (scale-float (float -5514938334717690 1.0d0) -168) - (scale-float (float 6645835630926151 1.0d0) -222)) - (%make-qd-d (scale-float (float 9006817750781007 1.0d0) -53) - (scale-float (float -5115684009971601 1.0d0) -107) - (scale-float (float 7705986954927589 1.0d0) -161) - (scale-float (float 5269566330016024 1.0d0) -215)) - (%make-qd-d (scale-float (float 9006521029202651 1.0d0) -53) - (scale-float (float 6154670017854733 1.0d0) -107) - (scale-float (float -7959914909379173 1.0d0) -166) - (scale-float (float -8417733335951937 1.0d0) -220)) - (%make-qd-d (scale-float (float 9006139534818257 1.0d0) -53) - (scale-float (float -5756604584677720 1.0d0) -107) - (scale-float (float 4998920502946311 1.0d0) -161) - (scale-float (float -5647576219871589 1.0d0) -215)) - (%make-qd-d (scale-float (float 9005673271218593 1.0d0) -53) - (scale-float (float 6109107373172336 1.0d0) -108) - (scale-float (float -6007767124009731 1.0d0) -163) - (scale-float (float -8083524655498703 1.0d0) -217)) - (%make-qd-d (scale-float (float 9005122242792311 1.0d0) -53) - (scale-float (float 6925416919478846 1.0d0) -107) - (scale-float (float 5571917222010501 1.0d0) -161) - (scale-float (float -6342027657037425 1.0d0) -216)) - (%make-qd-d (scale-float (float 9004486454725901 1.0d0) -53) - (scale-float (float -4843680596157643 1.0d0) -107) - (scale-float (float -5578489598087899 1.0d0) -161) - (scale-float (float 4716327604025735 1.0d0) -219)) - (%make-qd-d (scale-float (float 9003765913003641 1.0d0) -53) - (scale-float (float -6682155943911976 1.0d0) -107) - (scale-float (float 6113568212113372 1.0d0) -161) - (scale-float (float 8572777647471794 1.0d0) -216)) - (%make-qd-d (scale-float (float 9002960624407544 1.0d0) -53) - (scale-float (float 6658445016247619 1.0d0) -108) - (scale-float (float -5574027242944025 1.0d0) -163) - (scale-float (float -6201546866284994 1.0d0) -217)) - (%make-qd-d (scale-float (float 9002070596517294 1.0d0) -53) - (scale-float (float 6432687535538725 1.0d0) -107) - (scale-float (float -5555395417668222 1.0d0) -164) - (scale-float (float -8665438431468013 1.0d0) -222)) - (%make-qd-d (scale-float (float 9001095837710173 1.0d0) -53) - (scale-float (float -6954195453368662 1.0d0) -107) - (scale-float (float 7771704866044900 1.0d0) -164) - (scale-float (float -7039433522181404 1.0d0) -219)) - (%make-qd-d (scale-float (float 9000036357160980 1.0d0) -53) - (scale-float (float 5957921611966531 1.0d0) -109) - (scale-float (float 6479270319865368 1.0d0) -163) - (scale-float (float 5409988246591494 1.0d0) -222)) - (%make-qd-d (scale-float (float 8998892164841951 1.0d0) -53) - (scale-float (float 6950865384540836 1.0d0) -108) - (scale-float (float -4621163143123886 1.0d0) -162) - (scale-float (float -5599064490362240 1.0d0) -216)) - (%make-qd-d (scale-float (float 8997663271522660 1.0d0) -53) - (scale-float (float -6688535702623983 1.0d0) -108) - (scale-float (float -7334707016190584 1.0d0) -162) - (scale-float (float -7916945128397036 1.0d0) -216)) - (%make-qd-d (scale-float (float 8996349688769918 1.0d0) -53) - (scale-float (float -7977765087521301 1.0d0) -109) - (scale-float (float 5721708006624170 1.0d0) -164) - (scale-float (float 4517430183150016 1.0d0) -218)) - (%make-qd-d (scale-float (float 8994951428947667 1.0d0) -53) - (scale-float (float -7900445453445422 1.0d0) -107) - (scale-float (float -6891478759949600 1.0d0) -164) - (scale-float (float -5476513299440062 1.0d0) -218)) - (%make-qd-d (scale-float (float 8993468505216860 1.0d0) -53) - (scale-float (float -7140359403681271 1.0d0) -108) - (scale-float (float -7232392529862741 1.0d0) -162) - (scale-float (float -5246916413682806 1.0d0) -217)) - (%make-qd-d (scale-float (float 8991900931535341 1.0d0) -53) - (scale-float (float -8416291772118320 1.0d0) -107) - (scale-float (float 6126729149397296 1.0d0) -162) - (scale-float (float -6107196519366287 1.0d0) -217)) - (%make-qd-d (scale-float (float 8990248722657709 1.0d0) -53) - (scale-float (float 4532792009051038 1.0d0) -107) - (scale-float (float 7138950646897488 1.0d0) -161) - (scale-float (float -7124028913967965 1.0d0) -216)) - (%make-qd-d (scale-float (float 8988511894135185 1.0d0) -53) - (scale-float (float 5563435675856346 1.0d0) -108) - (scale-float (float 6768020100627694 1.0d0) -163) - (scale-float (float -7801655263446071 1.0d0) -219)) - (%make-qd-d (scale-float (float 8986690462315460 1.0d0) -53) - (scale-float (float -8565496940783238 1.0d0) -108) - (scale-float (float -7565304489103248 1.0d0) -165) - (scale-float (float -8418659784422752 1.0d0) -219)) - (%make-qd-d (scale-float (float 8984784444342543 1.0d0) -53) - (scale-float (float 7270150983818169 1.0d0) -110) - (scale-float (float -5563309902486145 1.0d0) -166) - (scale-float (float -4888785479057611 1.0d0) -231)) - (%make-qd-d (scale-float (float 8982793858156602 1.0d0) -53) - (scale-float (float 5948275509591605 1.0d0) -109) - (scale-float (float 7930006667538804 1.0d0) -163) - (scale-float (float -5809288382338202 1.0d0) -222)) - (%make-qd-d (scale-float (float 8980718722493792 1.0d0) -53) - (scale-float (float 5430523834411255 1.0d0) -108) - (scale-float (float -7699162237707398 1.0d0) -162) - (scale-float (float 8687041402074628 1.0d0) -219)) - (%make-qd-d (scale-float (float 8978559056886080 1.0d0) -53) - (scale-float (float 7636379253722903 1.0d0) -107) - (scale-float (float 8304848910636198 1.0d0) -161) - (scale-float (float -8425631601226793 1.0d0) -216)) - (%make-qd-d (scale-float (float 8976314881661062 1.0d0) -53) - (scale-float (float 7598393650369643 1.0d0) -109) - (scale-float (float -8878261545093758 1.0d0) -163) - (scale-float (float 5997503087615023 1.0d0) -217)) - (%make-qd-d (scale-float (float 8973986217941769 1.0d0) -53) - (scale-float (float 7357807798683726 1.0d0) -109) - (scale-float (float 7951143844149272 1.0d0) -164) - (scale-float (float 5218035394662342 1.0d0) -222)) - (%make-qd-d (scale-float (float 8971573087646471 1.0d0) -53) - (scale-float (float 7421749611895653 1.0d0) -108) - (scale-float (float -4581496555918016 1.0d0) -163) - (scale-float (float -7810225024786925 1.0d0) -217)) - (%make-qd-d (scale-float (float 8969075513488470 1.0d0) -53) - (scale-float (float -7513223803443073 1.0d0) -108) - (scale-float (float -7626238511742260 1.0d0) -165) - (scale-float (float -5366856187311050 1.0d0) -221)) - (%make-qd-d (scale-float (float 8966493518975884 1.0d0) -53) - (scale-float (float 8329643948299160 1.0d0) -111) - (scale-float (float -7408252878990684 1.0d0) -170) - (scale-float (float -7497946385569394 1.0d0) -224)) - (%make-qd-d (scale-float (float 8963827128411430 1.0d0) -53) - (scale-float (float -6893895888146887 1.0d0) -107) - (scale-float (float 7784256318365108 1.0d0) -162) - (scale-float (float 7153652023322651 1.0d0) -216)) - (%make-qd-d (scale-float (float 8961076366892190 1.0d0) -53) - (scale-float (float 5468892236673259 1.0d0) -110) - (scale-float (float -7868743052739110 1.0d0) -167) - (scale-float (float 8477913984177349 1.0d0) -221)) - (%make-qd-d (scale-float (float 8958241260309380 1.0d0) -53) - (scale-float (float 5962228427073425 1.0d0) -107) - (scale-float (float -8945355811576285 1.0d0) -161) - (scale-float (float 5475118791675541 1.0d0) -215)) - (%make-qd-d (scale-float (float 8955321835348103 1.0d0) -53) - (scale-float (float 7160408339531907 1.0d0) -107) - (scale-float (float -8800353687418162 1.0d0) -161) - (scale-float (float 7814338741356067 1.0d0) -216)) - (%make-qd-d (scale-float (float 8952318119487099 1.0d0) -53) - (scale-float (float -6154445520718857 1.0d0) -108) - (scale-float (float -5979147254374853 1.0d0) -168) - (scale-float (float -5754250618745921 1.0d0) -222)) - (%make-qd-d (scale-float (float 8949230140998484 1.0d0) -53) - (scale-float (float 4827588292883036 1.0d0) -107) - (scale-float (float -5269205324285223 1.0d0) -163) - (scale-float (float -7066073884583852 1.0d0) -217)) - (%make-qd-d (scale-float (float 8946057928947489 1.0d0) -53) - (scale-float (float 5370280075238301 1.0d0) -107) - (scale-float (float 4557784045899430 1.0d0) -161) - (scale-float (float 6055026141926995 1.0d0) -218)) - (%make-qd-d (scale-float (float 8942801513192182 1.0d0) -53) - (scale-float (float -4573932509451197 1.0d0) -108) - (scale-float (float -6988642513170233 1.0d0) -162) - (scale-float (float 7903423679430231 1.0d0) -218)) - (%make-qd-d (scale-float (float 8939460924383187 1.0d0) -53) - (scale-float (float 5045136634195182 1.0d0) -107) - (scale-float (float -5372361566405903 1.0d0) -161) - (scale-float (float -6720737022123546 1.0d0) -220)) - (%make-qd-d (scale-float (float 8936036193963400 1.0d0) -53) - (scale-float (float -6398195821015223 1.0d0) -107) - (scale-float (float -7337680936016907 1.0d0) -163) - (scale-float (float -5459780776141598 1.0d0) -218)) - (%make-qd-d (scale-float (float 8932527354167686 1.0d0) -53) - (scale-float (float -6067949506678475 1.0d0) -111) - (scale-float (float 5064661831761972 1.0d0) -167) - (scale-float (float -8471798904647962 1.0d0) -222)) - (%make-qd-d (scale-float (float 8928934438022583 1.0d0) -53) - (scale-float (float -8175307614637614 1.0d0) -108) - (scale-float (float -7513563295790417 1.0d0) -162) - (scale-float (float 5516806786798278 1.0d0) -216)) - (%make-qd-d (scale-float (float 8925257479345985 1.0d0) -53) - (scale-float (float 4995821998689288 1.0d0) -108) - (scale-float (float -6313677797518807 1.0d0) -162) - (scale-float (float 4625503888993559 1.0d0) -220)) - (%make-qd-d (scale-float (float 8921496512746829 1.0d0) -53) - (scale-float (float -8991019785543599 1.0d0) -107) - (scale-float (float -8543364032599344 1.0d0) -162) - (scale-float (float -8075214757855398 1.0d0) -217)) - (%make-qd-d (scale-float (float 8917651573624763 1.0d0) -53) - (scale-float (float -5534821618232727 1.0d0) -108) - (scale-float (float 7865766552369999 1.0d0) -162) - (scale-float (float 7700180873329070 1.0d0) -216)) - (%make-qd-d (scale-float (float 8913722698169820 1.0d0) -53) - (scale-float (float -8502096954648678 1.0d0) -107) - (scale-float (float 7870589230495605 1.0d0) -162) - (scale-float (float 6110391933205275 1.0d0) -216)) - (%make-qd-d (scale-float (float 8909709923362071 1.0d0) -53) - (scale-float (float -6650571269560095 1.0d0) -107) - (scale-float (float -5244751855479113 1.0d0) -163) - (scale-float (float -8301663588356049 1.0d0) -217)) - (%make-qd-d (scale-float (float 8905613286971281 1.0d0) -53) - (scale-float (float -7123978755460638 1.0d0) -109) - (scale-float (float 7555692813056111 1.0d0) -164) - (scale-float (float 8118983438487515 1.0d0) -219)) - (%make-qd-d (scale-float (float 8901432827556552 1.0d0) -53) - (scale-float (float 8771933742692817 1.0d0) -108) - (scale-float (float 7250438674596944 1.0d0) -166) - (scale-float (float 7083606337494008 1.0d0) -221)) - (%make-qd-d (scale-float (float 8897168584465961 1.0d0) -53) - (scale-float (float -7658862886582027 1.0d0) -108) - (scale-float (float -7204199762688552 1.0d0) -162) - (scale-float (float 6346308409048664 1.0d0) -217)) - (%make-qd-d (scale-float (float 8892820597836187 1.0d0) -53) - (scale-float (float -8491394866189883 1.0d0) -107) - (scale-float (float -8166182587214152 1.0d0) -161) - (scale-float (float 6357787596929140 1.0d0) -215)) - (%make-qd-d (scale-float (float 8888388908592136 1.0d0) -53) - (scale-float (float -8159567034358810 1.0d0) -107) - (scale-float (float -6629817546842393 1.0d0) -161) - (scale-float (float 4634129890739685 1.0d0) -216)) - (%make-qd-d (scale-float (float 8883873558446555 1.0d0) -53) - (scale-float (float -6983923910930642 1.0d0) -108) - (scale-float (float 6937180072251376 1.0d0) -162) - (scale-float (float -8270405867504028 1.0d0) -216)) - (%make-qd-d (scale-float (float 8879274589899640 1.0d0) -53) - (scale-float (float -8346528441017500 1.0d0) -107) - (scale-float (float 7680611814957263 1.0d0) -161) - (scale-float (float 7943027189392270 1.0d0) -216)) - (%make-qd-d (scale-float (float 8874592046238633 1.0d0) -53) - (scale-float (float 7514433837333686 1.0d0) -108) - (scale-float (float -8801276453264781 1.0d0) -163) - (scale-float (float 8915512537041539 1.0d0) -219)) - (%make-qd-d (scale-float (float 8869825971537420 1.0d0) -53) - (scale-float (float 6846136909451560 1.0d0) -109) - (scale-float (float 6731359750255182 1.0d0) -164) - (scale-float (float -6197790138101606 1.0d0) -220)) - (%make-qd-d (scale-float (float 8864976410656110 1.0d0) -53) - (scale-float (float 7785836584894173 1.0d0) -107) - (scale-float (float 5284186529715868 1.0d0) -164) - (scale-float (float 7402980542247590 1.0d0) -218)) - (%make-qd-d (scale-float (float 8860043409240618 1.0d0) -53) - (scale-float (float 6446544258894238 1.0d0) -108) - (scale-float (float -8038901621714735 1.0d0) -169) - (scale-float (float 4846229103018903 1.0d0) -224)) - (%make-qd-d (scale-float (float 8855027013722231 1.0d0) -53) - (scale-float (float 6842474924546396 1.0d0) -107) - (scale-float (float 4816891086673617 1.0d0) -162) - (scale-float (float -8509622836947172 1.0d0) -216)) - (%make-qd-d (scale-float (float 8849927271317175 1.0d0) -53) - (scale-float (float 4916320054218436 1.0d0) -108) - (scale-float (float -4887585510279573 1.0d0) -163) - (scale-float (float -4665371238305833 1.0d0) -217)) - (%make-qd-d (scale-float (float 8844744230026167 1.0d0) -53) - (scale-float (float 6850081623240539 1.0d0) -108) - (scale-float (float -8916921648409142 1.0d0) -162) - (scale-float (float -7202105646592469 1.0d0) -216)) - (%make-qd-d (scale-float (float 8839477938633966 1.0d0) -53) - (scale-float (float 8715376239079668 1.0d0) -109) - (scale-float (float -7634216994416838 1.0d0) -163) - (scale-float (float 4712162648716876 1.0d0) -220)) - (%make-qd-d (scale-float (float 8834128446708912 1.0d0) -53) - (scale-float (float 6018826142883795 1.0d0) -108) - (scale-float (float -6253218580383489 1.0d0) -162) - (scale-float (float 7020978235349363 1.0d0) -216)) - (%make-qd-d (scale-float (float 8828695804602461 1.0d0) -53) - (scale-float (float -5971431338778072 1.0d0) -107) - (scale-float (float 7394633722946009 1.0d0) -163) - (scale-float (float 7835308697779253 1.0d0) -218)) - (%make-qd-d (scale-float (float 8823180063448708 1.0d0) -53) - (scale-float (float 5054049223849600 1.0d0) -108) - (scale-float (float -7834271977802953 1.0d0) -162) - (scale-float (float -7272320165403980 1.0d0) -218)) - (%make-qd-d (scale-float (float 8817581275163911 1.0d0) -53) - (scale-float (float -6183435703505308 1.0d0) -111) - (scale-float (float -5001726456690585 1.0d0) -165) - (scale-float (float -6933175510886964 1.0d0) -219)) - (%make-qd-d (scale-float (float 8811899492445997 1.0d0) -53) - (scale-float (float -7017091372002309 1.0d0) -108) - (scale-float (float 6413304785703535 1.0d0) -162) - (scale-float (float 8118727090730765 1.0d0) -216)) - (%make-qd-d (scale-float (float 8806134768774068 1.0d0) -53) - (scale-float (float 8196387204119507 1.0d0) -107) - (scale-float (float -7748736525621098 1.0d0) -162) - (scale-float (float 7388842477950275 1.0d0) -216)) - (%make-qd-d (scale-float (float 8800287158407901 1.0d0) -53) - (scale-float (float -7034568527191045 1.0d0) -107) - (scale-float (float 6424625550657811 1.0d0) -163) - (scale-float (float -7814615457557805 1.0d0) -219)) - (%make-qd-d (scale-float (float 8794356716387429 1.0d0) -53) - (scale-float (float 6042141602652702 1.0d0) -109) - (scale-float (float -4815349649953967 1.0d0) -163) - (scale-float (float -6721857373013784 1.0d0) -217)) - (%make-qd-d (scale-float (float 8788343498532233 1.0d0) -53) - (scale-float (float -8298768912839398 1.0d0) -108) - (scale-float (float -5446972436275558 1.0d0) -162) - (scale-float (float -7049677529730599 1.0d0) -219)) - (%make-qd-d (scale-float (float 8782247561441008 1.0d0) -53) - (scale-float (float 8646037700366584 1.0d0) -108) - (scale-float (float 8333782932738579 1.0d0) -165) - (scale-float (float -5587385824373688 1.0d0) -220)) - (%make-qd-d (scale-float (float 8776068962491037 1.0d0) -53) - (scale-float (float 5981843094371335 1.0d0) -111) - (scale-float (float 5031627907802402 1.0d0) -165) - (scale-float (float 8605971594377410 1.0d0) -220)) - (%make-qd-d (scale-float (float 8769807759837646 1.0d0) -53) - (scale-float (float -8393641348716169 1.0d0) -107) - (scale-float (float -4533131738151266 1.0d0) -161) - (scale-float (float -8690963173342472 1.0d0) -215)) - (%make-qd-d (scale-float (float 8763464012413658 1.0d0) -53) - (scale-float (float -5080534473348267 1.0d0) -107) - (scale-float (float -7855304661081380 1.0d0) -161) - (scale-float (float -7296856099117507 1.0d0) -221)) - (%make-qd-d (scale-float (float 8757037779928840 1.0d0) -53) - (scale-float (float 5916163041813500 1.0d0) -107) - (scale-float (float 8859516786540065 1.0d0) -161) - (scale-float (float -8561614259167781 1.0d0) -222)) - (%make-qd-d (scale-float (float 8750529122869341 1.0d0) -53) - (scale-float (float -5183562189985281 1.0d0) -109) - (scale-float (float -5101040255073374 1.0d0) -163) - (scale-float (float 5780805313355459 1.0d0) -220)) - (%make-qd-d (scale-float (float 8743938102497119 1.0d0) -53) - (scale-float (float -7787173714602643 1.0d0) -107) - (scale-float (float 8870592638467604 1.0d0) -161) - (scale-float (float 4527859829386072 1.0d0) -215)) - (%make-qd-d (scale-float (float 8737264780849367 1.0d0) -53) - (scale-float (float 5959880706574729 1.0d0) -108) - (scale-float (float -8366277013359923 1.0d0) -162) - (scale-float (float 7232577075726740 1.0d0) -219)) - (%make-qd-d (scale-float (float 8730509220737932 1.0d0) -53) - (scale-float (float -7409352491475308 1.0d0) -107) - (scale-float (float 5620790720594497 1.0d0) -162) - (scale-float (float 6846782194285202 1.0d0) -219)) - (%make-qd-d (scale-float (float 8723671485748716 1.0d0) -53) - (scale-float (float 8027789877305549 1.0d0) -107) - (scale-float (float 8347728572284626 1.0d0) -161) - (scale-float (float 6629242611071548 1.0d0) -216)) - (%make-qd-d (scale-float (float 8716751640241088 1.0d0) -53) - (scale-float (float -7384765759223300 1.0d0) -107) - (scale-float (float -8259014728839389 1.0d0) -162) - (scale-float (float -8911590265625930 1.0d0) -216)) - (%make-qd-d (scale-float (float 8709749749347266 1.0d0) -53) - (scale-float (float 6246370251798351 1.0d0) -107) - (scale-float (float -6299847417742655 1.0d0) -163) - (scale-float (float -7418590254845397 1.0d0) -217)) - (%make-qd-d (scale-float (float 8702665878971716 1.0d0) -53) - (scale-float (float 8323712745751476 1.0d0) -107) - (scale-float (float 6811334649930440 1.0d0) -165) - (scale-float (float 8505841244414894 1.0d0) -219)) - (%make-qd-d (scale-float (float 8695500095790524 1.0d0) -53) - (scale-float (float -7705819592372010 1.0d0) -108) - (scale-float (float 6924187360006505 1.0d0) -163) - (scale-float (float -8174591260972689 1.0d0) -217)) - (%make-qd-d (scale-float (float 8688252467250769 1.0d0) -53) - (scale-float (float -5547558796790388 1.0d0) -107) - (scale-float (float 6717667801494033 1.0d0) -161) - (scale-float (float -4752616405244403 1.0d0) -216)) - (%make-qd-d (scale-float (float 8680923061569891 1.0d0) -53) - (scale-float (float 8588042960215234 1.0d0) -108) - (scale-float (float -8702070775005543 1.0d0) -171) - (scale-float (float -6976332996211473 1.0d0) -225)) - (%make-qd-d (scale-float (float 8673511947735049 1.0d0) -53) - (scale-float (float 5798624754283258 1.0d0) -109) - (scale-float (float -4568215043570977 1.0d0) -163) - (scale-float (float 6829329873018631 1.0d0) -218)) - (%make-qd-d (scale-float (float 8666019195502468 1.0d0) -53) - (scale-float (float 4944614710107653 1.0d0) -108) - (scale-float (float -7629139990045050 1.0d0) -162) - (scale-float (float 8321368928085100 1.0d0) -216)) - (%make-qd-d (scale-float (float 8658444875396786 1.0d0) -53) - (scale-float (float 5434765495412269 1.0d0) -111) - (scale-float (float 5036267983276872 1.0d0) -165) - (scale-float (float -5008959202542514 1.0d0) -219)) - (%make-qd-d (scale-float (float 8650789058710388 1.0d0) -53) - (scale-float (float 8000649532699255 1.0d0) -108) - (scale-float (float -8062911270553914 1.0d0) -162) - (scale-float (float -8041915918056652 1.0d0) -220)) - (%make-qd-d (scale-float (float 8643051817502737 1.0d0) -53) - (scale-float (float 7139823619402846 1.0d0) -109) - (scale-float (float -4914858230587332 1.0d0) -163) - (scale-float (float 6743980924865325 1.0d0) -220)) - (%make-qd-d (scale-float (float 8635233224599694 1.0d0) -53) - (scale-float (float -7088298843580067 1.0d0) -107) - (scale-float (float 6431133538561354 1.0d0) -161) - (scale-float (float -5557182891497346 1.0d0) -215)) - (%make-qd-d (scale-float (float 8627333353592832 1.0d0) -53) - (scale-float (float -5742910758171990 1.0d0) -108) - (scale-float (float 8962645513660430 1.0d0) -165) - (scale-float (float 6865454473379410 1.0d0) -219)) - (%make-qd-d (scale-float (float 8619352278838746 1.0d0) -53) - (scale-float (float 6580241596413982 1.0d0) -107) - (scale-float (float -5012077621452493 1.0d0) -161) - (scale-float (float 5420791254282205 1.0d0) -217)) - (%make-qd-d (scale-float (float 8611290075458352 1.0d0) -53) - (scale-float (float 6117993379878867 1.0d0) -107) - (scale-float (float 5752090453333422 1.0d0) -161) - (scale-float (float 8961357552235688 1.0d0) -216)) - (%make-qd-d (scale-float (float 8603146819336178 1.0d0) -53) - (scale-float (float 8127348605830121 1.0d0) -107) - (scale-float (float -7887192887344204 1.0d0) -161) - (scale-float (float 5319494234616797 1.0d0) -215)) - (%make-qd-d (scale-float (float 8594922587119653 1.0d0) -53) - (scale-float (float -6092170856221856 1.0d0) -107) - (scale-float (float 8740726400738582 1.0d0) -162) - (scale-float (float -8711151914884922 1.0d0) -216)) - (%make-qd-d (scale-float (float 8586617456218381 1.0d0) -53) - (scale-float (float -8174862114446858 1.0d0) -108) - (scale-float (float -8343560746786883 1.0d0) -162) - (scale-float (float -4919904534422867 1.0d0) -216)) - (%make-qd-d (scale-float (float 8578231504803418 1.0d0) -53) - (scale-float (float -6577764069693440 1.0d0) -108) - (scale-float (float -6217787362116513 1.0d0) -162) - (scale-float (float -7480234698414209 1.0d0) -217)) - (%make-qd-d (scale-float (float 8569764811806532 1.0d0) -53) - (scale-float (float 5086923108014672 1.0d0) -107) - (scale-float (float -7256306947528657 1.0d0) -161) - (scale-float (float 8041674859768423 1.0d0) -219)) - (%make-qd-d (scale-float (float 8561217456919463 1.0d0) -53) - (scale-float (float 6298936787393783 1.0d0) -108) - (scale-float (float -4767967511894935 1.0d0) -162) - (scale-float (float -8847251687381265 1.0d0) -219)) - (%make-qd-d (scale-float (float 8552589520593170 1.0d0) -53) - (scale-float (float -4903095784208212 1.0d0) -109) - (scale-float (float -5993354562610200 1.0d0) -163) - (scale-float (float 7621932199733939 1.0d0) -218)) - (%make-qd-d (scale-float (float 8543881084037075 1.0d0) -53) - (scale-float (float 6707234576005423 1.0d0) -108) - (scale-float (float -6949817966021143 1.0d0) -163) - (scale-float (float 6010742482639225 1.0d0) -218)) - (%make-qd-d (scale-float (float 8535092229218300 1.0d0) -53) - (scale-float (float 7044972283821195 1.0d0) -107) - (scale-float (float -6484078963521046 1.0d0) -164) - (scale-float (float 4693487461781030 1.0d0) -219)) - (%make-qd-d (scale-float (float 8526223038860894 1.0d0) -53) - (scale-float (float 5688291050131270 1.0d0) -107) - (scale-float (float 5762907725758393 1.0d0) -162) - (scale-float (float 6954393126632499 1.0d0) -216)) - (%make-qd-d (scale-float (float 8517273596445054 1.0d0) -53) - (scale-float (float 7467026288494722 1.0d0) -107) - (scale-float (float -7311528458402789 1.0d0) -163) - (scale-float (float 6638440854815466 1.0d0) -218)) - (%make-qd-d (scale-float (float 8508243986206341 1.0d0) -53) - (scale-float (float 5718052318919608 1.0d0) -109) - (scale-float (float 6113951899379181 1.0d0) -163) - (scale-float (float -7053239345980276 1.0d0) -217)) - (%make-qd-d (scale-float (float 8499134293134885 1.0d0) -53) - (scale-float (float -7818667001173624 1.0d0) -108) - (scale-float (float 4809289711312272 1.0d0) -165) - (scale-float (float -7885188792416875 1.0d0) -221)) - (%make-qd-d (scale-float (float 8489944602974586 1.0d0) -53) - (scale-float (float 8590372695674546 1.0d0) -109) - (scale-float (float -5336072295288112 1.0d0) -166) - (scale-float (float 6731064684041358 1.0d0) -220)) - (%make-qd-d (scale-float (float 8480675002222309 1.0d0) -53) - (scale-float (float -4526446371562791 1.0d0) -107) - (scale-float (float 4756672316007874 1.0d0) -161) - (scale-float (float -8943278991556374 1.0d0) -220)) - (%make-qd-d (scale-float (float 8471325578127065 1.0d0) -53) - (scale-float (float 4642306313259215 1.0d0) -107) - (scale-float (float 8553146367577618 1.0d0) -161) - (scale-float (float -5655242195051814 1.0d0) -217)) - (%make-qd-d (scale-float (float 8461896418689196 1.0d0) -53) - (scale-float (float -4553181447976997 1.0d0) -109) - (scale-float (float -6593791908274853 1.0d0) -163) - (scale-float (float 7491525231836809 1.0d0) -217)) - (%make-qd-d (scale-float (float 8452387612659540 1.0d0) -53) - (scale-float (float 8801356132344547 1.0d0) -107) - (scale-float (float -5565388474422551 1.0d0) -161) - (scale-float (float -8228993466620115 1.0d0) -215)) - (%make-qd-d (scale-float (float 8442799249538603 1.0d0) -53) - (scale-float (float -5933972051875175 1.0d0) -107) - (scale-float (float -6958466561286986 1.0d0) -162) - (scale-float (float -4724344086362299 1.0d0) -218)) - (%make-qd-d (scale-float (float 8433131419575708 1.0d0) -53) - (scale-float (float -8446417134371795 1.0d0) -109) - (scale-float (float 6106723249054365 1.0d0) -163) - (scale-float (float -5724401613088084 1.0d0) -220)) - (%make-qd-d (scale-float (float 8423384213768154 1.0d0) -53) - (scale-float (float -5291176899619174 1.0d0) -107) - (scale-float (float -4782794227894570 1.0d0) -162) - (scale-float (float 5859801279367932 1.0d0) -216)) - (%make-qd-d (scale-float (float 8413557723860353 1.0d0) -53) - (scale-float (float 7246957581928310 1.0d0) -107) - (scale-float (float -7571526425190184 1.0d0) -161) - (scale-float (float 8583500343172088 1.0d0) -216)) - (%make-qd-d (scale-float (float 8403652042342972 1.0d0) -53) - (scale-float (float 6821609684893107 1.0d0) -107) - (scale-float (float 5278119422243711 1.0d0) -162) - (scale-float (float 5583656122229983 1.0d0) -216)) - (%make-qd-d (scale-float (float 8393667262452058 1.0d0) -53) - (scale-float (float -6617897839460155 1.0d0) -107) - (scale-float (float 5153678696029531 1.0d0) -161) - (scale-float (float 5429144206151925 1.0d0) -217)) - (%make-qd-d (scale-float (float 8383603478168160 1.0d0) -53) - (scale-float (float 6394240597984013 1.0d0) -108) - (scale-float (float 7676731287638925 1.0d0) -163) - (scale-float (float -6564864277848665 1.0d0) -221)) - (%make-qd-d (scale-float (float 8373460784215450 1.0d0) -53) - (scale-float (float 8321066234508797 1.0d0) -107) - (scale-float (float 5546630190255800 1.0d0) -164) - (scale-float (float -7258150702831279 1.0d0) -218)) - (%make-qd-d (scale-float (float 8363239276060827 1.0d0) -53) - (scale-float (float -7563437054268512 1.0d0) -108) - (scale-float (float -4548139565433169 1.0d0) -162) - (scale-float (float -6171043120140633 1.0d0) -216)) - (%make-qd-d (scale-float (float 8352939049913017 1.0d0) -53) - (scale-float (float -8981736255781014 1.0d0) -108) - (scale-float (float 5170276812693347 1.0d0) -164) - (scale-float (float 8572079675285324 1.0d0) -218)) - (%make-qd-d (scale-float (float 8342560202721672 1.0d0) -53) - (scale-float (float -6052880242154884 1.0d0) -107) - (scale-float (float 5981767719278909 1.0d0) -161) - (scale-float (float 7283292585326634 1.0d0) -215)) - (%make-qd-d (scale-float (float 8332102832176454 1.0d0) -53) - (scale-float (float 7857171491229206 1.0d0) -110) - (scale-float (float -8255170893553344 1.0d0) -166) - (scale-float (float 6162188545047406 1.0d0) -221)) - (%make-qd-d (scale-float (float 8321567036706118 1.0d0) -53) - (scale-float (float 5726145159043778 1.0d0) -108) - (scale-float (float -5897748070929945 1.0d0) -163) - (scale-float (float -8525804628143368 1.0d0) -217)) - (%make-qd-d (scale-float (float 8310952915477583 1.0d0) -53) - (scale-float (float 8593867710650143 1.0d0) -107) - (scale-float (float -6680313484611995 1.0d0) -163) - (scale-float (float 6353210804206738 1.0d0) -217)) - (%make-qd-d (scale-float (float 8300260568395001 1.0d0) -53) - (scale-float (float 6756450875854190 1.0d0) -107) - (scale-float (float 6951770272627742 1.0d0) -162) - (scale-float (float 8788284451425813 1.0d0) -218)) - (%make-qd-d (scale-float (float 8289490096098815 1.0d0) -53) - (scale-float (float -4511925664156885 1.0d0) -107) - (scale-float (float 7895328143001416 1.0d0) -161) - (scale-float (float 6317989146996191 1.0d0) -215)) - (%make-qd-d (scale-float (float 8278641599964811 1.0d0) -53) - (scale-float (float -8598600866676053 1.0d0) -108) - (scale-float (float 7646998035931427 1.0d0) -163) - (scale-float (float -6107518997826040 1.0d0) -217)) - (%make-qd-d (scale-float (float 8267715182103167 1.0d0) -53) - (scale-float (float -6340213041420117 1.0d0) -107) - (scale-float (float 6724262794318068 1.0d0) -161) - (scale-float (float 8393760923297867 1.0d0) -217)) - (%make-qd-d (scale-float (float 8256710945357489 1.0d0) -53) - (scale-float (float -6771725202789936 1.0d0) -107) - (scale-float (float 7070420353684526 1.0d0) -162) - (scale-float (float 5197890020650731 1.0d0) -216)) - (%make-qd-d (scale-float (float 8245628993303844 1.0d0) -53) - (scale-float (float -8821100121339757 1.0d0) -109) - (scale-float (float 7006208221552511 1.0d0) -163) - (scale-float (float 4508060286446889 1.0d0) -217)) - (%make-qd-d (scale-float (float 8234469430249786 1.0d0) -53) - (scale-float (float -5892637514160882 1.0d0) -107) - (scale-float (float -5681973386408990 1.0d0) -161) - (scale-float (float 5969243766468564 1.0d0) -217)) - (%make-qd-d (scale-float (float 8223232361233372 1.0d0) -53) - (scale-float (float -7777493634914173 1.0d0) -107) - (scale-float (float -5189369030967820 1.0d0) -161) - (scale-float (float 6842397883496982 1.0d0) -220)) - (%make-qd-d (scale-float (float 8211917892022175 1.0d0) -53) - (scale-float (float -8733856484976210 1.0d0) -108) - (scale-float (float -4857152382333282 1.0d0) -166) - (scale-float (float 7641915463494354 1.0d0) -222)) - (%make-qd-d (scale-float (float 8200526129112289 1.0d0) -53) - (scale-float (float -8183228870209481 1.0d0) -107) - (scale-float (float 6394798226217471 1.0d0) -162) - (scale-float (float 8035603526856955 1.0d0) -219)) - (%make-qd-d (scale-float (float 8189057179727324 1.0d0) -53) - (scale-float (float -4787111311971082 1.0d0) -110) - (scale-float (float 7003826926247311 1.0d0) -164) - (scale-float (float -5150051672214856 1.0d0) -218)) - (%make-qd-d (scale-float (float 8177511151817401 1.0d0) -53) - (scale-float (float -8025338039515614 1.0d0) -107) - (scale-float (float -4852092691112809 1.0d0) -161) - (scale-float (float -5468362093021944 1.0d0) -216)) - (%make-qd-d (scale-float (float 8165888154058130 1.0d0) -53) - (scale-float (float 4949998156142078 1.0d0) -107) - (scale-float (float -8464337333963361 1.0d0) -162) - (scale-float (float 7964294201530510 1.0d0) -218)) - (%make-qd-d (scale-float (float 8154188295849595 1.0d0) -53) - (scale-float (float -6677472217191581 1.0d0) -107) - (scale-float (float 8727903250458773 1.0d0) -161) - (scale-float (float 5386228110507442 1.0d0) -216)) - (%make-qd-d (scale-float (float 8142411687315315 1.0d0) -53) - (scale-float (float -8579951840942254 1.0d0) -110) - (scale-float (float 5952643804849413 1.0d0) -165) - (scale-float (float -7249883042029233 1.0d0) -220)) - (%make-qd-d (scale-float (float 8130558439301216 1.0d0) -53) - (scale-float (float -6247237565047575 1.0d0) -108) - (scale-float (float 7741357282149559 1.0d0) -162) - (scale-float (float -5578500633872854 1.0d0) -216)) - (%make-qd-d (scale-float (float 8118628663374582 1.0d0) -53) - (scale-float (float -8778090168280888 1.0d0) -109) - (scale-float (float 7436746217749520 1.0d0) -163) - (scale-float (float 7630381168256317 1.0d0) -217)) - (%make-qd-d (scale-float (float 8106622471823008 1.0d0) -53) - (scale-float (float -8216747803830756 1.0d0) -107) - (scale-float (float 6304056001984601 1.0d0) -162) - (scale-float (float 5924872968038470 1.0d0) -217)) - (%make-qd-d (scale-float (float 8094539977653340 1.0d0) -53) - (scale-float (float 8540324421498539 1.0d0) -108) - (scale-float (float 6922258608862064 1.0d0) -167) - (scale-float (float -7901865974785605 1.0d0) -221)) - (%make-qd-d (scale-float (float 8082381294590617 1.0d0) -53) - (scale-float (float -5905634609941531 1.0d0) -107) - (scale-float (float -6901692996464097 1.0d0) -161) - (scale-float (float 6233038068306105 1.0d0) -215)) - (%make-qd-d (scale-float (float 8070146537076992 1.0d0) -53) - (scale-float (float 7954777128849873 1.0d0) -107) - (scale-float (float -5682461538967622 1.0d0) -161) - (scale-float (float -8988660354400493 1.0d0) -215)) - (%make-qd-d (scale-float (float 8057835820270665 1.0d0) -53) - (scale-float (float -5684340455847933 1.0d0) -108) - (scale-float (float -7717120355166554 1.0d0) -162) - (scale-float (float -6720192119717512 1.0d0) -218)) - (%make-qd-d (scale-float (float 8045449260044789 1.0d0) -53) - (scale-float (float -5343034318546435 1.0d0) -110) - (scale-float (float 5934925198868450 1.0d0) -164) - (scale-float (float 7220118970499754 1.0d0) -220)) - (%make-qd-d (scale-float (float 8032986972986387 1.0d0) -53) - (scale-float (float 6060738122016655 1.0d0) -110) - (scale-float (float 7553159386729597 1.0d0) -165) - (scale-float (float -6675526920595727 1.0d0) -220)) - (%make-qd-d (scale-float (float 8020449076395251 1.0d0) -53) - (scale-float (float 7646910712788417 1.0d0) -109) - (scale-float (float -6241730781228944 1.0d0) -165) - (scale-float (float -8002249139712356 1.0d0) -219)) - (%make-qd-d (scale-float (float 8007835688282839 1.0d0) -53) - (scale-float (float -7246184498625959 1.0d0) -109) - (scale-float (float -8137088343486848 1.0d0) -164) - (scale-float (float -6573626944638042 1.0d0) -218)) - (%make-qd-d (scale-float (float 7995146927371163 1.0d0) -53) - (scale-float (float 8310979817766747 1.0d0) -109) - (scale-float (float 7473299446962253 1.0d0) -167) - (scale-float (float -4891403068085004 1.0d0) -221)) - (%make-qd-d (scale-float (float 7982382913091674 1.0d0) -53) - (scale-float (float -8736996093293672 1.0d0) -110) - (scale-float (float 5792500826087577 1.0d0) -165) - (scale-float (float 6862659397941285 1.0d0) -221)) - (%make-qd-d (scale-float (float 7969543765584135 1.0d0) -53) - (scale-float (float -6122462417693605 1.0d0) -109) - (scale-float (float -6676904309874182 1.0d0) -163) - (scale-float (float 7692066278000649 1.0d0) -218)) - (%make-qd-d (scale-float (float 7956629605695492 1.0d0) -53) - (scale-float (float 5134741344813474 1.0d0) -108) - (scale-float (float -4613745536456255 1.0d0) -162) - (scale-float (float -6227040409576694 1.0d0) -218)) - (%make-qd-d (scale-float (float 7943640554978737 1.0d0) -53) - (scale-float (float -6439502272564487 1.0d0) -108) - (scale-float (float -8232593592811641 1.0d0) -163) - (scale-float (float -8961461139920910 1.0d0) -219)) - (%make-qd-d (scale-float (float 7930576735691761 1.0d0) -53) - (scale-float (float 5293253478187253 1.0d0) -108) - (scale-float (float -6727743417874982 1.0d0) -163) - (scale-float (float -8452072153366346 1.0d0) -217)) - (%make-qd-d (scale-float (float 7917438270796208 1.0d0) -53) - (scale-float (float -7684086171775532 1.0d0) -107) - (scale-float (float 8411685124468258 1.0d0) -162) - (scale-float (float -6126132756509931 1.0d0) -217)) - (%make-qd-d (scale-float (float 7904225283956311 1.0d0) -53) - (scale-float (float 8131349739729868 1.0d0) -107) - (scale-float (float 6637034140521224 1.0d0) -164) - (scale-float (float 6550694306870995 1.0d0) -218)) - (%make-qd-d (scale-float (float 7890937899537737 1.0d0) -53) - (scale-float (float 7623463201024326 1.0d0) -110) - (scale-float (float 6533764524387989 1.0d0) -164) - (scale-float (float -7808305661254231 1.0d0) -218)) - (%make-qd-d (scale-float (float 7877576242606407 1.0d0) -53) - (scale-float (float -5941713289950576 1.0d0) -113) - (scale-float (float -5557131795313346 1.0d0) -167) - (scale-float (float 5890046981724174 1.0d0) -222)) - (%make-qd-d (scale-float (float 7864140438927325 1.0d0) -53) - (scale-float (float 5090052289978408 1.0d0) -109) - (scale-float (float -5692258429067560 1.0d0) -163) - (scale-float (float -4805520048585976 1.0d0) -217)) - (%make-qd-d (scale-float (float 7850630614963393 1.0d0) -53) - (scale-float (float -8968556689917822 1.0d0) -107) - (scale-float (float -6461032805259083 1.0d0) -161) - (scale-float (float -5147125785674736 1.0d0) -215)) - (%make-qd-d (scale-float (float 7837046897874218 1.0d0) -53) - (scale-float (float -6796799480983562 1.0d0) -107) - (scale-float (float 8289659017936051 1.0d0) -163) - (scale-float (float 7919537224500868 1.0d0) -217)) - (%make-qd-d (scale-float (float 7823389415514919 1.0d0) -53) - (scale-float (float 5647719797707326 1.0d0) -114) - (scale-float (float -6252005772837378 1.0d0) -168) - (scale-float (float -8509580097279105 1.0d0) -222)) - (%make-qd-d (scale-float (float 7809658296434922 1.0d0) -53) - (scale-float (float 7857985603043508 1.0d0) -111) - (scale-float (float -5406124386166429 1.0d0) -165) - (scale-float (float -7222644714405805 1.0d0) -223)) - (%make-qd-d (scale-float (float 7795853669876749 1.0d0) -53) - (scale-float (float -8271733057494906 1.0d0) -110) - (scale-float (float 5547981887481697 1.0d0) -164) - (scale-float (float 6702866336981504 1.0d0) -218)) - (%make-qd-d (scale-float (float 7781975665774802 1.0d0) -53) - (scale-float (float 6731546115920822 1.0d0) -107) - (scale-float (float 6638133694034468 1.0d0) -161) - (scale-float (float -8554347442337204 1.0d0) -216)) - (%make-qd-d (scale-float (float 7768024414754142 1.0d0) -53) - (scale-float (float 6005052363670948 1.0d0) -107) - (scale-float (float 6094860705689399 1.0d0) -163) - (scale-float (float 5675405789834798 1.0d0) -217)) - (%make-qd-d (scale-float (float 7754000048129257 1.0d0) -53) - (scale-float (float -4875899202965061 1.0d0) -107) - (scale-float (float -5185769273148547 1.0d0) -162) - (scale-float (float 6320978780778161 1.0d0) -218)) - (%make-qd-d (scale-float (float 7739902697902825 1.0d0) -53) - (scale-float (float 6885578824615594 1.0d0) -107) - (scale-float (float 8907187678671986 1.0d0) -163) - (scale-float (float -8339075431974752 1.0d0) -217)) - (%make-qd-d (scale-float (float 7725732496764478 1.0d0) -53) - (scale-float (float -7818211417288033 1.0d0) -107) - (scale-float (float -6456405933798609 1.0d0) -162) - (scale-float (float 8810079633059484 1.0d0) -216)) - (%make-qd-d (scale-float (float 7711489578089543 1.0d0) -53) - (scale-float (float 5958610143385566 1.0d0) -109) - (scale-float (float 6585953111264567 1.0d0) -163) - (scale-float (float 7861064189197966 1.0d0) -221)) - (%make-qd-d (scale-float (float 7697174075937797 1.0d0) -53) - (scale-float (float -8431721695184386 1.0d0) -109) - (scale-float (float 6029995679316329 1.0d0) -165) - (scale-float (float -4921123855682338 1.0d0) -223)) - (%make-qd-d (scale-float (float 7682786125052197 1.0d0) -53) - (scale-float (float 8811647176963032 1.0d0) -108) - (scale-float (float 8691431362536178 1.0d0) -163) - (scale-float (float 8880441644193018 1.0d0) -217)) - (%make-qd-d (scale-float (float 7668325860857618 1.0d0) -53) - (scale-float (float -8645153897161875 1.0d0) -107) - (scale-float (float 6512789306468078 1.0d0) -161) - (scale-float (float -8484355539904639 1.0d0) -217)) - (%make-qd-d (scale-float (float 7653793419459571 1.0d0) -53) - (scale-float (float 8407034062131169 1.0d0) -107) - (scale-float (float 9005956094764978 1.0d0) -161) - (scale-float (float -5461770985431486 1.0d0) -217)) - (%make-qd-d (scale-float (float 7639188937642932 1.0d0) -53) - (scale-float (float 6088799942438190 1.0d0) -108) - (scale-float (float 8212922076806082 1.0d0) -162) - (scale-float (float -5247758149286959 1.0d0) -217)) - (%make-qd-d (scale-float (float 7624512552870645 1.0d0) -53) - (scale-float (float -7783483392394296 1.0d0) -107) - (scale-float (float -8043598484014106 1.0d0) -161) - (scale-float (float -7742450129971733 1.0d0) -216)) - (%make-qd-d (scale-float (float 7609764403282432 1.0d0) -53) - (scale-float (float -7079592968846542 1.0d0) -107) - (scale-float (float -5935955209333083 1.0d0) -161) - (scale-float (float 4538668036895069 1.0d0) -216)) - (%make-qd-d (scale-float (float 7594944627693494 1.0d0) -53) - (scale-float (float 5012472405203384 1.0d0) -112) - (scale-float (float 8678696578736612 1.0d0) -171) - (scale-float (float 5214866625493772 1.0d0) -225)) - (%make-qd-d (scale-float (float 7580053365593204 1.0d0) -53) - (scale-float (float -5532305557551308 1.0d0) -107) - (scale-float (float -4918257505158720 1.0d0) -162) - (scale-float (float -5207406790673379 1.0d0) -216)) - (%make-qd-d (scale-float (float 7565090757143791 1.0d0) -53) - (scale-float (float -5410923347089996 1.0d0) -108) - (scale-float (float -8628228715534538 1.0d0) -162) - (scale-float (float -7982155484674416 1.0d0) -216)) - (%make-qd-d (scale-float (float 7550056943179025 1.0d0) -53) - (scale-float (float -5769953684661576 1.0d0) -107) - (scale-float (float 6833859811950236 1.0d0) -162) - (scale-float (float -6174180304901008 1.0d0) -216)) - (%make-qd-d (scale-float (float 7534952065202888 1.0d0) -53) - (scale-float (float -6782132408285718 1.0d0) -108) - (scale-float (float -4588137587016523 1.0d0) -165) - (scale-float (float -5326135934499720 1.0d0) -220)) - (%make-qd-d (scale-float (float 7519776265388244 1.0d0) -53) - (scale-float (float 7471785049762459 1.0d0) -107) - (scale-float (float -6059669116863189 1.0d0) -163) - (scale-float (float -5940063433657282 1.0d0) -219)) - (%make-qd-d (scale-float (float 7504529686575502 1.0d0) -53) - (scale-float (float 6892841323703210 1.0d0) -112) - (scale-float (float 4544841146313886 1.0d0) -166) - (scale-float (float 7653639258512367 1.0d0) -220)) - (%make-qd-d (scale-float (float 7489212472271267 1.0d0) -53) - (scale-float (float 7307564340927176 1.0d0) -112) - (scale-float (float 8783286311491533 1.0d0) -167) - (scale-float (float -5455043666319984 1.0d0) -224)) - (%make-qd-d (scale-float (float 7473824766646994 1.0d0) -53) - (scale-float (float -7619464420816061 1.0d0) -111) - (scale-float (float 5376884603206074 1.0d0) -165) - (scale-float (float 5928941415547088 1.0d0) -220)) - (%make-qd-d (scale-float (float 7458366714537629 1.0d0) -53) - (scale-float (float -7171307255144825 1.0d0) -107) - (scale-float (float 8175016055708132 1.0d0) -161) - (scale-float (float 5281820716761617 1.0d0) -215)) - (%make-qd-d (scale-float (float 7442838461440245 1.0d0) -53) - (scale-float (float -8755102569226029 1.0d0) -107) - (scale-float (float 8064787730576089 1.0d0) -163) - (scale-float (float 8026094972828839 1.0d0) -217)) - (%make-qd-d (scale-float (float 7427240153512674 1.0d0) -53) - (scale-float (float -8603752879918352 1.0d0) -108) - (scale-float (float 7911734751209565 1.0d0) -165) - (scale-float (float 5703206095815899 1.0d0) -219)) - (%make-qd-d (scale-float (float 7411571937572131 1.0d0) -53) - (scale-float (float 4930416562782670 1.0d0) -108) - (scale-float (float 5664227737707146 1.0d0) -162) - (scale-float (float 6002228034137708 1.0d0) -216)) - (%make-qd-d (scale-float (float 7395833961093832 1.0d0) -53) - (scale-float (float 4983815042703658 1.0d0) -107) - (scale-float (float -4979969880744113 1.0d0) -161) - (scale-float (float -5871087828457004 1.0d0) -215)) - (%make-qd-d (scale-float (float 7380026372209606 1.0d0) -53) - (scale-float (float -7821016727474824 1.0d0) -107) - (scale-float (float -5827108382516599 1.0d0) -168) - (scale-float (float -5157322064549901 1.0d0) -225)) - (%make-qd-d (scale-float (float 7364149319706498 1.0d0) -53) - (scale-float (float -4829858251010421 1.0d0) -108) - (scale-float (float -4575860067979415 1.0d0) -162) - (scale-float (float 8705566695469741 1.0d0) -217)) - (%make-qd-d (scale-float (float 7348202953025374 1.0d0) -53) - (scale-float (float 5364466528429990 1.0d0) -109) - (scale-float (float -5385055512047183 1.0d0) -164) - (scale-float (float 6361734986933710 1.0d0) -218)) - (%make-qd-d (scale-float (float 7332187422259511 1.0d0) -53) - (scale-float (float -8458146418590874 1.0d0) -107) - (scale-float (float -5567640357155716 1.0d0) -161) - (scale-float (float -8918513373518274 1.0d0) -215)) - (%make-qd-d (scale-float (float 7316102878153182 1.0d0) -53) - (scale-float (float 5038888112811017 1.0d0) -107) - (scale-float (float 5296374816773052 1.0d0) -164) - (scale-float (float -6253164519860774 1.0d0) -219)) - (%make-qd-d (scale-float (float 7299949472100244 1.0d0) -53) - (scale-float (float 7632795593885122 1.0d0) -108) - (scale-float (float -4532413022792557 1.0d0) -162) - (scale-float (float -7665957245126532 1.0d0) -216)) - (%make-qd-d (scale-float (float 7283727356142706 1.0d0) -53) - (scale-float (float 6052374734052898 1.0d0) -109) - (scale-float (float -8397589869895301 1.0d0) -163) - (scale-float (float 5039286009373352 1.0d0) -217)) - (%make-qd-d (scale-float (float 7267436682969301 1.0d0) -53) - (scale-float (float 7986499572183919 1.0d0) -107) - (scale-float (float 8709385497029640 1.0d0) -161) - (scale-float (float 8014662541064248 1.0d0) -215)) - (%make-qd-d (scale-float (float 7251077605914050 1.0d0) -53) - (scale-float (float 8334981517291728 1.0d0) -107) - (scale-float (float 7375650104466233 1.0d0) -163) - (scale-float (float 6173629469842000 1.0d0) -219)) - (%make-qd-d (scale-float (float 7234650278954817 1.0d0) -53) - (scale-float (float -5364390638462068 1.0d0) -107) - (scale-float (float -7157105785322597 1.0d0) -162) - (scale-float (float 5984618093282123 1.0d0) -217)) - (%make-qd-d (scale-float (float 7218154856711858 1.0d0) -53) - (scale-float (float -6801264200501575 1.0d0) -108) - (scale-float (float -5120886861157727 1.0d0) -163) - (scale-float (float 8524267759255856 1.0d0) -218)) - (%make-qd-d (scale-float (float 7201591494446370 1.0d0) -53) - (scale-float (float 6606134571941243 1.0d0) -108) - (scale-float (float -5696846492939078 1.0d0) -162) - (scale-float (float 7226358878672853 1.0d0) -223)) - (%make-qd-d (scale-float (float 7184960348059028 1.0d0) -53) - (scale-float (float -7582499304585468 1.0d0) -107) - (scale-float (float 6745092272239030 1.0d0) -161) - (scale-float (float 5325527634933226 1.0d0) -220)) - (%make-qd-d (scale-float (float 7168261574088514 1.0d0) -53) - (scale-float (float -4877955993986654 1.0d0) -107) - (scale-float (float -6575649792954184 1.0d0) -161) - (scale-float (float -6938160611470782 1.0d0) -216)) - (%make-qd-d (scale-float (float 7151495329710049 1.0d0) -53) - (scale-float (float -4815506917589854 1.0d0) -109) - (scale-float (float 5641242290599654 1.0d0) -164) - (scale-float (float -8417705599718850 1.0d0) -220)) - (%make-qd-d (scale-float (float 7134661772733911 1.0d0) -53) - (scale-float (float -6017847752979687 1.0d0) -107) - (scale-float (float -8695617460185062 1.0d0) -162) - (scale-float (float 6176165148681625 1.0d0) -217)) - (%make-qd-d (scale-float (float 7117761061603948 1.0d0) -53) - (scale-float (float 7482393772340198 1.0d0) -108) - (scale-float (float 8465649163872175 1.0d0) -162) - (scale-float (float -8080110543307406 1.0d0) -216)) - (%make-qd-d (scale-float (float 7100793355396091 1.0d0) -53) - (scale-float (float 5581231234277131 1.0d0) -107) - (scale-float (float 5176821120801589 1.0d0) -161) - (scale-float (float 8995859729422842 1.0d0) -215)) - (%make-qd-d (scale-float (float 7083758813816853 1.0d0) -53) - (scale-float (float -6350271866355127 1.0d0) -109) - (scale-float (float 7928602718099880 1.0d0) -164) - (scale-float (float 4824946278411294 1.0d0) -219)) - (%make-qd-d (scale-float (float 7066657597201826 1.0d0) -53) - (scale-float (float -5557572698368406 1.0d0) -109) - (scale-float (float -4935627699312564 1.0d0) -164) - (scale-float (float -7115034144224561 1.0d0) -218)) - (%make-qd-d (scale-float (float 7049489866514174 1.0d0) -53) - (scale-float (float 5889743500293894 1.0d0) -109) - (scale-float (float 7906589096317472 1.0d0) -163) - (scale-float (float -7234212083698060 1.0d0) -218)) - (%make-qd-d (scale-float (float 7032255783343117 1.0d0) -53) - (scale-float (float -6438369056191217 1.0d0) -109) - (scale-float (float -6365182518869508 1.0d0) -171) - (scale-float (float 5309542037636005 1.0d0) -230)) - (%make-qd-d (scale-float (float 7014955509902409 1.0d0) -53) - (scale-float (float -8077716446967319 1.0d0) -108) - (scale-float (float 6329167020324237 1.0d0) -166) - (scale-float (float -8791449117706018 1.0d0) -223)) - (%make-qd-d (scale-float (float 6997589209028812 1.0d0) -53) - (scale-float (float 5024754586498263 1.0d0) -109) - (scale-float (float -7013631527035059 1.0d0) -163) - (scale-float (float 6438066485620793 1.0d0) -217)) - (%make-qd-d (scale-float (float 6980157044180565 1.0d0) -53) - (scale-float (float -8471408082297477 1.0d0) -107) - (scale-float (float -5650375399951533 1.0d0) -162) - (scale-float (float 7798954431786796 1.0d0) -217)) - (%make-qd-d (scale-float (float 6962659179435841 1.0d0) -53) - (scale-float (float -5284120524567405 1.0d0) -107) - (scale-float (float 8103036997132110 1.0d0) -162) - (scale-float (float -8418944709321890 1.0d0) -217)) - (%make-qd-d (scale-float (float 6945095779491208 1.0d0) -53) - (scale-float (float -7230020631985237 1.0d0) -107) - (scale-float (float -8729130008304460 1.0d0) -161) - (scale-float (float -7244986705962520 1.0d0) -216)) - (%make-qd-d (scale-float (float 6927467009660074 1.0d0) -53) - (scale-float (float 8363890541356943 1.0d0) -107) - (scale-float (float 7641557639387694 1.0d0) -161) - (scale-float (float -8529781507802362 1.0d0) -215)) - (%make-qd-d (scale-float (float 6909773035871137 1.0d0) -53) - (scale-float (float -6128826147983157 1.0d0) -108) - (scale-float (float -7985270411148689 1.0d0) -162) - (scale-float (float -4747232722969418 1.0d0) -217)) - (%make-qd-d (scale-float (float 6892014024666815 1.0d0) -53) - (scale-float (float -5307050774979789 1.0d0) -107) - (scale-float (float 6534150355198809 1.0d0) -162) - (scale-float (float -7794201099075978 1.0d0) -217)) - (%make-qd-d (scale-float (float 6874190143201685 1.0d0) -53) - (scale-float (float 6831699276871462 1.0d0) -111) - (scale-float (float 6569994269441010 1.0d0) -165) - (scale-float (float 6039155211825079 1.0d0) -222)) - (%make-qd-d (scale-float (float 6856301559240908 1.0d0) -53) - (scale-float (float 5730269256517324 1.0d0) -107) - (scale-float (float 7502511311955837 1.0d0) -162) - (scale-float (float -8934221579630434 1.0d0) -216)) - (%make-qd-d (scale-float (float 6838348441158650 1.0d0) -53) - (scale-float (float -6256529846772154 1.0d0) -107) - (scale-float (float 6949788990055632 1.0d0) -164) - (scale-float (float -5274624651616658 1.0d0) -218)) - (%make-qd-d (scale-float (float 6820330957936494 1.0d0) -53) - (scale-float (float -6460871939863669 1.0d0) -108) - (scale-float (float 4607738561562238 1.0d0) -163) - (scale-float (float 8738499798315367 1.0d0) -218)) - (%make-qd-d (scale-float (float 6802249279161855 1.0d0) -53) - (scale-float (float -6296386214088169 1.0d0) -108) - (scale-float (float -8828921206139670 1.0d0) -164) - (scale-float (float -8935639395611922 1.0d0) -218)) - (%make-qd-d (scale-float (float 6784103575026380 1.0d0) -53) - (scale-float (float -6155758343732070 1.0d0) -107) - (scale-float (float -7834764184816714 1.0d0) -163) - (scale-float (float -5655570170200821 1.0d0) -219)) - (%make-qd-d (scale-float (float 6765894016324346 1.0d0) -53) - (scale-float (float 7058239787845383 1.0d0) -107) - (scale-float (float 7374070516477953 1.0d0) -161) - (scale-float (float -6947421257903780 1.0d0) -216)) - (%make-qd-d (scale-float (float 6747620774451057 1.0d0) -53) - (scale-float (float -7257707922049303 1.0d0) -107) - (scale-float (float -7075429107224891 1.0d0) -161) - (scale-float (float 5969459465011328 1.0d0) -215)) - (%make-qd-d (scale-float (float 6729284021401222 1.0d0) -53) - (scale-float (float 7707201987390816 1.0d0) -109) - (scale-float (float 5142737538491299 1.0d0) -164) - (scale-float (float 4644279882924390 1.0d0) -218)) - (%make-qd-d (scale-float (float 6710883929767346 1.0d0) -53) - (scale-float (float 4893313667710853 1.0d0) -108) - (scale-float (float 4729360090805088 1.0d0) -162) - (scale-float (float 8707005308054696 1.0d0) -216)) - (%make-qd-d (scale-float (float 6692420672738099 1.0d0) -53) - (scale-float (float -8159898852694060 1.0d0) -108) - (scale-float (float 8316410770739968 1.0d0) -163) - (scale-float (float 6356993048951430 1.0d0) -217)) - (%make-qd-d (scale-float (float 6673894424096687 1.0d0) -53) - (scale-float (float -4773219099675351 1.0d0) -108) - (scale-float (float -5793443213505971 1.0d0) -163) - (scale-float (float 6620801067481707 1.0d0) -217)) - (%make-qd-d (scale-float (float 6655305358219218 1.0d0) -53) - (scale-float (float 5569529363635887 1.0d0) -107) - (scale-float (float -8012910396303650 1.0d0) -162) - (scale-float (float -5648248265418359 1.0d0) -220)) - (%make-qd-d (scale-float (float 6636653650073061 1.0d0) -53) - (scale-float (float -4694561351059034 1.0d0) -107) - (scale-float (float -8102538682924120 1.0d0) -164) - (scale-float (float -7786569469548835 1.0d0) -218)) - (%make-qd-d (scale-float (float 6617939475215195 1.0d0) -53) - (scale-float (float -5599177568223260 1.0d0) -107) - (scale-float (float -6932779364632684 1.0d0) -161) - (scale-float (float -8360972497909144 1.0d0) -217)) - (%make-qd-d (scale-float (float 6599163009790561 1.0d0) -53) - (scale-float (float 6139460555376271 1.0d0) -108) - (scale-float (float -8841336350505836 1.0d0) -162) - (scale-float (float -8249924986768898 1.0d0) -219)) - (%make-qd-d (scale-float (float 6580324430530404 1.0d0) -53) - (scale-float (float -4817471423188767 1.0d0) -107) - (scale-float (float -6592466314970465 1.0d0) -162) - (scale-float (float -6430688881172527 1.0d0) -217)) - (%make-qd-d (scale-float (float 6561423914750605 1.0d0) -53) - (scale-float (float 4953302629983138 1.0d0) -115) - (scale-float (float 8830091491978098 1.0d0) -170) - (scale-float (float 6566412636432061 1.0d0) -225)) - (%make-qd-d (scale-float (float 6542461640350018 1.0d0) -53) - (scale-float (float -5178910864670558 1.0d0) -107) - (scale-float (float 4504226005724943 1.0d0) -162) - (scale-float (float 8731627485611706 1.0d0) -217)) - (%make-qd-d (scale-float (float 6523437785808790 1.0d0) -53) - (scale-float (float 4737722843238748 1.0d0) -107) - (scale-float (float 6730894629032702 1.0d0) -161) - (scale-float (float -8714007801572383 1.0d0) -222)) - (%make-qd-d (scale-float (float 6504352530186687 1.0d0) -53) - (scale-float (float -7746667435587544 1.0d0) -108) - (scale-float (float 6217885893994028 1.0d0) -162) - (scale-float (float -4696784861307301 1.0d0) -216)) - (%make-qd-d (scale-float (float 6485206053121402 1.0d0) -53) - (scale-float (float -8336770935428512 1.0d0) -108) - (scale-float (float -5348661455957571 1.0d0) -162) - (scale-float (float 4676263914929793 1.0d0) -216)) - (%make-qd-d (scale-float (float 6465998534826869 1.0d0) -53) - (scale-float (float 8764102551217140 1.0d0) -108) - (scale-float (float -5344409034097828 1.0d0) -164) - (scale-float (float 7727976365078167 1.0d0) -219)) - (%make-qd-d (scale-float (float 6446730156091567 1.0d0) -53) - (scale-float (float -8369498756096622 1.0d0) -107) - (scale-float (float -6424186581703649 1.0d0) -165) - (scale-float (float 7285509676227856 1.0d0) -219)) - (%make-qd-d (scale-float (float 6427401098276813 1.0d0) -53) - (scale-float (float -6870464143590238 1.0d0) -107) - (scale-float (float -4991363196461545 1.0d0) -163) - (scale-float (float -5550457137190991 1.0d0) -217)) - (%make-qd-d (scale-float (float 6408011543315061 1.0d0) -53) - (scale-float (float 5169145614950999 1.0d0) -109) - (scale-float (float 6895537652308040 1.0d0) -164) - (scale-float (float 7155016695131698 1.0d0) -218)) - (%make-qd-d (scale-float (float 6388561673708188 1.0d0) -53) - (scale-float (float -6100520299916709 1.0d0) -107) - (scale-float (float 4963552307172142 1.0d0) -165) - (scale-float (float 7537451794849143 1.0d0) -219)) - (%make-qd-d (scale-float (float 6369051672525773 1.0d0) -53) - (scale-float (float -7843040109683798 1.0d0) -107) - (scale-float (float 6048680740045173 1.0d0) -161) - (scale-float (float 5197737643093849 1.0d0) -217)))) - "A table of cos(k/1024) for k = 1 to 256") - - -#|| -;; Here is a function for clisp that can be used to create the atan2 table -;; that we need. - -(defun make-atan-table-data () - (let ((scale 1l0)) - (dotimes (k 67) - (let* ((x (scale-float 1L0 (- 2 k))) - (p (atan x))) - (setf scale (* scale (cos p))) - (multiple-value-bind (int exp sign) - (integer-decode-float p) - (let* ((len (integer-length int)) - (wanted (ldb (byte 212 (- len 212)) int)) - (bit (ldb (byte 1 (- len (* 4 53) 1)) int)) - (roundp (not (zerop (ldb (byte (- len (* 4 53) 2) 0) int))))) - ;;(format t "~&~v,'0b~%" len int) - ;;(format t "~b~a~%" wanted (make-string (- len 212) :initial-element #\-)) - ;;(format t "~v,'-b~%" len (ash bit (- len 212 1))) - ;;(format t "~v,'-b~%" len (ldb (byte (- len (* 4 53) 2) 0) int)) - ;; See if we need to round up the answer. - (when (= bit 1) - ;; Round to even - (cond (roundp - (incf wanted)) - (t - ;; Round to even - (when (oddp wanted) - (incf wanted))))) - ;;(format t "~b~a~%" wanted (make-string (- len 212) :initial-element #\-)) - - (let* ((i0 (ldb (byte 53 (* 3 53)) wanted)) - (i1 (ldb (byte 53 (* 2 53)) wanted)) - (i2 (ldb (byte 53 (* 1 53)) wanted)) - (i3 (ldb (byte 53 0) wanted))) - (write `(make-qd-d - (scale-float (float ,i0 1d0) ,(+ exp (- len (* 1 53)))) - (scale-float (float ,i1 1d0) ,(+ exp (- len (* 2 53)))) - (scale-float (float ,i2 1d0) ,(+ exp (- len (* 3 53)))) - (scale-float (float ,i3 1d0) ,(+ exp (- len (* 4 53))))) - :case :downcase)))))) - scale)) -||# - - -#+nil -(defconstant +atan-table+ - (make-array 66 - :initial-contents - (list - +qd-pi/4+ - +qd-pi/4+ - +qd-pi/4+ - ;; Do we need to make these values more accurate? (The - ;; reader has quite a bit of roundoff.) - #.(qd-from-string "0.46364760900080611621425623146121440202853705428612026381093308872018q0") - #.(qd-from-string "0.24497866312686415417208248121127581091414409838118406712737591466738q0") - #.(qd-from-string "0.12435499454676143503135484916387102557317019176980408991511411911572q0") - #.(qd-from-string "0.062418809995957348473979112985505113606273887797499194607527816898697q0") - #.(qd-from-string "0.031239833430268276253711744892490977032495663725400040255315586255793q0") - #.(qd-from-string "0.0156237286204768308028015212565703189111141398009054178814105073966645q0") - #.(qd-from-string "0.0078123410601011112964633918421992816212228117250147235574539022483893q0") - #.(qd-from-string "0.003906230131966971827628665311424387140357490115202856215213095149011q0") - #.(qd-from-string "0.00195312251647881868512148262507671393161074677723351033905753396043094q0") - #.(qd-from-string "9.7656218955931943040343019971729085163419701581008759004900725226773q-4") - #.(qd-from-string "4.8828121119489827546923962564484866619236113313500303710940335348752q-4") - #.(qd-from-string "2.4414062014936176401672294325965998621241779097061761180790046091019q-4") - #.(qd-from-string "1.22070311893670204239058646117956300930829409015787498451939837846645q-4") - #.(qd-from-string "6.1035156174208775021662569173829153785143536833346179337671134316588q-5") - #.(qd-from-string "3.0517578115526096861825953438536019750949675119437837531021156883611q-5") - #.(qd-from-string "1.5258789061315762107231935812697885137429238144575874846241186407446q-5") - #.(qd-from-string "7.6293945311019702633884823401050905863507439184680771577638306965336q-6") - #.(qd-from-string "3.8146972656064962829230756163729937228052573039688663101874392503939q-6") - #.(qd-from-string "1.9073486328101870353653693059172441687143421654501533666700577234671q-6") - #.(qd-from-string "9.53674316405960879420670689923112390019634124498790160133611802076q-7") - #.(qd-from-string "4.7683715820308885992758382144924707587049404378664196740053215887142q-7") - #.(qd-from-string "2.3841857910155798249094797721893269783096898769063155913766911372218q-7") - #.(qd-from-string "1.19209289550780685311368497137922112645967587664586735576738225215437q-7") - #.(qd-from-string "5.9604644775390554413921062141788874250030195782366297314294565710003q-8") - #.(qd-from-string "2.9802322387695303676740132767709503349043907067445107249258477840843q-8") - #.(qd-from-string "1.4901161193847655147092516595963247108248930025964720012170057805491q-8") - #.(qd-from-string "7.4505805969238279871365645744953921132066925545665870075947601416172q-9") - #.(qd-from-string "3.725290298461914045267070571811923583671948328737040524231998269239q-9") - #.(qd-from-string "1.8626451492309570290958838214764904345065282835738863513491050124951q-9") - #.(qd-from-string "9.3132257461547851535573547768456130389292649614929067394376854242196q-10") - #.(qd-from-string "4.6566128730773925777884193471057016297347863891561617421323492554414q-10") - #.(qd-from-string "2.32830643653869628902042741838821270371274293204981860525486662280605q-10") - #.(qd-from-string "1.16415321826934814452599092729852658796396457380014290026584979170883q-10") - #.(qd-from-string "5.8207660913467407226496761591231582349549156257795272423976206167147q-11") - #.(qd-from-string "2.9103830456733703613273032698903947793693632003639830495829934525029q-11") - #.(qd-from-string "1.4551915228366851806639597837362993474211703608936710732067270213307q-11") - #.(qd-from-string "7.2759576141834259033201841046703741842764629388821429640111752890838q-12") - #.(qd-from-string "3.6379788070917129516601402005837967730345578669779258118296083646486q-12") - #.(qd-from-string "1.81898940354585647583007611882297459662931973336029253714520765350336q-12") - #.(qd-from-string "9.094947017729282379150388117278718245786649666696631862264792881855q-13") - #.(qd-from-string "4.5474735088646411895751949990348397807233312083369623012466392138249q-13") - #.(qd-from-string "2.2737367544323205947875976170668549725904164010421166413578155299654q-13") - #.(qd-from-string "1.1368683772161602973937988232271068715738020501302644662229139921281q-13") - #.(qd-from-string "5.6843418860808014869689941345026335894672525626628305471702634435609q-14") - #.(qd-from-string "2.8421709430404007434844970695472041986834065703328538172835210852389q-14") - #.(qd-from-string "1.42108547152020037174224853506058802483542582129160672712566632799217q-14") - #.(qd-from-string "7.1054273576010018587112426756616725310442822766145084088962160950957q-15") - #.(qd-from-string "3.5527136788005009293556213378756778163805352845768135511116874239215q-15") - #.(qd-from-string "1.7763568394002504646778106689434441020475669105721016938889503158663q-15") - #.(qd-from-string "8.881784197001252323389053344724227002559458638215127117361184578544q-16") - #.(qd-from-string "4.440892098500626161694526672362989312819932329776890889670147968684q-16") - #.(qd-from-string "2.22044604925031308084726333618160413285249154122211136120876849284695q-16") - #.(qd-from-string "1.11022302462515654042363166809081575098156144265276392015109606150467q-16") - #.(qd-from-string "5.5511151231257827021181583404540958606019518033159549001888700768492q-17") - #.(qd-from-string "2.7755575615628913510590791702270500685127439754144943625236087596052q-17") - #.(qd-from-string "1.3877787807814456755295395851135253015328429969268117953154510949506q-17") - #.(qd-from-string "6.9388939039072283776476979255676268417598037461585147441443138686883q-18") - #.(qd-from-string "3.4694469519536141888238489627838134626418504682698143430180392335861q-18") - #.(qd-from-string "1.7347234759768070944119244813919067365411688085337267928772549041983q-18") - #.(qd-from-string "8.673617379884035472059622406959533689231148510667158491096568630248q-19") - #.(qd-from-string "4.336808689942017736029811203479766845431237313833394811387071078781q-19") - #.(qd-from-string "2.16840434497100886801490560173988342281757653922917435142338388484765q-19") - #.(qd-from-string "1.08420217248550443400745280086994171142153300490364679392792298560597q-19") - - )) - "Table of atan(2^(-k)) for k = 1 to 64. But the first three entries are 1") - -(defconstant +atan-table+ - (make-array 67 - :initial-contents - (list - (%make-qd-d (scale-float (float 5970951936056572 1.0d0) -52) - (scale-float (float 5427585433121543 1.0d0) -105) - (scale-float (float 5608515294538868 1.0d0) -158) - (scale-float (float 445395631680583 1.0d0) -211)) - (%make-qd-d (scale-float (float 4986154552901188 1.0d0) -52) - (scale-float (float 3814906810089799 1.0d0) -105) - (scale-float (float 1896417689773139 1.0d0) -158) - (scale-float (float 3393132800284032 1.0d0) -211)) - (%make-qd-d (scale-float (float 7074237752028440 1.0d0) -53) - (scale-float (float 2483878800010755 1.0d0) -106) - (scale-float (float 3956492004828932 1.0d0) -159) - (scale-float (float 2434854662709436 1.0d0) -212)) - (%make-qd-d (scale-float (float 8352332796509007 1.0d0) -54) - (scale-float (float 3683087214424816 1.0d0) -107) - (scale-float (float 8240297260223171 1.0d0) -160) - (scale-float (float 5174086704442609 1.0d0) -213)) - (%make-qd-d (scale-float (float 8826286527774941 1.0d0) -55) - (scale-float (float 3471944699336670 1.0d0) -108) - (scale-float (float 4798212191802497 1.0d0) -161) - (scale-float (float 6908472993489831 1.0d0) -214)) - (%make-qd-d (scale-float (float 8960721713639277 1.0d0) -56) - (scale-float (float 6978747913895162 1.0d0) -109) - (scale-float (float 1204496828771308 1.0d0) -162) - (scale-float (float 6150314016033077 1.0d0) -215)) - (%make-qd-d (scale-float (float 8995498542038505 1.0d0) -57) - (scale-float (float 6996384121843768 1.0d0) -110) - (scale-float (float 6481245652257127 1.0d0) -163) - (scale-float (float 6083920726820778 1.0d0) -216)) - (%make-qd-d (scale-float (float 9004268940523044 1.0d0) -58) - (scale-float (float 5921825575778154 1.0d0) -111) - (scale-float (float 1742767809528138 1.0d0) -164) - (scale-float (float 3392785816514584 1.0d0) -217)) - (%make-qd-d (scale-float (float 9006466354344602 1.0d0) -59) - (scale-float (float 6455912199422039 1.0d0) -112) - (scale-float (float 7793493312778976 1.0d0) -165) - (scale-float (float 4748718880757240 1.0d0) -218)) - (%make-qd-d (scale-float (float 9007016009513623 1.0d0) -60) - (scale-float (float 1583402193514233 1.0d0) -113) - (scale-float (float 4599960241393675 1.0d0) -166) - (scale-float (float 4964226307734805 1.0d0) -219)) - (%make-qd-d (scale-float (float 9007153442175927 1.0d0) -61) - (scale-float (float 1458797116501429 1.0d0) -114) - (scale-float (float 2180379843517813 1.0d0) -167) - (scale-float (float 7244224576758923 1.0d0) -220)) - (%make-qd-d (scale-float (float 9007187801521083 1.0d0) -62) - (scale-float (float 5961909987006481 1.0d0) -115) - (scale-float (float 1439161705865198 1.0d0) -168) - (scale-float (float 1250151122136839 1.0d0) -221)) - (%make-qd-d (scale-float (float 9007196391431099 1.0d0) -63) - (scale-float (float 6595226783193595 1.0d0) -116) - (scale-float (float 7270788700276565 1.0d0) -169) - (scale-float (float 5212528258452836 1.0d0) -222)) - (%make-qd-d (scale-float (float 9007198538913211 1.0d0) -64) - (scale-float (float 6605122380416172 1.0d0) -117) - (scale-float (float 2579496809882929 1.0d0) -170) - (scale-float (float 2545695100421145 1.0d0) -223)) - (%make-qd-d (scale-float (float 9007199075784027 1.0d0) -65) - (scale-float (float 6605276999209814 1.0d0) -118) - (scale-float (float 8635423593413256 1.0d0) -171) - (scale-float (float 6747877897971029 1.0d0) -224)) - (%make-qd-d (scale-float (float 9007199210001749 1.0d0) -66) - (scale-float (float 6605279415128805 1.0d0) -119) - (scale-float (float 5633073770825222 1.0d0) -172) - (scale-float (float 744251135568860 1.0d0) -225)) - (%make-qd-d (scale-float (float 9007199243556181 1.0d0) -67) - (scale-float (float 3227579732349669 1.0d0) -120) - (scale-float (float 1645511649516378 1.0d0) -173) - (scale-float (float 7212311609477561 1.0d0) -226)) - (%make-qd-d (scale-float (float 9007199251944789 1.0d0) -68) - (scale-float (float 3016473500406501 1.0d0) -121) - (scale-float (float 1629935234837168 1.0d0) -174) - (scale-float (float 1206159191623029 1.0d0) -227)) - (%make-qd-d (scale-float (float 9007199254041941 1.0d0) -69) - (scale-float (float 3003279360882405 1.0d0) -122) - (scale-float (float 1629874389467187 1.0d0) -175) - (scale-float (float 8712158240272416 1.0d0) -228)) - (%make-qd-d (scale-float (float 9007199254566229 1.0d0) -70) - (scale-float (float 3002454727161717 1.0d0) -123) - (scale-float (float 1629874151789961 1.0d0) -176) - (scale-float (float 3116377062563786 1.0d0) -229)) - (%make-qd-d (scale-float (float 9007199254697301 1.0d0) -71) - (scale-float (float 3002403187554167 1.0d0) -124) - (scale-float (float 3881673964546782 1.0d0) -177) - (scale-float (float 6119176246102625 1.0d0) -230)) - (%make-qd-d (scale-float (float 9007199254730069 1.0d0) -72) - (scale-float (float 3002399966328695 1.0d0) -125) - (scale-float (float 4198333313342644 1.0d0) -178) - (scale-float (float 114377133012236 1.0d0) -231)) - (%make-qd-d (scale-float (float 9007199254738261 1.0d0) -73) - (scale-float (float 3002399765002103 1.0d0) -126) - (scale-float (float 4203281115667621 1.0d0) -179) - (scale-float (float 7620376512343991 1.0d0) -232)) - (%make-qd-d (scale-float (float 9007199254740309 1.0d0) -74) - (scale-float (float 3002399752419191 1.0d0) -127) - (scale-float (float 4203358425078949 1.0d0) -180) - (scale-float (float 7121931241085909 1.0d0) -233)) - (%make-qd-d (scale-float (float 9007199254740821 1.0d0) -75) - (scale-float (float 3002399751632759 1.0d0) -128) - (scale-float (float 4203359633038501 1.0d0) -181) - (scale-float (float 7119984189245056 1.0d0) -234)) - (%make-qd-d (scale-float (float 9007199254740949 1.0d0) -76) - (scale-float (float 3002399751583607 1.0d0) -129) - (scale-float (float 4203359651912869 1.0d0) -182) - (scale-float (float 7119976583573803 1.0d0) -235)) - (%make-qd-d (scale-float (float 9007199254740981 1.0d0) -77) - (scale-float (float 3002399751580535 1.0d0) -130) - (scale-float (float 4203359652207781 1.0d0) -183) - (scale-float (float 7119976553864150 1.0d0) -236)) - (%make-qd-d (scale-float (float 9007199254740989 1.0d0) -78) - (scale-float (float 3002399751580343 1.0d0) -131) - (scale-float (float 4203359652212389 1.0d0) -184) - (scale-float (float 7119976553748096 1.0d0) -237)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -79) - (scale-float (float 3002399751580331 1.0d0) -132) - (scale-float (float 4203359652212461 1.0d0) -185) - (scale-float (float 7119976553747643 1.0d0) -238)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -80) - (scale-float (float 7505999378950826 1.0d0) -133) - (scale-float (float 6455159465897710 1.0d0) -186) - (scale-float (float 8245876460590265 1.0d0) -239)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -81) - (scale-float (float 8631899285793450 1.0d0) -134) - (scale-float (float 6032947000831726 1.0d0) -187) - (scale-float (float 8404206134990009 1.0d0) -240)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -82) - (scale-float (float 8913374262504106 1.0d0) -135) - (scale-float (float 6006558721765102 1.0d0) -188) - (scale-float (float 8406680036152505 1.0d0) -241)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -83) - (scale-float (float 8983743006681770 1.0d0) -136) - (scale-float (float 6004909454323438 1.0d0) -189) - (scale-float (float 8406718690858169 1.0d0) -242)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -84) - (scale-float (float 9001335192726186 1.0d0) -137) - (scale-float (float 6004806375108334 1.0d0) -190) - (scale-float (float 8406719294837945 1.0d0) -243)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -85) - (scale-float (float 9005733239237290 1.0d0) -138) - (scale-float (float 6004799932657390 1.0d0) -191) - (scale-float (float 8406719304275129 1.0d0) -244)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -86) - (scale-float (float 9006832750865066 1.0d0) -139) - (scale-float (float 6004799530004206 1.0d0) -192) - (scale-float (float 8406719304422585 1.0d0) -245)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -87) - (scale-float (float 9007107628772010 1.0d0) -140) - (scale-float (float 6004799504838382 1.0d0) -193) - (scale-float (float 8406719304424889 1.0d0) -246)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -88) - (scale-float (float 9007176348248746 1.0d0) -141) - (scale-float (float 6004799503265518 1.0d0) -194) - (scale-float (float 8406719304424925 1.0d0) -247)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -89) - (scale-float (float 9007193528117930 1.0d0) -142) - (scale-float (float 6004799503167214 1.0d0) -195) - (scale-float (float 8406719304424926 1.0d0) -248)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -90) - (scale-float (float 9007197823085226 1.0d0) -143) - (scale-float (float 6004799503161070 1.0d0) -196) - (scale-float (float 8406719304424926 1.0d0) -249)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -91) - (scale-float (float 9007198896827050 1.0d0) -144) - (scale-float (float 6004799503160686 1.0d0) -197) - (scale-float (float 8406719304424926 1.0d0) -250)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -92) - (scale-float (float 9007199165262506 1.0d0) -145) - (scale-float (float 6004799503160662 1.0d0) -198) - (scale-float (float 8406719304424926 1.0d0) -251)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -93) - (scale-float (float 9007199232371370 1.0d0) -146) - (scale-float (float 6004799503160661 1.0d0) -199) - (scale-float (float 3903119677054430 1.0d0) -252)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -94) - (scale-float (float 9007199249148586 1.0d0) -147) - (scale-float (float 6004799503160661 1.0d0) -200) - (scale-float (float 3058694746922462 1.0d0) -253)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -95) - (scale-float (float 9007199253342890 1.0d0) -148) - (scale-float (float 6004799503160661 1.0d0) -201) - (scale-float (float 3005918188789214 1.0d0) -254)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -96) - (scale-float (float 9007199254391466 1.0d0) -149) - (scale-float (float 6004799503160661 1.0d0) -202) - (scale-float (float 3002619653905886 1.0d0) -255)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -97) - (scale-float (float 9007199254653610 1.0d0) -150) - (scale-float (float 6004799503160661 1.0d0) -203) - (scale-float (float 3002413495475678 1.0d0) -256)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -98) - (scale-float (float 9007199254719146 1.0d0) -151) - (scale-float (float 6004799503160661 1.0d0) -204) - (scale-float (float 3002400610573790 1.0d0) -257)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -99) - (scale-float (float 9007199254735530 1.0d0) -152) - (scale-float (float 6004799503160661 1.0d0) -205) - (scale-float (float 3002399805267422 1.0d0) -258)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -100) - (scale-float (float 9007199254739626 1.0d0) -153) - (scale-float (float 6004799503160661 1.0d0) -206) - (scale-float (float 3002399754935774 1.0d0) -259)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -101) - (scale-float (float 9007199254740650 1.0d0) -154) - (scale-float (float 6004799503160661 1.0d0) -207) - (scale-float (float 3002399751790046 1.0d0) -260)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -102) - (scale-float (float 9007199254740906 1.0d0) -155) - (scale-float (float 6004799503160661 1.0d0) -208) - (scale-float (float 3002399751593438 1.0d0) -261)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -103) - (scale-float (float 9007199254740970 1.0d0) -156) - (scale-float (float 6004799503160661 1.0d0) -209) - (scale-float (float 3002399751581150 1.0d0) -262)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -104) - (scale-float (float 9007199254740986 1.0d0) -157) - (scale-float (float 6004799503160661 1.0d0) -210) - (scale-float (float 3002399751580382 1.0d0) -263)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -105) - (scale-float (float 9007199254740990 1.0d0) -158) - (scale-float (float 6004799503160661 1.0d0) -211) - (scale-float (float 3002399751580334 1.0d0) -264)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -106) - (scale-float (float 9007199254740991 1.0d0) -159) - (scale-float (float 6004799503160661 1.0d0) -212) - (scale-float (float 3002399751580331 1.0d0) -265)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -107) - (scale-float (float 9007199254740991 1.0d0) -160) - (scale-float (float 8256599316845909 1.0d0) -213) - (scale-float (float 3002399751580331 1.0d0) -266)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -108) - (scale-float (float 9007199254740991 1.0d0) -161) - (scale-float (float 8819549270267221 1.0d0) -214) - (scale-float (float 3002399751580331 1.0d0) -267)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -109) - (scale-float (float 9007199254740991 1.0d0) -162) - (scale-float (float 8960286758622549 1.0d0) -215) - (scale-float (float 3002399751580331 1.0d0) -268)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -110) - (scale-float (float 9007199254740991 1.0d0) -163) - (scale-float (float 8995471130711381 1.0d0) -216) - (scale-float (float 3002399751580331 1.0d0) -269)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -111) - (scale-float (float 9007199254740991 1.0d0) -164) - (scale-float (float 9004267223733589 1.0d0) -217) - (scale-float (float 3002399751580331 1.0d0) -270)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -112) - (scale-float (float 9007199254740991 1.0d0) -165) - (scale-float (float 9006466246989141 1.0d0) -218) - (scale-float (float 3002399751580331 1.0d0) -271)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -113) - (scale-float (float 9007199254740991 1.0d0) -166) - (scale-float (float 9007016002803029 1.0d0) -219) - (scale-float (float 3002399751580331 1.0d0) -272)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -114) - (scale-float (float 9007199254740991 1.0d0) -167) - (scale-float (float 9007153441756501 1.0d0) -220) - (scale-float (float 3002399751580331 1.0d0) -273)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -115) - (scale-float (float 9007199254740991 1.0d0) -168) - (scale-float (float 9007187801494869 1.0d0) -221) - (scale-float (float 3002399751580331 1.0d0) -274)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -116) - (scale-float (float 9007199254740991 1.0d0) -169) - (scale-float (float 9007196391429461 1.0d0) -222) - (scale-float (float 3002399751580331 1.0d0) -275)) - (%make-qd-d (scale-float (float 9007199254740991 1.0d0) -117) - (scale-float (float 9007199254740991 1.0d0) -170) - (scale-float (float 9007198538913109 1.0d0) -223) - (scale-float (float 3002399751580331 1.0d0) -276)) - )) - "Table of atan(2^(-k)) for k = -2 to 64. But the first three entries are 1") - -(defconstant +atan-power-table+ - (make-array 67 - :element-type 'double-float - :initial-contents - (loop for k from 0 below 67 - collect (scale-float 1d0 (- 2 k))) - ) -"Table of (2^(-k)) for k = -2 to 64. But the first three entries are 1") - -(defconstant +cordic-scale+ - #.(qd-from-string "0.065865828601599636584870082133151126045971796871364763285694473524426q0")) - -(defun dump-qd (qd) - (flet ((dump-d (d) - (multiple-value-bind (int exp sign) - (integer-decode-float d) - `(scale-float (float ,(* sign int) 1d0) ,exp)))) - (multiple-value-bind (q0 q1 q2 q3) - (qd-parts qd) - `(%make-qd-d ,(dump-d q0) - ,(dump-d q1) - ,(dump-d q2) - ,(dump-d q3))))) diff --git a/external/oct/qd-dd.lisp b/external/oct/qd-dd.lisp deleted file mode 100644 index a36d18d..0000000 --- a/external/oct/qd-dd.lisp +++ /dev/null @@ -1,138 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qdi) - -;;; double-double float routines needed for quad-double. -;;; -;;; Not needed for CMUCL. -;;; -;;; These routines were taken directly from CMUCL. - -(declaim (inline quick-two-sum)) -(defun quick-two-sum (a b) - "Computes fl(a+b) and err(a+b), assuming |a| >= |b|" - (declare (double-float a b)) - (let* ((s (+ a b)) - (e (- b (- s a)))) - (values s e))) - -(declaim (inline two-sum)) -(defun two-sum (a b) - "Computes fl(a+b) and err(a+b)" - (declare (double-float a b)) - (let* ((s (+ a b)) - (v (- s a)) - (e (+ (- a (- s v)) - (- b v)))) - (values s e))) - -(declaim (inline two-prod)) -(declaim (inline split)) -;; This algorithm is the version given by Yozo Hida. It has problems -;; with overflow because we multiply by 1+2^27. -;; -;; But be very careful about replacing this with a new algorithm. The -;; values computed here are very important to get the rounding right. -;; If you change this, the rounding may be different, which will -;; affect other parts of the algorithm. -;; -;; I (rtoy) tried a different algorithm that split the number in two -;; as described, but without overflow. However, that caused -;; -9.4294948327242751340284975915175w0/1w14 to return a value that -;; wasn't really close to -9.4294948327242751340284975915175w-14. -;; -;; This also means we can't print numbers like 1w308 with the current -;; printing algorithm, or even divide 1w308 by 10. -#+nil -(defun split (a) - "Split the double-float number a into a-hi and a-lo such that a = - a-hi + a-lo and a-hi contains the upper 26 significant bits of a and - a-lo contains the lower 26 bits." - (declare (double-float a)) - (let* ((tmp (* a (+ 1 (expt 2 27)))) - (a-hi (- tmp (- tmp a))) - (a-lo (- a a-hi))) - (values a-hi a-lo))) - - -(defun split (a) - "Split the double-float number a into a-hi and a-lo such that a = - a-hi + a-lo and a-hi contains the upper 26 significant bits of a and - a-lo contains the lower 26 bits." - (declare (double-float a) - (optimize (speed 3))) - ;; This splits the number a into 2 halves of 26 bits each, but the - ;; halves are, I think, supposed to be properly rounded in an IEEE - ;; fashion. - ;; - ;; For numbers that are very large, we use a different algorithm. - ;; For smaller numbers, we can use the original algorithm of Yozo - ;; Hida. - (if (> (abs a) (scale-float 1d0 (- 1023 27))) - ;; I've tested this algorithm against Yozo's method for 1 - ;; billion randomly generated double-floats between 2^(-995) and - ;; 2^996, and identical results are obtained. For numbers that - ;; are very small, this algorithm produces different numbers - ;; because of underflow. For very large numbers, we, of course - ;; produce different results because Yozo's method causes - ;; overflow. - (let* ((tmp (* a (+ 1 (scale-float 1d0 -27)))) - (as (* a (scale-float 1d0 -27))) - (a-hi (* (- tmp (- tmp as)) (expt 2 27))) - (a-lo (- a a-hi))) - (values a-hi a-lo)) - ;; Yozo's algorithm. - (let* ((tmp (* a (+ 1 (expt 2 27)))) - (a-hi (- tmp (- tmp a))) - (a-lo (- a a-hi))) - (values a-hi a-lo)))) - - -(defun two-prod (a b) - "Compute fl(a*b) and err(a*b)" - (declare (double-float a b)) - (let ((p (* a b))) - (multiple-value-bind (a-hi a-lo) - (split a) - (multiple-value-bind (b-hi b-lo) - (split b) - (let ((e (+ (+ (- (* a-hi b-hi) p) - (* a-hi b-lo) - (* a-lo b-hi)) - (* a-lo b-lo)))) - (values p e)))))) - -(declaim (inline two-sqr)) -(defun two-sqr (a) - "Compute fl(a*a) and err(a*b). This is a more efficient - implementation of two-prod" - (declare (double-float a)) - (let ((q (* a a))) - (multiple-value-bind (a-hi a-lo) - (split a) - (values q (+ (+ (- (* a-hi a-hi) q) - (* 2 a-hi a-lo)) - (* a-lo a-lo)))))) diff --git a/external/oct/qd-extra.lisp b/external/oct/qd-extra.lisp deleted file mode 100644 index 2a77e88..0000000 --- a/external/oct/qd-extra.lisp +++ /dev/null @@ -1,863 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;;; This file contains various possible implementations of some of the -;;; core routines. These were experiments on faster and/or more -;;; accurate implementations. The routines inf qd-fun.lisp are the -;;; default, but you can select a different implementation from here -;;; if you want. -;;; -;;; The end of the file also includes some tests of the different -;;; implementations for speed. - -(in-package #:qdi) - -;; This works but seems rather slow, so we don't even compile it. -#+(or) -(defun exp-qd/newton (a) - (declare (type %quad-double a)) - ;; Newton iteration - ;; - ;; f(x) = log(x) - a - ;; - ;; x' = x - (log(x) - a)/(1/x) - ;; = x - x*(log(x) - a) - ;; = x*(1 + a - log(x)) - (let ((a1 (add-qd-d a 1d0)) - (x (make-qd-d (exp (qd-0 a))))) - (setf x (mul-qd x (sub-qd a1 (log-qd/agm x)))) - (setf x (mul-qd x (sub-qd a1 (log-qd/agm x)))) - (setf x (mul-qd x (sub-qd a1 (log-qd/agm x)))) - x)) - -(defun expm1-qd/series (a) - (declare (type %quad-double a)) - ;; Compute exp(x) - 1. - ;; - ;; D(x) = exp(x) - 1 - ;; - ;; First, write x = s*log(2) + r*k where s is an integer and |r*k| < - ;; log(2)/2. - ;; - ;; Then D(x) = D(s*log(2)+r*k) = 2^s*exp(r*k) - 1 - ;; = 2^s*(exp(r*k)-1) - 1 + 2^s - ;; = 2^s*D(r*k)+2^s-1 - ;; But - ;; exp(r*k) = exp(r)^k - ;; = (D(r) + 1)^k - ;; - ;; So - ;; D(r*k) = (D(r) + 1)^k - 1 - ;; - ;; For small r, D(r) can be computed using the Taylor series around - ;; zero. To compute D(r*k) = (D(r) + 1)^k - 1, we use the binomial - ;; theorem to expand out the power and to exactly cancel out the -1 - ;; term, which is the source of inaccuracy. - ;; - ;; We want to have small r so the Taylor series converges quickly, - ;; but that means k is large, which means the binomial expansion is - ;; long. We need to compromise. Let use choose k = 8. Then |r| < - ;; log(2)/16 = 0.0433. For this range, the Taylor series converges - ;; to 212 bits of accuracy with about 28 terms. - ;; - ;; - (flet ((taylor (x) - (declare (type %quad-double x)) - ;; Taylor series for exp(x)-1 - ;; = x+x^2/2!+x^3/3!+x^4/4!+... - ;; = x*(1+x/2!+x^2/3!+x^3/4!+...) - (let ((sum +qd-one+) - (term +qd-one+)) - (dotimes (k 28) - (setf term (div-qd-d (mul-qd term x) (float (cl:+ k 2) 1d0))) - (setf sum (add-qd sum term))) - (mul-qd x sum))) - (binom (x) - (declare (type %quad-double x)) - ;; (1+x)^8-1 - ;; = x*(8 + 28*x + 56*x^2 + 70*x^3 + 56*x^4 + 28*x^5 + 8*x^6 + x^7) - ;; = x (x (x (x (x (x (x (x + 8) + 28) + 56) + 70) + 56) + 28) + 8) - (mul-qd - x - (add-qd-d - (mul-qd x - (add-qd-d - (mul-qd x - (add-qd-d - (mul-qd x - (add-qd-d - (mul-qd x - (add-qd-d - (mul-qd x - (add-qd-d - (mul-qd x - (add-qd-d x 8d0)) - 28d0)) - 56d0)) - 70d0)) - 56d0)) - 28d0)) - 8d0))) - (arg-reduce (x) - (declare (type %quad-double x)) - ;; Write x = s*log(2) + r*k where s is an integer and |r*k| - ;; < log(2)/2, and k = 8. - (let* ((s (truncate (qd-0 (nint-qd (div-qd a +qd-log2+))))) - (r*k (sub-qd x (mul-qd-d +qd-log2+ (float s 1d0)))) - (r (div-qd-d r*k 8d0))) - (values s r)))) - (multiple-value-bind (s r) - (arg-reduce a) - (let* ((d (taylor r)) - (dr (binom d))) - (add-qd-d (scale-float-qd dr s) - (cl:- (scale-float 1d0 s) 1)))))) - -(defun log-qd/newton (a) - (declare (type %quad-double a)) - ;; The Taylor series for log converges rather slowly. Hence, this - ;; routine tries to determine the root of the function - ;; - ;; f(x) = exp(x) - a - ;; - ;; using Newton iteration. The iteration is - ;; - ;; x' = x - f(x) / f'(x) - ;; = x - (1 - a * exp(-x)) - ;; = x + a * exp(-x) - 1 - ;; - ;; Two iterations are needed. - (let ((x (make-qd-d (log (qd-0 a))))) - (dotimes (k 3) - (setf x (sub-qd-d (add-qd x (mul-qd a (exp-qd (neg-qd x)))) - 1d0))) - x)) - - -;;(declaim (inline agm-qd)) - -(defun agm-qd (x y) - (declare (type %quad-double x y) - (optimize (speed 3))) - (let ((diff (qd-0 (abs-qd (sub-qd x y))))) - (cond ((< diff +qd-eps+) - x) - (t - (let ((a-mean (div-qd-d (add-qd x y) 2d0)) - (g-mean (sqrt-qd (mul-qd x y)))) - (agm-qd a-mean g-mean)))))) - -#+(or) -(defun agm-qd (x y) - (declare (type %quad-double x y) - (optimize (speed 3) (space 0) (safety 0))) - (let ((diff (qd-0 (abs-qd (sub-qd x y)))) - (x x) - (y y)) - (declare (double-float diff)) - (loop while (> diff +qd-eps+) - do - (let ((a-mean (scale-float-qd (add-qd x y) -1)) - (g-mean (sqrt-qd (mul-qd x y)))) - (setf x a-mean) - (setf y g-mean) - (setf diff (qd-0 (abs-qd (sub-qd x y)))))) - x)) - -(defun log-qd/agm (x) - (declare (type %quad-double x)) - ;; log(x) ~ pi/2/agm(1,4/x)*(1+O(1/x^2)) - ;; - ;; Need to make x >= 2^(d/2) to get d bits of precision. We use - ;; - ;; log(2^k*x) = k*log(2)+log(x) - ;; - ;; to compute log(x). log(2^k*x) is computed using AGM. - ;; - (multiple-value-bind (frac exp) - (decode-float (qd-0 x)) - (declare (ignore frac)) - (cond ((>= exp 106) - ;; Big enough to use AGM - (div-qd +qd-pi/2+ - (agm-qd +qd-one+ - (div-qd (make-qd-d 4d0) - x)))) - (t - ;; log(x) = log(2^k*x) - k * log(2) - (let* ((k (cl:- 107 exp)) - (big-x (scale-float-qd x k))) - ;; Compute k*log(2) using extra precision by writing - ;; log(2) = a + b, where a is the quad-double - ;; approximation and b the rest. - (sub-qd (log-qd/agm big-x) - (add-qd (mul-qd-d +qd-log2+ (float k 1d0)) - (mul-qd-d +qd-log2-extra+ (float k 1d0))))))))) - -(defun log-qd/agm2 (x) - (declare (type %quad-double x)) - ;; log(x) ~ pi/4/agm(theta2(q^4)^2,theta3(q^4)^2) - ;; - ;; where q = 1/x - ;; - ;; Need to make x >= 2^(d/36) to get d bits of precision. We use - ;; - ;; log(2^k*x) = k*log(2)+log(x) - ;; - ;; to compute log(x). log(2^k*x) is computed using AGM. - ;; - (multiple-value-bind (frac exp) - (decode-float (qd-0 x)) - (declare (ignore frac)) - (cond ((>= exp 7) - ;; Big enough to use AGM (because d = 212 so x >= 2^5.8888) - (let* ((q (div-qd +qd-one+ - x)) - (q^4 (npow q 4)) - (q^8 (sqr-qd q^4)) - ;; theta2(q^4) = 2*q*(1+q^8+q^24) - ;; = 2*q*(1+q^8+(q^8)^3) - (theta2 (mul-qd-d - (mul-qd - q - (add-qd-d - (add-qd q^8 - (npow q^8 3)) - 1d0)) - 2d0)) - ;; theta3(q^4) = 1+2*(q^4+q^16) - ;; = 1+2*(q^4+(q^4)^4) - (theta3 (add-qd-d - (mul-qd-d - (add-qd q^4 - (npow q^4 4)) - 2d0) - 1d0))) - (div-qd +qd-pi/4+ - (agm-qd (sqr-qd theta2) - (sqr-qd theta3))))) - (t - ;; log(x) = log(2^k*x) - k * log(2) - (let* ((k (cl:- 7 exp)) - (big-x (scale-float-qd x k))) - (sub-qd (log-qd/agm2 big-x) - (add-qd (mul-qd-d +qd-log2+ (float k 1d0)) - (mul-qd-d +qd-log2-extra+ (float k 1d0))))))))) - -(defun log-qd/agm3 (x) - (declare (type %quad-double x)) - ;; log(x) ~ pi/4/agm(theta2(q^4)^2,theta3(q^4)^2) - ;; - ;; where q = 1/x - ;; - ;; Need to make x >= 2^(d/36) to get d bits of precision. We use - ;; - ;; log(2^k*x) = k*log(2)+log(x) - ;; - ;; to compute log(x). log(2^k*x) is computed using AGM. - ;; - (multiple-value-bind (frac exp) - (decode-float (qd-0 x)) - (declare (ignore frac)) - (cond ((>= exp 7) - ;; Big enough to use AGM (because d = 212 so x >= 2^5.8888) - (let* ((q (div-qd +qd-one+ - x)) - (q^4 (npow q 4)) - (q^8 (sqr-qd q^4)) - ;; theta2(q^4) = 2*q*(1+q^8+q^24) - ;; = 2*q*(1+q^8+(q^8)^3) - (theta2 (mul-qd-d - (mul-qd - q - (add-qd-d - (add-qd q^8 - (npow q^8 3)) - 1d0)) - 2d0)) - ;; theta3(q^4) = 1+2*(q^4+q^16) - ;; = 1+2*(q^4+(q^4)^4) - (theta3 (add-qd-d - (mul-qd-d - (add-qd q^4 - (npow q^4 4)) - 2d0) - 1d0))) - ;; Note that agm(theta2^2,theta3^2) = agm(2*theta2*theta3,theta2^2+theta3^2)/2 - (div-qd +qd-pi/4+ - (scale-float-qd - (agm-qd (scale-float-qd (mul-qd theta2 theta3) 1) - (add-qd (sqr-qd theta2) - (sqr-qd theta3))) - -1)))) - (t - ;; log(x) = log(2^k*x) - k * log(2) - (let* ((k (cl:- 7 exp)) - (big-x (scale-float-qd x k))) - (sub-qd (log-qd/agm3 big-x) - (add-qd - (mul-qd-d +qd-log2+ (float k 1d0)) - (mul-qd-d +qd-log2-extra+ (float k 1d0))))))))) - -#+(or) -(defun atan-d (y x) - (let* ((r (abs (complex x y))) - (xx (cl:/ x r)) - (yy (cl:/ y r))) - (let ((z (atan (float y 1f0) (float x 1f0))) - (sinz 0d0) - (cosz 0d0)) - (format t "z = ~A~%" z) - (cond ((> xx yy) - (format t "xx > yy~%") - (dotimes (k 5) - (let* ((sinz (sin z)) - (cosz (cos z)) - (delta (cl:/ (cl:- yy sinz) - cosz))) - (format t "sz, dz = ~A ~A~%" sinz cosz) - (format t "delta = ~A~%" delta) - (setf z (cl:+ z delta)) - (format t "z = ~A~%" z)))) - (t - (dotimes (k 20) - (let ((sinz (sin z)) - (cosz (cos z))) - (format t "sz, dz = ~A ~A~%" sinz cosz) - - (setf z (cl:- z (cl:/ (cl:- xx cosz) - sinz))) - (format t "z = ~A~%" z))))) - z))) - -#|| -(defvar *table*) -(defvar *ttable*) -(defvar *cordic-scale*) - -#+nil -(defun setup-cordic () - (let ((table (make-array 34)) - (ttable (make-array 34))) - (setf (aref table 0) 1d0) - (setf (aref table 1) 1d0) - (setf (aref table 2) 1d0) - (setf (aref ttable 0) (cl:/ pi 4)) - (setf (aref ttable 1) (cl:/ pi 4)) - (setf (aref ttable 2) (cl:/ pi 4)) - (loop for k from 3 below 34 do - (setf (aref table k) (cl:* 0.5d0 (aref table (cl:1- k)))) - (setf (aref ttable k) (atan (aref table k)))) - (setf *table* table) - (setf *ttable* ttable))) - -(defun setup-cordic () - (let ((table (make-array 34)) - (ttable (make-array 34))) - (setf (aref table 0) 4d0) - (setf (aref table 1) 2d0) - (setf (aref table 2) 1d0) - (setf (aref ttable 0) (atan 4d0)) - (setf (aref ttable 1) (atan 2d0)) - (setf (aref ttable 2) (cl:/ pi 4)) - (loop for k from 3 below 34 do - (setf (aref table k) (cl:* 0.5d0 (aref table (cl:1- k)))) - (setf (aref ttable k) (atan (aref table k)))) - (setf *table* table) - (setf *ttable* ttable))) - -(defun setup-cordic () - (let ((table (make-array 34)) - (ttable (make-array 34)) - (scale 1d0)) - (loop for k from 0 below 34 do - (setf (aref table k) (scale-float 1d0 (cl:- 2 k))) - (setf (aref ttable k) (atan (aref table k))) - (setf scale (cl:* scale (cos (aref ttable k))))) - (setf *table* table) - (setf *ttable* ttable) - (setf *cordic-scale* scale))) - - -(defun cordic-rot (x y) - (let ((z 0)) - (dotimes (k (length *table*)) - (cond ((plusp y) - (psetq x (cl:+ x (cl:* y (aref *table* k))) - y (cl:- y (cl:* x (aref *table* k)))) - (incf z (aref *ttable* k))) - (t - (psetq x (cl:- x (cl:* y (aref *table* k))) - y (cl:+ y (cl:* x (aref *table* k)))) - (decf z (aref *ttable* k))) - )) - (values z x y))) - -(defun cordic-vec (z) - (let ((x 1d0) - (y 0d0) - (scale 1d0)) - (dotimes (k 12 (length *table*)) - (setf scale (cl:* scale (cos (aref *ttable* k)))) - (cond ((minusp z) - (psetq x (cl:+ x (cl:* y (aref *table* k))) - y (cl:- y (cl:* x (aref *table* k)))) - (incf z (aref *ttable* k))) - (t - (psetq x (cl:- x (cl:* y (aref *table* k))) - y (cl:+ y (cl:* x (aref *table* k)))) - (decf z (aref *ttable* k))) - )) - (values x y z scale))) - -(defun atan2-d (y x) - (multiple-value-bind (z dx dy) - (cordic-rot x y) - (let ((theta (cl:/ dy dx))) - (format t "theta = ~A~%" theta) - (let ((corr (cl:+ theta - (cl:- (cl:/ (expt theta 3) - 3)) - (cl:/ (expt theta 5) - 5)))) - (format t "corr = ~A~%" corr) - (cl:+ z corr))))) - -(defun tan-d (r) - (multiple-value-bind (x y z) - (cordic-vec r) - (setf x (cl:* x *cordic-scale*)) - (setf y (cl:* y *cordic-scale*)) - (format t "x = ~A~%" x) - (format t "y = ~A~%" y) - (format t "z = ~A~%" z) - ;; Need to finish of the rotation - (let ((st (sin z)) - (ct (cos z))) - (format t "st, ct = ~A ~A~%" st ct) - (psetq x (cl:- (cl:* x ct) (cl:* y st)) - y (cl:+ (cl:* y ct) (cl:* x st))) - (format t "x = ~A~%" x) - (format t "y = ~A~%" y) - (cl:/ y x) - ))) - -(defun sin-d (r) - (declare (type double-float r)) - (multiple-value-bind (x y z s) - (cordic-vec r) - - ;; Need to finish the rotation - (let ((st (sin z)) - (ct (cos z))) - (psetq x (cl:- (cl:* x ct) (cl:* y st)) - y (cl:+ (cl:* y ct) (cl:* x st))) - (cl:* s y)))) -||# - -;; This is the basic CORDIC rotation. Based on code from -;; http://www.voidware.com/cordic.htm and -;; http://www.dspcsp.com/progs/cordic.c.txt. -;; -;; The only difference between this version and the typical CORDIC -;; implementation is that the first 3 rotations are all by pi/4. This -;; makes sense. If the angle is greater than pi/4, the rotations will -;; reduce it to at most pi/4. If the angle is less than pi/4, the 3 -;; rotations by pi/4 will cause us to end back at the same place. -;; (Should we try to be smarter?) -(defun cordic-rot-qd (x y) - (declare (type %quad-double y x) - (optimize (speed 3))) - (let* ((zero +qd-zero+) - (z zero)) - (declare (type %quad-double zero z)) - (dotimes (k (length +atan-table+)) - (declare (fixnum k)) - (cond ((qd-> y zero) - (psetq x (add-qd x (mul-qd-d y (aref +atan-power-table+ k))) - y (sub-qd y (mul-qd-d x (aref +atan-power-table+ k)))) - (setf z (add-qd z (aref +atan-table+ k)))) - (t - (psetq x (sub-qd x (mul-qd-d y (aref +atan-power-table+ k))) - y (add-qd y (mul-qd-d x (aref +atan-power-table+ k)))) - (setf z (sub-qd z (aref +atan-table+ k)))))) - (values z x y))) - -(defun atan2-qd/cordic (y x) - (declare (type %quad-double y x)) - ;; Use the CORDIC rotation to get us to a small angle. Then use the - ;; Taylor series for atan to finish the computation. - (multiple-value-bind (z dx dy) - (cordic-rot-qd x y) - ;; Use Taylor series to finish off the computation - (let* ((arg (div-qd dy dx)) - (sq (neg-qd (sqr-qd arg))) - (sum +qd-one+)) - ;; atan(x) = x - x^3/3 + x^5/5 - ... - ;; = x*(1-x^2/3+x^4/5-x^6/7+...) - (do ((k 3d0 (cl:+ k 2d0)) - (term sq)) - ((< (abs (qd-0 term)) +qd-eps+)) - (setf sum (add-qd sum (div-qd-d term k))) - (setf term (mul-qd term sq))) - (setf sum (mul-qd arg sum)) - (add-qd z sum)))) - -(defun atan-qd/cordic (y) - (declare (type %quad-double y)) - (atan2-qd/cordic y +qd-one+)) - -(defun atan-qd/duplication (y) - (declare (type %quad-double y) - (optimize (speed 3) (space 0))) - (cond ((< (abs (qd-0 y)) 1d-4) - ;; Series - (let* ((arg y) - (sq (neg-qd (sqr-qd arg))) - (sum +qd-one+)) - ;; atan(x) = x - x^3/3 + x^5/5 - ... - ;; = x*(1-x^2/3+x^4/5-x^6/7+...) - (do ((k 3d0 (cl:+ k 2d0)) - (term sq)) - ((< (abs (qd-0 term)) +qd-eps+)) - (setf sum (add-qd sum (div-qd-d term k))) - (setf term (mul-qd term sq))) - (mul-qd arg sum))) - (t - ;; atan(x) = 2*atan(x/(1 + sqrt(1 + x^2))) - (let ((x (div-qd y - (add-qd-d (sqrt-qd (add-qd-d (sqr-qd y) 1d0)) - 1d0)))) - (scale-float-qd (atan-qd/duplication x) 1))))) - -(defun cordic-vec-qd (z) - (declare (type %quad-double z) - (optimize (speed 3))) - (let* ((x +qd-one+) - (y +qd-zero+) - (zero +qd-zero+)) - (declare (type %quad-double zero x y)) - (dotimes (k 30 (length +atan-table+)) - (declare (fixnum k) - (inline mul-qd-d sub-qd add-qd)) - (cond ((qd-> z zero) - (psetq x (sub-qd x (mul-qd-d y (aref +atan-power-table+ k))) - y (add-qd y (mul-qd-d x (aref +atan-power-table+ k)))) - (setf z (sub-qd z (aref +atan-table+ k)))) - (t - (psetq x (add-qd x (mul-qd-d y (aref +atan-power-table+ k))) - y (sub-qd y (mul-qd-d x (aref +atan-power-table+ k)))) - (setf z (add-qd z (aref +atan-table+ k)))))) - (values z x y))) - -(defun tan-qd/cordic (r) - (declare (type %quad-double r)) - (multiple-value-bind (z x y) - (cordic-vec-qd r) - ;; Need to finish the rotation - (multiple-value-bind (st ct) - (sincos-taylor z) - (psetq x (sub-qd (mul-qd x ct) (mul-qd y st)) - y (add-qd (mul-qd y ct) (mul-qd x st))) - (div-qd y x)))) - - -(defun sin-qd/cordic (r) - (declare (type %quad-double r)) - (multiple-value-bind (z x y) - (cordic-vec-qd r) - #+nil - (progn - (format t "~&x = ~/qd::qd-format/~%" x) - (format t "~&y = ~/qd::qd-format/~%" y) - (format t "~&z = ~/qd::qd-format/~%" z) - (format t "~&s = ~/qd::qd-format/~%" s)) - ;; Need to finish the rotation - (multiple-value-bind (st ct) - (sincos-taylor z) - #+nil - (progn - (format t "~&st = ~/qd::qd-format/~%" st) - (format t "~&ct = ~/qd::qd-format/~%" ct) - (format t "~&y = ~/qd::qd-format/~%" (mul-qd +cordic-scale+ y))) - - (psetq x (sub-qd (mul-qd x ct) (mul-qd y st)) - y (add-qd (mul-qd y ct) (mul-qd x st))) - (mul-qd +cordic-scale+ y)))) - - -;; Some timing and consing tests. -;; -;; The tests are run using the following: -;; -;; Sparc: 1.5 GHz Ultrasparc IIIi -;; Sparc2: 450 MHz Ultrasparc II -;; PPC: 1.42 GHz -;; x86: 866 MHz Pentium 3 -;; PPC(fma): 1.42 GHz with cmucl with fused-multiply-add double-double. -;; - -;; (time-exp #c(2w0 0) 50000) -;; -;; Time Sparc PPC x86 PPC (fma) Sparc2 -;; exp-qd/reduce 2.06 3.18 10.46 2.76 6.12 -;; expm1-qd/series 8.81 12.24 18.87 3.26 29.0 -;; expm1-qd/dup 5.68 4.34 18.47 3.64 18.78 -;; -;; Consing (MB) Sparc -;; exp-qd/reduce 45 45 638 44.4 45 -;; expm1-qd/series 519 519 1201 14.8 519 -;; expm1-qd/dup 32 32 1224 32.0 32 -;; -;; Speeds seem to vary quite a bit between architectures. -;; -;; Timing without inlining all the basic functions everywhere. (That -;; is, :qd-inline is not a feature.) -;; -;; (time-exp #c(2w0 0) 50000) -;; -;; Time Sparc PPC x86 PPC (fma) -;; exp-qd/reduce 5.83 0.67 10.67 0.98 -;; expm1-qd/series 10.65 1.45 21.06 1.35 -;; expm1-qd/dup 11.17 1.36 24.01 1.25 -;; -;; Consing Sparc -;; exp-qd/reduce 638 93 638 93 -;; expm1-qd/series 1203 120 1201 120 -;; expm1-qd/dup 1224 122 1224 122 -;; -;; So inlining speeds things up by a factor of about 3 for sparc, -;; 1.5-4 for ppc. Strangely, x86 slows down on some but speeds up on -;; others. -(defun time-exp (x n) - (declare (type %quad-double x) - (fixnum n)) - (let ((y +qd-zero+)) - (declare (type %quad-double y)) - #+cmu (gc :full t) - (format t "exp-qd/reduce~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (exp-qd/reduce x)))) - #+cmu (gc :full t) - (format t "expm1-qd/series~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (expm1-qd/series x)))) - #+cmu (gc :full t) - (format t "expm1-qd/duplication~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (expm1-qd/duplication x)))) - - )) - -;; (time-log #c(3w0 0) 50000) -;; -;; Time (s) Sparc PPC x86 PPC (fma) Sparc2 -;; log-qd/newton 7.08 10.23 35.74 8.82 21.77 -;; log1p-qd/dup 5.87 8.41 27.32 6.65 20.73 -;; log-qd/agm 6.58 8.0 27.2 6.87 24.62 -;; log-qd/agm2 5.8 6.93 22.89 6.07 18.44 -;; log-qd/agm3 5.45 6.57 20.97 6.18 20.34 -;; log-qd/halley 4.96 6.8 25.11 7.01 16.13 -;; -;; Consing (MB) Sparc PPC x86 PPC (fma) -;; log-qd/newton 150 150 2194 148 150 -;; log1p-qd/dup 56 56 1564 56 56 -;; log-qd/agm 81 11 1434 81 81 -;; log-qd/agm2 87 35 1184 87 87 -;; log-qd/agm3 82 36 1091 81 82 -;; log-qd/halley 101 101 1568 100 101 -;; -;; Based on these results, it's not really clear what is the fastest. -;; But Halley's iteration is probably a good tradeoff for log. -;; -;; However, consider log(1+2^(-100)). Use log1p as a reference: -;; 7.88860905221011805411728565282475078909313378023665801567590088088481830649115711502410110281q-31 -;; -;; We have -;; log-qd -;; 7.88860905221011805411728565282475078909313378023665801567590088088481830649133878797727478488q-31 -;; log-agm -;; 7.88860905221011805411728565282514580471135738786455290255431302193794546609432q-31 -;; log-agm2 -;; 7.88860905221011805411728565282474926980229445866885841995713611460718519856111q-31 -;; log-agm3 -;; 7.88860905221011805411728565282474926980229445866885841995713611460718519856111q-31 -;; log-halley -;; 7.88860905221011805411728565282475078909313378023665801567590088088481830649120253326239452326q-31 -;; -;; We can see that the AGM methods are grossly inaccurate, but log-qd -;; and log-halley are quite good. -;; -;; Timing results without inlining everything: -;; -;; Time Sparc PPC x86 PPC (fma) -;; log-qd/newton 21.37 0.87 41.49 0.62 -;; log1p-qd/dup 12.58 0.41 31.86 0.28 -;; log-qd/agm 7.17 0.23 34.86 0.16 -;; log-qd/agm2 6.35 0.22 27.53 0.15 -;; log-qd/agm3 7.49 0.17 24.92 0.14 -;; log-qd/halley 14.38 0.56 30.2 0.65 -;; -;; Consing -;; Sparc PPC x86 PPC (fma) -;; log-qd/newton 2194 60.7 2194 61 -;; log1p-qd/dup 1114 22.6 1564 23 -;; log-qd/agm 371 7.9 1434 7.9 -;; log-qd/agm2 371 7.8 1185 7.8 -;; log-qd/agm3 373 7.8 1091 7.8 -;; log-qd/halley 1554 42.3 1567 42.3 - -(defun time-log (x n) - (declare (type %quad-double x) - (fixnum n)) - (let ((y +qd-zero+)) - (declare (type %quad-double y)) - #+cmu (gc :full t) - (format t "log-qd/newton~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (log-qd/newton x)))) - #+cmu (gc :full t) - (format t "log1p-qd/duplication~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (log1p-qd/duplication x)))) - #+cmu (gc :full t) - (format t "log-qd/agm~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (log-qd/agm x)))) - - #+cmu (gc :full t) - (format t "log-qd/agm2~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (log-qd/agm2 x)))) - #+cmu (gc :full t) - (format t "log-qd/agm3~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (log-qd/agm3 x)))) - #+cmu (gc :full t) - (format t "log-qd/halley~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (log-qd/halley x)))) - )) - - -;; (time-atan2 #c(10w0 0) 10000) -;; -;; Time -;; PPC Sparc x86 PPC (fma) Sparc2 -;; atan2-qd/newton 2.91 1.91 8.06 2.16 7.55 -;; atan2-qd/cordic 1.22 0.89 6.68 1.43 2.47 -;; atan-qd/duplication 2.51 2.14 5.63 1.76 5.94 -;; -;; Consing -;; atan2-qd/newton 44.4 44.4 481 44.4 44.4 -;; atan2-qd/cordic 1.6 1.6 482 1.6 1.6 -;; atan-qd/duplication 17.2 6.0 281 6.0 6.0 -;; -;; Don't know why x86 is 10 times slower than sparc/ppc for -;; atan2-qd/newton. Consing is much more too. Not enough registers? -;; -;; atan2-qd/cordic is by far the fastest on all archs. -;; -;; Timing results without inlining everything: -;; Time -;; PPC Sparc x86 PPC (fma) -;; atan2-qd/newton 6.56 4.48 9.75 6.15 -;; atan2-qd/cordic 6.02 4.24 7.06 5.01 -;; atan-qd/duplication 3.28 1.94 5.72 2.46 -;; -;; Consing -;; atan2-qd/newton 443 441 482 443 -;; atan2-qd/cordic 482 482 482 482 -;; atan-qd/duplication 87 81 281 87 -;; - -(defun time-atan2 (x n) - (declare (type %quad-double x) - (fixnum n)) - (let ((y +qd-zero+) - (one +qd-one+)) - #+cmu (gc :full t) - (format t "atan2-qd/newton~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (atan2-qd/newton x one)))) - #+cmu (gc :full t) - (format t "atan2-qd/cordic~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (atan2-qd/cordic x one)))) - #+cmu (gc :full t) - (format t "atan-qd/duplication~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (atan-qd/duplication x)))) - )) - -;; (time-tan #c(10w0 0) 10000) -;; -;; Time -;; PPC Sparc x86 PPC (fma) Sparc2 -;; tan-qd/cordic 2.12 1.51 8.26 1.77 4.61 -;; tan-qd/sincos 0.68 0.57 2.39 0.54 2.56 -;; -;; Consing -;; tan-qd/cordic 23.0 23.0 473 23.0 23.0 -;; tan-qd/sincos 14.8 14.8 147 14.8 14.8 -;; -;; Don't know why x86 is so much slower for tan-qd/cordic. -;; -;; Without inlining everything -;; PPC Sparc x86 PPC (fma) -;; tan-qd/cordic 7.72 4.56 17.08 5.96 -;; tan-qd/sincos 2.32 1.4 4.91 1.87 -;; -;; Consing -;; tan-qd/cordic 463 463 472 463 -;; tan-qd/sincos 137 136 146 137 - -(defun time-tan (x n) - (declare (type %quad-double x) - (fixnum n)) - (let ((y +qd-zero+)) - #+cmu (gc :full t) - (format t "tan-qd/cordic~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (tan-qd/cordic x)))) - #+cmu (gc :full t) - (format t "tan-qd/sincos~%") - (time (dotimes (k n) - (declare (fixnum k)) - (setf y (tan-qd/sincos x)))))) - diff --git a/external/oct/qd-format.lisp b/external/oct/qd-format.lisp deleted file mode 100644 index 1610dca..0000000 --- a/external/oct/qd-format.lisp +++ /dev/null @@ -1,130 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qd) - -(defun qd-scale-exponent (original-x) - (let* ((x original-x)) - (multiple-value-bind (sig exponent) - (decode-float x) - (declare (ignore sig)) - (if (= x #q0) - (values #q0 1) - (let* ((ex (round (* exponent (log #q2 10)))) - (x (if (minusp ex) - - (* x #q10.0q0 (expt #q10.0q0 (- (- ex) 1))) - (/ x #q10.0q0 (expt #q10.0q0 (1- ex)))))) - (do ((d #q10.0q0 (* d #q10.0q0)) - (y x (/ x d)) - (ex ex (1+ ex))) - ((< y #q1.0q0) - (do ((m #q10.0q0 (* m #q10.0q0)) - (z y (* y m)) - (ex ex (1- ex))) - ((>= z #q0.1q0) - (values z ex)))))))))) - -(defun decimal-string (n) - (cl:write-to-string n :base 10 :radix nil :escape nil)) - -(defun qd-format-exp-aux (stream number w d e k ovf pad marker atsign) - (multiple-value-bind (num expt) - (qd-scale-exponent (abs number)) - (let* ((expt (- expt k)) - (estr (decimal-string (abs expt))) - (elen (if e (max (length estr) e) (length estr))) - (add-zero-p nil)) - (if (and w ovf e (> elen e)) ;exponent overflow - (dotimes (i w) - (write-char ovf stream)) - (let* ((fdig (if d (if (plusp k) (1+ (- d k)) d) nil)) - (fmin (if (minusp k) - 1 - fdig)) - (spaceleft (if w - (- w 2 elen - (if (or atsign (minusp (float-sign number))) - 1 0)) - nil))) - (multiple-value-bind (fstr flen lpoint tpoint) - (qdi::qd-to-string (qd-value num) spaceleft fdig k fmin) - (when (and d (zerop d)) (setq tpoint nil)) - (when w - (decf spaceleft flen) - ;; See CLHS 22.3.3.2. "If the parameter d is - ;; omitted, ... [and] if the fraction to be - ;; printed is zero then a single zero digit should - ;; appear after the decimal point." So we need to - ;; subtract one from here because we're going to - ;; add an extra 0 digit later. - (when (and (null d) (char= (aref fstr (1- flen)) #\.)) - (setf add-zero-p t) - (decf spaceleft)) - (when lpoint - (if (or (> spaceleft 0) tpoint) - (decf spaceleft) - (setq lpoint nil))) - (when (and tpoint (<= spaceleft 0)) - (setq tpoint nil))) - (cond ((and w (< spaceleft 0) ovf) - ;;significand overflow - (dotimes (i w) (write-char ovf stream))) - (t (when w - (dotimes (i spaceleft) - (write-char pad stream))) - (if (minusp (float-sign number)) - (write-char #\- stream) - (if atsign (write-char #\+ stream))) - (when lpoint (write-char #\0 stream)) - (write-string fstr stream) - ;; Add a zero if we need it. Which means - ;; we figured out we need one above, or - ;; another condition. Basically, append a - ;; zero if there are no width constraints - ;; and if the last char to print was a - ;; decimal (so the trailing fraction is - ;; zero.) - (when (or add-zero-p - (and (null w) - (char= (aref fstr (1- flen)) #\.))) - ;; It's later and we're adding the zero - ;; digit. - (write-char #\0 stream)) - (write-char (if marker - marker - #\q) - stream) - (write-char (if (minusp expt) #\- #\+) stream) - (when e - ;;zero-fill before exponent if necessary - (dotimes (i (- e (length estr))) - (write-char #\0 stream))) - (write-string estr stream))))))))) - -(defun qd-format-exp (stream arg colon-p at-sign-p - &optional w d e (k 1) ovf (pad #\space) exp-marker) - (declare (ignore colon-p)) - (qd-format-exp-aux stream arg w d e k ovf pad exp-marker at-sign-p)) diff --git a/external/oct/qd-fun.lisp b/external/oct/qd-fun.lisp deleted file mode 100644 index 2cd9e0f..0000000 --- a/external/oct/qd-fun.lisp +++ /dev/null @@ -1,952 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;;; Basic special functions operating on %quad-double numbers. This -;;; includes sqrt, rounding to the nearest integer, floor, exp, log, -;;; log1p, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, -;;; asinh, acosh, atanh, and random. -;;; -;;; These special functions only work on the main domains where the -;;; argument is real and the result is real. Behavior is undefined if -;;; this doesn't hold. - -(in-package #:qdi) - -#+cmu -(declaim (maybe-inline sqrt-qd)) -(defun sqrt-qd (a) - "Square root of the (non-negative) quad-float" - (declare (type %quad-double a) - (optimize (speed 3) (space 0))) - ;; Perform the following Newton iteration: - ;; - ;; x' = x + (1 - a * x^2) * x / 2 - ;; - ;; which converges to 1/sqrt(a). - ;; - ;; However, there appear to be round-off errors when x is either - ;; very large or very small. So let x = f*2^(2*k). Then sqrt(x) = - ;; 2^k*sqrt(f), and sqrt(f) doesn't have round-off problems. - (when (zerop-qd a) - (return-from sqrt-qd a)) - #+cmu - (when (float-infinity-p (qd-0 a)) - (return-from sqrt-qd a)) - - (let* ((k (logandc2 (logb-finite (qd-0 a)) 1)) - (new-a (scale-float-qd a (- k)))) - (assert (evenp k)) - (let* ((r (make-qd-d (cl:/ (sqrt (the (double-float (0d0)) - (qd-0 new-a)))))) - (half 0.5d0) - (h (mul-qd-d new-a half))) - (declare (type %quad-double r)) - ;; Since we start with double-float precision, three more - ;; iterations should give us full accuracy. - (dotimes (k 3) - (setf r (add-qd r (mul-qd r (sub-d-qd half (mul-qd h (sqr-qd r))))))) - (scale-float-qd (mul-qd r new-a) (ash k -1))))) - -(defun logb-finite (x) - "Same as logb but X is not infinity and non-zero and not a NaN, so -that we can always return an integer" - (declare (type cl:float x)) - (multiple-value-bind (signif expon sign) - (cl:decode-float x) - (declare (ignore signif sign)) - ;; decode-float is almost right, except that the exponent - ;; is off by one - (1- expon))) - -(defun hypot-aux-qd (x y) - (declare (type %quad-double x y)) - (let ((k (- (logb-finite (max (cl:abs (qd-0 x)) - (cl:abs (qd-0 y))))))) - (values (add-qd (sqr-qd (scale-float-qd x k)) - (sqr-qd (scale-float-qd y k))) - (- k)))) - -(defun hypot-qd (x y) - "sqrt(x^2+y^2) computed carefully without unnecessary overflow" - (multiple-value-bind (abs^2 rho) - (hypot-aux-qd x y) - (scale-float-qd (sqrt-qd abs^2) rho))) - -(defun nint-qd (a) - "Round the quad-float to the nearest integer, which is returned as a - quad-float" - (let ((x0 (fround (qd-0 a))) - (x1 0d0) - (x2 0d0) - (x3 0d0)) - (cond ((= x0 (qd-0 a)) - ;; First double is already an integer - (setf x1 (fround (qd-1 a))) - (cond ((= x1 (qd-1 a)) - ;; Second is an integer - (setf x2 (fround (qd-2 a))) - (cond ((= x2 (qd-2 a)) - ;; Third is an integer - (setf x3 (fround (qd-3 a)))) - (t - (when (and (zerop (abs (cl:- x2 (qd-2 a)))) - (minusp (qd-3 a))) - (decf x2))))) - (t - (when (and (zerop (abs (cl:- x1 (qd-1 a)))) - (minusp (qd-2 a))) - (decf x1))))) - (t - (when (and (zerop (abs (cl:- x0 (qd-0 a)))) - (minusp (qd-1 a))) - (decf x0)))) - (multiple-value-bind (s0 s1 s2 s3) - (renorm-4 x0 x1 x2 x3) - (make-qd-d s0 s1 s2 s3)))) - -(defun ffloor-qd (a) - "The floor of A, returned as a quad-float" - (let ((x0 (ffloor (qd-0 a))) - (x1 0d0) - (x2 0d0) - (x3 0d0)) - (cond ((= x0 (qd-0 a)) - (setf x1 (ffloor (qd-1 a))) - (when (= x1 (qd-1 a)) - (setf x2 (ffloor (qd-2 a))) - (when (= x2 (qd-2 a)) - (setf x3 (ffloor (qd-3 a))))) - (make-qd-d x0 x1 x2 x3)) - (t - (%make-qd-d x0 x1 x2 x3))))) - - -(defun exp-qd/reduce (a) - ;; Strategy: Reduce the size of x by noting that - ;; - ;; exp(k*r+m) = exp(m) * exp(r)^k - ;; - ;; Thus, by choosing m to be a multiple of log(2) closest to x, we - ;; can make |kr| < log(2)/2 = 0.3466. Now we can set k = 256, so - ;; that |r| <= 0.00136. - ;; - ;; Then - ;; - ;; exp(x) = exp(k*r+s*log(2)) = 2^s*(exp(r))^256 - ;; - ;; We can use Taylor series to evaluate exp(r). - - (let* ((k 256) - (z (truncate (qd-0 (nint-qd (div-qd a +qd-log2+))))) - (r1 (sub-qd a (mul-qd-d +qd-log2+ (float z 1d0)))) - ;; r as above - (r (div-qd-d (sub-qd a (mul-qd-d +qd-log2+ (float z 1d0))) - (float k 1d0))) - ;; For Taylor series. p = r^2/2, the first term - (p (div-qd-d (sqr-qd r) 2d0)) - ;; s = 1+r+p, the sum of the first 3 terms - (s (add-qd-d (add-qd r p) 1d0)) - ;; Denominator of term - (m 2d0)) - ;; Taylor series until the term is small enough. - ;; - ;; Note that exp(x) = sinh(x) + sqrt(1+sinh(x)^2). The Taylor - ;; series for sinh has half as many terms as for exp, so it should - ;; be less work to compute sinh. Then a few additional operations - ;; and a square root gives us exp. - (loop - (incf m) - (setf p (mul-qd p r)) - (setf p (div-qd-d p m)) - (setf s (add-qd s p)) - (unless (> (abs (qd-0 p)) +qd-eps+) - (return))) - - (setf r (npow s k)) - (setf r (scale-float-qd r z)) - r)) - -(defun expm1-qd/duplication (a) - (declare (type %quad-double a)) - ;; Brent gives expm1(2*x) = expm1(x)*(2+expm1(x)) - ;; - ;; Hence - ;; - ;; expm1(x) = expm1(x/2)*(2+expm1(x/2)) - ;; - ;; Keep applying this formula until x is small enough. Then use - ;; Taylor series to compute expm1(x). - (cond ((< (abs (qd-0 a)) .0001d0) - ;; What is the right threshold? - ;; - ;; Taylor series for exp(x)-1 - ;; = x+x^2/2!+x^3/3!+x^4/4!+... - ;; = x*(1+x/2!+x^2/3!+x^3/4!+...) - (let ((sum +qd-one+) - (term +qd-one+)) - (dotimes (k 28) - (setf term (div-qd-d (mul-qd term a) (float (cl:+ k 2) 1d0))) - (setf sum (add-qd sum term))) - (mul-qd a sum))) - (t - (let ((d (expm1-qd/duplication (scale-float-qd a -1)))) - (mul-qd d (add-qd-d d 2d0)))))) - -(defun expm1-qd (a) - "exp(a) - 1, done accurately" - (declare (type %quad-double a)) - #+cmu - (when (float-infinity-p (qd-0 a)) - (return-from expm1-qd - (if (minusp (float-sign (qd-0 a))) - +qd-zero+ - a))) - (expm1-qd/duplication a)) - -(defun exp-qd (a) - "exp(a)" - (declare (type %quad-double a)) - ;; Should we try to be more accurate than just 709? - (when (< (qd-0 a) (log least-positive-normalized-double-float)) - (return-from exp-qd +qd-zero+)) - - (when (> (qd-0 a) (log most-positive-double-float)) - #-cmu - (error 'floating-point-overflow - :operation 'exp - :operands (list a)) - #+cmu - (return-from exp-qd (%make-qd-d (/ 1d0 0d0) 0d0 0d0 0d0))) - - (when (zerop-qd a) - (return-from exp-qd +qd-one+)) - - ;; Default for now is exp-qd/reduce - (exp-qd/reduce a)) - -(defun log-qd/halley (a) - (declare (type %quad-double a)) - ;; Halley iteration: - ;; - ;; x' = x - 2*(exp(x)-a)/(exp(x)+a) - ;; - ;; But the above has problems if a is near - ;; most-positive-double-float. Rearrange the computation: - ;; - ;; x' = x - 2*(exp(x)/a-1)/(exp(x)/a+1) - ;; - ;; I think this works better, but it's also probably a little bit - ;; more expensive because each iteration has two divisions. - (let ((x (make-qd-d (log (qd-0 a))))) - (flet ((iter (est) - (let ((exp (div-qd (exp-qd est) - a))) - (sub-qd est - (scale-float-qd - (div-qd (sub-qd-d exp 1d0) - (add-qd-d exp 1d0)) - 1))))) - ;; Two iterations should be enough - (setf x (iter x)) - (setf x (iter x)) - x))) - - -(defun log1p-qd/duplication (x) - (declare (type %quad-double x) - (optimize (speed 3))) - ;; Brent gives the following duplication formula for log1p(x) = - ;; log(1+x): - ;; - ;; log1p(x) = 2*log1p(x/(1+sqrt(1+x))) - ;; - ;; So we apply the duplication formula until x is small enough, and - ;; then use the series - ;; - ;; log(1+x) = 2*sum((x/(2+x))^(2*k+1)/(2*k+1),k,0,inf) - ;; - ;; Currently "small enough" means x < 0.005. What is the right - ;; cutoff? - (cond ((> (abs (qd-0 x)) .005d0) - ;; log1p(x) = 2*log1p(x/(1+sqrt(1+x))) - (mul-qd-d (log1p-qd/duplication - (div-qd x - (add-d-qd 1d0 - (sqrt-qd (add-d-qd 1d0 x))))) - 2d0)) - (t - ;; Use the series - (let* ((term (div-qd x (add-qd-d x 2d0))) - (mult (sqr-qd term)) - (sum term)) - (loop for k of-type double-float from 3d0 by 2d0 - while (> (abs (qd-0 term)) +qd-eps+) - do - (setf term (mul-qd term mult)) - (setf sum (add-qd sum (div-qd-d term k)))) - (mul-qd-d sum 2d0))))) - -(defun log1p-qd (x) - "log1p(x) = log(1+x), done more accurately than just evaluating - log(1+x)" - (declare (type %quad-double x)) - #+cmu - (when (float-infinity-p (qd-0 x)) - x) - (log1p-qd/duplication x)) - -(defun log-qd (a) - "Log(a)" - (declare (type %quad-double a)) - (cond ((onep-qd a) - +qd-zero+) - ((and (zerop-qd a) - (plusp (float-sign (qd-0 a)))) - (%make-qd-d (/ -1d0 (qd-0 a)) 0d0 0d0 0d0)) - #+cmu - ((float-infinity-p (qd-0 a)) - a) - ((minusp (float-sign (qd-0 a))) - (error "log of negative")) - (t - ;; Default is Halley's method - (log-qd/halley a)))) - - -;; sin(a) and cos(a) using Taylor series -;; -;; Assumes |a| <= pi/2048 -(defun sincos-taylor (a) - (declare (type %quad-double a)) - (let ((thresh (cl:* +qd-eps+ (abs (qd-0 a))))) - (when (zerop-qd a) - (return-from sincos-taylor - (values +qd-zero+ - +qd-one+))) - (let* ((x (neg-qd (sqr-qd a))) - (s a) - (p a) - (m 1d0)) - (loop - (setf p (mul-qd p x)) - (incf m 2) - (setf p (div-qd-d p (cl:* m (cl:1- m)))) - (setf s (add-qd s p)) - ;;(format t "p = ~A~%" (qd-0 p)) - (when (<= (abs (qd-0 p)) thresh) - (return))) - ;; cos(c) = sqrt(1-sin(c)^2). This seems to work ok, even - ;; though I would have expected some round-off errors in - ;; computing this. sqrt(1-x^2) is normally better computed as - ;; sqrt(1-x)*sqrt(1+x) for small x. - (values s (sqrt-qd (add-qd-d (neg-qd (sqr-qd s)) 1d0)))))) - -(defun drem-qd (a b) - (declare (type %quad-double a b)) - (let ((n (nint-qd (div-qd a b)))) - (sub-qd a (mul-qd n b)))) - -(defun divrem-qd (a b) - (declare (type %quad-double a b)) - (let ((n (nint-qd (div-qd a b)))) - (values n (sub-qd a (mul-qd n b))))) - -(defun sin-qd (a) - "Sin(a)" - (declare (type %quad-double a)) - ;; To compute sin(x), choose integers a, b so that - ;; - ;; x = s + a * (pi/2) + b*(pi/1024) - ;; - ;; with |x| <= pi/2048. Using a precomputed table of sin(k*pi/1024) - ;; and cos(k*pi/1024), we can compute sin(x) from sin(s) and cos(s). - ;; - ;; sin(x) = sin(s+k*(pi/1024) + j*pi/2) - ;; = sin(s+k*(pi/1024))*cos(j*pi/2) - ;; + cos(s+k*(pi/1024))*sin(j*pi/2) - ;; - ;; sin(s+k*pi/1024) = sin(s)*cos(k*pi/1024) - ;; + cos(s)*sin(k*pi/1024) - ;; - ;; cos(s+k*pi/1024) = cos(s)*cos(k*pi/1024) - ;; - sin(s)*sin(k*pi/1024) - (when (zerop-qd a) - (return-from sin-qd a)) - - ;; Reduce modulo 2*pi - (let ((r (drem-qd a +qd-2pi+))) - ;; Now reduce by pi/2 and then by pi/1024 so that we obtain - ;; numbers a, b, t - (multiple-value-bind (j tmp) - (divrem-qd r +qd-pi/2+) - (let* ((j (truncate (qd-0 j))) - (abs-j (abs j))) - (multiple-value-bind (k tmp) - (divrem-qd tmp +qd-pi/1024+) - (let* ((k (truncate (qd-0 k))) - (abs-k (abs k))) - (assert (<= abs-j 2)) - (assert (<= abs-k 256)) - ;; Compute sin(s) and cos(s) - (multiple-value-bind (sin-t cos-t) - (sincos-taylor tmp) - (multiple-value-bind (s c) - (cond ((zerop abs-k) - (values sin-t cos-t)) - (t - ;; Compute sin(s+k*pi/1024), cos(s+k*pi/1024) - (let ((u (aref +qd-cos-table+ (cl:1- abs-k))) - (v (aref +qd-sin-table+ (cl:1- abs-k)))) - (cond ((plusp k) - ;; sin(s) * cos(k*pi/1024) - ;; + cos(s) * sin(k*pi/1024) - ;; - ;; cos(s) * cos(k*pi/1024) - ;; - sin(s) * sin(k*pi/1024) - (values (add-qd (mul-qd u sin-t) - (mul-qd v cos-t)) - (sub-qd (mul-qd u cos-t) - (mul-qd v sin-t)))) - (t - ;; sin(s) * cos(k*pi/1024) - ;; - cos(s) * sin(|k|*pi/1024) - ;; - ;; cos(s) * cos(k*pi/1024) - ;; + sin(s) * sin(|k|*pi/1024) - (values (sub-qd (mul-qd u sin-t) - (mul-qd v cos-t)) - (add-qd (mul-qd u cos-t) - (mul-qd v sin-t)))))))) - ;;(format t "s = ~/qd::qd-format/~%" s) - ;;(format t "c = ~/qd::qd-format/~%" c) - ;; sin(x) = sin(s+k*pi/1024) * cos(j*pi/2) - ;; + cos(s+k*pi/1024) * sin(j*pi/2) - (cond ((zerop abs-j) - ;; cos(j*pi/2) = 1, sin(j*pi/2) = 0 - s) - ((= j 1) - ;; cos(j*pi/2) = 0, sin(j*pi/2) = 1 - c) - ((= j -1) - ;; cos(j*pi/2) = 0, sin(j*pi/2) = -1 - (neg-qd c)) - (t - ;; cos(j*pi/2) = -1, sin(j*pi/2) = 0 - (neg-qd s))))))))))) - -(defun cos-qd (a) - "Cos(a)" - ;; Just like sin-qd, but for cos. - (declare (type %quad-double a)) - ;; To compute sin(x), choose integers a, b so that - ;; - ;; x = s + a * (pi/2) + b*(pi/1024) - ;; - ;; with |x| <= pi/2048. Using a precomputed table of sin(k*pi/1024) - ;; and cos(k*pi/1024), we can compute sin(x) from sin(s) and cos(s). - ;; - ;; sin(x) = sin(s+k*(pi/1024) + j*pi/2) - ;; = sin(s+k*(pi/1024))*cos(j*pi/2) - ;; + cos(s+k*(pi/1024))*sin(j*pi/2) - ;; - ;; sin(s+k*pi/1024) = sin(s)*cos(k*pi/1024) - ;; + cos(s)*sin(k*pi/1024) - ;; - ;; cos(s+k*pi/1024) = cos(s)*cos(k*pi/1024) - ;; - sin(s)*sin(k*pi/1024) - (when (zerop-qd a) - (return-from cos-qd +qd-one+)) - - ;; Reduce modulo 2*pi - (let ((r (drem-qd a +qd-2pi+))) - ;; Now reduce by pi/2 and then by pi/1024 so that we obtain - ;; numbers a, b, t - (multiple-value-bind (j tmp) - (divrem-qd r +qd-pi/2+) - (let* ((j (truncate (qd-0 j))) - (abs-j (abs j))) - (multiple-value-bind (k tmp) - (divrem-qd tmp +qd-pi/1024+) - (let* ((k (truncate (qd-0 k))) - (abs-k (abs k))) - (assert (<= abs-j 2)) - (assert (<= abs-k 256)) - ;; Compute sin(s) and cos(s) - (multiple-value-bind (sin-t cos-t) - (sincos-taylor tmp) - (multiple-value-bind (s c) - (cond ((zerop abs-k) - (values sin-t cos-t)) - (t - ;; Compute sin(s+k*pi/1024), cos(s+k*pi/1024) - (let ((u (aref +qd-cos-table+ (cl:1- abs-k))) - (v (aref +qd-sin-table+ (cl:1- abs-k)))) - (cond ((plusp k) - ;; sin(s) * cos(k*pi/1024) - ;; + cos(s) * sin(k*pi/1024) - ;; - ;; cos(s) * cos(k*pi/1024) - ;; - sin(s) * sin(k*pi/1024) - (values (add-qd (mul-qd u sin-t) - (mul-qd v cos-t)) - (sub-qd (mul-qd u cos-t) - (mul-qd v sin-t)))) - (t - ;; sin(s) * cos(k*pi/1024) - ;; - cos(s) * sin(|k|*pi/1024) - ;; - ;; cos(s) * cos(k*pi/1024) - ;; + sin(s) * sin(|k|*pi/1024) - (values (sub-qd (mul-qd u sin-t) - (mul-qd v cos-t)) - (add-qd (mul-qd u cos-t) - (mul-qd v sin-t)))))))) - #+nil - (progn - (format t "s = ~/qd::qd-format/~%" s) - (format t "c = ~/qd::qd-format/~%" c)) - ;; sin(x) = sin(s+k*pi/1024) * cos(j*pi/2) - ;; + cos(s+k*pi/1024) * sin(j*pi/2) - (cond ((zerop abs-j) - ;; cos(j*pi/2) = 1, sin(j*pi/2) = 0 - c) - ((= j 1) - ;; cos(j*pi/2) = 0, sin(j*pi/2) = 1 - (neg-qd s)) - ((= j -1) - ;; cos(j*pi/2) = 0, sin(j*pi/2) = -1 - s) - (t - ;; cos(j*pi/2) = -1, sin(j*pi/2) = 0 - (neg-qd c))))))))))) - -;; Compute sin and cos of a -(defun sincos-qd (a) - (declare (type %quad-double a)) - (when (zerop-qd a) - (return-from sincos-qd - (values +qd-zero+ - +qd-one+))) - - ;; Reduce modulo 2*pi - (let ((r (drem-qd a +qd-2pi+))) - ;; Now reduce by pi/2 and then by pi/1024 so that we obtain - ;; numbers a, b, t - (multiple-value-bind (j tmp) - (divrem-qd r +qd-pi/2+) - (let* ((j (truncate (qd-0 j))) - (abs-j (abs j))) - (multiple-value-bind (k tmp) - (divrem-qd tmp +qd-pi/1024+) - (let* ((k (truncate (qd-0 k))) - (abs-k (abs k))) - (assert (<= abs-j 2)) - (assert (<= abs-k 256)) - ;; Compute sin(s) and cos(s) - (multiple-value-bind (sin-t cos-t) - (sincos-taylor tmp) - (multiple-value-bind (s c) - (cond ((zerop abs-k) - (values sin-t cos-t)) - (t - ;; Compute sin(s+k*pi/1024), cos(s+k*pi/1024) - (let ((u (aref +qd-cos-table+ (cl:1- abs-k))) - (v (aref +qd-sin-table+ (cl:1- abs-k)))) - (cond ((plusp k) - ;; sin(s) * cos(k*pi/1024) - ;; + cos(s) * sin(k*pi/1024) - ;; - ;; cos(s) * cos(k*pi/1024) - ;; - sin(s) * sin(k*pi/1024) - (values (add-qd (mul-qd u sin-t) - (mul-qd v cos-t)) - (sub-qd (mul-qd u cos-t) - (mul-qd v sin-t)))) - (t - ;; sin(s) * cos(k*pi/1024) - ;; - cos(s) * sin(|k|*pi/1024) - ;; - ;; cos(s) * cos(k*pi/1024) - ;; + sin(s) * sin(|k|*pi/1024) - (values (sub-qd (mul-qd u sin-t) - (mul-qd v cos-t)) - (add-qd (mul-qd u cos-t) - (mul-qd v sin-t)))))))) - #+nil - (progn - (format t "s = ~/qd::qd-format/~%" s) - (format t "c = ~/qd::qd-format/~%" c)) - ;; sin(x) = sin(s+k*pi/1024) * cos(j*pi/2) - ;; + cos(s+k*pi/1024) * sin(j*pi/2) - (cond ((zerop abs-j) - ;; cos(j*pi/2) = 1, sin(j*pi/2) = 0 - (values s c)) - ((= j 1) - ;; cos(j*pi/2) = 0, sin(j*pi/2) = 1 - (values c (neg-qd s))) - ((= j -1) - ;; cos(j*pi/2) = 0, sin(j*pi/2) = -1 - (values (neg-qd c) s)) - (t - ;; cos(j*pi/2) = -1, sin(j*pi/2) = 0 - (values (neg-qd s) - (neg-qd c)))))))))))) - - -(defun atan2-qd/newton (y x) - (declare (type %quad-double y x) - #+nil - (optimize (speed 3) (space 0))) - ;; Instead of using Taylor series to compute atan, we instead use - ;; Newton's iteration to solve the equation - ;; - ;; sin(z) = y/r or cos(z) = x/r - ;; - ;; where r = sqrt(x^2+y^2) - ;; - ;; The iteration is - ;; - ;; z' = z + (y - sin(z))/cos(z) (for sin) - ;; z' = z + (x - cos(z))/sin(z) (for cos) - ;; - ;; Here, x and y are normalized so that x^2 + y^2 = 1. - ;; - ;; If |x| > |y|, then the first iteration is used since the - ;; denominator is larger. Otherwise the second is used. - (cond ((zerop-qd x) - ;; x = 0 - (cond ((zerop-qd y) - ;; Both x and y are zero. Use the signs of x and y to - ;; determine the result - (error "atan2(0,0)")) - (t - ;; x = 0, but y is not. Use the sign of y. - (return-from atan2-qd/newton - (cond ((plusp (float-sign (qd-0 y))) - +qd-pi/2+) - (t - (neg-qd +qd-pi/2+))))))) - ((zerop-qd y) - ;; y = 0. - (return-from atan2-qd/newton - ;; Use the sign of x and y to figure out the result. - (cond ((plusp (float-sign (qd-0 x))) - +qd-zero+) - ((plusp (float-sign (qd-0 y))) - +qd-pi+) - (t - (neg-qd +qd-pi+)))))) - - (when (qd-= x y) - (return-from atan2-qd/newton - (if (plusp-qd y) - +qd-pi/4+ - +qd-3pi/4+))) - - (when (qd-= x (neg-qd y)) - (return-from atan2-qd/newton - (if (plusp-qd y) - +qd-3pi/4+ - (neg-qd +qd-pi/4+)))) - - (let* ((r (hypot-qd x y)) - (xx (div-qd x r)) - (yy (div-qd y r))) - #+nil - (progn - (format t "r = ~/qdi::qd-format/~%" r) - (format t "xx = ~/qdi::qd-format/~%" xx) - (format t "yy = ~/qdi::qd-format/~%" yy)) - - ;; Compute double-precision approximation to atan - (let ((z (make-qd-d (atan (qd-0 y) (qd-0 x)))) - (sinz +qd-zero+) - (cosz +qd-zero+)) - (cond ((> (abs (qd-0 xx)) - (abs (qd-0 yy))) - ;; Newton iteration z' = z + (y - sin(z))/cos(z) - (dotimes (k 3) - (multiple-value-setq (sinz cosz) (sincos-qd z)) - (setf z (add-qd z (div-qd (sub-qd yy sinz) - cosz))))) - (t - ;; Newton iteration z' = z - (x - cos(z))/sin(z) - (dotimes (k 3) - (multiple-value-setq (sinz cosz) (sincos-qd z)) - (setf z (sub-qd z (div-qd (sub-qd xx cosz) - sinz)))))) - z))) - -(defun atan-qd/newton (y) - (declare (type %quad-double y) - #+nil (optimize (speed 3) (space 0))) - (atan2-qd/newton y +qd-one+)) - -(defun atan2-qd (y x) - "atan2(y, x) = atan(y/x), but carefully handling the quadrant" - (declare (type %quad-double y x)) - (atan2-qd/newton y x)) - -(defun atan-qd (y) - "Atan4b*(y)" - (declare (type %quad-double y)) - (atan-qd/newton y)) - -(defun asin-qd (a) - "Asin(a)" - (declare (type %quad-double a)) - (atan2-qd a (sqrt-qd (sub-d-qd 1d0 - (sqr-qd a))))) - -(defun acos-qd (a) - "Acos(a)" - (declare (type %quad-double a)) - (atan2-qd (sqrt-qd (sub-d-qd 1d0 - (sqr-qd a))) - a)) - - -(defun tan-qd/sincos (r) - (declare (type %quad-double r)) - (multiple-value-bind (s c) - (sincos-qd r) - ;; What to do, what do? If C is zero, we get divide by zero - ;; error. We could return infinity, but quad-double stuff doesn't - ;; handle infinities very well. - (div-qd s c))) - -(defun tan-qd (r) - "Tan(r)" - (declare (type %quad-double r)) - (if (zerop r) - r - (tan-qd/sincos r))) - - -(defun sinh-qd (a) - "Sinh(a)" - (declare (type %quad-double a)) - ;; Hart et al. suggests sinh(x) = 1/2*(D(x) + D(x)/(D(x)+1)) - ;; where D(x) = exp(x) - 1. This helps for x near 0. - (cond ((zerop a) - a) - #+cmu - ((float-infinity-p (qd-0 a)) - a) - (t - (let ((d (expm1-qd a))) - #+cmu - (when (float-infinity-p (qd-0 d)) - (return-from sinh-qd d)) - (scale-float-qd (add-qd d - (div-qd d (add-qd-d d 1d0))) - -1))))) - -(defun cosh-qd (a) - "Cosh(a)" - (declare (type %quad-double a)) - ;; cosh(x) = 1/2*(exp(x)+exp(-x)) - (let ((e (exp-qd a))) - #+cmu - (when (float-infinity-p (qd-0 e)) - (return-from cosh-qd e)) - (scale-float-qd (add-qd e (div-qd +qd-one+ e)) - -1))) - -(defun tanh-qd (a) - "Tanh(a)" - (declare (type %quad-double a)) - ;; Hart et al. suggests tanh(x) = D(2*x)/(2+D(2*x)) - (cond ((zerop a) - a) - ((> (abs (qd-0 a)) (/ (+ (log most-positive-double-float) - (log 2d0)) - 4d0)) - ;; For this range of A, we know the answer is +/- 1. - ;; - ;; However, we could do better if we wanted. Assume x > 0 - ;; and very large. - ;; - ;; tanh(x) = sinh(x)/cosh(x) - ;; = (1-exp(-2*x))/(1+exp(-2*x)) - ;; = 1 - 2*exp(-2*x)/(1+exp(-2*x)) - ;; - ;; So tanh(x) is 1 if the other term is small enough, say, - ;; eps. So for x large enough we can compute tanh(x) very - ;; accurately, thanks to how quad-double addition works. - ;; (The first component is, basically 1d0, and the second is - ;; some very small double-float.) - #+nil - (let* ((e (exp (* -2 a))) - (res (- 1 (/ (* 2 e) (1+ e))))) - (if (minusp (float-sign (qd-0 a))) - (neg-qd res) - res)) - (make-qd-d (float-sign (qd-0 a)))) - (t - (let* ((a2 (mul-qd-d a 2d0)) - (d (expm1-qd a2))) - (div-qd d (add-qd-d d 2d0)))))) - -(defun asinh-qd (a) - "Asinh(a)" - (declare (type %quad-double a)) - ;; asinh(x) = log(x + sqrt(1+x^2)) - ;; - ;; But this doesn't work well when x is small. - ;; - ;; log(x + sqrt(1+x^2)) = log(sqrt(1+x^2)*(1+x/sqrt(1+x^2))) - ;; = log(sqrt(1+x^2)) + log(1+x/sqrt(1+x^2)) - ;; = 1/2*log(1+x^2) + log(1+x/sqrt(1+x^2)) - ;; - ;; However that doesn't work well when x is large because x^2 - ;; overflows. - ;; - ;; log(x + sqrt(1+x^2)) = log(x + x*sqrt(1+1/x^2)) - ;; = log(x) + log(1+sqrt(1+1/x^2)) - ;; = log(x) + log1p(sqrt(1+1/x^2)) - #+nil - (log-qd (add-qd a - (sqrt-qd (add-qd-d (sqr-qd a) - 1d0)))) - (if (< (abs (qd-0 a)) (sqrt most-positive-double-float)) - (let ((a^2 (sqr-qd a))) - (add-qd (scale-float-qd (log1p-qd a^2) -1) - (log1p-qd (div-qd a - (sqrt-qd (add-qd-d a^2 1d0)))))) - (if (minusp-qd a) - (neg-qd (asinh-qd (neg-qd a))) - (let ((1/a (div-qd (make-qd-d 1d0) a))) - (+ (log-qd a) - (log1p-qd (sqrt-qd (add-qd-d (sqr-qd 1/a) 1d0)))))))) - -(defun asinh-qd (a) - "Asinh(a)" - (declare (type %quad-double a)) - ;; asinh(x) = log(x + sqrt(1+x^2)) - ;; - ;; But this doesn't work well when x is small. - ;; - ;; log(x + sqrt(1+x^2)) = log(sqrt(1+x^2)*(1+x/sqrt(1+x^2))) - ;; = log(sqrt(1+x^2)) + log(1+x/sqrt(1+x^2)) - ;; = 1/2*log(1+x^2) + log(1+x/sqrt(1+x^2)) - ;; - ;; However that doesn't work well when x is large because x^2 - ;; overflows. - ;; - ;; log(x + sqrt(1+x^2)) = log(x + x*sqrt(1+1/x^2)) - ;; = log(x) + log(1+sqrt(1+1/x^2)) - ;; = log(x) + log1p(sqrt(1+1/x^2)) - #+nil - (log-qd (add-qd a - (sqrt-qd (add-qd-d (sqr-qd a) - 1d0)))) - (cond ((< (abs (qd-0 a)) (sqrt most-positive-double-float)) - (let ((a^2 (sqr-qd a))) - (add-qd (scale-float-qd (log1p-qd a^2) -1) - (log1p-qd (div-qd a - (sqrt-qd (add-qd-d a^2 1d0))))))) - #+cmu - ((float-infinity-p (qd-0 a)) - a) - (t - (if (minusp-qd a) - (neg-qd (asinh-qd (neg-qd a))) - (let ((1/a (div-qd (make-qd-d 1d0) a))) - (+ (log-qd a) - (log1p-qd (sqrt-qd (add-qd-d (sqr-qd 1/a) 1d0))))))))) - -(defun acosh-qd (a) - "Acosh(a)" - (declare (type %quad-double a)) - ;; acosh(x) = log(x + sqrt(x^2-1)) - #+nil - (log-qd (add-qd a - (sqrt-qd (sub-qd-d (sqr-qd a) - 1d0)))) - ;; log(x+sqrt(x^2-1)) = log(x+sqrt((x-1)*(x+1))) - ;; = log(x+sqrt(x-1)*sqrt(x+1)) - #+nil - (log-qd (add-qd a - (mul-qd - (sqrt-qd (sub-qd-d a 1d0)) - (sqrt-qd (add-qd-d a 1d0))))) - ;; Let x = 1 + y - ;; log(1 + y + sqrt(y)*sqrt(y + 2)) - ;; = log1p(y + sqrt(y)*sqrt(y + 2)) - ;; - ;; However, that doesn't work well if x is large. - ;; - ;; log(x+sqrt(x^2-1)) = log(x+x*sqrt(1-1/x^2)) - ;; = log(x) + log(1+sqrt(1-1/x^2)) - ;; = log(x) + log1p(sqrt(1-1/x)*sqrt(1+1/x)) - ;; - (cond ((< (abs (qd-0 a)) (sqrt most-positive-double-float)) - (let ((y (sub-qd-d a 1d0))) - (log1p-qd (add-qd y (sqrt-qd (mul-qd y (add-qd-d y 2d0))))))) - #+cmu - ((float-infinity-p (qd-0 a)) - a) - (t - (let ((1/a (div-qd (make-qd-d 1d0) a))) - (+ (log-qd a) - (log1p-qd (mul-qd (sqrt-qd (sub-d-qd 1d0 1/a)) - (sqrt-qd (add-d-qd 1d0 1/a))))))))) - -(defun atanh-qd (a) - "Atanh(a)" - (declare (type %quad-double a)) - ;; atanh(x) = 1/2*log((1+x)/(1-x)) - ;; = 1/2*log(1+(2*x)/(1-x)) - ;; This latter expression works better for small x - #+nil - (scale-float-qd (log-qd (div-qd (add-d-qd 1d0 a) - (sub-d-qd 1d0 a))) - -1) - ;; atanh(+/-1) = +/- infinity. Signal a division by zero or return - ;; infinity if the division-by-zero trap is disabled. - (if (qd-= (abs-qd a) +qd-one+) - (div-qd (make-qd-d (float-sign (qd-0 a))) - +qd-zero+) - (scale-float-qd (log1p-qd (div-qd (scale-float-qd a 1) - (sub-d-qd 1d0 a))) - -1))) - - -(defun random-qd (&optional (state *random-state*)) - "Generate a quad-double random number in the range [0,1)" - (declare (optimize (speed 3))) - ;; Strategy: Generate 31 bits at a time, shift the bits and repeat 7 times. - (let* ((r +qd-zero+) - (m-const (scale-float 1d0 -31)) - (m m-const)) - (declare (type %quad-double r) - (double-float m-const m)) - (dotimes (k 7) - (let ((d (cl:* m (random #x7fffffff state)))) - (setf r (add-qd-d r d)) - (setf m (cl:* m m-const)))) - r)) - diff --git a/external/oct/qd-io.lisp b/external/oct/qd-io.lisp deleted file mode 100644 index 052128f..0000000 --- a/external/oct/qd-io.lisp +++ /dev/null @@ -1,472 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qdi) - -;; Smallest exponent for a double-float. -(eval-when (:compile-toplevel :load-toplevel :execute) -(defconstant +double-float-min-e+ - -1073) - -(defconstant +digits+ - "0123456789") -) ; eval-when - -(defun qd-to-digits (v &optional position relativep) - ;; V is the number to be printed. If RELATIVEP is NIL, POSITION is - ;; the number of digits to the left of the decimal point where we - ;; want to stop printing. If RELATIVEP is non-NIL, POSITION is the - ;; total number of digits we want printed. - ;; - ;; Two values are returned: k, and the digit string, without a - ;; decimal point. k is the index into the string, before which the - ;; decimal point would go. - (let ((print-base 10) ; B - (float-radix 2) ; b - (float-digits (cl:* 4 53)) ; p - (min-e +double-float-min-e+)) - (multiple-value-bind (f e) - (integer-decode-qd v) - (let ( ;; FIXME: these even tests assume normal IEEE rounding - ;; mode. I wonder if we should cater for non-normal? - (high-ok (evenp f)) - (low-ok (evenp f)) - (result (make-array 50 :element-type 'base-char - :fill-pointer 0 :adjustable t))) - (labels ((scale (r s m+ m-) - ;; Keep increasing k until it's big enough - (do ((k 0 (1+ k)) - (s s (cl:* s print-base))) - ((not (let ((test (cl:+ r m+))) - (or (> test s) - (and high-ok (= test s))))) - ;; k is too big. Decrease until - (do ((k k (1- k)) - (r r (cl:* r print-base)) - (m+ m+ (cl:* m+ print-base)) - (m- m- (cl:* m- print-base))) - ((not (let ((test (cl:* (cl:+ r m+) print-base))) - (or (< test s) - (and (not high-ok) (= test s))))) - ;; k is correct. Generate the digits. - (values k (generate r s m+ m-))))))) - (generate (r s m+ m-) - (multiple-value-bind (d r) - (truncate (cl:* r print-base) s) - (let ((m+ (cl:* m+ print-base)) - (m- (cl:* m- print-base))) - (let ((tc1 (or (< r m-) (and low-ok (= r m-)))) - (tc2 (let ((test (cl:+ r m+))) - (or (> test s) - (and high-ok (= test s)))))) - (cond - ((and (not tc1) (not tc2)) - (vector-push-extend (char +digits+ d) result) - ;; FIXME sucky tail recursion. This whole - ;; kaboodle should be DO*/LOOPified. - (generate r s m+ m-)) - ;; pedantically keeping all the conditions - ;; in so that we can move them around. - ((and (not tc1) tc2) - (vector-push-extend (char +digits+ (1+ d)) result) - result) - ((and tc1 (not tc2)) - (vector-push-extend (char +digits+ d) result) - result) - ((and tc1 tc2) - (vector-push-extend (char +digits+ - (if (< (cl:* r 2) s) d (1+ d))) - result) - result))))))) - (let (r s m+ m-) - (if (>= e 0) - (let* ((be (expt float-radix e)) - (be1 (cl:* be float-radix))) - (if (/= f (expt float-radix (1- - float-digits))) - (setf r (cl:* f be 2) - s 2 - m+ be - m- be) - (setf r (cl:* f be1 2) - s (cl:* float-radix 2) - m+ be1 - m- be))) - (if (or (= e min-e) - (/= f (expt float-radix (1- - float-digits)))) - (setf r (cl:* f 2) - s (cl:* (expt float-radix (cl:- e)) 2) - m+ 1 - m- 1) - (setf r (cl:* f float-radix 2) - s (cl:* (expt float-radix (cl:- 1 e)) 2) - m+ float-radix - m- 1))) - (when position - (when relativep - ;;(aver (> position 0)) - (do ((k 0 (1+ k)) - ;; running out of letters here - (l 1 (cl:* l print-base))) - ((>= (cl:* s l) (cl:+ r m+)) - ;; k is now \hat{k} - (if (< (cl:+ r (cl:* s (cl:/ (expt print-base (cl:- k - position)) 2))) - (cl:* s (expt print-base k))) - (setf position (cl:- k position)) - (setf position (cl:- k position 1)))))) - (let ((low (max m- (cl:/ (cl:* s (expt print-base - position)) 2))) - (high (max m+ (cl:/ (cl:* s (expt print-base - position)) 2)))) - (when (<= m- low) - (setf m- low) - (setf low-ok t)) - (when (<= m+ high) - (setf m+ high) - (setf high-ok t)))) - (scale r s m+ m-))))))) - -(defun qd-print-exponent (x exp stream) - (let ((*print-radix* nil)) - (format stream "q~D" exp))) - -(defun qd-to-string (x &optional width fdigits scale fmin) - (setf x (abs-qd x)) - (cond ((zerop-qd x) - ;;zero is a special case which float-string cannot handle - (if fdigits - (let ((s (make-string (1+ fdigits) :initial-element #\0))) - (setf (schar s 0) #\.) - (values s (length s) t (zerop fdigits) 0)) - (values "." 1 t t 0))) - (t - (multiple-value-bind (e string) - (if fdigits - (qd-to-digits x (min (- (+ fdigits (or scale 0))) - (- (or fmin 0)))) - (if (and width (> width 1)) - (let ((w (multiple-value-list - (qd-to-digits x - (max 0 - (+ (1- width) - (if (and scale (minusp scale)) - scale 0))) - t))) - (f (multiple-value-list - (qd-to-digits x (- (+ (or fmin 0) - (if scale scale 0))))))) - (cond - ((>= (length (cadr w)) (length (cadr f))) - (values-list w)) - (t (values-list f)))) - (qd-to-digits x))) - (let ((e (+ e (or scale 0))) - (stream (make-string-output-stream))) - (if (plusp e) - (progn - (write-string string stream :end (min (length string) - e)) - (dotimes (i (- e (length string))) - (write-char #\0 stream)) - (write-char #\. stream) - (write-string string stream :start (min (length string) - e)) - (when fdigits - (dotimes (i (- fdigits - (- (length string) - (min (length string) e)))) - (write-char #\0 stream)))) - (progn - (write-string "." stream) - (dotimes (i (- e)) - (write-char #\0 stream)) - ;; If we're out of room (because fdigits is too - ;; small), don't print out our string. This fixes - ;; things like (format nil "~,2f" 0.001). We should - ;; print ".00", not ".001". - (when (or (null fdigits) - (plusp (+ e fdigits))) - (write-string string stream)) - (when fdigits - (dotimes (i (+ fdigits e (- (length string)))) - (write-char #\0 stream))))) - (let ((string (get-output-stream-string stream))) - (values string (length string) - (char= (char string 0) #\.) - (char= (char string (1- (length string))) #\.) - (position #\. string)))))))) - - -(defun qd-output-aux (x &optional (stream *standard-output*)) - (if (zerop-qd x) - (write-string (if (minusp (float-sign (qd-0 x))) - "-0.0q0" - "0.0q0") - stream) - (multiple-value-bind (e string) - (qd-to-digits x) - (when (minusp (float-sign (qd-0 x))) - (write-char #\- stream)) - (cond ((< -3 e 8) - ;; Free format - (cond ((plusp e) - (write-string string stream :end (min (length string) e)) - (dotimes (i (cl:- e (length string))) - (write-char #\0 stream)) - (write-char #\. stream) - (write-string string stream :start (min (length string) e)) - (when (<= (length string) e) - (write-char #\0 stream)) - (qd-print-exponent x 0 stream)) - (t - (write-string "0." stream) - (dotimes (i (cl:- e)) - (write-char #\0 stream)) - (write-string string stream) - (qd-print-exponent x 0 stream)))) - (t - ;; Exponential format - (write-string string stream :end 1) - (write-char #\. stream) - (write-string string stream :start 1) - ;; CLHS 22.1.3.1.3 says at least one digit must be printed - ;; after the decimal point. - (when (= (length string) 1) - (write-char #\0 stream)) - (qd-print-exponent x (1- e) stream)))))) - -;; Function that can be used with FORMAT ~/ -#-cmu -(defun qd-format (stream arg colon-p at-sign-p &rest par) - ;; We should do something with colon-p and at-sign-p - (declare (ignore colon-p at-sign-p par)) - (write-string "#q" stream) - (qd-output-aux arg stream)) - -#+cmu -(defun qd-output-infinity (x stream) - (cond (*read-eval* - (write-string "#." stream)) - (*print-readably* - (error 'print-not-readable :object x)) - (t - (write-string "#<" stream))) - (write-string "QD:+QUAD-DOUBLE-FLOAT" stream) - (write-string (if (plusp (qd-0 x)) - "-POSITIVE-" - "-NEGATIVE-") - stream) - (write-string "INFINITY+" stream) - (unless *read-eval* - (write-string ">" stream))) - -#+cmu -(defun qd-output-nan (x stream) - (print-unreadable-object (x stream) - (write-string "QUAD-DOUBLE-FLOAT" stream) - (write-string (if (float-trapping-nan-p (qd-0 x)) " Trapping" " Quiet") stream) - (write-string " NaN" stream))) - -#+cmu -(defun qd-format (stream arg colon-p at-sign-p &rest par) - (declare (type %quad-double arg) - (stream stream)) - ;; We should do something with colon-p and at-sign-p - (declare (ignore colon-p at-sign-p par)) - (cond ((ext:float-infinity-p (qd-0 arg)) - (qd-output-infinity arg stream)) - ((ext:float-nan-p (qd-0 arg)) - (qd-output-nan arg stream)) - (t - (qd-output-aux arg stream)))) - -(defun make-float (sign int-part frac-part scale exp) - (declare (type (member -1 1) sign) - (type unsigned-byte int-part frac-part) - (fixnum scale exp)) - #+(or) - (progn - (format t "sign = ~A~%" sign) - (format t "int-part = ~A~%" int-part) - (format t "frac-part = ~A~%" frac-part) - (format t "scale = ~A~%" scale) - (format t "exp = ~A~%" exp)) - (let ((int (cl:+ (cl:* int-part (expt 10 scale)) - frac-part)) - (power (cl:- exp scale))) - #+(or) - (format t "~A * ~A * 10^(~A)~%" sign int power) - (let* ((len (integer-length int))) - #+(or) - (format t "len = ~A~%" len) - (cond ((<= len 53) - (let ((xx (make-qd-d (float int 1d0))) - (yy (npow (make-qd-d 10d0) - power))) - #+(or) - (progn - (format t "int = ~A~%" int) - (format t "fl = ~A~%" (float int 1w0)) - (format t "s = ~A~%" sign) - (format t "sint = ~A~%" (cl:* sign (float int 1w0))) - (format t "~A~%" xx) - (format t "npow = ~A~%" yy)) - (if (minusp sign) - (neg-qd (mul-qd xx yy)) - (mul-qd xx yy)))) - (t - (let* #+nil - ((hi (ldb (byte 106 (cl:- len 106)) int)) - (lo (ldb (byte 106 (cl:- len 212)) int)) - (xx (make-qd-dd (cl:* sign (scale-float (float hi 1w0) - (cl:- len 106))) - (cl:* sign (scale-float (float lo 1w0) - (cl:- len 106 106))))) - (yy (npow (make-qd-d 10d0) - power))) - ((q0 (ldb (byte 53 (cl:- len 53)) int)) - (q1 (ldb (byte 53 (cl:- len (* 2 53))) int)) - (q2 (ldb (byte 53 (cl:- len (* 3 53))) int)) - (q3 (ldb (byte 53 (cl:- len (* 4 53))) int)) - (xx (make-qd-d (scale-float (float q0 1d0) - (cl:- len 53)) - (scale-float (float q1 1d0) - (cl:- len (* 2 53))) - (scale-float (float q2 1d0) - (cl:- len (* 3 53))) - (scale-float (float q3 1d0) - (cl:- len (* 4 53))))) - (yy (npow (make-qd-d 10d0) - power))) - #+(or) - (progn - (format t "xx = ~A~%" xx) - #+(or) - (format t " = ~/qd::qd-format/~%" xx) - (format t "yy = ~A~%" yy) - #+(or) - (format t " = ~/qd::qd-format/~%" yy) - (format t "q0 = ~X (~A)~%" q0 - (scale-float (float q0 1d0) - (cl:- len 53))) - (format t "q1 = ~X (~A)~%" q1 - (scale-float (float q1 1d0) - (cl:- len (* 2 53)))) - #+(or) - (format t "~/qdi::qd-format/~%" (mul-qd xx yy))) - (if (minusp sign) - (neg-qd (mul-qd xx yy)) - (mul-qd xx yy)))))))) - -;; This seems to work, but really needs to be rewritten! -(defun read-qd (stream) - (labels ((read-digits (s) - ;; Read a sequence of digits and return the decimal - ;; value, the character that terminated the sequence, and - ;; how many characters were read. - (let ((val 0) - (ch nil) - (count 0)) - (loop - (setf ch (peek-char nil s nil :eof)) - (cond ((eq ch :eof) - (return)) - ((digit-char-p ch) - (read-char s) - (incf count) - (setf val (cl:+ (digit-char-p ch) - (cl:* 10 val)))) - (t - (return)))) - (values ch val count))) - (read-sign (s) - (let ((maybe-sign (peek-char t s nil :eof))) - (cond ((eql maybe-sign #\-) - (read-char s) - -1 - ) - ((eql maybe-sign #\+) - (read-char s) - +1) - ((and (characterp maybe-sign) - (digit-char-p maybe-sign)) - +1) - ((eql maybe-sign #\.) - +1) - (t - maybe-sign)))) - (read-exp (s) - (let ((exp-sign (read-sign s))) - (when (eq :eof exp-sign) - (return-from read-exp 0)) - (when (eq :eof (peek-char t s nil :eof)) - (error "Sign of exponent, but no value")) - (multiple-value-bind (char expo) - (read-digits s) - (declare (ignore char)) - (cl:* exp-sign expo))))) - (let ((sign (read-sign stream)) - (int-part 0) - (frac-part 0) - (exp 0) - (scale 0)) - (when (eq :eof (peek-char t stream nil :eof)) - (error "Sign, but no value")) - (multiple-value-bind (char int) - (read-digits stream) - (setf int-part int) - (cond ((eql :eof char) - ) - ((eql char #\.) - (read-char stream) - (multiple-value-bind (char val scale-val) - (read-digits stream) - (declare (ignore char)) - (setf frac-part val) - (setf scale scale-val) - (let ((next (peek-char nil stream nil :eof))) - (when (equalp next #\q) - (read-char stream) - (let ((exp-sign (read-sign stream))) - (setf exp (read-exp stream)) - (setf exp (cl:* exp exp-sign))))))) - ((equalp char #\q) - (read-char stream) - (setf exp (read-exp stream)) - )) - (make-float sign int-part frac-part scale exp))))) - -(defun qd-reader (stream subchar arg) - (read-qd stream)) - -(defun qd-from-string (string) - (cl::with-input-from-string (s string) - (read-qd s))) - -#+nil -(set-dispatch-macro-character #\# #\Q #'qd-reader) - diff --git a/external/oct/qd-methods.lisp b/external/oct/qd-methods.lisp deleted file mode 100644 index 980a3c1..0000000 --- a/external/oct/qd-methods.lisp +++ /dev/null @@ -1,896 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qd) - -(defconstant +pi+ - (make-instance 'qd-real :value qdi:+qd-pi+)) - -#+cmu -(defconstant +quad-double-float-positive-infinity+ - (make-instance 'qd-real :value (make-qd-d ext:double-float-positive-infinity)) - "Positive infinity for qd-real") - -#+cmu -(defconstant +quad-double-float-negative-infinity+ - (make-instance 'qd-real :value (make-qd-d ext:double-float-negative-infinity)) - "Negative infinity for qd-real") - -(defconstant +most-positive-quad-double-float+ - (make-instance 'qd-real - :value (qdi::%make-qd-d most-positive-double-float - (cl:scale-float most-positive-double-float (cl:* 1 -53)) - (cl:scale-float most-positive-double-float (cl:* 2 -53)) - (cl:scale-float most-positive-double-float (cl:* 3 -53))))) - -(defconstant +least-positive-quad-double-float+ - (make-instance 'qd-real - :value (make-qd-d least-positive-double-float))) - -;; Not sure this is 100% correct, but I think if the first component -;; is any smaller than this, the last component would no longer be a -;; normalized double-float. -(defconstant +least-positive-normalized-quad-double-float+ - (make-instance 'qd-real - :value (make-qd-d (cl:scale-float least-positive-normalized-double-float (cl:* 3 53))))) - -(defconstant +qd-real-one+ - (make-instance 'qd-real :value (make-qd-d 1d0))) - -(defmethod add1 ((a number)) - (cl::1+ a)) - -(defmethod add1 ((a qd-real)) - (make-instance 'qd-real :value (add-qd-d (qd-value a) 1d0))) - -(defmethod sub1 ((a number)) - (cl::1- a)) - -(defmethod sub1 ((a qd-real)) - (make-instance 'qd-real :value (sub-qd-d (qd-value a) 1d0))) - -(declaim (inline 1+ 1-)) - -(defun 1+ (x) - (add1 x)) - -(defun 1- (x) - (sub1 x)) - -(defmethod two-arg-+ ((a qd-real) (b qd-real)) - (make-instance 'qd-real :value (add-qd (qd-value a) (qd-value b)))) - -(defmethod two-arg-+ ((a qd-real) (b cl:float)) - (make-instance 'qd-real :value (add-qd-d (qd-value a) (cl:float b 1d0)))) - -#+cmu -(defmethod two-arg-+ ((a qd-real) (b ext:double-double-float)) - (make-instance 'qd-real :value (add-qd-dd (qd-value a) b))) - -(defmethod two-arg-+ ((a real) (b qd-real)) - (+ b a)) - -(defmethod two-arg-+ ((a number) (b number)) - (cl:+ a b)) - -(defun + (&rest args) - (if (null args) - 0 - (do ((args (cdr args) (cdr args)) - (res (car args) - (two-arg-+ res (car args)))) - ((null args) res)))) - -(defmethod two-arg-- ((a qd-real) (b qd-real)) - (make-instance 'qd-real :value (sub-qd (qd-value a) (qd-value b)))) - -(defmethod two-arg-- ((a qd-real) (b cl:float)) - (make-instance 'qd-real :value (sub-qd-d (qd-value a) (cl:float b 1d0)))) - -#+cmu -(defmethod two-arg-- ((a qd-real) (b ext:double-double-float)) - (make-instance 'qd-real :value (sub-qd-dd (qd-value a) b))) - -(defmethod two-arg-- ((a cl:float) (b qd-real)) - (make-instance 'qd-real :value (sub-d-qd (cl:float a 1d0) (qd-value b)))) - -(defmethod two-arg-- ((a number) (b number)) - (cl:- a b)) - -(defmethod unary-minus ((a number)) - (cl:- a)) - -(defmethod unary-minus ((a qd-real)) - (make-instance 'qd-real :value (neg-qd (qd-value a)))) - -(defun - (number &rest more-numbers) - (if more-numbers - (do ((nlist more-numbers (cdr nlist)) - (result number)) - ((atom nlist) result) - (declare (list nlist)) - (setq result (two-arg-- result (car nlist)))) - (unary-minus number))) - - -(defmethod two-arg-* ((a qd-real) (b qd-real)) - (make-instance 'qd-real :value (mul-qd (qd-value a) (qd-value b)))) - -(defmethod two-arg-* ((a qd-real) (b cl:float)) - (make-instance 'qd-real :value (mul-qd-d (qd-value a) (cl:float b 1d0)))) - -#+cmu -(defmethod two-arg-* ((a qd-real) (b ext:double-double-float)) - ;; We'd normally want to use mul-qd-dd, but mul-qd-dd is broken. - (make-instance 'qd-real :value (mul-qd (qd-value a) - (make-qd-dd b 0w0)))) - -(defmethod two-arg-* ((a real) (b qd-real)) - (* b a)) - -(defmethod two-arg-* ((a number) (b number)) - (cl:* a b)) - -(defun * (&rest args) - (if (null args) - 1 - (do ((args (cdr args) (cdr args)) - (res (car args) - (two-arg-* res (car args)))) - ((null args) res)))) - -(defmethod two-arg-/ ((a qd-real) (b qd-real)) - (make-instance 'qd-real :value (div-qd (qd-value a) (qd-value b)))) - -(defmethod two-arg-/ ((a qd-real) (b cl:float)) - (make-instance 'qd-real :value (div-qd-d (qd-value a) (cl:float b 1d0)))) - -#+cmu -(defmethod two-arg-/ ((a qd-real) (b ext:double-double-float)) - (make-instance 'qd-real :value (div-qd-dd (qd-value a) - b))) - -(defmethod two-arg-/ ((a cl:float) (b qd-real)) - (make-instance 'qd-real :value (div-qd (make-qd-d (cl:float a 1d0)) - (qd-value b)))) - -#+cmu -(defmethod two-arg-/ ((a ext:double-double-float) (b qd-real)) - (make-instance 'qd-real :value (div-qd (make-qd-dd a 0w0) - (qd-value b)))) - -(defmethod two-arg-/ ((a number) (b number)) - (cl:/ a b)) - -(defmethod unary-divide ((a number)) - (cl:/ a)) - -(defmethod unary-divide ((a qd-real)) - (make-instance 'qd-real :value (div-qd +qd-one+ (qd-value a)))) - -(defun / (number &rest more-numbers) - (if more-numbers - (do ((nlist more-numbers (cdr nlist)) - (result number)) - ((atom nlist) result) - (declare (list nlist)) - (setq result (two-arg-/ result (car nlist)))) - (unary-divide number))) - -(macrolet ((frob (name &optional (type 'real)) - (let ((method-name (intern (concatenate 'string "Q" (symbol-name name)))) - (cl-name (intern (symbol-name name) :cl)) - (qd-name (intern (concatenate 'string (symbol-name name) "-QD")))) - `(progn - (defmethod ,method-name ((x ,type)) - (,cl-name x)) - (defmethod ,method-name ((x qd-real)) - (,qd-name (qd-value x))) - (declaim (inline ,name)) - (defun ,name (x) - (,method-name x)))))) - (frob zerop number) - (frob plusp) - (frob minusp)) - -(defun bignum-to-qd (bignum) - (make-instance 'qd-real - :value (qdi::make-float (if (minusp bignum) -1 1) - (abs bignum) - 0 - 0 - 0))) - -(defmethod qfloat ((x real) (num-type cl:float)) - (cl:float x num-type)) - -(defmethod qfloat ((x cl:float) (num-type qd-real)) - (make-instance 'qd-real :value (make-qd-d (cl:float x 1d0)))) - -(defmethod qfloat ((x integer) (num-type qd-real)) - (cond ((typep x 'fixnum) - (make-instance 'qd-real :value (make-qd-d (cl:float x 1d0)))) - (t - ;; A bignum - (bignum-to-qd x)))) - -#+nil -(defmethod qfloat ((x ratio) (num-type qd-real)) - ;; This probably has some issues with roundoff - (two-arg-/ (qfloat (numerator x) num-type) - (qfloat (denominator x) num-type))) - -(defmethod qfloat ((x ratio) (num-type qd-real)) - ;; This probably has some issues with roundoff - (let ((top (qd-value (qfloat (numerator x) num-type))) - (bot (qd-value (qfloat (denominator x) num-type)))) - (make-instance 'qd-real :value (div-qd top bot)))) - -#+cmu -(defmethod qfloat ((x ext:double-double-float) (num-type qd-real)) - (make-instance 'qd-real :value (make-qd-dd x 0w0))) - -(defmethod qfloat ((x qd-real) (num-type cl:float)) - (multiple-value-bind (q0 q1 q2 q3) - (qd-parts (qd-value x)) - (cl:float (cl:+ q0 q1 q2 q3) num-type))) - -#+cmu -(defmethod qfloat ((x qd-real) (num-type ext:double-double-float)) - (multiple-value-bind (q0 q1 q2 q3) - (qd-parts (qd-value x)) - (cl:+ (cl:float q0 1w0) - (cl:float q1 1w0) - (cl:float q2 1w0) - (cl:float q3 1w0)))) - -(defmethod qfloat ((x qd-real) (num-type qd-real)) - x) - -(declaim (inline float)) -(defun float (x num-type) - (qfloat x num-type)) - -(defmethod qrealpart ((x number)) - (cl:realpart x)) -(defmethod qrealpart ((x qd-real)) - x) -(defmethod qrealpart ((x qd-complex)) - (make-instance 'qd-real :value (qd-real x))) -(defun realpart (x) - (qrealpart x)) - -(defmethod qimagpart ((x number)) - (cl:imagpart x)) -(defmethod qimagpart ((x qd-real)) - (make-qd 0d0)) -(defmethod qimagpart ((x qd-complex)) - (make-instance 'qd-real :value (qd-imag x))) - -(defun imagpart (x) - (qimagpart x)) - -(defmethod qconjugate ((a number)) - (cl:conjugate a)) - -(defmethod qconjugate ((a qd-real)) - (make-instance 'qd-real :value (qd-value a))) - -(defmethod qconjugate ((a qd-complex)) - (make-instance 'qd-complex - :real (qd-real a) - :imag (neg-qd (qd-imag a)))) - -(defun conjugate (z) - (qconjugate z)) - -(defmethod qscale-float ((f cl:float) (n integer)) - (cl:scale-float f n)) - -(defmethod qscale-float ((f qd-real) (n integer)) - (make-instance 'qd-real :value (scale-float-qd (qd-value f) n))) - -(declaim (inline scale-float)) -(defun scale-float (f n) - (qscale-float f n)) - -(macrolet - ((frob (op) - (let ((method (intern (concatenate 'string "TWO-ARG-" (symbol-name op)))) - (cl-fun (find-symbol (symbol-name op) :cl)) - (qd-fun (intern (concatenate 'string "QD-" (symbol-name op)) - (find-package :qdi)))) - `(progn - (defmethod ,method ((a real) (b real)) - (,cl-fun a b)) - (defmethod ,method ((a qd-real) (b real)) - (,qd-fun (qd-value a) (make-qd-d (cl:float b 1d0)))) - (defmethod ,method ((a real) (b qd-real)) - (,qd-fun (make-qd-d (cl:float a 1d0)) (qd-value b))) - (defmethod ,method ((a qd-real) (b qd-real)) - (,qd-fun (qd-value a) (qd-value b))) - (defun ,op (number &rest more-numbers) - "Returns T if its arguments are in strictly increasing order, NIL otherwise." - (declare (optimize (safety 2)) - (dynamic-extent more-numbers)) - (do* ((n number (car nlist)) - (nlist more-numbers (cdr nlist))) - ((atom nlist) t) - (declare (list nlist)) - (if (not (,method n (car nlist))) (return nil)))))))) - (frob <) - (frob >) - (frob <=) - (frob >=)) - -(macrolet ((frob (name) - (let ((method-name (intern (concatenate 'string "Q" (symbol-name name)))) - (cl-name (intern (symbol-name name) :cl)) - (qd-name (intern (concatenate 'string (symbol-name name) "-QD")))) - `(progn - (defmethod ,method-name ((x number)) - (,cl-name x)) - (defmethod ,method-name ((x qd-real)) - (make-instance 'qd-real :value (,qd-name (qd-value x)))) - (declaim (inline ,name)) - (defun ,name (x) - (,method-name x)))))) - (frob abs) - (frob exp) - (frob sin) - (frob cos) - (frob tan) - ;;(frob asin) - ;;(frob acos) - (frob sinh) - (frob cosh) - (frob tanh) - (frob asinh) - ;;(frob acosh) - ;;(frob atanh) - ) - -(defmethod qsqrt ((x number)) - (cl:sqrt x)) - -(defmethod qsqrt ((x qd-real)) - (if (minusp x) - (make-instance 'qd-complex - :real +qd-zero+ - :imag (sqrt-qd (neg-qd (qd-value x)))) - (make-instance 'qd-real :value (sqrt-qd (qd-value x))))) - -(defun sqrt (x) - (qsqrt x)) - -(defun scalb (x n) - "Compute 2^N * X without compute 2^N first (use properties of the -underlying floating-point format" - (declare (type qd-real x)) - (scale-float x n)) - -(declaim (inline qd-cssqs)) -(defun qd-cssqs (z) - (multiple-value-bind (rho k) - (qdi::hypot-aux-qd (qd-value (realpart z)) - (qd-value (imagpart z))) - (values (make-instance 'qd-real :value rho) - k))) - -#+nil -(defmethod qabs ((z qd-complex)) - ;; sqrt(x^2+y^2) - ;; If |x| > |y| then sqrt(x^2+y^2) = |x|*sqrt(1+(y/x)^2) - (multiple-value-bind (abs^2 rho) - (hypot-qd (qd-value (realpart z)) - (qd-value (imagpart z))) - (scale-float (make-instance 'qd-real :value (sqrt abs^2)) - rho))) - -(defmethod qabs ((z qd-complex)) - ;; sqrt(x^2+y^2) - ;; If |x| > |y| then sqrt(x^2+y^2) = |x|*sqrt(1+(y/x)^2) - (make-instance 'qd-real - :value (hypot-qd (qd-value (realpart z)) - (qd-value (imagpart z))))) - -(defmethod qlog ((a number) &optional b) - (if b - (cl:log a b) - (cl:log a))) - -(defmethod qlog ((a qd-real) &optional b) - (if b - (/ (qlog a) (qlog b)) - (if (minusp (float-sign a)) - (make-instance 'qd-complex - :real (log-qd (abs-qd (qd-value a))) - :imag +qd-pi+) - (make-instance 'qd-real :value (log-qd (qd-value a)))))) - -(declaim (inline log)) -(defun log (a &optional b) - (qlog a b)) - - -(defmethod log1p ((a qd-real)) - (make-instance 'qd-real :value (log1p-qd (qd-value a)))) - -(defmethod qatan ((y real) &optional x) - (cond (x - (cond ((typep x 'qd-real) - (make-instance 'qd-real - :value (atan2-qd (qd-value y) (qd-value x)))) - (t - (cl:atan y x)))) - (t - (cl:atan y)))) - -(defmethod qatan ((y qd-real) &optional x) - (make-instance 'qd-real - :value - (if x - (atan2-qd (qd-value y) (qd-value x)) - (atan-qd (qd-value y))))) - -(defun atan (y &optional x) - (qatan y x)) - - -(defmethod qexpt ((x number) (y number)) - (cl:expt x y)) - -(defmethod qexpt ((x qd-real) (y real)) - (exp (* y (log x)))) - -(defmethod qexpt ((x real) (y qd-real)) - (exp (* y (log x)))) - -(defmethod qexpt ((x qd-real) (y cl:complex)) - (exp (* (make-instance 'qd-complex - :real (qd-value (realpart y)) - :imag (qd-value (imagpart y))) - (log x)))) - -(defmethod qexpt ((x cl:complex) (y qd-real)) - (exp (* y - (log (make-instance 'qd-complex - :real (qd-value (realpart x)) - :imag (qd-value (imagpart x))))))) - -(defmethod qexpt ((x qd-real) (y qd-real)) - ;; x^y = exp(y*log(x)) - (exp (* y (log x)))) - -(defmethod qexpt ((x qd-real) (y integer)) - (make-instance 'qd-real - :value (npow (qd-value x) y))) - -(declaim (inline expt)) -(defun expt (x y) - (qexpt x y)) - - - -(defmethod two-arg-= ((a number) (b number)) - (cl:= a b)) -(defmethod two-arg-= ((a qd-real) (b number)) - (if (realp b) - (qd-= (qd-value a) (make-qd-d (cl:float b 1d0))) - nil)) -(defmethod two-arg-= ((a number) (b qd-real)) - (if (realp a) - (qd-= (make-qd-d (cl:float a 1d0)) (qd-value b)) - nil)) - -(defmethod two-arg-= ((a qd-real) (b qd-real)) - (qd-= (qd-value a) (qd-value b))) - -(defun = (number &rest more-numbers) - "Returns T if all of its arguments are numerically equal, NIL otherwise." - (declare (optimize (safety 2)) - (dynamic-extent more-numbers)) - (do ((nlist more-numbers (cdr nlist))) - ((atom nlist) T) - (declare (list nlist)) - (if (not (two-arg-= (car nlist) number)) - (return nil)))) - -(defun /= (number &rest more-numbers) - "Returns T if no two of its arguments are numerically equal, NIL otherwise." - (declare (optimize (safety 2)) - (dynamic-extent more-numbers)) - (do* ((head number (car nlist)) - (nlist more-numbers (cdr nlist))) - ((atom nlist) t) - (declare (list nlist)) - (unless (do* ((nl nlist (cdr nl))) - ((atom nl) T) - (declare (list nl)) - (if (two-arg-= head (car nl)) - (return nil))) - (return nil)))) - -(defmethod qcomplex ((x real) &optional y) - (cl:complex x (if y y 0))) - -(defmethod qcomplex ((x qd-real) &optional y) - (make-instance 'qd-complex - :real (qd-value x) - :imag (if y (qd-value y) +qd-zero+))) - -(defun complex (x &optional (y 0)) - (qcomplex x y)) - -(defmethod qinteger-decode-float ((f cl:float)) - (cl:integer-decode-float f)) - -(defmethod qinteger-decode-float ((f qd-real)) - (integer-decode-qd (qd-value f))) - -(declaim (inline integer-decode-float)) -(defun integer-decode-float (f) - (qinteger-decode-float f)) - -(defmethod qdecode-float ((f cl:float)) - (cl:decode-float f)) - -(defmethod qdecode-float ((f qd-real)) - (multiple-value-bind (frac exp s) - (decode-float-qd (qd-value f)) - (values (make-instance 'qd-real :value frac) - exp - (make-instance 'qd-real :value s)))) - -(declaim (inline decode-float)) -(defun decode-float (f) - (qdecode-float f)) - -(defmethod qfloor ((x real) &optional y) - (if y - (cl:floor x y) - (cl:floor x))) - -(defmethod qfloor ((x qd-real) &optional y) - (if (and y (/= y 1)) - (let ((f (qfloor (/ x y)))) - (values f - (- x (* f y)))) - (let ((f (ffloor-qd (qd-value x)))) - (multiple-value-bind (int exp sign) - (integer-decode-qd f) - (values (ash (* sign int) exp) - (make-instance 'qd-real - :value (qd-value - (- x (make-instance 'qd-real - :value f))))))))) - -(defun floor (x &optional y) - (qfloor x y)) - -(defmethod qffloor ((x real) &optional y) - (if y - (cl:ffloor x y) - (cl:ffloor x))) - -(defmethod qffloor ((x qd-real) &optional y) - (if (and y (/= y 1)) - (let ((f (qffloor (/ x y)))) - (values f - (- x (* f y)))) - (let ((f (make-instance 'qd-real :value (ffloor-qd (qd-value x))))) - (values f - (- x f))))) - -(defun ffloor (x &optional y) - (qffloor x y)) - -(defun ceiling (x &optional y) - (multiple-value-bind (f rem) - (floor x y) - (if (zerop rem) - (values (+ f 1) - rem) - (values (+ f 1) - (- rem 1))))) - -(defun fceiling (x &optional y) - (multiple-value-bind (f rem) - (ffloor x y) - (if (zerop rem) - (values (+ f 1) - rem) - (values (+ f 1) - (- rem 1))))) - -(defun truncate (x &optional (y 1)) - (if (minusp x) - (ceiling x y) - (floor x y))) - -(defun ftruncate (x &optional (y 1)) - (if (minusp x) - (fceiling x y) - (ffloor x y))) - -(defmethod %unary-round ((x real)) - (cl::round x)) - -(defmethod %unary-round ((number qd-real)) - (multiple-value-bind (bits exp) - (integer-decode-float number) - (let* ((shifted (ash bits exp)) - (rounded (if (and (minusp exp) - (oddp shifted) - (not (zerop (logand bits - (ash 1 (- -1 exp)))))) - (1+ shifted) - shifted))) - (if (minusp number) - (- rounded) - rounded)))) - -(defun round (number &optional (divisor 1)) - (if (eql divisor 1) - (let ((r (%unary-round number))) - (values r - (- number r))) - (multiple-value-bind (tru rem) - (truncate number divisor) - (if (zerop rem) - (values tru rem) - (let ((thresh (/ (abs divisor) 2))) - (cond ((or (> rem thresh) - (and (= rem thresh) (oddp tru))) - (if (minusp divisor) - (values (- tru 1) (+ rem divisor)) - (values (+ tru 1) (- rem divisor)))) - ((let ((-thresh (- thresh))) - (or (< rem -thresh) - (and (= rem -thresh) (oddp tru)))) - (if (minusp divisor) - (values (+ tru 1) (- rem divisor)) - (values (- tru 1) (+ rem divisor)))) - (t (values tru rem)))))))) - -(defun fround (number &optional (divisor 1)) - "Same as ROUND, but returns first value as a float." - (multiple-value-bind (res rem) - (round number divisor) - (values (float res (if (floatp rem) rem 1.0)) rem))) - -(defmethod qfloat-sign ((a real) &optional (f (float 1 a))) - (cl:float-sign a f)) - -(defmethod qfloat-sign ((a qd-real) &optional f) - (if f - (make-instance 'qd-real - :value (mul-qd-d (abs-qd (qd-value f)) - (cl:float-sign (qd-0 (qd-value a))))) - (make-instance 'qd-real :value (make-qd-d (cl:float-sign (qd-0 (qd-value a))))))) - -(declaim (inline float-sign)) -(defun float-sign (n &optional float2) - (qfloat-sign n float2)) - -(defun max (number &rest more-numbers) - "Returns the greatest of its arguments." - (declare (optimize (safety 2)) (type (or real qd-real) number) - (dynamic-extent more-numbers)) - (dolist (real more-numbers) - (when (> real number) - (setq number real))) - number) - -(defun min (number &rest more-numbers) - "Returns the least of its arguments." - (declare (optimize (safety 2)) (type (or real qd-real) number) - (dynamic-extent more-numbers)) - (do ((nlist more-numbers (cdr nlist)) - (result (the (or real qd-real) number))) - ((null nlist) (return result)) - (declare (list nlist)) - (if (< (car nlist) result) - (setq result (car nlist))))) - -(defmethod qasin ((x number)) - (cl:asin x)) - -(defmethod qasin ((x qd-real)) - (if (<= -1 x 1) - (make-instance 'qd-real :value (asin-qd (qd-value x))) - (qd-complex-asin x))) - -(declaim (inline asin)) -(defun asin (x) - (qasin x)) - -(defmethod qacos ((x number)) - (cl:acos x)) - -(defmethod qacos ((x qd-real)) - (cond ((> (abs x) 1) - (qd-complex-acos x)) - (t - (make-instance 'qd-real :value (acos-qd (qd-value x)))))) - -(declaim (inline acos)) -(defun acos (x) - (qacos x)) - -(defmethod qacosh ((x number)) - (cl:acosh x)) - -(defmethod qacosh ((x qd-real)) - (if (< x 1) - (qd-complex-acosh x) - (make-instance 'qd-real :value (acosh-qd (qd-value x))))) - - -(declaim (inline acosh)) -(defun acosh (x) - (qacosh x)) - -(defmethod qatanh ((x number)) - (cl:atanh x)) - -(defmethod qatanh ((x qd-real)) - (if (> (abs x) 1) - (qd-complex-atanh x) - (make-instance 'qd-real :value (atanh-qd (qd-value x))))) - - -(declaim (inline atanh)) -(defun atanh (x) - (qatanh x)) - -(defmethod qcis ((x real)) - (cl:cis x)) - -(defmethod qcis ((x qd-real)) - (multiple-value-bind (s c) - (sincos-qd (qd-value x)) - (make-instance 'qd-complex - :real c - :imag s))) - -(declaim (inline cis)) -(defun cis (x) - (qcis x)) - -(defmethod qphase ((x number)) - (cl:phase x)) - -(defmethod qphase ((x qd-real)) - (if (minusp x) - (- +pi+) - (make-instance 'qd-real :value (make-qd-d 0d0)))) - -(declaim (inline phase)) -(defun phase (x) - (qphase x)) - -(defun signum (number) - "If NUMBER is zero, return NUMBER, else return (/ NUMBER (ABS NUMBER))." - (if (zerop number) - number - (if (rationalp number) - (if (plusp number) 1 -1) - (/ number (abs number))))) - -(defmethod random ((x cl:real) &optional (state *random-state*)) - (cl:random x state)) - -(defmethod random ((x qd-real) &optional (state *random-state*)) - (* x (make-instance 'qd-real - :value (qdi:random-qd state)))) - -(define-compiler-macro + (&whole form &rest args) - (if (null args) - 0 - (do ((args (cdr args) (cdr args)) - (res (car args) - `(two-arg-+ ,res ,(car args)))) - ((null args) res)))) - -(define-compiler-macro - (&whole form number &rest more-numbers) - (if more-numbers - (do ((nlist more-numbers (cdr nlist)) - (result number)) - ((atom nlist) result) - (declare (list nlist)) - (setq result `(two-arg-- ,result ,(car nlist)))) - `(unary-minus ,number))) - -(define-compiler-macro * (&whole form &rest args) - (if (null args) - 1 - (do ((args (cdr args) (cdr args)) - (res (car args) - `(two-arg-* ,res ,(car args)))) - ((null args) res)))) - -(define-compiler-macro / (number &rest more-numbers) - (if more-numbers - (do ((nlist more-numbers (cdr nlist)) - (result number)) - ((atom nlist) result) - (declare (list nlist)) - (setq result `(two-arg-/ ,result ,(car nlist)))) - `(unary-divide ,number))) - -;; Compiler macros to convert <, >, <=, and >= into multiple calls of -;; the corresponding two-arg- function. -(macrolet - ((frob (op) - (let ((method (intern (concatenate 'string "TWO-ARG-" (symbol-name op))))) - `(define-compiler-macro ,op (number &rest more-numbers) - (do* ((n number (car nlist)) - (nlist more-numbers (cdr nlist)) - (res nil)) - ((atom nlist) - `(and ,@(nreverse res))) - (push `(,',method ,n ,(car nlist)) res)))))) - (frob <) - (frob >) - (frob <=) - (frob >=)) - -(define-compiler-macro /= (&whole form number &rest more-numbers) - ;; Convert (/= x y) to (not (two-arg-= x y)). Should we try to - ;; handle a few more cases? - (if (cdr more-numbers) - form - `(not (two-arg-= ,number ,(car more-numbers))))) - - -(defun read-qd-real-or-complex (stream) - (let ((c (peek-char t stream))) - (cond ((char= c #\() - ;; Read a QD complex - (read-char stream) ; Skip the paren - (let ((real (read stream t nil t)) - (imag (read stream t nil t))) - (unless (char= (peek-char t stream) #\)) - (error "Illegal QD-COMPLEX number format")) - ;; Read closing paren - (read-char stream) - (make-instance 'qd-complex - :real (qd-value (float real +qd-real-one+)) - :imag (qd-value (float imag +qd-real-one+))))) - (t - (make-instance 'qd-real :value (read-qd stream)))))) - -(defun qd-class-reader (stream subchar arg) - (declare (ignore subchar)) - (when arg - (warn "Numeric argument ignored in #~DQ" arg)) - (read-qd-real-or-complex stream)) - -;; Yow! We redefine the #q reader that is in qd-io.lisp to read in -;; and make a real qd-real float, instead of the hackish -;; %qd-real. -(set-dispatch-macro-character #\# #\Q #'qd-class-reader) - diff --git a/external/oct/qd-package.lisp b/external/oct/qd-package.lisp deleted file mode 100644 index 18406f7..0000000 --- a/external/oct/qd-package.lisp +++ /dev/null @@ -1,227 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(defpackage #:quad-double-internal - (:use #:cl #+cmu #:extensions) - (:nicknames #:qdi) - (:export #:%quad-double - #:read-qd - #:add-qd - #:add-qd-d - #:cmu #:add-qd-dd - #:add-d-qd - #:sub-qd - #:sub-qd-d - #:cmu #:sub-qd-dd - #:sub-d-qd - #:neg-qd - #:mul-qd - #:mul-qd-d - #:sqr-qd - #:div-qd - #:div-qd-d - #+cmu #:div-qd-dd - #:make-qd-d - #+cmu #:make-qd-dd - #:integer-decode-qd - #:npow - #:qd-0 - #:qd-1 - #:qd-2 - #:qd-3 - #:qd-parts - #:+qd-one+ - #:+qd-zero+ - #:+qd-pi+ - ;; Functions - #:hypot-qd - #:abs-qd - #:sqrt-qd - #:log-qd - #:log1p-qd - #:exp-qd - #:sin-qd - #:cos-qd - #:tan-qd - #:sincos-qd - #:asin-qd - #:acos-qd - #:atan-qd - #:atan2-qd - #:sinh-qd - #:cosh-qd - #:tanh-qd - #:asinh-qd - #:acosh-qd - #:atanh-qd - #:qd-= - #:qd-> - #:qd-< - #:qd->= - #:qd-<= - #:zerop-qd - #:plusp-qd - #:minusp-qd - #:integer-decode-qd - #:decode-float-qd - #:scale-float-qd - #:ffloor-qd - #:random-qd - ) - #+cmu - (:import-from #:c - #:two-sum - #:quick-two-sum - #:two-prod - #:two-sqr)) - -(defpackage #:quad-double - (:use #:cl #:quad-double-internal) - (:nicknames #:oct #:qd) - (:shadow #:+ - #:- - #:* - #:/ - #:1+ - #:1- - #:zerop - #:plusp - #:minusp - #:abs - #:sqrt - #:log - #:exp - #:sin - #:cos - #:tan - #:asin - #:acos - #:atan - #:sinh - #:cosh - #:tanh - #:asinh - #:acosh - #:atanh - #:expt - #:= - #:/= - #:< - #:> - #:<= - #:>= - #:complex - #:integer-decode-float - #:decode-float - #:scale-float - #:float - #:floor - #:ffloor - #:ceiling - #:fceiling - #:truncate - #:ftruncate - #:round - #:fround - #:realpart - #:imagpart - #:conjugate - #:float-sign - #:qd-format-exp - #:max - #:min - #:cis - #:phase - #:signum - #:coerce - #:random - ) - (:export #:+ - #:- - #:* - #:/ - #:1+ - #:1- - #:zerop - #:plusp - #:minusp - #:abs - #:sqrt - #:log - #:exp - #:sin - #:cos - #:tan - #:asin - #:acos - #:atan - #:sinh - #:cosh - #:tanh - #:asinh - #:acosh - #:atanh - #:expt - #:= - #:/= - #:< - #:> - #:<= - #:>= - #:complex - #:integer-decode-float - #:decode-float - #:scale-float - #:float - #:floor - #:ffloor - #:ceiling - #:fceiling - #:truncate - #:ftruncate - #:round - #:fround - #:realpart - #:imagpart - #:conjugate - #:float-sign - #:qd-format-exp - #:max - #:min - #:cis - #:phase - #:signum - #:coerce - #:random - #:realp - #:complexp - #:numberp - ) - ;; Constants - (:export #:+pi+) - ;; CMUCL supports infinities. - #+cmu - (:export #:+quad-double-float-positive-infinity+ - #:+quad-double-float-negative-infinity+)) diff --git a/external/oct/qd-rep.lisp b/external/oct/qd-rep.lisp deleted file mode 100644 index 39e4e77..0000000 --- a/external/oct/qd-rep.lisp +++ /dev/null @@ -1,156 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qdi) - -;;; This file contains the actual representation of a %quad-double -;;; number. The only real requirement for a %quad-double number is an -;;; object that can hold four double-float values. -;;; -;;; This object is created by %MAKE-QD-D. The four double-float -;;; elements of a %quad-double are accessed via QD-0, QD-1, QD-2, and -;;; QD-3. A convenience function, QD-PARTS, is also provided to -;;; return all four values at once. - -;; All of the following functions should be inline to reduce consing. -(declaim (inline - qd-0 qd-1 qd-2 qd-3 - %make-qd-d - qd-parts)) -#+cmu -(progn -;; For CMUCL (at least recent enough versions that support -;; double-double-float), we can use a (complex double-double-float) to -;; hold our 4 double-float values. This has a nice advantage: Much of -;; the arithmetic can be done without consing, provided the key -;; functions are inline. -(deftype %quad-double () - '(complex double-double-float)) - -;; QD-0, QD-1, QD-2, and QD-3 extract the various parts of a -;; quad-double. QD-0 is the most significant part and QD-3 is the -;; least. -(defun qd-0 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (kernel:double-double-hi (realpart q))) -(defun qd-1 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (kernel:double-double-lo (realpart q))) -(defun qd-2 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (kernel:double-double-hi (imagpart q))) -(defun qd-3 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (kernel:double-double-lo (imagpart q))) - -(eval-when (:compile-toplevel :load-toplevel :execute) -(defun %make-qd-d (a0 a1 a2 a3) - "Make a %quad-double from 4 double-floats, exactly using the given - values. No check is made to see if the values make sense. A0 is - the most significant part and A3 is the least. -" - (declare (double-float a0 a1 - a2 a3)) - (complex (kernel:%make-double-double-float a0 a1) - (kernel:%make-double-double-float a2 a3))) -) - - -(defun qd-parts (qd) - "Extract the four doubles comprising a quad-double and return them - as multiple values. The most significant double is the first value." - (declare (type %quad-double qd)) - (let ((re (realpart qd)) - (im (imagpart qd))) - (values (kernel:double-double-hi re) - (kernel:double-double-lo re) - (kernel:double-double-hi im) - (kernel:double-double-lo im)))) - -) ; end progn - -#-cmu -(progn -;; For Lisp's without a double-double-float type, I think the best we -;; can do is a simple-array of four double-floats. Even with -;; inlining, I think there will lots of consing when working with this -;; type. -;; -;; A defstruct would also work but I think a simple-array is the -;; simplest and smallest representation. -(deftype %quad-double () - '(simple-array double-float (4))) - -(defun qd-0 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (aref q 0)) - -(defun qd-1 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (aref q 1)) - -(defun qd-2 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (aref q 2)) - -(defun qd-3 (q) - (declare (type %quad-double q) - (optimize (speed 3))) - (aref q 3)) - -(eval-when (:compile-toplevel :load-toplevel :execute) -(defun %make-qd-d (a0 a1 a2 a3) - "Make a %quad-double from 4 double-floats, exactly using the given - values. No check is made to see if the values make sense. A0 is - the most significant part and A3 is the least. -" - (declare (double-float a0 a1 - a2 a3) - (optimize (speed 3))) - (let ((a (make-array 4 :element-type 'double-float))) - (setf (aref a 0) a0) - (setf (aref a 1) a1) - (setf (aref a 2) a2) - (setf (aref a 3) a3) - a)) -) - -(defun qd-parts (qd) - "Extract the four doubles comprising a quad-double and return them - as multiple values. The most significant double is the first value." - (declare (type %quad-double qd)) - (values (aref qd 0) - (aref qd 1) - (aref qd 2) - (aref qd 3))) - -) ; end progn diff --git a/external/oct/qd-test.lisp b/external/oct/qd-test.lisp deleted file mode 100644 index 2ce6530..0000000 --- a/external/oct/qd-test.lisp +++ /dev/null @@ -1,409 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - - -(in-package #:qdi) - -;; Compute to how many bits EST and TRUE are equal. If they are -;; identical, return T. -(defun bit-accuracy (est true) - (let* ((diff (abs-qd (sub-qd est true))) - (err (if (zerop-qd true) - (qd-0 diff) - (cl:/ (qd-0 diff) (abs (qd-0 true)))))) - (if (zerop (qd-0 diff)) - t - (cl:- (log err 2d0))))) - -(defun print-result (est true) - (format t "est: ~/qdi::qd-format/~%" est) - (format t "tru: ~/qdi::qd-format/~%" true) - (format t "err: ~A~%" (qd-0 (sub-qd est true))) - (format t "bits: ~,1f~%" (bit-accuracy est true))) - -;; Machin's formula for pi -#+nil -(defun atan-series (x) - (let* ((d 1d0) - (eps (make-qd-d (scale-float 1d0 -212) - 0d0 0d0 0d0)) - (tmp x) - (r (sqr-qd tmp)) - (s1 (make-qd-dd 0w0 0w0)) - (k 0) - (sign 1)) - (loop while (qd-> tmp eps) do - (incf k) - (setf s1 - (if (minusp sign) - (sub-qd s1 (div-qd tmp (make-qd-d d 0d0 0d0 0d0))) - (add-qd s1 (div-qd tmp (make-qd-d d 0d0 0d0 0d0))))) - (incf d 2d0) - (setf tmp (mul-qd tmp r)) - (setf sign (cl:- sign))) - s1)) - -;; pi = -;; 3.1415926535897932384626433832795028841971693993751058209749445923078L0 -(defun test2 () - ;; pi/4 = 4 * arctan(1/5) - arctan(1/239) - ;; - ;; Arctan is computed using the Taylor series - ;; - ;; arctan(x) = x - x^3/3 + x^5/5 - x^7/7 - (flet ((atan-series (x) - (let* ((d 1d0) - (eps (make-qd-d (scale-float 1d0 -212))) - (tmp x) - (r (sqr-qd tmp)) - (s1 (make-qd-d 0d0)) - (k 0) - (sign 1)) - (loop while (qd-> tmp eps) do - (incf k) - (setf s1 - (if (minusp sign) - (sub-qd s1 (div-qd tmp (make-qd-d d))) - (add-qd s1 (div-qd tmp (make-qd-d d))))) - (incf d 2d0) - (setf tmp (mul-qd tmp r)) - (setf sign (cl:- sign))) - s1))) - (let* ((x1 (div-qd +qd-one+ - (make-qd-d 5d0))) - (s1 (atan-series x1)) - (x2 (div-qd +qd-one+ - (make-qd-d 239d0))) - (s2 (atan-series x2)) - (p (mul-qd-d (sub-qd (mul-qd-d s1 4d0) - s2) - 4d0))) - (format t "~2&pi via Machin's atan formula~%") - (print-result p +qd-pi+) - p))) - -(defun test3 () - (declare (optimize (speed 3))) - ;; Salamin-Brent Quadratic formula for pi - (let* ((a +qd-one+) - (b (sqrt-qd (make-qd-d 0.5d0))) - (s (make-qd-d 0.5d0)) - (m 1d0) - (p (div-qd (mul-qd-d (sqr-qd a) 2d0) - s))) - (declare (double-float m)) - (dotimes (k 9) - (setf m (cl:* 2 m)) - (let* ((a-new (mul-qd-d (add-qd a b) .5d0)) - (b-new (sqrt-qd (mul-qd a b))) - (s-new (sub-qd s - (mul-qd-d (sub-qd (sqr-qd a-new) - (sqr-qd b-new)) - m)))) - (setf a a-new) - (setf b b-new) - (setf s s-new) - (setf p (div-qd (mul-qd-d (sqr-qd a) 2d0) - s)))) - (format t "~2&Salamin-Brent Quadratic formula for pi~%") - (print-result p +qd-pi+) - p)) - -(defun test4 () - (declare (optimize (speed 3))) - ;; Borwein Quartic formula for pi - (let* ((a (sub-qd (make-qd-d 6d0) - (mul-qd-d (sqrt-qd (make-qd-d 2d0)) - 4d0))) - (y (sub-qd-d (sqrt-qd (make-qd-d 2d0)) - 1d0)) - (m 2d0) - (p (div-qd +qd-one+ - a))) - (declare (double-float m)) - (dotimes (k 9) - (setf m (cl:* 4 m)) - (let ((r (nroot-qd (sub-qd +qd-one+ - (sqr-qd (sqr-qd y))) - 4))) - (setf y (div-qd (sub-d-qd 1d0 - r) - (add-d-qd 1d0 - r))) - (setf a (sub-qd (mul-qd a - (sqr-qd (sqr-qd (add-qd-d y 1d0)))) - (mul-qd-d (mul-qd y - (add-qd-d (add-qd y (sqr-qd y)) - 1d0)) - m))) - (setf p (div-qd +qd-one+ - a)))) - (format t "~2&Borwein's Quartic formula for pi~%") - (print-result p +qd-pi+) - p)) - -;; e = -;; 2.718281828459045235360287471352662497757247093699959574966967627724L0 -(defun test5 () - ;; Taylor series for e - (let ((s (make-qd-d 2d0)) - (tmp +qd-one+) - (n 1d0) - (delta 0d0) - (i 0)) - (loop while (qd-> tmp (make-qd-d 1d-100)) do - (incf i) - (incf n) - (setf tmp (div-qd tmp - (make-qd-d (float n 1d0)))) - (setf s (add-qd s tmp))) - (format t "~2&e via Taylor series~%") - (print-result s +qd-e+) - s)) - -;; log(2) = -;; 0.6931471805599453094172321214581765680755001343602552541206800094934L0 -(defun test6 () - ;; Taylor series for log 2 - ;; - ;; -log(1-x) = x + x^2/2 + x^3/3 + x^4/4 + ... - ;; - ;; with x = 1/2 to get log(1/2) = -log(2) - (let ((s (make-qd-d .5d0)) - (tt (make-qd-d .5d0)) - (n 1d0) - (i 0)) - (loop while (qd-> tt (make-qd-d 1d-100)) do - (incf i) - (incf n) - (setf tt (mul-qd-d tt .5d0)) - (setf s (add-qd s - (div-qd tt (make-qd-d (float n 1d0)))))) - (format t "~2&log(2) via Taylor series~%") - (print-result s +qd-log2+) - s)) - -(defun test-atan (&optional (fun #'atan-qd)) - ;; Compute atan for known values - - (format t "~2&atan via ~S~%" fun) - ;; atan(1/sqrt(3)) = pi/6 - (let* ((arg (div-qd +qd-one+ (sqrt-qd (make-qd-d 3d0)))) - (y (div-qd (funcall fun arg) +qd-pi+)) - (true (div-qd +qd-one+ (make-qd-d 6d0)))) - (format t "atan(1/sqrt(3))/pi = ~/qdi::qd-format/~%" y) - (format t "1/6 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ;; atan(sqrt(3)) = %pi/3 - (let* ((arg (sqrt-qd (make-qd-d 3d0))) - (y (div-qd (funcall fun arg) +qd-pi+)) - (true (div-qd +qd-one+ (make-qd-d 3d0)))) - (format t "atan(sqrt(3))/pi = ~/qdi::qd-format/~%" y) - (format t "1/3 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ;; atan(1) = %pi/4 - (let* ((arg +qd-one+) - (y (div-qd (funcall fun arg) +qd-pi+)) - (true (div-qd +qd-one+ (make-qd-d 4d0)))) - (format t "atan(1)/pi = ~/qdi::qd-format/~%" y) - (format t "1/4 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true)))) - -(defun test-sin () - (format t "~2&sin~%") - (let* ((arg (div-qd +qd-pi+ (make-qd-d 6d0))) - (y (sin-qd arg)) - (true (make-qd-d 0.5d0))) - (format t "sin(pi/6) = ~/qdi::qd-format/~%" y) - (format t "1/2 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (div-qd +qd-pi+ (make-qd-d 4d0))) - (y (sin-qd arg)) - (true (sqrt-qd (make-qd-d 0.5d0)))) - (format t "sin(pi/4) = ~/qdi::qd-format/~%" y) - (format t "1/sqrt(2) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (div-qd +qd-pi+ (make-qd-d 3d0))) - (y (sin-qd arg)) - (true (div-qd (sqrt-qd (make-qd-d 3d0)) (make-qd-d 2d0)))) - (format t "sin(pi/3) = ~/qdi::qd-format/~%" y) - (format t "sqrt(3)/2 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ) - -(defun test-tan (&optional (f #'tan-qd)) - (format t "~2&tan via ~S~%" f) - (let* ((arg (div-qd +qd-pi+ (make-qd-d 6d0))) - (y (funcall f arg)) - (true (div-qd +qd-one+ (sqrt-qd (make-qd-d 3d0))))) - (format t "tan(pi/6) = ~/qdi::qd-format/~%" y) - (format t "1/sqrt(3) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (div-qd +qd-pi+ (make-qd-d 4d0))) - (y (funcall f arg)) - (true +qd-one+)) - (format t "tan(pi/4) = ~/qdi::qd-format/~%" y) - (format t "1 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (div-qd +qd-pi+ (make-qd-d 3d0))) - (y (funcall f arg)) - (true (sqrt-qd (make-qd-d 3d0)))) - (format t "tan(pi/3) = ~/qdi::qd-format/~%" y) - (format t "sqrt(3) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ) - -(defun test-asin () - (format t "~2&asin~%") - (let* ((arg (make-qd-d 0.5d0)) - (y (asin-qd arg)) - (true (div-qd +qd-pi+ (make-qd-d 6d0)))) - (format t "asin(1/2) = ~/qdi::qd-format/~%" y) - (format t "pi/6 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (sqrt-qd (make-qd-d 0.5d0))) - (y (asin-qd arg)) - (true (div-qd +qd-pi+ (make-qd-d 4d0)))) - (format t "asin(1/sqrt(2))= ~/qdi::qd-format/~%" y) - (format t "pi/4 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (div-qd (sqrt-qd (make-qd-d 3d0)) (make-qd-d 2d0))) - (y (asin-qd arg)) - (true (div-qd +qd-pi+ (make-qd-d 3d0)))) - (format t "asin(sqrt(3)/2)= ~/qdi::qd-format/~%" y) - (format t "pi/3 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ) - -(defun test-log (f) - (format t "~2&Log via ~A~%" f) - (let* ((arg (make-qd-d 2d0)) - (y (funcall f arg)) - (true +qd-log2+)) - (format t "log(2) = ~/qdi::qd-format/~%" y) - (format t "log(2) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (make-qd-d 10d0)) - (y (funcall f arg)) - (true +qd-log10+)) - (format t "log(10) = ~/qdi::qd-format/~%" y) - (format t "log(10) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (add-d-qd 1d0 (scale-float-qd (make-qd-d 1d0) -80))) - (y (funcall f arg)) - (true (qd-from-string "8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25"))) - (format t "log(1+2^-80) = ~/qdi::qd-format/~%" y) - (format t "log(1+2^-80) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ) - -(defun test-log1p (f) - (format t "~2&Log1p via ~A~%" f) - (let* ((arg (make-qd-d 1d0)) - (y (funcall f arg)) - (true +qd-log2+)) - (format t "log1p(1) = ~/qdi::qd-format/~%" y) - (format t "log(2) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (make-qd-d 9d0)) - (y (funcall f arg)) - (true (qd-from-string "2.3025850929940456840179914546843642076011014886287729760333279009675726096773525q0"))) - (format t "log1p(9) = ~/qdi::qd-format/~%" y) - (format t "log(10) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg (scale-float-qd (make-qd-d 1d0) -80)) - (y (funcall f arg)) - (true (qd-from-string "8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25"))) - (format t "log1p(2^-80) = ~/qdi::qd-format/~%" y) - (format t "log(1+2^-80) = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - ) - -(defun test-exp (f) - (format t "~2&Exp via ~A~%" f) - (let* ((arg +qd-zero+) - (y (funcall f arg)) - (true +qd-zero+)) - (format t "exp(0)-1 = ~/qdi::qd-format/~%" y) - (format t "0 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - (let* ((arg +qd-one+) - (y (funcall f arg)) - (true (qd-from-string "1.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952q0"))) - (format t "exp(1)-1 = ~/qdi::qd-format/~%" y) - (format t "e-1 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - - (let* ((arg (scale-float-qd +qd-one+ -100)) - (y (funcall f arg)) - (true (qd-from-string "7.888609052210118054117285652830973804370994921943802079729680186943164342372119432861876389514693341738324702996270767390039172777809233288470357147q-31"))) - (format t "exp(2^-80)-1 = ~/qdi::qd-format/~%" y) - (format t "exp(2^-80)-1 = ~/qdi::qd-format/~%" true) - (format t "bits = ~,1f~%" - (bit-accuracy y true))) - - ) -(defun all-tests () - (test2) - (test3) - (test4) - (test5) - (test6) - (test-sin) - (test-asin) - (dolist (f '(atan-qd/newton atan-qd/cordic atan-qd/duplication)) - (test-atan f)) - (dolist (f '(tan-qd/sincos tan-qd/cordic)) - (test-tan f)) - (dolist (f '(log-qd/newton log-qd/agm log-qd/agm2 log-qd/agm3 log-qd/halley)) - (test-log f)) - (dolist (f '(log1p-qd/duplication)) - (test-log1p f)) - (dolist (f (list #'(lambda (x) - (sub-qd-d (exp-qd/reduce x) 1d0)) - #'expm1-qd/series - #'expm1-qd/duplication)) - (test-exp f)) - ) diff --git a/external/oct/qd.lisp b/external/oct/qd.lisp deleted file mode 100644 index 15a67a9..0000000 --- a/external/oct/qd.lisp +++ /dev/null @@ -1,1149 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -;;; This file contains the core routines for basic arithmetic -;;; operations on a %quad-double. This includes addition, -;;; subtraction, multiplication, division, negation. and absolute -;;; value. Some additional helper functions are included such as -;;; raising to an integer power. and the n'th root of a (non-negative) -;;; %quad-double. The basic comparison operators are included, and -;;; some simple tests for zerop, onep, plusp, and minusp. -;;; -;;; The basic algorithms are based on Yozo Hida's double-double -;;; implementation. However, some were copied from CMUCL and modified -;;; to support quad-doubles. - - -(in-package #:qdi) - -#+cmu -(eval-when (:compile-toplevel) - (setf *inline-expansion-limit* 1600)) - -;; All of the following functions should be inline. -(declaim (inline three-sum three-sum2)) - -;; Internal routines for implementing quad-double. -(defun three-sum (a b c) - (declare (double-float a b c) - (optimize (speed 3))) - (multiple-value-bind (t1 t2) - (two-sum a b) - (multiple-value-bind (a t3) - (two-sum c t1) - (multiple-value-bind (b c) - (two-sum t2 t3) - (values a b c))))) - -(defun three-sum2 (a b c) - (declare (double-float a b c) - (optimize (speed 3))) - (multiple-value-bind (t1 t2) - (two-sum a b) - (multiple-value-bind (a t3) - (two-sum c t1) - (values a (cl:+ t2 t3) c)))) - -;; Not needed???? -#+nil -(declaim (inline quick-three-accum)) -#+nil -(defun quick-three-accum (a b c) - (declare (double-float a b c) - (optimize (speed 3) (space 0))) - (multiple-value-bind (s b) - (two-sum b c) - (multiple-value-bind (s a) - (two-sum a s) - (let ((za (/= a 0)) - (zb (/= b 0))) - (when (and za zb) - (return-from quick-three-accum (values (cl:+ s 0d0) (cl:+ a 0d0) (cl:+ b 0d0)))) - (when (not za) - (setf a s) - (setf s 0d0)) - (when (not zb) - (setf b a) - (setf a s)) - (values 0d0 a b))))) - - -;; These functions are quite short, so we inline them to minimize -;; consing. -(declaim (inline make-qd-d - add-d-qd - add-dd-qd - neg-qd - sub-qd - sub-qd-dd - sub-qd-d - sub-d-qd - make-qd-dd - abs-qd - qd-> - qd-< - qd->= - qd-<= - zerop-qd - onep-qd - plusp-qd - minusp-qd - qd-= - scale-float-qd)) - -;; Should these functions be inline? The QD C++ source has these as -;; inline functions, but these are fairly large functions. However, -;; inlining makes quite a big difference in speed and consing. -#+cmu -(declaim (#+qd-inline inline - #-qd-inline maybe-inline - renorm-4 - renorm-5 - add-qd-d - add-qd-dd - add-qd - mul-qd-d - mul-qd-dd - mul-qd - sqr-qd - div-qd - div-qd-d - div-qd-dd)) - -#-(or qd-inline (not cmu)) -(declaim (ext:start-block renorm-4 renorm-5 - make-qd-d - add-qd-d add-d-qd add-qd-dd - add-dd-qd - add-qd - neg-qd - sub-qd sub-qd-dd sub-qd-d sub-d-qd - mul-qd-d mul-qd-dd mul-qd - sqr-qd - div-qd div-qd-d div-qd-dd - make-qd-dd - )) - -#+(or) -(defun quick-renorm (c0 c1 c2 c3 c4) - (declare (double-float c0 c1 c2 c3 c4) - (optimize (speed 3))) - (multiple-value-bind (s t3) - (quick-two-sum c3 c4) - (multiple-value-bind (s t2) - (quick-two-sum c2 s) - (multiple-value-bind (s t1) - (quick-two-sum c1 s) - (multiple-value-bind (c0 t0) - (quick-two-sum c0 s) - (multiple-value-bind (s t2) - (quick-two-sum t2 t3) - (multiple-value-bind (s t1) - (quick-two-sum t1 s) - (multiple-value-bind (c1 t0) - (quick-two-sum t0 s) - (multiple-value-bind (s t1) - (quick-two-sum t1 t2) - (multiple-value-bind (c2 t0) - (quick-two-sum t0 s) - (values c0 c1 c2 (cl:+ t0 t1)))))))))))) - -(defun renorm-4 (c0 c1 c2 c3) - (declare (double-float c0 c1 c2 c3) - (optimize (speed 3) (safety 0))) - (let ((s2 0d0) - (s3 0d0)) - (multiple-value-bind (s0 c3) - (quick-two-sum c2 c3) - (multiple-value-bind (s0 c2) - (quick-two-sum c1 s0) - (multiple-value-bind (c0 c1) - (quick-two-sum c0 s0) - (let ((s0 c0) - (s1 c1)) - (cond ((/= s1 0) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c2)) - (if (/= s2 0) - (multiple-value-setq (s2 s3) - (quick-two-sum s2 c3)) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c3)))) - (t - (multiple-value-setq (s0 s1) - (quick-two-sum s0 c2)) - (if (/= s1 0) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c3)) - (multiple-value-setq (s0 s1) - (quick-two-sum s0 c3))))) - (values s0 s1 s2 s3))))))) - -(defun renorm-5 (c0 c1 c2 c3 c4) - (declare (double-float c0 c1 c2 c3) - (optimize (speed 3) (safety 0))) - (let ((s2 0d0) - (s3 0d0)) - (declare (double-float s2 s3)) - (multiple-value-bind (s0 c4) - (quick-two-sum c3 c4) - (multiple-value-bind (s0 c3) - (quick-two-sum c2 s0) - (multiple-value-bind (s0 c2) - (quick-two-sum c1 s0) - (multiple-value-bind (c0 c1) - (quick-two-sum c0 s0) - (let ((s0 c0) - (s1 c1)) - (declare (double-float s0 s1)) - (multiple-value-setq (s0 s1) - (quick-two-sum c0 c1)) - (cond ((/= s1 0) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c2)) - (cond ((/= s2 0) - (multiple-value-setq (s2 s3) - (quick-two-sum s2 c3)) - (if (/= s3 0) - (incf s3 c4) - (incf s2 c4))) - (t - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c3)) - (if (/= s2 0) - (multiple-value-setq (s2 s3) - (quick-two-sum s2 c4)) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c4)))))) - (t - (multiple-value-setq (s0 s1) - (quick-two-sum s0 c2)) - (cond ((/= s1 0) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c3)) - (if (/= s2 0) - (multiple-value-setq (s2 s3) - (quick-two-sum s2 c4)) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c4)))) - (t - (multiple-value-setq (s0 s1) - (quick-two-sum s0 c3)) - (if (/= s1 0) - (multiple-value-setq (s1 s2) - (quick-two-sum s1 c4)) - (multiple-value-setq (s0 s1) - (quick-two-sum s0 c4))))))) - (values s0 s1 s2 s3)))))))) - -(defun make-qd-d (a0 &optional (a1 0d0 a1-p) (a2 0d0) (a3 0d0)) - "Create a %quad-double from four double-floats, appropriately - normalizing the result from the four double-floats. -" - (declare (double-float a0 a1 a2 a3) - (optimize (speed 3) - #+cmu - (ext:inhibit-warnings 3))) - (if a1-p - (multiple-value-bind (s0 s1 s2 s3) - (renorm-4 a0 a1 a2 a3) - (%make-qd-d s0 s1 s2 s3)) - (%make-qd-d a0 0d0 0d0 0d0))) - -;;;; Addition - -;; Quad-double + double -(defun add-qd-d (a b) - "Add a quad-double A and a double-float B" - (declare (type %quad-double a) - (double-float b) - (optimize (speed 3) - (space 0))) - (multiple-value-bind (c0 e) - (two-sum (qd-0 a) b) - #+cmu - (when (float-infinity-p c0) - (return-from add-qd-d (%make-qd-d c0 0d0 0d0 0d0))) - (multiple-value-bind (c1 e) - (two-sum (qd-1 a) e) - (multiple-value-bind (c2 e) - (two-sum (qd-2 a) e) - (multiple-value-bind (c3 e) - (two-sum (qd-3 a) e) - (multiple-value-bind (r0 r1 r2 r3) - (renorm-5 c0 c1 c2 c3 e) - (if (and (zerop (qd-0 a)) (zerop b)) - (%make-qd-d c0 0d0 0d0 0d0) - (%make-qd-d r0 r1 r2 r3)))))))) - -(defun add-d-qd (a b) - (declare (double-float a) - (type %quad-double b) - (optimize (speed 3))) - (add-qd-d b a)) - -#+cmu -(defun add-qd-dd (a b) - "Add a quad-double A and a double-double B" - (declare (type %quad-double a) - (double-double-float b) - (optimize (speed 3) - (space 0))) - (multiple-value-bind (s0 t0) - (two-sum (qd-0 a) (kernel:double-double-hi b)) - (multiple-value-bind (s1 t1) - (two-sum (qd-1 a) (kernel:double-double-lo b)) - (multiple-value-bind (s1 t0) - (two-sum s1 t0) - (multiple-value-bind (s2 t0 t1) - (three-sum (qd-2 a) t0 t1) - (multiple-value-bind (s3 t0) - (two-sum t0 (qd-3 a)) - (let ((t0 (cl:+ t0 t1))) - (multiple-value-call #'%make-qd-d - (renorm-5 s0 s1 s2 s3 t0))))))))) - -#+cmu -(defun add-dd-qd (a b) - (declare (double-double-float a) - (type %quad-double b) - (optimize (speed 3) - (space 0))) - (add-qd-dd b a)) - - -#+(or) -(defun add-qd-1 (a b) - (declare (type %quad-double a b) - (optimize (speed 3))) - (multiple-value-bind (s0 t0) - (two-sum (qd-0 a) (qd-0 b)) - (multiple-value-bind (s1 t1) - (two-sum (qd-1 a) (qd-1 b)) - (multiple-value-bind (s2 t2) - (two-sum (qd-2 a) (qd-2 b)) - (multiple-value-bind (s3 t3) - (two-sum (qd-3 a) (qd-3 b)) - (multiple-value-bind (s1 t0) - (two-sum s1 t0) - (multiple-value-bind (s2 t0 t1) - (three-sum s2 t0 t1) - (multiple-value-bind (s3 t0) - (three-sum2 s3 t0 t2) - (let ((t0 (cl:+ t0 t1 t3))) - (multiple-value-call #'%make-qd-d - (renorm-5 s0 s1 s2 s3 t0))))))))))) - -;; Same as above, except that everything is expanded out for compilers -;; which don't do a very good job with dataflow. CMUCL is one of -;; those compilers. - -(defun add-qd (a b) - (declare (type %quad-double a b) - (optimize (speed 3) - (space 0))) - ;; This is the version that is NOT IEEE. Should we use the IEEE - ;; version? It's quite a bit more complicated. - ;; - ;; In addition, this is reorganized to minimize data dependency. - (multiple-value-bind (a0 a1 a2 a3) - (qd-parts a) - (multiple-value-bind (b0 b1 b2 b3) - (qd-parts b) - (let ((s0 (cl:+ a0 b0)) - (s1 (cl:+ a1 b1)) - (s2 (cl:+ a2 b2)) - (s3 (cl:+ a3 b3))) - (declare (double-float s0 s1 s2 s3)) - #+cmu - (when (float-infinity-p s0) - (return-from add-qd (%make-qd-d s0 0d0 0d0 0d0))) - (let ((v0 (cl:- s0 a0)) - (v1 (cl:- s1 a1)) - (v2 (cl:- s2 a2)) - (v3 (cl:- s3 a3))) - (let ((u0 (cl:- s0 v0)) - (u1 (cl:- s1 v1)) - (u2 (cl:- s2 v2)) - (u3 (cl:- s3 v3))) - (let ((w0 (cl:- a0 u0)) - (w1 (cl:- a1 u1)) - (w2 (cl:- a2 u2)) - (w3 (cl:- a3 u3))) - (let ((u0 (cl:- b0 v0)) - (u1 (cl:- b1 v1)) - (u2 (cl:- b2 v2)) - (u3 (cl:- b3 v3))) - (let ((t0 (cl:+ w0 u0)) - (t1 (cl:+ w1 u1)) - (t2 (cl:+ w2 u2)) - (t3 (cl:+ w3 u3))) - (multiple-value-bind (s1 t0) - (two-sum s1 t0) - (multiple-value-bind (s2 t0 t1) - (three-sum s2 t0 t1) - (multiple-value-bind (s3 t0) - (three-sum2 s3 t0 t2) - (declare (double-float t0)) - (setf t0 (cl:+ t0 t1 t3)) - ;; Renormalize - (multiple-value-setq (s0 s1 s2 s3) - (renorm-5 s0 s1 s2 s3 t0)) - (if (and (zerop a0) (zerop b0)) - (%make-qd-d (+ a0 b0) 0d0 0d0 0d0) - (%make-qd-d s0 s1 s2 s3)))))))))))))) - -(defun neg-qd (a) - (declare (type %quad-double a)) - (multiple-value-bind (a0 a1 a2 a3) - (qd-parts a) - (%make-qd-d (cl:- a0) (cl:- a1) (cl:- a2) (cl:- a3)))) - -(defun sub-qd (a b) - (declare (type %quad-double a b)) - (add-qd a (neg-qd b))) - -#+cmu -(defun sub-qd-dd (a b) - (declare (type %quad-double a) - (type double-double-float b)) - (add-qd-dd a (cl:- b))) - -(defun sub-qd-d (a b) - (declare (type %quad-double a) - (type double-float b)) - (add-qd-d a (cl:- b))) - -(defun sub-d-qd (a b) - (declare (type double-float a) - (type %quad-double b)) - ;; a - b = a + (-b) - (add-d-qd a (neg-qd b))) - - -;; Works -;; (mul-qd-d (sqrt-qd (make-qd-dd 2w0 0w0)) 10d0) -> -;; 14.1421356237309504880168872420969807856967187537694807317667973799q0 -;; -;; Clisp says -;; 14.142135623730950488016887242096980785696718753769480731766797379908L0 -;; -(defun mul-qd-d (a b) - "Multiply quad-double A with B" - (declare (type %quad-double a) - (double-float b) - (optimize (speed 3) - (space 0))) - (multiple-value-bind (p0 q0) - (two-prod (qd-0 a) b) - #+cmu - (when (float-infinity-p p0) - (return-from mul-qd-d (%make-qd-d p0 0d0 0d0 0d0))) - (multiple-value-bind (p1 q1) - (two-prod (qd-1 a) b) - (multiple-value-bind (p2 q2) - (two-prod (qd-2 a) b) - (let ((p3 (cl:* (qd-3 a) b)) - (s0 p0)) - #+nil - (format t "q0 p1 = ~A ~A~%" q0 p1) - (multiple-value-bind (s1 s2) - (two-sum q0 p1) - #+nil - (format t "s1 s2 = ~A ~A~%" s1 s2) - #+nil - (format t "s2 q1 p2 = ~A ~A ~A~%" - s2 q1 p2) - (multiple-value-bind (s2 q1 p2) - (three-sum s2 q1 p2) - #+nil - (format t "s2,q1,p2 = ~A ~A ~A~%" - s2 q1 p2) - #+nil - (format t "q1 q2 p3 = ~A ~A ~A~%" - q1 q2 p3) - (multiple-value-bind (q1 q2) - (three-sum2 q1 q2 p3) - #+nil - (format t "q1 q2, p3 = ~A ~A ~A~%" q1 q2 p3) - (let ((s3 q1) - (s4 (cl:+ q2 p2))) - #+nil - (progn - (format t "~a~%" s0) - (format t "~a~%" s1) - (format t "~a~%" s2) - (format t "~a~%" s3) - (format t "~a~%" s4)) - (multiple-value-bind (s0 s1 s2 s3) - (renorm-5 s0 s1 s2 s3 s4) - #+nil - (progn - (format t "~a~%" s0) - (format t "~a~%" s1) - (format t "~a~%" s2) - (format t "~a~%" s3) - (format t "~a~%" s4)) - (if (zerop s0) - (%make-qd-d (float-sign p0 0d0) 0d0 0d0 0d0) - (%make-qd-d s0 s1 s2 s3)))))))))))) - -;; a0 * b0 0 -;; a0 * b1 1 -;; a1 * b0 2 -;; a1 * b1 3 -;; a2 * b0 4 -;; a2 * b1 5 -;; a3 * b0 6 -;; a3 * b1 7 - -;; Not working. -;; (mul-qd-dd (sqrt-qd (make-qd-dd 2w0 0w0)) 10w0) -> -;; 14.142135623730950488016887242097022172449805747901877456053837224q0 -;; -;; But clisp says -;; 14.142135623730950488016887242096980785696718753769480731766797379908L0 -;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -;; -;; Running a test program using qd (2.1.210) shows that we get the -;; same wrong answer. -#+(or) -(defun mul-qd-dd (a b) - (declare (type %quad-double a) - (double-double-float b) - (optimize (speed 3))) - (multiple-value-bind (p0 q0) - (two-prod (qd-0 a) (kernel:double-double-hi b)) - (multiple-value-bind (p1 q1) - (two-prod (qd-0 a) (kernel:double-double-lo b)) - (multiple-value-bind (p2 q2) - (two-prod (qd-1 a) (kernel:double-double-hi b)) - (multiple-value-bind (p3 q3) - (two-prod (qd-1 a) (kernel:double-double-lo b)) - (multiple-value-bind (p4 q4) - (two-prod (qd-2 a) (kernel:double-double-hi b)) - (format t "p0, q0 = ~A ~A~%" p0 q0) - (format t "p1, q1 = ~A ~A~%" p1 q1) - (format t "p2, q2 = ~A ~A~%" p2 q2) - (format t "p3, q3 = ~A ~A~%" p3 q3) - (format t "p4, q4 = ~A ~A~%" p4 q4) - (multiple-value-setq (p1 p2 q0) - (three-sum p1 p2 q0)) - (format t "p1 = ~A~%" p1) - (format t "p2 = ~A~%" p2) - (format t "q0 = ~A~%" q0) - ;; five-three-sum - (multiple-value-setq (p2 p3 p4) - (three-sum p2 p3 p4)) - (format t "p2 = ~A~%" p2) - (format t "p3 = ~A~%" p3) - (format t "p4 = ~A~%" p4) - (multiple-value-setq (q1 q2) - (two-sum q1 q2)) - (multiple-value-bind (s0 t0) - (two-sum p2 q1) - (multiple-value-bind (s1 t1) - (two-sum p3 q2) - (multiple-value-setq (s1 t0) - (two-sum s1 t0)) - (let ((s2 (cl:+ t0 t1 p4)) - (p2 s0) - (p3 (cl:+ (cl:* (qd-2 a) - (kernel:double-double-hi b)) - (cl:* (qd-3 a) - (kernel:double-double-lo b)) - q3 q4))) - (multiple-value-setq (p3 q0 s1) - (three-sum2 p3 q0 s1)) - (let ((p4 (cl:+ q0 s2))) - (multiple-value-call #'%make-qd-d - (renorm-5 p0 p1 p2 p3 p4)))))))))))) - -;; a0 * b0 0 -;; a0 * b1 1 -;; a1 * b0 2 -;; a0 * b2 3 -;; a1 * b1 4 -;; a2 * b0 5 -;; a0 * b3 6 -;; a1 * b2 7 -;; a2 * b1 8 -;; a3 * b0 9 - -;; Works -;; (mul-qd (sqrt-qd (make-qd-dd 2w0 0w0)) (make-qd-dd 10w0 0w0)) -> -;; 14.1421356237309504880168872420969807856967187537694807317667973799q0 -;; -;; Clisp says -;; 14.142135623730950488016887242096980785696718753769480731766797379908L0 -(defun mul-qd (a b) - (declare (type %quad-double a b) - (optimize (speed 3) - (space 0))) - (multiple-value-bind (a0 a1 a2 a3) - (qd-parts a) - (multiple-value-bind (b0 b1 b2 b3) - (qd-parts b) - (multiple-value-bind (p0 q0) - (two-prod a0 b0) - #+cmu - (when (float-infinity-p p0) - (return-from mul-qd (%make-qd-d p0 0d0 0d0 0d0))) - (multiple-value-bind (p1 q1) - (two-prod a0 b1) - (multiple-value-bind (p2 q2) - (two-prod a1 b0) - (multiple-value-bind (p3 q3) - (two-prod a0 b2) - (multiple-value-bind (p4 q4) - (two-prod a1 b1) - (multiple-value-bind (p5 q5) - (two-prod a2 b0) - ;; Start accumulation - (multiple-value-setq (p1 p2 q0) - (three-sum p1 p2 q0)) - - ;; six-three-sum of p2, q1, q2, p3, p4, p5 - (multiple-value-setq (p2 q1 q2) - (three-sum p2 q1 q2)) - (multiple-value-setq (p3 p4 p5) - (three-sum p3 p4 p5)) - ;; Compute (s0,s1,s2) = (p2,q1,q2) + (p3,p4,p5) - (multiple-value-bind (s0 t0) - (two-sum p2 p3) - (multiple-value-bind (s1 t1) - (two-sum q1 p4) - (let ((s2 (cl:+ q2 p5))) - (declare (double-float s2)) - (multiple-value-bind (s1 t0) - (two-sum s1 t0) - (declare (double-float s1)) - (incf s2 (cl:+ t0 t1)) - ;; O(eps^3) order terms. This is the sloppy - ;; multiplication version. Should we use - ;; the precise version? It's significantly - ;; more complex. - - (incf s1 (cl:+ (cl:* a0 b3) - (cl:* a1 b2) - (cl:* a2 b1) - (cl:* a3 b0) - q0 q3 q4 q5)) - #+nil - (format t "p0,p1,s0,s1,s2 = ~a ~a ~a ~a ~a~%" - p0 p1 s0 s1 s2) - (multiple-value-bind (r0 r1 s0 s1) - (renorm-5 p0 p1 s0 s1 s2) - (if (zerop r0) - (%make-qd-d p0 0d0 0d0 0d0) - (%make-qd-d r0 r1 s0 s1)))))))))))))))) - -;; This is the non-sloppy version. I think this works just fine, but -;; since qd defaults to the sloppy multiplication version, we do the -;; same. -#+nil -(defun mul-qd (a b) - (declare (type %quad-double a b) - (optimize (speed 3))) - (multiple-value-bind (a0 a1 a2 a3) - (qd-parts a) - (multiple-value-bind (b0 b1 b2 b3) - (qd-parts b) - (multiple-value-bind (p0 q0) - (two-prod a0 b0) - (multiple-value-bind (p1 q1) - (two-prod a0 b1) - (multiple-value-bind (p2 q2) - (two-prod a1 b0) - (multiple-value-bind (p3 q3) - (two-prod a0 b2) - (multiple-value-bind (p4 q4) - (two-prod a1 b1) - (declare (double-float q4)) - #+nil - (progn - (format t"p0, q0 = ~a ~a~%" p0 q0) - (format t"p1, q1 = ~a ~a~%" p1 q1) - (format t"p2, q2 = ~a ~a~%" p2 q2) - (format t"p3, q3 = ~a ~a~%" p3 q3) - (format t"p4, q4 = ~a ~a~%" p4 q4)) - (multiple-value-bind (p5 q5) - (two-prod a2 b0) - #+nil - (format t"p5, q5 = ~a ~a~%" p5 q5) - ;; Start accumulation - (multiple-value-setq (p1 p2 q0) - (three-sum p1 p2 q0)) - #+nil - (format t "p1 p2 q0 = ~a ~a ~a~%" p1 p2 q0) - ;; six-three-sum of p2, q1, q2, p3, p4, p5 - (multiple-value-setq (p2 q1 q2) - (three-sum p2 q1 q2)) - (multiple-value-setq (p3 p4 p5) - (three-sum p3 p4 p5)) - ;; Compute (s0,s1,s2) = (p2,q1,q2) + (p3,p4,p5) - (multiple-value-bind (s0 t0) - (two-sum p2 p3) - (multiple-value-bind (s1 t1) - (two-sum q1 p4) - (declare (double-float t1)) - (let ((s2 (cl:+ q2 p5))) - (declare (double-float s2)) - (multiple-value-bind (s1 t0) - (two-sum s1 t0) - (declare (double-float s1)) - (incf s2 (cl:+ t0 t1)) - (multiple-value-bind (p6 q6) - (two-prod a0 b3) - (multiple-value-bind (p7 q7) - (two-prod a1 b2) - (multiple-value-bind (p8 q8) - (two-prod a2 b1) - (multiple-value-bind (p9 q9) - (two-prod a3 b0) - (multiple-value-setq (q0 q3) - (two-sum q0 q3)) - (multiple-value-setq (q4 q5) - (two-sum q4 q5)) - (multiple-value-setq (p6 p7) - (two-sum p6 p7)) - (multiple-value-setq (p8 p9) - (two-sum p8 p9)) - ;; (t0,t1) = (q0,q3)+(q4,q5) - (multiple-value-setq (t0 t1) - (two-sum q0 q4)) - (setf t1 (cl:+ q3 q5)) - ;; (r0,r1) = (p6,p7)+(p8,p9) - (multiple-value-bind (r0 r1) - (two-sum p6 p8) - (declare (double-float r1)) - (incf r1 (cl:+ p7 p9)) - ;; (q3,q4) = (t0,t1)+(r0,r1) - (multiple-value-setq (q3 q4) - (two-sum t0 r0)) - (incf q4 (cl:+ t1 r1)) - ;; (t0,t1)=(q3,q4)+s1 - (multiple-value-setq (t0 t1) - (two-sum q3 s1)) - (incf t1 q4) - ;; O(eps^4) terms - (incf t1 - (cl:+ (cl:* a1 b3) - (cl:* a2 b2) - (cl:* a3 b1) - q6 q7 q8 q9 - s2)) - #+nil - (format t "p0,p1,s0,t0,t1 = ~a ~a ~a ~a ~a~%" - p0 p1 s0 t0 t1) - (multiple-value-call #'%make-qd-d - (renorm-5 p0 p1 s0 t0 t1)))))))))))))))))))) - -(defun sqr-qd (a) - "Square A" - (declare (type %quad-double a) - (optimize (speed 3) - (space 0))) - (multiple-value-bind (p0 q0) - (two-sqr (qd-0 a)) - (multiple-value-bind (p1 q1) - (two-prod (cl:* 2 (qd-0 a)) (qd-1 a)) - (multiple-value-bind (p2 q2) - (two-prod (cl:* 2 (qd-0 a)) (qd-2 a)) - (multiple-value-bind (p3 q3) - (two-sqr (qd-1 a)) - (multiple-value-setq (p1 q0) - (two-sum q0 p1)) - (multiple-value-setq (q0 q1) - (two-sum q0 q1)) - (multiple-value-setq (p2 p3) - (two-sum p2 p3)) - - (multiple-value-bind (s0 t0) - (two-sum q0 p2) - (declare (double-float t0)) - (multiple-value-bind (s1 t1) - (two-sum q1 p3) - (declare (double-float t1)) - (multiple-value-setq (s1 t0) - (two-sum s1 t0)) - (incf t0 t1) - - (multiple-value-setq (s1 t0) - (quick-two-sum s1 t0)) - (multiple-value-setq (p2 t1) - (quick-two-sum s0 s1)) - (multiple-value-setq (p3 q0) - (quick-two-sum t1 t0)) - - (let ((p4 (cl:* 2 (qd-0 a) (qd-3 a))) - (p5 (cl:* 2 (qd-1 a) (qd-2 a)))) - (declare (double-float p4)) - (multiple-value-setq (p4 p5) - (two-sum p4 p5)) - (multiple-value-setq (q2 q3) - (two-sum q2 q3)) - - (multiple-value-setq (t0 t1) - (two-sum p4 q2)) - - (incf t1 (cl:+ p5 q3)) - - (multiple-value-setq (p3 p4) - (two-sum p3 t0)) - (incf p4 (cl:+ q0 t1)) - - (multiple-value-call #'%make-qd-d - (renorm-5 p0 p1 p2 p3 p4)))))))))) - - -#-cmu -(defun div-qd (a b) - (declare (type %quad-double a b) - (optimize (speed 3) - (space 0))) - (let ((a0 (qd-0 a)) - (b0 (qd-0 b))) - (let* ((q0 (cl:/ a0 b0)) - (r (sub-qd a (mul-qd-d b q0))) - (q1 (cl:/ (qd-0 r) b0))) - #+cmu - (when (float-infinity-p q0) - (return-from div-qd (%make-qd-d q0 0d0 0d0 0d0))) - (setf r (sub-qd r (mul-qd-d b q1))) - (let ((q2 (cl:/ (qd-0 r) b0))) - (setf r (sub-qd r (mul-qd-d b q2))) - (let ((q3 (cl:/ (qd-0 r) b0))) - (multiple-value-bind (q0 q1 q2 q3) - (renorm-4 q0 q1 q2 q3) - (%make-qd-d q0 q1 q2 q3))))))) - -(defun div-qd (a b) - (declare (type %quad-double a b) - (optimize (speed 3) - (space 0))) - (let ((a0 (qd-0 a)) - (b0 (qd-0 b))) - (let* ((q0 (cl:/ a0 b0)) - (r (sub-qd a (mul-qd-d b q0))) - (q1 (cl:/ (qd-0 r) b0))) - (when (float-infinity-p q0) - (return-from div-qd (%make-qd-d q0 0d0 0d0 0d0))) - (setf r (sub-qd r (mul-qd-d b q1))) - (let ((q2 (cl:/ (qd-0 r) b0))) - (setf r (sub-qd r (mul-qd-d b q2))) - (let ((q3 (cl:/ (qd-0 r) b0))) - (multiple-value-bind (q0 q1 q2 q3) - (renorm-4 q0 q1 q2 q3) - (%make-qd-d q0 q1 q2 q3))))))) - -;; Non-sloppy divide -#+(or) -(defun div-qd (a b) - (declare (type %quad-double a b)) - (let ((a0 (qd-0 a)) - (b0 (qd-0 b))) - (let* ((q0 (cl:/ a0 b0)) - (r (sub-qd a (mul-qd-d b q0))) - (q1 (cl:/ (qd-0 r) b0))) - (setf r (sub-qd r (mul-qd-d b q1))) - (let ((q2 (cl:/ (qd-0 r) b0))) - (setf r (sub-qd r (mul-qd-d b q2))) - (let ((q3 (cl:/ (qd-0 r) b0))) - (setf r (sub-qd r (mul-qd-d b q3))) - (let ((q4 (cl:/ (qd-0 r) b0))) - (multiple-value-bind (q0 q1 q2 q3) - (renorm-5 q0 q1 q2 q3 q4) - (%make-qd-d q0 q1 q2 q3)))))))) - -;; quad-double / double -(defun div-qd-d (a b) - (declare (type %quad-double a) - (double-float b) - (optimize (speed 3) - (space 0))) - ;; Compute approximate quotient using high order doubles, then - ;; correct it 3 times using the remainder. Analogous to long - ;; division. - (let ((q0 (cl:/ (qd-0 a) b))) - #+cmu - (when (float-infinity-p q0) - (return-from div-qd-d (%make-qd-d q0 0d0 0d0 0d0))) - - ;; Compute remainder a - q0 * b - (multiple-value-bind (t0 t1) - (two-prod q0 b) - (let ((r #+cmu (sub-qd-dd a (kernel:make-double-double-float t0 t1)) - #-cmu (sub-qd a (make-qd-d t0 t1 0d0 0d0)))) - ;; First correction - (let ((q1 (cl:/ (qd-0 r) b))) - (multiple-value-bind (t0 t1) - (two-prod q1 b) - (setf r #+cmu (sub-qd-dd r (kernel:make-double-double-float t0 t1)) - #-cmu (sub-qd r (make-qd-d t0 t1 0d0 0d0))) - ;; Second correction - (let ((q2 (cl:/ (qd-0 r) b))) - (multiple-value-bind (t0 t1) - (two-prod q2 b) - (setf r #+cmu (sub-qd-dd r (kernel:make-double-double-float t0 t1)) - #-cmu (sub-qd r (make-qd-d t0 t1 0d0 0d0))) - ;; Final correction - (let ((q3 (cl:/ (qd-0 r) b))) - (make-qd-d q0 q1 q2 q3)))))))))) - -;; Sloppy version -#+cmu -(defun div-qd-dd (a b) - (declare (type %quad-double a) - (double-double-float b) - (optimize (speed 3) - (space 0))) - (let* ((q0 (cl:/ (qd-0 a) (kernel:double-double-hi b))) - (r (sub-qd-dd a (cl:* b q0)))) - (when (float-infinity-p q0) - (return-from div-qd-dd (%make-qd-d q0 0d0 0d0 0d0))) - (let ((q1 (cl:/ (qd-0 r) (kernel:double-double-hi b)))) - (setf r (sub-qd-dd r (cl:* b q1))) - (let ((q2 (cl:/ (qd-0 r) (kernel:double-double-hi b)))) - (setf r (sub-qd-dd r (cl:* b q2))) - (let ((q3 (cl:/ (qd-0 r) (kernel:double-double-hi b)))) - (make-qd-d q0 q1 q2 q3)))))) - -#+cmu -(defun make-qd-dd (a0 a1) - "Create a %quad-double from two double-double-floats" - (declare (double-double-float a0 a1) - (optimize (speed 3) (space 0))) - (make-qd-d (kernel:double-double-hi a0) - (kernel:double-double-lo a0) - (kernel:double-double-hi a1) - (kernel:double-double-lo a1))) - - -#-(or qd-inline (not cmu)) -(declaim (ext:end-block)) - -(defun abs-qd (a) - (declare (type %quad-double a)) - (if (minusp (float-sign (qd-0 a))) - (neg-qd a) - a)) - -;; a^n for an integer n -(defun npow (a n) - (declare (type %quad-double a) - (fixnum n) - (optimize (speed 3) - (space 0))) - (when (= n 0) - (return-from npow (make-qd-d 1d0))) - - (let ((r a) - (s (make-qd-d 1d0)) - (abs-n (abs n))) - (declare (type (and fixnum unsigned-byte) abs-n) - (type %quad-double r s)) - (cond ((> abs-n 1) - ;; Binary exponentiation - (loop while (plusp abs-n) - do - (when (= 1 (logand abs-n 1)) - (setf s (mul-qd s r))) - (setf abs-n (ash abs-n -1)) - (when (plusp abs-n) - (setf r (sqr-qd r))))) - (t - (setf s r))) - (if (minusp n) - (div-qd (make-qd-d 1d0) s) - s))) - -;; The n'th root of a. n is an positive integer and a should be -;; positive too. -(defun nroot-qd (a n) - (declare (type %quad-double a) - (type (and fixnum unsigned-byte) n) - (optimize (speed 3) - (space 0))) - ;; Use Newton's iteration to solve - ;; - ;; 1/(x^n) - a = 0 - ;; - ;; The iteration becomes - ;; - ;; x' = x + x * (1 - a * x^n)/n - ;; - ;; Since Newton's iteration converges quadratically, we only need to - ;; perform it twice. - (let ((r (make-qd-d (expt (the (double-float (0d0)) (qd-0 a)) - (cl:- (cl:/ (float n 1d0))))))) - (declare (type %quad-double r)) - (flet ((term () - (div-qd-d (mul-qd r - (add-qd-d (neg-qd (mul-qd a (npow r n))) - 1d0)) - (float n 1d0)))) - (dotimes (k 3) - (setf r (add-qd r (term)))) - (div-qd (make-qd-d 1d0) r)))) - -(defun qd-< (a b) - "A < B" - (or (< (qd-0 a) (qd-0 b)) - (and (= (qd-0 a) (qd-0 b)) - (or (< (qd-1 a) (qd-1 b)) - (and (= (qd-1 a) (qd-1 b)) - (or (< (qd-2 a) (qd-2 b)) - (and (= (qd-2 a) (qd-2 b)) - (< (qd-3 a) (qd-3 b))))))))) - -(defun qd-> (a b) - "A > B" - (or (> (qd-0 a) (qd-0 b)) - (and (= (qd-0 a) (qd-0 b)) - (or (> (qd-1 a) (qd-1 b)) - (and (= (qd-1 a) (qd-1 b)) - (or (> (qd-2 a) (qd-2 b)) - (and (= (qd-2 a) (qd-2 b)) - (> (qd-3 a) (qd-3 b))))))))) - -(defun qd-<= (a b) - "A > B" - (not (qd-> a b))) - -(defun qd->= (a b) - "A > B" - (not (qd-< a b))) - -(defun zerop-qd (a) - "Is A zero?" - (declare (type %quad-double a)) - (zerop (qd-0 a))) - -(defun onep-qd (a) - "Is A equal to 1?" - (declare (type %quad-double a)) - (and (= (qd-0 a) 1d0) - (zerop (qd-1 a)) - (zerop (qd-2 a)) - (zerop (qd-3 a)))) - -(defun plusp-qd (a) - "Is A positive?" - (declare (type %quad-double a)) - (plusp (qd-0 a))) - -(defun minusp-qd (a) - "Is A negative?" - (declare (type %quad-double a)) - (minusp (qd-0 a))) - -(defun qd-= (a b) - (and (= (qd-0 a) (qd-0 b)) - (= (qd-1 a) (qd-1 b)) - (= (qd-2 a) (qd-2 b)) - (= (qd-3 a) (qd-3 b)))) - - -#+nil -(defun integer-decode-qd (q) - (declare (type %quad-double q)) - (multiple-value-bind (hi-int hi-exp sign) - (integer-decode-float (realpart q)) - (if (zerop (imagpart q)) - (values (ash hi-int 106) (cl:- hi-exp 106) sign) - (multiple-value-bind (lo-int lo-exp lo-sign) - (integer-decode-float (imagpart q)) - (values (cl:+ (cl:* (cl:* sign lo-sign) lo-int) - (ash hi-int (cl:- hi-exp lo-exp))) - lo-exp - sign))))) - -(defun integer-decode-qd (q) - (declare (type %quad-double q)) - ;; Integer decode each component and then create the appropriate - ;; integer by shifting and add all the parts together. - (multiple-value-bind (q0-int q0-exp q0-sign) - (integer-decode-float (qd-0 q)) - (multiple-value-bind (q1-int q1-exp q1-sign) - (integer-decode-float (qd-1 q)) - ;; Note: Some systems return an exponent of 0 if the number is - ;; zero. If so, everything is easier if we pretend the exponent - ;; is -1075. - (when (zerop (qd-1 q)) - (setf q1-exp -1075)) - (multiple-value-bind (q2-int q2-exp q2-sign) - (integer-decode-float (qd-2 q)) - (when (zerop (qd-2 q)) - (setf q2-exp -1075)) - (multiple-value-bind (q3-int q3-exp q3-sign) - (integer-decode-float (qd-3 q)) - (when (zerop (qd-3 q)) - (setf q3-exp -1075)) - ;; Combine all the parts together. - (values (+ (* q0-sign q3-sign q3-int) - (ash (* q0-sign q2-sign q2-int) (- q2-exp q3-exp)) - (ash (* q0-sign q1-sign q1-int) (- q1-exp q3-exp)) - (ash q0-int (- q0-exp q3-exp))) - q3-exp - q0-sign)))))) - -(declaim (inline scale-float-qd)) -(defun scale-float-qd (qd k) - (declare (type %quad-double qd) - (type fixnum k) - (optimize (speed 3) (space 0))) - ;; (space 0) to get scale-double-float inlined - (multiple-value-bind (a0 a1 a2 a3) - (qd-parts qd) - (make-qd-d (scale-float a0 k) - (scale-float a1 k) - (scale-float a2 k) - (scale-float a3 k)))) - -;; The following method, which is faster doesn't work if QD is very -;; large and k is very negative because we get zero as the answer, -;; when it shouldn't be. -#+(or) -(defun scale-float-qd (qd k) - (declare (type %quad-double qd) - ;;(type (integer -1022 1022) k) - (optimize (speed 3) (space 0))) - ;; (space 0) to get scale-double-float inlined - (let ((scale (scale-float 1d0 k))) - (%make-qd-d (cl:* (qd-0 qd) scale) - (cl:* (qd-1 qd) scale) - (cl:* (qd-2 qd) scale) - (cl:* (qd-3 qd) scale)))) - -(defun decode-float-qd (q) - (declare (type %quad-double q)) - (multiple-value-bind (frac exp sign) - (decode-float (qd-0 q)) - (declare (ignore frac)) - ;; Got the exponent. Scale the quad-double appropriately. - (values (scale-float-qd q (- exp)) - exp - (make-qd-d sign)))) diff --git a/external/oct/rt-tests.lisp b/external/oct/rt-tests.lisp deleted file mode 100644 index c99360b..0000000 --- a/external/oct/rt-tests.lisp +++ /dev/null @@ -1,547 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - -(in-package #:qd) - -;; Compute how many bits are the same for two numbers EST and TRUE. -;; Return T if they are identical. -(defun bit-accuracy (est true) - (let* ((diff (abs (- est true))) - (err (float (if (zerop true) - diff - (/ diff (abs true))) - 1d0))) - (if (zerop diff) - t - (- (log err 2))))) - -(defun check-accuracy (limit est true) - (let ((bits (bit-accuracy est true))) - (if (numberp bits) - (if (< bits limit) - (list bits limit est true))))) - -(defvar *null* (make-broadcast-stream)) - -;;; Some simple tests from the Yozo Hida's qd package. - -;; Pi via Machin's formula -(rt:deftest oct.pi.machin - (let* ((*standard-output* *null*) - (val (make-instance 'qd-real :value (qdi::test2))) - (true qd:+pi+)) - (check-accuracy 213 val true)) - nil) - -;; Pi via Salamin-Brent algorithm -(rt:deftest oct.pi.salamin-brent - (let* ((*standard-output* *null*) - (val (make-instance 'qd-real :value (qdi::test3))) - (true qd:+pi+)) - (check-accuracy 202 val true)) - nil) - -;; Pi via Borweign's Quartic formula -(rt:deftest oct.pi.borweign - (let* ((*standard-output* *null*) - (val (make-instance 'qd-real :value (qdi::test4))) - (true qd:+pi+)) - (check-accuracy 211 val true)) - nil) - -;; e via Taylor series -(rt:deftest oct.e.taylor - (let* ((*standard-output* *null*) - (val (make-instance 'qd-real :value (qdi::test5))) - (true (make-instance 'qd-real :value qdi::+qd-e+))) - (check-accuracy 212 val true)) - nil) - -;; log(2) via Taylor series -(rt:deftest oct.log2.taylor - (let* ((*standard-output* *null*) - (val (make-instance 'qd-real :value (qdi::test6))) - (true (make-instance 'qd-real :value qdi::+qd-log2+))) - (check-accuracy 212 val true)) - nil) - -;;; Tests of atan where we know the analytical result -(rt:deftest oct.atan.1 - (let* ((arg (/ (sqrt #q3))) - (y (/ (atan arg) +pi+)) - (true (/ #q6))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan.2 - (let* ((arg (sqrt #q3)) - (y (/ (atan arg) +pi+)) - (true (/ #q3))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan.3 - (let* ((arg #q1) - (y (/ (atan arg) +pi+)) - (true (/ #q4))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan.4 - (let* ((arg #q1q100) - (y (/ (atan arg) +pi+)) - (true #q.5)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan.5 - (let* ((arg #q-1q100) - (y (/ (atan arg) +pi+)) - (true #q-.5)) - (check-accuracy 212 y true)) - nil) - - -(defun atan-qd/duplication (arg) - (make-instance 'qd-real - :value (qdi::atan-qd/duplication (qd-value arg)))) - -;;; Tests of atan where we know the analytical result. Same tests, -;;; but using the atan duplication formula. -(rt:deftest oct.atan/dup.1 - (let* ((arg (/ (sqrt #q3))) - (y (/ (atan-qd/duplication arg) +pi+)) - (true (/ #q6))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/dup.2 - (let* ((arg (sqrt #q3)) - (y (/ (atan-qd/duplication arg) +pi+)) - (true (/ #q3))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/dup.3 - (let* ((arg #q1) - (y (/ (atan-qd/duplication arg) +pi+)) - (true (/ #q4))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/dup.4 - (let* ((arg #q1q100) - (y (/ (atan-qd/duplication arg) +pi+)) - (true #q.5)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/dup.5 - (let* ((arg #q-1q100) - (y (/ (atan-qd/duplication arg) +pi+)) - (true #q-.5)) - (check-accuracy 212 y true)) - nil) - -;;; Tests of atan where we know the analytical result. Same tests, -;;; but using a CORDIC implementation. -(defun atan-qd/cordic (arg) - (make-instance 'qd-real - :value (qdi::atan-qd/cordic (qd-value arg)))) - -(rt:deftest oct.atan/cordic.1 - (let* ((arg (/ (sqrt #q3))) - (y (/ (atan-qd/cordic arg) +pi+)) - (true (/ #q6))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/cordic.2 - (let* ((arg (sqrt #q3)) - (y (/ (atan-qd/cordic arg) +pi+)) - (true (/ #q3))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/cordic.3 - (let* ((arg #q1) - (y (/ (atan-qd/cordic arg) +pi+)) - (true (/ #q4))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/cordic.4 - (let* ((arg #q1q100) - (y (/ (atan-qd/cordic arg) +pi+)) - (true #q.5)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.atan/cordic.5 - (let* ((arg #q-1q100) - (y (/ (atan-qd/cordic arg) +pi+)) - (true #q-.5)) - (check-accuracy 212 y true)) - nil) - - -;;; Tests of sin where we know the analytical result. -(rt:deftest oct.sin.1 - (let* ((arg (/ +pi+ 6)) - (y (sin arg)) - (true #q.5)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.sin.2 - (let* ((arg (/ +pi+ 4)) - (y (sin arg)) - (true (sqrt #q.5))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.sin.3 - (let* ((arg (/ +pi+ 3)) - (y (sin arg)) - (true (/ (sqrt #q3) 2))) - (check-accuracy 212 y true)) - nil) - -;;; Tests of tan where we know the analytical result. -(rt:deftest oct.tan.1 - (let* ((arg (/ +pi+ 6)) - (y (tan arg)) - (true (/ (sqrt #q3)))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.tan.2 - (let* ((arg (/ +pi+ 4)) - (y (tan arg)) - (true #q1)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.tan.3 - (let* ((arg (/ +pi+ 3)) - (y (tan arg)) - (true (sqrt #q3))) - (check-accuracy 212 y true)) - nil) - -;;; Tests of tan where we know the analytical result. Uses CORDIC -;;; algorithm. - -(defun tan/cordic (arg) - (make-instance 'qd-real - :value (qdi::tan-qd/cordic (qd-value arg)))) - -(rt:deftest oct.tan/cordic.1 - (let* ((arg (/ +pi+ 6)) - (y (tan/cordic arg)) - (true (/ (sqrt #q3)))) - (check-accuracy 211 y true)) - nil) - -(rt:deftest oct.tan/cordic.2 - (let* ((arg (/ +pi+ 4)) - (y (tan/cordic arg)) - (true #q1)) - (check-accuracy 211 y true)) - nil) - -(rt:deftest oct.tan/cordic.3 - (let* ((arg (/ +pi+ 3)) - (y (tan/cordic arg)) - (true (sqrt #q3))) - (check-accuracy 210 y true)) - nil) - -;;; Tests of asin where we know the analytical result. - -(rt:deftest oct.asin.1 - (let* ((arg #q.5) - (y (asin arg)) - (true (/ +pi+ 6))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.asin.2 - (let* ((arg (sqrt #q.5)) - (y (asin arg)) - (true (/ +pi+ 4))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.asin.3 - (let* ((arg (/ (sqrt #q3) 2)) - (y (asin arg)) - (true (/ +pi+ 3))) - (check-accuracy 212 y true)) - nil) - -;;; Tests of log. - -(rt:deftest oct.log.1 - (let* ((arg #q2) - (y (log arg)) - (true (make-instance 'qd-real :value qdi::+qd-log2+))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.log.2 - (let* ((arg #q10) - (y (log arg)) - (true (make-instance 'qd-real :value qdi::+qd-log10+))) - (check-accuracy 207 y true)) - nil) - -(rt:deftest oct.log.3 - (let* ((arg (+ 1 (scale-float #q1 -80))) - (y (log arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (check-accuracy 212 y true)) - nil) - -;;; Tests of log using Newton iteration. - -(defun log/newton (arg) - (make-instance 'qd-real - :value (qdi::log-qd/newton (qd-value arg)))) - -(rt:deftest oct.log/newton.1 - (let* ((arg #q2) - (y (log/newton arg)) - (true (make-instance 'qd-real :value qdi::+qd-log2+))) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.log/newton.2 - (let* ((arg #q10) - (y (log/newton arg)) - (true (make-instance 'qd-real :value qdi::+qd-log10+))) - (check-accuracy 207 y true)) - nil) - -(rt:deftest oct.log/newton.3 - (let* ((arg (+ 1 (scale-float #q1 -80))) - (y (log/newton arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (check-accuracy 212 y true)) - nil) - -;;; Tests of log using AGM. - -(defun log/agm (arg) - (make-instance 'qd-real - :value (qdi::log-qd/agm (qd-value arg)))) - -(rt:deftest oct.log/agm.1 - (let* ((arg #q2) - (y (log/agm arg)) - (true (make-instance 'qd-real :value qdi::+qd-log2+))) - (check-accuracy 203 y true)) - nil) - -(rt:deftest oct.log/agm.2 - (let* ((arg #q10) - (y (log/agm arg)) - (true (make-instance 'qd-real :value qdi::+qd-log10+))) - (check-accuracy 205 y true)) - nil) - -(rt:deftest oct.log/agm.3 - (let* ((arg (+ 1 (scale-float #q1 -80))) - (y (log/agm arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (check-accuracy 123 y true)) - nil) - -;;; Tests of log using AGM2, a faster variaton of AGM. - -(defun log/agm2 (arg) - (make-instance 'qd-real - :value (qdi::log-qd/agm2 (qd-value arg)))) - -(rt:deftest oct.log/agm2.1 - (let* ((arg #q2) - (y (log/agm2 arg)) - (true (make-instance 'qd-real :value qdi::+qd-log2+))) - (check-accuracy 203 y true)) - nil) - -(rt:deftest oct.log/agm2.2 - (let* ((arg #q10) - (y (log/agm2 arg)) - (true (make-instance 'qd-real :value qdi::+qd-log10+))) - (check-accuracy 205 y true)) - nil) - -(rt:deftest oct.log/agm2.3 - (let* ((arg (+ 1 (scale-float #q1 -80))) - (y (log/agm2 arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (check-accuracy 123 y true)) - nil) - -;;; Tests of log using AGM3, a faster variation of AGM2. -(defun log/agm3 (arg) - (make-instance 'qd-real - :value (qdi::log-qd/agm3 (qd-value arg)))) - -(rt:deftest oct.log/agm3.1 - (let* ((arg #q2) - (y (log/agm3 arg)) - (true (make-instance 'qd-real :value qdi::+qd-log2+))) - (check-accuracy 203 y true)) - nil) - -(rt:deftest oct.log/agm3.2 - (let* ((arg #q10) - (y (log/agm3 arg)) - (true (make-instance 'qd-real :value qdi::+qd-log10+))) - (check-accuracy 205 y true)) - nil) - -(rt:deftest oct.log/agm3.3 - (let* ((arg (+ 1 (scale-float #q1 -80))) - (y (log/agm3 arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (check-accuracy 123 y true)) - nil) - -;;; Tests of sqrt to make sure we overflow or underflow where we -;;; shouldn't. - -(rt:deftest oct.sqrt.1 - (let* ((arg #q1q200) - (y (sqrt arg)) - (true #q1q100)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.sqrt.2 - (let* ((arg #q1q200) - (y (sqrt arg)) - (true #q1q100)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.sqrt.3 - (let* ((arg #q1q300) - (y (sqrt arg)) - (true #q1q150)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.sqrt.4 - (let* ((arg #q1q-200) - (y (sqrt arg)) - (true #q1q-100)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.sqrt.5 - (let* ((arg #q1q-250) - (y (sqrt arg)) - (true #q1q-125)) - (check-accuracy 212 y true)) - nil) - -;;; Tests of log1p(x) = log(1+x), using the duplication formula. - -(defun log1p/dup (arg) - (make-instance 'qd-real - :value (qdi::log1p-qd/duplication (qd-value arg)))) - -(rt:deftest oct.log1p.1 - (let* ((arg #q9) - (y (log1p/dup arg)) - (true #q2.3025850929940456840179914546843642076011014886287729760333279009675726096773525q0)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.log1p.2 - (let* ((arg (scale-float #q1 -80)) - (y (log1p/dup arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (check-accuracy 212 y true)) - nil) - -;;; Tests of expm1(x) = exp(x) - 1, using a Taylor series with -;;; argument reduction. - -(defun expm1/series (arg) - (make-instance 'qd-real - :value (qdi::expm1-qd/series (qd-value arg)))) - -(rt:deftest oct.expm1/series.1 - (let* ((arg #q0) - (y (expm1/series arg)) - (true #q0)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.expm1/series.2 - (let* ((arg #q1) - (y (expm1/series arg)) - (true #q1.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952q0)) - (check-accuracy 211 y true)) - nil) - -(rt:deftest oct.expm1/series.3 - (let* ((arg (scale-float #q1 -100)) - (y (expm1/series arg)) - (true #q7.888609052210118054117285652830973804370994921943802079729680186943164342372119432861876389514693341738324702996270767390039172777809233288470357147q-31)) - (check-accuracy 211 y true)) - nil) - -;;; Tests of expm1(x) = exp(x) - 1, using duplication formula. - -(defun expm1/dup (arg) - (make-instance 'qd-real - :value (qdi::expm1-qd/duplication (qd-value arg)))) - - -(rt:deftest oct.expm1/dup.1 - (let* ((arg #q0) - (y (expm1/dup arg)) - (true #q0)) - (check-accuracy 212 y true)) - nil) - -(rt:deftest oct.expm1/dup.2 - (let* ((arg #q1) - (y (expm1/dup arg)) - (true #q1.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952q0)) - (check-accuracy 211 y true)) - nil) - -(rt:deftest oct.expm1/dup.3 - (let* ((arg (scale-float #q1 -100)) - (y (expm1/dup arg)) - (true #q7.888609052210118054117285652830973804370994921943802079729680186943164342372119432861876389514693341738324702996270767390039172777809233288470357147q-31)) - (check-accuracy 211 y true)) - nil) diff --git a/external/oct/tests.lisp b/external/oct/tests.lisp deleted file mode 100644 index 8aba323..0000000 --- a/external/oct/tests.lisp +++ /dev/null @@ -1,304 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - - -(in-package #:qd) - -(defun bit-accuracy (est true) - (let* ((diff (abs (- est true))) - (err (float (if (zerop true) - diff - (/ diff (abs true))) - 1d0))) - (if (zerop diff) - t - (- (log err 2))))) - -(defun print-result (est true) - (format t "est: ~A~%" est) - (format t "tru: ~A~%" true) - (format t "err: ~A~%" (float (- est true) 1d0)) - (format t "bits: ~,1f~%" (bit-accuracy est true))) - -(defconstant +e+ - (make-instance 'qd-real :value qdi::+qd-e+)) - -(defconstant +log2+ - (make-instance 'qd-real :value qdi::+qd-log2+)) - -(defun test2 () - ;; pi/4 = 4 * arctan(1/5) - arctan(1/239) - ;; - ;; Arctan is computed using the Taylor series - ;; - ;; arctan(x) = x - x^3/3 + x^5/5 - x^7/7 - (flet ((atan-series (x) - (let* ((d 1d0) - (eps (float (scale-float 1d0 -212) #q1)) - (tmp x) - (r (* tmp tmp)) - (s1 #q0) - (k 0) - (sign 1)) - (loop while (> tmp eps) do - (incf k) - (setf s1 - (if (minusp sign) - (- s1 (/ tmp d)) - (+ s1 (/ tmp d)))) - (incf d 2d0) - (setf tmp (* tmp r)) - (setf sign (- sign))) - s1))) - (let* ((x1 (/ #q1 5)) - (s1 (atan-series x1)) - (x2 (/ #q1 239)) - (s2 (atan-series x2)) - (p (* (- (* s1 4) - s2) - 4))) - (format t "~2&pi via Machin's atan formula~%") - (print-result p +pi+) - p))) - -(defun test3 () - (declare (optimize (speed 3))) - ;; Salamin-Brent Quadratic formula for pi - (let* ((a #q1) - (b (sqrt #q.5)) - (s #q.5) - (m 1d0) - (p (/ (* (* a a) - 2d0) - s))) - (declare (double-float m)) - (dotimes (k 9) - (setf m (* 2 m)) - (let* ((a-new (* (+ a b) .5d0)) - (b-new (sqrt (* a b))) - (s-new (- s - (* (- (* a-new a-new) - (* b-new b-new)) - m)))) - (setf a a-new) - (setf b b-new) - (setf s s-new) - (setf p (/ (* (* a a) 2d0) - s)))) - (format t "~2&Salamin-Brent Quadratic formula for pi~%") - (print-result p +pi+) - p)) - -(defun test4 () - (declare (optimize (speed 3))) - ;; Borwein Quartic formula for pi - (let* ((a (- 6 - (* (sqrt #q2) - 4))) - (y (- (sqrt #q2) - 1)) - (m 2d0) - (p (/ a))) - (declare (double-float m)) - (dotimes (k 9) - (setf m (* 4 m)) - (let ((r (expt (- 1 (expt y 4)) - 1/4))) - (setf y (/ (- 1d0 r) - (+ 1d0 r))) - (setf a (- (* a - (expt (+ y 1d0) 4)) - (* (* y - (+ (+ y (expt y 2)) - 1d0)) - m))) - (setf p (/ a)))) - (format t "~2&Borwein's Quartic formula for pi~%") - (print-result p +pi+) - p)) - -(defun test5 () - ;; Taylor series for e - (let ((s #q2) - (tmp #q1) - (n 1d0) - (delta 0d0) - (i 0)) - (loop while (> tmp 1d-100) do - (incf i) - (incf n) - (setf tmp (/ tmp n)) - (setf s (+ s tmp))) - (format t "~2&e via Taylor series~%") - (print-result s +e+) - s)) - -(defun test6 () - ;; Taylor series for log 2 - ;; - ;; -log(1-x) = x + x^2/2 + x^3/3 + x^4/4 + ... - ;; - ;; with x = 1/2 to get log(1/2) = -log(2) - (let ((s #q.5) - (tt #q.5) - (n 1d0) - (i 0)) - (loop while (> tt 1d-100) do - (incf i) - (incf n) - (setf tt (* tt .5d0)) - (setf s (+ s - (/ tt n)))) - (format t "~2&log(2) via Taylor series~%") - (print-result s +log2+) - s)) - -(defun test-atan () - (let* ((arg (/ (sqrt #q3))) - (y (/ (atan arg) +pi+)) - (true (/ #q6))) - (format t "~2&atan for special args~%") - (format t "atan(1/sqrt(3))/pi = 1/6~%") - (print-result y true)) - ;; atan(sqrt(3)) = %pi/3 - (let* ((arg (sqrt #q3)) - (y (/ (atan arg) +pi+)) - (true (/ #q3))) - (format t "atan(sqrt(3))/pi = 1/3~%") - (print-result y true)) - ;; atan(1) = %pi/4 - (let* ((arg #q1) - (y (/ (atan arg) +pi+)) - (true (/ #q4))) - (format t "atan(1)/pi = 1/4~%") - (print-result y true)) - (let* ((arg #q1q100) - (y (/ (atan arg) +pi+)) - (true #q.5)) - (format t "atan(1q100)/pi = 1/2~%") - (print-result y true)) - (let* ((arg #q-1q100) - (y (/ (atan arg) +pi+)) - (true #q-.5)) - (format t "atan(-1q100)/pi = -1/2~%") - (print-result y true))) - -(defun test-sin () - (format t "~2&sin for special args~%") - (let* ((arg (/ +pi+ 6)) - (y (sin arg)) - (true #q.5)) - (format t "sin(pi/6) = 1/2~%") - (print-result y true)) - (let* ((arg (/ +pi+ 4)) - (y (sin arg)) - (true (sqrt #q.5))) - (format t "sin(pi/4) = 1/sqrt(2)~%") - (print-result y true)) - (let* ((arg (/ +pi+ 3)) - (y (sin arg)) - (true (/ (sqrt #q3) 2))) - (format t "sin(pi/3) = sqrt(3)/2~%") - (print-result y true))) - -(defun test-tan () - (format t "~2&tan for special args~%") - (let* ((arg (/ +pi+ 6)) - (y (tan arg)) - (true (/ (sqrt #q3)))) - (format t"tan(pi/6) = 1/sqrt(3)~%") - (print-result y true)) - (let* ((arg (/ +pi+ 4)) - (y (tan arg)) - (true #q1)) - (format t "tan(pi/4) = 1~%") - (print-result y true)) - (let* ((arg (/ +pi+ 3)) - (y (tan arg)) - (true (sqrt #q3))) - (format t "tan(pi/3) = sqrt(3)~%") - (print-result y true))) - -(defun test-asin () - (format t "~2&asin for special args~%") - (let* ((arg #q.5) - (y (asin arg)) - (true (/ +pi+ 6))) - (format t "asin(1/2) = pi/6~%") - (print-result y true)) - (let* ((arg (sqrt #q.5)) - (y (asin arg)) - (true (/ +pi+ 4))) - (format t "asin(1/sqrt(2) = pi/4~%") - (print-result y true)) - (let* ((arg (/ (sqrt #q3) 2)) - (y (asin arg)) - (true (/ +pi+ 3))) - (format t "asin(sqrt(3)/2) = pi/3~%") - (print-result y true))) - -(defun test-log () - (format t "~2&Log for special args~%") - (let* ((arg #q2) - (y (log arg)) - (true +log2+)) - (format t "log(2)~%") - (print-result y true)) - (let* ((arg #q10) - (y (log arg)) - (true (make-instance 'qd-real :value qdi::+qd-log10+))) - (format t "log(10)~%") - (print-result y true)) - (let* ((arg (+ 1 (scale-float #q1 -80))) - (y (log arg)) - (true #q8.2718061255302767487140834995607996176476940491239977084112840149578911975528492q-25)) - (format t "log(1+2^-80)~%") - (print-result y true))) - -(defun test-sqrt () - (format t "~2&Sqrt for special args~%") - (dolist (f '((#q1q200 #q1q100) - (#q1q300 #q1q150) - (#q1q308 #q1q154) - (#q1q-200 #q1q-100) - (#q1q-250 #q1q-125))) - (destructuring-bind (arg true) - f - (let ((y (sqrt arg))) - (format t "sqrt(~/qdi::qd-format/)~%" (qd-value arg)) - (print-result y true))))) - -(defun all-tests () - (test2) - (test3) - (test4) - (test5) - (test6) - (test-atan) - (test-sin) - (test-tan) - (test-asin) - (test-log) - (test-sqrt)) diff --git a/external/oct/timing.lisp b/external/oct/timing.lisp deleted file mode 100644 index 89a7551..0000000 --- a/external/oct/timing.lisp +++ /dev/null @@ -1,176 +0,0 @@ -;;;; -*- Mode: lisp -*- -;;;; -;;;; Copyright (c) 2007 Raymond Toy -;;;; -;;;; Permission is hereby granted, free of charge, to any person -;;;; obtaining a copy of this software and associated documentation -;;;; files (the "Software"), to deal in the Software without -;;;; restriction, including without limitation the rights to use, -;;;; copy, modify, merge, publish, distribute, sublicense, and/or sell -;;;; copies of the Software, and to permit persons to whom the -;;;; Software is furnished to do so, subject to the following -;;;; conditions: -;;;; -;;;; The above copyright notice and this permission notice shall be -;;;; included in all copies or substantial portions of the Software. -;;;; -;;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;;;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -;;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -;;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -;;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -;;;; OTHER DEALINGS IN THE SOFTWARE. - - -;;; Some simple timing tests -(in-package #:oct) - -(defun time-add (&optional (n 100000)) - (declare (fixnum n)) - (flet ((sum-double () - (let ((sum 0d0)) - (declare (double-float sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (cl:+ sum 1d0))) - sum)) - (sum-%qd () - (let ((sum (qdi::make-qd-d 0d0)) - (one (qdi::make-qd-d 1d0))) - (declare (type qdi::%quad-double sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (add-qd sum one))) - sum)) - (sum-qd () - (let ((sum #q0)) - (declare (type qd-real sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (+ sum #q1))) - sum))) - (format t "Add double-floats ~d times~%" n) - #+cmu (ext:gc :full t) - (time (sum-double)) - (format t "Add %quad-double (internal) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (sum-%qd)) - (format t "Add QD-REAL (method) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (sum-qd)))) - - -(defun time-mul (&optional (n 100000)) - (declare (fixnum n)) - (flet ((mul-double () - (let ((sum 0d0)) - (declare (double-float sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (cl:* sum 1d0))) - sum)) - (mul-%qd () - (let ((sum (qdi::make-qd-d 0d0)) - (one (qdi::make-qd-d 1d0))) - (declare (type qdi::%quad-double sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (mul-qd sum one))) - sum)) - (mul-qd () - (let ((sum #q0)) - (declare (type qd-real sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (* sum #q1))) - sum))) - (format t "Multiply double-floats ~d times~%" n) - #+cmu (ext:gc :full t) - (time (mul-double)) - (format t "Multiply %quad-double (internal) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (mul-%qd)) - (format t "Multiply QD-REAL (method) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (mul-qd)))) - -(defun time-div (&optional (n 100000)) - (declare (fixnum n)) - (flet ((div-double () - (let ((sum 7d0)) - (declare (double-float sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (cl:/ sum 1d0))) - sum)) - (div-%qd () - (let ((sum (qdi::make-qd-d 7d0)) - (one (qdi::make-qd-d 1d0))) - (declare (type qdi::%quad-double sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (div-qd sum one))) - sum)) - (div-qd () - (let ((sum #q7)) - (declare (type qd-real sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (/ sum #q1))) - sum))) - (format t "Divide double-floats ~d times~%" n) - #+cmu (ext:gc :full t) - (time (div-double)) - (format t "Divide %quad-double (internal) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (div-%qd)) - (format t "Divide QD-REAL (method) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (div-qd)))) - -(defun time-sqrt (&optional (n 100000)) - (declare (fixnum n)) - (flet ((sqrt-double () - (let ((sum 7d0)) - (declare (double-float sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (cl:sqrt sum))) - sum)) - (sqrt-%qd () - (let ((sum (qdi::make-qd-d 7d0))) - (declare (type qdi::%quad-double sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (sqrt-qd sum))) - sum)) - (sqrt-qd-real () - (let ((sum #q7)) - (declare (type qd-real sum) - (optimize (speed 3))) - (dotimes (k n) - (declare (fixnum k)) - (setf sum (sqrt sum))) - sum))) - (format t "Sqrt double-floats ~d times~%" n) - #+cmu (ext:gc :full t) - (time (sqrt-double)) - (format t "Sqrt %quad-double (internal) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (sqrt-%qd)) - (format t "Sqrt QD-REAL (method) ~d times~%" n) - #+cmu (ext:gc :full t) - (time (sqrt-qd-real)))) diff --git a/external/smarkup/LICENSE b/external/smarkup/LICENSE deleted file mode 100644 index 3381398..0000000 --- a/external/smarkup/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -smarkup, an S-expression based markup package - -Copyright (c) 2006 Cyrus Harmon -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials - provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/external/smarkup/README b/external/smarkup/README deleted file mode 100644 index 05ac9ff..0000000 --- a/external/smarkup/README +++ /dev/null @@ -1,15 +0,0 @@ - -Cyrus Harmon's smarkup package for generating marked up documents in -lisp expressions. - -WRITEME - -to test this stuff: - -(asdf:oos 'asdf:load-op 'smarkup-test) - -(smarkup-test::test-xhtml-file) - -This will load the file test/sample.sexp and the bibliography file in -test/sample.bib and produce an xhtml called test/sample.xhtml. - diff --git a/external/smarkup/bootstrap.cl b/external/smarkup/bootstrap.cl deleted file mode 100644 index 0a34400..0000000 --- a/external/smarkup/bootstrap.cl +++ /dev/null @@ -1,5 +0,0 @@ - - -(require 'asdf) - -(asdf:operate 'asdf:load-op 'smarkup) diff --git a/external/smarkup/smarkup-test.asd b/external/smarkup/smarkup-test.asd deleted file mode 100644 index 744ce62..0000000 --- a/external/smarkup/smarkup-test.asd +++ /dev/null @@ -1,27 +0,0 @@ - - - -(asdf:operate 'asdf:load-op "ch-asdf") - -(defpackage #:smarkup-test-system (:use #:cl #:asdf #:ch-asdf)) -(in-package #:smarkup-test-system) - -(defclass smarkup-test-cl-source-file (ch-asdf:ch-cl-source-file) ()) - -(defsystem :smarkup-test - :name "smarkup-test" - :author "Cyrus Harmon " - :licence "BSD" - :version #.(with-open-file - (vers (merge-pathnames "version.lisp-expr" *load-truename*)) - (read vers)) - :description "S-Expression-based Markup Utilities" - :depends-on (:ch-asdf :ch-util :bibtex :smarkup) - :components - ((:module - :test - :components - ((:smarkup-test-cl-source-file "defpackage") - (:smarkup-test-cl-source-file "smarkup-test" :depends-on (:defpackage)) - (:static-file "sample-bib" :pathname #p"sample.bib") - (:static-file "sample-sexp" :pathname #p"sample.sexp"))))) diff --git a/external/smarkup/smarkup.asd b/external/smarkup/smarkup.asd deleted file mode 100644 index ee5beb5..0000000 --- a/external/smarkup/smarkup.asd +++ /dev/null @@ -1,41 +0,0 @@ - - -(asdf:operate 'asdf:load-op "ch-asdf") - -(defpackage #:smarkup-system (:use #:cl #:asdf #:ch-asdf)) -(in-package #:smarkup-system) - -(defclass smarkup-cl-source-file (ch-asdf:ch-cl-source-file) ()) - -(defsystem :smarkup - :name "smarkup" - :author "Cyrus Harmon " - :licence "BSD" - :version #.(with-open-file - (vers (merge-pathnames "version.lisp-expr" *load-truename*)) - (read vers)) - :description "S-Expression-based Markup Utilities" - :depends-on (:ch-asdf :ch-util :bibtex :puri :cl-fad :cl-typesetting) - :components - ((:module - :src - :components - ((:smarkup-cl-source-file "defpackage") - (:smarkup-cl-source-file "smarkup" :depends-on (:defpackage)) - (:smarkup-cl-source-file "smarkup-asdf" :depends-on (:defpackage :smarkup)) - (:smarkup-cl-source-file "parameters" :depends-on (:defpackage)) - (:smarkup-cl-source-file "filter" :depends-on (:defpackage :parameters)) - (:smarkup-cl-source-file "quote-reader-macro" :depends-on (:defpackage)) - (:smarkup-cl-source-file "xhtml-render" - :depends-on - (:defpackage :smarkup :filter :quote-reader-macro)) - (:smarkup-cl-source-file "latex" - :depends-on - (:defpackage :smarkup :parameters :filter :quote-reader-macro)) - (:smarkup-cl-source-file "typesetting" - :depends-on - (:defpackage :smarkup :parameters :filter :quote-reader-macro)))) - (:static-file "version" :pathname #p"version.lisp-expr") - (:static-file "LICENSE") - (:static-file "README") - (:static-file "bootstrap" :pathname #p"bootstrap.cl"))) diff --git a/external/smarkup/src/defpackage.cl b/external/smarkup/src/defpackage.cl deleted file mode 100644 index f31f21f..0000000 --- a/external/smarkup/src/defpackage.cl +++ /dev/null @@ -1,11 +0,0 @@ - -(in-package #:cl-user) - -(defpackage #:smarkup - (:use #:cl #:asdf #:ch-asdf) - (:export #:object-from-file - #:filtered-object - #:object-latex-file - #:pdf-file - #:object-xhtml-file)) - diff --git a/external/smarkup/src/filter.cl b/external/smarkup/src/filter.cl deleted file mode 100644 index 1b4f63d..0000000 --- a/external/smarkup/src/filter.cl +++ /dev/null @@ -1,256 +0,0 @@ -;; -;; Copyright (c) 2006, Cyrus Harmon -;; -;; filter.lisp - filters are used to process markup document -;; sexps. The intent is that these filters are independent from the -;; final rendering. Think of this as a set of preprocessing stages -;; after document parsing. So now we have a markup document which gets -;; parsed, filtered and then rendered. -;; -;; Yes, perhaps the name "filter" could be better. I'm open to -;; suggestions. - -(in-package :smarkup) - -(defgeneric filter-gf (filter car list)) -(defgeneric filter (type sexp)) - -(defmethod filter-gf (filter car list) - (cond ((null car) (when (cdr list) (filter filter (cdr list)))) - ((atom car) (cons car (filter filter (cdr list)))) - (t (cons (filter filter (car list)) - (filter filter (cdr list)))))) - -(defmethod filter (type sexp) - (filter-gf type (car sexp) sexp)) - -(defun apply-filters (sexp filters) - (cond ((null filters) sexp) - ((listp filters) (apply-filters (filter (car filters) sexp) (cdr filters))) - (t (filter filters sexp)))) - -;;; -;;; test filter. can reverse strings -;;; -(defun reverse-strings (sexp) - (cond ((null sexp) nil) - ((atom sexp) (if (stringp sexp) - (reverse sexp) - sexp)) - (t (cons (reverse-strings (car sexp)) - (reverse-strings (cdr sexp)))))) - -(defmethod filter-gf ((filter (eql :test)) (car (eql :reverse)) list) - `(:span ,@(filter :test (reverse-strings (reverse (cdr list)))))) - -;;; -;;; lisp filter. can eval lisp forms -;;; -(defun collect-string (str-list) - (declare (optimize (debug 2))) - (apply #'concatenate 'string - (mapcar - #'(lambda (x) - (unless (equal x 'blank-line) - (format nil "~A" x))) - str-list))) - -(defun lc-format (dest ctrl-string &rest args) - (let ((*print-case* :downcase)) - (apply #'format dest ctrl-string args))) - -(defun eval-lisp (tag body &key (show-commands t) (show-results t)) - (declare (ignore tag)) - (let ((lines - (with-input-from-string (ifs (collect-string body)) - (loop for line = (read ifs nil) - while line collect line)))) - (if (not (or show-commands show-results)) - (progn (mapcar #'eval lines) - nil) - `((:div :class "lisp") - (:pre - ,@(mapcan #'(lambda (x) - (cons `(:code - ,(when show-commands - (lc-format nil "~W~%" x))) - (let ((output (eval x))) - (if show-results - (list `(:results - ,(if (stringp output) - (lc-format nil "~W~%" output) - (format nil "~S~%" output))) - #\Newline) - (list #\Newline))))) - lines)))))) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :lisp)) list) - (eval-lisp car (cdr list))) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :lisp-no-results)) list) - (eval-lisp car (cdr list) :show-results nil)) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :lisp-no-commands)) list) - (eval-lisp car (cdr list) :show-commands nil)) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :lisp-silent)) list) - (eval-lisp car (cdr list) :show-results nil :show-commands nil)) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :lisp-no-eval)) list) - `((:div :class "lisp") (:pre ,@(cdr list)))) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :lisp-value)) list) - (eval (read-from-string (car (cdr list))))) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :setf-lisp-value)) list) - (let ((sexp (read-from-string (car (cdr list))))) - (setf (symbol-value (car sexp)) (cadr sexp)) - nil)) - -(defmethod filter-gf ((filter (eql :lisp)) (car (eql :code-block)) list) - `((:div :class "lisp") (:pre ,@(cdr list)))) - -;;; -;;; markup-metadata filter. sets various special variables with -;;; document metadata info -;;; -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :copyright)) list) - (setf *copyright* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :title)) list) - (setf *document-title* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :titlerunning)) list) - (setf *document-titlerunning* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :subtitle)) list) - (setf *document-subtitle* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :author)) list) - (setf *document-author* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :tocauthor)) list) - (setf *document-tocauthor* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :authorrunning)) list) - (setf *document-authorrunning* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :address)) list) - (setf *document-address* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :institute)) list) - (setf *document-institute* (cadr list)) - (call-next-method)) - -(defparameter *bibtex-macros* (make-hash-table :test #'equalp)) -(defparameter *bibtex-database* (make-hash-table :test #'equalp)) -(defparameter *bibtex-style* nil) -(defparameter *cite-keys* nil) -(defparameter *cite-order* (make-hash-table :test #'equalp)) -(defparameter *current-citation* 0) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :bibtex-database)) list) - (setf *bibtex-database* (make-hash-table :test #'equalp)) - (setf *cite-keys* nil) - (setf *cite-order* (make-hash-table :test #'equalp)) - (setf *current-citation* 0) - (cond ((and (stringp (cadr list)) - (eql (char (cadr list) 0) #\()) - (let ((database-spec-list - (let ((*read-eval* nil)) - (read-from-string (cadr list))))) - (loop for database-spec in database-spec-list - do - (let ((database-uri (puri:parse-uri database-spec))) - (cond ((eql (puri:uri-scheme database-uri) :asdf) - (let ((database - (asdf:component-pathname - (ch-asdf::asdf-lookup database-spec)))) - (let ((bibtex-runtime::*bib-database* *bibtex-database*) - (bibtex-runtime::*bib-macros* *bibtex-macros*)) - (with-open-file (f database) - (bibtex-runtime:read-bib-database f))))) - (t - (let ((database (puri:uri-path database-uri))) - (let ((bibtex-runtime::*bib-database* *bibtex-database*) - (bibtex-runtime::*bib-macros* *bibtex-macros*)) - (with-open-file (f database) - (bibtex-runtime:read-bib-database f))))))))) - (call-next-method)) - (t (warn "Unsupported bibilography database~&")))) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) - (car (eql :bibtex-style)) - list) - (let ((bst (cadr list))) - (setf *bibtex-style* bst))) - -(defmethod filter-gf ((filter (eql :smarkup-metadata)) (car (eql :smarkup-metadata)) list) - (filter-gf filter (cadr list) (cdr list)) - nil) - -(defparameter *html-css-stylesheet-url* "style.css") - -(defmethod filter-gf ((filter (eql :html-metadata)) (car (eql :htmlcss)) list) - (setf *html-css-stylesheet-url* (cadr list)) - (call-next-method)) - -(defmethod filter-gf ((filter (eql :html-metadata)) (car (eql :html-metadata)) list) - (filter-gf filter (cadr list) (cdr list)) - nil) - - - -;;; -;;; references -;;; - - -;;; -;;; Ok, need to get the bibtex-style and then call bibtex or its guts to get the references. -;;; - -(defun get-bib-entry (entry) - (with-output-to-string (stream) - (bibtex-runtime::write-bib-entry entry stream))) - -(defun get-bib-order (entry) - (gethash entry *cite-order*)) - -(defmethod filter-gf ((filter (eql :ref)) (car (eql :bibcite)) list) - (loop for cite-key in (cdr list) - do - (unless (member cite-key *cite-keys* :test 'string=) - (push cite-key *cite-keys*) - (setf (gethash cite-key *cite-order*) (incf *current-citation*))) - (let ((v (gethash cite-key *bibtex-database*))) - (if v - (bibtex-runtime::write-bib-entry v) - (warn "~%bibliography entry ~A not found~%" cite-key)))) - (call-next-method)) - - -;;; -;;; outline stuff -;;; - -(defparameter *outline-elements* '(:h1 :h2 :h3 :h4 :h5 :h6)) - -(defparameter *outline-level* 6) - -(defmethod filter-gf ((filter (eql :outline)) car list) - (let ((outline-elements - (subseq *outline-elements* - 0 (min (length *outline-elements*) - *outline-level*)))) - (remove-if-not #'(lambda (x) (member (car x) outline-elements)) - list))) - diff --git a/external/smarkup/src/latex.cl b/external/smarkup/src/latex.cl deleted file mode 100644 index b81cc50..0000000 --- a/external/smarkup/src/latex.cl +++ /dev/null @@ -1,1050 +0,0 @@ -;; -;; Copyright (c) 2006, Cyrus Harmon -;; -;; latex.cl - latex output from smarkup -;; - -(in-package :smarkup) - -(defvar *baseline-skip* "12pt") -(defvar *baseline-stretch* "1.6") -(defvar *par-skip* "18pt") -(defvar *latex-graphics-params* nil) - -(defparameter *document-format-parameters* - '(#+nil ("oddsidemargin" . "0.5in") - #+nil ("textwidth" . "6.0in") - #+nil ("topmargin" . "0in") - #+nil ("headheight" . "0.1in") - #+nil ("headsep" . "0.0in") - #+nil ("textheight" . "9.6in") - #+nil ("footskip" . "0.4in") - #+nil ("parindent" . "0.5in"))) - -(defvar *section-numbering-depth* 5) - -(defparameter *document-class* "article") -(defparameter *document-options* '("10pt")) - -(defvar *document-latex-commands* - '("\\newcommand{\\argmax}{\\operatornamewithlimits{argmax}}" - "\\newcommand{\\argmin}{\\operatornamewithlimits{argmin}}")) - -(defparameter *latex-packages* - '("amssymb" "amsmath" "verbatim" "graphicx" "subfigure" - "caption" "hyperref" "fancyheadings" "longtable" - ("geometry" . "letterpaper"))) - -(defparameter *thesis-preamble* - "\\DeclareCaptionFont{singlespacing}{\\ssp} -\\captionsetup{font={singlespacing,small}}") - -;;; \\captionsetup{font={singlespacing,small}} - -(defparameter *beamer-preamble* - "\\mode{ -\\definecolor{nicegreen}{RGB}{10,100,10} -\\setbeamercolor*{normal text}{bg=black,fg=white} -\\setbeamercolor{structure}{fg=nicegreen} -} -") - - -(defparameter *res-preamble* " -\\oddsidemargin -.5in -\\evensidemargin -.5in -\\textwidth=6.0in -\\itemsep=0in -\\parsep=0in -\\parskip=6pt -\\topmargin=-.4in -\\textheight=60\\baselineskip -\\hyphenpenalty=5000 -\\tolerance=1000 - -\\newenvironment{list1}{ - \\begin{list}{}{% - \\setlength{\\itemsep}{0in} - \\setlength{\\parsep}{0in} \\setlength{\\parskip}{0in} - \\setlength{\\topsep}{0in} \\setlength{\\partopsep}{0in} - \\setlength{\\leftmargin}{0.17in}}}{\\end{list}} -\\newenvironment{list2}{ - \\begin{list}{$\\bullet$}{% - \\setlength{\\itemsep}{0in} - \\setlength{\\parsep}{0in} \\setlength{\\parskip}{0in} - \\setlength{\\topsep}{0in} \\setlength{\\partopsep}{0in} - \\setlength{\\leftmargin}{0.2in}}}{\\end{list}}") - -(defparameter *llncs-preamble* - "\\bibliographystyle{splncs} -\\renewcommand\\floatpagefraction{.9} -\\renewcommand\\topfraction{.9} -\\renewcommand\\bottomfraction{.9} -\\renewcommand\\textfraction{.1} -\\setcounter{totalnumber}{50} -\\setcounter{topnumber}{50} -\\setcounter{bottomnumber}{50} -") - -(defparameter *acm-proc-article-preamble* - "\\bibliographystyle{splncs} -\\renewcommand\\floatpagefraction{.95} -\\renewcommand\\topfraction{.95} -\\renewcommand\\bottomfraction{.95} -\\renewcommand\\textfraction{.1} -\\setcounter{totalnumber}{50} -\\setcounter{topnumber}{50} -\\setcounter{bottomnumber}{50} -\\widowpenalty=10000 -\\clubpenalty=10000 -\\raggedbottom -") - -(defparameter *article-preamble* - "\\setcounter{topnumber}{2} -\\setcounter{bottomnumber}{2} -\\setcounter{totalnumber}{4} % 2 may work better -\\setcounter{dbltopnumber}{2} % for 2-column pages -\\renewcommand{\\dbltopfraction}{0.9} % fit big float above 2-col. text -\\renewcommand{\\textfraction}{0.07} % allow minimal text w. figs -% Parameters for FLOAT pages (not text pages): -\\renewcommand{\\floatpagefraction}{0.7} % require fuller float pages -% N.B.: floatpagefraction MUST be less than topfraction !! -\\renewcommand{\\dblfloatpagefraction}{0.7} % require fuller float pages -\\setlength{\\captionmargin}{10pt}") - -(defvar *article-headings* '((:h1 . "section") - (:h2 . "subsection") - (:h3 . "subsubsection") - (:h4 . "paragraph"))) - -(defvar *thesis-headings* '((:h1 . "chapter") - (:h2 . "section") - (:h3 . "subsection") - (:h4 . "subsubsection"))) - -(defparameter *thesis-approval-page* t) - -(defun latex-command (command &optional arg) - (format nil "~&\\~A~@[{~A}~]~%" command arg)) - -(defgeneric emit-latex (stream thing &key newline)) -(defgeneric emit-latex-gf (stream type children &key newline)) - -;;; default is a no-op -(defmethod emit-latex (stream thing &key newline) - (declare (ignore newline))) - -(defmethod emit-latex (stream (thing string) &key newline) - (declare (ignore newline)) - (format stream "~A" thing)) - -(defmethod emit-latex (stream (thing string) &key newline) - (format stream "~A~:[~;~%~]" thing newline)) - -(defmethod emit-latex (stream (thing character) &key newline) - (emit-latex stream (string thing) :newline newline)) - -(defmethod emit-latex (stream (thing cons) &key (newline nil newline-supplied-p)) - (cond ((atom (car thing)) - (apply #'emit-latex-gf stream (car thing) (cdr thing) - (when newline-supplied-p `(:newline ,newline)))) - ((listp (car thing)) - (apply #'emit-latex-gf stream (caar thing) (cdr thing) - (when newline-supplied-p `(:newline ,newline)))))) - -(defmethod emit-latex (stream (thing (eql :nbsp)) &key (newline nil)) - (emit-latex stream "~" :newline newline)) - -(defmethod emit-latex (stream (thing (eql :hr)) &key (newline nil)) - (declare (ignore newline)) - (emit-latex-newline stream)) - -(defmethod emit-latex (stream (thing (eql :newline)) &key (newline nil)) - (declare (ignore newline)) - (emit-latex stream "\\\\" :newline t)) - -(defmethod emit-latex (stream (thing (eql :pause)) &key (newline nil)) - (emit-latex stream "\\pause" :newline newline)) - -(defmethod emit-latex (stream (thing (eql :hfill)) &key (newline nil)) - (emit-latex stream "\\hfill" :newline newline)) - -(defmethod emit-latex (stream (thing (eql :qquad)) &key (newline nil)) - (emit-latex stream "\\qquad" :newline newline)) - -(defmethod emit-latex (stream (thing (eql :quad)) &key (newline nil)) - (emit-latex stream "\\quad" :newline newline)) - -(defun emit-latex-freshline (stream) - (format stream "~&")) - -(defun emit-latex-newline (stream) - (format stream "~%")) - -;;; default is a no-op -(defmethod emit-latex-gf (stream type children &key newline) - (declare (ignore newline))) - -(defun emit-children-to-string (children) - (cond ((null children) nil) - ((listp children) - (apply #'concatenate 'string - (loop for c in children collect (emit-latex nil c)))) - (t children))) - -(defmethod emit-latex-gf (stream (type (eql :p)) children &key (newline t)) - (emit-latex-freshline stream) - (dolist (c children) - (emit-latex stream c)) - (when (or newline t) - (emit-latex-newline stream) - (emit-latex-newline stream))) - -(defun emit-latex-command (stream command children - &key - (newline t) - (initial-freshline t) - (options)) - (format stream "~:[~;~&~]\\~A~@[[~A]~]~@[{~A}~]~:[~;~%~]" - initial-freshline - command - options - (cond ((null children) nil) - ((listp children) - (apply #'concatenate 'string - (loop for c in children collect (emit-latex nil c)))) - (t children)) - newline)) - -(defun emit-latex-command-2 (stream command &key options arg1 arg2 (newline t)) - (format stream "~&\\~A~@[[~A]~]~@[{~A}~]~@[{~A}~]~:[~;~%~]" command options arg1 arg2 newline)) - -(defun emit-latex-command-3 (stream command section &key options arg1 arg2 (newline t)) - (format stream "~&\\~A{~A}~@[[~A]~]~@[{~A}~]~@[{~A}~]~:[~;~%~]" command section options arg1 arg2 newline)) - -(defun emit-latex-command-4 (stream command children - &key - (newline t) - (initial-freshline t) - (options)) - (format stream "~:[~;~&~]\\~A~@[[~A]~]{" - initial-freshline - command - options) - (loop for c in children do (emit-latex stream c)) - (format stream "}~:[~;~%~]" newline)) - -;;; -;;; takes options command, options, arg1, arg2 and arg3, e.g.: -;;; (emit-latex-command-5 nil "command" :options "options" :arg1 "arg1" :arg2 "arg2") -;;; produces "\\command[options]{arg1}[arg2]{arg3}" -;;; -(defun emit-latex-command-5 (stream command &key options arg1 arg2 arg3 (newline t)) - (format stream "~&\\~A~@[[~A]~]~@[{~A}~]~@[[~A]~]~@[{~A}~]~:[~;~%~]" - command options arg1 arg2 arg3 newline)) - -(defun emit-latex-command-6 (stream command children - &key - (newline t) - (initial-freshline t) - (arg)) - (format stream "~:[~;~&~]\\~A~@[{~A}~]~:[~;{~]" - initial-freshline - command - arg - children) - (loop for c in children do (emit-latex stream c)) - (format stream "~:[~;}~]~:[~;~%~]" children newline)) - -(defun emit-latex-parameter (stream command children &key (newline t)) - (format stream "~&\\~A~@[ ~A~]~:[~;~%~]" - command - (cond ((null children) nil) - ((listp children) - (apply #'concatenate 'string - (loop for c in children collect (emit-latex nil c)))) - (t children)) - newline)) - -(defmethod emit-latex-gf (stream (type (eql :div)) children &key newline) - (loop for c in children collect - (emit-latex stream c)) - (when newline (emit-latex-newline stream))) - -(defmethod emit-latex-gf (stream (type (eql :span)) children &key newline) - #+nil (format stream "~{~A~}~:[~;~%~]" - (loop for c in children collect (emit-latex nil c)) - newline) - (loop for c in children collect (emit-latex stream c))) - -(defun emit-latex-block (command stream children &key newline) - (format stream "{\\~A ~{~A~}}~:[~;~%~]" command - (loop for c in children collect (emit-latex nil c)) - newline)) - -(defmacro with-latex-block (command stream &rest rest) - `(progn - (format ,stream "{\\~A " ,command) - ,@rest - (format ,stream "}~:[~;~%~]" t))) - -(defmethod emit-latex-gf (stream (type (eql :i)) children &key newline) - (emit-latex-block "it" stream children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :b)) children &key newline) - (emit-latex-block "bf" stream children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :sc)) children &key newline) - (emit-latex-block "sc" stream children :newline newline)) - -(defparameter *document-single-space-count* 0) - -(defun single-space (stream) - (cond ((equal *document-class* "ucthesis") - (incf *document-single-space-count*) - (emit-latex stream "\\ssp" :newline t)) - ((equal *document-class* "beamer")) - ((equal *document-class* "llncs")) - ((equal *document-class* "acm_proc_article-sp")) - (t (emit-latex stream (format nil "\\baselineskip~A" "12pt") :newline t)))) - -(defun default-space (stream) - (cond ((equal *document-class* "ucthesis") - (unless (plusp (decf *document-single-space-count*)) - (emit-latex stream (format nil "\\dsp") :newline t))) - ((equal *document-class* "beamer")) - ((equal *document-class* "llncs")) - ((equal *document-class* "acm_proc_article-sp")) - (t (emit-latex stream (format nil "\\baselineskip~A" *baseline-skip*) :newline t)))) - -(defmethod emit-latex-gf (stream (type (eql :pre)) children &key (newline nil)) - (declare (ignore newline)) - (emit-latex-newline stream) - (single-space stream) - (emit-latex-command stream "begin" '("verbatim") :newline nil) - (format stream "~{~A~}" - (loop for c in children collect (emit-latex nil c))) - (emit-latex-command stream "end" '("verbatim")) - (default-space stream)) - - -(defmethod emit-latex-gf (stream (type (eql :code)) children &key (newline nil)) - (format stream "~{~A~}~:[~;~%~]" - (loop for c in children collect (emit-latex nil c)) - newline)) - -(defmethod emit-latex-gf (stream (type (eql :pseudocode)) children &key (newline t)) - (destructuring-bind (&key name (parameters " ") label) - (car children) - (single-space stream) - (when (equal *document-class* "beamer") - (emit-latex stream "{\\scriptsize")) - (emit-latex-command-3 stream "begin" "pseudocode" :options "framebox" :arg1 name :arg2 parameters :newline nil) - (format stream "~{~A~}~:[~;~%~]" - (loop for c in (cdr children) - collect (emit-latex nil c)) - newline) - (when label - (emit-latex-command stream "label" label :newline t)) - (emit-latex-command stream "end" "pseudocode" :newline newline) - (when (equal *document-class* "beamer") - (emit-latex stream "}" :newline t)) - (emit-latex-newline stream) - (default-space stream))) - -(defmethod emit-latex-gf (stream (type (eql :soutput)) children &key (newline)) - (declare (ignore newline)) - (single-space stream) - (emit-latex stream "{\\scriptsize") - (emit-latex-command stream "begin" "Soutput") - (dolist (c children) - (emit-latex stream c)) - (emit-latex-command stream "end" "Soutput") - (emit-latex stream "}" :newline t) - (default-space stream)) - -(defmethod emit-latex-gf (stream (type (eql :results)) children &key (newline nil)) - (format stream "~{~A~}~:[~;~%~]" - (loop for c in children collect (emit-latex nil c)) - newline)) - -(defmethod emit-latex-gf (stream (type (eql :clearpage)) children &key (newline t)) - (emit-latex-command stream "clearpage" nil :newline t)) - -(defun get-headings () - (cond ((equal *document-class* "ucthesis") - *thesis-headings*) - (t *article-headings*))) - -(defvar *default-font-size* "10pt") - -(defun setup-headings () - (cond ((member *document-class* '("ucthesis") :test #'equal) - (setf *document-options* '("11pt"))) - ((member *document-class* '("beamer") :test #'equal) - (setf *document-options* '("10pt"))) - ((member *document-class* '("res") :test #'equal) - (setf *document-options* '("margin" "line"))) - ((member *document-class* '("acm_proc_article-sp") :test #'equal) - (setf *document-options* nil)) - ((member *document-class* '("llncs") :test #'equal) - (setf *document-options* '("oribibl"))) - (t (setf *document-options* `(,*default-font-size*))))) - -(defmethod emit-latex-gf (stream (type (eql :appendices)) children &key (newline t)) - (declare (ignore newline)) - (single-space stream) - (emit-latex-command stream "appendix" nil) - (loop for c in children - do (emit-latex stream c)) - (default-space stream)) - -(defparameter *h1-default-clearpage* t) -(defparameter *h2-default-clearpage* t) - -(defparameter *default-number-sections* t) - -(defmethod emit-latex-gf (stream (type (eql :h1)) children &key (newline t)) - (ch-util::with-keyword-args ((label - (clearpage *h1-default-clearpage*) - (no-number (not *default-number-sections*))) - children) - children - (when (and clearpage (not (eql clearpage :nil))) - (emit-latex-command stream "clearpage" nil :newline t)) - (when (equal *document-class* "ucthesis") - (emit-latex stream "\\pagestyle{fancyplain}" :newline t) - (emit-latex stream "\\cfoot{}" :newline t)) - (emit-latex-command stream (format nil "~A~:[~;*~]" - (cdr (assoc type (get-headings))) - no-number) - children :newline newline) - (when label - (emit-latex-command stream "label" label :newline newline)))) - - -(defmethod emit-latex-header (stream type children &key (newline t)) - (ch-util::with-keyword-args ((label - (clearpage *h2-default-clearpage*) - (no-number (not *default-number-sections*))) children) - children - (when (and clearpage (not (eql clearpage :nil))) - (emit-latex-command stream "clearpage" nil :newline t)) - (single-space stream) - (emit-latex-command stream (format nil "~A~:[~;*~]" - (cdr (assoc type (get-headings))) - no-number) - children :newline newline) - (when label - (emit-latex-command stream "label" label :newline newline)) - (default-space stream))) - -(defmethod emit-latex-gf (stream (type (eql :h2)) children &key (newline t)) - - (emit-latex-header stream type children :newline newline) - - #+nil (ch-util::with-keyword-args ((label) children) - children - (when label - (emit-latex-command stream 'label label :newline newline)))) - -(defmethod emit-latex-gf (stream (type (eql :h3)) children &key (newline t)) - #+nil (when (equal *document-class* "article") - (emit-latex-command stream "res" '("-14pt"))) - - (emit-latex-header stream type children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :h4)) children &key (newline t)) - #+nil (when (equal *document-class* "article") - (emit-latex-command stream "res" '("-14pt"))) - (emit-latex-header stream type children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :part)) children &key (newline nil)) - (emit-latex-command stream "part" (format nil "~{~A~^, ~}" children) :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :bibcite)) children &key (newline nil)) - (emit-latex-command stream "cite" (format nil "~{~A~^, ~}" children) :initial-freshline nil :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :caption)) children &key (newline nil)) - (ch-util::with-keyword-args (((figure-label t)) children) - children - (let ((label (if figure-label - "caption" - "caption*"))) - (emit-latex-command stream label children :newline newline :initial-freshline nil)))) - -(defmethod emit-latex-gf (stream (type (eql :label)) children &key (newline nil)) - (emit-latex-command stream "label" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :ref)) children &key newline) - (declare (ignore newline)) - (emit-latex-command stream "ref" children :initial-freshline nil :newline nil)) - -(defmethod emit-latex-gf (stream (type (eql :nbsp)) children &key newline) - (declare (ignore newline children)) - (emit-latex stream "~")) - -(defmethod emit-latex-gf (stream (type (eql :centering)) children &key (newline nil)) - (emit-latex-command-6 stream "centering" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :center2)) children &key (newline nil)) - (declare (optimize (debug 3)) - (ignore newline)) - (emit-latex-newline stream) - (emit-latex-command stream "begin" '("centering") :newline nil) - (dolist (p children) - (emit-latex stream p :newline nil)) - (emit-latex-command stream "end" '("centering"))) - -(defparameter *image-copy-path* nil) - -(defparameter *copy-image-files* nil) - -(defmethod emit-latex-gf (stream (type (eql :image)) children &key (newline t)) - (destructuring-bind (image-pathname &key - (width) - (copy *copy-image-files*) - (convert-png-to-eps nil) - &allow-other-keys) - children - (let ((image-file (ch-util:unix-name image-pathname))) - (when (and copy *image-copy-path*) - (let ((new-file (merge-pathnames (make-pathname :name (pathname-name image-file) - :type (pathname-type image-file) - :directory (cons :relative (nthcdr 5 (pathname-directory image-file)))) - *image-copy-path*))) - (ensure-directories-exist new-file) - (cond ((and convert-png-to-eps - (equal (pathname-type image-file) - "png")) - (setf new-file (merge-pathnames (make-pathname :type "eps") - new-file)) - (print (sb-ext::run-program "/Users/sly/bin/png2eps" - (list image-file) - :environment '("PATH=/bobo/bin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/Users/sly/bin:/opt/local/bin:") - :if-output-exists :supersede - :output new-file))) - (t - (cl-fad::copy-file image-file new-file :overwrite t))) - (print (cons - new-file - image-file)) - (setf image-file new-file))) - (apply #'emit-latex-command-2 - stream - "includegraphics" - (list* - :arg1 image-file - :newline newline - (when width `(:options ,(format nil "width=~A" width)))))))) - -(defparameter *default-figure-placement* "tbp") - -(defmethod emit-latex-gf (stream - (type (eql :figure)) - children - &key - (newline t) - (placement *default-figure-placement*)) - (declare (ignorable newline)) - (ch-util::with-keyword-args (((placement placement) - (increment-counter t) - (subfigure-start 0) - label) children) - children - (emit-latex-command-3 stream "begin" "figure" :options placement :newline nil) - (when subfigure-start - (let ((subfigure-start (if (numberp subfigure-start) - subfigure-start - (parse-integer subfigure-start)))) - (when (plusp subfigure-start) - (list (emit-latex-command-2 stream "addtocounter" - :arg1 "subfigure" - :arg2 subfigure-start - :newline nil))))) - (dolist (p children) - (emit-latex stream p :newline nil)) - (when label - (emit-latex-command stream "label" label :newline t)) - (emit-latex-command stream "end" "figure") - (when (or (not increment-counter) - (eql increment-counter :nil)) - (list (emit-latex-command-2 stream "addtocounter" :arg1 "figure" :arg2 "-1" :newline nil))))) - -(defmethod emit-latex-gf (stream - (type (eql :figure*)) - children - &key - (newline t) - (placement *default-figure-placement*)) - (declare (ignorable newline)) - (ch-util::with-keyword-args (((placement placement) label) children) - children - (emit-latex-command-3 stream "begin" "figure*" :options placement :newline nil) - (dolist (p children) - (emit-latex stream p :newline nil)) - (when label - (emit-latex-command stream "label" label :newline t)) - (emit-latex-command stream "end" "figure*"))) - -(defmethod emit-latex-gf (stream (type (eql :subfigure)) children &key (newline nil)) - (ch-util::with-keyword-args ((caption (increment-counter t)) children) - children - (when caption - (setf caption (emit-children-to-string caption))) - (apply #'concatenate 'string - (apply #'emit-latex-command - stream "subfigure" - children - (append - (when caption `(:options ,caption)) - `(:newline ,newline))) - (unless (or caption increment-counter) - (list (emit-latex-command-2 stream "addtocounter" :arg1 "subfigure" :arg2 "-1" :newline nil)))))) - -(defmethod emit-latex-gf (stream (type (eql :document-element)) children &key (newline t)) - (destructuring-bind (element &rest rest) children - (emit-latex-command-3 stream "begin" element :newline newline) - (dolist (p rest) - (emit-latex stream p :newline nil)) - (when (string-equal element "abstract") - (cond ((equal *document-class* "ucthesis") - (emit-latex-command stream "abstractsignature" nil)))) - (emit-latex-command stream "end" element))) - -(defmethod emit-latex-gf (stream (type (eql :document-command)) children &key (newline t)) - (destructuring-bind (element &rest rest) children - (emit-latex-command-6 stream element rest :newline newline))) - -;;; "scicite" "pslatex" "times" "epsfig" "graphs" "newcent" - -(defun include-contents-of-file-file (stream file) - (emit-latex stream (ch-util::contents-of-file file))) - -(defun latex-document-format (stream) - (dolist (package *latex-packages*) - (if (consp package) - (emit-latex-command-2 stream "usepackage" :options (cdr package) :arg1 (car package)) - (emit-latex-command stream "usepackage" package))) - (loop for (param . val) in *document-format-parameters* - do (emit-latex-parameter stream param val)) - (dolist (command *document-latex-commands*) - (emit-latex stream command))) - -(defun latex-document (stream sexp &key (options *document-options*) (class *document-class*)) - (emit-latex-command-2 stream "documentclass" - :options (format nil "~{~A~^,~}" options) :arg1 class :newline t) - (unless (equal *document-class* "llncs") - (emit-latex-command-2 stream "setcounter" - :arg1 "secnumdepth" - :arg2 *section-numbering-depth* :newline t)) - (latex-document-format stream) - - (when *document-title* - (emit-latex-command stream "title" (list *document-title*))) - (when *document-titlerunning* - (emit-latex-command stream "titlerunning" (list *document-titlerunning*))) - (when (and *document-subtitle* - (equal *document-class* "beamer")) - (emit-latex-command stream "subtitle" (list *document-subtitle*))) - (when *document-author* - (emit-latex-command stream "author" (list *document-author*))) - (when *document-tocauthor* - (emit-latex-command stream "tocauthor" (list *document-tocauthor*))) - (when *document-authorrunning* - (emit-latex-command stream "authorrunning" (list *document-authorrunning*))) - (when *document-address* - (emit-latex-command stream "address" (list *document-address*))) - (when *document-institute* - (emit-latex-command stream "institute" (list *document-institute*))) - (when *document-date* - (emit-latex-command stream "date" (list *document-date*))) - (when (equal *document-class* "ucthesis") - (when *document-degree-year* - (emit-latex-command stream "degreeyear" (list *document-degree-year*))) - (when *document-degree-semester* - (emit-latex-command stream "degreesemester" (list *document-degree-semester*))) - (when *document-degree* - (emit-latex-command stream "degree" (list *document-degree*))) - (when *document-chair* - (emit-latex-command stream "chair" (list *document-chair*))) - (when *document-other-members* - (emit-latex-command stream "othermembers" (list *document-other-members*))) - (when *document-number-of-members* - (emit-latex-command stream "numberofmembers" (list *document-number-of-members*))) - (when *document-prev-degrees* - (emit-latex-command stream "prevdegrees" (list *document-prev-degrees*))) - (when *document-field* - (emit-latex-command stream "field" (list *document-field*))) - (when *document-campus* - (emit-latex-command stream "campus" (list *document-campus*)))) - - (cond ((equal *document-class* "ucthesis") - (emit-latex stream - (format nil - "\\def\\dsp{\\def\\baselinestretch{~A}\\large\\normalsize}" - *baseline-stretch*) - :newline t) - (emit-latex stream "\\dsp" :newline t) - - (emit-latex stream "\\addtolength{\\headheight}{\\baselineskip}" :newline t) - #+nil - (progn - (emit-latex stream "\\lhead[\\fancyplain{}\\sl\\thepage]{\\fancyplain{}\\sl\\rightmark}" :newline t) - (emit-latex stream "\\rhead[\\fancyplain{}\\sl\\leftmark]{\\fancyplain{}\\sl\\thepage}" :newline t) - (emit-latex stream "\\lhead[\\fancyplain{}\\bfseries\\thepage]{\\fancyplain{}\\bfseries\\rightmark}" :newline t) - (emit-latex stream "\\rhead[\\fancyplain{}\\bfseries\\leftmark]{\\fancyplain{}\\bfseries\\thepage}" :newline t)) - (progn (emit-latex stream "\\lhead[\\fancyplain{}{}]{\\fancyplain{}{\\bfseries\\leftmark}}" :newline t) - (emit-latex stream "\\rhead[\\fancyplain{}{}]{\\fancyplain{\\bfseries\\thepage}{\\bfseries\\thepage}}" :newline t)) - (emit-latex stream "\\hyphenpenalty=1000" :newline t) - (emit-latex stream "\\clubpenalty=500" :newline t) - (emit-latex stream "\\widowpenalty=500" :newline t) - (princ *thesis-preamble* stream)) - ((equal *document-class* "beamer") - (princ *beamer-preamble* stream)) - ((equal *document-class* "res") - (princ *res-preamble* stream)) - ((equal *document-class* "llncs") - (princ *llncs-preamble* stream)) - ((equal *document-class* "acm_proc_article-sp") - (princ *acm-proc-article-preamble* stream)) - (t - (emit-latex stream "\\geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in}" :newline t) - (princ *article-preamble* stream))) - - (emit-latex-command stream "begin" "document") - (emit-latex-freshline stream) - - (cond ((equal *document-class* "beamer")) - ((equal *document-class* "res")) - ((equal *document-class* "acm_proc_article-sp")) - (t - (when *document-titlepage* - (emit-latex stream "\\maketitle" :newline t)))) - - (cond ((equal *document-class* "llncs")) - ((equal *document-class* "acm_proc_article-sp")) - (t - (emit-latex stream "\\let\\mypdfximage\\pdfximage" :newline t) - (emit-latex stream "\\def\\pdfximage{\\immediate\\mypdfximage}" :newline t))) - - (cond ((equal *document-class* "ucthesis") - (progn - (when *thesis-approval-page* - (emit-latex stream "\\approvalpage" :newline t)) - (emit-latex stream "\\copyrightpage" :newline t))) - ((equal *document-class* "beamer")) - ((equal *document-class* "llncs")) - ((equal *document-class* "acm_proc_article-sp")) - (t - (emit-latex stream (format nil "\\baselineskip~A" *baseline-skip*) :newline t))) - - (dolist (p sexp) - (emit-latex stream p)) - - (emit-latex-command stream "end" "document")) - -(defun latex-use-package (stream package) - (emit-latex-command stream "usepackage" package)) - -(defun latex-use-packages (stream &rest packages) - (mapcar #'(lambda (x) (latex-use-package stream x)) packages)) - -;;; Bibliography stuff - -(defun latex-cite (stream ref) - (emit-latex-command stream "cite" ref)) - -(defun latex-bibliography-style (stream style) - (emit-latex-command stream "bibliographystyle" style)) - -(defun latex-bibliography (stream bib) - (emit-latex-command stream "bibliography" bib)) - -;;; The main entry point to this stuff - -(defmethod render-as ((type (eql :latex)) sexp file) - (let ((*document-class* *document-class*) - (*document-degree-year* *document-degree-year*) - (*document-degree-semester* *document-degree-semester*) - (*document-degree* *document-degree*) - (*document-chair* *document-chair*) - (*document-other-members* *document-other-members*) - (*document-number-of-members* *document-number-of-members*) - (*document-prev-degrees* *document-prev-degrees*) - (*document-field* *document-field*) - (*document-campus* *document-campus*) - (*latex-packages* *latex-packages*) - (*document-format-parameters* *document-format-parameters*)) - (setup-headings)) - (with-open-file (stream file :direction :output :if-exists :supersede) - (latex-document stream sexp))) - - -;; the intent here is that :bibliography is a tag with no children and -;; that we should output the appropriate latex bibliography here. -(defmethod emit-latex-gf (stream (type (eql :bibliography)) children &key (newline t)) - (declare (optimize (debug 3)) (ignore newline)) - (destructuring-bind (&rest rest &key (clearpage t) &allow-other-keys) - children - (declare (ignore rest)) - (when (and clearpage (not (eql clearpage :nil))) - (emit-latex-command stream "clearpage" nil :newline t))) - (unless (member *document-class* '("beamer" "llncs") :test 'equal) - (emit-latex stream (format nil "\\baselineskip~A" "11pt") :newline t)) - (let ((style-function (bibtex-compiler:find-bibtex-style *bibtex-style*)) - (bibtex-runtime:*cite-keys* (reverse *cite-keys*)) - (bibtex-runtime:*bib-macros* *bibtex-macros*) - (bibtex-runtime:*bib-database* *bibtex-database*) - (bibtex-runtime:*bib-files* nil) - (bibtex-runtime:*bbl-output* stream)) - (funcall style-function))) - -(defmethod emit-latex-gf (stream (type (eql :table-of-contents)) children &key (newline t)) - (declare (ignore newline)) - (emit-latex stream "\\tableofcontents" :newline t)) - -(defmethod emit-latex-gf (stream (type (eql :list-of-figures)) children &key (newline t)) - (declare (ignore newline)) - (emit-latex stream "\\listoffigures" :newline t)) - -(defmethod emit-latex-gf (stream (type (eql :table-of-tables)) children &key (newline t)) - (declare (ignore newline)) - (emit-latex stream "\\listoftables" :newline t)) - - -;;; equations - -;; FIXME!!! - -(defmethod emit-latex-gf (stream (type (eql :quotation)) children &key (newline t)) - (declare (ignorable newline)) - (emit-latex-command-3 stream "begin" "quotation" :newline nil) - (dolist (p children) - (emit-latex stream p :newline nil)) - (emit-latex-command stream "end" "quotation" :newline t)) - -(defmethod emit-latex-gf (stream (type (eql :equation)) children &key (newline t)) - (declare (ignorable newline)) - (emit-latex-command-3 stream "begin" "equation" :newline nil) - (dolist (p children) - (emit-latex stream p :newline nil)) - (emit-latex-command stream "end" "equation" :newline t)) - -(defmethod emit-latex-gf (stream (type (eql :matrix)) children &key (newline t)) - (declare (ignorable newline)) - (princ "$" stream) - (emit-latex-command-3 stream "begin" "matrix" :newline nil) - (dolist (p children) - (emit-latex stream p :newline nil)) - (emit-latex-command stream "end" "matrix" :newline nil) - (princ "$" stream)) - -(defmethod emit-latex-gf (stream (type (eql :bmatrix)) children &key (newline t)) - (declare (ignorable newline)) - (princ "$" stream) - (emit-latex-command-3 stream "begin" "bmatrix" :newline nil) - (dolist (p children) - (emit-latex stream p :newline nil)) - (emit-latex-command stream "end" "bmatrix" :newline nil) - (princ "$" stream)) - -;;; tables - -(defmethod emit-latex-gf (stream (type (eql :table)) children &key newline) - (destructuring-bind ((&key cols - top-line) (&rest children)) - (apply #'ch-util::remove-keywordish-args '(:cols - :top-line) children) - (emit-latex-command-3 stream "begin" "tabular" :arg1 cols) - (when top-line - (emit-latex stream (format nil "\\hline~%"))) - (loop for c in children collect - (emit-latex stream c)) - (emit-latex-command-3 stream "end" "tabular") - (when newline (emit-latex-newline stream)))) - -(defun emit-table-row (stream children &key (newline t)) - (emit-latex stream (format nil "~{~A~^ & ~}\\\\" - (mapcar #'(lambda (x) - (emit-latex nil x)) - children)) :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :longtable)) children &key newline) - (destructuring-bind ((&key cols - top-line - heading - caption - (first-heading heading) - (first-caption caption) - (font-size "small")) (&rest children)) - (apply #'ch-util::remove-keywordish-args '(:cols - :top-line - :heading - :caption - :first-heading - :first-caption - :font-size) children) - - (single-space stream) - (with-latex-block font-size - stream - (emit-latex-command-3 stream "begin" "longtable" :arg1 cols) - - (when first-caption - (destructuring-bind (first-caption) - first-caption - (emit-latex-command stream "caption" first-caption :newline nil) - (emit-latex stream "\\\\" :newline t))) - - (when top-line - (emit-latex stream "\\hline" :newline t)) - - (when first-heading - (emit-table-row stream (car first-heading)) - (loop for c in (cdr first-heading) - do (emit-latex stream c))) - (emit-latex stream "\\endfirsthead" :newline t) - - (when caption - (destructuring-bind (caption) - caption - (emit-latex-command stream "caption" caption :newline nil) - (emit-latex stream "\\\\" :newline t))) - - (when top-line - (emit-latex stream "\\hline" :newline t)) - - (when heading - (emit-table-row stream (car heading)) - (loop for c in (cdr heading) - do (emit-latex stream c))) - (emit-latex stream "\\endhead" :newline t) - - (loop for c in children collect - (emit-latex stream c)) - (emit-latex-command-3 stream "end" "longtable") - (when newline (emit-latex-newline stream))) - (default-space stream))) - -(defmethod emit-latex-gf (stream (type (eql :table-row)) children &key (newline t)) - (destructuring-bind ((&key multicolumn (spec "|c|")) (&rest children)) - (apply #'ch-util::remove-keywordish-args '(:multicolumn :spec) children) - (if multicolumn - (progn (apply #'emit-latex-command-3 stream "multicolumn" multicolumn - :arg1 spec - :newline nil - :arg2 (mapcar #'(lambda (x) - (emit-latex nil x)) - children)) - (emit-latex stream "\\\\" :newline newline)) - (emit-latex stream (format nil "~{~A~^ & ~}\\\\" - (mapcar #'(lambda (x) - (emit-latex nil x)) - children)) :newline newline)))) - -(defmethod emit-latex-gf (stream (type (eql :horizontal-line)) children &key (newline t)) - (emit-latex stream "\\hline" :newline newline)) - -;;; -;;; -;;; beamer stuff -(defmethod emit-latex-gf (stream (type (eql :slide)) children &key (newline t)) - (ch-util::with-keyword-args ((slide-title) children) - children - (emit-latex-command-2 stream "frame") - (format stream "{") - (when slide-title (emit-latex-command-2 stream "frametitle" :arg1 slide-title)) - (loop for c in children do (emit-latex stream c)) - (format stream "}") - (when newline - (emit-latex-newline stream)))) - -(defmethod emit-latex-gf (stream (type (eql :title-page)) children &key (newline t)) - (declare (ignore newline)) - (emit-latex-command-2 stream "titlepage")) - -(defmethod emit-latex-gf (stream (type (eql :table-of-contents)) children &key (newline t)) - (declare (ignore newline)) - (emit-latex-command-2 stream "tableofcontents")) - -(defmethod emit-latex-gf (stream (type (eql :list)) children &key (newline t)) - (emit-latex-command stream "begin" '("itemize") :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("itemize") :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :item)) children &key (newline t)) - (declare (ignore newline)) - (emit-latex-command-2 stream "item " :newline nil) - (loop for c in children do (emit-latex stream c))) - -(defmethod emit-latex-gf (stream (type (eql :colorbox)) children &key (newline nil)) - (ch-util::with-keyword-args (((color "white")) children) - children - (emit-latex-command-6 stream "colorbox" children :arg color :newline newline))) - -;;; columns for beamer -(defmethod emit-latex-gf (stream (type (eql :columns)) children &key (newline t)) - (ch-util::with-keyword-args ((format) children) - children - (emit-latex-command-5 stream "begin" :arg1 "columns" :arg2 format :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("columns") :newline newline))) - -(defmethod emit-latex-gf (stream (type (eql :column)) children &key (newline t)) - (ch-util::with-keyword-args ((width) children) - children - (emit-latex-command-2 stream "begin" :arg1 "column" :arg2 (format nil "~A\\textwidth" width) :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("column") :newline newline))) - -;;; minipage (for use with captions) - - -(defmethod emit-latex-gf (stream (type (eql :minipage)) children &key (newline t)) - (ch-util::with-keyword-args (((width "0.5")) children) - children - (emit-latex-command-5 stream "begin" :arg1 "minipage" :arg2 "t" - :arg3 (format nil "~A\\linewidth" width) :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("minipage") :newline newline))) - - -;;; resume stuff - -(defmethod emit-latex-gf (stream (type (eql :name)) children &key (newline nil)) - (emit-latex-command stream "name" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :employer)) children &key (newline nil)) - (emit-latex-command stream "employer" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :position-title)) children &key (newline nil)) - (emit-latex-command stream "title" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :dates)) children &key (newline nil)) - (emit-latex-command stream "dates" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :location)) children &key (newline nil)) - (emit-latex-command stream "location" children :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :position)) children &key (newline t)) - (emit-latex-command stream "begin" '("position") :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("position") :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :resume)) children &key (newline t)) - (emit-latex-command stream "begin" '("resume") :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("resume") :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :list1)) children &key (newline t)) - (emit-latex-command stream "begin" '("list1") :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("list1") :newline newline)) - -(defmethod emit-latex-gf (stream (type (eql :list2)) children &key (newline t)) - (emit-latex-command stream "begin" '("list2") :newline newline) - (loop for c in children do (emit-latex stream c)) - (emit-latex-command stream "end" '("list2") :newline newline)) - diff --git a/external/smarkup/src/parameters.cl b/external/smarkup/src/parameters.cl deleted file mode 100644 index 1497eb9..0000000 --- a/external/smarkup/src/parameters.cl +++ /dev/null @@ -1,29 +0,0 @@ - -(in-package :smarkup) - -(defparameter *copyright* "2006, Cyrus Harmon") - -(defparameter *document-title* nil) -(defparameter *document-titlerunning* nil) -(defparameter *document-subtitle* nil) -(defparameter *document-titlepage* t) -(defparameter *document-author* nil) -(defparameter *document-tocauthor* nil) -(defparameter *document-authorrunning* nil) -(defparameter *document-address* nil) -(defparameter *document-institute* nil) -(defparameter *document-date* nil) -(defparameter *document-css-stylesheet* nil) - -(defparameter *document-thesis* nil) -(defparameter *document-degree-year* nil) -(defparameter *document-degree-semester* nil) -(defparameter *document-degree* nil) -(defparameter *document-chair* nil) -(defparameter *document-other-members* nil) -(defparameter *document-number-of-members* nil) -(defparameter *document-prev-degrees* nil) -(defparameter *document-field* nil) -(defparameter *document-campus* nil) - -(defparameter *document-render-type* nil) diff --git a/external/smarkup/src/quote-reader-macro.cl b/external/smarkup/src/quote-reader-macro.cl deleted file mode 100644 index fc488d6..0000000 --- a/external/smarkup/src/quote-reader-macro.cl +++ /dev/null @@ -1,29 +0,0 @@ - -(in-package #:smarkup) - -;;; quote macro reader - -(defun get-delimiter (char) - (case char - (#\{ #\}) - (#\( #\)) - (#\[ #\]) - (#\< #\>) - (t char))) - -(defun enable-quote-reader-macro () - (set-dispatch-macro-character - #\# #\q - #'(lambda (in c n) - (declare (ignore c n)) - (let ((delimiter (get-delimiter (read-char in)))) - (let ((string (make-array '(0) :element-type 'character - :fill-pointer 0 :adjustable t))) - (with-output-to-string (string-stream string) - (loop for char = (read-char in nil) - while (and char (not (char-equal char delimiter))) - do - (princ char string-stream))) - string))))) - - diff --git a/external/smarkup/src/smarkup-asdf.cl b/external/smarkup/src/smarkup-asdf.cl deleted file mode 100644 index 31ab49b..0000000 --- a/external/smarkup/src/smarkup-asdf.cl +++ /dev/null @@ -1,91 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: smarkup-asdf.cl -;;; author: cyrus harmon -;;; - -;;; -;;; smarkup ASDF classes and methods for various component types -;;; and operations on them - -(in-package :smarkup) - -(defclass filtered-object (ch-asdf:object-from-variable) - ((filters :accessor object-filters :initarg :filters))) - -(defmethod perform ((op compile-op) (c filtered-object)) - (call-next-method) - (setf (symbol-value (ch-asdf::object-symbol c)) - (apply-filters - (symbol-value (ch-asdf::object-symbol c)) - (object-filters c)))) - -(defmethod component-relative-pathname ((component filtered-object))) - -(defmethod component-pathname ((component filtered-object))) - -(defparameter *pdflatex-program* "pdflatex") -(defparameter *pdflatex-program-path* - (let ((found (sb-ext:find-executable-in-search-path - *pdflatex-program*))) - (unless found - (setf found - #+darwin "/opt/local/bin/pdflatex" - #-darwin "/usr/local/bin/pdflatex")) - found)) - -(defclass object-latex-file (ch-asdf:object-from-variable generated-file) ()) - -(defmethod perform ((op ch-asdf::generate-op) (c object-latex-file)) - (call-next-method) - (render-as :latex - (symbol-value (ch-asdf::object-symbol c)) - (component-pathname c))) - -(defmethod perform ((operation compile-op) (c object-latex-file)) - (with-component-directory (c) - (let ((unix-path (ch-util::unix-name (component-pathname c)))) - (ch-util::run-program *pdflatex-program-path* - (list unix-path)) - ;; we have to do this twice to get the references right! - ;; maybe 3x? - (ch-util::run-program *pdflatex-program-path* - (list unix-path))))) - -(defmethod operation-done-p ((o ch-asdf::generate-op) (c object-latex-file)) - (declare (optimize (debug 3))) - (let ((on-disk-time - (file-write-date (component-pathname c))) - (obj (asdf::find-component - (asdf::component-parent c) - (asdf::coerce-name (ch-asdf::object-input-object c))))) - - (let ((obj-date (asdf::component-property obj 'ch-asdf::last-loaded))) - (and on-disk-time - obj-date - (>= on-disk-time obj-date))))) - -(defclass object-xhtml-file (ch-asdf:object-from-variable source-file) ()) - -(defmethod perform ((op compile-op) (c object-xhtml-file)) - (call-next-method) - (let ((sexp (symbol-value (ch-asdf::object-symbol c))) - (file (component-pathname c))) - (render-as :xhtml sexp file))) - -(defmethod perform ((op load-op) (c object-xhtml-file)) - (call-next-method) - (ch-util::firefox-open (ch-util::unix-name (component-pathname c)))) - -(defclass object-cl-pdf-file (ch-asdf:object-from-variable pdf-file) ()) - -(defmethod perform ((op compile-op) (c object-cl-pdf-file)) - (call-next-method) - (let ((sexp (symbol-value (ch-asdf::object-symbol c))) - (file (component-pathname c))) - (render-as :cl-pdf sexp file))) - -(defmethod perform ((op load-op) (c object-cl-pdf-file)) - (call-next-method) - (ch-util::app-open (unix-name (component-pathname c)))) - diff --git a/external/smarkup/src/smarkup.cl b/external/smarkup/src/smarkup.cl deleted file mode 100644 index 498fb6e..0000000 --- a/external/smarkup/src/smarkup.cl +++ /dev/null @@ -1,139 +0,0 @@ -;;; -*- Mode: lisp; outline-regexp: ";;;;;*"; indent-tabs-mode: nil -*-;;; -;;; -;;; file: smarkup-asdf.cl -;;; author: cyrus harmon -;;; - -;;; miscellaneous functions - -(in-package #:smarkup) - -(defgeneric render-as (type sexp file)) - -(defun remove-from-plist (plist &rest keys) - (cond ((eql (length keys) 1) - (loop for (x y) on plist by #'cddr - append (unless (eql x (car keys)) - (list x y)))) - ((> (length keys) 1) - (reduce (lambda (&optional plist x) - (when x (remove-from-plist plist x))) - (cons plist keys))))) - -(defun remove-pair-from-list (list key) - (let ((pos (position key list))) - (if pos - (append (subseq list 0 pos) - (subseq list (+ pos 2)))))) - -(defun find-file-for-types (default-file types) - (loop for type in types - do (let ((path (merge-pathnames (make-pathname :type type) default-file))) - (when (probe-file path) - (return path))))) - -(defparameter *images-per-line* 5) -(defparameter *images-per-page* 30) - -(defun multi-line-figure (image-sequence - caption - &key - label - (start 0) - (end) - (images-per-line *images-per-line*) - (width "1.1in")) - (let* ((image-sequence - (mapcan #'(lambda (x) - (when x (list x))) - image-sequence)) - (end (or end (1- (length image-sequence))))) - (when (some #'identity image-sequence) - `(:figure - ,@(when label `(:label ,label)) - (:centering - ,@(loop for i from start to end by images-per-line - collect - `(:subfigure - ,@(loop - for j from i to (min (+ i images-per-line -1) end) - collect - (let ((img (elt image-sequence j))) - `(:image ,(namestring img) - :width ,width)))))) - ,(when caption `(:caption ,@(if (listp caption) caption (list caption)))))))) - - -(defun multi-multi-line-figure (image-sequence - &key - caption - (first-caption caption) - (start 0) - (end) - (images-per-line *images-per-line*) - (images-per-page *images-per-page*) - (width "1in")) - (let* ((image-sequence - (mapcan #'(lambda (x) - (when x (list x))) - image-sequence)) - (end (or end (1- (length image-sequence))))) - `(:span - ,@(loop for i from start to end by images-per-page - collect - (multi-line-figure image-sequence (if (= i start) - first-caption - caption) - :start i :end (min (+ i images-per-page -1) end) - :images-per-line images-per-line - :width width))))) - - -#+nil -(defun multi-line-subfigure (image-sequence - &key - caption - (start 0) - (end (1- (length image-sequence))) - (images-per-line *images-per-line*) - (width "1in")) - (when (some #'identity image-sequence) - `(:subfigure - ,@(loop for i from start to end by images-per-line - append - (append - (loop - for j from i to (min (+ i images-per-line -1) end) - collect - (let ((img (elt image-sequence j))) - `(:image ,(namestring img) - :width ,width))) - `((:p) - (:p)))) - ,@(when caption `(:caption ,caption))))) - -(defun multi-line-subfigure (image-sequence - &key - caption - (start 0) - (end (1- (length image-sequence))) - (images-per-line *images-per-line*) - increment-counter - (width "1in")) - (when (some #'identity image-sequence) - (append - (loop for i from start to end by images-per-line - collect - (cons - :subfigure - (append - (loop - for j from i to (min (+ i images-per-line -1) end) - collect - (let ((img (elt image-sequence j))) - `(:image ,(namestring img) - :width ,width))) - (if (and caption (> (+ i images-per-line) end)) - `(:caption ,caption) - (unless increment-counter - `(:increment-counter nil))))))))) \ No newline at end of file diff --git a/external/smarkup/src/typesetting.cl b/external/smarkup/src/typesetting.cl deleted file mode 100644 index d311968..0000000 --- a/external/smarkup/src/typesetting.cl +++ /dev/null @@ -1,183 +0,0 @@ -;; -;; Copyright (c) 2007, Cyrus Harmon -;; -;; typesetting.cl - cl-typesettng/cl-pdf output for smarkup -;; - -(in-package :smarkup) - -(in-package :tt) - -(defmacro with-paragraph (style-designator &body body) - (with-gensyms (top-margin bottom-margin first-line-indent - style new-style restore-style first-indent) - `(let* ((,style ,style-designator) - (,top-margin (getf ,style :top-margin 0)) - (,bottom-margin (getf ,style :bottom-margin 0)) - (,first-line-indent (getf ,style :first-line-indent 0)) - (,new-style (typecase ,style - (text-style ,style) - (t (apply #'make-instance 'text-style ,style)))) - (,restore-style (make-restore-style ,new-style)) - (,first-indent ,first-line-indent)) - (add-box ,new-style) - (use-style ,new-style) - (add-box (make-instance 'v-spacing :dy ,top-margin)) - (unless (zerop ,first-indent) - (add-box (make-instance 'h-spacing :dx ,first-indent))) - ,@(mapcar 'insert-stuff body) - (unless (eq (first (boxes-tail *content*)) :eol) - (add-box :eol)) - (add-box (make-instance 'v-spacing :dy ,bottom-margin)) - (add-box ,restore-style) - (use-style ,restore-style)))) - -(in-package :smarkup) - -(defgeneric %render-elt (tag contents)) - -(defun render-elts (sexp) - (loop for s in sexp - do (render-elt s))) - -(defun put-smarkup-string (string) - (tt:put-string - (macrolet ((match-second-char (c1 c2 out-char) - `(let ((n (peek-char nil in nil nil))) - (if (eql n ,c2) - (progn - (read-char in) - (write-char ,out-char out)) - (write-char ,c1 out))))) - (with-output-to-string (out) - (with-input-from-string (in string) - (loop for c = (read-char in nil nil) while c - do - (cond ((eql c #\~) - (write-char #\No-Break_Space out)) - ((eql c #\.) - (match-second-char #\. #\\ #\Space)) - ((eql c #\`) - (match-second-char #\` #\` (code-char #x93))) - ((eql c #\') - (match-second-char #\' #\' (code-char #x94))) - ((eql c #\-) - (match-second-char #\- #\- (code-char #x97))) - (t (write-char c out))))))))) - -(defun render-elt (elt) - #+nil (print (car elt)) - (cond ((stringp elt) - (put-smarkup-string elt)) - ((stringp (car elt)) - (put-smarkup-string (car elt)) - (render-elt (cdr elt))) - #+nil ((and elt (atom elt)) - elt) - ((atom (car elt)) - (%render-elt (car elt) - (cdr elt))) - ((listp (car elt)) - (render-elt (car elt)) - (render-elt (cdr elt))) - (t nil))) - -(defun collect-elements (contents) - (apply #'concatenate 'string (mapcar #'render-elt contents))) - -(defparameter *default-paragraph-font* - '(:h-align :justified - :font "Times-Roman" - :font-size 9.8 - :first-line-indent 18 - :bottom-margin 3)) - -(defmethod %render-elt ((tag (eql :p)) contents) - (tt::with-paragraph *default-paragraph-font* - (render-elt contents))) - -(eval-when (:compile-toplevel :load-toplevel :execute) - (defparameter *default-bold-font* - '(:font "Times-Bold"))) - -(defmacro highlight (text) - `(tt:with-style ,*default-bold-font* - ,text)) - -(defmethod %render-elt ((tag (eql :b)) contents) - (highlight - (render-elt contents))) - -(defparameter *default-h1-font* - '(:h-align :center :font "Helvetica-Bold" :font-size 14 :bottom-margin 3)) - -(defparameter *default-h2-font* - '(:font "Helvetica-Bold" :font-size 11 :bottom-margin 3 :top-margin 3)) - -(defmethod %render-elt ((tag (eql :h1)) contents) - (tt::with-paragraph *default-h1-font* - (render-elt contents))) - -(defmethod %render-elt ((tag (eql :h2)) contents) - (tt::with-paragraph *default-h2-font* - (render-elt contents))) - -(defmethod %render-elt ((tag (eql :span)) contents) - (render-elts contents)) - -(defmethod %render-elt ((tag (eql :list)) contents) - (render-elts contents)) - -(defparameter *item-decorator* - (format nil "~A " (code-char #x81))) - -(defparameter *default-item-font* - (concatenate - 'list - '(:left-margin 18) - *default-paragraph-font*)) - -(defun get-item-decorator-width () - (let ((font-size (or (getf *default-item-font* :font-size) - tt::*font-size*))) - (let* ((item-font (getf *default-item-font* :font)) - (font (if item-font - (pdf:get-font item-font) - tt::*font*))) - (loop for char across *item-decorator* - summing (pdf:get-char-width char font font-size))))) - -(setf (getf *default-item-font* :first-line-indent) - (- (get-item-decorator-width))) - -(defmethod %render-elt ((tag (eql :item)) contents) - (tt::with-paragraph *default-item-font* - (tt:put-string *item-decorator*) - (render-elt contents))) - -(defmethod %render-elt (tag contents) - (when contents (render-elt (cdr contents)))) - -(defmethod %render-elt ((tag (eql :eol)) contents) - (tt:new-line) - (when contents (render-elt contents))) - -(defparameter *pdf-header-function* nil) - -(defmethod render-as ((type (eql :cl-pdf)) sexp file) - (setq nix::*left-hyphen-minimum* 999 - nix::*right-hyphen-minimum* 999) - (tt:with-document () - (let ((content - (tt::with-text-content ((make-instance 'tt::text-content) :dont-save-style t) - (tt::add-box (tt::copy-style (tt::text-style tt::*content*))) - (render-elts sexp) - tt::*content*))) - (apply #'tt:draw-pages - content - :size :letter - :margins '(72 72 72 72) - (when *pdf-header-function* - `(:header ,(funcall *pdf-header-function*)))) - (when pdf:*page* (typeset:finalize-page pdf:*page*)) - (tt:write-document file)))) diff --git a/external/smarkup/src/xhtml-render.cl b/external/smarkup/src/xhtml-render.cl deleted file mode 100644 index 9011ac2..0000000 --- a/external/smarkup/src/xhtml-render.cl +++ /dev/null @@ -1,249 +0,0 @@ - -(in-package :smarkup) - -(eval-when (:compile-toplevel) - #.(enable-quote-reader-macro)) - -(defparameter *xhtml-header* - #q{ -}) - -(defparameter *html-element-transformation* - `((:bibcite . html-citation) - (:bibliography . html-bibliography) - (:image . htmlize-image) - (:url . htmlize-url) - (:href . htmlize-href) - (:h1 . htmlize-header) - (:h2 . htmlize-header) - (:h3 . htmlize-header) - (:h4 . htmlize-header) - (:example . :pre) - (:sidebarhead . (:div :class "sidebarhead")) - (:sidebar . (:div :class "sidebar")) - (:note . (:div :class "note")) - (:note-ref . :sup) - (:bullets . :ul) - (:list . :ul) - (:item . :li) - (:results . (:code :class "results")) - (:figure . (:table :class "figure")) - (:figure* . (:table :class "figure")) - (:subfigure . (:div :class "subfigure")))) - - -;;; TODO! Fix html-citation and add the other html tag filter functions! - - -(defun html-citation (tag body) - (declare (ignore tag)) - `(:span - ,@(loop for ref in body - collect - (let ((refnum (get-bib-order ref))) - `((:a :href - ,(format nil "#ref~A" refnum)) - ,(format nil "[~A]" refnum)))))) - -(defun cite-text (cite) - (let ((cite-hash (gethash cite *bibtex-database*))) - (format nil "~@[~A. ~]~@[~A ~]~@[~A ~]~@[~A ~]~@[~A ~]~@[(~A).~]" - (gethash "author" cite-hash) - (gethash "title" cite-hash) - (gethash "journal" cite-hash) - (gethash "volume" cite-hash) - (gethash "number" cite-hash) - (gethash "year" cite-hash)))) - -(defun citation-string (cite) - (let ((refnum (get-bib-order cite))) - `((:a :name - ,(format nil "ref~A" refnum)) - ,(format nil "~A. ~A" - refnum - (cite-text cite))))) - -(defun html-bibliography (tag body) - (declare (ignore tag body)) - `(:div - (:h1 "References") - ,@(loop for cite in (reverse *cite-keys*) - collect `(:p ,(citation-string cite))))) - -(defun htmlize-image (tag body) - (declare (ignore tag)) - (destructuring-bind (src &key width types) body - (declare (ignore width)) - (when types - (let ((src2 (find-file-for-types src types))) - (when src2 (setf src (enough-namestring src2))))) - `((:img :src ,src)))) - -(defun htmlize-url (tag body) - (declare (ignore tag)) - `(:a :href ,@body ,@body)) - -(defun htmlize-href (tag body) - (declare (ignore tag)) - (destructuring-bind ((hreftag href) (texttag text)) body - (declare (ignore hreftag texttag)) - `(:a :href ,href ,text))) - -(defun htmlize-header (tag body) - (destructuring-bind (heading &rest rest &key clearpage no-number &allow-other-keys) body - (declare (ignore clearpage no-number)) - `(,tag ,@(cons heading (remove-from-plist rest :clearpage :no-number))))) - -(defun transform-sexp (sexp) - (if (and (listp sexp) (car sexp)) - (let ((xfrm (cdr (assoc (car sexp) *html-element-transformation*)))) - (cond ((null xfrm) sexp) - ((and (symbolp xfrm) (fboundp xfrm)) - (funcall (symbol-function xfrm) (car sexp) (cdr sexp))) - (t (setf (car sexp) xfrm) - sexp))) - sexp)) - - -;;; -;;; * input is a list of S-expressions, of the form: -;;; (tag &rest content) -;;; * tag can be either a keyword (like :p) -;;; or a list (like (:a :href "http://myurl.com")) - -(defun keyword-to-string (keyword) - (string-downcase (symbol-name keyword))) - -(defun attributes-to-list (attr) - (loop for (attr val) on attr by #'cddr - collect (list (if (keywordp attr) - (keyword-to-string attr) - attr) - val))) - -;;; return multiple-values tag, list of attrs -(defun parse-tag (tag) - (let ((tag (transform-sexp tag))) - (cond ((atom tag) - (when (keywordp tag) - (keyword-to-string tag))) -;;; need to check if (car tag) is a list. Handle three cases, atom, (list ...), ((list) list) - ((and (listp tag) (atom (car tag))) - (values (parse-tag (car tag)) - (attributes-to-list (cdr tag)))) - (t (values (parse-tag (car tag)) - (attributes-to-list (cdr tag))))))) - - - -(eval-when (:compile-toplevel :load-toplevel :execute) - - (defparameter *xml-char-map* - (ch-util::make-hash-table-from-alist - '((#\< . "<") - (#\> . ">") - (#\& . "&") - (#\No-Break_Space . " ") - (#\LEFT_DOUBLE_QUOTATION_MARK . "“") - (#\RIGHT_DOUBLE_QUOTATION_MARK . "”") - (#\EM_DASH . "—") - (:eol . #\Space)))) - - (defun get-xml-char (c) - (let ((xc (gethash c *xml-char-map*))) - (if xc xc c)))) - -(defun render-text (out text) - (declare (optimize (debug 3))) - (macrolet ((match-second-char (c1 c2 out-char) - `(let ((n (peek-char nil in nil nil))) - (if (eql n ,c2) - (progn - (read-char in) - (princ ,(get-xml-char out-char) out)) - (princ ,(get-xml-char c1) out))))) - (cond ((stringp text) - (with-input-from-string (in text) - (loop for c = (read-char in nil nil) while c - do - (cond ((eql c #\~) - (princ (get-xml-char #\No-Break_Space) out)) - ((eql c #\.) - (match-second-char #\. #\\ #\Space)) - ((eql c #\`) - (match-second-char #\` #\` #\LEFT_DOUBLE_QUOTATION_MARK)) - ((eql c #\') - (match-second-char #\' #\' #\RIGHT_DOUBLE_QUOTATION_MARK)) - ((eql c #\-) - (match-second-char #\- #\- #\EM_DASH)) - (t (princ (get-xml-char c) out)))))) - (t (princ (get-xml-char text) out))))) - -(defun render-content (stream content) - (loop for s in content - do (render-sexp stream s))) - -(defparameter *indent-level* 0) - -(defun render-element-tag (stream tag attributes) - (format stream "<~A~{~^ ~{~A=~S~^ ~}~}/>" tag attributes)) - -(defun render-element-open-tag (stream tag attributes) - (format stream "<~A~{~^ ~{~A=~S~^ ~}~}>" tag attributes) - (incf *indent-level*)) - -(defun render-element-close-tag (stream tag) - (format stream "~&" tag) - (decf *indent-level*)) - -(defun render-element (stream element content) - (when element - (multiple-value-bind (parsed-tag attributes) - (parse-tag element) - (if parsed-tag - (progn - (if content - (progn - (render-element-open-tag stream parsed-tag attributes) - (render-content stream content) - (render-element-close-tag stream parsed-tag)) - (render-element-tag stream parsed-tag attributes))) - (progn - (render-text stream element) - (when content - (render-sexp stream content))))))) - -(defun render-sexp (stream sexp) - (declare (optimize (debug 3))) - (cond ((null sexp) nil) - ((atom sexp) - (render-text stream sexp)) - (t - (let ((xfrm-sexp (transform-sexp sexp))) - (render-element stream (car xfrm-sexp) (cdr xfrm-sexp)))))) - -(defun render-sexp-to-string (sexp) - (with-output-to-string (string) - (render-sexp string sexp))) - -(defmethod render-as ((type (eql :xhtml)) sexp file) - (let ((*document-render-type* :xhtml)) - (setf *indent-level* 0) - (with-open-file (out file - :direction :output - :if-does-not-exist :create - :if-exists :supersede) - (write-sequence *xhtml-header* out) - (render-content out - `(((:html :xmlns "http://www.w3.org/1999/xhtml" "xml:lang" "en" :lang "en") - (:head - ,(when *document-title* - `(:title ,*document-title*)) - ,(when *html-css-stylesheet-url* - `((:link :rel "stylesheet" :type "text/css" - :href ,*html-css-stylesheet-url*)))) - (:body ,@sexp))))))) - - diff --git a/external/smarkup/test/defpackage.cl b/external/smarkup/test/defpackage.cl deleted file mode 100644 index 945e33f..0000000 --- a/external/smarkup/test/defpackage.cl +++ /dev/null @@ -1,7 +0,0 @@ - -(in-package #:cl-user) - -(defpackage #:smarkup-test - (:use #:cl #:asdf #:ch-asdf #:smarkup) - (:export #:test-xhtml-file)) - diff --git a/external/smarkup/test/sample.bib b/external/smarkup/test/sample.bib deleted file mode 100644 index be49278..0000000 --- a/external/smarkup/test/sample.bib +++ /dev/null @@ -1,30 +0,0 @@ - -@ARTICLE{rubin2000brief, - author = {G. M. Rubin and E. B. Lewis}, - title = {A brief history of Drosophila's contributions to genome research.}, - journal = {Science}, - year = {2000}, - volume = {287}, - pages = {2216--2218}, - number = {5461}, - month = {Mar}, - abstract = {The sequence of the Drosophila melanogaster genome presented in this - issue of Science is the latest milestone in nine decades of research - on this organism. Genetic and physical mapping, whole-genome mutational - screens, and functional alteration of the genome by gene transfer - were pioneered in metazoans with the use of this small fruit fly. - Here we look at some of the instances in which work on Drosophila - has led to major conceptual or technical breakthroughs in our understanding - of animal genomes.}, - keywords = {Animals; Animals, Genetically Modified; Chromosome Mapping; Cloning, - Molecular; Computational Biology; Drosophila melanogaster; Genes, - Insect; Genetics; Genome; History, 20th Century; Mutation; Nobel - Prize; Physical Chromosome Mapping; Portraits; Recombination, Genetic; - Research Support, U.S. Gov't, P.H.S.; Sequence Analysis, DNA}, - owner = {sly}, - pdf = {journal/Science/rubin2000brief.pdf}, - pii = {8370}, - pmid = {10731135}, - timestamp = {2006.08.07} -} - diff --git a/external/smarkup/test/sample.sexp b/external/smarkup/test/sample.sexp deleted file mode 100644 index aa69027..0000000 --- a/external/smarkup/test/sample.sexp +++ /dev/null @@ -1,17 +0,0 @@ -((:p - (:smarkup-metadata - (:copyright - "Copyright 2006, Cyrus Harmon. See LICENSE file.") - (:title "A Sample Document") - (:author "Cyrus L. Harmon") - (:bibtex-database - "(\"asdf:/smarkup-test/test/sample-bib\")") - (:bibtex-style "Science")) - (:html-metadata (:htmlcss "simple.css"))) - - (:h1 "Testing") - - (:p "This is a sample file. It has a " (:bibcite "rubin2000brief") " reference. Neat") - - (:bibliography)) - diff --git a/external/smarkup/test/smarkup-test.cl b/external/smarkup/test/smarkup-test.cl deleted file mode 100644 index 4c2b2c1..0000000 --- a/external/smarkup/test/smarkup-test.cl +++ /dev/null @@ -1,13 +0,0 @@ - -(in-package #:smarkup-test) - -(defun test-xhtml-file () - (let ((smarkup-file (ch-asdf:asdf-lookup-path "asdf:/smarkup-test/test/sample-sexp")) - (xhtml-file (merge-pathnames #p"sample.xhtml" - (ch-asdf:asdf-lookup-path "asdf:/smarkup-test/test")))) - (with-open-file (stream smarkup-file) - (let ((sexp (read stream))) - (let ((filtered (smarkup::apply-filters - sexp - '(:lisp :smarkup-metadata :html-metadata :ref)))) - (smarkup::render-as :xhtml filtered xhtml-file)))))) diff --git a/external/smarkup/version.lisp-expr b/external/smarkup/version.lisp-expr deleted file mode 100644 index 02ed9ef..0000000 --- a/external/smarkup/version.lisp-expr +++ /dev/null @@ -1 +0,0 @@ -"0.3.3" -- 2.11.4.GIT