The xarray Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The xarray Reference Manual

This is the xarray Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:45:25 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction


Time-stamp: <2013-12-26 14:12:48 tony>

* Using this file

  This README file is intended to be read by humans as well as
  processed by Emacs org-mode for publishing, for literate-programming
  of examples, for bug-tracking and task/issue management, etc.

** TODO [#A] Write up basic setup for using this file from org-mode
   - State "TODO"       from ""           [2010-06-07 Mon 16:18]

   leveraging ORG-MODE tools for mixing in TODO's within docs -- need
   to include incantation for this to do the right thing for the
   agenda view!

   Right now there are issues with common-lisp support from within
   babel within org-mode. The configuration is not clear right out of
   the box and requires a bit of work to get working.

#+begin_src lisp
  ;; emacs-lisp snippet for linking in using this and the in-lined
  ;; commented TODOs of course, still must be written
#+end_src


** TODO [#B] Quick example of using this.

** Credits

   Original Idea and majority (all?) work:  Tamas K. Papp 
   Mucking, cleaning, simplifying, maintainance: AJ Rossini 

** Quick Start

*** ASDF only, OBSOLETE!

#+begin_src lisp
  (asdf:oos 'asdf:load-op :xarray)
  (asdf:oos 'asdf:compile-op :xarray :force T)
#+end_src

*** QUICKLISP

#+begin_src lisp
  (ql:quickload :xarray)
#+end_src

   If you are a neanderthal, and want to go back to the roots, you can
   simply pull from github or similar:

#+srcname: 
#+begin_src sh
  git clone http://github.com/blindglobe/xarray.git
#+end_src

* Overview

  This package implements a generalized interface for array-like
  objects.  An array-like object is any structure whose data (but not
  necessarily metadata) could be simply mappable to either a lisp
  array or a list-of-list structure.

  This could be interpreted in that this forms either a rectangular or
  ragged-array (differential lengths of EITHER rows OR columns).  

  The idea is that we should be able to index an object's data, but
  might not be able to access specialized metadata.  We provide a
  means of having views into convienently indexable rectangular
  substructures, which are view-by-reference, not copies, (TODO: need
  to create indexing tools for pulling various combinations out).  In
  addition, there is a tool for taking a copy of the array into a lisp
  array (TODO: generalize to other array structures).

  General design is that xref works out of the box on lisp arrays and
  list-of-list structures.  Additional matrix packages could depend on
  xarray and extend the generics (i.e. lisp-matrix) or have
  patching-packages (think ASDF-SYSTEM-CONNECTIONS) register.

  In a sense, we just rely on the default situation of CLOS -- it'll
  tell users which structures need xref-able methods, and the users
  will just have to tell us.  But that means that XARRAY is their
  dependency, not that an XARRAY can look forward and load them (which
  might be worthwhile when using XCREATE or the conversion routines.

* API

** interface.lisp

(defgeneric xelttype (object)
(defgeneric xdims (object)
(defgeneric xdim (object dim)
(defgeneric xrank (object)
(defgeneric xsize (object)
(defgeneric xref (object &rest subscripts)
(defgeneric (setf xref) (value object &rest subscripts)
(defgeneric xsetf (destination source &key map-function)
(defgeneric xsimilar (rank object)
(defgeneric xcreate (class dimensions &optional options)
(defgeneric as* (class object copy-p options)

** operations.lisp

operations.lisp:29:  `(defgeneric ,name (a b &key &allow-other-keys)
operations.lisp:69:(defgeneric x= (a b &optional eps)
operations.lisp:117:  `(defgeneric ,name (a)
operations.lisp:221:(defgeneric xdot (a b)

** view.lisp

(defgeneric permutation (object &rest permutation)
(defgeneric transpose (object)
(defgeneric xslice (object &rest index-specifications)
(defgeneric (setf xslice) (value object &rest index-specifications)
; (defgeneric row-major-projection (object &rest dimensions)
(defgeneric column-major-projection (object &rest dimensions)
(defgeneric flat (object)
(defgeneric ancestor-subscripts (object index)


** Core
*** XREF

   Access individual elements in an array.

#+begin_src lisp
  (xref object
        #| 1 2 3 or similar indexing sequence |# )
  (setf (xref object
              #| 1 2 3 or similar indexing sequence |# )
        value)
#+end_src

  to retrieve or set an element.  This would be easy to do with aref
  if aref was a generic function, but for various (sensible) reasons,
  it is not.  I (here, this is Tamas) describe a simple interface with
  a few generic functions.  Any objects that has these methods is
  called "xrefable".  For a given datastructure, we must implement the
  following tools.

  queries (sub)structure and returns views which can be accessed and
  set.  The reference  manages the indicies in the resulting
  view.

#+begin_src lisp
  (xref object )
#+end_src

*** XDIMS
   queries dimensions of structure.  There is an open question[fn:1]
   whether an XDIM function should exist.

#+begin_src common-lisp
  (xdims object)  ;; returns list of all indicies
  (xdim object )
  (nth 0 (xdims object))
  (nth 1 (xdims object))
#+end_src

*** XELTTYPE

#+begin_src lisp
   (xelttype object &optional )
#+end_src

   queries element and substructure types.  If  is given, it
   returns the substructure, if  is nil, it returns the whole
   structure.

*** XCOPY

#+begin_src lisp
   (xcopy object )
#+end_src

   queries (sub)structure and returns copies.  If one gets confused
   between a view and copy, dire consequences could entail, so we use
   separate generic functions for reference and copy, rather than a
   single "xaccess", which could result in:

#+begin_src common-lisp
   (defmacro xref  (&rest args) (xaccess :type 'reference @args))
   (defmacro xcopy (&rest args) (xaccess :type 'copy      @args))
#+end_src

*** XNEW

   creates a new structure.  One could consider using a undefined
   object in order to implement this with setf, i.e. 

#+begin_src common-lisp
   (setf (xref undef-object ) object-with-right-structure)
#+end_src
   and having it return undef-object with the right value.  But there
   are a few other possibilities.

** Extended
*** XRANK
*** XSIMILAR
*** XSIZE
    Return the number of elements in the array (product of dimensions,
    so a zero-dimensional array has size 1).  Should be the analog of
    ARRAY-TOTAL-SIZE

*** XCREATE
    Creates a new xref-able object with a particular backing store
    (ARRAY, or LISTOFLIST, or MATRIX-LIKE, or DATAFRAME-LIKE).

*** AS*
    libraries specialize, so write for data store.

    Users should leverage AS or COPY-AS

*** AS
    user function for as*

*** COPY-AS
    user function for as* which makes a deep copy

*** TAKE
    
** Utility
   these are currently related to arrays.
*** CVECTOR
    returns a simple array of the specified element type, which is
    vector-ish, filled by contents.

*** CARRAY
    returns a simple array of the specified element type, which is
    array-ish (dimensioned), filled by contents.

*** CVECTOR*
    Same as cvector, but element-type is derived using NUMERIC-TYPE-CLASSIFIER. 

*** CARRAY*
    Same as carray, but element-type is derived using NUMERIC-TYPE-CLASSIFIER. 

* Approach in general

  Both copies and views on an array should be XREF-able.  

  Array and vector construction for LISP ARRAYS (the default and base storage class) are shown as follows: 

#+BEGIN_SRC lisp
  (defparameter *b* (xarray:cvector* (list 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0)))
  ,*b* ;; this is an array of 1 item, a list of 8 floats
  
  (defparameter *c* (xarray:cvector* 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0))
  ,*c* ;; this is an array of 8 items, each a float
  
  (defparameter *a* (xarray:carray* (list 2 4)
                                    0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0))
  ,*a*
  
  
  
  (defparameter *d* (xarray:cvector 'double-float 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0))
  ,*d* ;; this is an array of 1 item, a list of 8 floats
  
  (defparameter *e* (xarray:cvector 'fixnum 0 1 2 3 4 5 6 7))
  ,*e* ;; this is an array of 8 items, each a float
  
  (defparameter *f* (xarray:carray 'fixnum (list 2 4)
                                    0 1 2 3 4 5 6 7))
  ,*f*
  
  (defparameter *g* (xarray:carray 'double-float (list 2 4)
                                    0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0))
  *g*
#+END_SRC

  This can be sliced and dices in a number of ways, 

#+begin_src common-lisp
  (xarray:xslice *a* :all 2)  ; third column
  (xarray:xslice *a* 0 :all) ; first row
#+end_src

  selects the 3th column of an array.[fn:2] , and then the first row.
  This view is also xrefable, so you can use

#+begin_src common-lisp
  (setf (xarray:xref (xarray:xslice *a* :all 2) 1) 9.0)
#+end_src

  to set element 2 in the 3rd column, which has value 6, to the
  value 9.  Changes will be made in the original array

#+begin_src common-lisp
  *a*
#+end_src

  since this is a view.  But for functions that just expect an array,
  they can use the interface (xref, xdims, etc) and not care where it
  is coming from.

  I have also implemented permutations (generalized transpose), and
  row-major projections.  If you want to collect the elements of a
  view in an array ("deep copy"), use

#+begin_src common-lisp
  (copy-as *a*)
  (copy-as (xarray:xslice *a* :all 2))
#+end_src

  which delivers a CL array of the original and then sliced xrefable object.  

  There are convenience functions that for easy array/vector creation,
  inspired by R:

#+begin_src common-lisp
  (carray* '(2 3) 1 2 3 4d0 5 6)
  ;; => #2A((1.0d0 2.0d0 3.0d0) (4.0d0 5.0d0 6.0d0))
#+end_src

  guess the type so that all of the elements would fit in.  See also
  cvector and carray (manually specified type) and cvector*.

* Roadmap, tasks, bugs.
** TODO [#B] unit testing [0/5]
   - State "TODO"       from ""           [2010-06-07 Mon 15:33]
*** TODO [#B] XDIMS unittests
    - State "TODO"       from ""           [2010-06-07 Mon 15:29]
*** TODO [#B] XTYPE unittests
    - State "TODO"       from ""           [2010-06-07 Mon 15:29]
*** TODO [#B] XREF unittests
    - State "TODO"       from ""           [2010-06-07 Mon 15:29]
*** TODO [#B] XCOPY unittests
    - State "TODO"       from ""           [2010-06-07 Mon 15:29]
*** TODO [#B] XNEW unittests
    - State "TODO"       from ""           [2010-06-07 Mon 15:29]
** TODO [#A] integrate linear algebra routines
   - State "TODO"       from ""           [2010-06-07 Mon 15:33]
   probably from GSLL?  It should
   be easy to rig an xrefable interface to GSLL arrays.
** TODO [#B] Specialized arrays [0/2]
   - State "TODO"       from ""           [2010-06-07 Mon 15:33]
   upper- and lower-triangular matrices, etc.  xrefable elements can
   be read-only, xref-writeable-p is an interface to test if an
   element is writeable, it was included specifically for this.
   In addition, integrate sparse matrices from cl-sparsematrix.
*** TODO [#B] Triangular matrices
    - State "TODO"       from ""           [2010-06-07 Mon 15:33]
*** TODO [#B] Sparse matrices
    - State "TODO"       from ""           [2010-06-07 Mon 15:33]
** TODO [#B] specialized subclasses for certain cases and operations
   - State "TODO"       from ""           [2010-06-07 Mon 15:34]
   eg views on matrices, a transpose-view would be much simpler (and
   faster, maybe?) than the generalized permute.  Some operations (such as
   outer products, multiplication, addition) could be highly optimized
   when we know more about the specific structure (e.g. triangular,
   only ones/zeros, etc...).
** TODO [#B] decent printing for xrefable objects,
   - State "TODO"       from ""           [2010-06-07 Mon 15:34]
   currently converted to array.
** TODO [#B] direct access from other systems
   - State "TODO"       from ""           [2010-06-07 Mon 15:34]
   certain views can be directly accommodated by LAPACK/GSLL (eg a
   matrix with a stride).  Minor possibility for speedup/memory
   savings.  This is related to optimization based on substructure. 
** TODO [#B] fix SLICE api between LISP-MATRIX and XARRAY
   - State "TODO"       from ""           [2010-06-07 Mon 15:38]
** TODO [#B] implement equalp for XREF-able objects
   - State "TODO"       from ""           [2010-06-07 Mon 15:40]
* Development in progress
  To use this from within org-mode/org-babel, C-c ' will put into
  slime / lisp editing mode
#+begin_src common-lisp
  (in-package :cl-user)
  (asdf:oos 'asdf:compile-op 'xarray :force t)
  (asdf:oos 'asdf:load-op 'xarray)
  (asdf:oos 'asdf:load-op 'xarray-test)
#+end_src
  Tamas was thinking about this being a general interface, but then in
  my (Tony's) opinion, included some specialized issues that needed to
  be considered here but handled elsewhere.  My limited understanding
  had to do with practical considerations; I don't need to be
  practical, and he does.  THIS is precisely where I am deviating in
  my further development of this.

  What I (Tony) am currently thinking about is to pay a penalty
  initially (and maybe for a while!) on speed of access and write a
  general interface using a range of possible back-ends.  So that we
  can get the interface clean: xref pulls out a value and puts it int
  an array of the same structure, xref* pulls out a value and sticks
  it into a lisp array or scalar and returns it.  Speed can be handled
  later by doing a compile-time/run-time tradeoff, we will pay the
  compile-time penalty, in exchange for run-time advantages.  This
  fits into the theme of rapid prototyping (slow exec) followed by
  rapid execution (post-proto...).

  We'll optimize for version 2.  Ha-ha.

  Current thinking on the above, is to stick them into separate
  packages.  In particular, I've factored out the listoflist
  infrastructure into its own package.

  Checking current test state; but this is currently broken!
#+begin_src common-lisp
  (in-package :xarray-ut)
  (run-tests :suite 'xarray-ut)
  ;; => #
  (describe (run-tests :suite 'xarray-ut))
#+end_src

** Development work and examples
   Here are any current trials that are undergoing development.
#+begin_src
(in-package :xarray-user)
;; and dev code goes here.
#+end_src

* Discussion

* Footnotes

[fn:1] this is aesthetic.  Why write a simple list extract tool when
it could suffice to use existing list extraction functions?  This also
leads to better programmer knowledge, as well as a single point of
optimization for the overall system (the internal system list
manipulation functions)

[fn:2] The slice interface is similar to Tamas' affi package, but now
arbitrary index vectors are allowed, much like R.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 xarray

Author

Tamas K Papp

License

MIT

Description
Dependencies
Source

xarray.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

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


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 xarray/package-init

Parent

xarray (system)

Location

src/

Component

package.lisp (file)


Next: , Previous: , Up: Modules   [Contents][Index]

3.2 xarray/basics

Dependencies
Parent

xarray (system)

Location

src/

Components

Previous: , Up: Modules   [Contents][Index]

3.3 xarray/functionality

Dependencies
Parent

xarray (system)

Location

src/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 xarray.asd

Location

xarray.asd

Systems

xarray (system)

Packages

xarray-asd


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 xarray/package-init/package.lisp

Parent

package-init (module)

Location

src/package.lisp

Packages

xarray


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 xarray/basics/types.lisp

Parent

basics (module)

Location

src/types.lisp

Internal Definitions

fixnum-vector (type)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 xarray/basics/utilities.lisp

Dependency

types.lisp (file)

Parent

basics (module)

Location

src/utilities.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 xarray/basics/conditions.lisp

Dependency

utilities.lisp (file)

Parent

basics (module)

Location

src/conditions.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 xarray/basics/interface.lisp

Dependency

conditions.lisp (file)

Parent

basics (module)

Location

src/interface.lisp

Exported Definitions
Internal Definitions

xarray-like (class)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 xarray/functionality/array.lisp

Parent

functionality (module)

Location

src/array.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 xarray/functionality/view.lisp

Dependency

array.lisp (file)

Parent

functionality (module)

Location

src/view.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 xarray/functionality/operations.lisp

Dependency

view.lisp (file)

Parent

functionality (module)

Location

src/operations.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 xarray/functionality/sequences.lisp

Dependency

operations.lisp (file)

Parent

functionality (module)

Location

src/sequences.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.11 xarray/functionality/atoms.lisp

Dependency

sequences.lisp (file)

Parent

functionality (module)

Location

src/atoms.lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 xarray-asd

Source

xarray.asd

Use List

Previous: , Up: Packages   [Contents][Index]

5.2 xarray

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Functions

Function: carray ELEMENT-TYPE DIMENSIONS &rest ELEMENTS

Return a (simple-array element-type dimensions) containing elements, coerced to element-type.

Package

xarray

Source

array.lisp (file)

Function: carray* DIMENSIONS &rest ELEMENTS

Return a (simple-array element-type dimensions) containing elements, coerced to element-type, where the elemen-type is obtained using numeric-type-classifier.

Package

xarray

Source

array.lisp (file)

Function: cm-index DIMENSIONS SUBSCRIPTS

Calculate the column-major flat index from subscripts (list of fixnums) and dimensions (list of fixnums). Works in the corner case when dimensions and subscripts are both nil.

Package

xarray

Source

utilities.lisp (file)

Function: cm-subscripts DIMENSIONS I

Return the column-major subscripts (list) for flat index
i (fixnum), using dimensions (list of fixnums). No error checking, for internal use only. Works in the corner case when dimension is nil.

Package

xarray

Source

utilities.lisp (file)

Function: copy-as CLASS OBJECT &rest OPTIONS

Convert OBJECT to CLASS as a deep copy, with the enforcement of no shared structure.

Package

xarray

Source

interface.lisp (file)

Function: cvector ELEMENT-TYPE &rest ELEMENTS

Return a (simple-array element-type (*)) containing elements, coerced to element-type.

Package

xarray

Source

array.lisp (file)

Function: cvector* &rest ELEMENTS

Return a (simple-array element-type (*)) containing elements, coerced to element-type, where the elemen-type is obtained using numeric-type-classifier.

Package

xarray

Source

array.lisp (file)

Function: drop OBJECT

Return a view with the unit dimensions dropped.

Package

xarray

Source

view.lisp (file)

Function: int-seq A &optional B

Create integer sequence 0,...,a-1 or, if b is given, a,...,b (with a<=b).

Package

xarray

Source

sequences.lisp (file)

Function: original-ancestor VIEW

Find the original ancestor (ie the one that is not a view). Simply returns objects which are not views. Since views can be nested, this needs to follow the chain backwards.

Package

xarray

Source

view.lisp (file)

Function: rm-index DIMENSIONS SUBSCRIPTS

Return a row-major flat index for given subscripts (coerced to a vector, list also accepted), using dimensions (also coerced to a vector, list also accepted). Checks for boundaries and rank.

Package

xarray

Source

utilities.lisp (file)

Function: rm-subscripts DIMENSIONS I

Return i decomposed to a list of subscripts, taking
dimensions (which is coerced to a vector) as a row-major indexing scheme. No error checking is performed, meant for internal use.

Package

xarray

Source

utilities.lisp (file)

Function: xcollect N FUNCTION &optional TARGET-SPEC

Collect the result of calling function n times into an array (type of target-spec, or determined using xsimilar). Indexing is (i ...), where i is from 0 to n-1. The rest of the indexes are determined from the first value.

Package

xarray

Source

operations.lisp (file)

Function: xconcat TARGET-TYPE &rest ARGUMENTS

Concatenate atoms and/or vectors into a vector.

Package

xarray

Source

operations.lisp (file)

Function: xcreate-similar TARGET-SPEC OBJECT DIMENSIONS &optional MORE-OPTIONS

If TARGET-SPEC is T or (CONS T OPTIONS), use xsimilar to determine target spec using object (and also merge options), otherwise use target-spec directly to create an object. This function is meant for internal use, when mapping functions need to determine a target spec from one of the arguments.

Package

xarray

Source

interface.lisp (file)

Function: xmap TARGET FUNCTION &rest ARGUMENTS

Apply function to arguments elementwise, and save the result in target.

Package

xarray

Source

operations.lisp (file)

Function: xmean A

Mean of the elements.

Package

xarray

Source

operations.lisp (file)

Function: xop RESULT-SPEC FUNCTION &rest VECTORS

Generalized outer product of vectors, using function.

Package

xarray

Source

operations.lisp (file)

Function: xorder VECTOR PREDICATE &key KEY STABLE-P

Return a vector of integers starting from 0, representing the permutation of elements in vector that would result if sorted according to predicate (which you can use in xslice, etc). Key is passed to sort. If stable-p, stable-sort is used.

Package

xarray

Source

operations.lisp (file)

Function: xsort VECTOR PREDICATE &key KEY STABLE-P

Sort vector using predicate. Calls xorder and returns order as the second value.

Package

xarray

Source

operations.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Generic functions

Generic Function: as* CLASS OBJECT COPY-P OPTIONS

Return an object converted to a given class, with
other properties (eg element types for arrays) as specified by the optional keyword arguments. The result may share structure with object, unless COPY-P. Similarly to XCREATE, class can be (cons class options). When class is nil, XSIMILAR is called to obtain the result type.

Usage note: libraries should specialize this method, but the user interface is AS or COPY-AS.

Package

xarray

Source

interface.lisp (file)

Methods
Method: as* (CLASS (eql vector)) OBJECT COPY-P OPTIONS
Source

array.lisp (file)

Method: as* (CLASS (eql array)) OBJECT COPY-P OPTIONS
Source

array.lisp (file)

Method: as* CLASS OBJECT COPY-P OPTIONS
Method: as* (CLASS (eql t)) OBJECT COPY-P OPTIONS
Method: as* (CLASS list) OBJECT COPY-P OPTIONS
Generic Function: column-major-projection OBJECT &rest DIMENSIONS

Row major projection to an xrefable object. Total
size needs to match the product of dimensions. If dimensions is omitted, it is taken to be the xsize of the object.

Package

xarray

Source

view.lisp (file)

Methods
Method: column-major-projection OBJECT &rest DIMENSIONS
Generic Function: flat OBJECT

Flat index for an object.
flat-xview

An xview where elements can be accessed by a "flat" index on [0,total size), but the actual mapping is implementation-dependent. Mainly used for elementwise access where the order of elements does not matter, especially elementwise reductions with commutative operations (eg sum, product, maximum, etc).

There are two special considerations for this xview: (1) it only has to implement reading elements, not setting them, (2) it has to implement ancestor-subscripts, which map the flat index to that of the ancestor.

NOTE: flat-xviews do NOT have to be compatible across classes! Eg for Lisp arrays a flat-xview could be row-major, while for some other object it could be column major, etc. Only use FLAT XVIEWs if you truly don’t care about the order.

Package

xarray

Source

view.lisp (file)

Methods
Method: flat OBJECT
Generic Function: permutation OBJECT &rest PERMUTATION

Takes an xarray-able object and creates a View which is a permutation of indexes.

Package

xarray

Source

view.lisp (file)

Methods
Method: permutation OBJECT &rest PERMUTATION
Generic Function: x* A B &key ELEMENT-TYPE &allow-other-keys

Elementwise
* of two arrays, or an array and a scalar.

Package

xarray

Source

operations.lisp (file)

Methods
Method: x* A B &key ELEMENT-TYPE
Method: x* A (B number) &key ELEMENT-TYPE
Method: x* (A number) B &key ELEMENT-TYPE
Generic Function: x+ A B &key ELEMENT-TYPE &allow-other-keys

Elementwise
+ of two arrays, or an array and a scalar.

Package

xarray

Source

operations.lisp (file)

Methods
Method: x+ A B &key ELEMENT-TYPE
Method: x+ A (B number) &key ELEMENT-TYPE
Method: x+ (A number) B &key ELEMENT-TYPE
Generic Function: x- A B &key ELEMENT-TYPE &allow-other-keys

Elementwise
- of two arrays, or an array and a scalar.

Package

xarray

Source

operations.lisp (file)

Methods
Method: x- A B &key ELEMENT-TYPE
Method: x- A (B number) &key ELEMENT-TYPE
Method: x- (A number) B &key ELEMENT-TYPE
Generic Function: x/ A B &key ELEMENT-TYPE &allow-other-keys

Elementwise
/ of two arrays, or an array and a scalar.

Package

xarray

Source

operations.lisp (file)

Methods
Method: x/ A B &key ELEMENT-TYPE
Method: x/ A (B number) &key ELEMENT-TYPE
Method: x/ (A number) B &key ELEMENT-TYPE
Generic Function: x= A B &optional EPS

Return non-nil if A and B have the same dimensions,, and the sup|A-B| <= eps.

Package

xarray

Source

operations.lisp (file)

Methods
Method: x= A B &optional EPS
Generic Function: xcreate CLASS DIMENSIONS &optional OPTIONS

Return a new object of given type and dimensions,
with additional options. Dimensions can be a list, or a single number. xcreate can also be called as
(XCREATE (CONS CLASS OPTIONS) DIMENSIONS), in which case it will split the cons, merge OPTIONS and call XCREATE again.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xcreate (CLASS (eql array)) DIMENSIONS &optional OPTIONS
Source

array.lisp (file)

Method: xcreate (CLASS list) DIMENSIONS &optional OPTIONS
Generic Function: xdim OBJECT DIM

Return the size of the dim-th dim. We use the
default unless there is some sensible reason to implement otherwise.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xdim (OBJECT flat-xview) AXIS-NUMBER
Source

view.lisp (file)

Method: xdim (OBJECT column-major-projection-flat-xview) AXIS-NUMBER
Source

view.lisp (file)

Method: xdim (OBJECT column-major-projection-xview) AXIS-NUMBER
Source

view.lisp (file)

Method: xdim (OBJECT xslice-xview) AXIS-NUMBER
Source

view.lisp (file)

Method: xdim (OBJECT permutation-xview) AXIS-NUMBER
Source

view.lisp (file)

Method: xdim (OBJECT array) AXIS-NUMBER
Source

array.lisp (file)

Method: xdim (OBJECT xarray-like) (DIM integer)
Generic Function: xdims OBJECT

Return a list of dimensions of object. The list
does not share structure with anything, so it can be freely modified.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xdims OBJECT
Source

atoms.lisp (file)

Method: xdims (SEQ seq)
Source

sequences.lisp (file)

Method: xdims (OBJECT flat-xview)
Source

view.lisp (file)

Method: xdims (OBJECT column-major-projection-flat-xview)
Source

view.lisp (file)

Method: xdims (OBJECT column-major-projection-xview)
Source

view.lisp (file)

Method: xdims (OBJECT xslice-xview)
Source

view.lisp (file)

Method: xdims (OBJECT permutation-xview)
Source

view.lisp (file)

Method: xdims (OBJECT array)
Source

array.lisp (file)

Method: xdims (OBJECT xarray-like)
Generic Function: xdot A B

Dot product of two vectors.

Package

xarray

Source

operations.lisp (file)

Methods
Method: xdot A B
Generic Function: xelttype OBJECT &key LIST-OF-ROWS LIST-OF-COLUMNS

Return the type of elements. If no restriction is
imposed, return T. By default, T is expected, numerically-oriented matrices being the exception and hence different.

If there is :list-of-rows or :list-of-columns specified, then return a list with the types for the rows or columns, respectively. These would be a repeated list of the same type in the case of a numerical single-typed matrix.

We do not throw an error for this not being specified - it is only specified FOR restrictions, not when there are no restrictions.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xelttype OBJECT &key LIST-OF-ROWS LIST-OF-COLUMNS
Source

atoms.lisp (file)

Method: xelttype (SEQ int-seq) &key LIST-OF-ROWS LIST-OF-COLUMNS
Source

sequences.lisp (file)

Method: xelttype (OBJECT xview) &key LIST-OF-ROWS LIST-OF-COLUMNS
Source

view.lisp (file)

Method: xelttype (OBJECT array) &key LIST-OF-ROWS LIST-OF-COLUMNS
Source

array.lisp (file)

Method: xelttype (OBJECT xarray-like) &key LIST-OF-ROWS LIST-OF-COLUMNS
Generic Function: xmax A

Maximum of the elements.

Package

xarray

Source

operations.lisp (file)

Methods
Method: xmax A
Method: xmax (A array)
Generic Function: xmin A

Minimum of the elements.

Package

xarray

Source

operations.lisp (file)

Methods
Method: xmin A
Method: xmin (A array)
Generic Function: xprod A

Product of the elements.

Package

xarray

Source

operations.lisp (file)

Methods
Method: xprod A
Method: xprod (A array)
Generic Function: xrank OBJECT

Returns the number of dimensions of object.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xrank (OBJECT flat-xview)
Source

view.lisp (file)

Method: xrank (OBJECT column-major-projection-flat-xview)
Source

view.lisp (file)

Method: xrank (OBJECT column-major-projection-xview)
Source

view.lisp (file)

Method: xrank (OBJECT xslice-xview)
Source

view.lisp (file)

Method: xrank (OBJECT permutation-xview)
Source

view.lisp (file)

Method: xrank (OBJECT array)
Source

array.lisp (file)

Method: xrank (OBJECT xarray-like)
Generic Function: xref OBJECT &rest SUBSCRIPTS
Generic Function: (setf xref) VALUE OBJECT &rest SUBSCRIPTS

Accesses the element of the object specified by subscripts.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xref OBJECT &rest SUBSCRIPTS
Source

atoms.lisp (file)

Method: xref (SEQ int-seq) &rest SUBSCRIPTS
Source

sequences.lisp (file)

Method: xref (OBJECT flat-xview) &rest SUBSCRIPTS
Source

view.lisp (file)

Method: xref (OBJECT column-major-projection-flat-xview) &rest SUBSCRIPTS
Method: (setf xref) VALUE (OBJECT column-major-projection-flat-xview) &rest SUBSCRIPTS
Source

view.lisp (file)

Method: xref (OBJECT column-major-projection-xview) &rest SUBSCRIPTS
Method: (setf xref) VALUE (OBJECT column-major-projection-xview) &rest SUBSCRIPTS
Source

view.lisp (file)

Method: xref (OBJECT xslice-xview) &rest SUBSCRIPTS
Method: (setf xref) VALUE (OBJECT xslice-xview) &rest SUBSCRIPTS
Source

view.lisp (file)

Method: xref (OBJECT permutation-xview) &rest SUBSCRIPTS
Method: (setf xref) VALUE (OBJECT permutation-xview) &rest SUBSCRIPTS
Source

view.lisp (file)

Method: xref (OBJECT array) &rest SUBSCRIPTS
Method: (setf xref) VALUE (OBJECT array) &rest SUBSCRIPTS
Source

array.lisp (file)

Method: xref (OBJECT xarray-like) &rest SUBSCRIPTS
Generic Function: xsetf DESTINATION SOURCE &key MAP-FUNCTION

Copy the elements of source to destination.
Map-function, if given, will be used to map the elements, the default is conversion (if necessary) with coerce.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xsetf DESTINATION SOURCE &key MAP-FUNCTION
Generic Function: xsimilar RANK OBJECT

Return (CONS CLASS OPTIONS) for creating a similar
object with new rank. If rank is T, use rank of object. NOTE: for methods, make sure you specialize rank to fixnum if you are not handling T.

This method needs to be clarified a bit – it is more about providing meta data for rebuilding, not about determining some notion of equalness.

Package

xarray

Source

interface.lisp (file)

Methods
Method: xsimilar RANK OBJECT
Source

atoms.lisp (file)

Method: xsimilar RANK (OBJECT xview)
Source

view.lisp (file)

Method: xsimilar RANK (OBJECT array)
Source

array.lisp (file)

Method: xsimilar (RANK (eql t)) OBJECT
Method: xsimilar RANK (OBJECT xarray-like)
Generic Function: xsize OBJECT

Return the total number of elements in object.

Package

xarray

Source

interface.lisp (file)

Writer

(setf xsize) (generic function)

Methods
Method: xsize (SEQ seq)

length of sequence

Source

sequences.lisp (file)

Method: xsize (FLAT-XVIEW flat-xview)

total size

Source

view.lisp (file)

Method: xsize (COLUMN-MAJOR-PROJECTION-FLAT-XVIEW column-major-projection-flat-xview)

total size

Source

view.lisp (file)

Method: xsize (OBJECT column-major-projection-xview)
Source

view.lisp (file)

Method: xsize (OBJECT array)
Source

array.lisp (file)

Method: xsize (OBJECT xarray-like)
Generic Function: (setf xsize) NEW-VALUE OBJECT
Package

xarray

Reader

xsize (generic function)

Methods
Method: (setf xsize) NEW-VALUE (SEQ seq)

length of sequence

Source

sequences.lisp (file)

Generic Function: xslice OBJECT &rest INDEX-SPECIFICATIONS

Slice of an object.

Package

xarray

Source

view.lisp (file)

Writer

(setf xslice) (generic function)

Methods
Method: xslice OBJECT &rest INDEX-SPECIFICATIONS

Implementation note: we cache dimensions.

Generic Function: (setf xslice) VALUE OBJECT &rest INDEX-SPECIFICATIONS

setting a slice of an object.

Package

xarray

Source

view.lisp (file)

Reader

xslice (generic function)

Generic Function: xsum A

Sum of the elements.

Package

xarray

Source

operations.lisp (file)

Methods
Method: xsum A
Method: xsum (A array)

Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Conditions

Condition: xdim-invalid-axis-number ()
Package

xarray

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Condition: xref-incompatible-type ()
Package

xarray

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

subscripts (method)

Direct slots
Slot: subscripts
Initargs

:subscripts

Readers

subscripts (generic function)

Condition: xref-setting-readonly ()
Package

xarray

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods

subscripts (method)

Direct slots
Slot: subscripts
Initargs

:subscripts

Readers

subscripts (generic function)

Condition: xref-subscript-out-of-bounds ()
Package

xarray

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: subscripts
Initargs

:subscripts

Readers

subscripts (generic function)

Slot: dimensions
Initargs

:dimensions

Readers

dimensions (generic function)

Condition: xref-wrong-number-of-subscripts ()
Package

xarray

Source

conditions.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: subscripts
Initargs

:subscripts

Readers

subscripts (generic function)

Slot: rank
Initargs

:rank

Readers

rank (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Classes

Class: flat-xview ()
Package

xarray

Source

view.lisp (file)

Direct superclasses

xview (class)

Direct methods
Direct slots
Slot: xsize

total size

Type

fixnum

Readers

xsize (generic function)

Slot: ancestor-dimensions

dimensions of ancestor

Type

list

Readers

ancestor-dimensions (generic function)

Class: int-seq ()

A sequence of integers.

Package

xarray

Source

sequences.lisp (file)

Direct superclasses

seq (class)

Direct methods
Direct slots
Slot: start

first integer

Type

integer

Initargs

:start

Initform

0

Readers

start (generic function)

Class: permutation-xview ()
Package

xarray

Source

view.lisp (file)

Direct superclasses

xview (class)

Direct methods
Direct slots
Slot: permutation

permutation

Type

xarray::fixnum-vector

Initargs

:permutation

Slot: dimensions

dimensions

Type

xarray::fixnum-vector

Initargs

:dimensions

Readers

dimensions (generic function)

Class: xslice-xview ()
Package

xarray

Source

view.lisp (file)

Direct superclasses

xview (class)

Direct methods
Direct slots
Slot: index-specifications

vector of index specifications

Type

xarray::fixnum-vector

Initargs

:index-specifications

Readers

index-specifications (generic function)

Slot: dimensions

dimensions, cached

Type

xarray::fixnum-vector

Initargs

:dimensions

Readers

dimensions (generic function)

Class: xview ()
Package

xarray

Source

view.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: ancestor

the view of an underlying object that is accessible with xref

Initargs

:ancestor

Readers

ancestor (generic function)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Macros

Macro: define-elementwise-operation OPERATION &optional DOCUMENTATION NAME

Defines an elementwise operation, with some default methods that return arrays.

Package

xarray

Source

operations.lisp (file)

Macro: define-flat-reduction NAME MODIFY-MACRO DOCSTRING &body BODY

Define a generic function named NAME which reduces its argument elementwise. body is spliced into the iterate loop, and can be used for early returns, etc. See code for variable names.

Package

xarray

Source

operations.lisp (file)

Macro: maxf PLACE &rest VALUES

Replace with largest of the place and the given values.

Package

xarray

Source

utilities.lisp (file)

Macro: minf PLACE &rest VALUES

Replace with smallest of the place and the given values.

Package

xarray

Source

utilities.lisp (file)

Macro: multf PLACE &rest VALUES

Multiply (& set) the first argument by the rest.

Package

xarray

Source

utilities.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Functions

Function: convert-slice-subscripts INDEX-SPECIFICATIONS SUBSCRIPTS

Convert subscripts using index-specifications.

Package

xarray

Source

view.lisp (file)

Function: delete-duplicate-keywords PAIRS

Delete conses with duplicate keywords. Destructive.

Package

xarray

Source

utilities.lisp (file)

Function: element-conversion-function SOURCE DESTINATION

Return a conversion function that is identity if (subtypep source destination), or constructed with coerce otherwise.

Package

xarray

Source

utilities.lisp (file)

Function: fill-array-with-list ARRAY LIST

Fills array with elements from list, coerced to the appropriate type. No error checking, meant to be used internally. Return array.

Package

xarray

Source

utilities.lisp (file)

Function: flat->pairs LIST

Transform a flat list of keyword-option pairs to a list of conses.

Package

xarray

Source

utilities.lisp (file)

Function: index-specification-dimension INDEX-SPECIFICATION

Return dimension of parsed index-specification. Internal function, no error checking. Return nil for dropped dimensions.

Package

xarray

Source

view.lisp (file)

Function: invert-permutation PERMUTATION

Return the inverse of a valid permutation vector (validity is not checked, results are not defined for invalid permutations).

Package

xarray

Source

utilities.lisp (file)

Function: make-symbol* &rest ARGS

Build a symbol by concatenating each element of ARGS, and intern it in the current package. Elements can be strings or symbols.

Package

xarray

Source

utilities.lisp (file)

Function: merge-options &rest OPTIONS-SPECS

Merge options specifications. Duplicate pairs are removed, options that come later (both within and between arguments) are used.

Package

xarray

Source

utilities.lisp (file)

Function: mklist OBJ
Package

xarray

Source

utilities.lisp (file)

Function: numeric-type-classifier LIST

Numeric type classifier, finds the smallest subtype that can accomodate the elements of list, in the ordering fixnum < integer < float < complex < t. Rational, float (any kind) are classified as double-float, and complex numbers as (complex double-float). Meant to be used by simple array-constructing functions. Upgraded-array-element-type is called on end result.

Package

xarray

Source

utilities.lisp (file)

Function: pairs->flat PAIRS

Flatten a list of conses.

Package

xarray

Source

utilities.lisp (file)

Function: parse-index-specification INDEX-SPECIFICATION DIMENSION

Parse a index specification, returning either

- an integer i, with the dimension dropped,

- a pair (start . length), where start is the starting index, and
length is the number of valid indexes. If dimension is negative, indexing is decreasing from start. This is used for contiguous indexes

- a vector of indexes, for non-contiguous indexing.

All resulting indexes are valid, ie they are integers in
[0,dimension).

Range specifications:

Negative integers are interpreted as counted backwards from the right edge of the domain, ie i < 0 denotes element dimension-i. The l

Valid index-specification specifications (a and b are integers):

a index a, dimension dropped
(list a) index a, dimension not dropped
(list a b) range between a and b, inclusive. If b < a, reversed. :all all valid indexes, increasing order
:rev all valid indexes, decreasing order
(vector i1 ... in) vector of indexes, must be a set (no repetition).

Package

xarray

Source

view.lisp (file)

Function: permute-sequence PERMUTATION SEQUENCE

Return permuted sequence as a list. Works even if indexes repeat.

Package

xarray

Source

utilities.lisp (file)

Function: valid-integer-subset-p VECTOR DIMENSION

Return non-nil (t) iff vector is a valid subset (ie with no repetition) of integers 0,1,...,(1- dimension).

Package

xarray

Source

utilities.lisp (file)

Function: valid-permutation-p VECTOR &optional DIMENSION

Return non-nil (t) iff vector is a valid permutation of integers 0,1,...,(1- dimension).

Package

xarray

Source

utilities.lisp (file)

Function: vector-within-dimension-p VECTOR DIMENSION

Return non-nil iff all elements in vector are in [0,dimension).

Package

xarray

Source

utilities.lisp (file)

Function: within-dimension-p SUBSCRIPT DIMENSION

Check if 0 <= subscript < dimension.

Package

xarray

Source

utilities.lisp (file)

Function: xdims= A B

Return non-nil iff the dimensions of A and B are the same.

Package

xarray

Source

operations.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Generic functions

Generic Function: ancestor OBJECT
Package

xarray

Methods
Method: ancestor (XVIEW xview)

the view of an underlying object that is accessible with xref

Source

view.lisp (file)

Generic Function: ancestor-dimensions OBJECT
Package

xarray

Methods
Method: ancestor-dimensions (FLAT-XVIEW flat-xview)

dimensions of ancestor

Source

view.lisp (file)

Method: ancestor-dimensions (COLUMN-MAJOR-PROJECTION-FLAT-XVIEW column-major-projection-flat-xview)

dimensions of ancestor

Source

view.lisp (file)

Method: ancestor-dimensions (COLUMN-MAJOR-PROJECTION-XVIEW column-major-projection-xview)

dimensions of ancestor

Source

view.lisp (file)

Generic Function: ancestor-subscripts OBJECT INDEX

Map the flat index the subscripts of the ancestor.

Package

xarray

Source

view.lisp (file)

Methods
Method: ancestor-subscripts (OBJECT flat-xview) INDEX
Generic Function: dimensions CONDITION
Package

xarray

Methods
Method: dimensions (COLUMN-MAJOR-PROJECTION-XVIEW column-major-projection-xview)

dimensions

Source

view.lisp (file)

Method: dimensions (XSLICE-XVIEW xslice-xview)

dimensions, cached

Source

view.lisp (file)

Method: dimensions (PERMUTATION-XVIEW permutation-xview)

dimensions

Source

view.lisp (file)

Method: dimensions (CONDITION xref-subscript-out-of-bounds)
Source

conditions.lisp (file)

Generic Function: index-specifications OBJECT
Package

xarray

Methods
Method: index-specifications (XSLICE-XVIEW xslice-xview)

vector of index specifications

Source

view.lisp (file)

Generic Function: rank CONDITION
Package

xarray

Methods
Method: rank (CONDITION xref-wrong-number-of-subscripts)
Source

conditions.lisp (file)

Generic Function: start OBJECT
Package

xarray

Methods
Method: start (INT-SEQ int-seq)

first integer

Source

sequences.lisp (file)

Generic Function: subscripts CONDITION
Package

xarray

Methods
Method: subscripts (CONDITION xref-incompatible-type)
Source

conditions.lisp (file)

Method: subscripts (CONDITION xref-setting-readonly)
Source

conditions.lisp (file)

Method: subscripts (CONDITION xref-wrong-number-of-subscripts)
Source

conditions.lisp (file)

Method: subscripts (CONDITION xref-subscript-out-of-bounds)
Source

conditions.lisp (file)

Generic Function: transpose OBJECT

Tranposed view.

Package

xarray

Source

view.lisp (file)

Methods
Method: transpose OBJECT

Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Classes

Class: column-major-projection-flat-xview ()
Package

xarray

Source

view.lisp (file)

Direct superclasses

xview (class)

Direct methods
Direct slots
Slot: xsize

total size

Type

fixnum

Initargs

:xsize

Readers

xsize (generic function)

Slot: ancestor-dimensions

dimensions of ancestor

Type

list

Initargs

:ancestor-dimensions

Readers

ancestor-dimensions (generic function)

Class: column-major-projection-xview ()
Package

xarray

Source

view.lisp (file)

Direct superclasses

xview (class)

Direct methods
Direct slots
Slot: dimensions

dimensions

Type

list

Initargs

:dimensions

Readers

dimensions (generic function)

Slot: ancestor-dimensions

dimensions of ancestor

Type

list

Initargs

:ancestor-dimensions

Readers

ancestor-dimensions (generic function)

Class: seq ()
Package

xarray

Source

sequences.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

int-seq (class)

Direct methods
Direct slots
Slot: xsize

length of sequence

Initargs

:xsize

Readers

xsize (generic function)

Writers

(setf xsize) (generic function)

Class: xarray-like ()

mixin virtual superclass to indicate support for
dispatch and generics. There should be no objects instantiated with this class.

Package

xarray

Source

interface.lisp (file)

Direct superclasses

standard-object (class)

Direct methods

Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Types

Type: fixnum-vector ()

Simple array of one dimension, containing fixnums.

Package

xarray

Source

types.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M   X  
Index Entry  Section

F
File, Lisp, xarray.asd: The xarray<dot>asd file
File, Lisp, xarray/basics/conditions.lisp: The xarray/basics/conditions<dot>lisp file
File, Lisp, xarray/basics/interface.lisp: The xarray/basics/interface<dot>lisp file
File, Lisp, xarray/basics/types.lisp: The xarray/basics/types<dot>lisp file
File, Lisp, xarray/basics/utilities.lisp: The xarray/basics/utilities<dot>lisp file
File, Lisp, xarray/functionality/array.lisp: The xarray/functionality/array<dot>lisp file
File, Lisp, xarray/functionality/atoms.lisp: The xarray/functionality/atoms<dot>lisp file
File, Lisp, xarray/functionality/operations.lisp: The xarray/functionality/operations<dot>lisp file
File, Lisp, xarray/functionality/sequences.lisp: The xarray/functionality/sequences<dot>lisp file
File, Lisp, xarray/functionality/view.lisp: The xarray/functionality/view<dot>lisp file
File, Lisp, xarray/package-init/package.lisp: The xarray/package-init/package<dot>lisp file

L
Lisp File, xarray.asd: The xarray<dot>asd file
Lisp File, xarray/basics/conditions.lisp: The xarray/basics/conditions<dot>lisp file
Lisp File, xarray/basics/interface.lisp: The xarray/basics/interface<dot>lisp file
Lisp File, xarray/basics/types.lisp: The xarray/basics/types<dot>lisp file
Lisp File, xarray/basics/utilities.lisp: The xarray/basics/utilities<dot>lisp file
Lisp File, xarray/functionality/array.lisp: The xarray/functionality/array<dot>lisp file
Lisp File, xarray/functionality/atoms.lisp: The xarray/functionality/atoms<dot>lisp file
Lisp File, xarray/functionality/operations.lisp: The xarray/functionality/operations<dot>lisp file
Lisp File, xarray/functionality/sequences.lisp: The xarray/functionality/sequences<dot>lisp file
Lisp File, xarray/functionality/view.lisp: The xarray/functionality/view<dot>lisp file
Lisp File, xarray/package-init/package.lisp: The xarray/package-init/package<dot>lisp file

M
Module, xarray/basics: The xarray/basics module
Module, xarray/functionality: The xarray/functionality module
Module, xarray/package-init: The xarray/package-init module

X
xarray.asd: The xarray<dot>asd file
xarray/basics: The xarray/basics module
xarray/basics/conditions.lisp: The xarray/basics/conditions<dot>lisp file
xarray/basics/interface.lisp: The xarray/basics/interface<dot>lisp file
xarray/basics/types.lisp: The xarray/basics/types<dot>lisp file
xarray/basics/utilities.lisp: The xarray/basics/utilities<dot>lisp file
xarray/functionality: The xarray/functionality module
xarray/functionality/array.lisp: The xarray/functionality/array<dot>lisp file
xarray/functionality/atoms.lisp: The xarray/functionality/atoms<dot>lisp file
xarray/functionality/operations.lisp: The xarray/functionality/operations<dot>lisp file
xarray/functionality/sequences.lisp: The xarray/functionality/sequences<dot>lisp file
xarray/functionality/view.lisp: The xarray/functionality/view<dot>lisp file
xarray/package-init: The xarray/package-init module
xarray/package-init/package.lisp: The xarray/package-init/package<dot>lisp file

Jump to:   F   L   M   X  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   O   P   R   S   T   V   W   X  
Index Entry  Section

(
(setf xref): Exported generic functions
(setf xref): Exported generic functions
(setf xref): Exported generic functions
(setf xref): Exported generic functions
(setf xref): Exported generic functions
(setf xref): Exported generic functions
(setf xsize): Exported generic functions
(setf xsize): Exported generic functions
(setf xslice): Exported generic functions

A
ancestor: Internal generic functions
ancestor: Internal generic functions
ancestor-dimensions: Internal generic functions
ancestor-dimensions: Internal generic functions
ancestor-dimensions: Internal generic functions
ancestor-dimensions: Internal generic functions
ancestor-subscripts: Internal generic functions
ancestor-subscripts: Internal generic functions
as*: Exported generic functions
as*: Exported generic functions
as*: Exported generic functions
as*: Exported generic functions
as*: Exported generic functions
as*: Exported generic functions

C
carray: Exported functions
carray*: Exported functions
cm-index: Exported functions
cm-subscripts: Exported functions
column-major-projection: Exported generic functions
column-major-projection: Exported generic functions
convert-slice-subscripts: Internal functions
copy-as: Exported functions
cvector: Exported functions
cvector*: Exported functions

D
define-elementwise-operation: Internal macros
define-flat-reduction: Internal macros
delete-duplicate-keywords: Internal functions
dimensions: Internal generic functions
dimensions: Internal generic functions
dimensions: Internal generic functions
dimensions: Internal generic functions
dimensions: Internal generic functions
drop: Exported functions

E
element-conversion-function: Internal functions

F
fill-array-with-list: Internal functions
flat: Exported generic functions
flat: Exported generic functions
flat->pairs: Internal functions
Function, carray: Exported functions
Function, carray*: Exported functions
Function, cm-index: Exported functions
Function, cm-subscripts: Exported functions
Function, convert-slice-subscripts: Internal functions
Function, copy-as: Exported functions
Function, cvector: Exported functions
Function, cvector*: Exported functions
Function, delete-duplicate-keywords: Internal functions
Function, drop: Exported functions
Function, element-conversion-function: Internal functions
Function, fill-array-with-list: Internal functions
Function, flat->pairs: Internal functions
Function, index-specification-dimension: Internal functions
Function, int-seq: Exported functions
Function, invert-permutation: Internal functions
Function, make-symbol*: Internal functions
Function, merge-options: Internal functions
Function, mklist: Internal functions
Function, numeric-type-classifier: Internal functions
Function, original-ancestor: Exported functions
Function, pairs->flat: Internal functions
Function, parse-index-specification: Internal functions
Function, permute-sequence: Internal functions
Function, rm-index: Exported functions
Function, rm-subscripts: Exported functions
Function, valid-integer-subset-p: Internal functions
Function, valid-permutation-p: Internal functions
Function, vector-within-dimension-p: Internal functions
Function, within-dimension-p: Internal functions
Function, xcollect: Exported functions
Function, xconcat: Exported functions
Function, xcreate-similar: Exported functions
Function, xdims=: Internal functions
Function, xmap: Exported functions
Function, xmean: Exported functions
Function, xop: Exported functions
Function, xorder: Exported functions
Function, xsort: Exported functions

G
Generic Function, (setf xref): Exported generic functions
Generic Function, (setf xsize): Exported generic functions
Generic Function, (setf xslice): Exported generic functions
Generic Function, ancestor: Internal generic functions
Generic Function, ancestor-dimensions: Internal generic functions
Generic Function, ancestor-subscripts: Internal generic functions
Generic Function, as*: Exported generic functions
Generic Function, column-major-projection: Exported generic functions
Generic Function, dimensions: Internal generic functions
Generic Function, flat: Exported generic functions
Generic Function, index-specifications: Internal generic functions
Generic Function, permutation: Exported generic functions
Generic Function, rank: Internal generic functions
Generic Function, start: Internal generic functions
Generic Function, subscripts: Internal generic functions
Generic Function, transpose: Internal generic functions
Generic Function, x*: Exported generic functions
Generic Function, x+: Exported generic functions
Generic Function, x-: Exported generic functions
Generic Function, x/: Exported generic functions
Generic Function, x=: Exported generic functions
Generic Function, xcreate: Exported generic functions
Generic Function, xdim: Exported generic functions
Generic Function, xdims: Exported generic functions
Generic Function, xdot: Exported generic functions
Generic Function, xelttype: Exported generic functions
Generic Function, xmax: Exported generic functions
Generic Function, xmin: Exported generic functions
Generic Function, xprod: Exported generic functions
Generic Function, xrank: Exported generic functions
Generic Function, xref: Exported generic functions
Generic Function, xsetf: Exported generic functions
Generic Function, xsimilar: Exported generic functions
Generic Function, xsize: Exported generic functions
Generic Function, xslice: Exported generic functions
Generic Function, xsum: Exported generic functions

I
index-specification-dimension: Internal functions
index-specifications: Internal generic functions
index-specifications: Internal generic functions
int-seq: Exported functions
invert-permutation: Internal functions

M
Macro, define-elementwise-operation: Internal macros
Macro, define-flat-reduction: Internal macros
Macro, maxf: Internal macros
Macro, minf: Internal macros
Macro, multf: Internal macros
make-symbol*: Internal functions
maxf: Internal macros
merge-options: Internal functions
Method, (setf xref): Exported generic functions
Method, (setf xref): Exported generic functions
Method, (setf xref): Exported generic functions
Method, (setf xref): Exported generic functions
Method, (setf xref): Exported generic functions
Method, (setf xsize): Exported generic functions
Method, ancestor: Internal generic functions
Method, ancestor-dimensions: Internal generic functions
Method, ancestor-dimensions: Internal generic functions
Method, ancestor-dimensions: Internal generic functions
Method, ancestor-subscripts: Internal generic functions
Method, as*: Exported generic functions
Method, as*: Exported generic functions
Method, as*: Exported generic functions
Method, as*: Exported generic functions
Method, as*: Exported generic functions
Method, column-major-projection: Exported generic functions
Method, dimensions: Internal generic functions
Method, dimensions: Internal generic functions
Method, dimensions: Internal generic functions
Method, dimensions: Internal generic functions
Method, flat: Exported generic functions
Method, index-specifications: Internal generic functions
Method, permutation: Exported generic functions
Method, rank: Internal generic functions
Method, start: Internal generic functions
Method, subscripts: Internal generic functions
Method, subscripts: Internal generic functions
Method, subscripts: Internal generic functions
Method, subscripts: Internal generic functions
Method, transpose: Internal generic functions
Method, x*: Exported generic functions
Method, x*: Exported generic functions
Method, x*: Exported generic functions
Method, x+: Exported generic functions
Method, x+: Exported generic functions
Method, x+: Exported generic functions
Method, x-: Exported generic functions
Method, x-: Exported generic functions
Method, x-: Exported generic functions
Method, x/: Exported generic functions
Method, x/: Exported generic functions
Method, x/: Exported generic functions
Method, x=: Exported generic functions
Method, xcreate: Exported generic functions
Method, xcreate: Exported generic functions
Method, xdim: Exported generic functions
Method, xdim: Exported generic functions
Method, xdim: Exported generic functions
Method, xdim: Exported generic functions
Method, xdim: Exported generic functions
Method, xdim: Exported generic functions
Method, xdim: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdims: Exported generic functions
Method, xdot: Exported generic functions
Method, xelttype: Exported generic functions
Method, xelttype: Exported generic functions
Method, xelttype: Exported generic functions
Method, xelttype: Exported generic functions
Method, xelttype: Exported generic functions
Method, xmax: Exported generic functions
Method, xmax: Exported generic functions
Method, xmin: Exported generic functions
Method, xmin: Exported generic functions
Method, xprod: Exported generic functions
Method, xprod: Exported generic functions
Method, xrank: Exported generic functions
Method, xrank: Exported generic functions
Method, xrank: Exported generic functions
Method, xrank: Exported generic functions
Method, xrank: Exported generic functions
Method, xrank: Exported generic functions
Method, xrank: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xref: Exported generic functions
Method, xsetf: Exported generic functions
Method, xsimilar: Exported generic functions
Method, xsimilar: Exported generic functions
Method, xsimilar: Exported generic functions
Method, xsimilar: Exported generic functions
Method, xsimilar: Exported generic functions
Method, xsize: Exported generic functions
Method, xsize: Exported generic functions
Method, xsize: Exported generic functions
Method, xsize: Exported generic functions
Method, xsize: Exported generic functions
Method, xsize: Exported generic functions
Method, xslice: Exported generic functions
Method, xsum: Exported generic functions
Method, xsum: Exported generic functions
minf: Internal macros
mklist: Internal functions
multf: Internal macros

N
numeric-type-classifier: Internal functions

O
original-ancestor: Exported functions

P
pairs->flat: Internal functions
parse-index-specification: Internal functions
permutation: Exported generic functions
permutation: Exported generic functions
permute-sequence: Internal functions

R
rank: Internal generic functions
rank: Internal generic functions
rm-index: Exported functions
rm-subscripts: Exported functions

S
start: Internal generic functions
start: Internal generic functions
subscripts: Internal generic functions
subscripts: Internal generic functions
subscripts: Internal generic functions
subscripts: Internal generic functions
subscripts: Internal generic functions

T
transpose: Internal generic functions
transpose: Internal generic functions

V
valid-integer-subset-p: Internal functions
valid-permutation-p: Internal functions
vector-within-dimension-p: Internal functions

W
within-dimension-p: Internal functions

X
x*: Exported generic functions
x*: Exported generic functions
x*: Exported generic functions
x*: Exported generic functions
x+: Exported generic functions
x+: Exported generic functions
x+: Exported generic functions
x+: Exported generic functions
x-: Exported generic functions
x-: Exported generic functions
x-: Exported generic functions
x-: Exported generic functions
x/: Exported generic functions
x/: Exported generic functions
x/: Exported generic functions
x/: Exported generic functions
x=: Exported generic functions
x=: Exported generic functions
xcollect: Exported functions
xconcat: Exported functions
xcreate: Exported generic functions
xcreate: Exported generic functions
xcreate: Exported generic functions
xcreate-similar: Exported functions
xdim: Exported generic functions
xdim: Exported generic functions
xdim: Exported generic functions
xdim: Exported generic functions
xdim: Exported generic functions
xdim: Exported generic functions
xdim: Exported generic functions
xdim: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims: Exported generic functions
xdims=: Internal functions
xdot: Exported generic functions
xdot: Exported generic functions
xelttype: Exported generic functions
xelttype: Exported generic functions
xelttype: Exported generic functions
xelttype: Exported generic functions
xelttype: Exported generic functions
xelttype: Exported generic functions
xmap: Exported functions
xmax: Exported generic functions
xmax: Exported generic functions
xmax: Exported generic functions
xmean: Exported functions
xmin: Exported generic functions
xmin: Exported generic functions
xmin: Exported generic functions
xop: Exported functions
xorder: Exported functions
xprod: Exported generic functions
xprod: Exported generic functions
xprod: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xrank: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xref: Exported generic functions
xsetf: Exported generic functions
xsetf: Exported generic functions
xsimilar: Exported generic functions
xsimilar: Exported generic functions
xsimilar: Exported generic functions
xsimilar: Exported generic functions
xsimilar: Exported generic functions
xsimilar: Exported generic functions
xsize: Exported generic functions
xsize: Exported generic functions
xsize: Exported generic functions
xsize: Exported generic functions
xsize: Exported generic functions
xsize: Exported generic functions
xsize: Exported generic functions
xslice: Exported generic functions
xslice: Exported generic functions
xsort: Exported functions
xsum: Exported generic functions
xsum: Exported generic functions
xsum: Exported generic functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   O   P   R   S   T   V   W   X  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   A   D   I   P   R   S   X  
Index Entry  Section

A
ancestor: Exported classes
ancestor-dimensions: Exported classes
ancestor-dimensions: Internal classes
ancestor-dimensions: Internal classes

D
dimensions: Exported conditions
dimensions: Exported classes
dimensions: Exported classes
dimensions: Internal classes

I
index-specifications: Exported classes

P
permutation: Exported classes

R
rank: Exported conditions

S
Slot, ancestor: Exported classes
Slot, ancestor-dimensions: Exported classes
Slot, ancestor-dimensions: Internal classes
Slot, ancestor-dimensions: Internal classes
Slot, dimensions: Exported conditions
Slot, dimensions: Exported classes
Slot, dimensions: Exported classes
Slot, dimensions: Internal classes
Slot, index-specifications: Exported classes
Slot, permutation: Exported classes
Slot, rank: Exported conditions
Slot, start: Exported classes
Slot, subscripts: Exported conditions
Slot, subscripts: Exported conditions
Slot, subscripts: Exported conditions
Slot, subscripts: Exported conditions
Slot, xsize: Exported classes
Slot, xsize: Internal classes
Slot, xsize: Internal classes
start: Exported classes
subscripts: Exported conditions
subscripts: Exported conditions
subscripts: Exported conditions
subscripts: Exported conditions

X
xsize: Exported classes
xsize: Internal classes
xsize: Internal classes

Jump to:   A   D   I   P   R   S   X  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   F   I   P   S   T   X  
Index Entry  Section

C
Class, column-major-projection-flat-xview: Internal classes
Class, column-major-projection-xview: Internal classes
Class, flat-xview: Exported classes
Class, int-seq: Exported classes
Class, permutation-xview: Exported classes
Class, seq: Internal classes
Class, xarray-like: Internal classes
Class, xslice-xview: Exported classes
Class, xview: Exported classes
column-major-projection-flat-xview: Internal classes
column-major-projection-xview: Internal classes
Condition, xdim-invalid-axis-number: Exported conditions
Condition, xref-incompatible-type: Exported conditions
Condition, xref-setting-readonly: Exported conditions
Condition, xref-subscript-out-of-bounds: Exported conditions
Condition, xref-wrong-number-of-subscripts: Exported conditions

F
fixnum-vector: Internal types
flat-xview: Exported classes

I
int-seq: Exported classes

P
Package, xarray: The xarray package
Package, xarray-asd: The xarray-asd package
permutation-xview: Exported classes

S
seq: Internal classes
System, xarray: The xarray system

T
Type, fixnum-vector: Internal types

X
xarray: The xarray system
xarray: The xarray package
xarray-asd: The xarray-asd package
xarray-like: Internal classes
xdim-invalid-axis-number: Exported conditions
xref-incompatible-type: Exported conditions
xref-setting-readonly: Exported conditions
xref-subscript-out-of-bounds: Exported conditions
xref-wrong-number-of-subscripts: Exported conditions
xslice-xview: Exported classes
xview: Exported classes

Jump to:   C   F   I   P   S   T   X