scatter_plan (type)
Stable type · Evaluate the Jacobian
Tier: stable · Kind: type · Topic: Evaluate the Jacobian
| Julia | Python | Rust |
|---|---|---|
ScatterPlan | not exported | ScatterPlan |
Julia
abstract type ScatterPlan
ScatterPlan
Band fields → storage positions for one (band list, layout). Built by
scatter_plan
, serialized by serialize_scatter_plan,
bound to an evaluator by bind_plan. Every plan carries the
canonical states (name, shape) and the bands (row var, column var, field
shape) it was built from, which is what binding checks.
Python
Python does not export this type.
Rust
pub struct ScatterPlan {
pub states: Vec<(String, Vec<i64>)>,
pub bands: Vec<(String, String, Vec<i64>)>,
pub kind: PlanKind,
}
impl ScatterPlan { pub fn from_file(file: &EsmFile, model_name: Option<&str>, layout: &Layout) -> Result<ScatterPlan, BandError> }
impl ScatterPlan { pub fn build(sv: &SysView<'_>, entries: &[JacEntry], layout: &Layout) -> Result<ScatterPlan, BandError> }
impl ScatterPlan { pub fn to_json(&self) -> Value }
impl ScatterPlan { pub fn lanes(&self) -> usize }
impl ScatterPlan { pub fn out_len(&self, l: usize) -> usize }
impl ScatterPlan { pub fn bind(&self, file: &EsmFile, model_name: Option<&str>, l: usize) -> Result<BoundScatter, BandError> }
impl ScatterPlan { pub fn bind_entries(&self, sv: &SysView<'_>, entries: &[JacEntry], l: usize) -> Result<BoundScatter, BandError> }
impl ScatterPlan { pub fn targets(&self, l: usize) -> Vec<Option<(String, String)>> }
Band fields → storage positions for one (band list, layout). Plain data:
Send + Sync, built once, shared by every leaf using the operator.