On 03/07/2013 11:26 AM, Steve Strobel wrote:
> I am not sure I can completely justify it, but my tendency would be to
> to use C++ classes to represent the numeric values.  If the variables
> were declared using typedefs, it would be easy to control whether they
> used native float/double or the C++ classes.  Naturally a C++ compiler
> would be needed to use the classes, but I don't think it would be too
> hard to make the source also compile as C when using the native
> floats/doubles.  

You're aware that the majority of devices that would benefit from a
fixed-point port don't actually have a C++ compiler? In general, I think
there's one important point being missed here. What's hard isn't the
part about "dumb float->fixed conversion". Regardless of how you write
your fixed-point, you still have to do quality testing to make sure
every change you make preserves quality. On top of that, there's usually
many places where you need to write *different* code for the
fixed-point. For example, in many places, the only way to avoid 64-bit
arithmetic is to add renormalization steps or even use a different
algorithm to compute the same result. Sure it'd be nice to have code
that's more readable than what the Speex macros give you, but without
spending more time on a framework (that may not even work) than on the
port, the only real options are something like these macros or a
separate codebase. BTW, for CELT I once wrote a script that would run
the preprocessor to convert the code back to float.

        Jean-Marc


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to