pub enum Operation {
Show 14 variants
EnsureZero {
list_id: Vec<usize>,
},
EnsureZeroOne {
id: usize,
},
MultiplyAlpha {
id: usize,
},
MultiplyScalar {
scalar: u8,
id: usize,
},
AddOneToVector {
src_id: usize,
target_id: usize,
},
AddTwoToVector {
s0: usize,
s1: usize,
target_id: usize,
},
AddThreeToVector {
s0: usize,
s1: usize,
s2: usize,
target_id: usize,
},
AddToVector {
list_id: Vec<usize>,
target_id: usize,
},
BroadcastAdd {
src_id: usize,
target_ids: Vec<usize>,
},
MulAdd {
src_id: usize,
scalar: u8,
target_id: usize,
},
MoveTo {
src_id: usize,
target_id: usize,
},
CopyTo {
src_id: usize,
target_id: usize,
},
Remove {
id: usize,
},
InfoCodedVector {
coded_id: usize,
data_id: usize,
},
}Expand description
Data vector operations that can be recorded for delayed execution.
Each variant represents a single atomic operation on data vectors
identified by their unique IDs. The DataManager
records these operations and optionally forwards them to a
DataOperator for immediate execution.
Variants§
EnsureZero
Zero out the vectors with the given IDs.
EnsureZeroOne
MultiplyAlpha
Multiply a vector element-wise by the primitive element alpha in GF(256).
MultiplyScalar
Multiply a vector element-wise by a GF(256) scalar.
AddOneToVector
XOR one source vector into a target (GF(2) hot path; no Vec allocation).
AddTwoToVector
XOR two source vectors into a target (GF(2) hot path; no Vec allocation).
AddThreeToVector
XOR three source vectors into a target (GF(2) hot path; no Vec allocation).
Fields
AddToVector
XOR (add in GF(2)/GF(256)) multiple source vectors into a target vector.
Fields
BroadcastAdd
XOR a single source vector into each of several target vectors.
MulAdd
Multiply source vector by a scalar and XOR the result into the target: target += scalar * src.
Fields
MoveTo
Move a vector from src_id to target_id, invalidating the source.
CopyTo
Copy a vector from src_id to target_id, keeping the source intact.
Remove
Remove (deallocate) a vector.
InfoCodedVector
Informational marker associating a coded vector ID with its data vector ID.