using System; using System.Collections.Generic; using System.Text; namespace FxpConvert.Common { public interface ICalc { public IAdd Add { get; } public ISubtract Subtract { get; } public IMultiply Multiply { get; } public IDivision Division { get; } public IFFT FFT { get; } public IArraySum Sum { get; } public void Fill(ref float result, float value, uint count); } public interface IArraySum { public float Sum(ref float value,uint count); public double Sum(ref double value,uint count); public float Rms(ref float value, uint count); public double Rms(ref double value,uint count); } public interface IFFT { public void FFT(double[] real, double[] imaginary); public void FFT(float[] real, float[] imaginary); } public interface IAdd { public void Add(ref float left, float right, uint count, ref float result); public void Add(ref float left, ref float right, uint count, ref float result); public void Add(ref float left, float right, uint count); public void Add(ref float left, ref float right, uint count); } public interface ISubtract { public void Subtract(ref float left, float right, uint count, ref float result); public void Subtract(ref float left, ref float right, uint count, ref float result); public void Subtract(ref float left, float right, uint count); public void Subtract(ref float left, ref float right, uint count); } public interface IMultiply { public void Multiply(ref float left, float right, uint count, ref float result); public void Multiply(ref float left, ref float right, uint count, ref float result); public void Multiply(ref float left, float right, uint count); public void Multiply(ref float left, ref float right, uint count); } public interface IDivision { public void Division(ref float left, float right, uint count, ref float result); public void Division(ref float left, ref float right, uint count, ref float result); public void Division(ref float left, float right, uint count); public void Division(ref float left, ref float right, uint count); } }