DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(guile.info.gz) Array Mapping

Info Catalog (guile.info.gz) Conventional Arrays (guile.info.gz) Arrays (guile.info.gz) Uniform Arrays
 
 22.6.2 Array Mapping
 --------------------
 
  -- Scheme Procedure: array-map! ra0 proc . lra
  -- Scheme Procedure: array-map-in-order! ra0 proc . lra
  -- C Function: scm_array_map_x (ra0, proc, lra)
      ARRAY1, ... must have the same number of dimensions as ARRAY0 and
      have a range for each index which includes the range for the
      corresponding index in ARRAY0.  PROC is applied to each tuple of
      elements of ARRAY1 ... and the result is stored as the
      corresponding element in ARRAY0.  The value returned is
      unspecified.  The order of application is unspecified.
 
  -- Scheme Procedure: array-for-each proc ra0 . lra
  -- C Function: scm_array_for_each (proc, ra0, lra)
      Apply PROC to each tuple of elements of ARRAY0 ...  in row-major
      order.  The value returned is unspecified.
 
  -- Scheme Procedure: array-index-map! ra proc
  -- C Function: scm_array_index_map_x (ra, proc)
      Apply PROC to the indices of each element of ARRAY in turn,
      storing the result in the corresponding element.  The value
      returned and the order of application are unspecified.
 
      One can implement ARRAY-INDEXES as
           (define (array-indexes array)
               (let ((ra (apply make-array #f (array-shape array))))
                 (array-index-map! ra (lambda x x))
                 ra))
      Another example:
           (define (apl:index-generator n)
               (let ((v (make-uniform-vector n 1)))
                 (array-index-map! v (lambda (i) i))
                 v))
 
Info Catalog (guile.info.gz) Conventional Arrays (guile.info.gz) Arrays (guile.info.gz) Uniform Arrays
automatically generated byinfo2html