Ray Donnelly
96fc528397
sqrt: Fix NaN propagation for IEEE Std 754-2008
...
The R language has some hacks specifically for mingw-w64 that
were caused by our handling of NaNs in sqrt(x). R uses a
special valued NaN to mean 'Not Available' and expects it to
be retained through various calculations. Our sqrt(x) doesn't
do this, instead it normalises such a NaN (retaining sign).
From:
http://wwwf.imperial.ac.uk/~drmii/M3SC_2016/IEEE_2008_4610935.pdf
"6.2.3 NaN propagation
An operation that propagates a NaN operand to its result and
has a single NaN as an input should produce a NaN with the
payload of the input NaN if representable in the destination
format."
There might even be a slight speed-up from this too.
Thanks to Duncan Murdoch for finding the reference.
2016-08-22 14:17:58 +02:00
..
2016-08-20 17:22:41 +02:00
2016-06-23 10:09:17 +02:00
2016-08-20 17:14:55 +02:00
2016-08-22 14:17:58 +02:00
2016-08-20 17:14:56 +02:00
2016-08-20 17:24:16 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 21:07:39 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-25 10:21:45 +02:00
2016-06-23 10:09:17 +02:00
2016-08-20 17:22:41 +02:00
2016-04-01 13:53:25 +02:00
2016-04-04 16:39:41 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-15 10:56:57 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-15 10:56:57 +02:00
2016-08-15 10:56:57 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-20 17:14:55 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 16:02:40 +02:00
2016-06-25 13:36:52 +02:00
2016-06-23 10:09:17 +02:00
2016-06-25 00:43:01 +02:00
2016-07-27 14:00:30 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-07-06 15:41:35 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-06-25 13:36:52 +02:00
2016-06-23 16:56:41 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 23:32:39 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 23:32:39 +02:00
2016-06-23 10:09:17 +02:00
2016-06-25 00:43:01 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 16:02:40 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-15 10:56:57 +02:00
2016-06-23 16:56:41 +02:00
2016-06-24 23:32:39 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 21:56:34 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-08-01 11:52:30 +02:00
2016-06-23 22:18:42 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-07-01 16:56:07 +02:00
2016-06-23 10:09:17 +02:00
2016-07-27 17:02:08 +01:00
2016-06-24 23:33:48 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-08-15 10:56:57 +02:00
2016-06-24 21:07:39 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-06-23 10:09:17 +02:00
2015-03-03 12:58:34 +00:00
2016-06-25 00:43:01 +02:00
2016-03-24 16:39:15 +01:00
2016-03-24 16:39:15 +01:00
2016-06-23 10:09:17 +02:00
2016-06-24 23:32:39 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-03-29 14:43:55 +02:00
2016-08-15 10:56:58 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2015-11-18 19:09:47 +01:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-05-25 12:13:03 +02:00
2016-06-25 17:08:18 +01:00
2016-06-23 10:09:17 +02:00
2016-08-20 17:14:55 +02:00
2016-03-29 14:43:55 +02:00
2016-03-24 16:39:15 +01:00
2016-06-24 16:02:40 +02:00
2016-06-23 10:09:17 +02:00
2015-08-17 11:05:43 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-06-24 23:32:39 +02:00
2016-06-23 21:30:15 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-25 00:43:01 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-20 17:14:56 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-05 10:47:37 +02:00
2016-06-23 21:30:15 +02:00
2016-06-23 10:09:17 +02:00
2016-06-27 17:56:16 +02:00
2016-06-23 10:09:17 +02:00
2016-06-25 13:36:52 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-02-17 10:55:28 +01:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-08-20 17:14:55 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-27 17:56:16 +02:00
2016-08-19 16:50:15 +02:00
2016-06-24 23:32:39 +02:00
2016-06-24 23:32:39 +02:00
2016-03-10 10:36:00 +01:00
2016-03-08 13:56:40 +01:00
2016-08-19 16:50:15 +02:00
2016-08-19 16:27:07 +02:00
2016-07-27 17:02:08 +01:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-11 15:57:53 +02:00
2016-06-24 22:49:48 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-25 00:42:36 +02:00
2016-06-23 10:09:17 +02:00
2016-07-06 19:12:59 +02:00
2016-08-15 10:56:57 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 23:34:33 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-18 15:24:42 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-27 17:56:16 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2015-07-04 22:49:30 +02:00
2015-07-04 22:49:30 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 16:56:41 +02:00
2016-06-23 10:09:17 +02:00
2016-08-18 10:27:28 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-08-15 10:56:57 +02:00
2016-06-24 21:00:04 +02:00
2016-06-24 21:00:04 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-23 10:09:17 +02:00
2016-06-24 23:33:01 +02:00
2016-06-23 10:09:17 +02:00
2016-03-29 14:43:55 +02:00