pub trait GenericFeatureNodeX4<N: Node>: GenericFeatureNodeX1<N> {
// Required method
unsafe fn map_buffer_to_next_x4(
&self,
vm: &MainRef,
node: &mut NodeRuntimeRef<N>,
b: &mut [&mut BufferRef<N::FeatureData>; 4],
) -> [FeatureNextNode<N::NextNodes>; 4];
// Provided methods
fn prefetch_buffer_x4(
&self,
_vm: &MainRef,
_node: &mut NodeRuntimeRef<N>,
b: &mut [&mut BufferRef<N::FeatureData>; 4],
) { ... }
unsafe fn trace_buffer(
&self,
_vm: &MainRef,
_node: &mut NodeRuntimeRef<N>,
_b0: &mut BufferRef<N::FeatureData>,
) { ... }
}Expand description
Trait for generic node implementations processing one buffer at a time in a feature arc
Required Methods§
Sourceunsafe fn map_buffer_to_next_x4(
&self,
vm: &MainRef,
node: &mut NodeRuntimeRef<N>,
b: &mut [&mut BufferRef<N::FeatureData>; 4],
) -> [FeatureNextNode<N::NextNodes>; 4]
unsafe fn map_buffer_to_next_x4( &self, vm: &MainRef, node: &mut NodeRuntimeRef<N>, b: &mut [&mut BufferRef<N::FeatureData>; 4], ) -> [FeatureNextNode<N::NextNodes>; 4]
Process four buffers and determining the next nodes to send them to
§Safety
The safety preconditions vary depending on the specific implementation.
Provided Methods§
Sourcefn prefetch_buffer_x4(
&self,
_vm: &MainRef,
_node: &mut NodeRuntimeRef<N>,
b: &mut [&mut BufferRef<N::FeatureData>; 4],
)
fn prefetch_buffer_x4( &self, _vm: &MainRef, _node: &mut NodeRuntimeRef<N>, b: &mut [&mut BufferRef<N::FeatureData>; 4], )
Performing prefetching for a given buffer
Sourceunsafe fn trace_buffer(
&self,
_vm: &MainRef,
_node: &mut NodeRuntimeRef<N>,
_b0: &mut BufferRef<N::FeatureData>,
)
unsafe fn trace_buffer( &self, _vm: &MainRef, _node: &mut NodeRuntimeRef<N>, _b0: &mut BufferRef<N::FeatureData>, )
Trace a buffer
This is optional and can be empty if tracing is implemented in
GenericFeatureNodeX4::map_buffer_to_next_x4 and
GenericFeatureNodeX1::map_buffer_to_next instead.
§Safety
The safety preconditions vary depending on the specific implementation.