oxifft-codegen-impl 0.3.0

Internal codelet generation logic for OxiFFT (not a proc-macro; used by oxifft-codegen and benchmarks)
Documentation
# oxifft-codegen-impl

Internal codelet generation logic for [OxiFFT](https://github.com/cool-japan/oxifft).

This crate provides the core symbolic computation and codelet-generation engine
used by `oxifft-codegen` (the procedural macro crate) and by `oxifft-bench`
(for benchmarking codelet generation throughput). It is **not a proc-macro**
crate — it is a regular library that `oxifft-codegen` depends on to work around
the proc-macro crate limitation that prevents exposing non-macro public APIs.

## Overview

- **Symbolic DFT engine** — represents FFT butterfly operations symbolically as
  expression trees, enabling algebraic simplification and strength reduction
  before code generation.
- **Codelet generators** — emit Rust token streams for radix-2/4/8 and
  mixed-radix NOTW (no-twiddle) kernels, RDFT codelets, and SIMD-specialized
  variants for x86-64 (AVX2/SSE2) and AArch64 (NEON/SVE).
- **Optimization passes** — dead-code elimination, constant folding, common
  sub-expression elimination, and strength reduction (mul-by-1 → identity,
  mul-by-0 → zero).

## Usage

This crate is an implementation detail of `oxifft-codegen`. Users of OxiFFT
should depend on `oxifft` directly; `oxifft-codegen-impl` is re-exported
through the proc-macro interface automatically.

```toml
# In your Cargo.toml — depend on oxifft, not on this crate directly
[dependencies]
oxifft = "0.3"
```

If you are building tooling that needs access to the codelet generation
internals (e.g. a custom benchmark harness or a code-generation analysis tool),
you may depend on this crate directly:

```toml
[dev-dependencies]
oxifft-codegen-impl = "0.3"
```

## License

Apache-2.0. See [LICENSE](../LICENSE).