Skip to main content

generate_multi_transform

Function generate_multi_transform 

Source
pub fn generate_multi_transform(
    config: &MultiTransformConfig,
) -> Result<TokenStream, Error>
Expand description

Generate a multi-transform codelet TokenStream.

§Output

Always emits a public outer function notw_{size}_v{v}_{isa}_{ty} with AoS signature (input, output, istride, ostride, count).

For supported (ISA, precision, size) combinations (SSE2 f32 sizes 2/4, AVX2 f32 sizes 2/4/8), also emits a companion inner function notw_{size}_v{v}_{isa}_{ty}_soa with SoA signature (re_in, im_in, re_out, im_out) that is the true SIMD implementation.

§Errors

Returns a syn::Error when:

  • config.size is not one of 2, 4, or 8.
  • config.v is 0.

§Panics

Panics only if internal constant string literals that are guaranteed to be valid fail to parse as token streams — this cannot occur in practice.