Skip to main content

GenericFeatureNodeX4

Trait GenericFeatureNodeX4 

Source
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§

Source

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§

Source

fn prefetch_buffer_x4( &self, _vm: &MainRef, _node: &mut NodeRuntimeRef<N>, b: &mut [&mut BufferRef<N::FeatureData>; 4], )

Performing prefetching for a given buffer

Source

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.

Implementors§