public override IData GetData() { var d = Predecessor.GetData(); if (d is DoubleData && _convMode.Equals(ConvertD2F)) { var dd = (DoubleData)d; d = new FloatData(MatrixUtils.Double2Float(dd.Values), dd.SampleRate, dd.FirstSampleNumber); } else if (d is FloatData && _convMode.Equals(ConvertF2D)) { var fd = (FloatData)d; d = new DoubleData(MatrixUtils.Float2Double(fd.Values), fd.SampleRate, fd.FirstSampleNumber); } return(d); }
/** Converts a given Data-object into a <code>FloatData</code> if possible. * /// @param data */ public static FloatData ToFloatData(IData data) { FloatData convertData; if (data is FloatData) { convertData = (FloatData)data; } else if (data is DoubleData) { var dd = (DoubleData)data; convertData = new FloatData(MatrixUtils.Double2Float(dd.Values), dd.SampleRate, dd.FirstSampleNumber); } else { throw new ArgumentException("data type '" + data.GetType().Name + "' is not supported"); } return(convertData); }