
Boost : 
Subject: Re: [boost] Looking for some "real world" extendedprecision integer arithmetic tests
From: John Maddock (boost.regex_at_[hidden])
Date: 20120126 13:44:57
> That's a little alarming actually. If the integer is fixed length that
> means it may overflow and of course will also truncate in division since
> it is integer. Just like the compiler, we can't apply an optimization
> that changes the result the code may produce when overflow and truncation
> are considered as part of the normal behavior of the type. Sometimes
> arithmetic is written specifically with overflow and truncation in mind.
> Since any arithmetic operation may overflow this can really tie your
> hands. For numerical uses of fixed int we may assume that the programmer
> designed the code in such a way that overflow should never happen, but for
> behavioral simulation of hardware with fixed width integer units the
> correct overflow behavior is the whole point.
Very good point!
Looks like I'll have to write that other frontend then....
> By the way, I'm really excited about the expression template frontend. I
> like the elimination of unneeded copies and cutting down on the number of
> temporaries. I also think it is really cool that you are able to do the
> arithmetic transformations on the expression template trees. Are you
> using proto?
No. I started off using Proto, but compile times were so long it pretty
much melted down my laptop :(
After some discussion on the list here I switched to a homerolled
expressiontemplate implementation that was designed to minimize the number
of templates instantiated (not to mention the amount of metaprogramming
involved). Even so, compile times can still be quite long if you
instantiate lots of different expressions, but it is at least
manageable/usable now.
John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk