Boost logo

Boost :

From: Gabriel Dos Reis (gdr_at_[hidden])
Date: 2003-07-26 01:44:13


gmelquio_at_[hidden] writes:

| En réponse à Gabriel Dos Reis <gdr_at_[hidden]>:
|
| [snip]
|
| > | On a more general side, please keep in mind that *signaling* NaNs are meant to
| > | trap when used ("used" can be a simple copy, the standard leaves it
| > | implementation-defined).
| >
| > They trap only when operands of arithmetic operations.
|
| Please. When I wrote that it "can be a simple copy" and that it is
| "implementation-defined", I meant it.

Except that, copying in pratice does not trigger. What does trigger
however is non-copying operation.

| Computer arithmetic is my everyday work; whenever possible,

I know you're completing your education at ENS Lyon you started a PhD
thesis on computer arithmetic. But, just assume you're not the only
person doing computer arithmetic as part his/her everyday job.

| I try to avoid making things up. Here is an excerpt of
| paragraph 6.2 of IEEE 754 standard: "Whether copying a signaling NaN without a
| change of format signals the invalid operation exception is the implementor's
| option.".

I do know that paragraph.

| > | If the user suddenly decides to put a signaling NaN in
| > | a floating-point variable, she shouldn't be surprised if the program traps as
| > | soon as it uses this variable. I don't understand why the interval library
| > | should prevent such a behavior,
| >
| > I'm not saying the interval library should prevent that behaviour.
| > I'm syaing the interval arithmetic should not provide a trapping isnan
| > function. That is a different matter.
|
| What don't you understand in the expression "isnan is a private function"?

What being private has to do with being trapping or not?

| This trapping isnan function is *not* provided to the user, it is an
| internal function.

I understood that.

| It is only used inside interval arithmetic
| functions and it will make
| these functions trap if given a signaling NaN argument.

And I'm arguing that is a wrong behaviour.
A query function isnan, be it private or super-private, should not
trigger trap.

-- Gaby


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk