P
Philipp Klaus Krause
The latest draft is from 2006?
Is it dead? Will it be merged into C1X?
Philipp
Is it dead? Will it be merged into C1X?
Philipp
Philipp said:The latest draft is from 2006?
Is it dead? Will it be merged into C1X?
Walter said:It was released as a ISO standard document around the
end of 2008. As far as I know there are no plans to merge
it into C1X but to keep it a separate document.
The latest draft is N1275 fall 2007
For embedded systems implementations and non MAC based
processors, most implementations, the accum is either the fract
size plus a byte or double the fract size.
One of the appendix's in 18037 covers some of the issues
for selecting the implementation accum size. There is a strong
suggestion that the fract size and the fract size of the accum
be the same but the integral part of the accum is quite flexible.
Thad Smith said:Walter Banks wrote:
[regarding fixed point C support]For embedded systems implementations and non MAC based
processors, most implementations, the accum is either the fract
size plus a byte or double the fract size.
One of the appendix's in 18037 covers some of the issues
for selecting the implementation accum size. There is a strong
suggestion that the fract size and the fract size of the accum
be the same but the integral part of the accum is quite flexible.
I only have knowledge of two other systems with language support for
fixed point arithmetic:
1. PL/I
2. TI Pascal, via extended types.
Both implementations are over 20 years old, but in both cases the
location of the binary point was user-specified in the type
declaration. It seems too limiting to attempt to fit all with a
single or few selection locations.
Walter Banks wrote:
[regarding fixed point C support]
For embedded systems implementations and non MAC based
processors, most implementations, the accum is either the fract
size plus a byte or double the fract size.One of the appendix's in 18037 covers some of the issues
for selecting the implementation accum size. There is a strong
suggestion that the fract size and the fract size of the accum
be the same but the integral part of the accum is quite flexible.
I only have knowledge of two other systems with language support for fixed point
arithmetic:
1. PL/I
2. TI Pascal, via extended types.
Both implementations are over 20 years old, but in both cases the location of
the binary point was user-specified in the type declaration. It seems too
limiting to attempt to fit all with a single or few selection locations.
Walter said:There is quite a bit of implementation flexibility to support
both hardware and application requirements. Support for
processors with a MAC is typically the _Accum size is
MAC accumulator size sometimes rounded up to a byte size.
For embedded systems implementations and non MAC based
processors, most implementations, the accum is either the fract
size plus a byte or double the fract size.
One of the appendix's in 18037 covers some of the issues
for selecting the implementation accum size. There is a strong
suggestion that the fract size and the fract size of the accum
be the same but the integral part of the accum is quite flexible.
Philipp said:And even that appendix has at least 8 integral bits for every type of
fixed-point number.
So far I've only seen two real-world fixed-point implementations: a
s15.16 in the pic backends of sdcc and a s9.6 one I wrote myself (I
needed at least 9 integral bits and wanted to myximize precision under
that condition).
Walter said:I use 8:16 a lot in many embedded systems projects on 8 bit
micros and when the integral part needs to be larger than 8 bits
generally switch to an int. I store a lot of application constants
in fixed point.
The engine controllers use a 24bit processor with fractional math
capability that we use 24:24 accums.
Flash said:I'm pretty sure one of the processors I used to use had support for
s0.15 which can be very useful for some types of work.
Walter said:It probably also has a 8:16 or 16:16 as well.
TR18037 separates
accums and fracts into two related types. accums have integral and
fract parts and there are fract types with only a (well) fract part
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.