-
Notifications
You must be signed in to change notification settings - Fork 0
Home
(import (otus algebra))
Warning: Otus Lisp is a functional language, so the use of impure functions (that contains "!" sign in the name) is only allowed in cases you really need to. Additionally, the use of impure functions is very limited.
An array is the homogeneous multidimensional table of elements.
Each array element that is not a subarray can be either a number (real, integer, rational, complex, or inexact) or a boolean constant (#true or #false). Every number can be a bigint (transparently to the user) or a special number (NaN, +Inf and -Inf), and the count of digits in such numbers is limited only by amount of available computer memory.
The one-dimensional array is named Vector
(not to be confused with the native lisp type vector
). The two-dimensional is named Matrix
. Three- and more-dimensional - Tensor
.
Arrays containing only inexact numbers are a special case and (will) have a very fast native math implementation.