static int okp(const R *Rp, const R *Ip, const R *Rm, const R *Im, INT rs, INT mb, INT me, INT ms, const planner *plnr) { return (RIGHT_CPU() && !NO_SIMDP(plnr) && SIMD_STRIDE_OK(rs) && SIMD_VSTRIDE_OK(ms) && ((me - mb) % VL) == 0 && ((mb - 1) % VL) == 0 /* twiddle factors alignment */ && ALIGNED(Rp) && ALIGNED(Rm) && Ip == Rp + 1 && Im == Rm + 1); }
static int okp(const ct_desc *d, const R *rio, const R *iio, INT ios, INT vs, INT m, INT mb, INT me, INT dist, const planner *plnr) { return (RIGHT_CPU() && ALIGNED(iio) && !NO_SIMDP(plnr) && SIMD_STRIDE_OK(ios) && SIMD_STRIDE_OK(vs) && SIMD_VSTRIDE_OK(dist) && rio == iio + 1 && (m % VL) == 0 && (mb % VL) == 0 && (me % VL) == 0 && (!d->s1 || (d->s1 == ios)) && (!d->s2 || (d->s2 == vs)) && (!d->dist || (d->dist == dist)) ); }
static int okp(const kdft_desc *d, const R *ri, const R *ii, const R *ro, const R *io, INT is, INT os, INT vl, INT ivs, INT ovs, const planner *plnr) { return (RIGHT_CPU() && ALIGNED(ii) && ALIGNED(io) && !NO_SIMDP(plnr) && SIMD_STRIDE_OK(is) && SIMD_STRIDE_OK(os) && SIMD_VSTRIDE_OK(ivs) && SIMD_VSTRIDE_OK(ovs) && ri == ii + 1 && ro == io + 1 && (vl % VL) == 0 && (!d->is || (d->is == is)) && (!d->os || (d->os == os)) && (!d->ivs || (d->ivs == ivs)) && (!d->ovs || (d->ovs == ovs)) ); }
static int okp(const kdft_desc *d, const R *ri, const R *ii, const R *ro, const R *io, INT is, INT os, INT vl, INT ivs, INT ovs, const planner *plnr) { return (RIGHT_CPU() && !NO_SIMDP(plnr) && ALIGNEDA(ri) && ALIGNEDA(ii) && ALIGNEDA(ro) && ALIGNEDA(io) && SIMD_STRIDE_OKA(is) && ivs == 1 && os == 1 && SIMD_STRIDE_OKA(ovs) && (vl % (2 * VL)) == 0 && (!d->is || (d->is == is)) && (!d->os || (d->os == os)) && (!d->ivs || (d->ivs == ivs)) && (!d->ovs || (d->ovs == ovs)) ); }