dotprod_rrrf
Variants: dotprod_cccf, dotprod_crcf, dotprod_rrrf
Vector dot product operation
Public Functions
int | dotprod_rrrf_run( |
int | dotprod_rrrf_run4( |
dotprod_rrrf | dotprod_rrrf_create( |
dotprod_rrrf | dotprod_rrrf_create_rev( |
dotprod_rrrf | dotprod_rrrf_recreate( |
dotprod_rrrf | dotprod_rrrf_recreate_rev( |
dotprod_rrrf | dotprod_rrrf_copy( |
int | dotprod_rrrf_destroy( |
int | dotprod_rrrf_print( |
int | dotprod_rrrf_execute( |
Interfaces
int dotprod_rrrf_run(
Run dot product without creating object. This is less efficient than creating the object as it is an unoptimized portable implementation that doesn't take advantage of processor extensions. It is meant to provide a baseline for performance comparison and a convenient way to invoke a dot product operation when fast operation is not necessary.
- _v : coefficients array, shape: (_n, 1)
- _x : input array, shape: (_n, 1)
- _n : dotprod length, 0 < _n
- _y : output sample pointer
int dotprod_rrrf_run4(
This provides the same unoptimized operation as the 'run()' method above, but with the loop unrolled by a factor of 4. It is marginally faster than 'run()' without unrolling the loop.
- _v : coefficients array, shape: (_n, 1)
- _x : input array, shape: (_n, 1)
- _n : dotprod length, 0 < _n
- _y : output sample pointer
dotprod_rrrf dotprod_rrrf_create(
Create vector dot product object
- _v : coefficients array, shape: (_n, 1)
- _n : dotprod length, 0 < _n
dotprod_rrrf dotprod_rrrf_create_rev(
Create vector dot product object with time-reversed coefficients
- _v : time-reversed coefficients array, shape: (_n, 1)
- _n : dotprod length, 0 < _n
dotprod_rrrf dotprod_rrrf_recreate(
Re-create dot product object of potentially a different length with different coefficients. If the length of the dot product object does not change, no memory reallocation is invoked.
- _q : old dotprod object
- _v : coefficients array, shape: (_n, 1)
- _n : dotprod length, 0 < _n
dotprod_rrrf dotprod_rrrf_recreate_rev(
Re-create dot product object of potentially a different length with different coefficients. If the length of the dot product object does not change, no memory reallocation is invoked. Filter coefficients are stored in reverse order.
- _q : old dotprod object
- _v : time-reversed coefficients array, shape: (_n, 1)
- _n : dotprod length, 0 < _n
dotprod_rrrf dotprod_rrrf_copy(
Copy object including all internal objects and state
int dotprod_rrrf_destroy(
Destroy dotprod object, freeing all internal memory
int dotprod_rrrf_print(
Print dotprod object internals to standard output
int dotprod_rrrf_execute(
Execute dot product on an input array
- _q : dotprod object
- _x : input array, shape: (_n, 1)
- _y : output sample pointer