protected void kf_bfly2(Array <kiss_fft_cpx <kiss_fft_scalar> > Fout, int fstride, int m) { Array <kiss_fft_cpx <kiss_fft_scalar> > Fout2; Array <kiss_fft_cpx <kiss_fft_scalar> > tw1 = new Array <kiss_fft_cpx <kiss_fft_scalar> >(Twiddles); kiss_fft_cpx <kiss_fft_scalar> t; Fout2 = Fout + m; do { Fout[0] = A.FixDivide(Fout[0], 2); Fout2[0] = A.FixDivide(Fout2[0], 2); t = A.Multiply(Fout2[0], tw1[0]); tw1 += fstride; Fout2[0] = A.Subtract(Fout[0], t); Fout[0] = A.Add(Fout[0], t); ++Fout2; ++Fout; } while (--m != 0); }
public static Numeric <T> operator *(Numeric <T> a, Numeric <T> b) => Implementation.Multiply(a, b);
private static T LeastCommonMultiple <T>(T one, T two, IArithmetic <T> arithmetic) { return(arithmetic.Divide(arithmetic.Abs(arithmetic.Multiply(one, two)), AdvancedMath.GreatestCommonDivisor(one, two, arithmetic))); }