package arrayjit

  1. Overview
  2. Docs

Module Arrayjit.AssignmentsSource

The code for operating on n-dimensional arrays.

Sourcemodule Lazy = Utils.Lazy
Sourcemodule Tn = Tnode
Sourcemodule Debug_runtime = Utils.Debug_runtime
Sourceval _get_local_debug_runtime : unit -> (module Minidebug_runtime.Debug_runtime)
Sourcetype buffer =
  1. | Node of Tn.t
  2. | Merge_buffer of Tn.t
Sourceval sexp_of_buffer : buffer -> Sexplib0.Sexp.t
Sourcetype fetch_op =
  1. | Constant of Base.float
  2. | Imported of Ops.global_identifier
  3. | Slice of {
    1. batch_idx : Indexing.static_symbol;
    2. sliced : Tn.t;
    }
  4. | Embed_symbol of Indexing.static_symbol

Resets a array by performing the specified computation or data fetching.

Sourceand t =
  1. | Noop
  2. | Seq of t * t
  3. | Block_comment of Base.string * t
    (*

    Same as the given code, with a comment.

    *)
  4. | Accum_binop of {
    1. initialize_neutral : Base.bool;
    2. accum : Ops.binop;
    3. op : Ops.binop;
    4. lhs : Tn.t;
    5. rhs1 : buffer;
    6. rhs2 : buffer;
    7. projections : Indexing.projections Lazy.t;
    }
  5. | Accum_unop of {
    1. initialize_neutral : Base.bool;
    2. accum : Ops.binop;
    3. op : Ops.unop;
    4. lhs : Tn.t;
    5. rhs : buffer;
    6. projections : Indexing.projections Lazy.t;
    }
  6. | Fetch of {
    1. array : Tn.t;
    2. fetch_op : fetch_op;
    3. dims : Base.int Base.array Lazy.t;
    }
Sourceval sexp_of_fetch_op : fetch_op -> Sexplib0.Sexp.t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval get_name_exn : t -> Base.String.t
Sourceval recurrent_nodes : t -> (Tn.t, Tn.comparator_witness) Base.Set.t
Sourceval sequential : t Base.List.t -> t
Sourceval to_low_level : t -> Low_level.t
Sourceval flatten : t -> t list
Sourceval is_noop : t -> bool
Sourceval get_ident_within_code : ?no_dots:bool -> t -> Tn.t -> Base.String.t
Sourceval fprint_hum : ?name:string -> ?static_indices:Indexing.static_symbol list -> unit -> Format.formatter -> t -> unit