numrs/llo/shape.rs
1use serde::{Serialize, Deserialize};
2
3/// Shape-related kinds for LLO (reshape, transpose, concat, slice, etc.)
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
5pub enum ShapeKind {
6 Reshape,
7 Transpose,
8 Permute,
9 Flatten,
10 Squeeze,
11 Unsqueeze,
12 BroadcastTo,
13 ExpandDims,
14 Concat,
15 Stack,
16 Tile,
17 Repeat,
18 Slice,
19 Take,
20 Gather,
21}
22
23impl Default for ShapeKind {
24 fn default() -> Self { ShapeKind::Reshape }
25}
26
27// Future: Add small helpers or shape metadata structs if needed for codegen