Пример #1
0
        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);
        }
Пример #2
0
 public static Numeric <T> operator *(Numeric <T> a, Numeric <T> b)
 => Implementation.Multiply(a, b);
Пример #3
0
 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)));
 }