Version: dev

band_entry

Stable type · The planner

Tier: stable · Kind: type · Topic: The planner

JuliaRust
BandEntrynot exported

Julia

struct BandEntry
BandEntry(row::String, col::String, rows::Vector{Tuple{Int64, Int64}}, row_idx::Vector{Union{Int64, String}}, col_idx::Vector{Any}, contracted::Vector{Tuple{String, Int64, Int64}})
BandEntry(row, col, rows, row_idx, col_idx, contracted)
BandEntry(row, col, rows, row_idx, col_idx)
BandEntry(d::AbstractDict)
BandEntry

One entry of EarthSciASTDiff’s band list (esm-jacobian-spec §4), in the form its serialize_band writes, without coef:

  • row, col: the row and column variables (flattened names);
  • rows: per dimension of row, the inclusive range (lo, hi); empty for a scalar row;
  • row_idx: per dimension of row, an index name (String) or an integer;
  • col_idx: per dimension of col, an expression in EarthSciAST’s serialized form (a name String, an Integer literal, a Float64 literal, or a Dict with "op" and "args"); empty for a scalar column;
  • contracted: free contracted dimensions (name, lo, hi), possibly empty.

Stage 2 builds these from EarthSciASTDiff.serialize_band’s output.


A BandEntry from serialize_band’s dictionary (its coef, if present, is ignored).

Source

Rust

Rust does not export this type.