Szabolcs Nagy
8c44a06024
fix scalbn when result is in the subnormal range
...
in nearest rounding mode scalbn could introduce double rounding error
when an intermediate value and the final result were both in the
subnormal range e.g.
scalbn(0x1.7ffffffffffffp-1, -1073)
returned 0x1p-1073 instead of 0x1p-1074, because the intermediate
computation got rounded to 0x1.8p-1023.
with the fix an intermediate value can only be in the subnormal range
if the final result is 0 which is correct even after double rounding.
(there still can be two roundings so signals may be raised twice, but
that's only observable with trapping exceptions which is not supported.)
2017-04-21 17:31:00 -04:00
..
2017-03-21 12:39:18 -04:00
2016-02-19 01:20:07 +00:00
2015-04-18 20:45:39 -04:00
2015-04-23 06:21:49 -04:00
2015-04-23 06:21:49 -04:00
2013-05-15 23:08:52 +00:00
2013-05-15 23:08:52 +00:00
2013-09-05 11:30:08 +00:00
2012-03-13 16:38:22 +01:00
2012-03-13 16:38:22 +01:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:09 +00:00
2015-02-08 17:41:56 +01:00
2016-08-30 16:00:38 -04:00
2013-09-05 11:30:07 +00:00
2014-09-08 15:51:42 +02:00
2013-11-24 01:06:38 +00:00
2015-11-21 21:41:42 -05:00
2015-11-21 21:41:42 -05:00
2014-10-31 11:35:40 -04:00
2012-03-20 20:08:35 +01:00
2012-03-20 20:08:35 +01:00
2014-10-08 10:17:19 -04:00
2013-05-15 23:08:52 +00:00
2013-05-15 23:08:52 +00:00
2013-09-05 11:30:08 +00:00
2013-05-18 12:34:00 +00:00
2013-05-18 12:34:00 +00:00
2013-09-05 11:30:08 +00:00
2013-05-15 23:08:52 +00:00
2013-05-15 23:08:52 +00:00
2013-10-07 18:41:03 +00:00
2013-10-07 18:41:03 +00:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:07 +00:00
2013-08-15 10:14:46 +00:00
2013-08-15 10:14:46 +00:00
2012-12-16 20:28:43 +01:00
2012-12-11 23:06:20 +01:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:07 +00:00
2013-08-15 14:05:19 +00:00
2013-08-15 14:05:19 +00:00
2013-09-05 11:30:07 +00:00
2013-08-15 10:14:46 +00:00
2013-08-15 10:14:46 +00:00
2013-09-05 16:57:46 +00:00
2013-09-05 16:57:46 +00:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:08 +00:00
2013-09-05 11:30:08 +00:00
2013-09-05 11:30:08 +00:00
2014-10-31 11:35:40 -04:00
2013-09-05 11:30:07 +00:00
2014-10-31 11:35:40 -04:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:07 +00:00
2013-05-18 14:40:22 +00:00
2013-05-18 14:40:22 +00:00
2012-12-16 19:23:51 +01:00
2012-12-16 19:23:51 +01:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:08 +00:00
2013-05-15 23:08:52 +00:00
2013-05-15 23:08:52 +00:00
2015-03-11 18:54:53 -04:00
2013-09-06 18:35:55 +00:00
2016-03-04 17:58:49 -05:00
2015-03-11 18:54:50 -04:00
2014-09-18 17:52:50 +02:00
2014-09-18 17:52:50 +02:00
2014-09-18 17:52:50 +02:00
2013-09-06 18:35:55 +00:00
2016-03-04 17:58:49 -05:00
2015-03-11 18:54:53 -04:00
2013-09-06 18:35:55 +00:00
2013-09-06 18:35:55 +00:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:07 +00:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2013-11-21 01:16:49 +00:00
2013-11-21 01:16:49 +00:00
2014-10-31 11:35:40 -04:00
2013-09-05 11:30:07 +00:00
2014-10-31 11:35:40 -04:00
2015-02-08 17:40:54 +01:00
2013-10-07 18:46:43 +00:00
2013-10-07 18:46:43 +00:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2015-02-09 01:16:35 +01:00
2012-03-13 01:17:53 -04:00
2012-03-13 01:17:53 -04:00
2013-09-05 11:30:08 +00:00
2015-11-21 21:41:42 -05:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-05-15 23:08:52 +00:00
2017-03-15 00:15:28 -04:00
2013-05-15 23:08:52 +00:00
2017-03-15 00:15:28 -04:00
2013-01-01 22:20:45 +01:00
2013-01-01 22:20:45 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2013-11-21 01:01:57 +00:00
2012-03-27 22:12:20 +02:00
2013-11-21 01:01:57 +00:00
2012-03-27 22:12:20 +02:00
2015-03-11 18:54:53 -04:00
2012-03-18 20:40:43 +01:00
2012-03-18 20:40:43 +01:00
2012-11-13 13:34:45 +01:00
2012-03-18 20:52:33 +01:00
2012-03-18 20:52:33 +01:00
2012-03-18 20:52:33 +01:00
2013-10-28 01:16:14 +00:00
2013-10-28 01:16:14 +00:00
2015-03-11 18:54:53 -04:00
2013-10-28 01:16:14 +00:00
2013-10-28 01:16:14 +00:00
2015-03-11 18:54:53 -04:00
2013-10-28 01:16:14 +00:00
2013-10-28 01:16:14 +00:00
2015-03-11 18:54:53 -04:00
2013-10-28 01:16:14 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-10-28 01:16:14 +00:00
2015-03-11 18:54:53 -04:00
2012-11-13 13:34:45 +01:00
2012-03-18 20:40:43 +01:00
2012-11-13 13:34:45 +01:00
2012-03-18 20:52:33 +01:00
2012-03-18 20:52:33 +01:00
2012-03-18 20:52:33 +01:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2014-10-31 11:35:40 -04:00
2012-03-13 01:55:25 -04:00
2012-03-13 01:55:25 -04:00
2012-03-13 01:55:25 -04:00
2012-11-13 13:34:45 +01:00
2012-11-13 13:34:45 +01:00
2012-11-13 13:34:45 +01:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:09 +00:00
2013-09-05 11:30:09 +00:00
2012-03-13 19:51:14 +01:00
2016-10-20 01:32:27 -04:00
2015-04-18 00:18:52 -04:00
2015-04-18 00:18:52 -04:00
2013-11-21 01:16:49 +00:00
2013-11-21 01:16:49 +00:00
2012-03-13 19:51:14 +01:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2014-10-31 11:35:40 -04:00
2014-10-31 11:35:40 -04:00
2014-10-31 11:35:40 -04:00
2014-10-31 11:35:40 -04:00
2014-10-31 11:35:40 -04:00
2014-10-31 11:35:40 -04:00
2013-12-12 03:42:11 +00:00
2013-12-12 03:42:11 +00:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2012-03-13 19:51:14 +01:00
2017-04-21 17:31:00 -04:00
2017-04-21 17:31:00 -04:00
2017-04-21 17:31:00 -04:00
2013-09-05 14:03:10 +00:00
2012-08-13 14:51:43 -04:00
2012-08-13 14:51:43 -04:00
2013-05-18 14:40:22 +00:00
2013-12-12 03:42:11 +00:00
2013-12-12 03:42:11 +00:00
2014-04-11 18:07:08 +02:00
2013-05-18 14:40:22 +00:00
2013-08-15 10:14:46 +00:00
2012-12-16 19:49:55 +01:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:08 +00:00
2012-03-19 23:41:19 +01:00
2012-03-19 23:41:19 +01:00
2013-09-05 11:30:08 +00:00
2013-05-18 12:34:00 +00:00
2013-05-18 12:34:00 +00:00
2013-08-15 10:14:46 +00:00
2013-08-15 10:14:46 +00:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:08 +00:00
2013-11-21 01:01:57 +00:00
2012-12-12 01:43:43 +01:00
2015-03-11 18:54:53 -04:00
2013-09-05 11:30:07 +00:00
2013-09-05 11:30:07 +00:00
2014-10-31 11:35:40 -04:00