Lush Manual - Table of Content
0:
Introduction to Lush
0.0
:
What is Lush
0.1
:
A tour of the features
0.2
:
A tour of the Lush Libraries
0.3
:
Why Lisp?
0.4
:
What does LUSH stand for?
0.5
:
History of Lush
0.6
:
What is Lush good for?
1:
Getting Started with Lush: a quick tutorial
1.0
:
Installing Lush on Unix
1.1
:
starting Lush
1.2
:
Setting things up
1.3
:
Reporting Bugs and Problems
1.4
:
Getting Help and Browsing the Documentation
1.5
:
Basic Syntax
(1)
1.5.0
:
Symbol Names and Special Characters
1.6
:
Basic Types
1.7
:
defining functions
1.8
:
Loops, conditionals, local variables, and such
1.9
:
Compiling Lush functions
1.10
:
Writing Lush program files
1.11
:
On-line Documentation
1.12
:
Multiple file programs and search path
1.13
:
Calling C functions from Lush
1.14
:
Mixing Lisp and inline C code
1.15
:
Lists
1.16
:
Strings and Regular Expressions
1.17
:
Scalars, Vectors, Matrices, Tensors, and Storages
(9)
1.17.0
:
Working with Storages
1.17.1
:
Manipulating Tensors and IDX
1.17.2
:
tensor iterators
1.17.3
:
idx manipulations
1.17.4
:
simple tensor operations
1.17.5
:
operations between idx and scalars
1.17.6
:
contracting operations with scalar result
1.17.7
:
special inner and outer products
1.17.8
:
Simple Linear Algebra
1.18
:
Complex Numbers
1.19
:
Object-Oriented Lush Programming
(2)
1.19.0
:
defining a new class
1.19.1
:
inheritance
1.20
:
Input and Output
1.21
:
A quick tutorial on Lush Graphics
1.22
:
Writing Executable "Shell Scripts" with Lush
1.23
:
Writing Standalone Binary Executables with Lush
1.24
:
The Ogre GUI Toolkit
1.25
:
Using the Simple Directmedia Layer interface (SDL)
(4)
1.25.0
:
sdlidx-screen class: Mapping the content of an IDX to an SDL screen
1.25.1
:
sdl-screen class: doubled buffered animations
1.25.2
:
sdl-sprite: movable animated objects
1.25.3
:
sdlgl-screen class: OpenGL 3D graphics in SDL screens
1.26
:
Using OpenGL
2:
Lush Basics
2.0
:
Lush Interpreter Basics.
2.1
:
Lush Startup.
2.2
:
The Lush Reader.
2.3
:
The Lush Evaluator.
2.4
:
Errors in Lush.
2.5
:
Interruptions in Lush.
2.6
:
Leaving Lush.
2.7
:
Lush Memory Management.
2.8
:
Lush Libraries.
2.9
:
Lush Runtime.
3:
Core Interpreter and Startup Library
3.0
:
Lists.
(2)
3.0.0
:
List Manipulation Functions
(27)
3.0.1
:
Physical List Manipulation Functions
(8)
3.1
:
Numbers.
(6)
3.1.0
:
Elementary Numerical Functions.
(13)
3.1.1
:
Integer Arithmetic Functions.
(7)
3.1.2
:
Mathematical Numerical Functions.
(26)
3.1.3
:
Random Numbers
(3)
3.1.4
:
Constant Numbers.
(1)
3.1.5
:
Hashing
(1)
3.2
:
Booleans Operators.
(2)
3.2.0
:
Boolean Arithmetic
(14)
3.2.1
:
Predicates.
(9)
3.3
:
Symbols.
(14)
3.3.0
:
(defvar name val)
3.3.1
:
(setq
v1
a1
... [
vn
an
])
3.3.2
:
(set
v
a
)
3.3.3
:
(incr
v
[
n
])
3.3.4
:
(named
s
)
3.3.5
:
(nameof
s
)
3.3.6
:
(namedclean
s
)
3.3.7
:
(lock-symbol
s1
...
sn
)
3.3.8
:
(unlock-symbol
s1
...
sn
)
3.3.9
:
(symblist)
3.3.10
:
(oblist)
3.3.11
:
(macrochp
s
)
3.3.12
:
(putp
anything
name
value
)
3.3.13
:
(getp
anything
name
)
3.4
:
Namespaces and Packages
(2)
3.4.0
:
(private
..symbols..
)
3.4.1
:
(package
name
..expressions..
)
3.5
:
Control structures.
(26)
3.5.0
:
(eval
l1
...
ln
)
3.5.1
:
(apply
f
l
)
3.5.2
:
(quote
a
)
3.5.3
:
'
a
3.5.4
:
`
expr
,
a
,@
a
3.5.5
:
(progn
l1
...
ln
)
3.5.6
:
(prog1
l1
...
ln
)
3.5.7
:
(let ((
s1
v1
) ... (
sn
vn
))
l1
...
ln
)
3.5.8
:
(let* ((
s1
v1
) ... (
sn
vn
))
l1
...
ln
)
3.5.9
:
(let-filter ((
filter
data
))
l1
...
ln
)
3.5.10
:
(if
cond
yes
[
no1
...
non
])
3.5.11
:
(when
cond
yes1
...
yesn
)
3.5.12
:
(while
cond
l1
...
ln
)
3.5.13
:
(do-while
cond
l1
...
ln
)
3.5.14
:
(repeat
n
l1
...
ln
)
3.5.15
:
(mapwhile
cond
l1
...
ln
)
3.5.16
:
(for (
symb
start
end
[
step
])
l1
...
ln
)
3.5.17
:
(mapfor (
symb
start
end
[
step
])
l1
...
ln
)
3.5.18
:
(cond
l1
...
ln
)
3.5.19
:
(selectq
s
l1
...
ln
)
3.5.20
:
(mapc
f
l1
...
ln
)
3.5.21
:
(mapcar
f
l1
...
ln
)
3.5.22
:
(rmapc
f
l1
...
ln
)
3.5.23
:
(rmapcar
f
l1
...
ln
)
3.5.24
:
(each ((
s1
v1
) ... (
sn
vn
))
l1
...
ln
)
3.5.25
:
(all ((
s1
v1
) ... (
sn
vn
))
l1
...
ln
)
3.6
:
Functions.
(2)
3.6.0
:
Argument List.
3.6.1
:
Defining a Function.
(12)
3.7
:
Strings.
(2)
3.7.0
:
Basic String Functions
(23)
3.7.1
:
Regular Expressions (regex).
(10)
3.8
:
Storages
(4)
3.8.0
:
Storage Creation and Allocation
(9)
3.8.1
:
Storage allocation
(5)
3.8.2
:
Storage access
3.8.3
:
Miscellaneous storage functions
(7)
3.9
:
Matrices, Vectors, Tensors, Indexes and IDX
(15)
3.9.0
:
IDX Structure
3.9.1
:
IDX Creation and Allocation
(16)
3.9.2
:
IDX Literals
(1)
3.9.2.0
:
scalar literals
(8)
3.9.3
:
IDX Copying and Cloning
(4)
3.9.4
:
IDX Iterators
(6)
3.9.5
:
IDX Information
(13)
3.9.6
:
IDX Manipulations
(3)
3.9.6.0
:
Cloning manipulations
(6)
3.9.6.1
:
Compilable Direct IDX manipulations
(3)
3.9.6.2
:
Non-compilable Direct IDX manipulations
(8)
3.9.7
:
Loading/Saving
(3)
3.9.7.0
:
Loading, Saving, and Mapping Matrices.
(4)
3.9.7.1
:
Native Matrix File Formats
(2)
3.9.7.2
:
Foreign Matrix Files.
(2)
3.9.7.2.0
:
Foreign Binary Matrices.
(2)
3.9.7.2.1
:
Foreign Ascii Matrices.
(2)
3.9.8
:
Component-wise Unary Operations
(16)
3.9.9
:
Component-wise dyadic operations
(4)
3.9.10
:
Contracting Operations with Scalar Result.
(12)
3.9.11
:
Operations between tensors and scalars
(4)
3.9.12
:
Matrix/Vector and 4-Tensor/Matrix products
(4)
3.9.13
:
Outer Products
(4)
3.9.14
:
Backward Compatibility Functions
(12)
3.10
:
Objects.
(10)
3.10.0
:
Object Terminology.
3.10.1
:
Inheritance.
3.10.2
:
Predefined Classes
3.10.3
:
Defining a Class.
(8)
3.10.4
:
Creating Objects.
(5)
3.10.5
:
Accessing Slots.
(4)
3.10.6
:
Defining Methods.
(6)
3.10.7
:
Sending Messages.
(5)
3.10.8
:
Constructors and Destructors.
3.10.9
:
Predefined Methods.
(4)
3.11
:
Hash Tables.
(2)
3.11.0
:
Representing Associations with Hash Tables.
(8)
3.11.1
:
Representing Sets with Hash Tables.
(3)
3.12
:
Dates.
(16)
3.12.0
:
(date-to-day
date
)
3.12.1
:
(day-to-date
daynumber
)
3.12.2
:
(today)
3.12.3
:
(now)
3.12.4
:
(split-date
date
)
3.12.5
:
(date-type
date
)
3.12.6
:
(date-extend
date
from
to
)
3.12.7
:
(date-to-string
date
[
format
])
3.12.8
:
(string-to-date
string
[
from
to
])
3.12.9
:
(date-add-second
date
count
)
3.12.10
:
(date-add-minute
date
count
)
3.12.11
:
(date-add-hour
date
count
)
3.12.12
:
(date-add-day
date
count
)
3.12.13
:
(date-add-month
date
count
[
opt
])
3.12.14
:
(date-add-year
date
count
[
opt
])
3.12.15
:
(date-code
date
flags
)
3.13
:
Loading and Executing Lush Program Files.
(7)
3.13.0
:
(load
in
[
out
[
prompt
]])
3.13.1
:
^L
filename
3.13.2
:
(libload
libname
[
opt
])
3.13.3
:
file-being-loaded
3.13.4
:
(find-file
dirlist
filename
extlist
)
3.13.5
:
(save
f
s1
...
sn
)
3.13.6
:
(autoload
f
s1
...
sn
)
3.14
:
Lisp-Style Input / Output.
(7)
3.14.0
:
Input.
(4)
3.14.1
:
Output.
(6)
3.14.2
:
File Names.
(4)
3.14.3
:
Searched Path.
(3)
3.14.4
:
Files and Directories Management.
(10)
3.14.5
:
Files and Descriptors.
(12)
3.14.6
:
Binary I/O.
(6)
3.15
:
Miscellaneous.
(3)
3.15.0
:
Debug.
(24)
3.15.1
:
System.
(25)
3.15.2
:
Special Numerical Values (IEEE754).
(6)
3.16
:
Graphics.
(12)
3.16.0
:
Creating a Window
(2)
3.16.1
:
Drawing.
(19)
3.16.2
:
Drawing with Colors.
(10)
3.16.3
:
Drawing Text.
(6)
3.16.4
:
The Drawing Context.
(7)
3.16.5
:
Double Buffering and Synchronization.
(2)
3.16.6
:
Plotting (obsolete).
(17)
3.16.7
:
Events.
(2)
3.16.7.0
:
Graphic Event Functions.
(7)
3.16.8
:
System Specific Graphic Functions
(3)
3.16.8.0
:
Specific graphic functions for X11
(7)
3.16.8.1
:
Specific graphic functions for Windows
(8)
3.16.8.2
:
Knowing how a system dependent feature is supported.
(1)
3.16.9
:
Producing Encapsulated PostScript Files.
(4)
3.16.10
:
Graphical Utilities.
(6)
3.16.11
:
Editable Graphics with comdraw/ivtools
(6)
3.17
:
Events and Timers
(2)
3.17.0
:
Event Queue.
(10)
3.17.1
:
Timers.
(3)
3.18
:
Documentation and Help System
(2)
3.18.0
:
Using the Online Manual
(3)
3.18.1
:
Writing Documentation
(4)
3.19
:
Obsolete functions
(3)
3.19.0
:
Operations on Lists of Numbers
(12)
3.19.1
:
Statistical Functions on Lists of Numbers.
(15)
3.19.2
:
DZ.
(3)
3.19.2.0
:
Predefined DZs.
(25)
3.19.2.1
:
Compiling DZ.
(8)
4:
Ogre: Object Oriented GUI Toolkit
4.0
:
Introduction to Ogre.
4.1
:
Ogre Tutorial.
4.2
:
The Ogre Class Library.
(2)
4.2.0
:
Ogre Methods.
4.2.1
:
Ogre Class Hierarchy.
4.3
:
Ogre Utility Functions.
(4)
4.3.0
:
Initializing the Ogre library.
(2)
4.3.1
:
Error handling in the Ogre library.
4.3.2
:
Ogre Color Palette.
(13)
4.3.3
:
Ogre Fonts.
(5)
4.4
:
Visual Objects.
(4)
4.4.0
:
(new VisualObject
w
h
)
4.4.1
:
VisualObject Request Messages.
(9)
4.4.2
:
VisualObject Implementation Methods.
(8)
4.4.3
:
Event Methods.
(11)
4.5
:
Control Objects.
(6)
4.5.0
:
(new Control
w
h
f
)
4.5.1
:
Enabling or Disabling a Control Object.
(3)
4.5.2
:
Activation of a Control Object.
(1)
4.5.3
:
Appearance of a Control Object.
(2)
4.5.4
:
State of a Control Object.
(3)
4.5.5
:
Ogre Callbacks.
(3)
4.6
:
Container Objects.
(5)
4.6.0
:
(new Container
x
y
w
h
...contents...
)
4.6.1
:
Repainting.
4.6.2
:
Inserting an Removing Objects.
(3)
4.6.3
:
Geometry Management.
(3)
4.6.4
:
Control Management.
(5)
4.7
:
Container Flavors.
(3)
4.7.0
:
Forms.
(1)
4.7.1
:
Window Objects.
(4)
4.7.1.0
:
WindowObject Request Methods.
(5)
4.7.1.1
:
WindowObject Implementation Methods.
(3)
4.7.2
:
Structuring Containers
(5)
4.8
:
Buttons.
(4)
4.8.0
:
Push Buttons.
(2)
4.8.1
:
Check Boxes.
(3)
4.8.2
:
Exclusive Buttons.
(1)
4.8.3
:
File Requester Button.
(1)
4.9
:
Character String Objects.
(5)
4.9.0
:
Fixed Strings.
(1)
4.9.1
:
Editable Strings.
(2)
4.9.2
:
Editable Numbers.
(1)
4.9.3
:
EditSecretString
4.9.4
:
Multiline Text Editor.
(7)
4.10
:
Icons.
(1)
4.10.0
:
(new icon
mat
&optional [
sx
[
sy
[
map
]]])
4.11
:
OgrImage.
(2)
4.11.0
:
(new OgrImage
m
)
4.11.1
:
(==>
OgrImage
get-selected)
4.12
:
ImageViewer.
(2)
4.12.0
:
(new ImageViewer
w
h
m
[
scroll
])
4.12.1
:
(==>
ImageViewer
get-selected)
4.13
:
Menus.
(2)
4.13.0
:
Standard Menus.
(7)
4.13.1
:
Choice Menus.
(7)
4.14
:
Popup Requesters.
(6)
4.14.0
:
Requester.
(6)
4.14.1
:
Warning Requester.
(3)
4.14.2
:
Error Requester.
(3)
4.14.3
:
Yes/No Requester.
(4)
4.14.4
:
Print Requester.
(2)
4.14.5
:
File Requester.
(8)
4.15
:
Movable and Resizable Objects.
(4)
4.15.0
:
(new DragArea
w
h
)
4.15.1
:
(new SizeArea
w
h
)
4.15.2
:
(new Frame
x
y
w
h
...contents...
)
4.15.3
:
(new FrameSize
x
y
w
h
...contents...
)
4.16
:
Sliders and Scrollbars.
(2)
4.16.0
:
Sliders.
(5)
4.16.1
:
Scrollbars.
(3)
4.17
:
Composite Objects.
(2)
4.17.0
:
Viewers.
(5)
4.17.1
:
Selectors.
(6)
4.18
:
A Complete Example.
(2)
4.18.0
:
The Class Browser ``classtool''.
(1)
4.18.1
:
The Program ``classtool''.
5:
Dynamic Loader/Linker
5.0
:
(mod-load
filename
)
5.1
:
(mod-unload
filename
)
5.2
:
(find-shared-library
name
[
extlist
])
5.3
:
(find-static-library
name
[
extlist
])
5.4
:
(find-shared-or-static-library
name
[
extlist
])
5.5
:
(mod-list)
5.6
:
(mod-undefined)
5.7
:
(mod-status)
5.8
:
(mod-inquire
filename
)
5.9
:
(mod-create-reference
string1
...
stringN
)
5.10
:
(mod-compatibility-flag
boolean
)
5.11
:
Low level module functions.
(10)
5.11.0
:
(module-list)
5.11.1
:
(module-filename
m
)
5.11.2
:
(module-executable-p
m
)
5.11.3
:
(module-unloadable-p
m
)
5.11.4
:
(module-initname
m
)
5.11.5
:
(module-depends
m
)
5.11.6
:
(module-never-unload
m
)
5.11.7
:
(module-defs
m
)
5.11.8
:
(module-load
filename
[
hookfunction
])
5.11.9
:
(module-unload
m
)
5.12
:
Extending the Interpreter
5.13
:
Debugging modules with gdb.
6:
CLush: Compiled Lush
6.0
:
A Simple Example
6.1
:
Using libload and dhc-make.
6.2
:
Compilation Functions
(4)
6.2.0
:
High-Level Compilation Functions
(4)
6.2.1
:
Customizing the Behavior of dhc-make.
(4)
6.2.2
:
Querying File Dependencies
(2)
6.2.3
:
Low-Level Compilation Functions.
(7)
6.3
:
Design Philosophy
6.4
:
What is Compilable, and What isn't
(1)
6.4.0
:
(compilablep
function
)
6.5
:
CLush-specific functions and constructs
(6)
6.5.0
:
Numerical Type Declarations
(16)
6.5.1
:
Class Declaration and Compilation
6.5.2
:
Type Conversions
(2)
6.5.2.0
:
Numerical Type Conversions
(6)
6.5.2.1
:
Non-Numerical Type Conversions
(2)
6.5.3
:
inline C code
(2)
6.5.3.0
:
C Directives and Macros
(5)
6.5.4
:
Compiler Directives
(4)
6.5.5
:
Dynamic Allocation in Compiled Code
6.6
:
Interfacing Existing C/C++/FORTRAN Libraries to Lush
(4)
6.6.0
:
Symbolic constants.
(2)
6.6.1
:
Interfacing C code
6.6.2
:
Interfacing C++ code
6.6.3
:
Interfacing FORTRAN code
6.7
:
More on the Lisp-C Interface
(3)
6.7.0
:
DH: the Compiled Function Class
(2)
6.7.1
:
Classinfo
(2)
6.7.2
:
Controling the Lisp/C interface.
(3)
6.8
:
Compiler Internals
(76)
7:
Standard Libraries
7.0
:
Shell Commands
(5)
7.0.0
:
String List Utilities
(6)
7.0.1
:
File Information
(8)
7.0.2
:
Variables
(3)
7.0.3
:
Directories
(4)
7.0.4
:
Shell Commands
(7)
7.1
:
Tensor/Matrix/Vector/Scalar Libraries
(11)
7.1.0
:
Generic IDX Macros and Functions
(3)
7.1.0.0
:
Resizing Macros and Functions
(32)
7.1.0.1
:
Macros for common operations
(1)
7.1.0.2
:
Obsolete Iterators for Inline C code
(6)
7.1.1
:
IDX of Single Precision Floating Point Numbers
(55)
7.1.2
:
IDX of Double Precision Floating Point Numbers
(55)
7.1.3
:
IDX of Integers
(12)
7.1.4
:
IDX of unsigned bytes
(14)
7.1.5
:
Arrays of vectors and matrices
(4)
7.1.5.0
:
idx1-array
(4)
7.1.5.1
:
idx2-array
(4)
7.1.6
:
IDX reading and writing
(77)
7.1.7
:
IDX mapping from files
(25)
7.1.8
:
Convolution, Subsampling, Oversampling.
(3)
7.1.8.0
:
Fast 1D Convolutions
(13)
7.1.8.1
:
Generic Convolutions
(30)
7.1.8.2
:
1D and 2D Subsampling and Oversampling
(20)
7.1.9
:
IDX sorting and binary search functions
(13)
7.1.10
:
IDX operations on squares of elements
(10)
7.2
:
C Interface Utilities
(3)
7.2.0
:
Libc interface
(5)
7.2.1
:
Control Structures
(1)
7.2.2
:
Pointer Manipulation/Dereferencing
(5)
7.2.2.0
:
Peek/Poke/Sizeof
(18)
7.3
:
Plotting
(2)
7.3.0
:
Plotter
(41)
7.3.1
:
low level utility functions
(3)
7.4
:
C-Style Input / Output
(33)
7.4.0
:
(fprintf
file-pointer
args...
)
7.4.1
:
(fwrite-str
file-pointer
s
)
7.4.2
:
(stdout)
7.4.3
:
(fopen
filename
type
)
7.4.4
:
(fclose
file-pointer
)
7.4.5
:
(popen
filename
type
)
7.4.6
:
(pclose
file-pointer
)
7.4.7
:
(ftell
file-pointer
)
7.4.8
:
(fseek
file-pointer
pos
)
7.4.9
:
(fseek-from-end
file-pointer
pos
)
7.4.10
:
(fseek-from-current
file-pointer
pos
)
7.4.11
:
(fgetc
file-pointer
)
7.4.12
:
(fputc
file-pointer
val
)
7.4.13
:
(fread-ubyte
file-pointer
)
7.4.14
:
(fwrite-ubyte
file-pointer
val
)
7.4.15
:
(fread-byte
file-pointer
)
7.4.16
:
(fwrite-byte
file-pointer
val
)
7.4.17
:
(fread-short
file-pointer
)
7.4.18
:
(fwrite-short
file-pointer
val
)
7.4.19
:
(fread-int
file-pointer
)
7.4.20
:
(fwrite-int
file-pointer
val
)
7.4.21
:
(fread-flt
file-pointer
)
7.4.22
:
(fwrite-flt
file-pointer
val
)
7.4.23
:
(fread-real
file-pointer
)
7.4.24
:
(fwrite-real
file-pointer
val
)
7.4.25
:
(reverse_n
ptr
sz
n
)
7.4.26
:
(fscan-int
file-pointer
)
7.4.27
:
(fscan-flt
file-pointer
)
7.4.28
:
(fscan-str
file-pointer
)
7.4.29
:
(fgets
file-pointer
max-size
)
7.4.30
:
(file-size
file-name
)
7.4.31
:
(rewind
f
)
7.4.32
:
(skip-comments
start
f
)
7.5
:
Graph Library
(5)
7.5.0
:
Building and Manipulating Grammars
(14)
7.5.0.0
:
Macros for typing labels
(6)
7.5.0.1
:
Gset: multiple sets of integers
(1)
7.5.0.2
:
Grammar cleanup and optimization
(1)
7.5.0.3
:
Functions for building grammars
(2)
7.5.0.4
:
Setting the penalties/cost of edges.
(1)
7.5.0.5
:
converting grammar paths to strings
(1)
7.5.0.6
:
conversion from regular grammar to matrix representation
(3)
7.5.0.7
:
converting strings to label sequences
(2)
7.5.0.8
:
testing label sequences against a grammar
(1)
7.5.0.9
:
handling trivgraphs
(9)
7.5.0.10
:
Selecting path that produce a particular label sequence
(4)
7.5.0.11
:
additional grammar functions
(6)
7.5.0.12
:
Graph Analysis
(1)
7.5.1
:
Manipulating Graphs.
(4)
7.5.1.0
:
Gbag class
(9)
7.5.1.1
:
GGraph class
(13)
7.5.1.2
:
GLink class
(9)
7.5.2
:
Searching and Pruning Graphs
(6)
7.5.3
:
Transformation Operators on Graphs
(11)
7.5.4
:
Other Graph Search Functions
(3)
7.6
:
Image Processing Libraries
(18)
7.6.0
:
Demos and examples
(1)
7.6.1
:
Reading/Writing Image Files to/from IDX.
(4)
7.6.2
:
Reading/Writing PPM/PGM/PBM Image Files
(19)
7.6.3
:
Reading/Writing PBM Image files
(4)
7.6.4
:
Reading/Writing Run-Length-Encoded Image Files
(3)
7.6.5
:
RGBA Images of ubytes
(6)
7.6.5.0
:
Geometric Transforms
(16)
7.6.5.0.0
:
low-level geometric transform functions
(1)
7.6.5.1
:
Color Processing
(5)
7.6.5.2
:
Blitting
(2)
7.6.5.3
:
Histograms
(2)
7.6.5.3.0
:
low-level histogram functions
(2)
7.6.5.4
:
Various unusual subsampling functions
(4)
7.6.6
:
RGBA Images of Floats
(18)
7.6.7
:
Greyscale Images of ubytes.
(12)
7.6.8
:
Greyscale Images of shorts
(9)
7.6.9
:
Greyscale Images of Floats
(1)
7.6.10
:
Computing Image Warping Maps
(1)
7.6.11
:
Connected Component Analysis
(18)
7.6.12
:
Morphological Operations
(7)
7.6.13
:
Morphological Operation on Images of Shorts.
(6)
7.6.14
:
Miscellaneous Image Macros and Conversions
(3)
7.6.14.0
:
img-dim-C
(3)
7.6.15
:
Constants used in run-length encoded images.
7.6.16
:
Converting RLE Image to greyscale pixelmap.
(7)
7.6.17
:
Color Clustering and Quantization
(3)
7.6.17.0
:
Color Clustering
(2)
7.6.17.1
:
Color Segmentation and Quantization on RGBA images
(5)
7.6.17.1.0
:
low-level color quantization functions.
(2)
7.6.17.2
:
Color Segmentation on RGBA float images
(6)
8:
Packages
8.0
:
libnum: Numerical Library
(5)
8.0.0
:
Special Functions
(4)
8.0.1
:
complex: Complex Numbers Library
(5)
8.0.1.0
:
Complex functions that return a real
(4)
8.0.1.1
:
Dyadic Complex Operators
(6)
8.0.1.2
:
Unary Complex Operators
(26)
8.0.2
:
Statistical Functions
(6)
8.0.3
:
Linear Algebra
(13)
8.0.4
:
Polynomials
(1)
8.1
:
GBLearn2: Machine Learning Library
(8)
8.1.0
:
GBLearn2: Basic Concepts
(7)
8.1.1
:
Examples and Demos
(2)
8.1.2
:
Learning Algorithms
(3)
8.1.2.0
:
supervised
(4)
8.1.2.1
:
supervised-gradient
(5)
8.1.3
:
Data Sources
(8)
8.1.3.0
:
dsource
(4)
8.1.3.1
:
dsource-idx3l
(1)
8.1.3.2
:
dsource-idx3fl
(2)
8.1.3.3
:
dsource-idx3ul
(2)
8.1.3.4
:
dsource-image
(8)
8.1.3.5
:
dsource-idx3l-narrow
(2)
8.1.3.6
:
dsource-idx3l-permute
(3)
8.1.3.7
:
dsource-idx3l-concat
(2)
8.1.4
:
Meters
(2)
8.1.4.0
:
classifier-meter
(5)
8.1.5
:
gb-states
(19)
8.1.5.0
:
idx-state
(8)
8.1.6
:
gb-param
(5)
8.1.6.0
:
idx1-dparam
(3)
8.1.6.1
:
idx1-dparam-eps
(4)
8.1.6.2
:
idx1-ddparam
(4)
8.1.7
:
Module Libraries
(21)
8.1.7.0
:
modules
(19)
8.1.7.0.0
:
gb-module
(3)
8.1.7.0.1
:
logadd-layer
(1)
8.1.7.0.2
:
mle-cost
(1)
8.1.7.0.3
:
mmi-cost
(2)
8.1.7.0.4
:
edist-cost
(1)
8.1.7.0.5
:
wedist-cost
(1)
8.1.7.0.6
:
weighted-mse-cost
(1)
8.1.7.0.7
:
ledist-cost
(1)
8.1.7.1
:
Classifiers
(6)
8.1.7.1.0
:
min-classer
(1)
8.1.7.1.1
:
max-classer
(1)
8.1.7.1.2
:
ledist-classer
(1)
8.1.7.1.3
:
mmi-classer
(3)
8.1.7.2
:
Basic Neural Net Modules
(6)
8.1.7.2.0
:
f-layer
(8)
8.1.7.2.1
:
e-layer
(1)
8.1.7.2.2
:
e-layer-sparse
(1)
8.1.7.2.3
:
c-layer
(1)
8.1.7.2.4
:
s-layer
(1)
8.1.7.3
:
net-ff
(1)
8.1.7.4
:
net-c
(1)
8.1.7.5
:
net-cf
(1)
8.1.7.6
:
net-cfe
(1)
8.1.7.7
:
net-cff
(1)
8.1.7.8
:
net-ccc
(1)
8.1.7.9
:
net-cscf
(1)
8.1.7.10
:
net-cscfe
(1)
8.1.7.11
:
net-csccf
(1)
8.1.7.12
:
net-cscscf
(1)
8.1.7.13
:
net-cscscfe
(1)
8.1.7.14
:
net-cscscscf
(1)
8.1.7.15
:
lenet5
(1)
8.1.7.16
:
ccc-tdnn
(4)
8.1.7.17
:
net-xx
(1)
8.1.7.18
:
net-xxx
(1)
8.1.7.19
:
gb-conx
(10)
8.2
:
GBLearning: Gradient-Based Learning Library
(26)
8.2.0
:
Examples and Demos
(1)
8.2.1
:
modules
(21)
8.2.1.0
:
sn-module
(3)
8.2.1.1
:
logadd-layer
(1)
8.2.1.2
:
mle-cost
(1)
8.2.1.3
:
mmi-cost
(2)
8.2.1.4
:
edist-cost
(1)
8.2.1.5
:
wedist-cost
(1)
8.2.1.6
:
weighted-mse-cost
(1)
8.2.1.7
:
ledist-cost
(3)
8.2.1.8
:
min-classer
(1)
8.2.1.9
:
max-classer
(1)
8.2.1.10
:
ledist-classer
(1)
8.2.1.11
:
mmi-classer
(2)
8.2.1.12
:
nearest-neighbor
(4)
8.2.2
:
workbench
(6)
8.2.3
:
trainer
(8)
8.2.3.0
:
sn-meter
(3)
8.2.3.1
:
multi-classifier-meter
(1)
8.2.4
:
Databases
(6)
8.2.4.0
:
base-db
(13)
8.2.4.1
:
idx-db
(4)
8.2.4.2
:
multi-db
(1)
8.2.4.3
:
narrow-db
(1)
8.2.4.4
:
permute-db
(3)
8.2.4.5
:
image-db
(15)
8.2.5
:
param
(5)
8.2.5.0
:
idx1-dparam
(2)
8.2.5.1
:
idx1-dparam-eps
(3)
8.2.5.2
:
idx1-ddparam
(3)
8.2.6
:
sn-states
(19)
8.2.6.0
:
idx-state
(8)
8.2.7
:
libnets
(7)
8.2.7.0
:
f-layer
(1)
8.2.7.1
:
e-layer
(1)
8.2.7.2
:
e-layer-sparse
(1)
8.2.7.3
:
c-layer
(1)
8.2.7.4
:
s-layer
(1)
8.2.8
:
net-ccc
(1)
8.2.9
:
net-cfe
(1)
8.2.10
:
net-cff
(1)
8.2.11
:
net-cf
(1)
8.2.12
:
net-c
(1)
8.2.13
:
net-csccf
(1)
8.2.14
:
net-cscfe
(1)
8.2.15
:
net-cscf
(1)
8.2.16
:
net-cscscf
(1)
8.2.17
:
net-cscscfe
(1)
8.2.18
:
net-cscscscf
(1)
8.2.19
:
net-fff
(1)
8.2.20
:
net-ff
(1)
8.2.21
:
lclass-meter
(1)
8.2.22
:
ccc-tdnn
(4)
8.2.23
:
conx
(10)
8.2.24
:
ftdnn
(1)
8.2.25
:
seq3-modules
(1)
8.3
:
SDL: Simple DirectMedia Layer
(4)
8.3.0
:
Installing SDL
8.3.1
:
SDL Demos
(2)
8.3.1.0
:
Simple Demos of the SDL Lush interface
(2)
8.3.2
:
LibSDL: High-level Interface to SDL
(13)
8.3.2.0
:
sdl-screen
(5)
8.3.2.1
:
sdlidx-screen
(2)
8.3.2.2
:
sdl-event
(10)
8.3.2.3
:
sdl-sprite
(19)
8.3.2.4
:
mover
(10)
8.3.2.5
:
SDL_Rect function
(2)
8.3.2.5.0
:
low-level functions on SDL-Rect
(3)
8.3.2.5.1
:
sdl-rect
(1)
8.3.2.6
:
SDL_Surface
(9)
8.3.2.7
:
SDL Drawing Functions
(1)
8.3.2.8
:
Collision Detection (low level functions)
(2)
8.3.2.9
:
SDL_Event manipulation
(1)
8.3.2.9.0
:
low level access to SDL_event structures
(7)
8.3.2.10
:
Miscellaneous/internal functions
(1)
8.3.3
:
Low-Level Interface to SDL
(21)
8.3.3.0
:
sdl/SDL.lsh
(5)
8.3.3.1
:
sdl/SDL_active.lsh
(1)
8.3.3.2
:
sdl/SDL_audio.lsh
(15)
8.3.3.3
:
sdl/SDL_byteorder.lsh
(1)
8.3.3.4
:
sdl/SDL_cdrom.lsh
(12)
8.3.3.5
:
sdl/SDL_endian.lsh
(8)
8.3.3.6
:
sdl/SDL_error.lsh
(3)
8.3.3.7
:
sdl/SDL_events.lsh
(8)
8.3.3.8
:
sdl/SDL_getenv.lsh
(2)
8.3.3.9
:
sdl/SDL_image.lsh
(4)
8.3.3.10
:
sdl/SDL_joystick.lsh
(16)
8.3.3.11
:
sdl/SDL_keyboard.lsh
(6)
8.3.3.12
:
sdl/SDL_keysym.lsh
(1)
8.3.3.13
:
sdl/SDL_mouse.lsh
(8)
8.3.3.14
:
sdl/SDL_mutex.lsh
(16)
8.3.3.15
:
sdl/SDL_rwops.lsh
(1)
8.3.3.15.0
:
SDL_RWops
(5)
8.3.3.16
:
sdl/SDL_syswm.lsh
(1)
8.3.3.17
:
sdl/SDL_thread.lsh
(5)
8.3.3.18
:
sdl/SDL_timer.lsh
(5)
8.3.3.19
:
sdl/SDL_version.lsh
(1)
8.3.3.20
:
sdl/SDL_video.lsh
(55)
8.4
:
OpenGL: 3D Graphics
(6)
8.4.0
:
Requirements/Installation
8.4.1
:
OpenGL demos
(1)
8.4.2
:
GLUT Interface
(2)
8.4.2.0
:
GlutWindow
(26)
8.4.2.1
:
Glut3 API Functions
(88)
8.4.3
:
OpenGL low-level interface
(310)
8.4.4
:
OpenGLU low-level interface
(51)
8.4.5
:
Ogre-controled OpenGL graphics
(2)
8.5
:
Video4Linux: video grabbing
(3)
8.5.0
:
Requirements and Installation
8.5.1
:
Video4Linux API
(4)
8.5.1.0
:
v4ldevice
(20)
8.5.1.1
:
TV Frequency tables
(2)
8.5.2
:
Demos
(3)
8.5.2.0
:
Simple Video Capture Demos
(2)
8.5.2.1
:
(effect-sdl-demo
eff
)
(1)
8.5.2.1.0
:
Video Effects
(6)
8.6
:
BLAS: Basic Linear Algebra Subroutines
(6)
8.6.0
:
Requirements/Installation
8.6.1
:
BLAS: Extra/Miscellaneous Functions
(5)
8.6.2
:
BLAS: Single Precision Functions
(33)
8.6.3
:
BLAS: Double Precision Functions
(34)
8.6.4
:
BLAS: Single Precision Complex Functions
(34)
8.6.5
:
BLAS: Double Precision Complex Functions
(34)
8.7
:
LAPACK: Linear Algebra Package
(6)
8.7.0
:
Requirements/Installation
8.7.1
:
LAPACK: Miscellaneous Functions
(6)
8.7.2
:
LAPACK: Single Precision Functions
(334)
8.7.3
:
LAPACK: Double Precision Functions
(334)
8.7.4
:
LAPACK: Single Precision Complex Functions
(308)
8.7.5
:
LAPACK: Double Precision Complex Functions
(308)
8.8
:
GSL: The Gnu Scientific Library
(47)
8.8.0
:
GSL demos
8.8.1
:
Using the Lush GSL interface
(5)
8.8.2
:
(idx2gsl (
gsl-function
arg1
arg2
argn
))
8.8.3
:
Allocating a GSL vector/matrix views from an idx.
(16)
8.8.4
:
aux_convert
(33)
8.8.5
:
aux_globalvar
(51)
8.8.6
:
aux_macro_func
(56)
8.8.7
:
aux_structure
(357)
8.8.8
:
blas
(107)
8.8.9
:
block
(183)
8.8.10
:
cheb
(12)
8.8.11
:
combination
(17)
8.8.12
:
complex
(65)
8.8.13
:
const
(1)
8.8.14
:
dht
(8)
8.8.15
:
diff
(4)
8.8.16
:
eigen
(17)
8.8.17
:
err
(10)
8.8.18
:
fft
(79)
8.8.19
:
fit
(10)
8.8.20
:
gsl_pow_int
(10)
8.8.21
:
histogram
(88)
8.8.22
:
ieee_utils
(10)
8.8.23
:
integration
(29)
8.8.24
:
interpolation
(30)
8.8.25
:
linalg
(70)
8.8.26
:
matrix
(844)
8.8.27
:
min
(12)
8.8.28
:
monte
(13)
8.8.29
:
multifit
(22)
8.8.30
:
multimin
(13)
8.8.31
:
multiroots
(16)
8.8.32
:
ntuple
(8)
8.8.33
:
ode-initval
(19)
8.8.34
:
permutation
(75)
8.8.35
:
poly
(12)
8.8.36
:
qrng
(10)
8.8.37
:
randist
(84)
8.8.38
:
rng
(18)
8.8.39
:
roots
(18)
8.8.40
:
siman
(3)
8.8.41
:
sort
(135)
8.8.42
:
specfunc
(439)
8.8.43
:
statistics
(337)
8.8.44
:
sum
(11)
8.8.45
:
sys
(17)
8.8.46
:
vector
(551)
8.9
:
OpenCV: Intel Computer Vision Library
(45)
8.9.0
:
aux_const
(1)
8.9.1
:
aux_convert
(14)
8.9.2
:
aux_imageio
(7)
8.9.2.0
:
(dummy)
(1)
8.9.3
:
aux_macro_func
(59)
8.9.4
:
aux_plotting
(8)
8.9.5
:
plotting
(8)
8.9.6
:
aux_structure
(532)
8.9.7
:
background
(4)
8.9.8
:
calibration
(8)
8.9.9
:
camshift
(2)
8.9.10
:
colortrans
(1)
8.9.11
:
compugeo
(9)
8.9.12
:
condensation
(4)
8.9.13
:
contours
(19)
8.9.14
:
data_structures
(73)
8.9.15
:
derivative
(2)
8.9.16
:
disttrans
(1)
8.9.17
:
drawing
(14)
8.9.18
:
eigenobjects
(5)
8.9.19
:
feature
(6)
8.9.20
:
floodfill
(1)
8.9.21
:
geometry
(3)
8.9.22
:
geotrans
(1)
8.9.23
:
gesture
(6)
8.9.24
:
histogram
(13)
8.9.24.0
:
(cvqueryhistvalue_nd
hist
idx
)
(1)
8.9.24.1
:
(cvgethistvalue_nd
hist
idx
)
(10)
8.9.25
:
hmm
8.9.26
:
hough
(3)
8.9.27
:
ipl
(2)
8.9.28
:
kalman
(4)
8.9.29
:
libutils
(19)
8.9.29.0
:
(cvgetcallstack
stack
size
)
(1)
8.9.30
:
matrix
(19)
8.9.30.0
:
(cvxors
src
value
dst
mask
)
(1)
8.9.30.1
:
(cvmatmuladds
src
dst
transform
shiftvec
)
(7)
8.9.30.2
:
(cvmirror
src
dst
flipmode
)
(1)
8.9.30.3
:
(cvinv
src
dst
)
(5)
8.9.30.4
:
(cvpseudoinv
a
b
flags
)
(2)
8.9.30.5
:
(cvzero
mat
)
(3)
8.9.31
:
memstorage
(6)
8.9.32
:
moments
(6)
8.9.33
:
morphology
(5)
8.9.34
:
motion
(4)
8.9.35
:
opticalflow
(5)
8.9.36
:
posit
(3)
8.9.37
:
pyramids
(3)
8.9.38
:
snake
(1)
8.9.39
:
statistics
(5)
8.9.40
:
subdiv
(20)
8.9.41
:
thresholds
(2)
8.9.42
:
undistortion
(4)
8.9.43
:
utilities
(28)
8.9.43.0
:
(cvrandnext
state
)
(24)
8.9.44
:
viewmorphing
(9)
8.10
:
ALSA: Advanced Linux Sound Architecture
(3)
8.10.0
:
pcm
(325)
8.10.1
:
rawmidi
(56)
8.10.2
:
seq
(268)
8.11
:
Libaudiofile: The Audiofile Library
(6)
8.11.0
:
Basics
8.11.1
:
Programming Paradigm
8.11.2
:
Main Functions
(12)
8.11.3
:
High-level audiofile function
(1)
8.11.4
:
Reading audio frames into IDXes.
(4)
8.11.5
:
Individual Audiofile Function Prototypes
(93)
8.12
:
HTK: HMM ToolKit
(24)
8.12.0
:
htk_aux_alloc
(177)
8.12.1
:
esignal
(58)
8.12.2
:
htk_adapt
(21)
8.12.3
:
htk_audio
(23)
8.12.4
:
htk_constant
(1)
8.12.5
:
htk_dict
(12)
8.12.6
:
htk_fb
(10)
8.12.7
:
htk_func
(1)
8.12.8
:
htk_graf
(39)
8.12.9
:
htk_label
(37)
8.12.10
:
htk_lm
(9)
8.12.11
:
htk_math
(47)
8.12.12
:
htk_mem
(61)
8.12.13
:
htk_model
(45)
8.12.14
:
htk_net
(21)
8.12.15
:
htk_parm
(36)
8.12.16
:
htk_rec
(13)
8.12.17
:
htk_shell
(65)
8.12.18
:
htk_sigp
(33)
8.12.19
:
htk_train
(24)
8.12.20
:
htk_util
(34)
8.12.21
:
htk_vq
(9)
8.12.22
:
htk_wave
(20)
8.12.23
:
strarr
(5)
9:
Applications
9.0
:
Graphic Tools
10:
Tutorials
10.0
:
Tutorial: Writing Games with Lush and SDL.
(3)
10.0.0
:
A Quick Reminder on Basic Lush Programming
10.0.1
:
A Simple Lunar Lander
(5)
10.0.1.0
:
First Implementation of Lander
(7)
10.0.2
:
SpaceWar: missiles and collision detection
(3)
11:
FAQ (Frequently Asked Questions)
11.0
:
What to do when I get this error?
(2)
11.0.0
:
Module has undefined references
11.0.1
:
compiler : Unknown Type in: ()
11.1
:
How Do I ... ?
(5)
11.1.0
:
Read lines from a file into a list
11.1.1
:
Apply a function to all elements of a vector
11.1.2
:
Get a pointer to the raw data of an idx
11.1.3
:
Get a pointer to a function written in Lisp
11.1.4
:
Know if a function can be used in compiled code
12:
Local Packages