Re: [eigen] Overflow in sum()

[ Thread Index | Date Index | More Archives ]

Hash: SHA256

Benoit Jacob schrieb:
> ah that's yet another different problem...
> with sparse matrices, the overflow problem arises only with a few
> operations like sum().
> But with what you say, dense matrices of uint8, the overflow can
> happen with a lot more operations: for example, any matrix product
> will typically overflow! So I guess that a matrix product of unit8
> matrices should return a matrix with a bigger scalar type...

I'm working in the area of embedded software development where huge
amounts of numerical software has to be dealt with in real time. As some
of that code is quite old it's mostly written in fixed point, i.e. it's
using normal integer operations (the variables usually have to be
multiplied by a factor and an offset has to be added to get the "real
world meaning" of each variable).

In this context lots of programmers are looking for data types and
possible overflows just to handle that problem, as each multiplication
and addition could cause a problem.

And there are usually two solutions: saturate or clip (i.e. just use the
modulo value).

=> that's too far for eigen to handle

But it might be a nice solution to offer (as a template parameter) a
different data type as an result, so that the eigen user can handle this
requirement each time it could appear in the best way for his algorithm.
(And if possible we could also offer an saturating and an clipping
version of the algorithm)


Version: GnuPG v1.4.9 (GNU/Linux)


Mail converted by MHonArc 2.6.19+