Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
  187
  188
  189
  190
  191
  192
  193
  194
  195
  196
  197
  198
  199
  200
  201
  202
  203
  204
  205
  206
  207
  208
  209
  210
  211
  212
  213
  214
  215
  216
  217
  218
  219
  220
  221
  222
  223
  224
  225
  226
  227
  228
  229
  230
  231
  232
  233
  234
  235
  236
  237
  238
  239
  240
  241
  242
  243
  244
  245
  246
  247
  248
  249
  250
  251
  252
  253
  254
  255
  256
  257
  258
  259
  260
  261
  262
  263
  264
  265
  266
  267
  268
  269
  270
  271
  272
  273
  274
  275
  276
  277
  278
  279
  280
  281
  282
  283
  284
  285
  286
  287
  288
  289
  290
  291
  292
  293
  294
  295
  296
  297
  298
  299
  300
  301
  302
  303
  304
  305
  306
  307
  308
  309
  310
  311
  312
  313
  314
  315
  316
  317
  318
  319
  320
  321
  322
  323
  324
  325
  326
  327
  328
  329
  330
  331
  332
  333
  334
  335
  336
  337
  338
  339
  340
  341
  342
  343
  344
  345
  346
  347
  348
  349
  350
  351
  352
  353
  354
  355
  356
  357
  358
  359
  360
  361
  362
  363
  364
  365
  366
  367
  368
  369
  370
  371
  372
  373
  374
  375
  376
  377
  378
  379
  380
  381
  382
  383
  384
  385
  386
  387
  388
  389
  390
  391
  392
  393
  394
  395
  396
  397
  398
  399
  400
  401
  402
  403
  404
  405
  406
  407
  408
  409
  410
  411
  412
  413
  414
  415
  416
  417
  418
  419
  420
  421
  422
  423
  424
  425
  426
  427
  428
  429
  430
  431
  432
  433
  434
  435
  436
  437
  438
  439
  440
  441
  442
  443
  444
  445
  446
  447
  448
  449
  450
  451
  452
  453
  454
  455
  456
  457
  458
  459
  460
  461
  462
  463
  464
  465
  466
  467
  468
  469
  470
  471
  472
  473
  474
  475
  476
  477
  478
  479
  480
  481
  482
  483
  484
  485
  486
  487
  488
  489
  490
  491
  492
  493
  494
  495
  496
  497
  498
  499
  500
  501
  502
  503
  504
  505
  506
  507
  508
  509
  510
  511
  512
  513
  514
  515
  516
  517
  518
  519
  520
  521
  522
  523
  524
  525
  526
  527
  528
  529
  530
  531
  532
  533
  534
  535
  536
  537
  538
  539
  540
  541
  542
  543
  544
  545
  546
  547
  548
  549
  550
  551
  552
  553
  554
  555
  556
  557
  558
  559
  560
  561
  562
  563
  564
  565
  566
  567
  568
  569
  570
  571
  572
  573
  574
  575
  576
  577
  578
  579
  580
  581
  582
  583
  584
  585
  586
  587
  588
  589
  590
  591
  592
  593
  594
  595
  596
  597
  598
  599
  600
  601
  602
  603
  604
  605
  606
  607
  608
  609
  610
  611
  612
  613
  614
  615
  616
  617
  618
  619
  620
  621
  622
  623
  624
  625
  626
  627
  628
  629
  630
  631
  632
  633
  634
  635
  636
  637
  638
  639
  640
  641
  642
  643
  644
  645
  646
  647
  648
  649
  650
  651
  652
  653
  654
  655
  656
  657
  658
  659
  660
  661
  662
  663
  664
  665
  666
  667
  668
  669
  670
  671
  672
  673
  674
  675
  676
  677
  678
  679
  680
  681
  682
  683
  684
  685
  686
  687
  688
  689
  690
  691
  692
  693
  694
  695
  696
  697
  698
  699
  700
  701
  702
  703
  704
  705
  706
  707
  708
  709
  710
  711
  712
  713
  714
  715
  716
  717
  718
  719
  720
  721
  722
  723
  724
  725
  726
  727
  728
  729
  730
  731
  732
  733
  734
  735
  736
  737
  738
  739
  740
  741
  742
  743
  744
  745
  746
  747
  748
  749
  750
  751
  752
  753
  754
  755
  756
  757
  758
  759
  760
  761
  762
  763
  764
  765
  766
  767
  768
  769
  770
  771
  772
  773
  774
  775
  776
  777
  778
  779
  780
  781
  782
  783
  784
  785
  786
  787
  788
  789
  790
  791
  792
  793
  794
  795
  796
  797
  798
  799
  800
  801
  802
  803
  804
  805
  806
  807
  808
  809
  810
  811
  812
  813
  814
  815
  816
  817
  818
  819
  820
  821
  822
  823
  824
  825
  826
  827
  828
  829
  830
  831
  832
  833
  834
  835
  836
  837
  838
  839
  840
  841
  842
  843
  844
  845
  846
  847
  848
  849
  850
  851
  852
  853
  854
  855
  856
  857
  858
  859
  860
  861
  862
  863
  864
  865
  866
  867
  868
  869
  870
  871
  872
  873
  874
  875
  876
  877
  878
  879
  880
  881
  882
  883
  884
  885
  886
  887
  888
  889
  890
  891
  892
  893
  894
  895
  896
  897
  898
  899
  900
  901
  902
  903
  904
  905
  906
  907
  908
  909
  910
  911
  912
  913
  914
  915
  916
  917
  918
  919
  920
  921
  922
  923
  924
  925
  926
  927
  928
  929
  930
  931
  932
  933
  934
  935
  936
  937
  938
  939
  940
  941
  942
  943
  944
  945
  946
  947
  948
  949
  950
  951
  952
  953
  954
  955
  956
  957
  958
  959
  960
  961
  962
  963
  964
  965
  966
  967
  968
  969
  970
  971
  972
  973
  974
  975
  976
  977
  978
  979
  980
  981
  982
  983
  984
  985
  986
  987
  988
  989
  990
  991
  992
  993
  994
  995
  996
  997
  998
  999
 1000
 1001
 1002
 1003
 1004
 1005
 1006
 1007
 1008
 1009
 1010
 1011
 1012
 1013
 1014
 1015
 1016
 1017
 1018
 1019
 1020
 1021
 1022
 1023
 1024
 1025
 1026
 1027
 1028
 1029
 1030
 1031
 1032
 1033
 1034
 1035
 1036
 1037
 1038
 1039
 1040
 1041
 1042
 1043
 1044
 1045
 1046
 1047
 1048
 1049
 1050
 1051
 1052
 1053
 1054
 1055
 1056
 1057
 1058
 1059
 1060
 1061
 1062
 1063
 1064
 1065
 1066
 1067
 1068
 1069
 1070
 1071
 1072
 1073
 1074
 1075
 1076
 1077
 1078
 1079
 1080
 1081
 1082
 1083
 1084
 1085
 1086
 1087
 1088
 1089
 1090
 1091
 1092
 1093
 1094
 1095
 1096
 1097
 1098
 1099
 1100
 1101
 1102
 1103
 1104
 1105
 1106
 1107
 1108
 1109
 1110
 1111
 1112
 1113
 1114
 1115
 1116
 1117
 1118
 1119
 1120
 1121
 1122
 1123
 1124
 1125
 1126
 1127
 1128
 1129
 1130
 1131
 1132
 1133
 1134
 1135
 1136
 1137
 1138
 1139
 1140
 1141
 1142
 1143
 1144
 1145
 1146
 1147
 1148
 1149
 1150
 1151
 1152
 1153
 1154
 1155
 1156
 1157
 1158
 1159
 1160
 1161
 1162
 1163
 1164
 1165
 1166
 1167
 1168
 1169
 1170
 1171
 1172
 1173
 1174
 1175
 1176
 1177
 1178
 1179
 1180
 1181
 1182
 1183
 1184
 1185
 1186
 1187
 1188
 1189
 1190
 1191
 1192
 1193
 1194
 1195
 1196
 1197
 1198
 1199
 1200
 1201
 1202
 1203
 1204
 1205
 1206
 1207
 1208
 1209
 1210
 1211
 1212
 1213
 1214
 1215
 1216
 1217
 1218
 1219
 1220
 1221
 1222
 1223
 1224
 1225
 1226
 1227
 1228
 1229
 1230
 1231
 1232
 1233
 1234
 1235
 1236
 1237
 1238
 1239
 1240
 1241
 1242
 1243
 1244
 1245
 1246
 1247
 1248
 1249
 1250
 1251
 1252
 1253
 1254
 1255
 1256
 1257
 1258
 1259
 1260
 1261
 1262
 1263
 1264
 1265
 1266
 1267
 1268
 1269
 1270
 1271
 1272
 1273
 1274
 1275
 1276
 1277
 1278
 1279
 1280
 1281
 1282
 1283
 1284
 1285
 1286
 1287
 1288
 1289
 1290
 1291
 1292
 1293
 1294
 1295
 1296
 1297
 1298
 1299
 1300
 1301
 1302
 1303
 1304
 1305
 1306
 1307
 1308
 1309
 1310
 1311
 1312
 1313
 1314
 1315
 1316
 1317
 1318
 1319
 1320
 1321
 1322
 1323
 1324
 1325
 1326
 1327
 1328
 1329
 1330
 1331
 1332
 1333
 1334
 1335
 1336
 1337
 1338
 1339
 1340
 1341
 1342
 1343
 1344
 1345
 1346
 1347
 1348
 1349
 1350
 1351
 1352
 1353
 1354
 1355
 1356
 1357
 1358
 1359
 1360
 1361
 1362
 1363
 1364
 1365
 1366
 1367
 1368
 1369
 1370
 1371
 1372
 1373
 1374
 1375
 1376
 1377
 1378
 1379
 1380
 1381
 1382
 1383
 1384
 1385
 1386
 1387
 1388
 1389
 1390
 1391
 1392
 1393
 1394
 1395
 1396
 1397
 1398
 1399
 1400
 1401
 1402
 1403
 1404
 1405
 1406
 1407
 1408
 1409
 1410
 1411
 1412
 1413
 1414
 1415
 1416
 1417
 1418
 1419
 1420
 1421
 1422
 1423
 1424
 1425
 1426
 1427
 1428
 1429
 1430
 1431
 1432
 1433
 1434
 1435
 1436
 1437
 1438
 1439
 1440
 1441
 1442
 1443
 1444
 1445
 1446
 1447
 1448
 1449
 1450
 1451
 1452
 1453
 1454
 1455
 1456
 1457
 1458
 1459
 1460
 1461
 1462
 1463
 1464
 1465
 1466
 1467
 1468
 1469
 1470
 1471
 1472
 1473
 1474
 1475
 1476
 1477
 1478
 1479
 1480
 1481
 1482
 1483
 1484
 1485
 1486
 1487
 1488
 1489
 1490
 1491
 1492
 1493
 1494
 1495
 1496
 1497
 1498
 1499
 1500
 1501
 1502
 1503
 1504
 1505
 1506
 1507
 1508
 1509
 1510
 1511
 1512
 1513
 1514
 1515
 1516
 1517
 1518
 1519
 1520
 1521
 1522
 1523
 1524
 1525
 1526
 1527
 1528
 1529
 1530
 1531
 1532
 1533
 1534
 1535
 1536
 1537
 1538
 1539
 1540
 1541
 1542
 1543
 1544
 1545
 1546
 1547
 1548
 1549
 1550
 1551
 1552
 1553
 1554
 1555
 1556
 1557
 1558
 1559
 1560
 1561
 1562
 1563
 1564
 1565
 1566
 1567
 1568
 1569
 1570
 1571
 1572
 1573
 1574
 1575
 1576
 1577
 1578
 1579
 1580
 1581
 1582
 1583
 1584
 1585
 1586
 1587
 1588
 1589
 1590
 1591
 1592
 1593
 1594
 1595
 1596
 1597
 1598
 1599
 1600
 1601
 1602
 1603
 1604
 1605
 1606
 1607
 1608
 1609
 1610
 1611
 1612
 1613
 1614
 1615
 1616
 1617
 1618
 1619
 1620
 1621
 1622
 1623
 1624
 1625
 1626
 1627
 1628
 1629
 1630
 1631
 1632
 1633
 1634
 1635
 1636
 1637
 1638
 1639
 1640
 1641
 1642
 1643
 1644
 1645
 1646
 1647
 1648
 1649
 1650
 1651
 1652
 1653
 1654
 1655
 1656
 1657
 1658
 1659
 1660
 1661
 1662
 1663
 1664
 1665
 1666
 1667
 1668
 1669
 1670
 1671
 1672
 1673
 1674
 1675
 1676
 1677
 1678
 1679
 1680
 1681
 1682
 1683
 1684
 1685
 1686
 1687
 1688
 1689
 1690
 1691
 1692
 1693
 1694
 1695
 1696
 1697
 1698
 1699
 1700
 1701
 1702
 1703
 1704
 1705
 1706
 1707
 1708
 1709
 1710
 1711
 1712
 1713
 1714
 1715
 1716
 1717
 1718
 1719
 1720
 1721
 1722
 1723
 1724
 1725
 1726
 1727
 1728
 1729
 1730
 1731
 1732
 1733
 1734
 1735
 1736
 1737
 1738
 1739
 1740
 1741
 1742
 1743
 1744
 1745
 1746
 1747
 1748
 1749
 1750
 1751
 1752
 1753
 1754
 1755
 1756
 1757
 1758
 1759
 1760
 1761
 1762
 1763
 1764
 1765
 1766
 1767
 1768
 1769
 1770
 1771
 1772
 1773
 1774
 1775
 1776
 1777
 1778
 1779
 1780
 1781
 1782
 1783
 1784
 1785
 1786
 1787
 1788
 1789
 1790
 1791
 1792
 1793
 1794
 1795
 1796
 1797
 1798
 1799
 1800
 1801
 1802
 1803
 1804
 1805
 1806
 1807
 1808
 1809
 1810
 1811
 1812
 1813
 1814
 1815
 1816
 1817
 1818
 1819
 1820
 1821
 1822
 1823
 1824
 1825
 1826
 1827
 1828
 1829
 1830
 1831
 1832
 1833
 1834
 1835
 1836
 1837
 1838
 1839
 1840
 1841
 1842
 1843
 1844
 1845
 1846
 1847
 1848
 1849
 1850
 1851
 1852
 1853
 1854
 1855
 1856
 1857
 1858
 1859
 1860
 1861
 1862
 1863
 1864
 1865
 1866
 1867
 1868
 1869
 1870
 1871
 1872
 1873
 1874
 1875
 1876
 1877
 1878
 1879
 1880
 1881
 1882
 1883
 1884
 1885
 1886
 1887
 1888
 1889
 1890
 1891
 1892
 1893
 1894
 1895
 1896
 1897
 1898
 1899
 1900
 1901
 1902
 1903
 1904
 1905
 1906
 1907
 1908
 1909
 1910
 1911
 1912
 1913
 1914
 1915
 1916
 1917
 1918
 1919
 1920
 1921
 1922
 1923
 1924
 1925
 1926
 1927
 1928
 1929
 1930
 1931
 1932
 1933
 1934
 1935
 1936
 1937
 1938
 1939
 1940
 1941
 1942
 1943
 1944
 1945
 1946
 1947
 1948
 1949
 1950
 1951
 1952
 1953
 1954
 1955
 1956
 1957
 1958
 1959
 1960
 1961
 1962
 1963
 1964
 1965
 1966
 1967
 1968
 1969
 1970
 1971
 1972
 1973
 1974
 1975
 1976
 1977
 1978
 1979
 1980
 1981
 1982
 1983
 1984
 1985
 1986
 1987
 1988
 1989
 1990
 1991
 1992
 1993
 1994
 1995
 1996
 1997
 1998
 1999
 2000
 2001
 2002
 2003
 2004
 2005
 2006
 2007
 2008
 2009
 2010
 2011
 2012
 2013
 2014
 2015
 2016
 2017
 2018
 2019
 2020
 2021
 2022
 2023
 2024
 2025
 2026
 2027
 2028
 2029
 2030
 2031
 2032
 2033
 2034
 2035
 2036
 2037
 2038
 2039
 2040
 2041
 2042
 2043
 2044
 2045
 2046
 2047
 2048
 2049
 2050
 2051
 2052
 2053
 2054
 2055
 2056
 2057
 2058
 2059
 2060
 2061
 2062
 2063
 2064
 2065
 2066
 2067
 2068
 2069
 2070
 2071
 2072
 2073
 2074
 2075
 2076
 2077
 2078
 2079
 2080
 2081
 2082
 2083
 2084
 2085
 2086
 2087
 2088
 2089
 2090
 2091
 2092
 2093
 2094
 2095
 2096
 2097
 2098
 2099
 2100
 2101
 2102
 2103
 2104
 2105
 2106
 2107
 2108
 2109
 2110
 2111
 2112
 2113
 2114
 2115
 2116
 2117
 2118
 2119
 2120
 2121
 2122
 2123
 2124
 2125
 2126
 2127
 2128
 2129
 2130
 2131
 2132
 2133
 2134
 2135
 2136
 2137
 2138
 2139
 2140
 2141
 2142
 2143
 2144
 2145
 2146
 2147
 2148
 2149
 2150
 2151
 2152
 2153
 2154
 2155
 2156
 2157
 2158
 2159
 2160
 2161
 2162
 2163
 2164
 2165
 2166
 2167
 2168
 2169
 2170
 2171
 2172
 2173
 2174
 2175
 2176
 2177
 2178
 2179
 2180
 2181
 2182
 2183
 2184
 2185
 2186
 2187
 2188
 2189
 2190
 2191
 2192
 2193
 2194
 2195
 2196
 2197
 2198
 2199
 2200
 2201
 2202
 2203
 2204
 2205
 2206
 2207
 2208
 2209
 2210
 2211
 2212
 2213
 2214
 2215
 2216
 2217
 2218
 2219
 2220
 2221
 2222
 2223
 2224
 2225
 2226
 2227
 2228
 2229
 2230
 2231
 2232
 2233
 2234
 2235
 2236
 2237
 2238
 2239
 2240
 2241
 2242
 2243
 2244
 2245
 2246
 2247
 2248
 2249
 2250
 2251
 2252
 2253
 2254
 2255
 2256
 2257
 2258
 2259
 2260
 2261
 2262
 2263
 2264
 2265
 2266
 2267
 2268
 2269
 2270
 2271
 2272
 2273
 2274
 2275
 2276
 2277
 2278
 2279
 2280
 2281
 2282
 2283
 2284
 2285
 2286
 2287
 2288
 2289
 2290
 2291
 2292
 2293
 2294
 2295
 2296
 2297
 2298
 2299
 2300
 2301
 2302
 2303
 2304
 2305
 2306
 2307
 2308
 2309
 2310
 2311
 2312
 2313
 2314
 2315
 2316
 2317
 2318
 2319
 2320
 2321
 2322
 2323
 2324
 2325
 2326
 2327
 2328
 2329
 2330
 2331
 2332
 2333
 2334
 2335
 2336
 2337
 2338
 2339
 2340
 2341
 2342
 2343
 2344
 2345
 2346
 2347
 2348
 2349
 2350
 2351
 2352
 2353
 2354
 2355
 2356
 2357
 2358
 2359
 2360
 2361
 2362
 2363
 2364
 2365
 2366
 2367
 2368
 2369
 2370
 2371
 2372
 2373
 2374
 2375
 2376
 2377
 2378
 2379
 2380
 2381
 2382
 2383
 2384
 2385
 2386
 2387
 2388
 2389
 2390
 2391
 2392
 2393
 2394
 2395
 2396
 2397
 2398
 2399
 2400
 2401
 2402
 2403
 2404
 2405
 2406
 2407
 2408
 2409
 2410
 2411
 2412
 2413
 2414
 2415
 2416
 2417
 2418
 2419
 2420
 2421
 2422
 2423
 2424
 2425
 2426
 2427
 2428
 2429
 2430
 2431
 2432
 2433
 2434
 2435
 2436
 2437
 2438
 2439
 2440
 2441
 2442
 2443
 2444
 2445
 2446
 2447
 2448
 2449
 2450
 2451
 2452
 2453
 2454
 2455
 2456
 2457
 2458
 2459
 2460
 2461
 2462
 2463
 2464
 2465
 2466
 2467
 2468
 2469
 2470
 2471
 2472
 2473
 2474
 2475
 2476
 2477
 2478
 2479
 2480
 2481
 2482
 2483
 2484
 2485
 2486
 2487
 2488
 2489
 2490
 2491
 2492
 2493
 2494
 2495
 2496
 2497
 2498
 2499
 2500
 2501
 2502
 2503
 2504
 2505
 2506
 2507
 2508
 2509
 2510
 2511
 2512
 2513
 2514
 2515
 2516
 2517
 2518
 2519
 2520
 2521
 2522
 2523
 2524
 2525
 2526
 2527
 2528
 2529
 2530
 2531
 2532
 2533
 2534
 2535
 2536
 2537
 2538
 2539
 2540
 2541
 2542
 2543
 2544
 2545
 2546
 2547
 2548
 2549
 2550
 2551
 2552
 2553
 2554
 2555
 2556
 2557
 2558
 2559
 2560
 2561
 2562
 2563
 2564
 2565
 2566
 2567
 2568
 2569
 2570
 2571
 2572
 2573
 2574
 2575
 2576
 2577
 2578
 2579
 2580
 2581
 2582
 2583
 2584
 2585
 2586
 2587
 2588
 2589
 2590
 2591
 2592
 2593
 2594
 2595
 2596
 2597
 2598
 2599
 2600
 2601
 2602
 2603
 2604
 2605
 2606
 2607
 2608
 2609
 2610
 2611
 2612
 2613
 2614
 2615
 2616
 2617
 2618
 2619
 2620
 2621
 2622
 2623
 2624
 2625
 2626
 2627
 2628
 2629
 2630
 2631
 2632
 2633
 2634
 2635
 2636
 2637
 2638
 2639
 2640
 2641
 2642
 2643
 2644
 2645
 2646
 2647
 2648
 2649
 2650
 2651
 2652
 2653
 2654
 2655
 2656
 2657
 2658
 2659
 2660
 2661
 2662
 2663
 2664
 2665
 2666
 2667
 2668
 2669
 2670
 2671
 2672
 2673
 2674
 2675
 2676
 2677
 2678
 2679
 2680
 2681
 2682
 2683
 2684
 2685
 2686
 2687
 2688
 2689
 2690
 2691
 2692
 2693
 2694
 2695
 2696
 2697
 2698
 2699
 2700
 2701
 2702
 2703
 2704
 2705
 2706
 2707
 2708
 2709
 2710
 2711
 2712
 2713
 2714
 2715
 2716
 2717
 2718
 2719
 2720
 2721
 2722
 2723
 2724
 2725
 2726
 2727
 2728
 2729
 2730
 2731
 2732
 2733
 2734
 2735
 2736
 2737
 2738
 2739
 2740
 2741
 2742
 2743
 2744
 2745
 2746
 2747
 2748
 2749
 2750
 2751
 2752
 2753
 2754
 2755
 2756
 2757
 2758
 2759
 2760
 2761
 2762
 2763
 2764
 2765
 2766
 2767
 2768
 2769
 2770
 2771
 2772
 2773
 2774
 2775
 2776
 2777
 2778
 2779
 2780
 2781
 2782
 2783
 2784
 2785
 2786
 2787
 2788
 2789
 2790
 2791
 2792
 2793
 2794
 2795
 2796
 2797
 2798
 2799
 2800
 2801
 2802
 2803
 2804
 2805
 2806
 2807
 2808
 2809
 2810
 2811
 2812
 2813
 2814
 2815
 2816
 2817
 2818
 2819
 2820
 2821
 2822
 2823
 2824
 2825
 2826
 2827
 2828
 2829
 2830
 2831
 2832
 2833
 2834
 2835
 2836
 2837
 2838
 2839
 2840
 2841
 2842
 2843
 2844
 2845
 2846
 2847
 2848
 2849
 2850
 2851
 2852
 2853
 2854
 2855
 2856
 2857
 2858
 2859
 2860
 2861
 2862
 2863
 2864
 2865
 2866
 2867
 2868
 2869
 2870
 2871
 2872
 2873
 2874
 2875
 2876
 2877
 2878
 2879
 2880
 2881
 2882
 2883
 2884
 2885
 2886
 2887
 2888
 2889
 2890
 2891
 2892
 2893
 2894
 2895
 2896
 2897
 2898
 2899
 2900
 2901
 2902
 2903
 2904
 2905
 2906
 2907
 2908
 2909
 2910
 2911
 2912
 2913
 2914
 2915
 2916
 2917
 2918
 2919
 2920
 2921
 2922
 2923
 2924
 2925
 2926
 2927
 2928
 2929
 2930
 2931
 2932
 2933
 2934
 2935
 2936
 2937
 2938
 2939
 2940
 2941
 2942
 2943
 2944
 2945
 2946
 2947
 2948
 2949
 2950
 2951
 2952
 2953
 2954
 2955
 2956
 2957
 2958
 2959
 2960
 2961
 2962
 2963
 2964
 2965
 2966
 2967
 2968
 2969
 2970
 2971
 2972
 2973
 2974
 2975
 2976
 2977
 2978
 2979
 2980
 2981
 2982
 2983
 2984
 2985
 2986
 2987
 2988
 2989
 2990
 2991
 2992
 2993
 2994
 2995
 2996
 2997
 2998
 2999
 3000
 3001
 3002
 3003
 3004
 3005
 3006
 3007
 3008
 3009
 3010
 3011
 3012
 3013
 3014
 3015
 3016
 3017
 3018
 3019
 3020
 3021
 3022
 3023
 3024
 3025
 3026
 3027
 3028
 3029
 3030
 3031
 3032
 3033
 3034
 3035
 3036
 3037
 3038
 3039
 3040
 3041
 3042
 3043
 3044
 3045
 3046
 3047
 3048
 3049
 3050
 3051
 3052
 3053
 3054
 3055
 3056
 3057
 3058
 3059
 3060
 3061
 3062
 3063
 3064
 3065
 3066
 3067
 3068
 3069
 3070
 3071
 3072
 3073
 3074
 3075
 3076
 3077
 3078
 3079
 3080
 3081
 3082
 3083
 3084
 3085
 3086
 3087
 3088
 3089
 3090
 3091
 3092
 3093
 3094
 3095
 3096
 3097
 3098
 3099
 3100
 3101
 3102
 3103
 3104
 3105
 3106
 3107
 3108
 3109
 3110
 3111
 3112
 3113
 3114
 3115
 3116
 3117
 3118
 3119
 3120
 3121
 3122
 3123
 3124
 3125
 3126
 3127
 3128
 3129
 3130
 3131
 3132
 3133
 3134
 3135
 3136
 3137
 3138
 3139
 3140
 3141
 3142
 3143
 3144
 3145
 3146
 3147
 3148
 3149
 3150
 3151
 3152
 3153
 3154
 3155
 3156
 3157
 3158
 3159
 3160
 3161
 3162
 3163
 3164
 3165
 3166
 3167
 3168
 3169
 3170
 3171
 3172
 3173
 3174
 3175
 3176
 3177
 3178
 3179
 3180
 3181
 3182
 3183
 3184
 3185
 3186
 3187
 3188
 3189
 3190
 3191
 3192
 3193
 3194
 3195
 3196
 3197
 3198
 3199
 3200
 3201
 3202
 3203
 3204
 3205
 3206
 3207
 3208
 3209
 3210
 3211
 3212
 3213
 3214
 3215
 3216
 3217
 3218
 3219
 3220
 3221
 3222
 3223
 3224
 3225
 3226
 3227
 3228
 3229
 3230
 3231
 3232
 3233
 3234
 3235
 3236
 3237
 3238
 3239
 3240
 3241
 3242
 3243
 3244
 3245
 3246
 3247
 3248
 3249
 3250
 3251
 3252
 3253
 3254
 3255
 3256
 3257
 3258
 3259
 3260
 3261
 3262
 3263
 3264
 3265
 3266
 3267
 3268
 3269
 3270
 3271
 3272
 3273
 3274
 3275
 3276
 3277
 3278
 3279
 3280
 3281
 3282
 3283
 3284
 3285
 3286
 3287
 3288
 3289
 3290
 3291
 3292
 3293
 3294
 3295
 3296
 3297
 3298
 3299
 3300
 3301
 3302
 3303
 3304
 3305
 3306
 3307
 3308
 3309
 3310
 3311
 3312
 3313
 3314
 3315
 3316
 3317
 3318
 3319
 3320
 3321
 3322
 3323
 3324
 3325
 3326
 3327
 3328
 3329
 3330
 3331
 3332
 3333
 3334
 3335
 3336
 3337
 3338
 3339
 3340
 3341
 3342
 3343
 3344
 3345
 3346
 3347
 3348
 3349
 3350
 3351
 3352
 3353
 3354
 3355
 3356
 3357
 3358
 3359
 3360
 3361
 3362
 3363
 3364
 3365
 3366
 3367
 3368
 3369
 3370
 3371
 3372
 3373
 3374
 3375
 3376
 3377
 3378
 3379
 3380
 3381
 3382
 3383
 3384
 3385
 3386
 3387
 3388
 3389
 3390
 3391
 3392
 3393
 3394
 3395
 3396
 3397
 3398
 3399
 3400
 3401
 3402
 3403
 3404
 3405
 3406
 3407
 3408
 3409
 3410
 3411
 3412
 3413
 3414
 3415
 3416
 3417
 3418
 3419
 3420
 3421
 3422
 3423
 3424
 3425
 3426
 3427
 3428
 3429
 3430
 3431
 3432
 3433
 3434
 3435
 3436
 3437
 3438
 3439
 3440
 3441
 3442
 3443
 3444
 3445
 3446
 3447
 3448
 3449
 3450
 3451
 3452
 3453
 3454
 3455
 3456
 3457
 3458
 3459
 3460
 3461
 3462
 3463
 3464
 3465
 3466
 3467
 3468
 3469
 3470
 3471
 3472
 3473
 3474
 3475
 3476
 3477
 3478
 3479
 3480
 3481
 3482
 3483
 3484
 3485
 3486
 3487
 3488
 3489
 3490
 3491
 3492
 3493
 3494
 3495
 3496
 3497
 3498
 3499
 3500
 3501
 3502
 3503
 3504
 3505
 3506
 3507
 3508
 3509
 3510
 3511
 3512
 3513
 3514
 3515
 3516
 3517
 3518
 3519
 3520
 3521
 3522
 3523
 3524
 3525
 3526
 3527
 3528
 3529
 3530
 3531
 3532
 3533
 3534
 3535
 3536
 3537
 3538
 3539
 3540
 3541
 3542
 3543
 3544
 3545
 3546
 3547
 3548
 3549
 3550
 3551
 3552
 3553
 3554
 3555
 3556
 3557
 3558
 3559
 3560
 3561
 3562
 3563
 3564
 3565
 3566
 3567
 3568
 3569
 3570
 3571
 3572
 3573
 3574
 3575
 3576
 3577
 3578
 3579
 3580
 3581
 3582
 3583
 3584
 3585
 3586
 3587
 3588
 3589
 3590
 3591
 3592
 3593
 3594
 3595
 3596
 3597
 3598
 3599
 3600
 3601
 3602
 3603
 3604
 3605
 3606
 3607
 3608
 3609
 3610
 3611
 3612
 3613
 3614
 3615
 3616
 3617
 3618
 3619
 3620
 3621
 3622
 3623
 3624
 3625
 3626
 3627
 3628
 3629
 3630
 3631
 3632
 3633
 3634
 3635
 3636
 3637
 3638
 3639
 3640
 3641
 3642
 3643
 3644
 3645
 3646
 3647
 3648
 3649
 3650
 3651
 3652
 3653
 3654
 3655
 3656
 3657
 3658
 3659
 3660
 3661
 3662
 3663
 3664
 3665
 3666
 3667
 3668
 3669
 3670
 3671
 3672
 3673
 3674
 3675
 3676
 3677
 3678
 3679
 3680
 3681
 3682
 3683
 3684
 3685
 3686
 3687
 3688
 3689
 3690
 3691
 3692
 3693
 3694
 3695
 3696
 3697
 3698
 3699
 3700
 3701
 3702
 3703
 3704
 3705
 3706
 3707
 3708
 3709
 3710
 3711
 3712
 3713
 3714
 3715
 3716
 3717
 3718
 3719
 3720
 3721
 3722
 3723
 3724
 3725
 3726
 3727
 3728
 3729
 3730
 3731
 3732
 3733
 3734
 3735
 3736
 3737
 3738
 3739
 3740
 3741
 3742
 3743
 3744
 3745
 3746
 3747
 3748
 3749
 3750
 3751
 3752
 3753
 3754
 3755
 3756
 3757
 3758
 3759
 3760
 3761
 3762
 3763
 3764
 3765
 3766
 3767
 3768
 3769
 3770
 3771
 3772
 3773
 3774
 3775
 3776
 3777
 3778
 3779
 3780
 3781
 3782
 3783
 3784
 3785
 3786
 3787
 3788
 3789
 3790
 3791
 3792
 3793
 3794
 3795
 3796
 3797
 3798
 3799
 3800
 3801
 3802
 3803
 3804
 3805
 3806
 3807
 3808
 3809
 3810
 3811
 3812
 3813
 3814
 3815
 3816
 3817
 3818
 3819
 3820
 3821
 3822
 3823
 3824
 3825
 3826
 3827
 3828
 3829
 3830
 3831
 3832
 3833
 3834
 3835
 3836
 3837
 3838
 3839
 3840
 3841
 3842
 3843
 3844
 3845
 3846
 3847
 3848
 3849
 3850
 3851
 3852
 3853
 3854
 3855
 3856
 3857
 3858
 3859
 3860
 3861
 3862
 3863
 3864
 3865
 3866
 3867
 3868
 3869
 3870
 3871
 3872
 3873
 3874
 3875
 3876
 3877
 3878
 3879
 3880
 3881
 3882
 3883
 3884
 3885
 3886
 3887
 3888
 3889
 3890
 3891
 3892
 3893
 3894
 3895
 3896
 3897
 3898
 3899
 3900
 3901
 3902
 3903
 3904
 3905
 3906
 3907
 3908
 3909
 3910
 3911
 3912
 3913
 3914
 3915
 3916
 3917
 3918
 3919
 3920
 3921
 3922
 3923
 3924
 3925
 3926
 3927
 3928
 3929
 3930
 3931
 3932
 3933
 3934
 3935
 3936
 3937
 3938
 3939
 3940
 3941
 3942
 3943
 3944
 3945
 3946
 3947
 3948
 3949
 3950
 3951
 3952
 3953
 3954
 3955
 3956
 3957
 3958
 3959
 3960
 3961
 3962
 3963
 3964
 3965
 3966
 3967
 3968
 3969
 3970
 3971
 3972
 3973
 3974
 3975
 3976
 3977
 3978
 3979
 3980
 3981
 3982
 3983
 3984
 3985
 3986
 3987
 3988
 3989
 3990
 3991
 3992
 3993
 3994
 3995
 3996
 3997
 3998
 3999
 4000
 4001
 4002
 4003
 4004
 4005
 4006
 4007
 4008
 4009
 4010
 4011
 4012
 4013
 4014
 4015
 4016
 4017
 4018
 4019
 4020
 4021
 4022
 4023
 4024
 4025
 4026
 4027
 4028
 4029
 4030
 4031
 4032
 4033
 4034
 4035
 4036
 4037
 4038
 4039
 4040
 4041
 4042
 4043
 4044
 4045
 4046
 4047
 4048
 4049
 4050
 4051
 4052
 4053
 4054
 4055
 4056
 4057
 4058
 4059
 4060
 4061
 4062
 4063
 4064
 4065
 4066
 4067
 4068
 4069
 4070
 4071
 4072
 4073
 4074
 4075
 4076
 4077
 4078
 4079
 4080
 4081
 4082
 4083
 4084
 4085
 4086
 4087
 4088
 4089
 4090
 4091
 4092
 4093
 4094
 4095
 4096
 4097
 4098
 4099
 4100
 4101
 4102
 4103
 4104
 4105
 4106
 4107
 4108
 4109
 4110
 4111
 4112
 4113
 4114
 4115
 4116
 4117
 4118
 4119
 4120
 4121
 4122
 4123
 4124
 4125
 4126
 4127
 4128
 4129
 4130
 4131
 4132
 4133
 4134
 4135
 4136
 4137
 4138
 4139
 4140
 4141
 4142
 4143
 4144
 4145
 4146
 4147
 4148
 4149
 4150
 4151
 4152
 4153
 4154
 4155
 4156
 4157
 4158
 4159
 4160
 4161
 4162
 4163
 4164
 4165
 4166
 4167
 4168
 4169
 4170
 4171
 4172
 4173
 4174
 4175
 4176
 4177
 4178
 4179
 4180
 4181
 4182
 4183
 4184
 4185
 4186
 4187
 4188
 4189
 4190
 4191
 4192
 4193
 4194
 4195
 4196
 4197
 4198
 4199
 4200
 4201
 4202
 4203
 4204
 4205
 4206
 4207
 4208
 4209
 4210
 4211
 4212
 4213
 4214
 4215
 4216
 4217
 4218
 4219
 4220
 4221
 4222
 4223
 4224
 4225
 4226
 4227
 4228
 4229
 4230
 4231
 4232
 4233
 4234
 4235
 4236
 4237
 4238
 4239
 4240
 4241
 4242
 4243
 4244
 4245
 4246
 4247
 4248
 4249
 4250
 4251
 4252
 4253
 4254
 4255
 4256
 4257
 4258
 4259
 4260
 4261
 4262
 4263
 4264
 4265
 4266
 4267
 4268
 4269
 4270
 4271
 4272
 4273
 4274
 4275
 4276
 4277
 4278
 4279
 4280
 4281
 4282
 4283
 4284
 4285
 4286
 4287
 4288
 4289
 4290
 4291
 4292
 4293
 4294
 4295
 4296
 4297
 4298
 4299
 4300
 4301
 4302
 4303
 4304
 4305
 4306
 4307
 4308
 4309
 4310
 4311
 4312
 4313
 4314
 4315
 4316
 4317
 4318
 4319
 4320
 4321
 4322
 4323
 4324
 4325
 4326
 4327
 4328
 4329
 4330
 4331
 4332
 4333
 4334
 4335
 4336
 4337
 4338
 4339
 4340
 4341
 4342
 4343
 4344
 4345
 4346
 4347
 4348
 4349
 4350
 4351
 4352
 4353
 4354
 4355
 4356
 4357
 4358
 4359
 4360
 4361
 4362
 4363
 4364
 4365
 4366
 4367
 4368
 4369
 4370
 4371
 4372
 4373
 4374
 4375
 4376
 4377
 4378
 4379
 4380
 4381
 4382
 4383
 4384
 4385
 4386
 4387
 4388
 4389
 4390
 4391
 4392
 4393
 4394
 4395
 4396
 4397
 4398
 4399
 4400
 4401
 4402
 4403
 4404
 4405
 4406
 4407
 4408
 4409
 4410
 4411
 4412
 4413
 4414
 4415
 4416
 4417
 4418
 4419
 4420
 4421
 4422
 4423
 4424
 4425
 4426
 4427
 4428
 4429
 4430
 4431
 4432
 4433
 4434
 4435
 4436
 4437
 4438
 4439
 4440
 4441
 4442
 4443
 4444
 4445
 4446
 4447
 4448
 4449
 4450
 4451
 4452
 4453
 4454
 4455
 4456
 4457
 4458
 4459
 4460
 4461
 4462
 4463
 4464
 4465
 4466
 4467
 4468
 4469
 4470
 4471
 4472
 4473
 4474
 4475
 4476
 4477
 4478
 4479
 4480
 4481
 4482
 4483
 4484
 4485
 4486
 4487
 4488
 4489
 4490
 4491
 4492
 4493
 4494
 4495
 4496
 4497
 4498
 4499
 4500
 4501
 4502
 4503
 4504
 4505
 4506
 4507
 4508
 4509
 4510
 4511
 4512
 4513
 4514
 4515
 4516
 4517
 4518
 4519
 4520
 4521
 4522
 4523
 4524
 4525
 4526
 4527
 4528
 4529
 4530
 4531
 4532
 4533
 4534
 4535
 4536
 4537
 4538
 4539
 4540
 4541
 4542
 4543
 4544
 4545
 4546
 4547
 4548
 4549
 4550
 4551
 4552
 4553
 4554
 4555
 4556
 4557
 4558
 4559
 4560
 4561
 4562
 4563
 4564
 4565
 4566
 4567
 4568
 4569
 4570
 4571
 4572
 4573
 4574
 4575
 4576
 4577
 4578
 4579
 4580
 4581
 4582
 4583
 4584
 4585
 4586
 4587
 4588
 4589
 4590
 4591
 4592
 4593
 4594
 4595
 4596
 4597
 4598
 4599
 4600
 4601
 4602
 4603
 4604
 4605
 4606
 4607
 4608
 4609
 4610
 4611
 4612
 4613
 4614
 4615
 4616
 4617
 4618
 4619
 4620
 4621
 4622
 4623
 4624
 4625
 4626
 4627
 4628
 4629
 4630
 4631
 4632
 4633
 4634
 4635
 4636
 4637
 4638
 4639
 4640
 4641
 4642
 4643
 4644
 4645
 4646
 4647
 4648
 4649
 4650
 4651
 4652
 4653
 4654
 4655
 4656
 4657
 4658
 4659
 4660
 4661
 4662
 4663
 4664
 4665
 4666
 4667
 4668
 4669
 4670
 4671
 4672
 4673
 4674
 4675
 4676
 4677
 4678
 4679
 4680
 4681
 4682
 4683
 4684
 4685
 4686
 4687
 4688
 4689
 4690
 4691
 4692
 4693
 4694
 4695
 4696
 4697
 4698
 4699
 4700
 4701
 4702
 4703
 4704
 4705
 4706
 4707
 4708
 4709
 4710
 4711
 4712
 4713
 4714
 4715
 4716
 4717
 4718
 4719
 4720
 4721
 4722
 4723
 4724
 4725
 4726
 4727
 4728
 4729
 4730
 4731
 4732
 4733
 4734
 4735
 4736
 4737
 4738
 4739
 4740
 4741
 4742
 4743
 4744
 4745
 4746
 4747
 4748
 4749
 4750
 4751
 4752
 4753
 4754
 4755
 4756
 4757
 4758
 4759
 4760
 4761
 4762
 4763
 4764
 4765
 4766
 4767
 4768
 4769
 4770
 4771
 4772
 4773
 4774
 4775
 4776
 4777
 4778
 4779
 4780
 4781
 4782
 4783
 4784
 4785
 4786
 4787
 4788
 4789
 4790
 4791
 4792
 4793
 4794
 4795
 4796
 4797
 4798
 4799
 4800
 4801
 4802
 4803
 4804
 4805
 4806
 4807
 4808
 4809
 4810
 4811
 4812
 4813
 4814
 4815
 4816
 4817
 4818
 4819
 4820
 4821
 4822
 4823
 4824
 4825
 4826
 4827
 4828
 4829
 4830
 4831
 4832
 4833
 4834
 4835
 4836
 4837
 4838
 4839
 4840
 4841
 4842
 4843
 4844
 4845
 4846
 4847
 4848
 4849
 4850
 4851
 4852
 4853
 4854
 4855
 4856
 4857
 4858
 4859
 4860
 4861
 4862
 4863
 4864
 4865
 4866
 4867
 4868
 4869
 4870
 4871
 4872
 4873
 4874
 4875
 4876
 4877
 4878
 4879
 4880
 4881
 4882
 4883
 4884
 4885
 4886
 4887
 4888
 4889
 4890
 4891
 4892
 4893
 4894
 4895
 4896
 4897
 4898
 4899
 4900
 4901
 4902
 4903
 4904
 4905
 4906
 4907
 4908
 4909
 4910
 4911
 4912
 4913
 4914
 4915
 4916
 4917
 4918
 4919
 4920
 4921
 4922
 4923
 4924
 4925
 4926
 4927
 4928
 4929
 4930
 4931
 4932
 4933
 4934
 4935
 4936
 4937
 4938
 4939
 4940
 4941
 4942
 4943
 4944
 4945
 4946
 4947
 4948
 4949
 4950
 4951
 4952
 4953
 4954
 4955
 4956
 4957
 4958
 4959
 4960
 4961
 4962
 4963
 4964
 4965
 4966
 4967
 4968
 4969
 4970
 4971
 4972
 4973
 4974
 4975
 4976
 4977
 4978
 4979
 4980
 4981
 4982
 4983
 4984
 4985
 4986
 4987
 4988
 4989
 4990
 4991
 4992
 4993
 4994
 4995
 4996
 4997
 4998
 4999
 5000
 5001
 5002
 5003
 5004
 5005
 5006
 5007
 5008
 5009
 5010
 5011
 5012
 5013
 5014
 5015
 5016
 5017
 5018
 5019
 5020
 5021
 5022
 5023
 5024
 5025
 5026
 5027
 5028
 5029
 5030
 5031
 5032
 5033
 5034
 5035
 5036
 5037
 5038
 5039
 5040
 5041
 5042
 5043
 5044
 5045
 5046
 5047
 5048
 5049
 5050
 5051
 5052
 5053
 5054
 5055
 5056
 5057
 5058
 5059
 5060
 5061
 5062
 5063
 5064
 5065
 5066
 5067
 5068
 5069
 5070
 5071
 5072
 5073
 5074
 5075
 5076
 5077
 5078
 5079
 5080
 5081
 5082
 5083
 5084
 5085
 5086
 5087
 5088
 5089
 5090
 5091
 5092
 5093
 5094
 5095
 5096
 5097
 5098
 5099
 5100
 5101
 5102
 5103
 5104
 5105
 5106
 5107
 5108
 5109
 5110
 5111
 5112
 5113
 5114
 5115
 5116
 5117
 5118
 5119
 5120
 5121
 5122
 5123
 5124
 5125
 5126
 5127
 5128
 5129
 5130
 5131
 5132
 5133
 5134
 5135
 5136
 5137
 5138
 5139
 5140
 5141
 5142
 5143
 5144
 5145
 5146
 5147
 5148
 5149
 5150
 5151
 5152
 5153
 5154
 5155
 5156
 5157
 5158
 5159
 5160
 5161
 5162
 5163
 5164
 5165
 5166
 5167
 5168
 5169
 5170
 5171
 5172
 5173
 5174
 5175
 5176
 5177
 5178
 5179
 5180
 5181
 5182
 5183
 5184
 5185
 5186
 5187
 5188
 5189
 5190
 5191
 5192
 5193
 5194
 5195
 5196
 5197
 5198
 5199
 5200
 5201
 5202
 5203
 5204
 5205
 5206
 5207
 5208
 5209
 5210
 5211
 5212
 5213
 5214
 5215
 5216
 5217
 5218
 5219
 5220
 5221
 5222
 5223
 5224
 5225
 5226
 5227
 5228
 5229
 5230
 5231
 5232
 5233
 5234
 5235
 5236
 5237
 5238
 5239
 5240
 5241
 5242
 5243
 5244
 5245
 5246
 5247
 5248
 5249
 5250
 5251
 5252
 5253
 5254
 5255
 5256
 5257
 5258
 5259
 5260
 5261
 5262
 5263
 5264
 5265
 5266
 5267
 5268
 5269
 5270
 5271
 5272
 5273
 5274
 5275
 5276
 5277
 5278
 5279
 5280
 5281
 5282
 5283
 5284
 5285
 5286
 5287
 5288
 5289
 5290
 5291
 5292
 5293
 5294
 5295
 5296
 5297
 5298
 5299
 5300
 5301
 5302
 5303
 5304
 5305
 5306
 5307
 5308
 5309
 5310
 5311
 5312
 5313
 5314
 5315
 5316
 5317
 5318
 5319
 5320
 5321
 5322
 5323
 5324
 5325
 5326
 5327
 5328
 5329
 5330
 5331
 5332
 5333
 5334
 5335
 5336
 5337
 5338
 5339
 5340
 5341
 5342
 5343
 5344
 5345
 5346
 5347
 5348
 5349
 5350
 5351
 5352
 5353
 5354
 5355
 5356
 5357
 5358
 5359
 5360
 5361
 5362
 5363
 5364
 5365
 5366
 5367
 5368
 5369
 5370
 5371
 5372
 5373
 5374
 5375
 5376
 5377
 5378
 5379
 5380
 5381
 5382
 5383
 5384
 5385
 5386
 5387
 5388
 5389
 5390
 5391
 5392
 5393
 5394
 5395
 5396
 5397
 5398
 5399
 5400
 5401
 5402
 5403
 5404
 5405
 5406
 5407
 5408
 5409
 5410
 5411
 5412
 5413
 5414
 5415
 5416
 5417
 5418
 5419
 5420
 5421
 5422
 5423
 5424
 5425
 5426
 5427
 5428
 5429
 5430
 5431
 5432
 5433
 5434
 5435
 5436
 5437
 5438
 5439
 5440
 5441
 5442
 5443
 5444
 5445
 5446
 5447
 5448
 5449
 5450
 5451
 5452
 5453
 5454
 5455
 5456
 5457
 5458
 5459
 5460
 5461
 5462
 5463
 5464
 5465
 5466
 5467
 5468
 5469
 5470
 5471
 5472
 5473
 5474
 5475
 5476
 5477
 5478
 5479
 5480
 5481
 5482
 5483
 5484
 5485
 5486
 5487
 5488
 5489
 5490
 5491
 5492
 5493
 5494
 5495
 5496
 5497
 5498
 5499
 5500
 5501
 5502
 5503
 5504
 5505
 5506
 5507
 5508
 5509
 5510
 5511
 5512
 5513
 5514
 5515
 5516
 5517
 5518
 5519
 5520
 5521
 5522
 5523
 5524
 5525
 5526
 5527
 5528
 5529
 5530
 5531
 5532
 5533
 5534
 5535
 5536
 5537
 5538
 5539
 5540
 5541
 5542
 5543
 5544
 5545
 5546
 5547
 5548
 5549
 5550
 5551
 5552
 5553
 5554
 5555
 5556
 5557
 5558
 5559
 5560
 5561
 5562
 5563
 5564
 5565
 5566
 5567
 5568
 5569
 5570
 5571
 5572
 5573
 5574
 5575
 5576
 5577
 5578
 5579
 5580
 5581
 5582
 5583
 5584
 5585
 5586
 5587
 5588
 5589
 5590
 5591
 5592
 5593
 5594
 5595
 5596
 5597
 5598
 5599
 5600
 5601
 5602
 5603
 5604
 5605
 5606
 5607
 5608
 5609
 5610
 5611
 5612
 5613
 5614
 5615
 5616
 5617
 5618
 5619
 5620
 5621
 5622
 5623
 5624
 5625
 5626
 5627
 5628
 5629
 5630
 5631
 5632
 5633
 5634
 5635
 5636
 5637
 5638
 5639
 5640
 5641
 5642
 5643
 5644
 5645
 5646
 5647
 5648
 5649
 5650
 5651
 5652
 5653
 5654
 5655
 5656
 5657
 5658
 5659
 5660
 5661
 5662
 5663
 5664
 5665
 5666
 5667
 5668
 5669
 5670
 5671
 5672
 5673
 5674
 5675
 5676
 5677
 5678
 5679
 5680
 5681
 5682
 5683
 5684
 5685
 5686
 5687
 5688
 5689
 5690
 5691
 5692
 5693
 5694
 5695
 5696
 5697
 5698
 5699
 5700
 5701
 5702
 5703
 5704
 5705
 5706
 5707
 5708
 5709
 5710
 5711
 5712
 5713
 5714
 5715
 5716
 5717
 5718
 5719
 5720
 5721
 5722
 5723
 5724
 5725
 5726
 5727
 5728
 5729
 5730
 5731
 5732
 5733
 5734
 5735
 5736
 5737
 5738
 5739
 5740
 5741
 5742
 5743
 5744
 5745
 5746
 5747
 5748
 5749
 5750
 5751
 5752
 5753
 5754
 5755
 5756
 5757
 5758
 5759
 5760
 5761
 5762
 5763
 5764
 5765
 5766
 5767
 5768
 5769
 5770
 5771
 5772
 5773
 5774
 5775
 5776
 5777
 5778
 5779
 5780
 5781
 5782
 5783
 5784
 5785
 5786
 5787
 5788
 5789
 5790
 5791
 5792
 5793
 5794
 5795
 5796
 5797
 5798
 5799
 5800
 5801
 5802
 5803
 5804
 5805
 5806
 5807
 5808
 5809
 5810
 5811
 5812
 5813
 5814
 5815
 5816
 5817
 5818
 5819
 5820
 5821
 5822
 5823
 5824
 5825
 5826
 5827
 5828
 5829
 5830
 5831
 5832
 5833
 5834
 5835
 5836
 5837
 5838
 5839
 5840
 5841
 5842
 5843
 5844
 5845
 5846
 5847
 5848
 5849
 5850
 5851
 5852
 5853
 5854
 5855
 5856
 5857
 5858
 5859
 5860
 5861
 5862
 5863
 5864
 5865
 5866
 5867
 5868
 5869
 5870
 5871
 5872
 5873
 5874
 5875
 5876
 5877
 5878
 5879
 5880
 5881
 5882
 5883
 5884
 5885
 5886
 5887
 5888
 5889
 5890
 5891
 5892
 5893
 5894
 5895
 5896
 5897
 5898
 5899
 5900
 5901
 5902
 5903
 5904
 5905
 5906
 5907
 5908
 5909
 5910
 5911
 5912
 5913
 5914
 5915
 5916
 5917
 5918
 5919
 5920
 5921
 5922
 5923
 5924
 5925
 5926
 5927
 5928
 5929
 5930
 5931
 5932
 5933
 5934
 5935
 5936
 5937
 5938
 5939
 5940
 5941
 5942
 5943
 5944
 5945
 5946
 5947
 5948
 5949
 5950
 5951
 5952
 5953
 5954
 5955
 5956
 5957
 5958
 5959
 5960
 5961
 5962
 5963
 5964
 5965
 5966
 5967
 5968
 5969
 5970
 5971
 5972
 5973
 5974
 5975
 5976
 5977
 5978
 5979
 5980
 5981
 5982
 5983
 5984
 5985
 5986
 5987
 5988
 5989
 5990
 5991
 5992
 5993
 5994
 5995
 5996
 5997
 5998
 5999
 6000
 6001
 6002
 6003
 6004
 6005
 6006
 6007
 6008
 6009
 6010
 6011
 6012
 6013
 6014
 6015
 6016
 6017
 6018
 6019
 6020
 6021
 6022
 6023
 6024
 6025
 6026
 6027
 6028
 6029
 6030
 6031
 6032
 6033
 6034
 6035
 6036
 6037
 6038
 6039
 6040
 6041
 6042
 6043
 6044
 6045
 6046
 6047
 6048
 6049
 6050
 6051
 6052
 6053
 6054
 6055
 6056
 6057
 6058
 6059
 6060
 6061
 6062
 6063
 6064
 6065
 6066
 6067
 6068
 6069
 6070
 6071
 6072
 6073
 6074
 6075
 6076
 6077
 6078
 6079
 6080
 6081
 6082
 6083
 6084
 6085
 6086
 6087
 6088
 6089
 6090
 6091
 6092
 6093
 6094
 6095
 6096
 6097
 6098
 6099
 6100
 6101
 6102
 6103
 6104
 6105
 6106
 6107
 6108
 6109
 6110
 6111
 6112
 6113
 6114
 6115
 6116
 6117
 6118
 6119
 6120
 6121
 6122
 6123
 6124
 6125
 6126
 6127
 6128
 6129
 6130
 6131
 6132
 6133
 6134
 6135
 6136
 6137
 6138
 6139
 6140
 6141
 6142
 6143
 6144
 6145
 6146
 6147
 6148
 6149
 6150
 6151
 6152
 6153
 6154
 6155
 6156
 6157
 6158
 6159
 6160
 6161
 6162
 6163
 6164
 6165
 6166
 6167
 6168
 6169
 6170
 6171
 6172
 6173
 6174
 6175
 6176
 6177
 6178
 6179
 6180
 6181
 6182
 6183
 6184
 6185
 6186
 6187
 6188
 6189
 6190
 6191
 6192
 6193
 6194
 6195
 6196
 6197
 6198
 6199
 6200
 6201
 6202
 6203
 6204
 6205
 6206
 6207
 6208
 6209
 6210
 6211
 6212
 6213
 6214
 6215
 6216
 6217
 6218
 6219
 6220
 6221
 6222
 6223
 6224
 6225
 6226
 6227
 6228
 6229
 6230
 6231
 6232
 6233
 6234
 6235
 6236
 6237
 6238
 6239
 6240
 6241
 6242
 6243
 6244
 6245
 6246
 6247
 6248
 6249
 6250
 6251
 6252
 6253
 6254
 6255
 6256
 6257
 6258
 6259
 6260
 6261
 6262
 6263
 6264
 6265
 6266
 6267
 6268
 6269
 6270
 6271
 6272
 6273
 6274
 6275
 6276
 6277
 6278
 6279
 6280
 6281
 6282
 6283
 6284
 6285
 6286
 6287
 6288
 6289
 6290
 6291
 6292
 6293
 6294
 6295
 6296
 6297
 6298
 6299
 6300
 6301
 6302
 6303
 6304
 6305
 6306
 6307
 6308
 6309
 6310
 6311
 6312
 6313
 6314
 6315
 6316
 6317
 6318
 6319
 6320
 6321
 6322
 6323
 6324
 6325
 6326
 6327
 6328
 6329
 6330
 6331
 6332
 6333
 6334
 6335
 6336
 6337
 6338
 6339
 6340
 6341
 6342
 6343
 6344
 6345
 6346
 6347
 6348
 6349
 6350
 6351
 6352
 6353
 6354
 6355
 6356
 6357
 6358
 6359
 6360
 6361
 6362
 6363
 6364
 6365
 6366
 6367
 6368
 6369
 6370
 6371
 6372
 6373
 6374
 6375
 6376
 6377
 6378
 6379
 6380
 6381
 6382
 6383
 6384
 6385
 6386
 6387
 6388
 6389
 6390
 6391
 6392
 6393
 6394
 6395
 6396
 6397
 6398
 6399
 6400
 6401
 6402
 6403
 6404
 6405
 6406
 6407
 6408
 6409
 6410
 6411
 6412
 6413
 6414
 6415
 6416
 6417
 6418
 6419
 6420
 6421
 6422
 6423
 6424
 6425
 6426
 6427
 6428
 6429
 6430
 6431
 6432
 6433
 6434
 6435
 6436
 6437
 6438
 6439
 6440
 6441
 6442
 6443
 6444
 6445
 6446
 6447
 6448
 6449
 6450
 6451
 6452
 6453
 6454
 6455
 6456
 6457
 6458
 6459
 6460
 6461
 6462
 6463
 6464
 6465
 6466
 6467
 6468
 6469
 6470
 6471
 6472
 6473
 6474
 6475
 6476
 6477
 6478
 6479
 6480
 6481
 6482
 6483
 6484
 6485
 6486
 6487
 6488
 6489
 6490
 6491
 6492
 6493
 6494
 6495
 6496
 6497
 6498
 6499
 6500
 6501
 6502
 6503
 6504
 6505
 6506
 6507
 6508
 6509
 6510
 6511
 6512
 6513
 6514
 6515
 6516
 6517
 6518
 6519
 6520
 6521
 6522
 6523
 6524
 6525
 6526
 6527
 6528
 6529
 6530
 6531
 6532
 6533
 6534
 6535
 6536
 6537
 6538
 6539
 6540
 6541
 6542
 6543
 6544
 6545
 6546
 6547
 6548
 6549
 6550
 6551
 6552
 6553
 6554
 6555
 6556
 6557
 6558
 6559
 6560
 6561
 6562
 6563
 6564
 6565
 6566
 6567
 6568
 6569
 6570
 6571
 6572
 6573
 6574
 6575
 6576
 6577
 6578
 6579
 6580
 6581
 6582
 6583
 6584
 6585
 6586
 6587
 6588
 6589
 6590
 6591
 6592
 6593
 6594
 6595
 6596
 6597
 6598
 6599
 6600
 6601
 6602
 6603
 6604
 6605
 6606
 6607
 6608
 6609
 6610
 6611
 6612
 6613
 6614
 6615
 6616
 6617
 6618
 6619
 6620
 6621
 6622
 6623
 6624
 6625
 6626
 6627
 6628
 6629
 6630
 6631
 6632
 6633
 6634
 6635
 6636
 6637
 6638
 6639
 6640
 6641
 6642
 6643
 6644
 6645
 6646
 6647
 6648
 6649
 6650
 6651
 6652
 6653
 6654
 6655
 6656
 6657
 6658
 6659
 6660
 6661
 6662
 6663
 6664
 6665
 6666
 6667
 6668
 6669
 6670
 6671
 6672
 6673
 6674
 6675
 6676
 6677
 6678
 6679
 6680
 6681
 6682
 6683
 6684
 6685
 6686
 6687
 6688
 6689
 6690
 6691
 6692
 6693
 6694
 6695
 6696
 6697
 6698
 6699
 6700
 6701
 6702
 6703
 6704
 6705
 6706
 6707
 6708
 6709
 6710
 6711
 6712
 6713
 6714
 6715
 6716
 6717
 6718
 6719
 6720
 6721
 6722
 6723
 6724
 6725
 6726
 6727
 6728
 6729
 6730
 6731
 6732
 6733
 6734
 6735
 6736
 6737
 6738
 6739
 6740
 6741
 6742
 6743
 6744
 6745
 6746
 6747
 6748
 6749
 6750
 6751
 6752
 6753
 6754
 6755
 6756
 6757
 6758
 6759
 6760
 6761
 6762
 6763
 6764
 6765
 6766
 6767
 6768
 6769
 6770
 6771
 6772
 6773
 6774
 6775
 6776
 6777
 6778
 6779
 6780
 6781
 6782
 6783
 6784
 6785
 6786
 6787
 6788
 6789
 6790
 6791
 6792
 6793
 6794
 6795
 6796
 6797
 6798
 6799
 6800
 6801
 6802
 6803
 6804
 6805
 6806
 6807
 6808
 6809
 6810
 6811
 6812
 6813
 6814
 6815
 6816
 6817
 6818
 6819
 6820
 6821
 6822
 6823
 6824
 6825
 6826
 6827
 6828
 6829
 6830
 6831
 6832
 6833
 6834
 6835
 6836
 6837
 6838
 6839
 6840
 6841
 6842
 6843
 6844
 6845
 6846
 6847
 6848
 6849
 6850
 6851
 6852
 6853
 6854
 6855
 6856
 6857
 6858
 6859
 6860
 6861
 6862
 6863
 6864
 6865
 6866
 6867
 6868
 6869
 6870
 6871
 6872
 6873
 6874
 6875
 6876
 6877
 6878
 6879
 6880
 6881
 6882
 6883
 6884
 6885
 6886
 6887
 6888
 6889
 6890
 6891
 6892
 6893
 6894
 6895
 6896
 6897
 6898
 6899
 6900
 6901
 6902
 6903
 6904
 6905
 6906
 6907
 6908
 6909
 6910
 6911
 6912
 6913
 6914
 6915
 6916
 6917
 6918
 6919
 6920
 6921
 6922
 6923
 6924
 6925
 6926
 6927
 6928
 6929
 6930
 6931
 6932
 6933
 6934
 6935
 6936
 6937
 6938
 6939
 6940
 6941
 6942
 6943
 6944
 6945
 6946
 6947
 6948
 6949
 6950
 6951
 6952
 6953
 6954
 6955
 6956
 6957
 6958
 6959
 6960
 6961
 6962
 6963
 6964
 6965
 6966
 6967
 6968
 6969
 6970
 6971
 6972
 6973
 6974
 6975
 6976
 6977
 6978
 6979
 6980
 6981
 6982
 6983
 6984
 6985
 6986
 6987
 6988
 6989
 6990
 6991
 6992
 6993
 6994
 6995
 6996
 6997
 6998
 6999
 7000
 7001
 7002
 7003
 7004
 7005
 7006
 7007
 7008
 7009
 7010
 7011
 7012
 7013
 7014
 7015
 7016
 7017
 7018
 7019
 7020
 7021
 7022
 7023
 7024
 7025
 7026
 7027
 7028
 7029
 7030
 7031
 7032
 7033
 7034
 7035
 7036
 7037
 7038
 7039
 7040
 7041
 7042
 7043
 7044
 7045
 7046
 7047
 7048
 7049
 7050
 7051
 7052
 7053
 7054
 7055
 7056
 7057
 7058
 7059
 7060
 7061
 7062
 7063
 7064
 7065
 7066
 7067
 7068
 7069
 7070
 7071
 7072
 7073
 7074
 7075
 7076
 7077
 7078
 7079
 7080
 7081
 7082
 7083
 7084
 7085
 7086
 7087
 7088
 7089
 7090
 7091
 7092
 7093
 7094
 7095
 7096
 7097
 7098
 7099
 7100
 7101
 7102
 7103
 7104
 7105
 7106
 7107
 7108
 7109
 7110
 7111
 7112
 7113
 7114
 7115
 7116
 7117
 7118
 7119
 7120
 7121
 7122
 7123
 7124
 7125
 7126
 7127
 7128
 7129
 7130
 7131
 7132
 7133
 7134
 7135
 7136
 7137
 7138
 7139
 7140
 7141
 7142
 7143
 7144
 7145
 7146
 7147
 7148
 7149
 7150
 7151
 7152
 7153
 7154
 7155
 7156
 7157
 7158
 7159
 7160
 7161
 7162
 7163
 7164
 7165
 7166
 7167
 7168
 7169
 7170
 7171
 7172
 7173
 7174
 7175
 7176
 7177
 7178
 7179
 7180
 7181
 7182
 7183
 7184
 7185
 7186
 7187
 7188
 7189
 7190
 7191
 7192
 7193
 7194
 7195
 7196
 7197
 7198
 7199
 7200
 7201
 7202
 7203
 7204
 7205
 7206
 7207
 7208
 7209
 7210
 7211
 7212
 7213
 7214
 7215
 7216
 7217
 7218
 7219
 7220
 7221
 7222
 7223
 7224
 7225
 7226
 7227
 7228
 7229
 7230
 7231
 7232
 7233
 7234
 7235
 7236
 7237
 7238
 7239
 7240
 7241
 7242
 7243
 7244
 7245
 7246
 7247
 7248
 7249
 7250
 7251
 7252
 7253
 7254
 7255
 7256
 7257
 7258
 7259
 7260
 7261
 7262
 7263
 7264
 7265
 7266
 7267
 7268
 7269
 7270
 7271
 7272
 7273
 7274
 7275
 7276
 7277
 7278
 7279
 7280
 7281
 7282
 7283
 7284
 7285
 7286
 7287
 7288
 7289
 7290
 7291
 7292
 7293
 7294
 7295
 7296
 7297
 7298
 7299
 7300
 7301
 7302
 7303
 7304
 7305
 7306
 7307
 7308
 7309
 7310
 7311
 7312
 7313
 7314
 7315
 7316
 7317
 7318
 7319
 7320
 7321
 7322
 7323
 7324
 7325
 7326
 7327
 7328
 7329
 7330
 7331
 7332
 7333
 7334
 7335
 7336
 7337
 7338
 7339
 7340
 7341
 7342
 7343
 7344
 7345
 7346
 7347
 7348
 7349
 7350
 7351
 7352
 7353
 7354
 7355
 7356
 7357
 7358
 7359
 7360
 7361
 7362
 7363
 7364
 7365
 7366
 7367
 7368
 7369
 7370
 7371
 7372
 7373
 7374
 7375
 7376
 7377
 7378
 7379
 7380
 7381
 7382
 7383
 7384
 7385
 7386
 7387
 7388
 7389
 7390
 7391
 7392
 7393
 7394
 7395
 7396
 7397
 7398
 7399
 7400
 7401
 7402
 7403
 7404
 7405
 7406
 7407
 7408
 7409
 7410
 7411
 7412
 7413
 7414
 7415
 7416
 7417
 7418
 7419
 7420
 7421
 7422
 7423
 7424
 7425
 7426
 7427
 7428
 7429
 7430
 7431
 7432
 7433
 7434
 7435
 7436
 7437
 7438
 7439
 7440
 7441
 7442
 7443
 7444
 7445
 7446
 7447
 7448
 7449
 7450
 7451
 7452
 7453
 7454
 7455
 7456
 7457
 7458
 7459
 7460
 7461
 7462
 7463
 7464
 7465
 7466
 7467
 7468
 7469
 7470
 7471
 7472
 7473
 7474
 7475
 7476
 7477
 7478
 7479
 7480
 7481
 7482
 7483
 7484
 7485
 7486
 7487
 7488
 7489
 7490
 7491
 7492
 7493
 7494
 7495
 7496
 7497
 7498
 7499
 7500
 7501
 7502
 7503
 7504
 7505
 7506
 7507
 7508
 7509
 7510
 7511
 7512
 7513
 7514
 7515
 7516
 7517
 7518
 7519
 7520
 7521
 7522
 7523
 7524
 7525
 7526
 7527
 7528
 7529
 7530
 7531
 7532
 7533
 7534
 7535
 7536
 7537
 7538
 7539
 7540
 7541
 7542
 7543
 7544
 7545
 7546
 7547
 7548
 7549
 7550
 7551
 7552
 7553
 7554
 7555
 7556
 7557
 7558
 7559
 7560
 7561
 7562
 7563
 7564
 7565
 7566
 7567
 7568
 7569
 7570
 7571
 7572
 7573
 7574
 7575
 7576
 7577
 7578
 7579
 7580
 7581
 7582
 7583
 7584
 7585
 7586
 7587
 7588
 7589
 7590
 7591
 7592
 7593
 7594
 7595
 7596
 7597
 7598
 7599
 7600
 7601
 7602
 7603
 7604
 7605
 7606
 7607
 7608
 7609
 7610
 7611
 7612
 7613
 7614
 7615
 7616
 7617
 7618
 7619
 7620
 7621
 7622
 7623
 7624
 7625
 7626
 7627
 7628
 7629
 7630
 7631
 7632
 7633
 7634
 7635
 7636
 7637
 7638
 7639
 7640
 7641
 7642
 7643
 7644
 7645
 7646
 7647
 7648
 7649
 7650
 7651
 7652
 7653
 7654
 7655
 7656
 7657
 7658
 7659
 7660
 7661
 7662
 7663
 7664
 7665
 7666
 7667
 7668
 7669
 7670
 7671
 7672
 7673
 7674
 7675
 7676
 7677
 7678
 7679
 7680
 7681
 7682
 7683
 7684
 7685
 7686
 7687
 7688
 7689
 7690
 7691
 7692
 7693
 7694
 7695
 7696
 7697
 7698
 7699
 7700
 7701
 7702
 7703
 7704
 7705
 7706
 7707
 7708
 7709
 7710
 7711
 7712
 7713
 7714
 7715
 7716
 7717
 7718
 7719
 7720
 7721
 7722
 7723
 7724
 7725
 7726
 7727
 7728
 7729
 7730
 7731
 7732
 7733
 7734
 7735
 7736
 7737
 7738
 7739
 7740
 7741
 7742
 7743
 7744
 7745
 7746
 7747
 7748
 7749
 7750
 7751
 7752
 7753
 7754
 7755
 7756
 7757
 7758
 7759
 7760
 7761
 7762
 7763
 7764
 7765
 7766
 7767
 7768
 7769
 7770
 7771
 7772
 7773
 7774
 7775
 7776
 7777
 7778
 7779
 7780
 7781
 7782
 7783
 7784
 7785
 7786
 7787
 7788
 7789
 7790
 7791
 7792
 7793
 7794
 7795
 7796
 7797
 7798
 7799
 7800
 7801
 7802
 7803
 7804
 7805
 7806
 7807
 7808
 7809
 7810
 7811
 7812
 7813
 7814
 7815
 7816
 7817
 7818
 7819
 7820
 7821
 7822
 7823
 7824
 7825
 7826
 7827
 7828
 7829
 7830
 7831
 7832
 7833
 7834
 7835
 7836
 7837
 7838
 7839
 7840
 7841
 7842
 7843
 7844
 7845
 7846
 7847
 7848
 7849
 7850
 7851
 7852
 7853
 7854
 7855
 7856
 7857
 7858
 7859
 7860
 7861
 7862
 7863
 7864
 7865
 7866
 7867
 7868
 7869
 7870
 7871
 7872
 7873
 7874
 7875
 7876
 7877
 7878
 7879
 7880
 7881
 7882
 7883
 7884
 7885
 7886
 7887
 7888
 7889
 7890
 7891
 7892
 7893
 7894
 7895
 7896
 7897
 7898
 7899
 7900
 7901
 7902
 7903
 7904
 7905
 7906
 7907
 7908
 7909
 7910
 7911
 7912
 7913
 7914
 7915
 7916
 7917
 7918
 7919
 7920
 7921
 7922
 7923
 7924
 7925
 7926
 7927
 7928
 7929
 7930
 7931
 7932
 7933
 7934
 7935
 7936
 7937
 7938
 7939
 7940
 7941
 7942
 7943
 7944
 7945
 7946
 7947
 7948
 7949
 7950
 7951
 7952
 7953
 7954
 7955
 7956
 7957
 7958
 7959
 7960
 7961
 7962
 7963
 7964
 7965
 7966
 7967
 7968
 7969
 7970
 7971
 7972
 7973
 7974
 7975
 7976
 7977
 7978
 7979
 7980
 7981
 7982
 7983
 7984
 7985
 7986
 7987
 7988
 7989
 7990
 7991
 7992
 7993
 7994
 7995
 7996
 7997
 7998
 7999
 8000
 8001
 8002
 8003
 8004
 8005
 8006
 8007
 8008
 8009
 8010
 8011
 8012
 8013
 8014
 8015
 8016
 8017
 8018
 8019
 8020
 8021
 8022
 8023
 8024
 8025
 8026
 8027
 8028
 8029
 8030
 8031
 8032
 8033
 8034
 8035
 8036
 8037
 8038
 8039
 8040
 8041
 8042
 8043
 8044
 8045
 8046
 8047
 8048
 8049
 8050
 8051
 8052
 8053
 8054
 8055
 8056
 8057
 8058
 8059
 8060
 8061
 8062
 8063
 8064
 8065
 8066
 8067
 8068
 8069
 8070
 8071
 8072
 8073
 8074
 8075
 8076
 8077
 8078
 8079
 8080
 8081
 8082
 8083
 8084
 8085
 8086
 8087
 8088
 8089
 8090
 8091
 8092
 8093
 8094
 8095
 8096
 8097
 8098
 8099
 8100
 8101
 8102
 8103
 8104
 8105
 8106
 8107
 8108
 8109
 8110
 8111
 8112
 8113
 8114
 8115
 8116
 8117
 8118
 8119
 8120
 8121
 8122
 8123
 8124
 8125
 8126
 8127
 8128
 8129
 8130
 8131
 8132
 8133
 8134
 8135
 8136
 8137
 8138
 8139
 8140
 8141
 8142
 8143
 8144
 8145
 8146
 8147
 8148
 8149
 8150
 8151
 8152
 8153
 8154
 8155
 8156
 8157
 8158
 8159
 8160
 8161
 8162
 8163
 8164
 8165
 8166
 8167
 8168
 8169
 8170
 8171
 8172
 8173
 8174
 8175
 8176
 8177
 8178
 8179
 8180
 8181
 8182
 8183
 8184
 8185
 8186
 8187
 8188
 8189
 8190
 8191
 8192
 8193
 8194
 8195
 8196
 8197
 8198
 8199
 8200
 8201
 8202
 8203
 8204
 8205
 8206
 8207
 8208
 8209
 8210
 8211
 8212
 8213
 8214
 8215
 8216
 8217
 8218
 8219
 8220
 8221
 8222
 8223
 8224
 8225
 8226
 8227
 8228
 8229
 8230
 8231
 8232
 8233
 8234
 8235
 8236
 8237
 8238
 8239
 8240
 8241
 8242
 8243
 8244
 8245
 8246
 8247
 8248
 8249
 8250
 8251
 8252
 8253
 8254
 8255
 8256
 8257
 8258
 8259
 8260
 8261
 8262
 8263
 8264
 8265
 8266
 8267
 8268
 8269
 8270
 8271
 8272
 8273
 8274
 8275
 8276
 8277
 8278
 8279
 8280
 8281
 8282
 8283
 8284
 8285
 8286
 8287
 8288
 8289
 8290
 8291
 8292
 8293
 8294
 8295
 8296
 8297
 8298
 8299
 8300
 8301
 8302
 8303
 8304
 8305
 8306
 8307
 8308
 8309
 8310
 8311
 8312
 8313
 8314
 8315
 8316
 8317
 8318
 8319
 8320
 8321
 8322
 8323
 8324
 8325
 8326
 8327
 8328
 8329
 8330
 8331
 8332
 8333
 8334
 8335
 8336
 8337
 8338
 8339
 8340
 8341
 8342
 8343
 8344
 8345
 8346
 8347
 8348
 8349
 8350
 8351
 8352
 8353
 8354
 8355
 8356
 8357
 8358
 8359
 8360
 8361
 8362
 8363
 8364
 8365
 8366
 8367
 8368
 8369
 8370
 8371
 8372
 8373
 8374
 8375
 8376
 8377
 8378
 8379
 8380
 8381
 8382
 8383
 8384
 8385
 8386
 8387
 8388
 8389
 8390
 8391
 8392
 8393
 8394
 8395
 8396
 8397
 8398
 8399
 8400
 8401
 8402
 8403
 8404
 8405
 8406
 8407
 8408
 8409
 8410
 8411
 8412
 8413
 8414
 8415
 8416
 8417
 8418
 8419
 8420
 8421
 8422
 8423
 8424
 8425
 8426
 8427
 8428
 8429
 8430
 8431
 8432
 8433
 8434
 8435
 8436
 8437
 8438
 8439
 8440
 8441
 8442
 8443
 8444
 8445
 8446
 8447
 8448
 8449
 8450
 8451
 8452
 8453
 8454
 8455
 8456
 8457
 8458
 8459
 8460
 8461
 8462
 8463
 8464
 8465
 8466
 8467
 8468
 8469
 8470
 8471
 8472
 8473
 8474
 8475
 8476
 8477
 8478
 8479
 8480
 8481
 8482
 8483
 8484
 8485
 8486
 8487
 8488
 8489
 8490
 8491
 8492
 8493
 8494
 8495
 8496
 8497
 8498
 8499
 8500
 8501
 8502
 8503
 8504
 8505
 8506
 8507
 8508
 8509
 8510
 8511
 8512
 8513
 8514
 8515
 8516
 8517
 8518
 8519
 8520
 8521
 8522
 8523
 8524
 8525
 8526
 8527
 8528
 8529
 8530
 8531
 8532
 8533
 8534
 8535
 8536
 8537
 8538
 8539
 8540
 8541
 8542
 8543
 8544
 8545
 8546
 8547
 8548
 8549
 8550
 8551
 8552
 8553
 8554
 8555
 8556
 8557
 8558
 8559
 8560
 8561
 8562
 8563
 8564
 8565
 8566
 8567
 8568
 8569
 8570
 8571
 8572
 8573
 8574
 8575
 8576
 8577
 8578
 8579
 8580
 8581
 8582
 8583
 8584
 8585
 8586
 8587
 8588
 8589
 8590
 8591
 8592
 8593
 8594
 8595
 8596
 8597
 8598
 8599
 8600
 8601
 8602
 8603
 8604
 8605
 8606
 8607
 8608
 8609
 8610
 8611
 8612
 8613
 8614
 8615
 8616
 8617
 8618
 8619
 8620
 8621
 8622
 8623
 8624
 8625
 8626
 8627
 8628
 8629
 8630
 8631
 8632
 8633
 8634
 8635
 8636
 8637
 8638
 8639
 8640
 8641
 8642
 8643
 8644
 8645
 8646
 8647
 8648
 8649
 8650
 8651
 8652
 8653
 8654
 8655
 8656
 8657
 8658
 8659
 8660
 8661
 8662
 8663
 8664
 8665
 8666
 8667
 8668
 8669
 8670
 8671
 8672
 8673
 8674
 8675
 8676
 8677
 8678
 8679
 8680
 8681
 8682
 8683
 8684
 8685
 8686
 8687
 8688
 8689
 8690
 8691
 8692
 8693
 8694
 8695
 8696
 8697
 8698
 8699
 8700
 8701
 8702
 8703
 8704
 8705
 8706
 8707
 8708
 8709
 8710
 8711
 8712
 8713
 8714
 8715
 8716
 8717
 8718
 8719
 8720
 8721
 8722
 8723
 8724
 8725
 8726
 8727
 8728
 8729
 8730
 8731
 8732
 8733
 8734
 8735
 8736
 8737
 8738
 8739
 8740
 8741
 8742
 8743
 8744
 8745
 8746
 8747
 8748
 8749
 8750
 8751
 8752
 8753
 8754
 8755
 8756
 8757
 8758
 8759
 8760
 8761
 8762
 8763
 8764
 8765
 8766
 8767
 8768
 8769
 8770
 8771
 8772
 8773
 8774
 8775
 8776
 8777
 8778
 8779
 8780
 8781
 8782
 8783
 8784
 8785
 8786
 8787
 8788
 8789
 8790
 8791
 8792
 8793
 8794
 8795
 8796
 8797
 8798
 8799
 8800
 8801
 8802
 8803
 8804
 8805
 8806
 8807
 8808
 8809
 8810
 8811
 8812
 8813
 8814
 8815
 8816
 8817
 8818
 8819
 8820
 8821
 8822
 8823
 8824
 8825
 8826
 8827
 8828
 8829
 8830
 8831
 8832
 8833
 8834
 8835
 8836
 8837
 8838
 8839
 8840
 8841
 8842
 8843
 8844
 8845
 8846
 8847
 8848
 8849
 8850
 8851
 8852
 8853
 8854
 8855
 8856
 8857
 8858
 8859
 8860
 8861
 8862
 8863
 8864
 8865
 8866
 8867
 8868
 8869
 8870
 8871
 8872
 8873
 8874
 8875
 8876
 8877
 8878
 8879
 8880
 8881
 8882
 8883
 8884
 8885
 8886
 8887
 8888
 8889
 8890
 8891
 8892
 8893
 8894
 8895
 8896
 8897
 8898
 8899
 8900
 8901
 8902
 8903
 8904
 8905
 8906
 8907
 8908
 8909
 8910
 8911
 8912
 8913
 8914
 8915
 8916
 8917
 8918
 8919
 8920
 8921
 8922
 8923
 8924
 8925
 8926
 8927
 8928
 8929
 8930
 8931
 8932
 8933
 8934
 8935
 8936
 8937
 8938
 8939
 8940
 8941
 8942
 8943
 8944
 8945
 8946
 8947
 8948
 8949
 8950
 8951
 8952
 8953
 8954
 8955
 8956
 8957
 8958
 8959
 8960
 8961
 8962
 8963
 8964
 8965
 8966
 8967
 8968
 8969
 8970
 8971
 8972
 8973
 8974
 8975
 8976
 8977
 8978
 8979
 8980
 8981
 8982
 8983
 8984
 8985
 8986
 8987
 8988
 8989
 8990
 8991
 8992
 8993
 8994
 8995
 8996
 8997
 8998
 8999
 9000
 9001
 9002
 9003
 9004
 9005
 9006
 9007
 9008
 9009
 9010
 9011
 9012
 9013
 9014
 9015
 9016
 9017
 9018
 9019
 9020
 9021
 9022
 9023
 9024
 9025
 9026
 9027
 9028
 9029
 9030
 9031
 9032
 9033
 9034
 9035
 9036
 9037
 9038
 9039
 9040
 9041
 9042
 9043
 9044
 9045
 9046
 9047
 9048
 9049
 9050
 9051
 9052
 9053
 9054
 9055
 9056
 9057
 9058
 9059
 9060
 9061
 9062
 9063
 9064
 9065
 9066
 9067
 9068
 9069
 9070
 9071
 9072
 9073
 9074
 9075
 9076
 9077
 9078
 9079
 9080
 9081
 9082
 9083
 9084
 9085
 9086
 9087
 9088
 9089
 9090
 9091
 9092
 9093
 9094
 9095
 9096
 9097
 9098
 9099
 9100
 9101
 9102
 9103
 9104
 9105
 9106
 9107
 9108
 9109
 9110
 9111
 9112
 9113
 9114
 9115
 9116
 9117
 9118
 9119
 9120
 9121
 9122
 9123
 9124
 9125
 9126
 9127
 9128
 9129
 9130
 9131
 9132
 9133
 9134
 9135
 9136
 9137
 9138
 9139
 9140
 9141
 9142
 9143
 9144
 9145
 9146
 9147
 9148
 9149
 9150
 9151
 9152
 9153
 9154
 9155
 9156
 9157
 9158
 9159
 9160
 9161
 9162
 9163
 9164
 9165
 9166
 9167
 9168
 9169
 9170
 9171
 9172
 9173
 9174
 9175
 9176
 9177
 9178
 9179
 9180
 9181
 9182
 9183
 9184
 9185
 9186
 9187
 9188
 9189
 9190
 9191
 9192
 9193
 9194
 9195
 9196
 9197
 9198
 9199
 9200
 9201
 9202
 9203
 9204
 9205
 9206
 9207
 9208
 9209
 9210
 9211
 9212
 9213
 9214
 9215
 9216
 9217
 9218
 9219
 9220
 9221
 9222
 9223
 9224
 9225
 9226
 9227
 9228
 9229
 9230
 9231
 9232
 9233
 9234
 9235
 9236
 9237
 9238
 9239
 9240
 9241
 9242
 9243
 9244
 9245
 9246
 9247
 9248
 9249
 9250
 9251
 9252
 9253
 9254
 9255
 9256
 9257
 9258
 9259
 9260
 9261
 9262
 9263
 9264
 9265
 9266
 9267
 9268
 9269
 9270
 9271
 9272
 9273
 9274
 9275
 9276
 9277
 9278
 9279
 9280
 9281
 9282
 9283
 9284
 9285
 9286
 9287
 9288
 9289
 9290
 9291
 9292
 9293
 9294
 9295
 9296
 9297
 9298
 9299
 9300
 9301
 9302
 9303
 9304
 9305
 9306
 9307
 9308
 9309
 9310
 9311
 9312
 9313
 9314
 9315
 9316
 9317
 9318
 9319
 9320
 9321
 9322
 9323
 9324
 9325
 9326
 9327
 9328
 9329
 9330
 9331
 9332
 9333
 9334
 9335
 9336
 9337
 9338
 9339
 9340
 9341
 9342
 9343
 9344
 9345
 9346
 9347
 9348
 9349
 9350
 9351
 9352
 9353
 9354
 9355
 9356
 9357
 9358
 9359
 9360
 9361
 9362
 9363
 9364
 9365
 9366
 9367
 9368
 9369
 9370
 9371
 9372
 9373
 9374
 9375
 9376
 9377
 9378
 9379
 9380
 9381
 9382
 9383
 9384
 9385
 9386
 9387
 9388
 9389
 9390
 9391
 9392
 9393
 9394
 9395
 9396
 9397
 9398
 9399
 9400
 9401
 9402
 9403
 9404
 9405
 9406
 9407
 9408
 9409
 9410
 9411
 9412
 9413
 9414
 9415
 9416
 9417
 9418
 9419
 9420
 9421
 9422
 9423
 9424
 9425
 9426
 9427
 9428
 9429
 9430
 9431
 9432
 9433
 9434
 9435
 9436
 9437
 9438
 9439
 9440
 9441
 9442
 9443
 9444
 9445
 9446
 9447
 9448
 9449
 9450
 9451
 9452
 9453
 9454
 9455
 9456
 9457
 9458
 9459
 9460
 9461
 9462
 9463
 9464
 9465
 9466
 9467
 9468
 9469
 9470
 9471
 9472
 9473
 9474
 9475
 9476
 9477
 9478
 9479
 9480
 9481
 9482
 9483
 9484
 9485
 9486
 9487
 9488
 9489
 9490
 9491
 9492
 9493
 9494
 9495
 9496
 9497
 9498
 9499
 9500
 9501
 9502
 9503
 9504
 9505
 9506
 9507
 9508
 9509
 9510
 9511
 9512
 9513
 9514
 9515
 9516
 9517
 9518
 9519
 9520
 9521
 9522
 9523
 9524
 9525
 9526
 9527
 9528
 9529
 9530
 9531
 9532
 9533
 9534
 9535
 9536
 9537
 9538
 9539
 9540
 9541
 9542
 9543
 9544
 9545
 9546
 9547
 9548
 9549
 9550
 9551
 9552
 9553
 9554
 9555
 9556
 9557
 9558
 9559
 9560
 9561
 9562
 9563
 9564
 9565
 9566
 9567
 9568
 9569
 9570
 9571
 9572
 9573
 9574
 9575
 9576
 9577
 9578
 9579
 9580
 9581
 9582
 9583
 9584
 9585
 9586
 9587
 9588
 9589
 9590
 9591
 9592
 9593
 9594
 9595
 9596
 9597
 9598
 9599
 9600
 9601
 9602
 9603
 9604
 9605
 9606
 9607
 9608
 9609
 9610
 9611
 9612
 9613
 9614
 9615
 9616
 9617
 9618
 9619
 9620
 9621
 9622
 9623
 9624
 9625
 9626
 9627
 9628
 9629
 9630
 9631
 9632
 9633
 9634
 9635
 9636
 9637
 9638
 9639
 9640
 9641
 9642
 9643
 9644
 9645
 9646
 9647
 9648
 9649
 9650
 9651
 9652
 9653
 9654
 9655
 9656
 9657
 9658
 9659
 9660
 9661
 9662
 9663
 9664
 9665
 9666
 9667
 9668
 9669
 9670
 9671
 9672
 9673
 9674
 9675
 9676
 9677
 9678
 9679
 9680
 9681
 9682
 9683
 9684
 9685
 9686
 9687
 9688
 9689
 9690
 9691
 9692
 9693
 9694
 9695
 9696
 9697
 9698
 9699
 9700
 9701
 9702
 9703
 9704
 9705
 9706
 9707
 9708
 9709
 9710
 9711
 9712
 9713
 9714
 9715
 9716
 9717
 9718
 9719
 9720
 9721
 9722
 9723
 9724
 9725
 9726
 9727
 9728
 9729
 9730
 9731
 9732
 9733
 9734
 9735
 9736
 9737
 9738
 9739
 9740
 9741
 9742
 9743
 9744
 9745
 9746
 9747
 9748
 9749
 9750
 9751
 9752
 9753
 9754
 9755
 9756
 9757
 9758
 9759
 9760
 9761
 9762
 9763
 9764
 9765
 9766
 9767
 9768
 9769
 9770
 9771
 9772
 9773
 9774
 9775
 9776
 9777
 9778
 9779
 9780
 9781
 9782
 9783
 9784
 9785
 9786
 9787
 9788
 9789
 9790
 9791
 9792
 9793
 9794
 9795
 9796
 9797
 9798
 9799
 9800
 9801
 9802
 9803
 9804
 9805
 9806
 9807
 9808
 9809
 9810
 9811
 9812
 9813
 9814
 9815
 9816
 9817
 9818
 9819
 9820
 9821
 9822
 9823
 9824
 9825
 9826
 9827
 9828
 9829
 9830
 9831
 9832
 9833
 9834
 9835
 9836
 9837
 9838
 9839
 9840
 9841
 9842
 9843
 9844
 9845
 9846
 9847
 9848
 9849
 9850
 9851
 9852
 9853
 9854
 9855
 9856
 9857
 9858
 9859
 9860
 9861
 9862
 9863
 9864
 9865
 9866
 9867
 9868
 9869
 9870
 9871
 9872
 9873
 9874
 9875
 9876
 9877
 9878
 9879
 9880
 9881
 9882
 9883
 9884
 9885
 9886
 9887
 9888
 9889
 9890
 9891
 9892
 9893
 9894
 9895
 9896
 9897
 9898
 9899
 9900
 9901
 9902
 9903
 9904
 9905
 9906
 9907
 9908
 9909
 9910
 9911
 9912
 9913
 9914
 9915
 9916
 9917
 9918
 9919
 9920
 9921
 9922
 9923
 9924
 9925
 9926
 9927
 9928
 9929
 9930
 9931
 9932
 9933
 9934
 9935
 9936
 9937
 9938
 9939
 9940
 9941
 9942
 9943
 9944
 9945
 9946
 9947
 9948
 9949
 9950
 9951
 9952
 9953
 9954
 9955
 9956
 9957
 9958
 9959
 9960
 9961
 9962
 9963
 9964
 9965
 9966
 9967
 9968
 9969
 9970
 9971
 9972
 9973
 9974
 9975
 9976
 9977
 9978
 9979
 9980
 9981
 9982
 9983
 9984
 9985
 9986
 9987
 9988
 9989
 9990
 9991
 9992
 9993
 9994
 9995
 9996
 9997
 9998
 9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
21901
21902
21903
21904
21905
21906
21907
21908
21909
21910
21911
21912
21913
21914
21915
21916
21917
21918
21919
21920
21921
21922
21923
21924
21925
21926
21927
21928
21929
21930
21931
21932
21933
21934
21935
21936
21937
21938
21939
21940
21941
21942
21943
21944
21945
21946
21947
21948
21949
21950
21951
21952
21953
21954
21955
21956
21957
21958
21959
21960
21961
21962
21963
21964
21965
21966
21967
21968
21969
21970
21971
21972
21973
21974
21975
21976
21977
21978
21979
21980
21981
21982
21983
21984
21985
21986
21987
21988
21989
21990
21991
21992
21993
21994
21995
21996
21997
21998
21999
22000
22001
22002
22003
22004
22005
22006
22007
22008
22009
22010
22011
22012
22013
22014
22015
22016
22017
22018
22019
22020
22021
22022
22023
22024
22025
22026
22027
22028
22029
22030
22031
22032
22033
22034
22035
22036
22037
22038
22039
22040
22041
22042
22043
22044
22045
22046
22047
22048
22049
22050
22051
22052
22053
22054
22055
22056
22057
22058
22059
22060
22061
22062
22063
22064
22065
22066
22067
22068
22069
22070
22071
22072
22073
22074
22075
22076
22077
22078
22079
22080
22081
22082
22083
22084
22085
22086
22087
22088
22089
22090
22091
22092
22093
22094
22095
22096
22097
22098
22099
22100
22101
22102
22103
22104
22105
22106
22107
22108
22109
22110
22111
22112
22113
22114
22115
22116
22117
22118
22119
22120
22121
22122
22123
22124
22125
22126
22127
22128
22129
22130
22131
22132
22133
22134
22135
22136
22137
22138
22139
22140
22141
22142
22143
22144
22145
22146
22147
22148
22149
22150
22151
22152
22153
22154
22155
22156
22157
22158
22159
22160
22161
22162
22163
22164
22165
22166
22167
22168
22169
22170
22171
22172
22173
22174
22175
22176
22177
22178
22179
22180
22181
22182
22183
22184
22185
22186
22187
22188
22189
22190
22191
22192
22193
22194
22195
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22206
22207
22208
22209
22210
22211
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22229
22230
22231
22232
22233
22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22260
22261
22262
22263
22264
22265
22266
22267
22268
22269
22270
22271
22272
22273
22274
22275
22276
22277
22278
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22296
22297
22298
22299
22300
22301
22302
22303
22304
22305
22306
22307
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
22325
22326
22327
22328
22329
22330
22331
22332
22333
22334
22335
22336
22337
22338
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22352
22353
22354
22355
22356
22357
22358
22359
22360
22361
22362
22363
22364
22365
22366
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394
22395
22396
22397
22398
22399
22400
22401
22402
22403
22404
22405
22406
22407
22408
22409
22410
22411
22412
22413
22414
22415
22416
22417
22418
22419
22420
22421
22422
22423
22424
22425
22426
22427
22428
22429
22430
22431
22432
22433
22434
22435
22436
22437
22438
22439
22440
22441
22442
22443
22444
22445
22446
22447
22448
22449
22450
22451
22452
22453
22454
22455
22456
22457
22458
22459
22460
22461
22462
22463
22464
22465
22466
22467
22468
22469
22470
22471
22472
22473
22474
22475
22476
22477
22478
22479
22480
22481
22482
22483
22484
22485
22486
22487
22488
22489
22490
22491
22492
22493
22494
22495
22496
22497
22498
22499
22500
22501
22502
22503
22504
22505
22506
22507
22508
22509
22510
22511
22512
22513
22514
22515
22516
22517
22518
22519
22520
22521
22522
22523
22524
22525
22526
22527
22528
22529
22530
22531
22532
22533
22534
22535
22536
22537
22538
22539
22540
22541
22542
22543
22544
22545
22546
22547
22548
22549
22550
22551
22552
22553
22554
22555
22556
22557
22558
22559
22560
22561
22562
22563
22564
22565
22566
22567
22568
22569
22570
22571
22572
22573
22574
22575
22576
22577
22578
22579
22580
22581
22582
22583
22584
22585
22586
22587
22588
22589
22590
22591
22592
22593
22594
22595
22596
22597
22598
22599
22600
22601
22602
22603
22604
22605
22606
22607
22608
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22619
22620
22621
22622
22623
22624
22625
22626
22627
22628
22629
22630
22631
22632
22633
22634
22635
22636
22637
22638
22639
22640
22641
22642
22643
22644
22645
22646
22647
22648
22649
22650
22651
22652
22653
22654
22655
22656
22657
22658
22659
22660
22661
22662
22663
22664
22665
22666
22667
22668
22669
22670
22671
22672
22673
22674
22675
22676
22677
22678
22679
22680
22681
22682
22683
22684
22685
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733
22734
22735
22736
22737
22738
22739
22740
22741
22742
22743
22744
22745
22746
22747
22748
22749
22750
22751
22752
22753
22754
22755
22756
22757
22758
22759
22760
22761
22762
22763
22764
22765
22766
22767
22768
22769
22770
22771
22772
22773
22774
22775
22776
22777
22778
22779
22780
22781
22782
22783
22784
22785
22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
22806
22807
22808
22809
22810
22811
22812
22813
22814
22815
22816
22817
22818
22819
22820
22821
22822
22823
22824
22825
22826
22827
22828
22829
22830
22831
22832
22833
22834
22835
22836
22837
22838
22839
22840
22841
22842
22843
22844
22845
22846
22847
22848
22849
22850
22851
22852
22853
22854
22855
22856
22857
22858
22859
22860
22861
22862
22863
22864
22865
22866
22867
22868
22869
22870
22871
22872
22873
22874
22875
22876
22877
22878
22879
22880
22881
22882
22883
22884
22885
22886
22887
22888
22889
22890
22891
22892
22893
22894
22895
22896
22897
22898
22899
22900
22901
22902
22903
22904
22905
22906
22907
22908
22909
22910
22911
22912
22913
22914
22915
22916
22917
22918
22919
22920
22921
22922
22923
22924
22925
22926
22927
22928
22929
22930
22931
22932
22933
22934
22935
22936
22937
22938
22939
22940
22941
22942
22943
22944
22945
22946
22947
22948
22949
22950
22951
22952
22953
22954
22955
22956
22957
22958
22959
22960
22961
22962
22963
22964
22965
22966
22967
22968
22969
22970
22971
22972
22973
22974
22975
22976
22977
22978
22979
22980
22981
22982
22983
22984
22985
22986
22987
22988
22989
22990
22991
22992
22993
22994
22995
22996
22997
22998
22999
23000
23001
23002
23003
23004
23005
23006
23007
23008
23009
23010
23011
23012
23013
23014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
23027
23028
23029
23030
23031
23032
23033
23034
23035
23036
23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
23064
23065
23066
23067
23068
23069
23070
23071
23072
23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
23100
23101
23102
23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
23113
23114
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
23153
23154
23155
23156
23157
23158
23159
23160
23161
23162
23163
23164
23165
23166
23167
23168
23169
23170
23171
23172
23173
23174
23175
23176
23177
23178
23179
23180
23181
23182
23183
23184
23185
23186
23187
23188
23189
23190
23191
23192
23193
23194
23195
23196
23197
23198
23199
23200
23201
23202
23203
23204
23205
23206
23207
23208
23209
23210
23211
23212
23213
23214
23215
23216
23217
23218
23219
23220
23221
23222
23223
23224
23225
23226
23227
23228
23229
23230
23231
23232
23233
23234
23235
23236
23237
23238
23239
23240
23241
23242
23243
23244
23245
23246
23247
23248
23249
23250
23251
23252
23253
23254
23255
23256
23257
23258
23259
23260
23261
23262
23263
23264
23265
23266
23267
23268
23269
23270
23271
23272
23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
23283
23284
23285
23286
23287
23288
23289
23290
23291
23292
23293
23294
23295
23296
23297
23298
23299
23300
23301
23302
23303
23304
23305
23306
23307
23308
23309
23310
23311
23312
23313
23314
23315
23316
23317
23318
23319
23320
23321
23322
23323
23324
23325
23326
23327
23328
23329
23330
23331
23332
23333
23334
23335
23336
23337
23338
23339
23340
23341
23342
23343
23344
23345
23346
23347
23348
23349
23350
23351
23352
23353
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
23376
23377
23378
23379
23380
23381
23382
23383
23384
23385
23386
23387
23388
23389
23390
23391
23392
23393
23394
23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
23413
23414
23415
23416
23417
23418
23419
23420
23421
23422
23423
23424
23425
23426
23427
23428
23429
23430
23431
23432
23433
23434
23435
23436
23437
23438
23439
23440
23441
23442
23443
23444
23445
23446
23447
23448
23449
23450
23451
23452
23453
23454
23455
23456
23457
23458
23459
23460
23461
23462
23463
23464
23465
23466
23467
23468
23469
23470
23471
23472
23473
23474
23475
23476
23477
23478
23479
23480
23481
23482
23483
23484
23485
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
23501
23502
23503
23504
23505
23506
23507
23508
23509
23510
23511
23512
23513
23514
23515
23516
23517
23518
23519
23520
23521
23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
23567
23568
23569
23570
23571
23572
23573
23574
23575
23576
23577
23578
23579
23580
23581
23582
23583
23584
23585
23586
23587
23588
23589
23590
23591
23592
23593
23594
23595
23596
23597
23598
23599
23600
23601
23602
23603
23604
23605
23606
23607
23608
23609
23610
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
23643
23644
23645
23646
23647
23648
23649
23650
23651
23652
23653
23654
23655
23656
23657
23658
23659
23660
23661
23662
23663
23664
23665
23666
23667
23668
23669
23670
23671
23672
23673
23674
23675
23676
23677
23678
23679
23680
23681
23682
23683
23684
23685
23686
23687
23688
23689
23690
23691
23692
23693
23694
23695
23696
23697
23698
23699
23700
23701
23702
23703
23704
23705
23706
23707
23708
23709
23710
23711
23712
23713
23714
23715
23716
23717
23718
23719
23720
23721
23722
23723
23724
23725
23726
23727
23728
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
23744
23745
23746
23747
23748
23749
23750
23751
23752
23753
23754
23755
23756
23757
23758
23759
23760
23761
23762
23763
23764
23765
23766
23767
23768
23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780
23781
23782
23783
23784
23785
23786
23787
23788
23789
23790
23791
23792
23793
23794
23795
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812
23813
23814
23815
23816
23817
23818
23819
23820
23821
23822
23823
23824
23825
23826
23827
23828
23829
23830
23831
23832
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
23909
23910
23911
23912
23913
23914
23915
23916
23917
23918
23919
23920
23921
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
23966
23967
23968
23969
23970
23971
23972
23973
23974
23975
23976
23977
23978
23979
23980
23981
23982
23983
23984
23985
23986
23987
23988
23989
23990
23991
23992
23993
23994
23995
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
24026
24027
24028
24029
24030
24031
24032
24033
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
24072
24073
24074
24075
24076
24077
24078
24079
24080
24081
24082
24083
24084
24085
24086
24087
24088
24089
24090
24091
24092
24093
24094
24095
24096
24097
24098
24099
24100
24101
24102
24103
24104
24105
24106
24107
24108
24109
24110
24111
24112
24113
24114
24115
24116
24117
24118
24119
24120
24121
24122
24123
24124
24125
24126
24127
24128
24129
24130
24131
24132
24133
24134
24135
24136
24137
24138
24139
24140
24141
24142
24143
24144
24145
24146
24147
24148
24149
24150
24151
24152
24153
24154
24155
24156
24157
24158
24159
24160
24161
24162
24163
24164
24165
24166
24167
24168
24169
24170
24171
24172
24173
24174
24175
24176
24177
24178
24179
24180
24181
24182
24183
24184
24185
24186
24187
24188
24189
24190
24191
24192
24193
24194
24195
24196
24197
24198
24199
24200
24201
24202
24203
24204
24205
24206
24207
24208
24209
24210
24211
24212
24213
24214
24215
24216
24217
24218
24219
24220
24221
24222
24223
24224
24225
24226
24227
24228
24229
24230
24231
24232
24233
24234
24235
24236
24237
24238
24239
24240
24241
24242
24243
24244
24245
24246
24247
24248
24249
24250
24251
24252
24253
24254
24255
24256
24257
24258
24259
24260
24261
24262
24263
24264
24265
24266
24267
24268
24269
24270
24271
24272
24273
24274
24275
24276
24277
24278
24279
24280
24281
24282
24283
24284
24285
24286
24287
24288
24289
24290
24291
24292
24293
24294
24295
24296
24297
24298
24299
24300
24301
24302
24303
24304
24305
24306
24307
24308
24309
24310
24311
24312
24313
24314
24315
24316
24317
24318
24319
24320
24321
24322
24323
24324
24325
24326
24327
24328
24329
24330
24331
24332
24333
24334
24335
24336
24337
24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24349
24350
24351
24352
24353
24354
24355
24356
24357
24358
24359
24360
24361
24362
24363
24364
24365
24366
24367
24368
24369
24370
24371
24372
24373
24374
24375
24376
24377
24378
24379
24380
24381
24382
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
24426
24427
24428
24429
24430
24431
24432
24433
24434
24435
24436
24437
24438
24439
24440
24441
24442
24443
24444
24445
24446
24447
24448
24449
24450
24451
24452
24453
24454
24455
24456
24457
24458
24459
24460
24461
24462
24463
24464
24465
24466
24467
24468
24469
24470
24471
24472
24473
24474
24475
24476
24477
24478
24479
24480
24481
24482
24483
24484
24485
24486
24487
24488
24489
24490
24491
24492
24493
24494
24495
24496
24497
24498
24499
24500
24501
24502
24503
24504
24505
24506
24507
24508
24509
24510
24511
24512
24513
24514
24515
24516
24517
24518
24519
24520
24521
24522
24523
24524
24525
24526
24527
24528
24529
24530
24531
24532
24533
24534
24535
24536
24537
24538
24539
24540
24541
24542
24543
24544
24545
24546
24547
24548
24549
24550
24551
24552
24553
24554
24555
24556
24557
24558
24559
24560
24561
24562
24563
24564
24565
24566
24567
24568
24569
24570
24571
24572
24573
24574
24575
24576
24577
24578
24579
24580
24581
24582
24583
24584
24585
24586
24587
24588
24589
24590
24591
24592
24593
24594
24595
24596
24597
24598
24599
24600
24601
24602
24603
24604
24605
24606
24607
24608
24609
24610
24611
24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
24622
24623
24624
24625
24626
24627
24628
24629
24630
24631
24632
24633
24634
24635
24636
24637
24638
24639
24640
24641
24642
24643
24644
24645
24646
24647
24648
24649
24650
24651
24652
24653
24654
24655
24656
24657
24658
24659
24660
24661
24662
24663
24664
24665
24666
24667
24668
24669
24670
24671
24672
24673
24674
24675
24676
24677
24678
24679
24680
24681
24682
24683
24684
24685
24686
24687
24688
24689
24690
24691
24692
24693
24694
24695
24696
24697
24698
24699
24700
24701
24702
24703
24704
24705
24706
24707
24708
24709
24710
24711
24712
24713
24714
24715
24716
24717
24718
24719
24720
24721
24722
24723
24724
24725
24726
24727
24728
24729
24730
24731
24732
24733
24734
24735
24736
24737
24738
24739
24740
24741
24742
24743
24744
24745
24746
24747
24748
24749
24750
24751
24752
24753
24754
24755
24756
24757
24758
24759
24760
24761
24762
24763
24764
24765
24766
24767
24768
24769
24770
24771
24772
24773
24774
24775
24776
24777
24778
24779
24780
24781
24782
24783
24784
24785
24786
24787
24788
24789
24790
24791
24792
24793
24794
24795
24796
24797
24798
24799
24800
24801
24802
24803
24804
24805
24806
24807
24808
24809
24810
24811
24812
24813
24814
24815
24816
24817
24818
24819
24820
24821
24822
24823
24824
24825
24826
24827
24828
24829
24830
24831
24832
24833
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847
24848
24849
24850
24851
24852
24853
24854
24855
24856
24857
24858
24859
24860
24861
24862
24863
24864
24865
24866
24867
24868
24869
24870
24871
24872
24873
24874
24875
24876
24877
24878
24879
24880
24881
24882
24883
24884
24885
24886
24887
24888
24889
24890
24891
24892
24893
24894
24895
24896
24897
24898
24899
24900
24901
24902
24903
24904
24905
24906
24907
24908
24909
24910
24911
24912
24913
24914
24915
24916
24917
24918
24919
24920
24921
24922
24923
24924
24925
24926
24927
24928
24929
24930
24931
24932
24933
24934
24935
24936
24937
24938
24939
24940
24941
24942
24943
24944
24945
24946
24947
24948
24949
24950
24951
24952
24953
24954
24955
24956
24957
24958
24959
24960
24961
24962
24963
24964
24965
24966
24967
24968
24969
24970
24971
24972
24973
24974
24975
24976
24977
24978
24979
24980
24981
24982
24983
24984
24985
24986
24987
24988
24989
24990
24991
24992
24993
24994
24995
24996
24997
24998
24999
25000
25001
25002
25003
25004
25005
25006
25007
25008
25009
25010
25011
25012
25013
25014
25015
25016
25017
25018
25019
25020
25021
25022
25023
25024
25025
25026
25027
25028
25029
25030
25031
25032
25033
25034
25035
25036
25037
25038
25039
25040
25041
25042
25043
25044
25045
25046
25047
25048
25049
25050
25051
25052
25053
25054
25055
25056
25057
25058
25059
25060
25061
25062
25063
25064
25065
25066
25067
25068
25069
25070
25071
25072
25073
25074
25075
25076
25077
25078
25079
25080
25081
25082
25083
25084
25085
25086
25087
25088
25089
25090
25091
25092
25093
25094
25095
25096
25097
25098
25099
25100
25101
25102
25103
25104
25105
25106
25107
25108
25109
25110
25111
25112
25113
25114
25115
25116
25117
25118
25119
25120
25121
25122
25123
25124
25125
25126
25127
25128
25129
25130
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143
25144
25145
25146
25147
25148
25149
25150
25151
25152
25153
25154
25155
25156
25157
25158
25159
25160
25161
25162
25163
25164
25165
25166
25167
25168
25169
25170
25171
25172
25173
25174
25175
25176
25177
25178
25179
25180
25181
25182
25183
25184
25185
25186
25187
25188
25189
25190
25191
25192
25193
25194
25195
25196
25197
25198
25199
25200
25201
25202
25203
25204
25205
25206
25207
25208
25209
25210
25211
25212
25213
25214
25215
25216
25217
25218
25219
25220
25221
25222
25223
25224
25225
25226
25227
25228
25229
25230
25231
25232
25233
25234
25235
25236
25237
25238
25239
25240
25241
25242
25243
25244
25245
25246
25247
25248
25249
25250
25251
25252
25253
25254
25255
25256
25257
25258
25259
25260
25261
25262
25263
25264
25265
25266
25267
25268
25269
25270
25271
25272
25273
25274
25275
25276
25277
25278
25279
25280
25281
25282
25283
25284
25285
25286
25287
25288
25289
25290
25291
25292
25293
25294
25295
25296
25297
25298
25299
25300
25301
25302
25303
25304
25305
25306
25307
25308
25309
25310
25311
25312
25313
25314
25315
25316
25317
25318
25319
25320
25321
25322
25323
25324
25325
25326
25327
25328
25329
25330
25331
25332
25333
25334
25335
25336
25337
25338
25339
25340
25341
25342
25343
25344
25345
25346
25347
25348
25349
25350
25351
25352
25353
25354
25355
25356
25357
25358
25359
25360
25361
25362
25363
25364
25365
25366
25367
25368
25369
25370
25371
25372
25373
25374
25375
25376
25377
25378
25379
25380
25381
25382
25383
25384
25385
25386
25387
25388
25389
25390
25391
25392
25393
25394
25395
25396
25397
25398
25399
25400
25401
25402
25403
25404
25405
25406
25407
25408
25409
25410
25411
25412
25413
25414
25415
25416
25417
25418
25419
25420
25421
25422
25423
25424
25425
25426
25427
25428
25429
25430
25431
25432
25433
25434
25435
25436
25437
25438
25439
25440
25441
25442
25443
25444
25445
25446
25447
25448
25449
25450
25451
25452
25453
25454
25455
25456
25457
25458
25459
25460
25461
25462
25463
25464
25465
25466
25467
25468
25469
25470
25471
25472
25473
25474
25475
25476
25477
25478
25479
25480
25481
25482
25483
25484
25485
25486
25487
25488
25489
25490
25491
25492
25493
25494
25495
25496
25497
25498
25499
25500
25501
25502
25503
25504
25505
25506
25507
25508
25509
25510
25511
25512
25513
25514
25515
25516
25517
25518
25519
25520
25521
25522
25523
25524
25525
25526
25527
25528
25529
25530
25531
25532
25533
25534
25535
25536
25537
25538
25539
25540
25541
25542
25543
25544
25545
25546
25547
25548
25549
25550
25551
25552
25553
25554
25555
25556
25557
25558
25559
25560
25561
25562
25563
25564
25565
25566
25567
25568
25569
25570
25571
25572
25573
25574
25575
25576
25577
25578
25579
25580
25581
25582
25583
25584
25585
25586
25587
25588
25589
25590
25591
25592
25593
25594
25595
25596
25597
25598
25599
25600
25601
25602
25603
25604
25605
25606
25607
25608
25609
25610
25611
25612
25613
25614
25615
25616
25617
25618
25619
25620
25621
25622
25623
25624
25625
25626
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
25752
25753
25754
25755
25756
25757
25758
25759
25760
25761
25762
25763
25764
25765
25766
25767
25768
25769
25770
25771
25772
25773
25774
25775
25776
25777
25778
25779
25780
25781
25782
25783
25784
25785
25786
25787
25788
25789
25790
25791
25792
25793
25794
25795
25796
25797
25798
25799
25800
25801
25802
25803
25804
25805
25806
25807
25808
25809
25810
25811
25812
25813
25814
25815
25816
25817
25818
25819
25820
25821
25822
25823
25824
25825
25826
25827
25828
25829
25830
25831
25832
25833
25834
25835
25836
25837
25838
25839
25840
25841
25842
25843
25844
25845
25846
25847
25848
25849
25850
25851
25852
25853
25854
25855
25856
25857
25858
25859
25860
25861
25862
25863
25864
25865
25866
25867
25868
25869
25870
25871
25872
25873
25874
25875
25876
25877
25878
25879
25880
25881
25882
25883
25884
25885
25886
25887
25888
25889
25890
25891
25892
25893
25894
25895
25896
25897
25898
25899
25900
25901
25902
25903
25904
25905
25906
25907
25908
25909
25910
25911
25912
25913
25914
25915
25916
25917
25918
25919
25920
25921
25922
25923
25924
25925
25926
25927
25928
25929
25930
25931
25932
25933
25934
25935
25936
25937
25938
25939
25940
25941
25942
25943
25944
25945
25946
25947
25948
25949
25950
25951
25952
25953
25954
25955
25956
25957
25958
25959
25960
25961
25962
25963
25964
25965
25966
25967
25968
25969
25970
25971
25972
25973
25974
25975
25976
25977
25978
25979
25980
25981
25982
25983
25984
25985
25986
25987
25988
25989
25990
25991
25992
25993
25994
25995
25996
25997
25998
25999
26000
26001
26002
26003
26004
26005
26006
26007
26008
26009
26010
26011
26012
26013
26014
26015
26016
26017
26018
26019
26020
26021
26022
26023
26024
26025
26026
26027
26028
26029
26030
26031
26032
26033
26034
26035
26036
26037
26038
26039
26040
26041
26042
26043
26044
26045
26046
26047
26048
26049
26050
26051
26052
26053
26054
26055
26056
26057
26058
26059
26060
26061
26062
26063
26064
26065
26066
26067
26068
26069
26070
26071
26072
26073
26074
26075
26076
26077
26078
26079
26080
26081
26082
26083
26084
26085
26086
26087
26088
26089
26090
26091
26092
26093
26094
26095
26096
26097
26098
26099
26100
26101
26102
26103
26104
26105
26106
26107
26108
26109
26110
26111
26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
26160
26161
26162
26163
26164
26165
26166
26167
26168
26169
26170
26171
26172
26173
26174
26175
26176
26177
26178
26179
26180
26181
26182
26183
26184
26185
26186
26187
26188
26189
26190
26191
26192
26193
26194
26195
26196
26197
26198
26199
26200
26201
26202
26203
26204
26205
26206
26207
26208
26209
26210
26211
26212
26213
26214
26215
26216
26217
26218
26219
26220
26221
26222
26223
26224
26225
26226
26227
26228
26229
26230
26231
26232
26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
26247
26248
26249
26250
26251
26252
26253
26254
26255
26256
26257
26258
26259
26260
26261
26262
26263
26264
26265
26266
26267
26268
26269
26270
26271
26272
26273
26274
26275
26276
26277
26278
26279
26280
26281
26282
26283
26284
26285
26286
26287
26288
26289
26290
26291
26292
26293
26294
26295
26296
26297
26298
26299
26300
26301
26302
26303
26304
26305
26306
26307
26308
26309
26310
26311
26312
26313
26314
26315
26316
26317
26318
26319
26320
26321
26322
26323
26324
26325
26326
26327
26328
26329
26330
26331
26332
26333
26334
26335
26336
26337
26338
26339
26340
26341
26342
26343
26344
26345
26346
26347
26348
26349
26350
26351
26352
26353
26354
26355
26356
26357
26358
26359
26360
26361
26362
26363
26364
26365
26366
26367
26368
26369
26370
26371
26372
26373
26374
26375
26376
26377
26378
26379
26380
26381
26382
26383
26384
26385
26386
26387
26388
26389
26390
26391
26392
26393
26394
26395
26396
26397
26398
26399
26400
26401
26402
26403
26404
26405
26406
26407
26408
26409
26410
26411
26412
26413
26414
26415
26416
26417
26418
26419
26420
26421
26422
26423
26424
26425
26426
26427
26428
26429
26430
26431
26432
26433
26434
26435
26436
26437
26438
26439
26440
26441
26442
26443
26444
26445
26446
26447
26448
26449
26450
26451
26452
26453
26454
26455
26456
26457
26458
26459
26460
26461
26462
26463
26464
26465
26466
26467
26468
26469
26470
26471
26472
26473
26474
26475
26476
26477
26478
26479
26480
26481
26482
26483
26484
26485
26486
26487
26488
26489
26490
26491
26492
26493
26494
26495
26496
26497
26498
26499
26500
26501
26502
26503
26504
26505
26506
26507
26508
26509
26510
26511
26512
26513
26514
26515
26516
26517
26518
26519
26520
26521
26522
26523
26524
26525
26526
26527
26528
26529
26530
26531
26532
26533
26534
26535
26536
26537
26538
26539
26540
26541
26542
26543
26544
26545
26546
26547
26548
26549
26550
26551
26552
26553
26554
26555
26556
26557
26558
26559
26560
26561
26562
26563
26564
26565
26566
26567
26568
26569
26570
26571
26572
26573
26574
26575
26576
26577
26578
26579
26580
26581
26582
26583
26584
26585
26586
26587
26588
26589
26590
26591
26592
26593
26594
26595
26596
26597
26598
26599
26600
26601
26602
26603
26604
26605
26606
26607
26608
26609
26610
26611
26612
26613
26614
26615
26616
26617
26618
26619
26620
26621
26622
26623
26624
26625
26626
26627
26628
26629
26630
26631
26632
26633
26634
26635
26636
26637
26638
26639
26640
26641
26642
26643
26644
26645
26646
26647
26648
26649
26650
26651
26652
26653
26654
26655
26656
26657
26658
26659
26660
26661
26662
26663
26664
26665
26666
26667
26668
26669
26670
26671
26672
26673
26674
26675
26676
26677
26678
26679
26680
26681
26682
26683
26684
26685
26686
26687
26688
26689
26690
26691
26692
26693
26694
26695
26696
26697
26698
26699
26700
26701
26702
26703
26704
26705
26706
26707
26708
26709
26710
26711
26712
26713
26714
26715
26716
26717
26718
26719
26720
26721
26722
26723
26724
26725
26726
26727
26728
26729
26730
26731
26732
26733
26734
26735
26736
26737
26738
26739
26740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
26753
26754
26755
26756
26757
26758
26759
26760
26761
26762
26763
26764
26765
26766
26767
26768
26769
26770
26771
26772
26773
26774
26775
26776
26777
26778
26779
26780
26781
26782
26783
26784
26785
26786
26787
26788
26789
26790
26791
26792
26793
26794
26795
26796
26797
26798
26799
26800
26801
26802
26803
26804
26805
26806
26807
26808
26809
26810
26811
26812
26813
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
26824
26825
26826
26827
26828
26829
26830
26831
26832
26833
26834
26835
26836
26837
26838
26839
26840
26841
26842
26843
26844
26845
26846
26847
26848
26849
26850
26851
26852
26853
26854
26855
26856
26857
26858
26859
26860
26861
26862
26863
26864
26865
26866
26867
26868
26869
26870
26871
26872
26873
26874
26875
26876
26877
26878
26879
26880
26881
26882
26883
26884
26885
26886
26887
26888
26889
26890
26891
26892
26893
26894
26895
26896
26897
26898
26899
26900
26901
26902
26903
26904
26905
26906
26907
26908
26909
26910
26911
26912
26913
26914
26915
26916
26917
26918
26919
26920
26921
26922
26923
26924
26925
26926
26927
26928
26929
26930
26931
26932
26933
26934
26935
26936
26937
26938
26939
26940
26941
26942
26943
26944
26945
26946
26947
26948
26949
26950
26951
26952
26953
26954
26955
26956
26957
26958
26959
26960
26961
26962
26963
26964
26965
26966
26967
26968
26969
26970
26971
26972
26973
26974
26975
26976
26977
26978
26979
26980
26981
26982
26983
26984
26985
26986
26987
26988
26989
26990
26991
26992
26993
26994
26995
26996
26997
26998
26999
27000
27001
27002
27003
27004
27005
27006
27007
27008
27009
27010
27011
27012
27013
27014
27015
27016
27017
27018
27019
27020
27021
27022
27023
27024
27025
27026
27027
27028
27029
27030
27031
27032
27033
27034
27035
27036
27037
27038
27039
27040
27041
27042
27043
27044
27045
27046
27047
27048
27049
27050
27051
27052
27053
27054
27055
27056
27057
27058
27059
27060
27061
27062
27063
27064
27065
27066
27067
27068
27069
27070
27071
27072
27073
27074
27075
27076
27077
27078
27079
27080
27081
27082
27083
27084
27085
27086
27087
27088
27089
27090
27091
27092
27093
27094
27095
27096
27097
27098
27099
27100
27101
27102
27103
27104
27105
27106
27107
27108
27109
27110
27111
27112
27113
27114
27115
27116
27117
27118
27119
27120
27121
27122
27123
27124
27125
27126
27127
27128
27129
27130
27131
27132
27133
27134
27135
27136
27137
27138
27139
27140
27141
27142
27143
27144
27145
27146
27147
27148
27149
27150
27151
27152
27153
27154
27155
27156
27157
27158
27159
27160
27161
27162
27163
27164
27165
27166
27167
27168
27169
27170
27171
27172
27173
27174
27175
27176
27177
27178
27179
27180
27181
27182
27183
27184
27185
27186
27187
27188
27189
27190
27191
27192
27193
27194
27195
27196
27197
27198
27199
27200
27201
27202
27203
27204
27205
27206
27207
27208
27209
27210
27211
27212
27213
27214
27215
27216
27217
27218
27219
27220
27221
27222
27223
27224
27225
27226
27227
27228
27229
27230
27231
27232
27233
27234
27235
27236
27237
27238
27239
27240
27241
27242
27243
27244
27245
27246
27247
27248
27249
27250
27251
27252
27253
27254
27255
27256
27257
27258
27259
27260
27261
27262
27263
27264
27265
27266
27267
27268
27269
27270
27271
27272
27273
27274
27275
27276
27277
27278
27279
27280
27281
27282
27283
27284
27285
27286
27287
27288
27289
27290
27291
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27337
27338
27339
27340
27341
27342
27343
27344
27345
27346
27347
27348
27349
27350
27351
27352
27353
27354
27355
27356
27357
27358
27359
27360
27361
27362
27363
27364
27365
27366
27367
27368
27369
27370
27371
27372
27373
27374
27375
27376
27377
27378
27379
27380
27381
27382
27383
27384
27385
27386
27387
27388
27389
27390
27391
27392
27393
27394
27395
27396
27397
27398
27399
27400
27401
27402
27403
27404
27405
27406
27407
27408
27409
27410
27411
27412
27413
27414
27415
27416
27417
27418
27419
27420
27421
27422
27423
27424
27425
27426
27427
27428
27429
27430
27431
27432
27433
27434
27435
27436
27437
27438
27439
27440
27441
27442
27443
27444
27445
27446
27447
27448
27449
27450
27451
27452
27453
27454
27455
27456
27457
27458
27459
27460
27461
27462
27463
27464
27465
27466
27467
27468
27469
27470
27471
27472
27473
27474
27475
27476
27477
27478
27479
27480
27481
27482
27483
27484
27485
27486
27487
27488
27489
27490
27491
27492
27493
27494
27495
27496
27497
27498
27499
27500
27501
27502
27503
27504
27505
27506
27507
27508
27509
27510
27511
27512
27513
27514
27515
27516
27517
27518
27519
27520
27521
27522
27523
27524
27525
27526
27527
27528
27529
27530
27531
27532
27533
27534
27535
27536
27537
27538
27539
27540
27541
27542
27543
27544
27545
27546
27547
27548
27549
27550
27551
27552
27553
27554
27555
27556
27557
27558
27559
27560
27561
27562
27563
27564
27565
27566
27567
27568
27569
27570
27571
27572
27573
27574
27575
27576
27577
27578
27579
27580
27581
27582
27583
27584
27585
27586
27587
27588
27589
27590
27591
27592
27593
27594
27595
27596
27597
27598
27599
27600
27601
27602
27603
27604
27605
27606
27607
27608
27609
27610
27611
27612
27613
27614
27615
27616
27617
27618
27619
27620
27621
27622
27623
27624
27625
27626
27627
27628
27629
27630
27631
27632
27633
27634
27635
27636
27637
27638
27639
27640
27641
27642
27643
27644
27645
27646
27647
27648
27649
27650
27651
27652
27653
27654
27655
27656
27657
27658
27659
27660
27661
27662
27663
27664
27665
27666
27667
27668
27669
27670
27671
27672
27673
27674
27675
27676
27677
27678
27679
27680
27681
27682
27683
27684
27685
27686
27687
27688
27689
27690
27691
27692
27693
27694
27695
27696
27697
27698
27699
27700
27701
27702
27703
27704
27705
27706
27707
27708
27709
27710
27711
27712
27713
27714
27715
27716
27717
27718
27719
27720
27721
27722
27723
27724
27725
27726
27727
27728
27729
27730
27731
27732
27733
27734
27735
27736
27737
27738
27739
27740
27741
27742
27743
27744
27745
27746
27747
27748
27749
27750
27751
27752
27753
27754
27755
27756
27757
27758
27759
27760
27761
27762
27763
27764
27765
27766
27767
27768
27769
27770
27771
27772
27773
27774
27775
27776
27777
27778
27779
27780
27781
27782
27783
27784
27785
27786
27787
27788
27789
27790
27791
27792
27793
27794
27795
27796
27797
27798
27799
27800
27801
27802
27803
27804
27805
27806
27807
27808
27809
27810
27811
27812
27813
27814
27815
27816
27817
27818
27819
27820
27821
27822
27823
27824
27825
27826
27827
27828
27829
27830
27831
27832
27833
27834
27835
27836
27837
27838
27839
27840
27841
27842
27843
27844
27845
27846
27847
27848
27849
27850
27851
27852
27853
27854
27855
27856
27857
27858
27859
27860
27861
27862
27863
27864
27865
27866
27867
27868
27869
27870
27871
27872
27873
27874
27875
27876
27877
27878
27879
27880
27881
27882
27883
27884
27885
27886
27887
27888
27889
27890
27891
27892
27893
27894
27895
27896
27897
27898
27899
27900
27901
27902
27903
27904
27905
27906
27907
27908
27909
27910
27911
27912
27913
27914
27915
27916
27917
27918
27919
27920
27921
27922
27923
27924
27925
27926
27927
27928
27929
27930
27931
27932
27933
27934
27935
27936
27937
27938
27939
27940
27941
27942
27943
27944
27945
27946
27947
27948
27949
27950
27951
27952
27953
27954
27955
27956
27957
27958
27959
27960
27961
27962
27963
27964
27965
27966
27967
27968
27969
27970
27971
27972
27973
27974
27975
27976
27977
27978
27979
27980
27981
27982
27983
27984
27985
27986
27987
27988
27989
27990
27991
27992
27993
27994
27995
27996
27997
27998
27999
28000
28001
28002
28003
28004
28005
28006
28007
28008
28009
28010
28011
28012
28013
28014
28015
28016
28017
28018
28019
28020
28021
28022
28023
28024
28025
28026
28027
28028
28029
28030
28031
28032
28033
28034
28035
28036
28037
28038
28039
28040
28041
28042
28043
28044
28045
28046
28047
28048
28049
28050
28051
28052
28053
28054
28055
28056
28057
28058
28059
28060
28061
28062
28063
28064
28065
28066
28067
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28078
28079
28080
28081
28082
28083
28084
28085
28086
28087
28088
28089
28090
28091
28092
28093
28094
28095
28096
28097
28098
28099
28100
28101
28102
28103
28104
28105
28106
28107
28108
28109
28110
28111
28112
28113
28114
28115
28116
28117
28118
28119
28120
28121
28122
28123
28124
28125
28126
28127
28128
28129
28130
28131
28132
28133
28134
28135
28136
28137
28138
28139
28140
28141
28142
28143
28144
28145
28146
28147
28148
28149
28150
28151
28152
28153
28154
28155
28156
28157
28158
28159
28160
28161
28162
28163
28164
28165
28166
28167
28168
28169
28170
28171
28172
28173
28174
28175
28176
28177
28178
28179
28180
28181
28182
28183
28184
28185
28186
28187
28188
28189
28190
28191
28192
28193
28194
28195
28196
28197
28198
28199
28200
28201
28202
28203
28204
28205
28206
28207
28208
28209
28210
28211
28212
28213
28214
28215
28216
28217
28218
28219
28220
28221
28222
28223
28224
28225
28226
28227
28228
28229
28230
28231
28232
28233
28234
28235
28236
28237
28238
28239
28240
28241
28242
28243
28244
28245
28246
28247
28248
28249
28250
28251
28252
28253
28254
28255
28256
28257
28258
28259
28260
28261
28262
28263
28264
28265
28266
28267
28268
28269
28270
28271
28272
28273
28274
28275
28276
28277
28278
28279
28280
28281
28282
28283
28284
28285
28286
28287
28288
28289
28290
28291
28292
28293
28294
28295
28296
28297
28298
28299
28300
28301
28302
28303
28304
28305
28306
28307
28308
28309
28310
28311
28312
28313
28314
28315
28316
28317
28318
28319
28320
28321
28322
28323
28324
28325
28326
28327
28328
28329
28330
28331
28332
28333
28334
28335
28336
28337
28338
28339
28340
28341
28342
28343
28344
28345
28346
28347
28348
28349
28350
28351
28352
28353
28354
28355
28356
28357
28358
28359
28360
28361
28362
28363
28364
28365
28366
28367
28368
28369
28370
28371
28372
28373
28374
28375
28376
28377
28378
28379
28380
28381
28382
28383
28384
28385
28386
28387
28388
28389
28390
28391
28392
28393
28394
28395
28396
28397
28398
28399
28400
28401
28402
28403
28404
28405
28406
28407
28408
28409
28410
28411
28412
28413
28414
28415
28416
28417
28418
28419
28420
28421
28422
28423
28424
28425
28426
28427
28428
28429
28430
28431
28432
28433
28434
28435
28436
28437
28438
28439
28440
28441
28442
28443
28444
28445
28446
28447
28448
28449
28450
28451
28452
28453
28454
28455
28456
28457
28458
28459
28460
28461
28462
28463
28464
28465
28466
28467
28468
28469
28470
28471
28472
28473
28474
28475
28476
28477
28478
28479
28480
28481
28482
28483
28484
28485
28486
28487
28488
28489
28490
28491
28492
28493
28494
28495
28496
28497
28498
28499
28500
28501
28502
28503
28504
28505
28506
28507
28508
28509
28510
28511
28512
28513
28514
28515
28516
28517
28518
28519
28520
28521
28522
28523
28524
28525
28526
28527
28528
28529
28530
28531
28532
28533
28534
28535
28536
28537
28538
28539
28540
28541
28542
28543
28544
28545
28546
28547
28548
28549
28550
28551
28552
28553
28554
28555
28556
28557
28558
28559
28560
28561
28562
28563
28564
28565
28566
28567
28568
28569
28570
28571
28572
28573
28574
28575
28576
28577
28578
28579
28580
28581
28582
28583
28584
28585
28586
28587
28588
28589
28590
28591
28592
28593
28594
28595
28596
28597
28598
28599
28600
28601
28602
28603
28604
28605
28606
28607
28608
28609
28610
28611
28612
28613
28614
28615
28616
28617
28618
28619
28620
28621
28622
28623
28624
28625
28626
28627
28628
28629
28630
28631
28632
28633
28634
28635
28636
28637
28638
28639
28640
28641
28642
28643
28644
28645
28646
28647
28648
28649
28650
28651
28652
28653
28654
28655
28656
28657
28658
28659
28660
28661
28662
28663
28664
28665
28666
28667
28668
28669
28670
28671
28672
28673
28674
28675
28676
28677
28678
28679
28680
28681
28682
28683
28684
28685
28686
28687
28688
28689
28690
28691
28692
28693
28694
28695
28696
28697
28698
28699
28700
28701
28702
28703
28704
28705
28706
28707
28708
28709
28710
28711
28712
28713
28714
28715
28716
28717
28718
28719
28720
28721
28722
28723
28724
28725
28726
28727
28728
28729
28730
28731
28732
28733
28734
28735
28736
28737
28738
28739
28740
28741
28742
28743
28744
28745
28746
28747
28748
28749
28750
28751
28752
28753
28754
28755
28756
28757
28758
28759
28760
28761
28762
28763
28764
28765
28766
28767
28768
28769
28770
28771
28772
28773
28774
28775
28776
28777
28778
28779
28780
28781
28782
28783
28784
28785
28786
28787
28788
28789
28790
28791
28792
28793
28794
28795
28796
28797
28798
28799
28800
28801
28802
28803
28804
28805
28806
28807
28808
28809
28810
28811
28812
28813
28814
28815
28816
28817
28818
28819
28820
28821
28822
28823
28824
28825
28826
28827
28828
28829
28830
28831
28832
28833
28834
28835
28836
28837
28838
28839
28840
28841
28842
28843
28844
28845
28846
28847
28848
28849
28850
28851
28852
28853
28854
28855
28856
28857
28858
28859
28860
28861
28862
28863
28864
28865
28866
28867
28868
28869
28870
28871
28872
28873
28874
28875
28876
28877
28878
28879
28880
28881
28882
28883
28884
28885
28886
28887
28888
28889
28890
28891
28892
28893
28894
28895
28896
28897
28898
28899
28900
28901
28902
28903
28904
28905
28906
28907
28908
28909
28910
28911
28912
28913
28914
28915
28916
28917
28918
28919
28920
28921
28922
28923
28924
28925
28926
28927
28928
28929
28930
28931
28932
28933
28934
28935
28936
28937
28938
28939
28940
28941
28942
28943
28944
28945
28946
28947
28948
28949
28950
28951
28952
28953
28954
28955
28956
28957
28958
28959
28960
28961
28962
28963
28964
28965
28966
28967
28968
28969
28970
28971
28972
28973
28974
28975
28976
28977
28978
28979
28980
28981
28982
28983
28984
28985
28986
28987
28988
28989
28990
28991
28992
28993
28994
28995
28996
28997
28998
28999
29000
29001
29002
29003
29004
29005
29006
29007
29008
29009
29010
29011
29012
29013
29014
29015
29016
29017
29018
29019
29020
29021
29022
29023
29024
29025
29026
29027
29028
29029
29030
29031
29032
29033
29034
29035
29036
29037
29038
29039
29040
29041
29042
29043
29044
29045
29046
29047
29048
29049
29050
29051
29052
29053
29054
29055
29056
29057
29058
29059
29060
29061
29062
29063
29064
29065
29066
29067
29068
29069
29070
29071
29072
29073
29074
29075
29076
29077
29078
29079
29080
29081
29082
29083
29084
29085
29086
29087
29088
29089
29090
29091
29092
29093
29094
29095
29096
29097
29098
29099
29100
29101
29102
29103
29104
29105
29106
29107
29108
29109
29110
29111
29112
29113
29114
29115
29116
29117
29118
29119
29120
29121
29122
29123
29124
29125
29126
29127
29128
29129
29130
29131
29132
29133
29134
29135
29136
29137
29138
29139
29140
29141
29142
29143
29144
29145
29146
29147
29148
29149
29150
29151
29152
29153
29154
29155
29156
29157
29158
29159
29160
29161
29162
29163
29164
29165
29166
29167
29168
29169
29170
29171
29172
29173
29174
29175
29176
29177
29178
29179
29180
29181
29182
29183
29184
29185
29186
29187
29188
29189
29190
29191
29192
29193
29194
29195
29196
29197
29198
29199
29200
29201
29202
29203
29204
29205
29206
29207
29208
29209
29210
29211
29212
29213
29214
29215
29216
29217
29218
29219
29220
29221
29222
29223
29224
29225
29226
29227
29228
29229
29230
29231
29232
29233
29234
29235
29236
29237
29238
29239
29240
29241
29242
29243
29244
29245
29246
29247
29248
29249
29250
29251
29252
29253
29254
29255
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267
29268
29269
29270
29271
29272
29273
29274
29275
29276
29277
29278
29279
29280
29281
29282
29283
29284
29285
29286
29287
29288
29289
29290
29291
29292
29293
29294
29295
29296
29297
29298
29299
29300
29301
29302
29303
29304
29305
29306
29307
29308
29309
29310
29311
29312
29313
29314
29315
29316
29317
29318
29319
29320
29321
29322
29323
29324
29325
29326
29327
29328
29329
29330
29331
29332
29333
29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345
29346
29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364
29365
29366
29367
29368
29369
29370
29371
29372
29373
29374
29375
29376
29377
29378
29379
29380
29381
29382
29383
29384
29385
29386
29387
29388
29389
29390
29391
29392
29393
29394
29395
29396
29397
29398
29399
29400
29401
29402
29403
29404
29405
29406
29407
29408
29409
29410
29411
29412
29413
29414
29415
29416
29417
29418
29419
29420
29421
29422
29423
29424
29425
29426
29427
29428
29429
29430
29431
29432
29433
29434
29435
29436
29437
29438
29439
29440
29441
29442
29443
29444
29445
29446
29447
29448
29449
29450
29451
29452
29453
29454
29455
29456
29457
29458
29459
29460
29461
29462
29463
29464
29465
29466
29467
29468
29469
29470
29471
29472
29473
29474
29475
29476
29477
29478
29479
29480
29481
29482
29483
29484
29485
29486
29487
29488
29489
29490
29491
29492
29493
29494
29495
29496
29497
29498
29499
29500
29501
29502
29503
29504
29505
29506
29507
29508
29509
29510
29511
29512
29513
29514
29515
29516
29517
29518
29519
29520
29521
29522
29523
29524
29525
29526
29527
29528
29529
29530
29531
29532
29533
29534
29535
29536
29537
29538
29539
29540
29541
29542
29543
29544
29545
29546
29547
29548
29549
29550
29551
29552
29553
29554
29555
29556
29557
29558
29559
29560
29561
29562
29563
29564
29565
29566
29567
29568
29569
29570
29571
29572
29573
29574
29575
29576
29577
29578
29579
29580
29581
29582
29583
29584
29585
29586
29587
29588
29589
29590
29591
29592
29593
29594
29595
29596
29597
29598
29599
29600
29601
29602
29603
29604
29605
29606
29607
29608
29609
29610
29611
29612
29613
29614
29615
29616
29617
29618
29619
29620
29621
29622
29623
29624
29625
29626
29627
29628
29629
29630
29631
29632
29633
29634
29635
29636
29637
29638
29639
29640
29641
29642
29643
29644
29645
29646
29647
29648
29649
29650
29651
29652
29653
29654
29655
29656
29657
29658
29659
29660
29661
29662
29663
29664
29665
29666
29667
29668
29669
29670
29671
29672
29673
29674
29675
29676
29677
29678
29679
29680
29681
29682
29683
29684
29685
29686
29687
29688
29689
29690
29691
29692
29693
29694
29695
29696
29697
29698
29699
29700
29701
29702
29703
29704
29705
29706
29707
29708
29709
29710
29711
29712
29713
29714
29715
29716
29717
29718
29719
29720
29721
29722
29723
29724
29725
29726
29727
29728
29729
29730
29731
29732
29733
29734
29735
29736
29737
29738
29739
29740
29741
29742
29743
29744
29745
29746
29747
29748
29749
29750
29751
29752
29753
29754
29755
29756
29757
29758
29759
29760
29761
29762
29763
29764
29765
29766
29767
29768
29769
29770
29771
29772
29773
29774
29775
29776
29777
29778
29779
29780
29781
29782
29783
29784
29785
29786
29787
29788
29789
29790
29791
29792
29793
29794
29795
29796
29797
29798
29799
29800
29801
29802
29803
29804
29805
29806
29807
29808
29809
29810
29811
29812
29813
29814
29815
29816
29817
29818
29819
29820
29821
29822
29823
29824
29825
29826
29827
29828
29829
29830
29831
29832
29833
29834
29835
29836
29837
29838
29839
29840
29841
29842
29843
29844
29845
29846
29847
29848
29849
29850
29851
29852
29853
29854
29855
29856
29857
29858
29859
29860
29861
29862
29863
29864
29865
29866
29867
29868
29869
29870
29871
29872
29873
29874
29875
29876
29877
29878
29879
29880
29881
29882
29883
29884
29885
29886
29887
29888
29889
29890
29891
29892
29893
29894
29895
29896
29897
29898
29899
29900
29901
29902
29903
29904
29905
29906
29907
29908
29909
29910
29911
29912
29913
29914
29915
29916
29917
29918
29919
29920
29921
29922
29923
29924
29925
29926
29927
29928
29929
29930
29931
29932
29933
29934
29935
29936
29937
29938
29939
29940
29941
29942
29943
29944
29945
29946
29947
29948
29949
29950
29951
29952
29953
29954
29955
29956
29957
29958
29959
29960
29961
29962
29963
29964
29965
29966
29967
29968
29969
29970
29971
29972
29973
29974
29975
29976
29977
29978
29979
29980
29981
29982
29983
29984
29985
29986
29987
29988
29989
29990
29991
29992
29993
29994
29995
29996
29997
29998
29999
30000
30001
30002
30003
30004
30005
30006
30007
30008
30009
30010
30011
30012
30013
30014
30015
30016
30017
30018
30019
30020
30021
30022
30023
30024
30025
30026
30027
30028
30029
30030
30031
30032
30033
30034
30035
30036
30037
30038
30039
30040
30041
30042
30043
30044
30045
30046
30047
30048
30049
30050
30051
30052
30053
30054
30055
30056
30057
30058
30059
30060
30061
30062
30063
30064
30065
30066
30067
30068
30069
30070
30071
30072
30073
30074
30075
30076
30077
30078
30079
30080
30081
30082
30083
30084
30085
30086
30087
30088
30089
30090
30091
30092
30093
30094
30095
30096
30097
30098
30099
30100
30101
30102
30103
30104
30105
30106
30107
30108
30109
30110
30111
30112
30113
30114
30115
30116
30117
30118
30119
30120
30121
30122
30123
30124
30125
30126
30127
30128
30129
30130
30131
30132
30133
30134
30135
30136
30137
30138
30139
30140
30141
30142
30143
30144
30145
30146
30147
30148
30149
30150
30151
30152
30153
30154
30155
30156
30157
30158
30159
30160
30161
30162
30163
30164
30165
30166
30167
30168
30169
30170
30171
30172
30173
30174
30175
30176
30177
30178
30179
30180
30181
30182
30183
30184
30185
30186
30187
30188
30189
30190
30191
30192
30193
30194
30195
30196
30197
30198
30199
30200
30201
30202
30203
30204
30205
30206
30207
30208
30209
30210
30211
30212
30213
30214
30215
30216
30217
30218
30219
30220
30221
30222
30223
30224
30225
30226
30227
30228
30229
30230
30231
30232
30233
30234
30235
30236
30237
30238
30239
30240
30241
30242
30243
30244
30245
30246
30247
30248
30249
30250
30251
30252
30253
30254
30255
30256
30257
30258
30259
30260
30261
30262
30263
30264
30265
30266
30267
30268
30269
30270
30271
30272
30273
30274
30275
30276
30277
30278
30279
30280
30281
30282
30283
30284
30285
30286
30287
30288
30289
30290
30291
30292
30293
30294
30295
30296
30297
30298
30299
30300
30301
30302
30303
30304
30305
30306
30307
30308
30309
30310
30311
30312
30313
30314
30315
30316
30317
30318
30319
30320
30321
30322
30323
30324
30325
30326
30327
30328
30329
30330
30331
30332
30333
30334
30335
30336
30337
30338
30339
30340
30341
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
30362
30363
30364
30365
30366
30367
30368
30369
30370
30371
30372
30373
30374
30375
30376
30377
30378
30379
30380
30381
30382
30383
30384
30385
30386
30387
30388
30389
30390
30391
30392
30393
30394
30395
30396
30397
30398
30399
30400
30401
30402
30403
30404
30405
30406
30407
30408
30409
30410
30411
30412
30413
30414
30415
30416
30417
30418
30419
30420
30421
30422
30423
30424
30425
30426
30427
30428
30429
30430
30431
30432
30433
30434
30435
30436
30437
30438
30439
30440
30441
30442
30443
30444
30445
30446
30447
30448
30449
30450
30451
30452
30453
30454
30455
30456
30457
30458
30459
30460
30461
30462
30463
30464
30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
30484
30485
30486
30487
30488
30489
30490
30491
30492
30493
30494
30495
30496
30497
30498
30499
30500
30501
30502
30503
30504
30505
30506
30507
30508
30509
30510
30511
30512
30513
30514
30515
30516
30517
30518
30519
30520
30521
30522
30523
30524
30525
30526
30527
30528
30529
30530
30531
30532
30533
30534
30535
30536
30537
30538
30539
30540
30541
30542
30543
30544
30545
30546
30547
30548
30549
30550
30551
30552
30553
30554
30555
30556
30557
30558
30559
30560
30561
30562
30563
30564
30565
30566
30567
30568
30569
30570
30571
30572
30573
30574
30575
30576
30577
30578
30579
30580
30581
30582
30583
30584
30585
30586
30587
30588
30589
30590
30591
30592
30593
30594
30595
30596
30597
30598
30599
30600
30601
30602
30603
30604
30605
30606
30607
30608
30609
30610
30611
30612
30613
30614
30615
30616
30617
30618
30619
30620
30621
30622
30623
30624
30625
30626
30627
30628
30629
30630
30631
30632
30633
30634
30635
30636
30637
30638
30639
30640
30641
30642
30643
30644
30645
30646
30647
30648
30649
30650
30651
30652
30653
30654
30655
30656
30657
30658
30659
30660
30661
30662
30663
30664
30665
30666
30667
30668
30669
30670
30671
30672
30673
30674
30675
30676
30677
30678
30679
30680
30681
30682
30683
30684
30685
30686
30687
30688
30689
30690
30691
30692
30693
30694
30695
30696
30697
30698
30699
30700
30701
30702
30703
30704
30705
30706
30707
30708
30709
30710
30711
30712
30713
30714
30715
30716
30717
30718
30719
30720
30721
30722
30723
30724
30725
30726
30727
30728
30729
30730
30731
30732
30733
30734
30735
30736
30737
30738
30739
30740
30741
30742
30743
30744
30745
30746
30747
30748
30749
30750
30751
30752
30753
30754
30755
30756
30757
30758
30759
30760
30761
30762
30763
30764
30765
30766
30767
30768
30769
30770
30771
30772
30773
30774
30775
30776
30777
30778
30779
30780
30781
30782
30783
30784
30785
30786
30787
30788
30789
30790
30791
30792
30793
30794
30795
30796
30797
30798
30799
30800
30801
30802
30803
30804
30805
30806
30807
30808
30809
30810
30811
30812
30813
30814
30815
30816
30817
30818
30819
30820
30821
30822
30823
30824
30825
30826
30827
30828
30829
30830
30831
30832
30833
30834
30835
30836
30837
30838
30839
30840
30841
30842
30843
30844
30845
30846
30847
30848
30849
30850
30851
30852
30853
30854
30855
30856
30857
30858
30859
30860
30861
30862
30863
30864
30865
30866
30867
30868
30869
30870
30871
30872
30873
30874
30875
30876
30877
30878
30879
30880
30881
30882
30883
30884
30885
30886
30887
30888
30889
30890
30891
30892
30893
30894
30895
30896
30897
30898
30899
30900
30901
30902
30903
30904
30905
30906
30907
30908
30909
30910
30911
30912
30913
30914
30915
30916
30917
30918
30919
30920
30921
30922
30923
30924
30925
30926
30927
30928
30929
30930
30931
30932
30933
30934
30935
30936
30937
30938
30939
30940
30941
30942
30943
30944
30945
30946
30947
30948
30949
30950
30951
30952
30953
30954
30955
30956
30957
30958
30959
30960
30961
30962
30963
30964
30965
30966
30967
30968
30969
30970
30971
30972
30973
30974
30975
30976
30977
30978
30979
30980
30981
30982
30983
30984
30985
30986
30987
30988
30989
30990
30991
30992
30993
30994
30995
30996
30997
30998
30999
31000
31001
31002
31003
31004
31005
31006
31007
31008
31009
31010
31011
31012
31013
31014
31015
31016
31017
31018
31019
31020
31021
31022
31023
31024
31025
31026
31027
31028
31029
31030
31031
31032
31033
31034
31035
31036
31037
31038
31039
31040
31041
31042
31043
31044
31045
31046
31047
31048
31049
31050
31051
31052
31053
31054
31055
31056
31057
31058
31059
31060
31061
31062
31063
31064
31065
31066
31067
31068
31069
31070
31071
31072
31073
31074
31075
31076
31077
31078
31079
31080
31081
31082
31083
31084
31085
31086
31087
31088
31089
31090
31091
31092
31093
31094
31095
31096
31097
31098
31099
31100
31101
31102
31103
31104
31105
31106
31107
31108
31109
31110
31111
31112
31113
31114
31115
31116
31117
31118
31119
31120
31121
31122
31123
31124
31125
31126
31127
31128
31129
31130
31131
31132
31133
31134
31135
31136
31137
31138
31139
31140
31141
31142
31143
31144
31145
31146
31147
31148
31149
31150
31151
31152
31153
31154
31155
31156
31157
31158
31159
31160
31161
31162
31163
31164
31165
31166
31167
31168
31169
31170
31171
31172
31173
31174
31175
31176
31177
31178
31179
31180
31181
31182
31183
31184
31185
31186
31187
31188
31189
31190
31191
31192
31193
31194
31195
31196
31197
31198
31199
31200
31201
31202
31203
31204
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31215
31216
31217
31218
31219
31220
31221
31222
31223
31224
31225
31226
31227
31228
31229
31230
31231
31232
31233
31234
31235
31236
31237
31238
31239
31240
31241
31242
31243
31244
31245
31246
31247
31248
31249
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31260
31261
31262
31263
31264
31265
31266
31267
31268
31269
31270
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31285
31286
31287
31288
31289
31290
31291
31292
31293
31294
31295
31296
31297
31298
31299
31300
31301
31302
31303
31304
31305
31306
31307
31308
31309
31310
31311
31312
31313
31314
31315
31316
31317
31318
31319
31320
31321
31322
31323
31324
31325
31326
31327
31328
31329
31330
31331
31332
31333
31334
31335
31336
31337
31338
31339
31340
31341
31342
31343
31344
31345
31346
31347
31348
31349
31350
31351
31352
31353
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31371
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31390
31391
31392
31393
31394
31395
31396
31397
31398
31399
31400
31401
31402
31403
31404
31405
31406
31407
31408
31409
31410
31411
31412
31413
31414
31415
31416
31417
31418
31419
31420
31421
31422
31423
31424
31425
31426
31427
31428
31429
31430
31431
31432
31433
31434
31435
31436
31437
31438
31439
31440
31441
31442
31443
31444
31445
31446
31447
31448
31449
31450
31451
31452
31453
31454
31455
31456
31457
31458
31459
31460
31461
31462
31463
31464
31465
31466
31467
31468
31469
31470
31471
31472
31473
31474
31475
31476
31477
31478
31479
31480
31481
31482
31483
31484
31485
31486
31487
31488
31489
31490
31491
31492
31493
31494
31495
31496
31497
31498
31499
31500
31501
31502
31503
31504
31505
31506
31507
31508
31509
31510
31511
31512
31513
31514
31515
31516
31517
31518
31519
31520
31521
31522
31523
31524
31525
31526
31527
31528
31529
31530
31531
31532
31533
31534
31535
31536
31537
31538
31539
31540
31541
31542
31543
31544
31545
31546
31547
31548
31549
31550
31551
31552
31553
31554
31555
31556
31557
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31569
31570
31571
31572
31573
31574
31575
31576
31577
31578
31579
31580
31581
31582
31583
31584
31585
31586
31587
31588
31589
31590
31591
31592
31593
31594
31595
31596
31597
31598
31599
31600
31601
31602
31603
31604
31605
31606
31607
31608
31609
31610
31611
31612
31613
31614
31615
31616
31617
31618
31619
31620
31621
31622
31623
31624
31625
31626
31627
31628
31629
31630
31631
31632
31633
31634
31635
31636
31637
31638
31639
31640
31641
31642
31643
31644
31645
31646
31647
31648
31649
31650
31651
31652
31653
31654
31655
31656
31657
31658
31659
31660
31661
31662
31663
31664
31665
31666
31667
31668
31669
31670
31671
31672
31673
31674
31675
31676
31677
31678
31679
31680
31681
31682
31683
31684
31685
31686
31687
31688
31689
31690
31691
31692
31693
31694
31695
31696
31697
31698
31699
31700
31701
31702
31703
31704
31705
31706
31707
31708
31709
31710
31711
31712
31713
31714
31715
31716
31717
31718
31719
31720
31721
31722
31723
31724
31725
31726
31727
31728
31729
31730
31731
31732
31733
31734
31735
31736
31737
31738
31739
31740
31741
31742
31743
31744
31745
31746
31747
31748
31749
31750
31751
31752
31753
31754
31755
31756
31757
31758
31759
31760
31761
31762
31763
31764
31765
31766
31767
31768
31769
31770
31771
31772
31773
31774
31775
31776
31777
31778
31779
31780
31781
31782
31783
31784
31785
31786
31787
31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
31798
31799
31800
31801
31802
31803
31804
31805
31806
31807
31808
31809
31810
31811
31812
31813
31814
31815
31816
31817
31818
31819
31820
31821
31822
31823
31824
31825
31826
31827
31828
31829
31830
31831
31832
31833
31834
31835
31836
31837
31838
31839
31840
31841
31842
31843
31844
31845
31846
31847
31848
31849
31850
31851
31852
31853
31854
31855
31856
31857
31858
31859
31860
31861
31862
31863
31864
31865
31866
31867
31868
31869
31870
31871
31872
31873
31874
31875
31876
31877
31878
31879
31880
31881
31882
31883
31884
31885
31886
31887
31888
31889
31890
31891
31892
31893
31894
31895
31896
31897
31898
31899
31900
31901
31902
31903
31904
31905
31906
31907
31908
31909
31910
31911
31912
31913
31914
31915
31916
31917
31918
31919
31920
31921
31922
31923
31924
31925
31926
31927
31928
31929
31930
31931
31932
31933
31934
31935
31936
31937
31938
31939
31940
31941
31942
31943
31944
31945
31946
31947
31948
31949
31950
31951
31952
31953
31954
31955
31956
31957
31958
31959
31960
31961
31962
31963
31964
31965
31966
31967
31968
31969
31970
31971
31972
31973
31974
31975
31976
31977
31978
31979
31980
31981
31982
31983
31984
31985
31986
31987
31988
31989
31990
31991
31992
31993
31994
31995
31996
31997
31998
31999
32000
32001
32002
32003
32004
32005
32006
32007
32008
32009
32010
32011
32012
32013
32014
32015
32016
32017
32018
32019
32020
32021
32022
32023
32024
32025
32026
32027
32028
32029
32030
32031
32032
32033
32034
32035
32036
32037
32038
32039
32040
32041
32042
32043
32044
32045
32046
32047
32048
32049
32050
32051
32052
32053
32054
32055
32056
32057
32058
32059
32060
32061
32062
32063
32064
32065
32066
32067
32068
32069
32070
32071
32072
32073
32074
32075
32076
32077
32078
32079
32080
32081
32082
32083
32084
32085
32086
32087
32088
32089
32090
32091
32092
32093
32094
32095
32096
32097
32098
32099
32100
32101
32102
32103
32104
32105
32106
32107
32108
32109
32110
32111
32112
32113
32114
32115
32116
32117
32118
32119
32120
32121
32122
32123
32124
32125
32126
32127
32128
32129
32130
32131
32132
32133
32134
32135
32136
32137
32138
32139
32140
32141
32142
32143
32144
32145
32146
32147
32148
32149
32150
32151
32152
32153
32154
32155
32156
32157
32158
32159
32160
32161
32162
32163
32164
32165
32166
32167
32168
32169
32170
32171
32172
32173
32174
32175
32176
32177
32178
32179
32180
32181
32182
32183
32184
32185
32186
32187
32188
32189
32190
32191
32192
32193
32194
32195
32196
32197
32198
32199
32200
32201
32202
32203
32204
32205
32206
32207
32208
32209
32210
32211
32212
32213
32214
32215
32216
32217
32218
32219
32220
32221
32222
32223
32224
32225
32226
32227
32228
32229
32230
32231
32232
32233
32234
32235
32236
32237
32238
32239
32240
32241
32242
32243
32244
32245
32246
32247
32248
32249
32250
32251
32252
32253
32254
32255
32256
32257
32258
32259
32260
32261
32262
32263
32264
32265
32266
32267
32268
32269
32270
32271
32272
32273
32274
32275
32276
32277
32278
32279
32280
32281
32282
32283
32284
32285
32286
32287
32288
32289
32290
32291
32292
32293
32294
32295
32296
32297
32298
32299
32300
32301
32302
32303
32304
32305
32306
32307
32308
32309
32310
32311
32312
32313
32314
32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
32325
32326
32327
32328
32329
32330
32331
32332
32333
32334
32335
32336
32337
32338
32339
32340
32341
32342
32343
32344
32345
32346
32347
32348
32349
32350
32351
32352
32353
32354
32355
32356
32357
32358
32359
32360
32361
32362
32363
32364
32365
32366
32367
32368
32369
32370
32371
32372
32373
32374
32375
32376
32377
32378
32379
32380
32381
32382
32383
32384
32385
32386
32387
32388
32389
32390
32391
32392
32393
32394
32395
32396
32397
32398
32399
32400
32401
32402
32403
32404
32405
32406
32407
32408
32409
32410
32411
32412
32413
32414
32415
32416
32417
32418
32419
32420
32421
32422
32423
32424
32425
32426
32427
32428
32429
32430
32431
32432
32433
32434
32435
32436
32437
32438
32439
32440
32441
32442
32443
32444
32445
32446
32447
32448
32449
32450
32451
32452
32453
32454
32455
32456
32457
32458
32459
32460
32461
32462
32463
32464
32465
32466
32467
32468
32469
32470
32471
32472
32473
32474
32475
32476
32477
32478
32479
32480
32481
32482
32483
32484
32485
32486
32487
32488
32489
32490
32491
32492
32493
32494
32495
32496
32497
32498
32499
32500
32501
32502
32503
32504
32505
32506
32507
32508
32509
32510
32511
32512
32513
32514
32515
32516
32517
32518
32519
32520
32521
32522
32523
32524
32525
32526
32527
32528
32529
32530
32531
32532
32533
32534
32535
32536
32537
32538
32539
32540
32541
32542
32543
32544
32545
32546
32547
32548
32549
32550
32551
32552
32553
32554
32555
32556
32557
32558
32559
32560
32561
32562
32563
32564
32565
32566
32567
32568
32569
32570
32571
32572
32573
32574
32575
32576
32577
32578
32579
32580
32581
32582
32583
32584
32585
32586
32587
32588
32589
32590
32591
32592
32593
32594
32595
32596
32597
32598
32599
32600
32601
32602
32603
32604
32605
32606
32607
32608
32609
32610
32611
32612
32613
32614
32615
32616
32617
32618
32619
32620
32621
32622
32623
32624
32625
32626
32627
32628
32629
32630
32631
32632
32633
32634
32635
32636
32637
32638
32639
32640
32641
32642
32643
32644
32645
32646
32647
32648
32649
32650
32651
32652
32653
32654
32655
32656
32657
32658
32659
32660
32661
32662
32663
32664
32665
32666
32667
32668
32669
32670
32671
32672
32673
32674
32675
32676
32677
32678
32679
32680
32681
32682
32683
32684
32685
32686
32687
32688
32689
32690
32691
32692
32693
32694
32695
32696
32697
32698
32699
32700
32701
32702
32703
32704
32705
32706
32707
32708
32709
32710
32711
32712
32713
32714
32715
32716
32717
32718
32719
32720
32721
32722
32723
32724
32725
32726
32727
32728
32729
32730
32731
32732
32733
32734
32735
32736
32737
32738
32739
32740
32741
32742
32743
32744
32745
32746
32747
32748
32749
32750
32751
32752
32753
32754
32755
32756
32757
32758
32759
32760
32761
32762
32763
32764
32765
32766
32767
32768
32769
32770
32771
32772
32773
32774
32775
32776
32777
32778
32779
32780
32781
32782
32783
32784
32785
32786
32787
32788
32789
32790
32791
32792
32793
32794
32795
32796
32797
32798
32799
32800
32801
32802
32803
32804
32805
32806
32807
32808
32809
32810
32811
32812
32813
32814
32815
32816
32817
32818
32819
32820
32821
32822
32823
32824
32825
32826
32827
32828
32829
32830
32831
32832
32833
32834
32835
32836
32837
32838
32839
32840
32841
32842
32843
32844
32845
32846
32847
32848
32849
32850
32851
32852
32853
32854
32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
32865
32866
32867
32868
32869
32870
32871
32872
32873
32874
32875
32876
32877
32878
32879
32880
32881
32882
32883
32884
32885
32886
32887
32888
32889
32890
32891
32892
32893
32894
32895
32896
32897
32898
32899
32900
32901
32902
32903
32904
32905
32906
32907
32908
32909
32910
32911
32912
32913
32914
32915
32916
32917
32918
32919
32920
32921
32922
32923
32924
32925
32926
32927
32928
32929
32930
32931
32932
32933
32934
32935
32936
32937
32938
32939
32940
32941
32942
32943
32944
32945
32946
32947
32948
32949
32950
32951
32952
32953
32954
32955
32956
32957
32958
32959
32960
32961
32962
32963
32964
32965
32966
32967
32968
32969
32970
32971
32972
32973
32974
32975
32976
32977
32978
32979
32980
32981
32982
32983
32984
32985
32986
32987
32988
32989
32990
32991
32992
32993
32994
32995
32996
32997
32998
32999
33000
33001
33002
33003
33004
33005
33006
33007
33008
33009
33010
33011
33012
33013
33014
33015
33016
33017
33018
33019
33020
33021
33022
33023
33024
33025
33026
33027
33028
33029
33030
33031
33032
33033
33034
33035
33036
33037
33038
33039
33040
33041
33042
33043
33044
33045
33046
33047
33048
33049
33050
33051
33052
33053
33054
33055
33056
33057
33058
33059
33060
33061
33062
33063
33064
33065
33066
33067
33068
33069
33070
33071
33072
33073
33074
33075
33076
33077
33078
33079
33080
33081
33082
33083
33084
33085
33086
33087
33088
33089
33090
33091
33092
33093
33094
33095
33096
33097
33098
33099
33100
33101
33102
33103
33104
33105
33106
33107
33108
33109
33110
33111
33112
33113
33114
33115
33116
33117
33118
33119
33120
33121
33122
33123
33124
33125
33126
33127
33128
33129
33130
33131
33132
33133
33134
33135
33136
33137
33138
33139
33140
33141
33142
33143
33144
33145
33146
33147
33148
33149
33150
33151
33152
33153
33154
33155
33156
33157
33158
33159
33160
33161
33162
33163
33164
33165
33166
33167
33168
33169
33170
33171
33172
33173
33174
33175
33176
33177
33178
33179
33180
33181
33182
33183
33184
33185
33186
33187
33188
33189
33190
33191
33192
33193
33194
33195
33196
33197
33198
33199
33200
33201
33202
33203
33204
33205
33206
33207
33208
33209
33210
33211
33212
33213
33214
33215
33216
33217
33218
33219
33220
33221
33222
33223
33224
33225
33226
33227
33228
33229
33230
33231
33232
33233
33234
33235
33236
33237
33238
33239
33240
33241
33242
33243
33244
33245
33246
33247
33248
33249
33250
33251
33252
33253
33254
33255
33256
33257
33258
33259
33260
33261
33262
33263
33264
33265
33266
33267
33268
33269
33270
33271
33272
33273
33274
33275
33276
33277
33278
33279
33280
33281
33282
33283
33284
33285
33286
33287
33288
33289
33290
33291
33292
33293
33294
33295
33296
33297
33298
33299
33300
33301
33302
33303
33304
33305
33306
33307
33308
33309
33310
33311
33312
33313
33314
33315
33316
33317
33318
33319
33320
33321
33322
33323
33324
33325
33326
33327
33328
33329
33330
33331
33332
33333
33334
33335
33336
33337
33338
33339
33340
33341
33342
33343
33344
33345
33346
33347
33348
33349
33350
33351
33352
33353
33354
33355
33356
33357
33358
33359
33360
33361
33362
33363
33364
33365
33366
33367
33368
33369
33370
33371
33372
33373
33374
33375
33376
33377
33378
33379
33380
33381
33382
33383
33384
33385
33386
33387
33388
33389
33390
33391
33392
33393
33394
33395
33396
33397
33398
33399
33400
33401
33402
33403
33404
33405
33406
33407
33408
33409
33410
33411
33412
33413
33414
33415
33416
33417
33418
33419
33420
33421
33422
33423
33424
33425
33426
33427
33428
33429
33430
33431
33432
33433
33434
33435
33436
33437
33438
33439
33440
33441
33442
33443
33444
33445
33446
33447
33448
33449
33450
33451
33452
33453
33454
33455
33456
33457
33458
33459
33460
33461
33462
33463
33464
33465
33466
33467
33468
33469
33470
33471
33472
33473
33474
33475
33476
33477
33478
33479
33480
33481
33482
33483
33484
33485
33486
33487
33488
33489
33490
33491
33492
33493
33494
33495
33496
33497
33498
33499
33500
33501
33502
33503
33504
33505
33506
33507
33508
33509
33510
33511
33512
33513
33514
33515
33516
33517
33518
33519
33520
33521
33522
33523
33524
33525
33526
33527
33528
33529
33530
33531
33532
33533
33534
33535
33536
33537
33538
33539
33540
33541
33542
33543
33544
33545
33546
33547
33548
33549
33550
33551
33552
33553
33554
33555
33556
33557
33558
33559
33560
33561
33562
33563
33564
33565
33566
33567
33568
33569
33570
33571
33572
33573
33574
33575
33576
33577
33578
33579
33580
33581
33582
33583
33584
33585
33586
33587
33588
33589
33590
33591
33592
33593
33594
33595
33596
33597
33598
33599
33600
33601
33602
33603
33604
33605
33606
33607
33608
33609
33610
33611
33612
33613
33614
33615
33616
33617
33618
33619
33620
33621
33622
33623
33624
33625
33626
33627
33628
33629
33630
33631
33632
33633
33634
33635
33636
33637
33638
33639
33640
33641
33642
33643
33644
33645
33646
33647
33648
33649
33650
33651
33652
33653
33654
33655
33656
33657
33658
33659
33660
33661
33662
33663
33664
33665
33666
33667
33668
33669
33670
33671
33672
33673
33674
33675
33676
33677
33678
33679
33680
33681
33682
33683
33684
33685
33686
33687
33688
33689
33690
33691
33692
33693
33694
33695
33696
33697
33698
33699
33700
33701
33702
33703
33704
33705
33706
33707
33708
33709
33710
33711
33712
33713
33714
33715
33716
33717
33718
33719
33720
33721
33722
33723
33724
33725
33726
33727
33728
33729
33730
33731
33732
33733
33734
33735
33736
33737
33738
33739
33740
33741
33742
33743
33744
33745
33746
33747
33748
33749
33750
33751
33752
33753
33754
33755
33756
33757
33758
33759
33760
33761
33762
33763
33764
33765
33766
33767
33768
33769
33770
33771
33772
33773
33774
33775
33776
33777
33778
33779
33780
33781
33782
33783
33784
33785
33786
33787
33788
33789
33790
33791
33792
33793
33794
33795
33796
33797
33798
33799
33800
33801
33802
33803
33804
33805
33806
33807
33808
33809
33810
33811
33812
33813
33814
33815
33816
33817
33818
33819
33820
33821
33822
33823
33824
33825
33826
33827
33828
33829
33830
33831
33832
33833
33834
33835
33836
33837
33838
33839
33840
33841
33842
33843
33844
33845
33846
33847
33848
33849
33850
33851
33852
33853
33854
33855
33856
33857
33858
33859
33860
33861
33862
33863
33864
33865
33866
33867
33868
33869
33870
33871
33872
33873
33874
33875
33876
33877
33878
33879
33880
33881
33882
33883
33884
33885
33886
33887
33888
33889
33890
33891
33892
33893
33894
33895
33896
33897
33898
33899
33900
33901
33902
33903
33904
33905
33906
33907
33908
33909
33910
33911
33912
33913
33914
33915
33916
33917
33918
33919
33920
33921
33922
33923
33924
33925
33926
33927
33928
33929
33930
33931
33932
33933
33934
33935
33936
33937
33938
33939
33940
33941
33942
33943
33944
33945
33946
33947
33948
33949
33950
33951
33952
33953
33954
33955
33956
33957
33958
33959
33960
33961
33962
33963
33964
33965
33966
33967
33968
33969
33970
33971
33972
33973
33974
33975
33976
33977
33978
33979
33980
33981
33982
33983
33984
33985
33986
33987
33988
33989
33990
33991
33992
33993
33994
33995
33996
33997
33998
33999
34000
34001
34002
34003
34004
34005
34006
34007
34008
34009
34010
34011
34012
34013
34014
34015
34016
34017
34018
34019
34020
34021
34022
34023
34024
34025
34026
34027
34028
34029
34030
34031
34032
34033
34034
34035
34036
34037
34038
34039
34040
34041
34042
34043
34044
34045
34046
34047
34048
34049
34050
34051
34052
34053
34054
34055
34056
34057
34058
34059
34060
34061
34062
34063
34064
34065
34066
34067
34068
34069
34070
34071
34072
34073
34074
34075
34076
34077
34078
34079
34080
34081
34082
34083
34084
34085
34086
34087
34088
34089
34090
34091
34092
34093
34094
34095
34096
34097
34098
34099
34100
34101
34102
34103
34104
34105
34106
34107
34108
34109
34110
34111
34112
34113
34114
34115
34116
34117
34118
34119
34120
34121
34122
34123
34124
34125
34126
34127
34128
34129
34130
34131
34132
34133
34134
34135
34136
34137
34138
34139
34140
34141
34142
34143
34144
34145
34146
34147
34148
34149
34150
34151
34152
34153
34154
34155
34156
34157
34158
34159
34160
34161
34162
34163
34164
34165
34166
34167
34168
34169
34170
34171
34172
34173
34174
34175
34176
34177
34178
34179
34180
34181
34182
34183
34184
34185
34186
34187
34188
34189
34190
34191
34192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
34205
34206
34207
34208
34209
34210
34211
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221
34222
34223
34224
34225
34226
34227
34228
34229
34230
34231
34232
34233
34234
34235
34236
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246
34247
34248
34249
34250
34251
34252
34253
34254
34255
34256
34257
34258
34259
34260
34261
34262
34263
34264
34265
34266
34267
34268
34269
34270
34271
34272
34273
34274
34275
34276
34277
34278
34279
34280
34281
34282
34283
34284
34285
34286
34287
34288
34289
34290
34291
34292
34293
34294
34295
34296
34297
34298
34299
34300
34301
34302
34303
34304
34305
34306
34307
34308
34309
34310
34311
34312
34313
34314
34315
34316
34317
34318
34319
34320
34321
34322
34323
34324
34325
34326
34327
34328
34329
34330
34331
34332
34333
34334
34335
34336
34337
34338
34339
34340
34341
34342
34343
34344
34345
34346
34347
34348
34349
34350
34351
34352
34353
34354
34355
34356
34357
34358
34359
34360
34361
34362
34363
34364
34365
34366
34367
34368
34369
34370
34371
34372
34373
34374
34375
34376
34377
34378
34379
34380
34381
34382
34383
34384
34385
34386
34387
34388
34389
34390
34391
34392
34393
34394
34395
34396
34397
34398
34399
34400
34401
34402
34403
34404
34405
34406
34407
34408
34409
34410
34411
34412
34413
34414
34415
34416
34417
34418
34419
34420
34421
34422
34423
34424
34425
34426
34427
34428
34429
34430
34431
34432
34433
34434
34435
34436
34437
34438
34439
34440
34441
34442
34443
34444
34445
34446
34447
34448
34449
34450
34451
34452
34453
34454
34455
34456
34457
34458
34459
34460
34461
34462
34463
34464
34465
34466
34467
34468
34469
34470
34471
34472
34473
34474
34475
34476
34477
34478
34479
34480
34481
34482
34483
34484
34485
34486
34487
34488
34489
34490
34491
34492
34493
34494
34495
34496
34497
34498
34499
34500
34501
34502
34503
34504
34505
34506
34507
34508
34509
34510
34511
34512
34513
34514
34515
34516
34517
34518
34519
34520
34521
34522
34523
34524
34525
34526
34527
34528
34529
34530
34531
34532
34533
34534
34535
34536
34537
34538
34539
34540
34541
34542
34543
34544
34545
34546
34547
34548
34549
34550
34551
34552
34553
34554
34555
34556
34557
34558
34559
34560
34561
34562
34563
34564
34565
34566
34567
34568
34569
34570
34571
34572
34573
34574
34575
34576
34577
34578
34579
34580
34581
34582
34583
34584
34585
34586
34587
34588
34589
34590
34591
34592
34593
34594
34595
34596
34597
34598
34599
34600
34601
34602
34603
34604
34605
34606
34607
34608
34609
34610
34611
34612
34613
34614
34615
34616
34617
34618
34619
34620
34621
34622
34623
34624
34625
34626
34627
34628
34629
34630
34631
34632
34633
34634
34635
34636
34637
34638
34639
34640
34641
34642
34643
34644
34645
34646
34647
34648
34649
34650
34651
34652
34653
34654
34655
34656
34657
34658
34659
34660
34661
34662
34663
34664
34665
34666
34667
34668
34669
34670
34671
34672
34673
34674
34675
34676
34677
34678
34679
34680
34681
34682
34683
34684
34685
34686
34687
34688
34689
34690
34691
34692
34693
34694
34695
34696
34697
34698
34699
34700
34701
34702
34703
34704
34705
34706
34707
34708
34709
34710
34711
34712
34713
34714
34715
34716
34717
34718
34719
34720
34721
34722
34723
34724
34725
34726
34727
34728
34729
34730
34731
34732
34733
34734
34735
34736
34737
34738
34739
34740
34741
34742
34743
34744
34745
34746
34747
34748
34749
34750
34751
34752
34753
34754
34755
34756
34757
34758
34759
34760
34761
34762
34763
34764
34765
34766
34767
34768
34769
34770
34771
34772
34773
34774
34775
34776
34777
34778
34779
34780
34781
34782
34783
34784
34785
34786
34787
34788
34789
34790
34791
34792
34793
34794
34795
34796
34797
34798
34799
34800
34801
34802
34803
34804
34805
34806
34807
34808
34809
34810
34811
34812
34813
34814
34815
34816
34817
34818
34819
34820
34821
34822
34823
34824
34825
34826
34827
34828
34829
34830
34831
34832
34833
34834
34835
34836
34837
34838
34839
34840
34841
34842
34843
34844
34845
34846
34847
34848
34849
34850
34851
34852
34853
34854
34855
34856
34857
34858
34859
34860
34861
34862
34863
34864
34865
34866
34867
34868
34869
34870
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880
34881
34882
34883
34884
34885
34886
34887
34888
34889
34890
34891
34892
34893
34894
34895
34896
34897
34898
34899
34900
34901
34902
34903
34904
34905
34906
34907
34908
34909
34910
34911
34912
34913
34914
34915
34916
34917
34918
34919
34920
34921
34922
34923
34924
34925
34926
34927
34928
34929
34930
34931
34932
34933
34934
34935
34936
34937
34938
34939
34940
34941
34942
34943
34944
34945
34946
34947
34948
34949
34950
34951
34952
34953
34954
34955
34956
34957
34958
34959
34960
34961
34962
34963
34964
34965
34966
34967
34968
34969
34970
34971
34972
34973
34974
34975
34976
34977
34978
34979
34980
34981
34982
34983
34984
34985
34986
34987
34988
34989
34990
34991
34992
34993
34994
34995
34996
34997
34998
34999
35000
35001
35002
35003
35004
35005
35006
35007
35008
35009
35010
35011
35012
35013
35014
35015
35016
35017
35018
35019
35020
35021
35022
35023
35024
35025
35026
35027
35028
35029
35030
35031
35032
35033
35034
35035
35036
35037
35038
35039
35040
35041
35042
35043
35044
35045
35046
35047
35048
35049
35050
35051
35052
35053
35054
35055
35056
35057
35058
35059
35060
35061
35062
35063
35064
35065
35066
35067
35068
35069
35070
35071
35072
35073
35074
35075
35076
35077
35078
35079
35080
35081
35082
35083
35084
35085
35086
35087
35088
35089
35090
35091
35092
35093
35094
35095
35096
35097
35098
35099
35100
35101
35102
35103
35104
35105
35106
35107
35108
35109
35110
35111
35112
35113
35114
35115
35116
35117
35118
35119
35120
35121
35122
35123
35124
35125
35126
35127
35128
35129
35130
35131
35132
35133
35134
35135
35136
35137
35138
35139
35140
35141
35142
35143
35144
35145
35146
35147
35148
35149
35150
35151
35152
35153
35154
35155
35156
35157
35158
35159
35160
35161
35162
35163
35164
35165
35166
35167
35168
35169
35170
35171
35172
35173
35174
35175
35176
35177
35178
35179
35180
35181
35182
35183
35184
35185
35186
35187
35188
35189
35190
35191
35192
35193
35194
35195
35196
35197
35198
35199
35200
35201
35202
35203
35204
35205
35206
35207
35208
35209
35210
35211
35212
35213
35214
35215
35216
35217
35218
35219
35220
35221
35222
35223
35224
35225
35226
35227
35228
35229
35230
35231
35232
35233
35234
35235
35236
35237
35238
35239
35240
35241
35242
35243
35244
35245
35246
35247
35248
35249
35250
35251
35252
35253
35254
35255
35256
35257
35258
35259
35260
35261
35262
35263
35264
35265
35266
35267
35268
35269
35270
35271
35272
35273
35274
35275
35276
35277
35278
35279
35280
35281
35282
35283
35284
35285
35286
35287
35288
35289
35290
35291
35292
35293
35294
35295
35296
35297
35298
35299
35300
35301
35302
35303
35304
35305
35306
35307
35308
35309
35310
35311
35312
35313
35314
35315
35316
35317
35318
35319
35320
35321
35322
35323
35324
35325
35326
35327
35328
35329
35330
35331
35332
35333
35334
35335
35336
35337
35338
35339
35340
35341
35342
35343
35344
35345
35346
35347
35348
35349
35350
35351
35352
35353
35354
35355
35356
35357
35358
35359
35360
35361
35362
35363
35364
35365
35366
35367
35368
35369
35370
35371
35372
35373
35374
35375
35376
35377
35378
35379
35380
35381
35382
35383
35384
35385
35386
35387
35388
35389
35390
35391
35392
35393
35394
35395
35396
35397
35398
35399
35400
35401
35402
35403
35404
35405
35406
35407
35408
35409
35410
35411
35412
35413
35414
35415
35416
35417
35418
35419
35420
35421
35422
35423
35424
35425
35426
35427
35428
35429
35430
35431
35432
35433
35434
35435
35436
35437
35438
35439
35440
35441
35442
35443
35444
35445
35446
35447
35448
35449
35450
35451
35452
35453
35454
35455
35456
35457
35458
35459
35460
35461
35462
35463
35464
35465
35466
35467
35468
35469
35470
35471
35472
35473
35474
35475
35476
35477
35478
35479
35480
35481
35482
35483
35484
35485
35486
35487
35488
35489
35490
35491
35492
35493
35494
35495
35496
35497
35498
35499
35500
35501
35502
35503
35504
35505
35506
35507
35508
35509
35510
35511
35512
35513
35514
35515
35516
35517
35518
35519
35520
35521
35522
35523
35524
35525
35526
35527
35528
35529
35530
35531
35532
35533
35534
35535
35536
35537
35538
35539
35540
35541
35542
35543
35544
35545
35546
35547
35548
35549
35550
35551
35552
35553
35554
35555
35556
35557
35558
35559
35560
35561
35562
35563
35564
35565
35566
35567
35568
35569
35570
35571
35572
35573
35574
35575
35576
35577
35578
35579
35580
35581
35582
35583
35584
35585
35586
35587
35588
35589
35590
35591
35592
35593
35594
35595
35596
35597
35598
35599
35600
35601
35602
35603
35604
35605
35606
35607
35608
35609
35610
35611
35612
35613
35614
35615
35616
35617
35618
35619
35620
35621
35622
35623
35624
35625
35626
35627
35628
35629
35630
35631
35632
35633
35634
35635
35636
35637
35638
35639
35640
35641
35642
35643
35644
35645
35646
35647
35648
35649
35650
35651
35652
35653
35654
35655
35656
35657
35658
35659
35660
35661
35662
35663
35664
35665
35666
35667
35668
35669
35670
35671
35672
35673
35674
35675
35676
35677
35678
35679
35680
35681
35682
35683
35684
35685
35686
35687
35688
35689
35690
35691
35692
35693
35694
35695
35696
35697
35698
35699
35700
35701
35702
35703
35704
35705
35706
35707
35708
35709
35710
35711
35712
35713
35714
35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
35725
35726
35727
35728
35729
35730
35731
35732
35733
35734
35735
35736
35737
35738
35739
35740
35741
35742
35743
35744
35745
35746
35747
35748
35749
35750
35751
35752
35753
35754
35755
35756
35757
35758
35759
35760
35761
35762
35763
35764
35765
35766
35767
35768
35769
35770
35771
35772
35773
35774
35775
35776
35777
35778
35779
35780
35781
35782
35783
35784
35785
35786
35787
35788
35789
35790
35791
35792
35793
35794
35795
35796
35797
35798
35799
35800
35801
35802
35803
35804
35805
35806
35807
35808
35809
35810
35811
35812
35813
35814
35815
35816
35817
35818
35819
35820
35821
35822
35823
35824
35825
35826
35827
35828
35829
35830
35831
35832
35833
35834
35835
35836
35837
35838
35839
35840
35841
35842
35843
35844
35845
35846
35847
35848
35849
35850
35851
35852
35853
35854
35855
35856
35857
35858
35859
35860
35861
35862
35863
35864
35865
35866
35867
35868
35869
35870
35871
35872
35873
35874
35875
35876
35877
35878
35879
35880
35881
35882
35883
35884
35885
35886
35887
35888
35889
35890
35891
35892
35893
35894
35895
35896
35897
35898
35899
35900
35901
35902
35903
35904
35905
35906
35907
35908
35909
35910
35911
35912
35913
35914
35915
35916
35917
35918
35919
35920
35921
35922
35923
35924
35925
35926
35927
35928
35929
35930
35931
35932
35933
35934
35935
35936
35937
35938
35939
35940
35941
35942
35943
35944
35945
35946
35947
35948
35949
35950
35951
35952
35953
35954
35955
35956
35957
35958
35959
35960
35961
35962
35963
35964
35965
35966
35967
35968
35969
35970
35971
35972
35973
35974
35975
35976
35977
35978
35979
35980
35981
35982
35983
35984
35985
35986
35987
35988
35989
35990
35991
35992
35993
35994
35995
35996
35997
35998
35999
36000
36001
36002
36003
36004
36005
36006
36007
36008
36009
36010
36011
36012
36013
36014
36015
36016
36017
36018
36019
36020
36021
36022
36023
36024
36025
36026
36027
36028
36029
36030
36031
36032
36033
36034
36035
36036
36037
36038
36039
36040
36041
36042
36043
36044
36045
36046
36047
36048
36049
36050
36051
36052
36053
36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
36075
36076
36077
36078
36079
36080
36081
36082
36083
36084
36085
36086
36087
36088
36089
36090
36091
36092
36093
36094
36095
36096
36097
36098
36099
36100
36101
36102
36103
36104
36105
36106
36107
36108
36109
36110
36111
36112
36113
36114
36115
36116
36117
36118
36119
36120
36121
36122
36123
36124
36125
36126
36127
36128
36129
36130
36131
36132
36133
36134
36135
36136
36137
36138
36139
36140
36141
36142
36143
36144
36145
36146
36147
36148
36149
36150
36151
36152
36153
36154
36155
36156
36157
36158
36159
36160
36161
36162
36163
36164
36165
36166
36167
36168
36169
36170
36171
36172
36173
36174
36175
36176
36177
36178
36179
36180
36181
36182
36183
36184
36185
36186
36187
36188
36189
36190
36191
36192
36193
36194
36195
36196
36197
36198
36199
36200
36201
36202
36203
36204
36205
36206
36207
36208
36209
36210
36211
36212
36213
36214
36215
36216
36217
36218
36219
36220
36221
36222
36223
36224
36225
36226
36227
36228
36229
36230
36231
36232
36233
36234
36235
36236
36237
36238
36239
36240
36241
36242
36243
36244
36245
36246
36247
36248
36249
36250
36251
36252
36253
36254
36255
36256
36257
36258
36259
36260
36261
36262
36263
36264
36265
36266
36267
36268
36269
36270
36271
36272
36273
36274
36275
36276
36277
36278
36279
36280
36281
36282
36283
36284
36285
36286
36287
36288
36289
36290
36291
36292
36293
36294
36295
36296
36297
36298
36299
36300
36301
36302
36303
36304
36305
36306
36307
36308
36309
36310
36311
36312
36313
36314
36315
36316
36317
36318
36319
36320
36321
36322
36323
36324
36325
36326
36327
36328
36329
36330
36331
36332
36333
36334
36335
36336
36337
36338
36339
36340
36341
36342
36343
36344
36345
36346
36347
36348
36349
36350
36351
36352
36353
36354
36355
36356
36357
36358
36359
36360
36361
36362
36363
36364
36365
36366
36367
36368
36369
36370
36371
36372
36373
36374
36375
36376
36377
36378
36379
36380
36381
36382
36383
36384
36385
36386
36387
36388
36389
36390
36391
36392
36393
36394
36395
36396
36397
36398
36399
36400
36401
36402
36403
36404
36405
36406
36407
36408
36409
36410
36411
36412
36413
36414
36415
36416
36417
36418
36419
36420
36421
36422
36423
36424
36425
36426
36427
36428
36429
36430
36431
36432
36433
36434
36435
36436
36437
36438
36439
36440
36441
36442
36443
36444
36445
36446
36447
36448
36449
36450
36451
36452
36453
36454
36455
36456
36457
36458
36459
36460
36461
36462
36463
36464
36465
36466
36467
36468
36469
36470
36471
36472
36473
36474
36475
36476
36477
36478
36479
36480
36481
36482
36483
36484
36485
36486
36487
36488
36489
36490
36491
36492
36493
36494
36495
36496
36497
36498
36499
36500
36501
36502
36503
36504
36505
36506
36507
36508
36509
36510
36511
36512
36513
36514
36515
36516
36517
36518
36519
36520
36521
36522
36523
36524
36525
36526
36527
36528
36529
36530
36531
36532
36533
36534
36535
36536
36537
36538
36539
36540
36541
36542
36543
36544
36545
36546
36547
36548
36549
36550
36551
36552
36553
36554
36555
36556
36557
36558
36559
36560
36561
36562
36563
36564
36565
36566
36567
36568
36569
36570
36571
36572
36573
36574
36575
36576
36577
36578
36579
36580
36581
36582
36583
36584
36585
36586
36587
36588
36589
36590
36591
36592
36593
36594
36595
36596
36597
36598
36599
36600
36601
36602
36603
36604
36605
36606
36607
36608
36609
36610
36611
36612
36613
36614
36615
36616
36617
36618
36619
36620
36621
36622
36623
36624
36625
36626
36627
36628
36629
36630
36631
36632
36633
36634
36635
36636
36637
36638
36639
36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
36652
36653
36654
36655
36656
36657
36658
36659
36660
36661
36662
36663
36664
36665
36666
36667
36668
36669
36670
36671
36672
36673
36674
36675
36676
36677
36678
36679
36680
36681
36682
36683
36684
36685
36686
36687
36688
36689
36690
36691
36692
36693
36694
36695
36696
36697
36698
36699
36700
36701
36702
36703
36704
36705
36706
36707
36708
36709
36710
36711
36712
36713
36714
36715
36716
36717
36718
36719
36720
36721
36722
36723
36724
36725
36726
36727
36728
36729
36730
36731
36732
36733
36734
36735
36736
36737
36738
36739
36740
36741
36742
36743
36744
36745
36746
36747
36748
36749
36750
36751
36752
36753
36754
36755
36756
36757
36758
36759
36760
36761
36762
36763
36764
36765
36766
36767
36768
36769
36770
36771
36772
36773
36774
36775
36776
36777
36778
36779
36780
36781
36782
36783
36784
36785
36786
36787
36788
36789
36790
36791
36792
36793
36794
36795
36796
36797
36798
36799
36800
36801
36802
36803
36804
36805
36806
36807
36808
36809
36810
36811
36812
36813
36814
36815
36816
36817
36818
36819
36820
36821
36822
36823
36824
36825
36826
36827
36828
36829
36830
36831
36832
36833
36834
36835
36836
36837
36838
36839
36840
36841
36842
36843
36844
36845
36846
36847
36848
36849
36850
36851
36852
36853
36854
36855
36856
36857
36858
36859
36860
36861
36862
36863
36864
36865
36866
36867
36868
36869
36870
36871
36872
36873
36874
36875
36876
36877
36878
36879
36880
36881
36882
36883
36884
36885
36886
36887
36888
36889
36890
36891
36892
36893
36894
36895
36896
36897
36898
36899
36900
36901
36902
36903
36904
36905
36906
36907
36908
36909
36910
36911
36912
36913
36914
36915
36916
36917
36918
36919
36920
36921
36922
36923
36924
36925
36926
36927
36928
36929
36930
36931
36932
36933
36934
36935
36936
36937
36938
36939
36940
36941
36942
36943
36944
36945
36946
36947
36948
36949
36950
36951
36952
36953
36954
36955
36956
36957
36958
36959
36960
36961
36962
36963
36964
36965
36966
36967
36968
36969
36970
36971
36972
36973
36974
36975
36976
36977
36978
36979
36980
36981
36982
36983
36984
36985
36986
36987
36988
36989
36990
36991
36992
36993
36994
36995
36996
36997
36998
36999
37000
37001
37002
37003
37004
37005
37006
37007
37008
37009
37010
37011
37012
37013
37014
37015
37016
37017
37018
37019
37020
37021
37022
37023
37024
37025
37026
37027
37028
37029
37030
37031
37032
37033
37034
37035
37036
37037
37038
37039
37040
37041
37042
37043
37044
37045
37046
37047
37048
37049
37050
37051
37052
37053
37054
37055
37056
37057
37058
37059
37060
37061
37062
37063
37064
37065
37066
37067
37068
37069
37070
37071
37072
37073
37074
37075
37076
37077
37078
37079
37080
37081
37082
37083
37084
37085
37086
37087
37088
37089
37090
37091
37092
37093
37094
37095
37096
37097
37098
37099
37100
37101
37102
37103
37104
37105
37106
37107
37108
37109
37110
37111
37112
37113
37114
37115
37116
37117
37118
37119
37120
37121
37122
37123
37124
37125
37126
37127
37128
37129
37130
37131
37132
37133
37134
37135
37136
37137
37138
37139
37140
37141
37142
37143
37144
37145
37146
37147
37148
37149
37150
37151
37152
37153
37154
37155
37156
37157
37158
37159
37160
37161
37162
37163
37164
37165
37166
37167
37168
37169
37170
37171
37172
37173
37174
37175
37176
37177
37178
37179
37180
37181
37182
37183
37184
37185
37186
37187
37188
37189
37190
37191
37192
37193
37194
37195
37196
37197
37198
37199
37200
37201
37202
37203
37204
37205
37206
37207
37208
37209
37210
37211
37212
37213
37214
37215
37216
37217
37218
37219
37220
37221
37222
37223
37224
37225
37226
37227
37228
37229
37230
37231
37232
37233
37234
37235
37236
37237
37238
37239
37240
37241
37242
37243
37244
37245
37246
37247
37248
37249
37250
37251
37252
37253
37254
37255
37256
37257
37258
37259
37260
37261
37262
37263
37264
37265
37266
37267
37268
37269
37270
37271
37272
37273
37274
37275
37276
37277
37278
37279
37280
37281
37282
37283
37284
37285
37286
37287
37288
37289
37290
37291
37292
37293
37294
37295
37296
37297
37298
37299
37300
37301
37302
37303
37304
37305
37306
37307
37308
37309
37310
37311
37312
37313
37314
37315
37316
37317
37318
37319
37320
37321
37322
37323
37324
37325
37326
37327
37328
37329
37330
37331
37332
37333
37334
37335
37336
37337
37338
37339
37340
37341
37342
37343
37344
37345
37346
37347
37348
37349
37350
37351
37352
37353
37354
37355
37356
37357
37358
37359
37360
37361
37362
37363
37364
37365
37366
37367
37368
37369
37370
37371
37372
37373
37374
37375
37376
37377
37378
37379
37380
37381
37382
37383
37384
37385
37386
37387
37388
37389
37390
37391
37392
37393
37394
37395
37396
37397
37398
37399
37400
37401
37402
37403
37404
37405
37406
37407
37408
37409
37410
37411
37412
37413
37414
37415
37416
37417
37418
37419
37420
37421
37422
37423
37424
37425
37426
37427
37428
37429
37430
37431
37432
37433
37434
37435
37436
37437
37438
37439
37440
37441
37442
37443
37444
37445
37446
37447
37448
37449
37450
37451
37452
37453
37454
37455
37456
37457
37458
37459
37460
37461
37462
37463
37464
37465
37466
37467
37468
37469
37470
37471
37472
37473
37474
37475
37476
37477
37478
37479
37480
37481
37482
37483
37484
37485
37486
37487
37488
37489
37490
37491
37492
37493
37494
37495
37496
37497
37498
37499
37500
37501
37502
37503
37504
37505
37506
37507
37508
37509
37510
37511
37512
37513
37514
37515
37516
37517
37518
37519
37520
37521
37522
37523
37524
37525
37526
37527
37528
37529
37530
37531
37532
37533
37534
37535
37536
37537
37538
37539
37540
37541
37542
37543
37544
37545
37546
37547
37548
37549
37550
37551
37552
37553
37554
37555
37556
37557
37558
37559
37560
37561
37562
37563
37564
37565
37566
37567
37568
37569
37570
37571
37572
37573
37574
37575
37576
37577
37578
37579
37580
37581
37582
37583
37584
37585
37586
37587
37588
37589
37590
37591
37592
37593
37594
37595
37596
37597
37598
37599
37600
37601
37602
37603
37604
37605
37606
37607
37608
37609
37610
37611
37612
37613
37614
37615
37616
37617
37618
37619
37620
37621
37622
37623
37624
37625
37626
37627
37628
37629
37630
37631
37632
37633
37634
37635
37636
37637
37638
37639
37640
37641
37642
37643
37644
37645
37646
37647
37648
37649
37650
37651
37652
37653
37654
37655
37656
37657
37658
37659
37660
37661
37662
37663
37664
37665
37666
37667
37668
37669
37670
37671
37672
37673
37674
37675
37676
37677
37678
37679
37680
37681
37682
37683
37684
37685
37686
37687
37688
37689
37690
37691
37692
37693
37694
37695
37696
37697
37698
37699
37700
37701
37702
37703
37704
37705
37706
37707
37708
37709
37710
37711
37712
37713
37714
37715
37716
37717
37718
37719
37720
37721
37722
37723
37724
37725
37726
37727
37728
37729
37730
37731
37732
37733
37734
37735
37736
37737
37738
37739
37740
37741
37742
37743
37744
37745
37746
37747
37748
37749
37750
37751
37752
37753
37754
37755
37756
37757
37758
37759
37760
37761
37762
37763
37764
37765
37766
37767
37768
37769
37770
37771
37772
37773
37774
37775
37776
37777
37778
37779
37780
37781
37782
37783
37784
37785
37786
37787
37788
37789
37790
37791
37792
37793
37794
37795
37796
37797
37798
37799
37800
37801
37802
37803
37804
37805
37806
37807
37808
37809
37810
37811
37812
37813
37814
37815
37816
37817
37818
37819
37820
37821
37822
37823
37824
37825
37826
37827
37828
37829
37830
37831
37832
37833
37834
37835
37836
37837
37838
37839
37840
37841
37842
37843
37844
37845
37846
37847
37848
37849
37850
37851
37852
37853
37854
37855
37856
37857
37858
37859
37860
37861
37862
37863
37864
37865
37866
37867
37868
37869
37870
37871
37872
37873
37874
37875
37876
37877
37878
37879
37880
37881
37882
37883
37884
37885
37886
37887
37888
37889
37890
37891
37892
37893
37894
37895
37896
37897
37898
37899
37900
37901
37902
37903
37904
37905
37906
37907
37908
37909
37910
37911
37912
37913
37914
37915
37916
37917
37918
37919
37920
37921
37922
37923
37924
37925
37926
37927
37928
37929
37930
37931
37932
37933
37934
37935
37936
37937
37938
37939
37940
37941
37942
37943
37944
37945
37946
37947
37948
37949
37950
37951
37952
37953
37954
37955
37956
37957
37958
37959
37960
37961
37962
37963
37964
37965
37966
37967
37968
37969
37970
37971
37972
37973
37974
37975
37976
37977
37978
37979
37980
37981
37982
37983
37984
37985
37986
37987
37988
37989
37990
37991
37992
37993
37994
37995
37996
37997
37998
37999
38000
38001
38002
38003
38004
38005
38006
38007
38008
38009
38010
38011
38012
38013
38014
38015
38016
38017
38018
38019
38020
38021
38022
38023
38024
38025
38026
38027
38028
38029
38030
38031
38032
38033
38034
38035
38036
38037
38038
38039
38040
38041
38042
38043
38044
38045
38046
38047
38048
38049
38050
38051
38052
38053
38054
38055
38056
38057
38058
38059
38060
38061
38062
38063
38064
38065
38066
38067
38068
38069
38070
38071
38072
38073
38074
38075
38076
38077
38078
38079
38080
38081
38082
38083
38084
38085
38086
38087
38088
38089
38090
38091
38092
38093
38094
38095
38096
38097
38098
38099
38100
38101
38102
38103
38104
38105
38106
38107
38108
38109
38110
38111
38112
38113
38114
38115
38116
38117
38118
38119
38120
38121
38122
38123
38124
38125
38126
38127
38128
38129
38130
38131
38132
38133
38134
38135
38136
38137
38138
38139
38140
38141
38142
38143
38144
38145
38146
38147
38148
38149
38150
38151
38152
38153
38154
38155
38156
38157
38158
38159
38160
38161
38162
38163
38164
38165
38166
38167
38168
38169
38170
38171
38172
38173
38174
38175
38176
38177
38178
38179
38180
38181
38182
38183
38184
38185
38186
38187
38188
38189
38190
38191
38192
38193
38194
38195
38196
38197
38198
38199
38200
38201
38202
38203
38204
38205
38206
38207
38208
38209
38210
38211
38212
38213
38214
38215
38216
38217
38218
38219
38220
38221
38222
38223
38224
38225
38226
38227
38228
38229
38230
38231
38232
38233
38234
38235
38236
38237
38238
38239
38240
38241
38242
38243
38244
38245
38246
38247
38248
38249
38250
38251
38252
38253
38254
38255
38256
38257
38258
38259
38260
38261
38262
38263
38264
38265
38266
38267
38268
38269
38270
38271
38272
38273
38274
38275
38276
38277
38278
38279
38280
38281
38282
38283
38284
38285
38286
38287
38288
38289
38290
38291
38292
38293
38294
38295
38296
38297
38298
38299
38300
38301
38302
38303
38304
38305
38306
38307
38308
38309
38310
38311
38312
38313
38314
38315
38316
38317
38318
38319
38320
38321
38322
38323
38324
38325
38326
38327
38328
38329
38330
38331
38332
38333
38334
38335
38336
38337
38338
38339
38340
38341
38342
38343
38344
38345
38346
38347
38348
38349
38350
38351
38352
38353
38354
38355
38356
38357
38358
38359
38360
38361
38362
38363
38364
38365
38366
38367
38368
38369
38370
38371
38372
38373
38374
38375
38376
38377
38378
38379
38380
38381
38382
38383
38384
38385
38386
38387
38388
38389
38390
38391
38392
38393
38394
38395
38396
38397
38398
38399
38400
38401
38402
38403
38404
38405
38406
38407
38408
38409
38410
38411
38412
38413
38414
38415
38416
38417
38418
38419
38420
38421
38422
38423
38424
38425
38426
38427
38428
38429
38430
38431
38432
38433
38434
38435
38436
38437
38438
38439
38440
38441
38442
38443
38444
38445
38446
38447
38448
38449
38450
38451
38452
38453
38454
38455
38456
38457
38458
38459
38460
38461
38462
38463
38464
38465
38466
38467
38468
38469
38470
38471
38472
38473
38474
38475
38476
38477
38478
38479
38480
38481
38482
38483
38484
38485
38486
38487
38488
38489
38490
38491
38492
38493
38494
38495
38496
38497
38498
38499
38500
38501
38502
38503
38504
38505
38506
38507
38508
38509
38510
38511
38512
38513
38514
38515
38516
38517
38518
38519
38520
38521
38522
38523
38524
38525
38526
38527
38528
38529
38530
38531
38532
38533
38534
38535
38536
38537
38538
38539
38540
38541
38542
38543
38544
38545
38546
38547
38548
38549
38550
38551
38552
38553
38554
38555
38556
38557
38558
38559
38560
38561
38562
38563
38564
38565
38566
38567
38568
38569
38570
38571
38572
38573
38574
38575
38576
38577
38578
38579
38580
38581
38582
38583
38584
38585
38586
38587
38588
38589
38590
38591
38592
38593
38594
38595
38596
38597
38598
38599
38600
38601
38602
38603
38604
38605
38606
38607
38608
38609
38610
38611
38612
38613
38614
38615
38616
38617
38618
38619
38620
38621
38622
38623
38624
38625
38626
38627
38628
38629
38630
38631
38632
38633
38634
38635
38636
38637
38638
38639
38640
38641
38642
38643
38644
38645
38646
38647
38648
38649
38650
38651
38652
38653
38654
38655
38656
38657
38658
38659
38660
38661
38662
38663
38664
38665
38666
38667
38668
38669
38670
38671
38672
38673
38674
38675
38676
38677
38678
38679
38680
38681
38682
38683
38684
38685
38686
38687
38688
38689
38690
38691
38692
38693
38694
38695
38696
38697
38698
38699
38700
38701
38702
38703
38704
38705
38706
38707
38708
38709
38710
38711
38712
38713
38714
38715
38716
38717
38718
38719
38720
38721
38722
38723
38724
38725
38726
38727
38728
38729
38730
38731
38732
38733
38734
38735
38736
38737
38738
38739
38740
38741
38742
38743
38744
38745
38746
38747
38748
38749
38750
38751
38752
38753
38754
38755
38756
38757
38758
38759
38760
38761
38762
38763
38764
38765
38766
38767
38768
38769
38770
38771
38772
38773
38774
38775
38776
38777
38778
38779
38780
38781
38782
38783
38784
38785
38786
38787
38788
38789
38790
38791
38792
38793
38794
38795
38796
38797
38798
38799
38800
38801
38802
38803
38804
38805
38806
38807
38808
38809
38810
38811
38812
38813
38814
38815
38816
38817
38818
38819
38820
38821
38822
38823
38824
38825
38826
38827
38828
38829
38830
38831
38832
38833
38834
38835
38836
38837
38838
38839
38840
38841
38842
38843
38844
38845
38846
38847
38848
38849
38850
38851
38852
38853
38854
38855
38856
38857
38858
38859
38860
38861
38862
38863
38864
38865
38866
38867
38868
38869
38870
38871
38872
38873
38874
38875
38876
38877
38878
38879
38880
38881
38882
38883
38884
38885
38886
38887
38888
38889
38890
38891
38892
38893
38894
38895
38896
38897
38898
38899
38900
38901
38902
38903
38904
38905
38906
38907
38908
38909
38910
38911
38912
38913
38914
38915
38916
38917
38918
38919
38920
38921
38922
38923
38924
38925
38926
38927
38928
38929
38930
38931
38932
38933
38934
38935
38936
38937
38938
38939
38940
38941
38942
38943
38944
38945
38946
38947
38948
38949
38950
38951
38952
38953
38954
38955
38956
38957
38958
38959
38960
38961
38962
38963
38964
38965
38966
38967
38968
38969
38970
38971
38972
38973
38974
38975
38976
38977
38978
38979
38980
38981
38982
38983
38984
38985
38986
38987
38988
38989
38990
38991
38992
38993
38994
38995
38996
38997
38998
38999
39000
39001
39002
39003
39004
39005
39006
39007
39008
39009
39010
39011
39012
39013
39014
39015
39016
39017
39018
39019
39020
39021
39022
39023
39024
39025
39026
39027
39028
39029
39030
39031
39032
39033
39034
39035
39036
39037
39038
39039
39040
39041
39042
39043
39044
39045
39046
39047
39048
39049
39050
39051
39052
39053
39054
39055
39056
39057
39058
39059
39060
39061
39062
39063
39064
39065
39066
39067
39068
39069
39070
39071
39072
39073
39074
39075
39076
39077
39078
39079
39080
39081
39082
39083
39084
39085
39086
39087
39088
39089
39090
39091
39092
39093
39094
39095
39096
39097
39098
39099
39100
39101
39102
39103
39104
39105
39106
39107
39108
39109
39110
39111
39112
39113
39114
39115
39116
39117
39118
39119
39120
39121
39122
39123
39124
39125
39126
39127
39128
39129
39130
39131
39132
39133
39134
39135
39136
39137
39138
39139
39140
39141
39142
39143
39144
39145
39146
39147
39148
39149
39150
39151
39152
39153
39154
39155
39156
39157
39158
39159
39160
39161
39162
39163
39164
39165
39166
39167
39168
39169
39170
39171
39172
39173
39174
39175
39176
39177
39178
39179
39180
39181
39182
39183
39184
39185
39186
39187
39188
39189
39190
39191
39192
39193
39194
39195
39196
39197
39198
39199
39200
39201
39202
39203
39204
39205
39206
39207
39208
39209
39210
39211
39212
39213
39214
39215
39216
39217
39218
39219
39220
39221
39222
39223
39224
39225
39226
39227
39228
39229
39230
39231
39232
39233
39234
39235
39236
39237
39238
39239
39240
39241
39242
39243
39244
39245
39246
39247
39248
39249
39250
39251
39252
39253
39254
39255
39256
39257
39258
39259
39260
39261
39262
39263
39264
39265
39266
39267
39268
39269
39270
39271
39272
39273
39274
39275
39276
39277
39278
39279
39280
39281
39282
39283
39284
39285
39286
39287
39288
39289
39290
39291
39292
39293
39294
39295
39296
39297
39298
39299
39300
39301
39302
39303
39304
39305
39306
39307
39308
39309
39310
39311
39312
39313
39314
39315
39316
39317
39318
39319
39320
39321
39322
39323
39324
39325
39326
39327
39328
39329
39330
39331
39332
39333
39334
39335
39336
39337
39338
39339
39340
39341
39342
39343
39344
39345
39346
39347
39348
39349
39350
39351
39352
39353
39354
39355
39356
39357
39358
39359
39360
39361
39362
39363
39364
39365
39366
39367
39368
39369
39370
39371
39372
39373
39374
39375
39376
39377
39378
39379
39380
39381
39382
39383
39384
39385
39386
39387
39388
39389
39390
39391
39392
39393
39394
39395
39396
39397
39398
39399
39400
39401
39402
39403
39404
39405
39406
39407
39408
39409
39410
39411
39412
39413
39414
39415
39416
39417
39418
39419
39420
39421
39422
39423
39424
39425
39426
39427
39428
39429
39430
39431
39432
39433
39434
39435
39436
39437
39438
39439
39440
39441
39442
39443
39444
39445
39446
39447
39448
39449
39450
39451
39452
39453
39454
39455
39456
39457
39458
39459
39460
39461
39462
39463
39464
39465
39466
39467
39468
39469
39470
39471
39472
39473
39474
39475
39476
39477
39478
39479
39480
39481
39482
39483
39484
39485
39486
39487
39488
39489
39490
39491
39492
39493
39494
39495
39496
39497
39498
39499
39500
39501
39502
39503
39504
39505
39506
39507
39508
39509
39510
39511
39512
39513
39514
39515
39516
39517
39518
39519
39520
39521
39522
39523
39524
39525
39526
39527
39528
39529
39530
39531
39532
39533
39534
39535
39536
39537
39538
39539
39540
39541
39542
39543
39544
39545
39546
39547
39548
39549
39550
39551
39552
39553
39554
39555
39556
39557
39558
39559
39560
39561
39562
39563
39564
39565
39566
39567
39568
39569
39570
39571
39572
39573
39574
39575
39576
39577
39578
39579
39580
39581
39582
39583
39584
39585
39586
39587
39588
39589
39590
39591
39592
39593
39594
39595
39596
39597
39598
39599
39600
39601
39602
39603
39604
39605
39606
39607
39608
39609
39610
39611
39612
39613
39614
39615
39616
39617
39618
39619
39620
39621
39622
39623
39624
39625
39626
39627
39628
39629
39630
39631
39632
39633
39634
39635
39636
39637
39638
39639
39640
39641
39642
39643
39644
39645
39646
39647
39648
39649
39650
39651
39652
39653
39654
39655
39656
39657
39658
39659
39660
39661
39662
39663
39664
39665
39666
39667
39668
39669
39670
39671
39672
39673
39674
39675
39676
39677
39678
39679
39680
39681
39682
39683
39684
39685
39686
39687
39688
39689
39690
39691
39692
39693
39694
39695
39696
39697
39698
39699
39700
39701
39702
39703
39704
39705
39706
39707
39708
39709
39710
39711
39712
39713
39714
39715
39716
39717
39718
39719
39720
39721
39722
39723
39724
39725
39726
39727
39728
39729
39730
39731
39732
39733
39734
39735
39736
39737
39738
39739
39740
39741
39742
39743
39744
39745
39746
39747
39748
39749
39750
39751
39752
39753
39754
39755
39756
39757
39758
39759
39760
39761
39762
39763
39764
39765
39766
39767
39768
39769
39770
39771
39772
39773
39774
39775
39776
39777
39778
39779
39780
39781
39782
39783
39784
39785
39786
39787
39788
39789
39790
39791
39792
39793
39794
39795
39796
39797
39798
39799
39800
39801
39802
39803
39804
39805
39806
39807
39808
39809
39810
39811
39812
39813
39814
39815
39816
39817
39818
39819
39820
39821
39822
39823
39824
39825
39826
39827
39828
39829
39830
39831
39832
39833
39834
39835
39836
39837
39838
39839
39840
39841
39842
39843
39844
39845
39846
39847
39848
39849
39850
39851
39852
39853
39854
39855
39856
39857
39858
39859
39860
39861
39862
39863
39864
39865
39866
39867
39868
39869
39870
39871
39872
39873
39874
39875
39876
39877
39878
39879
39880
39881
39882
39883
39884
39885
39886
39887
39888
39889
39890
39891
39892
39893
39894
39895
39896
39897
39898
39899
39900
39901
39902
39903
39904
39905
39906
39907
39908
39909
39910
39911
39912
39913
39914
39915
39916
39917
39918
39919
39920
39921
39922
39923
39924
39925
39926
39927
39928
39929
39930
39931
39932
39933
39934
39935
39936
39937
39938
39939
39940
39941
39942
39943
39944
39945
39946
39947
39948
39949
39950
39951
39952
39953
39954
39955
39956
39957
39958
39959
39960
39961
39962
39963
39964
39965
39966
39967
39968
39969
39970
39971
39972
39973
39974
39975
39976
39977
39978
39979
39980
39981
39982
39983
39984
39985
39986
39987
39988
39989
39990
39991
39992
39993
39994
39995
39996
39997
39998
39999
40000
40001
40002
40003
40004
40005
40006
40007
40008
40009
40010
40011
40012
40013
40014
40015
40016
40017
40018
40019
40020
40021
40022
40023
40024
40025
40026
40027
40028
40029
40030
40031
40032
40033
40034
40035
40036
40037
40038
40039
40040
40041
40042
40043
40044
40045
40046
40047
40048
40049
40050
40051
40052
40053
40054
40055
40056
40057
40058
40059
40060
40061
40062
40063
40064
40065
40066
40067
40068
40069
40070
40071
40072
40073
40074
40075
40076
40077
40078
40079
40080
40081
40082
40083
40084
40085
40086
40087
40088
40089
40090
40091
40092
40093
40094
40095
40096
40097
40098
40099
40100
40101
40102
40103
40104
40105
40106
40107
40108
40109
40110
40111
40112
40113
40114
40115
40116
40117
40118
40119
40120
40121
40122
40123
40124
40125
40126
40127
40128
40129
40130
40131
40132
40133
40134
40135
40136
40137
40138
40139
40140
40141
40142
40143
40144
40145
40146
40147
40148
40149
40150
40151
40152
40153
40154
40155
40156
40157
40158
40159
40160
40161
40162
40163
40164
40165
40166
40167
40168
40169
40170
40171
40172
40173
40174
40175
40176
40177
40178
40179
40180
40181
40182
40183
40184
40185
40186
40187
40188
40189
40190
40191
40192
40193
40194
40195
40196
40197
40198
40199
40200
40201
40202
40203
40204
40205
40206
40207
40208
40209
40210
40211
40212
40213
40214
40215
40216
40217
40218
40219
40220
40221
40222
40223
40224
40225
40226
40227
40228
40229
40230
40231
40232
40233
40234
40235
40236
40237
40238
40239
40240
40241
40242
40243
40244
40245
40246
40247
40248
40249
40250
40251
40252
40253
40254
40255
40256
40257
40258
40259
40260
40261
40262
40263
40264
40265
40266
40267
40268
40269
40270
40271
40272
40273
40274
40275
40276
40277
40278
40279
40280
40281
40282
40283
40284
40285
40286
40287
40288
40289
40290
40291
40292
40293
40294
40295
40296
40297
40298
40299
40300
40301
40302
40303
40304
40305
40306
40307
40308
40309
40310
40311
40312
40313
40314
40315
40316
40317
40318
40319
40320
40321
40322
40323
40324
40325
40326
40327
40328
40329
40330
40331
40332
40333
40334
40335
40336
40337
40338
40339
40340
40341
40342
40343
40344
40345
40346
40347
40348
40349
40350
40351
40352
40353
40354
40355
40356
40357
40358
40359
40360
40361
40362
40363
40364
40365
40366
40367
40368
40369
40370
40371
40372
40373
40374
40375
40376
40377
40378
40379
40380
40381
40382
40383
40384
40385
40386
40387
40388
40389
40390
40391
40392
40393
40394
40395
40396
40397
40398
40399
40400
40401
40402
40403
40404
40405
40406
40407
40408
40409
40410
40411
40412
40413
40414
40415
40416
40417
40418
40419
40420
40421
40422
40423
40424
40425
40426
40427
40428
40429
40430
40431
40432
40433
40434
40435
40436
40437
40438
40439
40440
40441
40442
40443
40444
40445
40446
40447
40448
40449
40450
40451
40452
40453
40454
40455
40456
40457
40458
40459
40460
40461
40462
40463
40464
40465
40466
40467
40468
40469
40470
40471
40472
40473
40474
40475
40476
40477
40478
40479
40480
40481
40482
40483
40484
40485
40486
40487
40488
40489
40490
40491
40492
40493
40494
40495
40496
40497
40498
40499
40500
40501
40502
40503
40504
40505
40506
40507
40508
40509
40510
40511
40512
40513
40514
40515
40516
40517
40518
40519
40520
40521
40522
40523
40524
40525
40526
40527
40528
40529
40530
40531
40532
40533
40534
40535
40536
40537
40538
40539
40540
40541
40542
40543
40544
40545
40546
40547
40548
40549
40550
40551
40552
40553
40554
40555
40556
40557
40558
40559
40560
40561
40562
40563
40564
40565
40566
40567
40568
40569
40570
40571
40572
40573
40574
40575
40576
40577
40578
40579
40580
40581
40582
40583
40584
40585
40586
40587
40588
40589
40590
40591
40592
40593
40594
40595
40596
40597
40598
40599
40600
40601
40602
40603
40604
40605
40606
40607
40608
40609
40610
40611
40612
40613
40614
40615
40616
40617
40618
40619
40620
40621
40622
40623
40624
40625
40626
40627
40628
40629
40630
40631
40632
40633
40634
40635
40636
40637
40638
40639
40640
40641
40642
40643
40644
40645
40646
40647
40648
40649
40650
40651
40652
40653
40654
40655
40656
40657
40658
40659
40660
40661
40662
40663
40664
40665
40666
40667
40668
40669
40670
40671
40672
40673
40674
40675
40676
40677
40678
40679
40680
40681
40682
40683
40684
40685
40686
40687
40688
40689
40690
40691
40692
40693
40694
40695
40696
40697
40698
40699
40700
40701
40702
40703
40704
40705
40706
40707
40708
40709
40710
40711
40712
40713
40714
40715
40716
40717
40718
40719
40720
40721
40722
40723
40724
40725
40726
40727
40728
40729
40730
40731
40732
40733
40734
40735
40736
40737
40738
40739
40740
40741
40742
40743
40744
40745
40746
40747
40748
40749
40750
40751
40752
40753
40754
40755
40756
40757
40758
40759
40760
40761
40762
40763
40764
40765
40766
40767
40768
40769
40770
40771
40772
40773
40774
40775
40776
40777
40778
40779
40780
40781
40782
40783
40784
40785
40786
40787
40788
40789
40790
40791
40792
40793
40794
40795
40796
40797
40798
40799
40800
40801
40802
40803
40804
40805
40806
40807
40808
40809
40810
40811
40812
40813
40814
40815
40816
40817
40818
40819
40820
40821
40822
40823
40824
40825
40826
40827
40828
40829
40830
40831
40832
40833
40834
40835
40836
40837
40838
40839
40840
40841
40842
40843
40844
40845
40846
40847
40848
40849
40850
40851
40852
40853
40854
40855
40856
40857
40858
40859
40860
40861
40862
40863
40864
40865
40866
40867
40868
40869
40870
40871
40872
40873
40874
40875
40876
40877
40878
40879
40880
40881
40882
40883
40884
40885
40886
40887
40888
40889
40890
40891
40892
40893
40894
40895
40896
40897
40898
40899
40900
40901
40902
40903
40904
40905
40906
40907
40908
40909
40910
40911
40912
40913
40914
40915
40916
40917
40918
40919
40920
40921
40922
40923
40924
40925
40926
40927
40928
40929
40930
40931
40932
40933
40934
40935
40936
40937
40938
40939
40940
40941
40942
40943
40944
40945
40946
40947
40948
40949
40950
40951
40952
40953
40954
40955
40956
40957
40958
40959
40960
40961
40962
40963
40964
40965
40966
40967
40968
40969
40970
40971
40972
40973
40974
40975
40976
40977
40978
40979
40980
40981
40982
40983
40984
40985
40986
40987
40988
40989
40990
40991
40992
40993
40994
40995
40996
40997
40998
40999
41000
41001
41002
41003
41004
41005
41006
41007
41008
41009
41010
41011
41012
41013
41014
41015
41016
41017
41018
41019
41020
41021
41022
41023
41024
41025
41026
41027
41028
41029
41030
41031
41032
41033
41034
41035
41036
41037
41038
41039
41040
41041
41042
41043
41044
41045
41046
41047
41048
41049
41050
41051
41052
41053
41054
41055
41056
41057
41058
41059
41060
41061
41062
41063
41064
41065
41066
41067
41068
41069
41070
41071
41072
41073
41074
41075
41076
41077
41078
41079
41080
41081
41082
41083
41084
41085
41086
41087
41088
41089
41090
41091
41092
41093
41094
41095
41096
41097
41098
41099
41100
41101
41102
41103
41104
41105
41106
41107
41108
41109
41110
41111
41112
41113
41114
41115
41116
41117
41118
41119
41120
41121
41122
41123
41124
41125
41126
41127
41128
41129
41130
41131
41132
41133
41134
41135
41136
41137
41138
41139
41140
41141
41142
41143
41144
41145
41146
41147
41148
41149
41150
41151
41152
41153
41154
41155
41156
41157
41158
41159
41160
41161
41162
41163
41164
41165
41166
41167
41168
41169
41170
41171
41172
41173
41174
41175
41176
41177
41178
41179
41180
41181
41182
41183
41184
41185
41186
41187
41188
41189
41190
41191
41192
41193
41194
41195
41196
41197
41198
41199
41200
41201
41202
41203
41204
41205
41206
41207
41208
41209
41210
41211
41212
41213
41214
41215
41216
41217
41218
41219
41220
41221
41222
41223
41224
41225
41226
41227
41228
41229
41230
41231
41232
41233
41234
41235
41236
41237
41238
41239
41240
41241
41242
41243
41244
41245
41246
41247
41248
41249
41250
41251
41252
41253
41254
41255
41256
41257
41258
41259
41260
41261
41262
41263
41264
41265
41266
41267
41268
41269
41270
41271
41272
41273
41274
41275
41276
41277
41278
41279
41280
41281
41282
41283
41284
41285
41286
41287
41288
41289
41290
41291
41292
41293
41294
41295
41296
41297
41298
41299
41300
41301
41302
41303
41304
41305
41306
41307
41308
41309
41310
41311
41312
41313
41314
41315
41316
41317
41318
41319
41320
41321
41322
41323
41324
41325
41326
41327
41328
41329
41330
41331
41332
41333
41334
41335
41336
41337
41338
41339
41340
41341
41342
41343
41344
41345
41346
41347
41348
41349
41350
41351
41352
41353
41354
41355
41356
41357
41358
41359
41360
41361
41362
41363
41364
41365
41366
41367
41368
41369
41370
41371
41372
41373
41374
41375
41376
41377
41378
41379
41380
41381
41382
41383
41384
41385
41386
41387
41388
41389
41390
41391
41392
41393
41394
41395
41396
41397
41398
41399
41400
41401
41402
41403
41404
41405
41406
41407
41408
41409
41410
41411
41412
41413
41414
41415
41416
41417
41418
41419
41420
41421
41422
41423
41424
41425
41426
41427
41428
41429
41430
41431
41432
41433
41434
41435
41436
41437
41438
41439
41440
41441
41442
41443
41444
41445
41446
41447
41448
41449
41450
41451
41452
41453
41454
41455
41456
41457
41458
41459
41460
41461
41462
41463
41464
41465
41466
41467
41468
41469
41470
41471
41472
41473
41474
41475
41476
41477
41478
41479
41480
41481
41482
41483
41484
41485
41486
41487
41488
41489
41490
41491
41492
41493
41494
41495
41496
41497
41498
41499
41500
41501
41502
41503
41504
41505
41506
41507
41508
41509
41510
41511
41512
41513
41514
41515
41516
41517
41518
41519
41520
41521
41522
41523
41524
41525
41526
41527
41528
41529
41530
41531
41532
41533
41534
41535
41536
41537
41538
41539
41540
41541
41542
41543
41544
41545
41546
41547
41548
41549
41550
41551
41552
41553
41554
41555
41556
41557
41558
41559
41560
41561
41562
41563
41564
41565
41566
41567
41568
41569
41570
41571
41572
41573
41574
41575
41576
41577
41578
41579
41580
41581
41582
41583
41584
41585
41586
41587
41588
41589
41590
41591
41592
41593
41594
41595
41596
41597
41598
41599
41600
41601
41602
41603
41604
41605
41606
41607
41608
41609
41610
41611
41612
41613
41614
41615
41616
41617
41618
41619
41620
41621
41622
41623
41624
41625
41626
41627
41628
41629
41630
41631
41632
41633
41634
41635
41636
41637
41638
41639
41640
41641
41642
41643
41644
41645
41646
41647
41648
41649
41650
41651
41652
41653
41654
41655
41656
41657
41658
41659
41660
41661
41662
41663
41664
41665
41666
41667
41668
41669
41670
41671
41672
41673
41674
41675
41676
41677
41678
41679
41680
41681
41682
41683
41684
41685
41686
41687
41688
41689
41690
41691
41692
41693
41694
41695
41696
41697
41698
41699
41700
41701
41702
41703
41704
41705
41706
41707
41708
41709
41710
41711
41712
41713
41714
41715
41716
41717
41718
41719
41720
41721
41722
41723
41724
41725
41726
41727
41728
41729
41730
41731
41732
41733
41734
41735
41736
41737
41738
41739
41740
41741
41742
41743
41744
41745
41746
41747
41748
41749
41750
41751
41752
41753
41754
41755
41756
41757
41758
41759
41760
41761
41762
41763
41764
41765
41766
41767
41768
41769
41770
41771
41772
41773
41774
41775
41776
41777
41778
41779
41780
41781
41782
41783
41784
41785
41786
41787
41788
41789
41790
41791
41792
41793
41794
41795
41796
41797
41798
41799
41800
41801
41802
41803
41804
41805
41806
41807
41808
41809
41810
41811
41812
41813
41814
41815
41816
41817
41818
41819
41820
41821
41822
41823
41824
41825
41826
41827
41828
41829
41830
41831
41832
41833
41834
41835
41836
41837
41838
41839
41840
41841
41842
41843
41844
41845
41846
41847
41848
41849
41850
41851
41852
41853
41854
41855
41856
41857
41858
41859
41860
41861
41862
41863
41864
41865
41866
41867
41868
41869
41870
41871
41872
41873
41874
41875
41876
41877
41878
41879
41880
41881
41882
41883
41884
41885
41886
41887
41888
41889
41890
41891
41892
41893
41894
41895
41896
41897
41898
41899
41900
41901
41902
41903
41904
41905
41906
41907
41908
41909
41910
41911
41912
41913
41914
41915
41916
41917
41918
41919
41920
41921
41922
41923
41924
41925
41926
41927
41928
41929
41930
41931
41932
41933
41934
41935
41936
41937
41938
41939
41940
41941
41942
41943
41944
41945
41946
41947
41948
41949
41950
41951
41952
41953
41954
41955
41956
41957
41958
41959
41960
41961
41962
41963
41964
41965
41966
41967
41968
41969
41970
41971
41972
41973
41974
41975
41976
41977
41978
41979
41980
41981
41982
41983
41984
41985
41986
41987
41988
41989
41990
41991
41992
41993
41994
41995
41996
41997
41998
41999
42000
42001
42002
42003
42004
42005
42006
42007
42008
42009
42010
42011
42012
42013
42014
42015
42016
42017
42018
42019
42020
42021
42022
42023
42024
42025
42026
42027
42028
42029
42030
42031
42032
42033
42034
42035
42036
42037
42038
42039
42040
42041
42042
42043
42044
42045
42046
42047
42048
42049
42050
42051
42052
42053
42054
42055
42056
42057
42058
42059
42060
42061
42062
42063
42064
42065
42066
42067
42068
42069
42070
42071
42072
42073
42074
42075
42076
42077
42078
42079
42080
42081
42082
42083
42084
42085
42086
42087
42088
42089
42090
42091
42092
42093
42094
42095
42096
42097
42098
42099
42100
42101
42102
42103
42104
42105
42106
42107
42108
42109
42110
42111
42112
42113
42114
42115
42116
42117
42118
42119
42120
42121
42122
42123
42124
42125
42126
42127
42128
42129
42130
42131
42132
42133
42134
42135
42136
42137
42138
42139
42140
42141
42142
42143
42144
42145
42146
42147
42148
42149
42150
42151
42152
42153
42154
42155
42156
42157
42158
42159
42160
42161
42162
42163
42164
42165
42166
42167
42168
42169
42170
42171
42172
42173
42174
42175
42176
42177
42178
42179
42180
42181
42182
42183
42184
42185
42186
42187
42188
42189
42190
42191
42192
42193
42194
42195
42196
42197
42198
42199
42200
42201
42202
42203
42204
42205
42206
42207
42208
42209
42210
42211
42212
42213
42214
42215
42216
42217
42218
42219
42220
42221
42222
42223
42224
42225
42226
42227
42228
42229
42230
42231
42232
42233
42234
42235
42236
42237
42238
42239
42240
42241
42242
42243
42244
42245
42246
42247
42248
42249
42250
42251
42252
42253
42254
42255
42256
42257
42258
42259
42260
42261
42262
42263
42264
42265
42266
42267
42268
42269
42270
42271
42272
42273
42274
42275
42276
42277
42278
42279
42280
42281
42282
42283
42284
42285
42286
42287
42288
42289
42290
42291
42292
42293
42294
42295
42296
42297
42298
42299
42300
42301
42302
42303
42304
42305
42306
42307
42308
42309
42310
42311
42312
42313
42314
42315
42316
42317
42318
42319
42320
42321
42322
42323
42324
42325
42326
42327
42328
42329
42330
42331
42332
42333
42334
42335
42336
42337
42338
42339
42340
42341
42342
42343
42344
42345
42346
42347
42348
42349
42350
42351
42352
42353
42354
42355
42356
42357
42358
42359
42360
42361
42362
42363
42364
42365
42366
42367
42368
42369
42370
42371
42372
42373
42374
42375
42376
42377
42378
42379
42380
42381
42382
42383
42384
42385
42386
42387
42388
42389
42390
42391
42392
42393
42394
42395
42396
42397
42398
42399
42400
42401
42402
42403
42404
42405
42406
42407
42408
42409
42410
42411
42412
42413
42414
42415
42416
42417
42418
42419
42420
42421
42422
42423
42424
42425
42426
42427
42428
42429
42430
42431
42432
42433
42434
42435
42436
42437
42438
42439
42440
42441
42442
42443
42444
42445
42446
42447
42448
42449
42450
42451
42452
42453
42454
42455
42456
42457
42458
42459
42460
42461
42462
42463
42464
42465
42466
42467
42468
42469
42470
42471
42472
42473
42474
42475
42476
42477
42478
42479
42480
42481
42482
42483
42484
42485
42486
42487
42488
42489
42490
42491
42492
42493
42494
42495
42496
42497
42498
42499
42500
42501
42502
42503
42504
42505
42506
42507
42508
42509
42510
42511
42512
42513
42514
42515
42516
42517
42518
42519
42520
42521
42522
42523
42524
42525
42526
42527
42528
42529
42530
42531
42532
42533
42534
42535
42536
42537
42538
42539
42540
42541
42542
42543
42544
42545
42546
42547
42548
42549
42550
42551
42552
42553
42554
42555
42556
42557
42558
42559
42560
42561
42562
42563
42564
42565
42566
42567
42568
42569
42570
42571
42572
42573
42574
42575
42576
42577
42578
42579
42580
42581
42582
42583
42584
42585
42586
42587
42588
42589
42590
42591
42592
42593
42594
42595
42596
42597
42598
42599
42600
42601
42602
42603
42604
42605
42606
42607
42608
42609
42610
42611
42612
42613
42614
42615
42616
42617
42618
42619
42620
42621
42622
42623
42624
42625
42626
42627
42628
42629
42630
42631
42632
42633
42634
42635
42636
42637
42638
42639
42640
42641
42642
42643
42644
42645
42646
42647
42648
42649
42650
42651
42652
42653
42654
42655
42656
42657
42658
42659
42660
42661
42662
42663
42664
42665
42666
42667
42668
42669
42670
42671
42672
42673
42674
42675
42676
42677
42678
42679
42680
42681
42682
42683
42684
42685
42686
42687
42688
42689
42690
42691
42692
42693
42694
42695
42696
42697
42698
42699
42700
42701
42702
42703
42704
42705
42706
42707
42708
42709
42710
42711
42712
42713
42714
42715
42716
42717
42718
42719
42720
42721
42722
42723
42724
42725
42726
42727
42728
42729
42730
42731
42732
42733
42734
42735
42736
42737
42738
42739
42740
42741
42742
42743
42744
42745
42746
42747
42748
42749
42750
42751
42752
42753
42754
42755
42756
42757
42758
42759
42760
42761
42762
42763
42764
42765
42766
42767
42768
42769
42770
42771
42772
42773
42774
42775
42776
42777
42778
42779
42780
42781
42782
42783
42784
42785
42786
42787
42788
42789
42790
42791
42792
42793
42794
42795
42796
42797
42798
42799
42800
42801
42802
42803
42804
42805
42806
42807
42808
42809
42810
42811
42812
42813
42814
42815
42816
42817
42818
42819
42820
42821
42822
42823
42824
42825
42826
42827
42828
42829
42830
42831
42832
42833
42834
42835
42836
42837
42838
42839
42840
42841
42842
42843
42844
42845
42846
42847
42848
42849
42850
42851
42852
42853
42854
42855
42856
42857
42858
42859
42860
42861
42862
42863
42864
42865
42866
42867
42868
42869
42870
42871
42872
42873
42874
42875
42876
42877
42878
42879
42880
42881
42882
42883
42884
42885
42886
42887
42888
42889
42890
42891
42892
42893
42894
42895
42896
42897
42898
42899
42900
42901
42902
42903
42904
42905
42906
42907
42908
42909
42910
42911
42912
42913
42914
42915
42916
42917
42918
42919
42920
42921
42922
42923
42924
42925
42926
42927
42928
42929
42930
42931
42932
42933
42934
42935
42936
42937
42938
42939
42940
42941
42942
42943
42944
42945
42946
42947
42948
42949
42950
42951
42952
42953
42954
42955
42956
42957
42958
42959
42960
42961
42962
42963
42964
42965
42966
42967
42968
42969
42970
42971
42972
42973
42974
42975
42976
42977
42978
42979
42980
42981
42982
42983
42984
42985
42986
42987
42988
42989
42990
42991
42992
42993
42994
42995
42996
42997
42998
42999
43000
43001
43002
43003
43004
43005
43006
43007
43008
43009
43010
43011
43012
43013
43014
43015
43016
43017
43018
43019
43020
43021
43022
43023
43024
43025
43026
43027
43028
43029
43030
43031
43032
43033
43034
43035
43036
43037
43038
43039
43040
43041
43042
43043
43044
43045
43046
43047
43048
43049
43050
43051
43052
43053
43054
43055
43056
43057
43058
43059
43060
43061
43062
43063
43064
43065
43066
43067
43068
43069
43070
43071
43072
43073
43074
43075
43076
43077
43078
43079
43080
43081
43082
43083
43084
43085
43086
43087
43088
43089
43090
43091
43092
43093
43094
43095
43096
43097
43098
43099
43100
43101
43102
43103
43104
43105
43106
43107
43108
43109
43110
43111
43112
43113
43114
43115
43116
43117
43118
43119
43120
43121
43122
43123
43124
43125
43126
43127
43128
43129
43130
43131
43132
43133
43134
43135
43136
43137
43138
43139
43140
43141
43142
43143
43144
43145
43146
43147
43148
43149
43150
43151
43152
43153
43154
43155
43156
43157
43158
43159
43160
43161
43162
43163
43164
43165
43166
43167
43168
43169
43170
2023-01-06  Vincent Lefevre  <vincent@vinc17.net>

	Updated version to 4.2.0.

2023-01-05  Vincent Lefevre  <vincent@vinc17.net>

	[src/zeta.c] For s < 1/2, use mpfr_sinpi now that it is available.

	This replaces the use of mpfr_sin with a multiplication by π and
	resolves a potential (but very unlikely) underflow issue; a comment
	is updated, with an explanation about that.

2023-01-05  Vincent Lefevre  <vincent@vinc17.net>

	Updated copyright notice for all the Makefile.am files.

	To be similar to the other files, added:
	* Contributed by the AriC and Caramba projects, INRIA.
	* This file is part of the GNU MPFR Library.

	(These Makefile.am files still have their special license.)

2023-01-05  Vincent Lefevre  <vincent@vinc17.net>

	Copyright notice update: added 2023.

	Command used:
	  perl -pi -e 's/ (\d{4}-)?(2022)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh, reverting doc/texinfo.tex (copied from GNU Texinfo)
	and the tools/mbench directory (not distributed with MPFR).
	Removed 2022 from the example in the doc/README.dev file.

2023-01-04  Vincent Lefevre  <vincent@vinc17.net>

	[src/zeta.c] Updated a comment about mpfr_sinpi.

	[doc/mpfr.texi] Updated the month.

2022-12-17  Vincent Lefevre  <vincent@vinc17.net>

	[tools/mpfrlint] Updated the __gmp_ test.

	* No longer exclude '^tests/tabort_defalloc': this is no longer needed
	  since commit 41bed90365fd1296cd05f49c813ab0a0b151a62e in 2017.
	* Exclude a new comment.

2022-12-15  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] Added a comment about a possible test failure.

	In short, if the error is like
	  repl-vsnprintf.c:389: GNU MP assertion failed: len < total_width
	this is a GMP (or MPIR) issue in __gmp_replacement_vsnprintf.

	References:
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00001.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00027.html
	  https://gmplib.org/list-archives/gmp-bugs/2022-October/005200.html

2022-12-15  Vincent Lefevre  <vincent@vinc17.net>

	Documentation: update about requirements for building MPFR.

	* doc/mpfr.texi: mentioned C++ compilers and the potential issue
	  with type punning via union.
	* INSTALL: completed (0) to be similar to what doc/mpfr.texi says.

2022-12-15  Vincent Lefevre  <vincent@vinc17.net>

	[tools/update-version] Fixed replacements in "INSTALL".

	Due to commit 4885b57add174f390eff29abe14d12fb5ebd6a61, only the first
	of the 4 replacements in INSTALL was done.

2022-12-14  Vincent Lefevre  <vincent@vinc17.net>

	[configure.ac] Added a comment about a possible AM_PROG_AR failure.

	The reason is that on some platforms, GMP chooses a non-default mode
	(a.k.a. ABI). MPFR has some workaround thanks to GMP_CC and GMP_CFLAGS
	provided by GMP, but this may not be sufficient, e.g. on power-aix. In
	such a case, the user needs to either force GMP to use the default mode
	or provide an AR variable for MPFR's configure; see INSTALL file.

2022-12-13  Vincent Lefevre  <vincent@vinc17.net>

	ChangeLog update with tools/update-changelog

	[doc/README.dev] "To make a release": update.

	[NEWS] Update for the 4.2.0 release: binary compatibility.

	[doc/README.dev] "To make a release": update about <branch>-root tag.

	[README] Updated URL of the README.dev file (for the 4.2 branch).

	Updated version to 4.2.0-rc1.

	ChangeLog update with tools/update-changelog

	[src/Makefile.am] Updated -version-info to 8:0:2 for MPFR 4.2.0.

	[manual] Section "API Compatibility": lexicographic order.

2022-12-13  Vincent Lefevre  <vincent@vinc17.net>

	[NEWS,doc/mpfr.texi] Clarification for mpfr_pown.

	Note: Though implemented as a macro, it is mainly documented as a
	function (not as a macro) because it cannot be distinguished from
	a function (for instance, one can take the function pointer).

2022-12-13  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tget_flt.c] Added a comment.

2022-12-13  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Updated a pathname.

	This should have been done with the source reorganization on 2010-08-17
	(see commit a6c9580d75b967e0d121d606edf03515ada45a7a).

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	Updated doc/texinfo.tex to 2022-12-10.11

	The only change concerning MPFR is that in the PDF manual, the
	section titles in the table of contents are now clickable.

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tstdint.c] Added missing conditional config.h inclusion.

	The consequence of the missing inclusion is that on build systems that
	need config.h (some MS Windows ones?), this test would be skipped.

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Clarification about the need of config.h inclusion.

	[tests/tstdint.c] Updated comment.

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tstdint.c] Added a comment.

	In short, this test allows one to detect that mpfr.h can be included
	without any other inclusion before. For instance, it can detect any
	unprotected use of FILE in the mpfr.h header file.

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added comment about the update of the version string.

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	Revert "changed %.8e into %a to avoid potential decimal output bug"

	This reverts commit e18ebe062042c01ad44b238df212f229bd251cd6.

	We currently still support C90 (in particular, here this concerns
	the C library of the platform).

2022-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed %.8e into %a to avoid potential decimal output bug

	(cf https://sympa.inria.fr/sympa/arc/mpfr/2022-12/msg00015.html)

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	[src/mpfr-cvers.h] Added a comment about (major,minor) tests.

2022-12-12  Vincent Lefevre  <vincent@vinc17.net>

	[tests/mpfr-test.h] Improved the change done a few hours earlier.

	The code introduced by commit 558a246e612fa230623fb0dfa0570b1c626a103c
	was changing the conditions under which IGNORE_CPP_COMPAT is defined
	(to ignore -Wc++-compat with a GCC pragma). Let's simplify it by using
	our __MPFR_GNUC() macro. The only possible change of behavior is that
	this excludes Intel's compiler (which is probably better as testing
	the GCC version on Intel's compiler doesn't make sense).

	Note concerning the behavior of Intel icx 2021.3.0 under Linux: Before
	the above commit, it was not excluded; but after this above commit, it
	was excluded as it identifies itself as GCC 4.2.1 (like Clang). With
	this new change, it is still excluded. Anyway, it ignores -Wc++-compat
	and doesn't complain on the GCC pragmas, so the above choice currently
	doesn't matter.

2022-12-11  Vincent Lefevre  <vincent@vinc17.net>

	Avoid a testsuite build failure with GCC older than 4.6.

	In tests/mpfr-test.h, we must not define IGNORE_CPP_COMPAT for
	GCC < 4.6 as it does not allow "#pragma GCC diagnostic" inside
	functions. Moreover, let's define it for all Clang versions,
	including MS Windows (where __GNUC__ is not defined).

	Changes based on information and a patch by Bruno Haible:
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-12/msg00007.html

2022-12-09  Vincent Lefevre  <vincent@vinc17.net>

	[autogen.sh] Improved comment about the INSTALL file.

	[autogen.sh] Updated comment about the INSTALL file.

2022-12-07  Vincent Lefevre  <vincent@vinc17.net>

	[Makefile.am] Corrected a note about version-ext.sh in EXTRA_DIST.

	In short, since commit a6e9d69047a358bfd1aaa1418d9999b8abe0bb62,
	version-ext.sh should no longer be needed in EXTRA_DIST because
	it will no longer be executed. But since this script is small,
	we distribute it just in case it would be used.

2022-12-06  Vincent Lefevre  <vincent@vinc17.net>

	Fixed version-ext.sh usage, avoiding "make check" failure and incorrect
	version information.

	The use of version-ext.sh could be incorrect when the MPFR source tree
	was in a Git working tree:
	  * "make check" could fail in some cases, see the bug report by
	    Trevor Spiteri:
	       https://sympa.inria.fr/sympa/arc/mpfr/2022-12/msg00000.html
	  * Version information output by "make check" could be incorrect.

	Changes:
	* tests/Makefile.am: For output_info, we now also check whether
	  $(top_srcdir)/.git is readable in order to avoid escaping the
	  MPFR source tree. In particular, if one extracts an MPFR tarball
	  within a Git working tree (e.g. after "make dist"), then running
	  "make check" in this extracted source tree will work as expected,
	  giving correct version information.
	* tests/Makefile.am, version-ext.sh: Updated comments. In particular,
	  moved a comment from tests/Makefile.am to version-ext.sh; this should
	  have been done in commit 0d3abf10458ca4fdd26daa77a02f7f1f4e361deb,
	  i.e. when version-ext.sh was created.

2022-12-06  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Removed useless leading spaces in examples.

	All examples should have at least one line that does not have
	leading spaces. Texinfo already indents examples in all cases.

2022-12-06  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Removed useless single quotes in an example.

	Texinfo changes these quotes to U+2019 RIGHT SINGLE QUOTATION MARK
	with TeX output (PDF), and it is no part of ASCII, which might yield
	issues in case of reuse in actual code. The subsequent example does
	not use quotes, so let's do the same.

2022-12-06  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2022-12-06  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a FIXME about the @need issue.

	Context:
	  https://lists.gnu.org/archive/html/bug-texinfo/2022-11/msg00228.html

2022-11-30  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] 2 replacements of ASCII "-" by @minus{}.

	Note: these should be the last remaining issues with the minus sign.

2022-11-30  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] 3 replacements of ASCII "-" by @minus{}.

2022-11-28  Vincent Lefevre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added a comment for the umul_hi(h, x, y) macro.

	Say that MPFR_NEED_LONGLONG_H needs to be defined to use it.

	This macro is defined unconditionally (this is not an issue) because
	MPFR_NEED_LONGLONG_H has been undefined earlier in mpfr-impl.h (why?),
	so we can no longer test MPFR_NEED_LONGLONG_H.

2022-11-28  Vincent Lefevre  <vincent@vinc17.net>

	Get rid of the _mulx_u64 intrinsic.

	It was found that this intrinsic has issues with ICC, Cygwin, and more
	generally, the Microsoft toolchain; even MPFR's strong detection at
	configure time (an AC_RUN_IFELSE test) was not sufficient. Moreover,
	_mulx_u64 is useless as umul_ppmm from mpfr-longlong.h does the same
	thing from the spec point of view (and thus was used as the fallback).
	So, if there is a reliable way to use the mulx instruction whenever
	possible (including via compiler optimization and the use of __int128
	when available, as done by GCC's _mulx_u64 implementation), this
	should be done in the umul_ppmm definition. Alternatively, we could
	redefine umul_ppmm for the use of __int128 when possible.

	Context and references:
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00008.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00027.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00030.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-11/msg00031.html
	  https://stackoverflow.com/a/54815033/3782797

	* src: corrected the umul_hi(h, x, y) macro (the only code that was
	  using _mulx_u64) and moved it from invert_limb.h and invsqrt_limb.h
	  to mpfr-impl.h.
	* tests/tversion.c: removed the output info about _mulx_u64.
	* acinclude.m4: removed the check for _mulx_u64.

2022-11-25  Vincent Lefevre  <vincent@vinc17.net>

	[NEWS] Added release name for 4.2.0: "fondue savoyarde".

	mpfr-longlong.h update from the current GMP development code.

2022-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mini-gmp] updated svn revision to git revision
	[tools/bench/README] likewise

2022-11-23  Vincent Lefevre  <vincent@vinc17.net>

	[tools/build-patch] Update for patches generated by git.

	Such patches are of the form
	  --- a/path/name
	  +++ b/path/name
	so with need to use the -p1 patch option if the --- line
	starts with "--- a/".

2022-11-23  Vincent Lefevre  <vincent@vinc17.net>

	[tools/build-patch] Updated a comment for Git.

2022-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Fix mpfr_custom_get_kind() macro bug.

	* src/mpfr.h: in the mpfr_custom_get_kind() macro, changed mpfr_ptr to
	  mpfr_srcptr for _x to agree with the function prototype, in order to
	  avoid a compilation failure of user code in some cases. This bug was
	  introduced by commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e, which
	  introduced the temporary variable _x to avoid an incorrect number of
	  evaluations of the x argument.
	* tests/tstckintc.c: improved the tests to detect this bug.

	This should fix mpfr bug #1.

	Bug initially reported by FX Coudert:
	  https://github.com/CGAL/cgal/issues/7064

	It affects Fedora Linux:
	  https://bugzilla.redhat.com/show_bug.cgi?id=2144197

2022-11-17  Vincent Lefevre  <vincent@vinc17.net>

	ChangeLog update with tools/update-changelog

2022-11-17  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Changed a @need command due to a bug in @need.

	A page break was introduced for "@need 800" while there was the
	space for 12 lines of text + 3 paragraph skips, as seen after the
	change. That's much more than the 8/10 in needed by "@need 800".
	So the page break was incorrect!

2022-11-17  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added @need commands to prevent page breaks.

2022-11-17  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Hack to improve TeX output (PDF).

	Define a @fptt macro to fix the TeX output (PDF) issue mentioned
	in commit 1877cf9aef96c2280aab60f67e5e7302676d199a (if the style
	of HTML output is fixed to be more like TeX output, this code will
	need an update).

2022-11-17  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a note about a TeX output (PDF) issue.

	This affects "[]", which appears in the mpfr_sum and mpfr_dot
	function prototypes.

2022-11-16  Vincent Lefevre  <vincent@vinc17.net>

	Consistency: s/non(zero|positive|negative)/non-$1/

	Changed non(zero|positive|negative) to non-zero, etc. for consistency
	(target files: src & tests directory, doc/README.dev, doc/mpfr.texi).
	Did it this way because the former was in minority (21 vs 165) and
	the IEEE 754-2019 standard uses a hyphen.

2022-11-16  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Final typographic and style corrections.

	Actually a bit more than that, since this affected the textual part
	of the PDF file (used for searching and copy-paste): the underscore
	character needs to be in something like @code or @samp to be present
	in this textual part.

2022-11-16  Vincent Lefevre  <vincent@vinc17.net>

	Updated version to 4.2.0-dev with the new tools/update-version.

	All the expected replacements have now *really* been done thanks to
	commit a4dec8938b85afbca2d448ae2dd4e0d3ab72b00c.

2022-11-16  Vincent Lefevre  <vincent@vinc17.net>

	[tools/update-version] Fixed replacements in "doc/mpfr.texi".

	The change done in commits 4885b57add174f390eff29abe14d12fb5ebd6a61
	and 7eda345244f503359d14cd5bae1ed42865d39ee8 was incorrect as there
	are 2 identical replacements to do in "doc/mpfr.texi", not just one.
	The previous code changed lines separately. But for the check of
	failing replacements, a global change on the full file is needed;
	thus the 2 identical replacements were expected to be done at the
	same time, so that the "g" modifier is needed on the regexp.

2022-11-15  Vincent Lefevre  <vincent@vinc17.net>

	Updated doc/texinfo.tex to 2022-11-13.08

	[TODO] Added URL for the Clang multiprecision arithmetic builtins.

2022-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] add reference to __builtin_addcll

2022-11-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": mention the README file.

2022-11-10  Vincent Lefevre  <vincent@vinc17.net>

	Updated version to 4.2.0-dev with the new tools/update-version.

	All the expected replacements have now been done in doc/mpfr.texi,
	thanks to commit 7eda345244f503359d14cd5bae1ed42865d39ee8.

2022-11-10  Vincent Lefevre  <vincent@vinc17.net>

	[tools/update-version] Updated a replacement.

	This was needed due to a change done on 2018-09-07 in doc/mpfr.texi
	(commit 84796030c7c732e8e66e5e650ec929c541dd207f / SVN r13153), as
	said in the previous commit.

2022-11-10  Vincent Lefevre  <vincent@vinc17.net>

	[tools/update-version] Check for failing replacements.

	This script currently fails due to a change done on 2018-09-07 in
	doc/mpfr.texi (commit 84796030c7c732e8e66e5e650ec929c541dd207f /
	SVN r13153), and this issue remained unnoticed until now,
	in particular due to the absence of checking for failing
	replacements.

	The penultimate non-patchlevel release was done on 2017-12-25, i.e.
	before this change, and no patchlevel releases have been done yet
	for the latest release, so that no current releases are affected by
	this issue, but the 4.1.1 release candidate is affected.

2022-11-09  Vincent Lefevre  <vincent@vinc17.net>

	Updated doc/texinfo.tex to 2022-11-07.17 (from GNU Texinfo 7.0).

2022-11-08  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated comment about an issue with math operators.

	[doc/mpfr.texi] Added a comment about an issue with math operators.

	[doc/mpfr.texi] Another typographic improvement.

2022-11-08  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a comment for \mathop with a single character.

	Workaround to avoid an alignment issue described at
	  https://tex.stackexchange.com/questions/41261/mathop-shifts-the-baseline-declaremathoperator-doesnt
	when the math operator @EXP{} was just "E".

2022-11-08  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] More typographic corrections and improvements.

	Also did some changes to improve the consistency.

2022-11-07  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a comment (ref to the GNU Texinfo spacing bug).

2022-11-07  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] More typographic corrections for math expressions.

	* Note a spacing bug in texi2dvi from GNU Texinfo 6.8 with macros
	  (found while testing).
	* Define macro @EXP (and \EXP in TeX).
	* Typographic corrections for math expressions.

2022-11-07  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a comment.

	[doc/mpfr.texi] Improved typography and English usage.

	[doc/mpfr.texi] More documentation for the @m{T,N} macro.

2022-11-04  Vincent Lefevre  <vincent@vinc17.net>

	[src/set_zero.c] IEEE 754 terminology in a comment.

2022-11-04  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved consistency about infinity and zero.

	Note: one writes "+0", but "positive zero", not "plus zero", etc.
	See the IEEE 754 standard.

2022-11-03  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Minor corrections related to infinity.

	This completes commit 75041697429ba467c448195b4f0863d0eb92e20c
	done in 2021-02.

2022-11-03  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Style corrections.

2022-11-03  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Style improvement for TeX (PDF) output.

	For mpfr_acosu, mpfr_asinu, mpfr_atanu and mpfr_atan2u, make the style
	similar to the one for mpfr_cosu, mpfr_sinu and mpfr_tanu.

2022-11-03  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] More use of @tm (typographic corrections).

2022-11-01  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Completed the description of the @mm macro.

2022-11-01  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved typography for the formatted output functions.

	For what is displayed (or output text), @samp{...} should be used,
	as already done in some cases (note: never enclose @samp{...} with
	quotes as this is already done in the Texinfo processing).

2022-11-01  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved the readability of an example.

2022-11-01  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] More typographic corrections for TeX (PDF) output.

	* Define a @mm{T} macro to be used for math symbols outside of @m,
	  @tm, @code or similar (but not for the "+" in "C++").
	* Use this macro when applicable.
	* Add missing @tm for some simple math expressions.

2022-10-28  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added tm macro and improved math typography.

2022-10-27  Vincent Lefevre  <vincent@vinc17.net>

	[tools/nightly-test] Corrections and cleanup.

	In particular, reverted most changes done in SVN r9832
	(commit 1ca64e34907c5a968ca7fcc3d22cdca2ede7f28b):
	  * switch back to /bin/sh (bash is not needed by this script);
	  * do not use --enable-decimal-float and --enable-float128 with
	    a C++ compiler as they are not supported (configure fails).

	And for the "git clone" command:
	  * take the BRANCH argument into account;
	  * use --depth 1 to avoid an unnecessary full clone.

	Better g++ detection (e.g. g++-12 or /usr/bin/g++, not just g++).

2022-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tools/nightly-test] change to git

2022-10-26  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Cosmetic consistency change in the .texi source.

	Let's use the same code for "start of header" and "end of header".

2022-10-25  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated @m{T,N} macro, with comments.

	The @m{T,N} macro is used for math formatting and textual equivalent
	(human-readable text). However, it was generating emphasis in HTML,
	which was unexpected. This commit removes the use of @math for the
	Info and HTML output (for Info, this does not change anything, and
	for HTML, this removes the incorrect emphasis). It also updates the
	documentation and adds a comment about the history of this macro and
	various issues related to it.

2022-10-24  Vincent Lefevre  <vincent@vinc17.net>

	Updated doc/texinfo.tex to 2022-10-18.18

	Update from the texinfo Git repository.
	  * The generated mpfr.html and mpfr.info files remain the same.
	  * For mpfr.pdf, there are some spacing improvements.

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Fix formatting for mpfr_can_round.

	Consistency changes and use of no-break space (@tie{}).

	Note: Once @math{...} has been clarified/fixed, apply the suggestions
	by Ivan Panchenko:
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Consistency correction for mpfr_get_str_ndigits.

	Use @math{m} (instead of just m) as already used a bit earlier.

	But the use of @math may need to be revised. See
	https://lists.gnu.org/archive/html/bug-texinfo/2022-10/msg00045.html

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved spacing.

	2 changes suggested by Ivan Panchenko at

	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html

	but do not use @math{...} as with HTML output, it puts everything
	in italics with <em class='math'>...</em>, which is incorrect for
	things like digits.

	However, this behavior of @math{...} is not what is documented in
	the GNU Texinfo 6.8 manual, which says:

	  The '@math' command has no special effect on the Info output or (by
	  default) the HTML output, merely outputting the contents verbatim.

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a comment about the use of @math{...}.

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	[doc/mpfr.texi] Fixed italicization for mpfr_eint.

	An issue reported by Ivan Panchenko:
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html

	I also had to fix the occurrences of k in @ifnottex for HTML.

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	Fixed some minor mistakes.

	* Minor mistakes in doc/mpfr.texi reported by Ivan Panchenko:
	    https://sympa.inria.fr/sympa/arc/mpfr/2022-10/msg00020.html
	  (spacing and italicization not fixed yet).
	* Fixed similar mistakes in the other files.

2022-10-11  Vincent Lefevre  <vincent@vinc17.net>

	mpfrlint: updated text checking (spelling...)

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	ChangeLog update with tools/update-changelog

	[tools/update-changelog] Use UTC to generate the ChangeLog file.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[tools/gitlog-to-changelog] Improve --strip-cherry-pick for this repository.

	Remove all the cherry-pick information from what can be found in
	the 4.1 branch.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": precision about the tag.

	[doc/README.dev] "To make a release": correction about the tag.

	[tests/tnrandom.c] Fixed compilation failure with mini-gmp.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[tools] Improvement for the ChangeLog generation.

	* tools/gitlog-to-changelog: modified regexp for --strip-cherry-pick
	  to support some log message in the MPFR Git repository (currently,
	  only commit 4c5973c2f0153a3a4708cab79ed142e72c4a50eb, but similar
	  ones could occur in the future).
	* tools/update-changelog: use this --strip-cherry-pick option.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": update for the ChangeLog file.

	See commit 1dc281851408fc7d330576327545857c93392521 for the reason.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": update for abi-compliance-checker.

	Added an example of use of build-multi and abi-compliance-checker
	for the 4.1.1 release candidate.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	Fix for "make dist" / "make distcheck" about ChangeLog regeneration.

	The "ChangeLog: FORCE" rule in Makefile.am was incompatible with
	GNU Automake's "make dist" / "make distcheck" because GNU Automake
	creates a "distdir-am: $(DISTFILES)" rule, which was regenerating
	the ChangeLog file in "make dist"; such a change is not allowed
	(it fails with "make distcheck") and not wanted anyway.
	Issue introduced by commit 52652c41978089be57aca658bacf19b758c73be4.

	* Added tools/update-changelog sh script to update the ChangeLog file.
	* Makefile.am: replaced the incorrect rule mentioned above by a rule
	  update-changelog to run tools/update-changelog; added a comment.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": update for abi-compliance-checker.

2022-10-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": update about build-multi.

	Needed due to the switch from InriaForge to Inria GitLab.

2022-10-04  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tnrandom.c] Improved the support non-default seed.

	As suggested by mpfrlint, use a different randstate rather than
	re-seeding mpfr_rands (with a fixed seed). So the corresponding
	test no longer needs to be at the end.

2022-10-04  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tnrandom.c] Added a comment for tnrandom with an argument.

	This concerns a slowness of mpfr_clear() in the MPFR tests due to
	the O(n) search in tests_memory_find(), used to detect memory leaks.

2022-10-04  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tnrandom.c] Support non-default seed (GMP_CHECK_RANDOMIZE).

	This fixes a failure due to 4c5973c2f0153a3a4708cab79ed142e72c4a50eb
	when GMP_CHECK_RANDOMIZE is set.

2022-10-04  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": added note about GMP_CHECK_RANDOMIZE.

2022-10-03  Vincent Lefevre  <vincent@vinc17.net>

	[doc/update-faq] Ensure that the code is run from the doc directory.

	[tools/coverage] Typo.

	[doc/README.dev] Updated "To make a release".

	Updated URLs.

	Updated URLs.

	Updated URLs.

2022-10-03  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Corrected "To make a release".

	The addition of the <branch>-root tag applies only after a branch
	is created, i.e. for non-patchlevel releases (item 0).

2022-09-14  Vincent Lefevre  <vincent@vinc17.net>

	Updated doc/texinfo.tex to 2022-09-14.01

	Update from the texinfo Git repository.
	  * The generated mpfr.html and mpfr.info files remain the same.
	  * For mpfr.pdf, this version fixes all the issues I've reported.

2022-09-09  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release".

	[src/mpfr-impl.h] Added TODO for MPFR_MAYBE_UNUSED.

2022-09-07  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] New C2x draft (N3054).

2022-09-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release" (about texinfo.tex).

	[autogen.sh] Added a comment about files we handle in the repository.

2022-09-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/.gitignore] Removed /texinfo.tex since it is in the repository.

	doc/texinfo.tex was added to the Subversion repository on 2017-11-27
	and the svn:ignore property should have been updated at this time,
	but I forgot.

2022-09-03  Vincent Lefevre  <vincent@vinc17.net>

	[tests/RRTest.c] Replaced "egrep" by "grep -E" in comment.

	In the GNU grep 3.8 release notes:
	  The egrep and fgrep commands, which have been deprecated since
	  release 2.5.3 (2007), now warn that they are obsolescent and should
	  be replaced by grep -E and grep -F.

2022-08-27  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Changed "trunk" (Subversion) to "master" (Git).

	[doc/README.dev] New C2x draft (N3047).

2022-08-26  Vincent Lefevre  <vincent@vinc17.net>

	[tools/announce-text] Updated key ID for the future releases.

2022-08-19  Vincent Lefevre  <vincent@vinc17.net>

	[codespell.ignore] Ignore RO and SIZ (codespell 2.2.0).

	Corrected spelling mistake found by codespell 2.2.0

2022-08-16  Vincent Lefevre  <vincent@vinc17.net>

	Cleanup about decimal floating constants matching ".0d".

	In general, the trailing 0 is not needed, and even not wanted
	(this has the effect to decrease the quantum by 1 compared to the
	"natural value"), though the quantum is not yet specified in MPFR.

	In tests/tget_set_d64.c, kept this trailing 0 in mpfr_set_decimal64,
	but added similar tests without this trailing 0.

2022-08-08  Vincent Lefevre  <vincent@vinc17.net>

	version-ext.sh: replaced a remaining "sed" by "$SED".

	Thanks to Trevor Spiteri for noticing that.

2022-08-08  Vincent Lefevre  <vincent@vinc17.net>

	version-ext.sh: handle the case where no Git branches are found.

	This should solve the issue reported on 2022-08-08 by Trevor Spiteri:
	https://sympa.inria.fr/sympa/arc/mpfr/2022-08/msg00002.html

2022-07-08  Vincent Lefevre  <vincent@vinc17.net>

	doc/mpfr.texi: Updated the month.

2022-07-08  Vincent Lefevre  <vincent@vinc17.net>

	[manual] Added a note for mpfr_nexttoward (exceptions, sign of 0).

	Also applies to mpfr_nextabove and mpfr_nextbelow, whose description
	refers to mpfr_nexttoward.

	See additional details in the comment in the src/next.c source.

2022-07-08  Vincent Lefevre  <vincent@vinc17.net>

	[src/next.c] Updated comment (exceptions and sign of 0).

	Concerned functions: mpfr_nexttoward, mpfr_nextabove, mpfr_nextbelow.

	Clarification was needed due to the differences between the
	IEEE 754-1985, IEEE 754-2008/2019 and ISO C99+ standards on
	similar functions (nextafter, nextUp, nextDown).

2022-07-06  Vincent Lefevre  <vincent@vinc17.net>

	[configure.ac] Update about GNU gold ld and LD_RUN_PATH.

	* Comment update: added URL of the upstream bug report.
	* Mention the GNU gold linker in the warning.

2022-06-13  Vincent Lefevre  <vincent@vinc17.net>

	[README] Replaced "Subversion" by "Git".

	[doc/README.dev] Completed the update for Git.

	[doc/README.dev] Moved and clarified a paragraph about the tests.

2022-06-11  Vincent Lefevre  <vincent@vinc17.net>

	Fixed tsprintf %a tests when GMP and libc produce different outputs.

	With some 32-bit mingw-w64 implementations, the GMP and libc
	formatted output functions produce different outputs for %a (this
	is not completely specified by the C standard). In the MPFR tests
	introduced by commit 22db634294c27eabbc0c55b04267d3ab5bc9a648 on
	2022-05-19, the comparison is done between the MPFR result, which
	is based on GMP, and the libc result; hence a failure.

	So, changed the 4 concerned tests of tests/tsprintf.c to compare
	the MPFR result with the GMP result (for the other tests on the
	C native types, it is still better to compare MPFR with libc).

	Bug report:
	  https://sympa.inria.fr/sympa/arc/mpfr/2022-06/msg00004.html

2022-06-10  Vincent Lefevre  <vincent@vinc17.net>

	[tools/announce-text] Completed the update for Git.

	[tools/announce-text] Check that one has an annotated tag at origin.

	[tools/announce-text] Update.

	[tools/announce-text] Minor git-related simplification.

	[tools/announce-text] Started the update for Git.

	[tools/announce-text] Removed code and text related to InriaForge (obsolete).

2022-06-08  Vincent Lefevre  <vincent@vinc17.net>

	Updated www.open-std.org URLs: http → https.

2022-06-07  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] New C2x draft (N2912).

2022-06-02  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release".

	This completes the update for Git and Inria GitLab. But the
	tools/announce-text script has not been updated yet.

2022-06-02  Vincent Lefevre  <vincent@vinc17.net>

	[tools/export-release] Completed the script.

	Fix the timestamps so that each file or directory has a timestamp
	corresponding to its last change.

2022-06-02  Vincent Lefevre  <vincent@vinc17.net>

	Added tools/export-release sh script.

	Export some release identified by a Git tag in order to get a tarball.

2022-06-02  Vincent Lefevre  <vincent@vinc17.net>

	[mbench] Updated Copyright lines.

	Added tools/mbench/.gitignore file.

	[mbench/Makefile] Added missing dependencies on timp.h

2022-06-02  Vincent Lefevre  <vincent@vinc17.net>

	[mbench/timp.h] Bug fix for "make rt" on 32-bit machines. Reindent.

	For the code used when USE_CLOCK_MONOTONIC is defined ("make rt"):
	If both time_t (type of tv_sec) and long are 32-bit types, there was
	an overflow in the timp_rdtsc() macro, due to the multiplication of
	the tv_sec (coming from CLOCK_MONOTONIC, thus typically larger than 5)
	by the value 1000000000 (≈ 2^32 / 4.3) of type unsigned long, because
	this multiplication would be done on 32 bits. Changed the type of the
	constant to unsigned long long so that the operations are done with
	the target type unsigned long long (at least).

2022-06-02  Vincent Lefevre  <vincent@vinc17.net>

	[mbench] Removed trailing whitespace.

2022-06-01  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release" (about ChangeLog).

	ChangeLog update with "make ChangeLog"

	[tools/ck-copyright-notice] Better indentation.

	[tools/ck-copyright-notice] Support the future ChangeLog format.

2022-06-01  Vincent Lefevre  <vincent@vinc17.net>

	[tools/ck-copyright-notice] Better error handling.

	Note: One currently gets a failure with the future ChangeLog format,
	obtained with gitlog-to-changelog (via "make ChangeLog").

2022-06-01  Vincent Lefevre  <vincent@vinc17.net>

	Support ChangeLog regeneration from a Git working tree.

	* Added tools/gitlog-to-changelog file from Gnulib.
	* Makefile.am: added a rule for the Changelog file.

	Needed as the GNU MPFR repository has been converted to Git.

	The '%B%n' format string is used rather than the default '%s%n%b%n'
	because Git's commit message convention is not always followed
	(in particular before the conversion of the repository to Git).

	Note: In the future, if there is any change to do to a Git commit
	message (typo, etc.), the --amend option could be used.

2022-05-30  Vincent Lefevre  <vincent@vinc17.net>

	Started to update doc/README.dev for Git.

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[manual] Clarify the description of the formatted output functions.

	Emphasize the fact that the conv specifier F is not supported, except
	for the type specifier R (for mpfr_t arguments).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[src/vasprintf.c] Consistency with the non-support of %F by GMP.

	The F conversion specifier as defined by the C standard is not
	supported by the GMP formatted output functions because it is
	already used as the type specifier for mpf_t (which comes before
	the conversion specifier). Let's take this fact into account.

	Note: this conversion specifier is still allowed with MPFR numbers
	(e.g., "%RF") to avoid breaking the compatibility (it has never
	been an issue).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] native_types: added tests to differentiate %G from %g.

	The tested value -1.25 had the same output -1.25 with %g and %G.
	Added 7.62939453125e-6 (= 2^(-17)), whose output by %g and %G has
	an exponent introduced by 'e' and 'E' respectively.

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] native_types: added tests for %a, %A, %la, %lA

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] Added/fixed native_types tests.

	* Added tests of %E and %G.
	* Removed the test of %lF, which is not supported by GMP (and yields
	  a heap buffer overflow, detected by AddressSanitizer): even though
	  there would be no ambiguity in this particular case, it is not
	  supported because the standard F conversion specifier isn't due to
	  the use of the F type specifier for mpf_t.

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] Correction for %la, %lA, %le, %lE, %lf, %lF, %lg, %lG

	Reverted commit 2b60707d22717e0f582be5de680d7fa7004e2512 and added
	tests for the missing %lE, %lF, %lG in native_types, protected by
	a #if (see commit ecd3279f3dfd281fc8e51aac7509b76b27497a6c) as they
	may need an ISO C99 compiler.

	Note: The test of %la and %lA was incorrect because the first digit
	is unspecified (and really depends on the C library). A test could
	be added in the future, perhaps also with a configure test, because
	the compiler may support ISO C99 but not the C library (there was
	an issue like that at least with old versions of Solaris).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] native_types: test %le, %lf, %lg only with C99+

	… since the l length modifier for the FP types (a, A, e, E, f, F, g, G
	conversion specifiers) has been added in ISO C99.

2022-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsprintf.c] added tests for %la, %lA, %le, %lE, %lf, %lF, %lg, %lG

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[src/vasprintf.c] Bug fix for the l length modifier with FP type.

	The l length modifier is now supported with the a, A, e, E, f, F, g, G
	conversion specifiers, as required by the ISO C standard on printf and
	other formatted output functions. As specified, it is just ignored.

	For that, to improve code maintainability, the CASE_LONG_ARG() macro
	was simplified:
	  * The c and s conversion specifiers are always supported by this
	    macro (this is a potential fix for implementations with incomplete
	    wide-character handling, without any guarantee to work).
	  * A MPFR_RET_NEVER_GO_HERE() for unsupported conversion specifiers
	    has been added (if specinfo_is_valid() is consistent with this
	    macro, one should effectively never reach this case).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[src/vasprintf.c] Made case ordering consistent (no change of behavior).

	The "case" ordering in specinfo_is_valid() and in CONSUME_VA_ARG() for
	integer specifiers and for floating-point specifiers was not the same.
	Improved code readability by using the same order across the code
	(also OK with CASE_LONG_ARG()).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] native_types: test %le, %lf, %lg.

	These tests are currently failing. Bug reported by Paul Zimmermann
	for %la (but %a and %la are not currently tested, because of their
	possible lack of support in the C library).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsprintf.c] native_types: same tests for i as for d.

	[tests/tnrandom.c] With mini-gmp, disable the tests that check the values.

	[acinclude.m4] Added a comment about the unreliable NAN != NAN check.

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/cmp_str.c] In mpfr_cmp_str, check that s is a valid number.

	In the tests, the string provided to mpfr_cmp_str is normally a
	valid number (the common use is to check that a result is equal to
	some hardcoded value given by a string). A string s that does not
	represent a valid number probably has a typo, and the consequence
	was that in such a case, any non-NaN result was regarded as correct.

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsubnormal.c] Removed invalid testcase bug20220518.

	The testcase bug20220518 added in
	  commit 7640a832fbf0b7f9057889e076cf7f42fe4f8e58
	was invalid as the mpfr_subnormalize input was not in the current
	exponent range (it had exponent -1074 while emin = -1073).

	As usual, inputs outside the current exponent range are not supported
	(the mpfr_subnormalize description in the manual is explicit:
	"The subnormal exponent range is from ‘emin’ to ‘emin+PREC(X)-1’.").
	Supporting values outside the current exponent range is not needed
	in practice (see examples in the manual).

2022-05-19  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tsubnormal.c] Code style in coverage().

	[tests/tsubnormal.c] Added missing cleanup at the end of bug20220518.

	[tests/tsubnormal.c] Simplified bug20220518.

	[tests/tsubnormal.c] C90 compatibility.

2022-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsubnormal.c] added test case that exhibits a bug in mpfr_subnormalize
	[src/subnormal.c] fixed typo

2022-05-18  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tnrandom.c] Check some mpfr_nrandom values to detect changes.

	The values should be the same on different machines and with
	different MPFR versions (or this would be an ABI change).

2022-05-17  Vincent Lefevre  <vincent@vinc17.net>

	For version-ext.sh, use "$SED" instead of "sed".

	* tests/Makefile.am: pass $SED to version-ext.sh.
	* version-ext.sh: use $SED (default to "sed").

2022-05-17  Vincent Lefevre  <vincent@vinc17.net>

	Fixed version-ext.sh when in an origin/* remote branch.

2022-05-13  Vincent Lefevre  <vincent@vinc17.net>

	Tests: the check of subnormal support is done when running the tests.

	The check of support for double and float subnormals was done at
	configure time, but it could not be done when cross-compiling.
	Since it is useful only for the tests, it is better to do it when
	running the tests.

	* tests/tests.c: added have_subnorm_dbl() and have_subnorm_flt()
	  functions to check support for double and float subnormals;
	  removed such a check from mpfr_test_init().
	* tests/mpfr-test.h: declare these functions.
	* tests/tget_flt.c: use have_subnorm_flt() instead of HAVE_SUBNORM_FLT.
	* tests/tset_d.c, tests/tsprintf.c: removed the useless test of
	  HAVE_SUBNORM_DBL (this was a minor optimization).
	* acinclude.m4: updated comment about the check of subnormal support;
	  minor improvement in the check for float subnormals.
	  Note: keep the check just for build information (it might be useful
	  for debugging or in case of a related bug report).
	* tools/mpfrlint: check that the HAVE_SUBNORM_* macros are not used.

2022-05-13  Vincent Lefevre  <vincent@vinc17.net>

	[acinclude.m4] Updated comment about the check of subnormal numbers.

	* Removed text about DBL_HAS_SUBNORM and FLT_HAS_SUBNORM (which
	  was added in commit 3ee30bcf34bfb5d042e5a1aa9b7cf8a42b51cb91
	  on 2019-10-01) since these macros should be made obsolescent:
	  https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2981.htm
	  And their use would be incorrect in C++ (different meaning):
	  https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2988.pdf
	* A bit more details.
	* Added a FIXME for better cross-compiling support.

2022-05-10  Vincent Lefevre  <vincent@vinc17.net>

	doc/mpfr.texi: Updated the month.

	[NEWS] Mention the fixes of the macros of the custom interface.

2022-05-10  Vincent Lefevre  <vincent@vinc17.net>

	Improved 2 macros of the custom interface and updated manual.

	* src/mpfr.h: The mpfr_custom_init() and mpfr_custom_move() macros
	  could not be used in contexts where an expression was expected.
	  This limitation was not necessary and is now removed.
	* doc/mpfr.texi: In commit 743a63c480318f60ac2a953007bac08f37b7d71d,
	  the manual was clarified about the macros of the custom interface,
	  i.e. behaving like macros, which may evaluate arguments multiple
	  times or none. This was incomplete and error prone, in addition
	  to being undocumented in the current MPFR versions. Almost all
	  issues have now been fixed (the only minor limitation is that the
	  mpfr_custom_init_set() macro is not usable in contexts where an
	  expression is expected, but this cannot yield unnoticed bugs).
	  So, changed the manual to reflect these fixes and added an item
	  in Section "API Compatibility" (also removed an obsolete comment
	  about that from src/mpfr.h).

2022-05-08  Vincent Lefevre  <vincent@vinc17.net>

	Improved a comment.

2022-05-06  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Added text about tests of function-like macros.

2022-05-06  Vincent Lefevre  <vincent@vinc17.net>

	In comments, changed "stack interface" to "custom interface".

	* src/mpfr.h: changed "stack interface" and "mpfr_stack interface"
	  to "(the) custom interface".
	* src/stack_interface.c: changed "mpfr_stack" to "custom interface".

	The mpfr_stack_ prefix was changed to mpfr_custom_ in 2005
	(see commit 0a010e55364d1cc3681273eee70c91dab0a61946) and
	the MPFR manual says "Custom Interface".

2022-05-06  Vincent Lefevre  <vincent@vinc17.net>

	Other corrections about the custom interface.

	This time, the build of tstckintc was failing with "gcc -Wc++-compat"
	because __cplusplus is not defined.

	* tests/tstckintc.c: use the same solution as already done in
	  tcopysign.c (commit 3dbf3387669030b264317202806fc3d938704618),
	  i.e. ignore -Wc++-compat with "GCC diagnostic" pragmas when
	  testing with void * arguments.
	  Also simplified the code thanks to the VOIDP_CAST macro that
	  was introduced at that time (cast to void * except in C++):
	  commit 9076e47ceb41c60cab526870757f2098ced5c26d.

	Everything should now be OK.

2022-05-06  Vincent Lefevre  <vincent@vinc17.net>

	Other corrections about the custom interface.

	In C++, implicit pointer conversions are forbidden. This made the
	build of tstckintc fail with g++ and -DMPFR_USE_NO_MACRO in CFLAGS.

	* src/mpfr.h: do not attempt to support implicit pointer conversions
	  with a C++ compiler in the macros, since this is not supported by
	  the functions, i.e. removed 2 useless casts; this is a bit like the
	  code like before commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e.
	* tests/tstckintc.c: test a "void *" argument instead of mpfr_ptr only
	  in C, not C++ (which cannot work if -DMPFR_USE_NO_MACRO is used).
	  Note: for newx and newx2, revert to the code that was before the
	  commit mentioned above.

2022-05-06  Vincent Lefevre  <vincent@vinc17.net>

	Testsuite: C++11 compatibility (GCC's -Wliteral-suffix).

	With "g++ -Werror", several .c files in the "tests" directory were
	yielding

	  error: invalid suffix on literal; C++11 requires a space between
	  literal and string macro [-Werror=literal-suffix]

2022-05-06  Vincent Lefevre  <vincent@vinc17.net>

	Fixed build failure of user code using mpfr_custom_get_kind() / g++.

	* src/mpfr.h: added missing cast in the mpfr_custom_get_kind() macro
	  (invalid C++ code, but this is in a GNU __extension__ block, thus
	  unfortunately, it was not detected by "gcc -Werror=c++-compat";
	  see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105499>).

	Bug introduced in commit 9f94e0311ed53d0c64d4fbca249d19cc4888027e.

2022-05-05  Vincent Lefevre  <vincent@vinc17.net>

	Fixed issues with the macro versions of the custom interface.

	* src/mpfr.h: fixed issues with the mpfr_custom_* macros:
	    - a "void *" argument instead of mpfr_ptr could make the
	      compilation fail (with the function, the conversion is
	      implicit, thus this should be accepted by the macro);
	    - some arguments could be evaluated 0 times, which is wrong
	      if their evaluation has side effects.
	* tests/tstckintc.c: added various tests to check these kinds
	  of issues.

2022-05-05  Vincent Lefevre  <vincent@vinc17.net>

	Avoid a -Wsign-conversion warning that could occur in user code.

	Issue reported by Andreas Enge concerning PariTwine.

	* src/mpfr.h: added a cast in the mpfr_custom_get_size() macro so that
	  a size_t * size_t product is done instead of mpfr_prec_t * size_t
	  (where mpfr_prec_t is signed and size_t is unsigned, triggering a
	  warning when GCC's -Wsign-conversion is used).

2022-05-05  Vincent Lefevre  <vincent@vinc17.net>

	Fixed mpfr_custom_get_size() macro and added non-regression test.

	* src/mpfr.h: added missing cast in mpfr_custom_get_size() macro.
	* tests/tstckintc.c: added testcases (would fail on LP64 platforms).

2022-04-22  Vincent Lefevre  <vincent@vinc17.net>

	[mpfr-impl.h] Rounding mode macros: added assertion; updated comments.

2022-04-22  Vincent Lefevre  <vincent@vinc17.net>

	Updated TODO to improve mpfr_pow_si/sj for negative n.

	I thought that there would be some drawbacks with the underflow
	by computing the power before the division, but this actually
	seems to be more or less equivalent (mpfr_pow_general is already
	used for MPFR_RNDN).

	Also, removed the suggestion with rescaling as this may not be
	possible for large values of n compared to the maximum exponent.

2022-04-17  Vincent Lefevre  <vincent@vinc17.net>

	Corrected comment about the ".POSIX" line in all Makefile.am files.

2022-04-08  Vincent Lefevre  <vincent@vinc17.net>

	[TODO] Added idea of implementation for to_chars.

2022-04-07  Vincent Lefevre  <vincent@vinc17.net>

	[manual] For sqrt and rec_sqrt, mention the relation with rootn.

	Updated TODO about rootn (now that mpfr_rootn_si is implemented).

2022-04-06  Vincent Lefevre  <vincent@vinc17.net>

	[src/pow_si.c] Added a static assertion and comments about code improvement.

2022-04-06  Vincent Lefevre  <vincent@vinc17.net>

	[src/log_ui.c] Updated comments to better understand that the code is correct.

	Note: these are the same as in the 4.1 branch (commit 8f357dd48).
	So the ULONG2LONG macro was not necessary, but let's keep it for
	maintainability. This does not change for GCC and Clang. But tcc
	even generates shorter x86_64 code with this macro.

2022-04-06  Vincent Lefevre  <vincent@vinc17.net>

	[tests/tpow.c] Improved/added bad_cases tests of mpfr_pow_ui/si (x^n).

	* For n odd, generate negative values y (thus x) with a probability
	  1/2 (instead of a very low probability), as there is no reason to
	  favor positive values in this case.
	* Added bad_cases tests of mpfr_pow_si with n negative (with the help
	  of mpfr_rootn_si). This was the TODO from commit 58fc9fb0e.

2022-04-06  Vincent Lefevre  <vincent@vinc17.net>

	[tests] In some bad_cases messages, output the name of the function.

	This is useful for tests with several bad_cases invocations,
	such as tpow, troot and trootn_si.

2022-04-06  Vincent Lefevre  <vincent@vinc17.net>

	[tests/{troot,trootn_si}.c] Added a comment about bad_cases.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	Added /trootn_si to tests/.gitignore

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	src/root.c: for mpfr_rootn_si with k = -2, use mpfr_rec_sqrt.

	The mpfr_rec_sqrt code is faster than the generic mpfr_rootn_si code
	for k = -2.

	Also added a TODO: if MPFR_WANT_ASSERT >= 2, do both computations
	and compare the results.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	tests/trootn_si.c: fixed typo in error messages.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	src/pow_ui.c: bug fix with mini-gmp and limb < unsigned long.

	The initial precision was too small for large values of n.
	→ tpow and trootn_si no longer fail.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	tests/tpow.c: better generic tests for mpfr_pow_ui and mpfr_pow_si.

	Changed INT_RAND_FUNCTION, in particular to use randulong / randlong
	for mini-gmp, yielding an assertion failure when MINI_GMP_LIMB_TYPE
	is shorter than "long".

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	mpfrlint: ignore mini-gmp in some test.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	mpfr_rootn_si(): bug fix for n = LONG_MIN; added generic tests.

	* src/root.c: bug fix in mpfr_rootn_si() for n = LONG_MIN
	  (integer overflow on -n, triggered by the generic tests).
	* tests/trootn_si.c: added generic tests.
	  Note: they currently yield an assertion failure in pow_ui.c with
	  mini-gmp when MINI_GMP_LIMB_TYPE is shorter than "long".

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	[tests] Add randulong and randlong functions (useful with mini-gmp).

	To get a random unsigned long, randlimb() is currently used, but with
	mini-gmp, a limb may be shorter than an unsigned long, so that one
	does not get all the possible "unsigned long" values. So these new
	randulong() and randlong() functions should now be used instead.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	Define a ULONG2LONG() macro to convert from unsigned long to long.

	The conversion is done with the two's complement rule
	(i.e. modular arithmetic) in a portable way.
	  * doc/README.dev: mention this macro (the technique was already
	    described).
	  * src/log_ui.c: use this macro instead of non-portable code due to
	    the case n = LONG_MAX + 1.
	  * src/mpfr-impl.h: define this macro.

2022-04-05  Vincent Lefevre  <vincent@vinc17.net>

	trootn_si.c: more mpfr_rootn_si tests on special values

	doc/mpfr.texi: Updated the month.

	New function mpfr_rootn_si

2022-04-04  Vincent Lefevre  <vincent@vinc17.net>

	[src/root.c] Updated a comment for mpfr_rootn_ui.

	This comment was correct for mpfr_root, but I forgot to update it when
	changing this function to mpfr_rootn_ui (where this case differs) in
	commit 117c726a863e243634c8e5fbaae0265cac90a4a1.

2022-04-04  Vincent Lefevre  <vincent@vinc17.net>

	[tests/troot.c] Added a comment.

	[tests/tpow.c] Added a TODO about tests with bad_cases.

	[tests/tpow.c] Corrected messages.

	[tests/tpow.c] For rootN, use mpfr_root and mpfr_rootn_ui randomly.

2022-04-04  Vincent Lefevre  <vincent@vinc17.net>

	[tests] Define RAND_BOOL() macro (random boolean) and use it.

	In the tests directory:
	* mpfr-test.h: define RAND_BOOL() macro, with type int.
	* mpfr-test.h and various .c files: replace "randlimb () & 1" and
	  "randlimb () % 2" by "RAND_BOOL ()".
	* tfprintf.c, tsprintf.c: use the same code as tprintf.c.

2022-04-04  Vincent Lefevre  <vincent@vinc17.net>

	In the tests, fixed "randlimb () % 1", mistaken for "randlimb () & 1".

	This occurred only in tests/tfmma.c (5 occurrences), with the
	consequence of fewer cases of different kinds in the tests.

	Such a kind of mistake is now detected by mpfrlint (commit 2a90f0c91).

2022-04-04  Vincent Lefevre  <vincent@vinc17.net>

	mpfrlint: detect "% 1" (modulo 1), which always gives 0.

	This is probably mistaken for "& 1" or "% 2", as currently in
	"tests/tfmma.c".

2022-03-30  Vincent Lefevre  <vincent@vinc17.net>

	[TODO] Moved and updated item.

	Since this is about functions in IEEE 754-2019, it makes more sense
	to have this item after the new functions of IEEE 754-2008.

2022-03-30  Vincent Lefevre  <vincent@vinc17.net>

	[TODO] Updated item (with non-public URL removed).

2022-03-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added item

2022-03-29  Vincent Lefevre  <vincent@vinc17.net>

	Fixed version-ext.sh, in particular when used after "./autogen.sh".

	After running autogen.sh, version-ext.sh incorrectly detected files
	as modified. Solution: refresh the git index before git diff-index.

2022-03-28  Vincent Lefevre  <vincent@vinc17.net>

	[acinclude.m4] Fix/improve MPFR_CHECK_LIBM and MPFR_CHECK_LIBQUADMATH.

	With a GCC snapshot, -Werror=infinite-recursion was yielding an
	error in AC_CHECK_LIB for function "main". So, define MPFR_HAVE_LIB
	to be used instead of AC_CHECK_LIB when it is not needed to test any
	function. So, use it in MPFR_CHECK_LIBM and MPFR_CHECK_LIBQUADMATH.
	Also updated MPFR_CHECK_LIBM from the current libtool.m4 code, as
	done in the past.

2022-03-24  Vincent Lefevre  <vincent@vinc17.net>

	[get_d128.c] Updated FIXME comment.

2022-03-24  Vincent Lefevre  <vincent@vinc17.net>

	Added a TODO efficiency item about the size of the MPFR library.

	Reduce the size of the MPFR library generated by GCC by avoiding
	operations on _Decimal128 in get_d128.c when its encoding is BID.

2022-02-18  Vincent Lefevre  <vincent@vinc17.net>

	[algorithms.tex] Cleanup: ^\infty → ^{\infty}

	Using a command after _ (subscript) or ^ (superscript) is discouraged
	as it might break with future TeX versions, as already seen.
	Discussion:
	  https://tug.org/pipermail/tex-live/2022-February/047780.html

2022-02-18  Vincent Lefevre  <vincent@vinc17.net>

	[algorithms.tex] Updated 2 URLs in comments (http → https).

2022-02-03  Vincent Lefevre  <vincent@vinc17.net>

	Updated a comment: added a ref to WG14/N2921 about large bit-fields.

2022-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/nrandom.c] added reference

2022-01-18  Vincent Lefevre  <vincent@vinc17.net>

	Updated the FIXME in acinclude.m4 for MPFR_CHECK_LIBM.

2022-01-18  Vincent Lefevre  <vincent@vinc17.net>

	Added FIXME in acinclude.m4 for MPFR_CHECK_LIBM.

	With a GCC snapshot:
	  error: infinite recursion detected [-Werror=infinite-recursion]

2022-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed an item (done in the web page for each release)

2022-01-14  Vincent Lefevre  <vincent@vinc17.net>

	doc/mpfr.texi: Updated the month.

2022-01-12  Vincent Lefevre  <vincent@vinc17.net>

	[tests] Added a comment about the output of pointer values.

2022-01-10  Vincent Lefevre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release".

	Added a paragraph about config.guess and config.sub.

2022-01-06  Vincent Lefevre  <vincent@vinc17.net>

	Added a TODO to improve mpfr_pow_si/sj.

	Computing POW_U before the division (instead of after) would reduce
	the error in the intermediate result.

2022-01-06  Vincent Lefevre  <vincent@vinc17.net>

	Updated a comment about a clang bug.

	Updated a comment about a clang bug.

2022-01-06  Vincent Lefevre  <vincent@vinc17.net>

	Copyright notice update: added 2022.

	Command used:
	  perl -pi -e 's/ (\d{4}-)?(2021)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh.
	Removed 2021 from the example in the doc/README.dev file.

2021-12-26  Vincent Lefevre  <vincent@vinc17.net>

	README.dev: added C2x draft URL (N2731).

	Corrected style (spurious space before comma).

2021-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	gnu style

2021-11-25  Vincent Lefevre  <vincent@vinc17.net>

	Move code for git info to its own shell script "version-ext.sh".

	* New version-ext.sh file: sh script to output MPFR version information
	  for a Git working tree (old code from tests/Makefile.am).
	* tests/Makefile.am: replace some output_info code by the use of this
	  script.
	* Makefile.am: add version-ext.sh to EXTRA_DIST as a consequence
	  (a comment explains why).
	* README: list this new version-ext.sh file as a consequence.

2021-11-25  Vincent Lefevre  <vincent@vinc17.net>

	Another fix in the code for git info output by "make check".

	tests/Makefile.am: in output_info, replaced "grep" by "$(GREP)".

2021-11-25  Vincent Lefevre  <vincent@vinc17.net>

	Fixed git info output by "make check".

	tests/Makefile.am: when discarding excluded branches, the match should
	be done on the full branch name, not a subword; so, added the -x grep
	option (specified by POSIX).

2021-11-25  Vincent Lefevre  <vincent@vinc17.net>

	Updated tests_run_within_valgrind() comment in "tests/tests.c".

2021-11-23  Vincent Lefevre  <vincent@vinc17.net>

	README.dev: added note about the formally proven code and requirements.

	Update of INSTALL file about CompCert.

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	doc/mpfr.texi: Updated the month.

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	For git info output by "make check", check for modifications.

	tests/Makefile.am: updated output_info code to add " (modified)"
	when the working tree has been modified (compared to HEAD).

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Added info to doc/README.dev about <branch>-root tags.

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Removed a usless comment about git info output by "make check".

	tests/Makefile.am: removed the comment about the unimplemented
	solution with possible *-branch tags (I think that it would not
	work well with merges).

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Improved code to output git info from "make check".

	tests/Makefile.am: updated output_info code and comment.
	We now use <branch>-root tags to find to correct branch, by excluding
	branches created after the current HEAD.

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Fixed git info output by "make check".

	tests/Makefile.am: in output_info, added a "|| true" on a shell command
	that may fail (grep with no matches).

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Added a FIXME for git info output by "make check".

	The recent additions to tests/Makefile.am work well for master (and
	detached HEAD state), but not for the 4.1 branch, where $gitb gets
	empty, even though testing from an interactive shell (/bin/sh = dash)
	does not show any issue.

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Improved git info output by "make check".

	tests/Makefile.am: modified output_info to output:
	  * the detected branch, which also works in detached HEAD state
	    (for old commits that can be found in multiple branches,
	    "master" is prefered over the other branches);
	  * the total commit count;
	  * the commit id (hash).

2021-11-22  Vincent Lefevre  <vincent@vinc17.net>

	Add git info with "git describe" for "make check" (to be improved).

	tests/Makefile.am: in output_info, add git info, but this does not
	output the branch. For instance, on master, one gets something like
	"4.1-root-491-g2933fad3a", and something similar on the 4.1 branch.
	As the solution needs to work in detached HEAD state, we may want to
	add *-branch tags to identify the first commit of a branch, and use
	  git describe --match '*-branch'
	instead of
	  git describe --match '*-root'

2021-11-15  Vincent Lefevre  <vincent@vinc17.net>

	Documentation: some improvements about the "decimal-point character".

	* doc/README.dev: update about the use in the MPFR manual (mpfr.texi).
	* doc/mpfr.texi: minor correction.

2021-11-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/algorithms.tex] Add \pdfglyphtounicode{lscript}{2113} for \ell.

	Otherwise one gets a grave accent (thus "s − l" cannot be found).
	If the "ℓ" is still an issue, one could alternatively use
	  \pdfglyphtounicode{lscript}{006C}
	to get an "l" (but "l" also matches "ℓ" in xpdf and atril).

2021-11-05  Vincent Lefevre  <vincent@vinc17.net>

	[doc/algorithms.tex] Add some ToUnicode mappings.

	This fixes some regressions compared to old LaTeX versions (in 2009).

2021-10-24  Vincent Lefevre  <vincent@vinc17.net>

	doc/mpfr.texi: Updated the month.

2021-10-24  Vincent Lefevre  <vincent@vinc17.net>

	mpfrlint: fixed git usage.

	The change done in 52138701d9b920d608871b20d4bee30f59adede6 wasn't
	working when the latest commit wasn't on "doc/mpfr.texi".

2021-10-24  Vincent Lefevre  <vincent@vinc17.net>

	mpfrlint: update for git.

	This is used to check that the doc/mpfr.texi UPDATED-MONTH value is
	up-to-date by comparing it with the date of the latest commit.

2021-10-24  Vincent Lefevre  <vincent@vinc17.net>

	In mpfr.texi, added a "@." to avoid a warning from mpfrlint.

	Note: This is not needed at the end of a paragraph like here, but
	this is a general warning, just in case text is added or moved.

2021-10-24  Vincent Lefevre  <vincent@vinc17.net>

	mpfr.texi cleanup: removed the obsolete @refill command.

	This command was needed in the past, but it now generates a warning
	"@refill is obsolete" (as of Texinfo 6.8 - 2021-07-03).
	It is no longer needed, as least since Texinfo 4.2:
	https://ftp.gnu.org/old-gnu/Manuals/texinfo-4.2/html_node/Refilling-Paragraphs.html

2021-10-19  Vincent Lefevre  <vincent@vinc17.net>

	Added .mailmap file.

2021-10-17  Vincent Lefevre  <vincent@vinc17.net>

	Added a TODO/FIXME to add Git information to "make check".

	Partial update of doc/README.dev due to the migration to Inria GitLab.

	Updated README due to the migration to Inria GitLab.

2021-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mparam_h.in] Updated comment about GCC.

2021-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Update about MinGW: the old mingw.org website no longer
	exists, and MinGW has actually been replaced by Mingw-w64, which
	is for both 32-bit and 64-bit Windows.

	[README] Updated URLs.

2021-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	missing url

	added new preprint

2021-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2021-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrected garbled mpfr_set* description.

	Thanks to Rob for noticing:
	  https://sympa.inria.fr/sympa/arc/mpfr/2021-09/msg00003.html

	The cause is a sentence that was inserted at the wrong place in r8225
	(2012-06-25).

2021-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/inp_str.c] Added a FIXME on a deprecated use of ungetc.

2021-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	Autoconf / AX_PTHREAD related update and cleanup.

	* m4/ax_pthread.m4: update to AX_PTHREAD 31, fixing a change
	  from AX_PTHREAD 29, which has eventually been regarded as
	  a bug (workaround in r14481).
	* configure.ac: removed the now unneeded AC_CANONICAL_TARGET;
	  updated the corresponding comment.

2021-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] More about intrinsics (e.g. _addcarry_u64).

	[TODO] + use intrinsics when available (needs a configure test).

2021-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] In a comment with a GMP_CHECK_RANDOMIZE value, mention
	the SVN revision and date, as this value may no longer be valid in the
	future (when tests are added or changed).

	[tests/tests.c] Fixed bad_cases when y is ±0 (rare case).

2021-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated/reduced note about MinGW and stdio.

2021-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Updated information about MinGW and the formatted output
	functions (printf, etc.).

	Thanks to Pali Rohár for the information about -std=c89.

2021-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_set_d128.c] Removed a useless C99 comment, which makes
	the MPFR build fail with "i686-w64-mingw32-gcc -std=c89" (e.g. via
	./configure --host=i686-w64-mingw32, and -std=c89 in CFLAGS).

	[tests/tsprintf.c] In locale_da_DK(), also try da_DK.utf8 (preferably):
	in Debian/unstable, da_DK no longer exists.

2021-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Corrected latest change (typography).

	[doc/mpfr.texi] Detail the mpfr_min and mpfr_max description.

2021-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] Avoid a warning about unused function equal_flt
	when HAVE_SUBNORM_FLT is not defined.

	[tests/tget_flt.c] Code style: replaced "… == 0" by "! …" on
	the Boolean _p functions.

2021-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] Removed bug_icx (duplicate test).

	What was tested was just mpfr_get_flt on a NaN mpfr_t. But this was
	already tested in main(). And one gets the same result and error with
	icx (without -fp-model=strict). Moreover, the old test was correctly
	protected by "#if !defined(MPFR_ERRDIVZERO)", needed because NaN is
	defined by 0.0 / 0.0.

2021-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] In bug_icx: replaced mpfr_set_flt, whose float
	argument was yielding an underflow (not portable), by mpfr_set_si_2exp
	(it is mpfr_get_flt that is tested, not mpfr_set_flt).

	[tests/tget_flt.c] Added FIXME for test added in r14552.

	[tests/tget_flt.c] Portability correction.

2021-08-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	need -fp-model=strict for icx

2021-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Mention "[[noreturn]]".

2021-07-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ieee_floats.h] URL update (http → https).

2021-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Detect when the return value of fclose() or fflush()
	is compared with -1 instead of EOF.

2021-06-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] Portability correction (EOF is not necessarily -1).

2021-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	Punctuation (missing comma after "however").

	[doc/README.dev] No longer use /tmp in examples so that the reader is
	not encouraged to use it. Punctuation.

2021-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Fixed subnormal detection (issue found with icx).

2021-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_d.c] Improved error messages.

2021-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_d.c] Error message when check_inf_nan() fails for NaN.

	Note: With "icx -O2" (at least), 8 tests are now failing with
	Intel(R) oneAPI DPC++ Compiler 2021.2.0 (2021.2.0.20210317).
	But no failures when the compiler is invoked as "clang".

2021-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2021-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] some figures about slowdown with C++ interface

2021-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/data/j1] added more tests

	[tests/tests.c] fixed bug introduced in r13787, which invalidated data_check
	in some cases

2021-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Completed mpfr_fmodquo and mpfr_remquo description.

	[src/rem1.c] Improved comments.

2021-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Cosmetic revert of blank line removal in r14519.

2021-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Fixed buffer_cat: replaced incorrect assertion len > 0
	by a test.

	Note that len == 0 is possible when outputting an integer 0 (either a
	native one or mpfr_prec_t) with precision field = 0. The consequence
	of this bug:
	  * In debug mode (MPFR_ASSERTD assertion checking), one would get an
	    assertion failure.
	  * Otherwise, there should be no side effects since the code was valid
	    for len == 0, possibly except with LTO (very unlikely, though).

	This incorrect assertion was added on 2009-03-13 in r6099.

2021-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Similarly to r14514, added tests of native integer 0
	with precision field 0 (also yields a call to buffer_cat with len = 0).

	[tests/tsprintf.c] For various test functions, changed the return type
	from int to void (when the value is never used).

2021-05-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Updated comment about the output for the 'a'/'A'
	conversion specifier.

	[doc/mpfr.texi] Formatted output functions (mpfr_*printf): completed
	the specification concerning the precision (this was needed because
	the conversion specifier 'b' does not exist in C).

2021-05-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Added a comment about the output for the 'a'/'A'
	conversion specifier, which is completely unintuitive. FIXME?

	[doc/mpfr.texi] Punctuation.

	[tests/tsprintf.c] Added tests of specifier 'P' with precision field 0.

2021-05-11  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] More about mpfr_fda / mpfr_fds.

	[TODO] + Fused divide-add and fused divide-subtract (mpfr_fda, mpfr_fds).

2021-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi,src/mpfr.h] Detail about the mpfr_pown implementation.

2021-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] added missing mpfr_pown (alias for mpfr_pow_sj)

	[manual] added mpfr_powm in NEWS
	(https://sympa.inria.fr/sympa/arc/mpfr/2021-05/msg00000.html)

2021-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month (due to r14505).

2021-04-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sin.c] Added a TODO about range reduction.

2021-04-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Check more infinity strings.

2021-04-26  Vincent Lefèvre  <vincent@vinc17.net>

	[doc] Update about "case insensitive" and issue with Turkish locales
	for "I" / "i".

	  * mpfr.texi: added "with the rules of the C locale" in the
	    mpfr_strtofr description.
	  * README.dev: completed information about Turkish locales.

2021-04-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpowr.c] Added generic tests.

	[src/exceptions.c] Corrected latest comment.

2021-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exceptions.c] Replaced comment about logging (the issue was due to
	the mpfr_check_range macro).

	[src/exceptions.c] Completed comment about a logging issue.

	[src/exceptions.c] Added a comment about a logging issue.

	[src/mpfr-impl.h] Logging: output the flags at "IN" and "OUT".

	[tests/tsgn.c] Also test in a very reduced exponent range.

	[tests/tsgn.c] Also test the flags.

2021-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_str.c] Fixed bug in mpfr_get_str_ndigits introduced in r14494.

	Note: the issue (an uninitialized variable) was detected by GCC 6.5.0;
	recent GCC versions miss the -Wmaybe-uninitialized warning.

2021-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_get_str_ndigits: added an assertion / exploitable compiler hint.

	[src/get_str.c] Improved mpfr_get_str_ndigits code structure.

2021-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	In various functions, use mpfr_equal_p() instead of mpfr_cmp() == 0.

	Note: In these cases, the test should be false if one of the arguments
	is NaN (it is not always clear whether NaN is impossible, but just in
	case, mpfr_equal_p is safer, in particular if the code around changes;
	and this is more readable too).

2021-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_str.c] Use mpfr_equal_p() instead of mpfr_cmp() == 0.

	[tests] Added tpowr to svn:ignore property.

2021-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed bug in mpfr_get_str_ndigits.

	* src/get_str.c: use MPFR_SAVE_EXPO_MARK / MPFR_SAVE_EXPO_FREE to fix
	  2 issues in mpfr_get_str_ndigits: the inexact flag could be raised
	  (bug reported by Pierre Chatelier[*]); undefined behavior in a very
	  reduced exponent range.
	* tests/tget_str.c: check the above issues in the tests.

	[*] https://sympa.inria.fr/sympa/arc/mpfr/2021-04/msg00000.html

2021-04-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added cast to int for __LINE__ in formatted output.

	The standard just says that __LINE__ in an integer constant. So its
	type might be larger than int, even though the value is representable
	in an int (like in MPFR). This concerns logging code, only available
	for GCC compatible compilers, so that there should not be any issue
	without the cast, but just in case...

2021-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/thypot.c] added one test

2021-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	Added m4/ax_pthread.m4 file, and related updates.

	Added m4/ax_pthread.m4 from
	  https://github.com/autoconf-archive/autoconf-archive
	and updated:
	  * acinclude.m4 (in particular, set CXX and CXXFLAGS)
	  * doc/README.dev

2021-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Avoid an issue with ordering of macros we don't use
	explicitly, which appears with ax_pthread.m4 29, i.e. with
	  https://github.com/autoconf-archive/autoconf-archive/commit/2567e0ce0f3a11b535c6b527386197fb49ff172b

2021-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Added a comment about AX_PTHREAD.

2021-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	Get rid of obsolescent AC_HEADER_TIME. Cleanup about sys/time.h usage.

	The AC_HEADER_TIME macro is obsolescent in autoconf 2.69 (2012),
	and autoconf 2.71 (2021) outputs a warning, which makes autogen.sh
	fail due to "--warnings=all,error", so let's avoid the warnings.
	This macro defines TIME_WITH_SYS_TIME, used only in tests/tests.c
	(but actually not needed). We actually have two cases:
	  1. HAVE_GETTIMEOFDAY is defined: we use gettimeofday(), which
	     needs <sys/time.h>.
	  2. Otherwise: we use time(), which needs <time.h>.

	Based on that, we can simplify the condition in tests/tests.c for
	the inclusion of time-related headers, and we no longer need to
	check the <sys/time.h> availability. If gettimeofday() is defined
	but <sys/time.h> is not available (which shouldn't occur), then
	the current gettimeofday() usage may be incorrect anyway.

	Changes:
	  * acinclude.m4:
	      - no longer use AC_HEADER_TIME;
	      - no longer check the sys/time.h header.
	  * tests/tests.c: simplify the inclusion of time-related headers.

2021-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Detect mpn_mul_n with identical 2nd and 3rd arguments,
	which can be replaced by the faster mpn_sqr.

2021-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced "intensional" by "intentional" in comments.

	Untabify and remove trailing spaces.

2021-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/rec_sqrt.c] replace a call to mpn_mul_n with identical arguments by
			 a call to mpn_sqr + similar changes in other files
			 (thanks Fredrik Johansson)

	[tests/trec_sqrt.c] added timing test

2021-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[src/mpfr.h] Comment: no need to write "user" with uppercase letters.

2021-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tset_si.c,tset_sj.c}] Fix when -DMPFR_USE_NO_MACRO is used.

	The mpfr_get_exp() function checks that the argument is a regular
	number, but the corresponding macro doesn't. The test code was
	calling mpfr_get_exp() on 0, thus failed with MPFR_USE_NO_MACRO
	defined. Here, the code was correct with the macro, because the
	value was not used for the particular case 0.

	This is fixed by testing 0 earlier (and doing a goto, but the code
	has fewer tests and should be simpler to understand). Moreover,
	mpfr_get_exp has been replaced by MPFR_GET_EXP, so that the argument
	is checked with --enable-assert.

2021-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{texceptions.c,tset_exp.c}] Forgot to protect the tests with
	casts to "void *", invalid in C++ (completing r14460 and r14461).

2021-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	Clarification about the custom interface and macros.

	* doc/mpfr.texi: added some text in Section "Custom Interface".
	* src/mpfr.h: replaced the remaining FIXME by another comment.

2021-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Ignore GCC's -Wc++-compat in the tests that are invalid in C++
	(these tests are enabled only if __cplusplus is not defined).

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] In C++, do not cast to "void *" in the tests of macros.

	These casts make the build of these tests fail with a C++ compiler.
	But this means that the use of macros will not introduce any issue
	concerning the type of the arguments, i.e. with a C++ compiler, the
	tests are still complete after this change.

	However, GCC's -Werror=c++-compat still cannot be used.
	To avoid this issue, diagnostic pragmas will be needed.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Fixed mpfr_set macro (now only available with __GNUC__).

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset.c] Added tests of the mpfr_set macro.

	Without MPFR_USE_NO_MACRO, the compilation currently fails because
	the second argument is not converted to mpfr_srcptr when MPFR_SIGN
	is applied.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Fixed mpfr_copysign and mpfr_signbit macros.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	Added tests of mpfr_copysign, mpfr_setsign and mpfr_signbit macros.

	Without MPFR_USE_NO_MACRO, the compilation of these tests in tcopysign.c
	currently fails because some arguments are not converted to mpfr_srcptr.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ubf.c] Forgot a cast from UBF pointer to mpfr_t pointer.

	This became visible with the fix of the mpfr_get_prec macro in r14454.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Fixed mpfr_get_prec and mpfr_get_exp macros.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	Added tests of mpfr_get_prec and mpfr_get_exp macros.

	Without MPFR_USE_NO_MACRO, the compilation of these tests
	in texceptions.c and tset_exp.c currently fails because
	the argument is not converted to mpfr_srcptr.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Better implementation of macros changed in r14451.
	__GNUC__ is no longer needed.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Fixed some macros implementing functions.

	Macros mpfr_nan_p, mpfr_inf_p, mpfr_zero_p and mpfr_regular_p were
	incorrect since they yielded a compilation error when the argument
	was of type void *, for instance. Their definition as macros is now
	available only with __GNUC__.
	The tisnan test r14448 should no longer fail.

	Also added a comment for mpfr_sgn, which is correct since documented
	as a macro.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tisnan.c] Added commented code for testing compilation errors.

2021-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr.h] fixed typo

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tisnan.c] Check that when mpfr_nan_p, mpfr_inf_p, mpfr_number_p,
	mpfr_zero_p and mpfr_regular_p is implemented as a macro, it behaves
	like a function.

	[src/mpfr.h] Added a comment and a FIXME for functions implemented
	as macros.

2021-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted r14445: This is about functions implemented as macros, and
	in this case, a macro must behave like a function.

	In particular, each argument must be evaluated one time exactly.
	Macros that behave differently will need to be fixed.

	Tests should also be added like the one in tests/tset_si.c with the
	comment:

	  /* Note: the ++'s below allow one to check that the corresponding
	     arguments are evaluated only once by the macros. */

2021-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] document that functions defined as macros might evaluate
			their arguments several times
	(see https://sympa.inria.fr/sympa/arc/mpfr/2021-03/msg00007.html)

	[src/mpfr.h] fixed typo

2021-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Clarification.

	[TODO] Updated item on pkg-config due to a bug in pkg-config.

	[TODO] Added "add some option to use pkg-config...".

2021-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/invsqrt_limb.h] use "unsigned short" for table T[] instead of mp_limb_t.
	On araignee.loria.fr, this saves about 1 cycle, when GMP 6.2.1 and MPFR are
	configured with --disable-shared, using mbench.

	Before this change (medium of 5 runs, with turbo-boost disabled):
	$ numactl --physcpubind=0 ./mfv5 -i0 -p53 mpfr_sqrt mpfr_sqrt mpfr_sqrt
	 mpfr_sqrt:         48 /    53.39 /    60
	$ numactl --physcpubind=0 ./mfv5 -i0 -p113 mpfr_sqrt mpfr_sqrt mpfr_sqrt
	 mpfr_sqrt:         75 /    81.44 /    89

	After this change:
	$ numactl --physcpubind=0 ./mfv5 -i0 -p53 mpfr_sqrt mpfr_sqrt mpfr_sqrt
	 mpfr_sqrt:         48 /    52.37 /    60
	$ numactl --physcpubind=0 ./mfv5 -i0 -p113 mpfr_sqrt mpfr_sqrt mpfr_sqrt
	 mpfr_sqrt:         75 /    80.27 /    88

2021-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpfr-test.h] Added mpfr_cmp_si_2exp0 macro (check NaN).
	[tests/tj1.c] Replaced mpfr_cmp_si_2exp by mpfr_cmp_si_2exp0.

	[tests/tdigamma.c] Use mpfr_cmp_ui0 to detect NaN.

	[src/digamma.c] Use MPFR_NOTZERO instead of !MPFR_IS_ZERO.

2021-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/jyn_asympt.c] fixed bug when s=0 at the end of the for loop
	[tests/tj1.c] added corresponding non-regression test

	[src/digamma.c] fixed a bug in mpfr_digamma_reflection when the approximations
			of Digamma(1-x) and Pi*cot(Pi*x) cancel exactly
	[tests/tdigamma.c] added corresponding non-regression test

	renamed mpfr_compound to mpfr_compound_si, since in C2X, compoundn takes
	an intmax_t and not a long, thus we can later implement mpfr_compoundn
	taking as input an intmax_t

2021-02-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/texpm1.c] Improved special tests.

2021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/pow_sj.c] removed spurious comment

2021-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{pow_sj.c,pow_uj.c}] Added missing "#ifdef _MPFR_H_HAVE_INTMAX_T".

	[doc/mpfr.texi] General cleanup, in particular related to the IEEE 754
	standard. Added IEEE Standard 754-2019 to the references.

	[src/pow_{si,sj,ui,uj}.c] Fixed logging for mpfr_pow_{sj,uj}.

	[src/pow_uj.c] untabify

	[tests/tpow.c] Replaced mpfr_cmp_ui by versions that can detect NaN.
	Note: this is particularly important to check that pow(NaN,0) returns 1,
	not NaN.

	[src/pow_uj.c] Some corrections in the mpfr_mpz_set_uj helper function,
	still with limitations (which could be avoided by sharing code with
	mpfr_set_uj_2exp).

2021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	forgot to commit those files

	added mpfr_powr

2021-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{pow_si.c,pow_ui.c}] untabify

2021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_pow_uj and mpfr_pow_sj
	now mpfr_pown is an alias for mpfr_pow_sj

2021-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi,src/mpfr.h] Added a FIXME for mpfr_pown, which should
	be an alias of mpfr_pow_sj (not implemented yet) to follow ISO C2x,
	where pown is defined with intmax_t n.

2021-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_pown (alias for mpfr_pow_si)

2021-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Updated comments on the types for mpfr_prec_t/mpfr_exp_t.

	  * For mpfr_prec_t, removed the comment saying that under Windows 64,
	    "long long" could be used (this would imply that mpfr_prec_t and
	    mpfr_exp_t will not fit in a long, and this is not supported yet,
	    see below).

	  * For mpfr_exp_t and _MPFR_EXP_FORMAT == 4, changed an unclear note
	    and added other information; in particular, this value is currently
	    not supported since the MPFR code assumes that mpfr_exp_t fits in a
	    long.

2021-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added texp2m1 and texp10m1 to svn:ignore property.

	[src/jyn_asympt.c] Use mpfr_set4 instead of mpfr_set or mpfr_neg.

	[tests/tj0.c] Latest test: also check the flags.

	[src/digamma.c] Added a comment about the bug fixed in r14399.

	[tests/tdigamma.c] Latest test: also check the flags.

	[tests/tdigamma.c] Moved the r14399 test to its own test function.
	Note: for this one, there is no need to use the maximum exponent range.

	[src/digamma.c] Use MPFR_NOTZERO instead of !MPFR_IS_ZERO.

2021-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/jyn_asympt.c] fixed bug when sin(z)+cos(z) or sin(z)-cos(z) round to 0
	[tests/tj0.c] added corresponding non-regression test

	[src/digamma.c] fixed bug in mpfr_digamma_positive when t-u is zero
	[tests/tdigamma.c] added corresponding non-regression test

2021-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/digamma.c] Fix: increased GUARD from 20 to 30.
	[tests/tdigamma.c] Added 2 precisions for which GUARD=20 is not
	sufficient, yielding a "too much memory" error.

2021-02-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/digamma.c] Punctuation in a comment.

2021-02-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/digamma.c] fixed bug20210206

2021-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/digamma.c] Added a FIXME for mpfr_digamma_positive: q can be
	too large, e.g. equal to the maximum exponent!

	[src/digamma.c] In mpfr_digamma_positive, log the value of q.

	[src/digamma.c] In mpfr_digamma_positive, do not compute the precision q
	until we are certain that it will be used.

	[src/digamma.c] In mpfr_digamma_positive, added an assertion, as a
	precision is set from the exponent of x, and I suppose that it may
	be larger than MPFR_PREC_MAX when mpfr_exp_t > mpfr_prec_t.

	[tests/tdigamma.c] Added testcase for a bug found by test_generic.

	[tests/tgeneric.c] Added debug info.

2021-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exp2m1.c] Use block-level flags.

2021-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new function mpfr_exp10m1

	[tests/texp2m1.c] added a test for exact values

2021-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added mpfr_mul_uj and mpfr_mul_sj.

	[src/log.c] Optimization: avoid a temporary variable for a*2^m;
	use an alias to a instead. In corner cases, this could yield a
	new internal TMD for the mpfr_div when the precision of a is
	very large, but this is avoided by changing the RNDN to RNDF.
	The error bound of 2 ulp on the mpfr_div should still be valid
	(it should now actually be 1 ulp).

2021-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new function mpfr_exp2m1 for 2^x-1

2021-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Fixed length modifier in error messages.

	[src/log10p1.c] In mpfr_log10p1_small: an "else" case is better than
	a "goto"; do not initialize inex to an arbitrary value.

	[src/compound.c] Exact cases: additional detail in the comment.

	[src/compound.c] Exact cases: this is simpler without a separate
	function (the t = 0 was artificial). Added full explanations.

2021-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/compound.c] removed FIXME corresponding to previous commit

	[src/compound.c] fixed infinite loop for exact results like compound(0.5,2)
			 which are not powers of 2

2021-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/compound.c] Fixed 2 issues with mpfr_compound_near_one:
	  * this function must be called in the extended exponent range,
	    to be sure that 1 is representable;
	  * it wasn't setting the inexact flag, and this is now done via
	    mpfr_check_range.

	[src/compound.c] Added missing MPFR_ZIV_FREE before the "return" in
	the Ziv loop.

	[tests/tcompound.c] Added generic tests with n = 2 and n = 3.
	They trigger a failure: bad inexact flag for mpfr_compound2.

	[src/compound.c] Added a FIXME: possible infinite loop when the result
	is exact.

	[src/compound.c] Optimize the easy case n = 1.

	[src/compound.c] Special cases: fixed compound(-Inf,0) and improved
	comments.

	[tests/tcompound.c] More tests of compound(x,n) for x < -1, showing
	a failure on compound(-Inf,0).

	[doc/README.dev] Note that the logging feature (--enable-logging)
	needs GCC to build MPFR, and it is not available with mini-gmp,
	since mpfr_fprintf cannot be defined with mini-gmp.

2021-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcompound.c] Fixed a test in the case mpfr_exp_t < long.

	[tests/tcompound.c] Corrected an error message.

	[src/compound.c] Fixed bug found by clang:
	compound.c:32:29: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
	  if (rnd_mode == MPFR_RNDN || MPFR_RNDF
	                            ^  ~~~~~~~~~

	[tests/tatan2u.c] Fixed a bug (as of C99, for *decimal* constants, one
	must use a suffix that contains "U" if the constant cannot be signed).

	[tests/tcompound.c] Corrected the conditions of a test for machines
	with 32-bit long. Added comments.

	[tests] Added tlog10p1 to svn:ignore property.

	[tests/tatan2u.c] Improved comment in bug20210203 about type sizes.

	[tests/tatan2u.c] Make sure that the bug20210203 test is run only
	when the value for u is representable.

2021-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added section number

	[src/compound.c] fixed case n < 0 and underflow
	[tests/tcompound.c] added corresponding non-regression tests

	compound(NaN,0) is 1

2021-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/compound.c] Correction for n = LONG_MIN. Added FIXMEs.

2021-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tcompound.c] fixed comment

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/atan2u.c] fixed error analysis

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/compound.c] Portability.

	[tests/tatan2u.c] Make sure that 64-bit constants are supported before
	using one.

	[src/log10p1.c] Improved checking / debugging support.

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tatan2u.c] added a test which currently fails

	[src/log2p1.c] added note about underflow

	added a new function mpfr_log10p1 to compute log10(1+x)

	[tests/tlog2p1.c] set the precision locally to one test

	[doc/mpfr.texi] document atan2u and atan2pi

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typography.

	[doc/mpfr.texi] In Section "Added Functions", do not put the patchlevel
	in MPFR versions (changed "4.2.0" to "4.2").

	[src/log2p1.c] Bug fix: memory accessed after it is cleared.

	[src/log2p1.c] More logging.

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] document mpfr_compound

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_prec.c] Log the precision.

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/compound.c] completed the general case
	[tests/tcompound.c] added one hard-coded test

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added tcompound and tlog2p1 to svn:ignore property.

	[tests/tlog2p1.c] Use mpfr_cmp_si0 to detect NaN.

	[tests/tcompound.c] Do not use mpfr_printf in the tests.

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/log2p1.c] use ULSIZE as in atan2u.c

	[src/atan2u.c] better explain the choice of prec in mpfr_atan2u_aux3

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/compound.c] Fixed logging.

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/atan2u.c] simplified code

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/atan2u.c] Support unsigned long != 64-bit type. Avoid a warning.

2021-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tlog2p1.c] added tests for exact cases

	added log2p1 and compound (mpfr_compound is not finished yet)

	[src/log1p.c] fixed comment

	[src/atan2u.c] deal with underflow and overflow in y/x

2021-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/atan2u.c] Added a FIXME: the code is incorrect if y/x yields
	an overflow or an underflow.

	[src/atan2u.c] Fixed 2 bugs in mpfr_atan2u_aux2. Minor changes.

	[src/atan2u.c] Minor corrections in comments.

2021-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added tatan2u and tatanu to svn:ignore property.

	[tests/tatan2u.c] Do not use mpfr_printf in the tests.

	[src/atan2u.c] Use MPFR_RET_NEVER_GO_HERE.

	[tests]
	  * tgeneric.c: cleanup about the type of the arguments; added support
	    for functions with 3 arguments (x1,x2,u), such as mpfr_atan2u.
	  * tatan2u.c: enabled the generic tests (test_generic).

2021-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/atan2u.c] fixed atan2u with respect to the four quadrants
	[tests/tatan2u.c] added corresponding non-regression tests

	added mpfr_atan2u (work in progress)

	[src/atanu.c] fixed bug for u=0
	[tests/tatanu.c] added non-regression test case

2021-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	Changed "plus/minus infinity" to "positive/negative infinity".

	[tools/mpfrlint] In the "+/- infinity" test (just added), also check
	the doc/algorithms.tex file.

	[tools/mpfrlint] Added a test for the use of "plus/minus infinity"
	instead of "positive/negative infinity".

	[doc/mpfr.texi] Minor corrections related to infinity. The IEEE 754-2019
	standard says "positive/negative infinity", not "plus/minus infinity".

2021-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typos.

	[{src,tests}/Makefile.am] Untabified values of variables to avoid
	wrapping in diffs on 80 columns.

2021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] asinpi, acospi and atanpi are done (and their *u variants)

	[src/atanu.c] added comment

	[src/acosu.c] simplified the code when x is tiny

	added mpfr_atanu and mpfr_atanpi

2021-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Correction about mpfr_get_* and NaN.

2021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/asinu.c] improved a comment

	[src/asinu.c] fixed typo

	[src/asinu.c] resolved FIXME
	[tests/tasinu.c] added more underflow tests

2021-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ld.c] Replaced a useless goto.

	Code readability.

2021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_ld.c] added comment about LONGDOUBLE_NAN_ACTION

2021-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typography.

	[doc/mpfr.texi] Updated the month.

2021-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_ld.c] forgot get_ld in previous commit

	make it clear that we don't propagate the sign bit in mpfr_get_d and mpfr_set_d
	and similar functions for binary32, decimal64 and binary128

	added asinu and asinpi

	[src/asinu.c] return NaN for u=0 and |x| > 1
	[tests/tasinu.c] added more tests

	[src/acosu.c] for u=0 and |x| > 1, return NaN
	[tests/tacosu.c] added corresponding test

2021-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Use RND_LOOP.
	Changes with:
	  perl -pi -e 's/^( *)for *\((\w+) *= *0 *; *\2 *< *MPFR_RND_MAX *; *\2 *\+\+\) *$/\1RND_LOOP (\2)/' *.c

	[tests] Added tacosu and tasinu to svn:ignore property.

	[tests/mpfr-test.h] Added mpfr_cmp_si0 macro (check NaN).
	[tests/tasinu.c] Replaced mpfr_cmp_ui / mpfr_cmp_si by the ...0 version.

	[tests/tasinu.c] Replaced mpfr_cmp by !mpfr_equal_p.

	[tests/tacosu.c] Replaced mpfr_cmp by !mpfr_equal_p.

	[tests/tacosu.c] Fixed failing test with --with-mini-gmp
	and -DMINI_GMP_LIMB_TYPE=int under Linux/x86_64.

	[tools/mpfrlint] Detect the use of mpfr_set_emin / mpfr_set_emax
	when set_emin / set_emax could be used (checking failures).

	[tests/tdiv.c] Use set_emax rather than mpfr_set_emax with a test.

	[tests/*.c] When not in a test, use set_emin and set_emax rather than
	mpfr_set_emin and mpfr_set_emax, in order to check failures.
	Done with: perl -pi -e 's/^ *\Kmpfr_(set_e(min|max) *\()/\1/' *.c

	[tests/tests.c] Improved error message in set_emin / set_emax to
	better support platforms where mpfr_exp_t > long int.

	[tests/tcot.c] Use set_emin and set_emax rather than mpfr_set_emin and
	mpfr_set_emax with a test (test done in set_emin / set_emax).

	[src/{acosu.c,asinu.c,cosu.c,sinu.c,tanu.c}] Typos in comments.

	[tests/tasinu.c] Use set_emin rather than mpfr_set_emin.

2021-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/acosu.c] fixed case x=-1/2 which was wrong
	[tests/tacosu.c] added test cases

2021-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tacosu.c] reduced number of generic tests
	[tests/tasinu.c] likewise

	[src/asinu.c] fixed case x=-1 and underflow case
	[tests/tasinu.c] added test for underflow

2021-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added asinu (work in progress, not yet usable)

	[doc/mpfr.texi] improve description of mpfr_acosu

	[src/acosu.c] fixed another typo

	[src/acosu.c] fixed typo

2021-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/acosu.c] Simplified code.

	[tests/tgeneric.c] Added a cast for printf.

	[tests/tgeneric.c] Corrected indentation.

	[tests/tgeneric.c] Corrected indentation.

2021-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added cosu and cospi in the manual and NEWS

	new function mpfr_acosu (still to be added in NEWS and mpfr.texi)

2021-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{cosu.c,sinu.c,tanu.c}] Function logging: added missing u.

	[TODO] LIA-2 URL after redirection (i.e. https).

2021-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added pointer to LIA-2

2021-01-26  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL,doc/update-faq,tools/announce-text] With wget, use
	the --no-config option as the user's .wgetrc file may significantly
	change the behavior and possibly yield errors. See discussion at
	<https://lists.debian.org/debian-user/2021/01/msg01021.html>.

2021-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] update about powr, rootn and rsqrt

	[TODO] update about reserved cr_xxx names from C standard

2021-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{cosu.c,sinu.c,tanu.c}] Range reduction: improved a test, renamed
	a variable (e to p, as this is more like a precision), and updated
	comments, making the code and comments similar for these 3 functions.

	Added function logging for mpfr_fmod_ui and mpfr_sqrt_ui.

2021-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/memory.c] Call "fflush (NULL)" before abort() in order to flush
	all the output streams, in particular the log file (when there is one),
	so that setting MPFR_LOG_FLUSH (which may be inefficient) is not needed
	to debug tests that end with a memory error.

	This fixes a regression with glibc 2.27+: the streams are no longer
	flushed by abort(), as permitted by POSIX; see the abort(3) man page.

2021-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src] Fixed typo in mpfr_printf format from MPFR_LOG_FUNC for several
	functions.

	[doc/mpfr.texi] Completed mpfr_fmod_ui description.

	[src/cosu.c] Fixed bug when the reduced argument is 0.

	[tests/tcosu.c] Added tests that give a reduced argument equal to 0.

	[src/cosu.c] Fixed memory leak with very small reduced arguments.

2021-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tcosu.c] increase nmax in test_generic call
	[tests/tsinu.c] likewise
	[tests/ttanu.c] likewise

2021-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tcosu.c,tsinu.c,ttanu.c}] For the generic tests, no need
	to reduce emax any longer, now that the fast range reduction has
	been implemented.

	[src/tanu.c] Implemented range reduction for mpfr_tanu.

	[src/{cosu.c,sinu.c}] Corrected the position of a comment.

	[src/cosu.c] Implemented range reduction for mpfr_cosu.

2021-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sinu.c] removed FIXME (done)

2021-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS,doc/mpfr.texi] For the new trigonometric functions mpfr_cosu,
	mpfr_sinu, mpfr_tanu, mpfr_cospi, mpfr_sinpi, mpfr_tanpi, removed the
	"experimental" mention. In mpfr.texi, also added missing functions to
	Section "Added Functions" (API Compatibility).

	[doc/mpfr.texi] Style consistency: more "[unsigned] long int"
	instead of just "[unsigned] long".

	[doc/mpfr.texi] Style: use always "[unsigned] long int" in prototypes
	rather than sometimes just "[unsigned] long".

	[NEWS,doc/mpfr.texi] New function mpfr_fmod_ui.

2021-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	Implemented range reduction for mpfr_sinu (and defined mpfr_fmod_ui).

	This is done by computing x mod u; and a new function mpfr_fmod_ui
	has been defined for this purpose. As mpfr_fmod_ui could be useful
	to the user, its declaration is put in src/mpfr.h, with the intent
	to document this new function later.

	In the src directory:
	  * Added fmod_ui.c file (mpfr_fmod_ui function) based on sqrt_ui.c
	    (hence the same copyright line).
	  * Makefile.am: added fmod_ui.c to libmpfr_la_SOURCES.
	  * mpfr.h: added mpfr_fmod_ui.
	  * sinu.c: implemented range reduction for mpfr_sinu.

2021-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsinu.c] Added tests where x/u is a "big" integer, so that
	the reduced argument is 0 (exactly).

	[tests/tsinu.c] Added a test on a large input such that x mod u may need
	more precision than x. This will be important to test range reduction.

	[src/sqrt_ui.c] Coding style.

	[src/{cosu.c,sinu.c,tanu.c}] Changed MPFR_PREC to MPFR_GET_PREC.

2021-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tcosu.c,tsinu.c,ttanu.c}] C90 compatibility for the tests with
	large inputs (added in r14236). Also avoid the hardcoded size by using
	the numberof() macro.

2021-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tcosu.c] added hard-coded tests with large inputs
	[tests/tsinu.c] likewise
	[tests/ttanu.c] likewise

2021-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_ld.c] added pointer to "double double" format

2021-01-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc] Updated FAQ.html with update-faq.

2021-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2021 with
	  perl -pi -e 's/ (\d{4}-)?(2020)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh. Removed 2020 from the example in the doc/README.dev file.

	[src/mpfr-impl.h] Removed a now useless test on __clang__, corresponding
	to a bug fixed in Clang 3.4 (see <https://bugs.debian.org/705583>).

2020-12-20  Vincent Lefèvre  <vincent@vinc17.net>

	Optimize mpfr_abs, mpfr_copysign and mpfr_setsign in the case of reused
	argument, like what was already done for mpfr_neg: one can just set the
	sign and handle NaN instead of calling mpfr_set4.
	Completed tests/tcopysign.c to test with a reused argument.

	[src/cosu.c] Avoid a possible integer overflow (triggered by the tests
	with UBsan) from r14225.

2020-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed initial precision in sinu, cosu and tanu
	also in cosu, treat special case when 2*pi*x/u is small

2020-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgeneric.c] Removed the use of __func__ as it is not supported
	by ISO C90 (it was not really useful here, though).

	[tests/tcosu.c] Increased the maximum precision for test_generic and
	added a comment about this.

	[tests] Added tcosu, tsinu and ttanu to svn:ignore property.

	For the generic tests, output the number of normal cases and the total
	if the MPFR_TGENERIC_STAT environment variable is defined.
	Added description to the README.dev file.

	[tests/tcosu.c] Increased the number of generic tests. This should make
	the warning "Too few normal cases in generic tests" much less common.

	[tests]
	  * Added data/tan2pi: hardest-to-round cases of tanu with u = 1
	    in double precision, interval [0,1/4].
	  * ttanu.c: test tan2pi values with u = 1.

	[tests/ttanu.c] C89 compatibility.

2020-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Removed spurious blank line; .texi source reformat.

	[doc/mpfr.texi] Typography: "resp." must be followed by "@:".

	[doc/check-typography] Also check "resp.".

	[doc/mpfr.texi] Removed misplaced @tie{}.

2020-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] fixed another typo

	[doc/mpfr.texi] fixed typos

	added sinpi, cospi, tanpi

	added new function mpfr_tanu

	[src/sinu.c] improved comment

2020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sinu.c] added reference

	[src/sinu.c] fixed compiler warning
	[src/cosu.c] deal with other exact cases
	[tests/tcosu.c] added tests for other exact cases

	[src/sinu.c] fixed bug in detection of pi/6 and friends

2020-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] mpfr_cosu and mpfr_sinu: improved item.

2020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsinu.c] added more tests

	[src/sinu.c] fixed case where 2xpi/u is +/-pi/6 mod pi
	[tests/tsinu.c] added corresponding test case

2020-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests]
	  * Added data/{cos2pi,sin2pi}: hardest-to-round cases of cosu and sinu
	    with u = 1 in double precision, interval [0,1/2].
	  * tcosu.c, tsinu.c: test cos2pi and sin2pi values with u = 1.

	[tests/tests.c] test5rm(): mention test5rm in the error message.

	[src/{cosu.c,sinu.c}] Added function logging.

2020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new function mpfr_cosu

	[src/sinu.c] fixed typo in comment

	[tests/tsinu.c] fixed typos in comments

2020-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sin_cos.c] Code improvement:
	  * replaced a MPFR_PREC(c) by m since the precision of c was set to m;
	  * as a consequence, the initial precision of xr in the Ziv loop will
	    always be m (whether expx >= 2 or not), so that one can use this
	    precision for the mpfr_init2.

2020-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sinu.c] forgot to count the rounding error in mpfr_sin (t, t, MPFR_RNDA)

	[src/sinu.c] fixed issue with case t=0

2020-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{sin.c,sin_cos.c}]
	  * Do not initialize variables with the default precision, which
	    could have been set to a large value by the user; this would
	    be a waste of memory.
	  * In sin.c, do not initialize xr in the case where this variable
	    will not be used (in sin_cos.c, let's initialize it with the
	    minimum precision as it is used with different purposes).

	[src/{ai.c,yn.c}] Do not initialize variables with the default
	precision, which could have been set to a large value by the
	user; this would be a waste of memory.

	[tools/mpfrlint] Added a test to detect when mpfr_init or mpfr_inits is
	used, i.e. when a variable is initialized with the default precision.
	This should not be done as the default precision could have been set to
	a large value by the user, so that this is a waste of memory.

	[src/sinu.c] Correction: variables must not be initialized with the
	default precision, which could have been set to a large value by the
	user, and this would be a waste of memory.

2020-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sinu.c] Fixed 2 bugs:
	  * in case of underflow, the flags were not set;
	  * mpfr_odd_p(t) could be called with t = 0, which is unsupported.

2020-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sinu.c] fixed typo (thanks Jeffrey Sarnoff)

2020-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sinu.c] Added a FIXME: the range reduction should be done in this
	function (that's the whole point of sinu compared to sin, besides a
	smaller rounding error).

	[tests/tsinu.c] Added a FIXME concerning the size of the exponent.

	[doc/mpfr.texi] Typographic correction of math formulas.

	[doc/mpfr.texi] mpfr_sinu: corrections and improvements.

	[doc/mpfr.texi] Updated the month.

2020-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] added mpfr_sinu
	[doc/mpfr.texi] improve documentation of mpfr_sinu, and say it is experimental

	added mpfr_sinu (work in progress)

2020-12-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta.c] Minor correction of a comment.

2020-12-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Added a comment about Intel's compiler ICC and the
	unsupported returns_nonnull attribute.

2020-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added an item to add "const" in prototypes in the manual.

	[doc/mpfr.texi] mpfr_subnormalize: define EXP(x) and PREC(x).

	[doc/mpfr.texi] More detailed beginning of "Nomenclature and Types",
	which now specifies the convention for the significand and the exponent.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Document the mpfr_srcptr type.

2020-10-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/talloc-cache.c] Check that malloc() doesn't return a null pointer
	(in order to avoid an error with GCC's -fanalyzer, dev version).

2020-10-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/invert_limb.h] Added a comment about r14171.

	[src/invert_limb.h] Fixed potential issues introduced in 14170.
	  * The code isn't valid with 16-bit int (allowed by ISO C). So,
	    make sure with MPFR_STAT_STATIC_ASSERT that unsigned int is
	    large enough for invert_limb_table2.
	    Note: since the code is under "#if GMP_NUMB_BITS == 64",
	    this is unlikely to affect any system in practice, as
	    GMP_NUMB_BITS == 32 (or 16, if supported) should be better
	    on such a system.
	  * Make sure that the "<< 11" shifts do not overflow.

2020-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/invert_limb.h] patch from Alexei Sibidanov, which reduces memory usage,
	without degrading performance

2020-10-23  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Replaced WG14 N2405 reference by the new N2579.

2020-10-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.

	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.

	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.

2020-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated mpfr_rootn_ui description about "agree with
	the rootn function", now that IEEE 754-2019 is there (needed as
	rootn was underspecified in IEEE 754-2008, so that TS 18661-4
	incorrectly specified the case rootn(-inf, n even); see WG14 N2309
	from the C FP group for the correction).

2020-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

2020-10-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note about _Float128 vs long double.

	[src/mpfr-impl.h] Added a TODO for the numberof() macro: make it a
	constant expression and possibly change its type "long" to "ptrdiff_t".

	[doc/mpfr.texi] Minor changes in Section "Formatted Output Functions".

	[NEWS] Update.

	[doc/mpfr.texi] Section "API Compatibility", formatted output functions
	(mpfr_printf, etc.): completed r14155.

	[doc/mpfr.texi] Updated the month.

	[src/vasprintf.c] Improved comment for READ_INT.

2020-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed the formatted output functions (mpfr_printf, etc.) in the case
	the precision consists only of a period.
	  * doc/mpfr.texi: correction and clarifications (be closer to ISO C);
	    note the change in Section "API Compatibility".
	  * src/vasprintf.c: fixed the bug.
	  * tests/tsprintf.c: update.

2020-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src] Consistency: in prototypes, changed
	  mpz_t to mpz_ptr (mpfr-impl.h, pool.c);
	  mpfr_random_deviate_t to mpfr_random_deviate_ptr (random_deviate.c).

	Note: This completes the changes I had done in r14103 (2020-08-21) for
	mpfr_t. This time, the issue was detected by a GCC 11 snapshot, thanks
	to the -Warray-parameter option (included in -Wall), which was added
	on 2020-09-19 in GCC commit 6450f07388f9fe575a489c9309c36012b17b88b0.

2020-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Updated a comment.

	Added tests/gen-printf-dot-prec Perl script to generate a .c file
	showing printf and mpfr_printf output with:
	  * a missing precision field;
	  * a precision field with just a period (".");
	  * a precision field with an explicit precision 0 (".0").

2020-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_z_2exp.c] Fixed typo detected by GCC.

	[src/set_z_2exp.c] Fixed overflow/underflow detection in exponent ranges
	where emax < 0 or emin >= 0 (bug introduced in r14145).

	[tests/tset_z_2exp.c] Added some tests in a reduced exponent range (and
	improved existing tests).
	Note: Due to an incorrect change in set_z_2exp.c r14145, various tests
	are failing with mini-gmp (for which mpfr_set_z_2exp is used more often
	because a long does not fit into a limb) in unusual exponent ranges. So
	such tests were obviously missing in tset_z_2exp.c before this commit.

2020-09-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_z_2exp.c] Fix: avoid possible integer overflows.

	[tests/tset_z_2exp.c] Test a result.

	[doc/README.dev] Added how to convert an unsigned integer to the
	corresponding signed integer with the two's complement rule (i.e.
	modular arithmetic) but in a portable way.

	[tests] Updated svn:ignore property due to the rename in r14125.

2020-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_z_2exp.c] Added another test that fails with just
	"-m32 -fsanitize=undefined -fno-sanitize-recover".
	This corresponds to what is described in the FIXME in src/set_z_2exp.c
	(about the modified tnrandom.c test yielding an integer overflow).

	[tests/tset_z_2exp.c] Added a test that triggers an integer overflow
	in set_z_2exp.c with MPFR_CHECK_LARGEMEM=1 when MPFR is compiled with
	"-m32 -fsanitize=undefined -fno-sanitize-recover -D_MPFR_EXP_FORMAT=4"
	in CFLAGS:
	  set_z_2exp.c:71:26: runtime error: signed integer overflow:
	  134217726 * 32 cannot be represented in type 'long int'

2020-09-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exp2.c] Added support for -D_MPFR_EXP_FORMAT=4 in the 32-bit ABI,
	i.e. 32-bit long, so that the MPFR compilation no longer fails due to
	a static assertion in this file. Note: many tests fail (not texp2),
	but at least this allows some testing of various functions.

2020-09-23  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Update concerning MinGW and the __USE_MINGW_ANSI_STDIO macro.

	The change done in r13668 seems to be a bit wrong (at least unclear).
	This was done after finding
	https://fr.osdn.net/projects/mingw/lists/archive/users/2019-January/000199.html
	saying that __USE_MINGW_ANSI_STDIO became deprecated, during a
	discussion on the vsnprintf() behavior:
	https://gmplib.org/list-archives/gmp-bugs/2020-January/004716.html

	However, it seems that printf() conformity issues have completely been
	resolved only recently, in version 8.
	http://mingw-w64.org/doku.php says:
	  Version 8 has been released
	  v8.0.0: 2020-09-18
	  Notable changes:
	  [...]
	    * __USE_MINGW_ANSI_STDIO now automatically enabled in C99 and C11
	      mode when not using UCRT by Pali Rohár
	  [...]

	Compiling
	  #include <stdio.h>
	  int main (void) { volatile double d = -1.25; printf ("%e\n", d); }
	gives with mingw-w64 version 7: -1.250000e+000
	  and with mingw-w64 version 8: -1.250000e+00

	So, when testing MPFR with mingw-w64 version 8 but with GMP still built
	with mingw-w64 version 7 (and static libraries), one gets a failure in
	tsprintf:
	  Error in mpfr_vsprintf (s, "%e", ...);
	  expected: "-1.250000e+00"
	  got:      "-1.250000e+000"
	because the expected result has changed (it comes from sprintf used in
	the MPFR test, which is now ISO-compliant).

2020-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_z_2exp.c] Added a FIXME: possible integer overflow, which
	can be reproduced with a 32-bit ABI by defining MPFR_PREC_MAX as
	((mpfr_prec_t) ((((mpfr_uprec_t) -1) >> 1) - 63)) and in tnrandom.c,
	using "test_special (MPFR_PREC_MAX);".

2020-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mini-gmp] Say that the build with mini-gmp may require ISO C99+
	features (as "long long" is currently needed by src/get_ld.c in the
	case GMP_NUMB_BITS == 8).

	For consistency, changed "C89" to "C90" in comments of *.{c,h} files.

	[doc/mpfr.texi] Changed C89 to C90, as when mentioning ISO, one must
	say C90 (C89 is the ANSI version). The GCC manual uses "C90" rather
	than "C89", so this is probably better anyway.

	[src/get_ld.c] Bug fix with GMP_NUMB_BITS == 8 (thus mini-gmp) and
	32-bit long (e.g. with -m32 on x86_64).

2020-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	Renamed some .c files for consistency:
	  src/get_z_exp.c     →  src/get_z_2exp.c
	  src/set_z_exp.c     →  src/set_z_2exp.c
	  tests/tset_z_exp.c  →  tests/tset_z_2exp.c
	and updated src/Makefile.am and tests/Makefile.am files.

	[src/random_deviate.c] The latest change r14123 was actually incorrect:
	the real issue was non-portable code (with an incorrect comment) to
	convert an unsigned integer to a signed, negative integer. Incorrect
	behavior could occur with some C implementations and/or when mpfr_exp_t
	does not have the same size as long. So, fixed this portability issue,
	and avoid an assertion failure in a very rare case.

	[src/random_deviate.c] Corrected an assertion. → Test failures.

	[tests/tests.c] Added a note about tests done in "src/init2.c".

	[src/init2.c] Check that __MPFR_EXP_MAX  == MPFR_EXP_MAX too.

	[tests/tget_z.c] Updated comment to mention that mpfr_get_z_2exp is
	tested by this file.

	[src/mpfr-mini-gmp.c] Fixed bug in gmp_urandomb_ui when the parameter n
	is equal to the width of unsigned long.
	Note: This case occurs in function random_deviate_generate() from
	src/random_deviate.c with a 32-bit ABI (thus 32-bit unsigned long)
	since n = W, which is defined as 32.

2020-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.c] Simplified gmp_randseed_ui (note: the code in
	r14114 and r14115 was not the intended one due to the wrong variable
	in srand).

	[src/mpfr-mini-gmp.c] Corrected latest change for gmp_randseed_ui.

	With mini-gmp, use the standard rand() and srand() functions instead of
	the POSIX (thus less portable) lrand48() and srand48().

2020-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
	Note: this includes URL updates.

	Updated URLs.

	[src/sub1sp.c] Updated a URL (http → https).

	[doc/README.dev] Updated URLs.

	[configure.ac] Updated a URL (http → https).

	[configure.ac] Updated a URL concerning the "Intel® C++ Compiler 9.0
	for Linux Release Notes" (the URL was not archived).

	Updated a freebsd.org URL (bug tracker).

2020-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src,tests] Consistency: in prototypes, changed
	  const mpfr_t  to  mpfr_srcptr
	  mpfr_t        to  mpfr_ptr
	(except for mpfr_t *), as this is equivalent (the array is converted
	to a pointer) and the mpfr_srcptr/mpfr_ptr form is the usual one.

2020-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note about "string + integer" expressions.

	[tests/tsprintf.c] Replaced another occurrence of the code triggering
	the warning "adding 'int' to a string does not append to the string
	[-Wstring-plus-int]" with Clang (at least with 3.5 and above).

2020-08-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed a compiler warning found by Clang 10.0.1 on armv8-a (Samsung S8
	aarch64-unknown-linux-android):

	tsprintf.c:1613:27: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
	        strcat (buf, ",0" + (j % 3 != 0));
	                     ~~~~~^~~~~~~~~~~~~~

2020-08-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed a compiler warning found by Clang 10.0.1 on armv8-a (Samsung S8
	aarch64-unknown-linux-android):

	./tgeneric.c:208:40: warning: implicit conversion from 'mp_limb_t' (aka 'unsigned long') to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-int-float-conversion]
			(double) randlimb () / MPFR_LIMB_MAX;
	                                     ~ ^~~~~~~~~~~~~
	../src/mpfr-impl.h:1277:28: note: expanded from macro 'MPFR_LIMB_MAX'
	#define MPFR_LIMB_MAX     ((mp_limb_t) -1)
	                           ^~~~~~~~~~~~~~

2020-08-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] In the paragraph about cases that are hard to round,
	also mention potentially exact cases.

2020-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a paragraph on the issue with GCC and
	conversions between binary and decimal types.

	[src/get_d128.c] Updated FIXME comment (after r14087).

	[src/get_d128.c] Removed unused variable due to r14087.

	[src/get_d128.c] For the special values, avoid double to _Decimal128
	conversions, as for such conversions, GCC generates from 2 to 3 MB in
	the shared library when the decimal encoding is BID, and there will be
	no fix in GCC:
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96173
	We now use computations on _Decimal128 constants directly, which could
	thus be done at compile time. We expect no problems similar to double,
	as the _Decimal128 implementation should follow the IEEE 754 rules.
	This commit should avoid a large part of the problem reported at:
	  https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21849&group_id=136

2020-07-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Improved an error message.

2020-07-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Simplified the d_trace and ld_trace functions:
	we do not need a union (with its potentional padding) as there
	are no aliasing issues with unsigned char.

	[tests/tset_ld.c] Fixed mpfr_out_str usage in error messages
	(see the change in r12520).

	[tests/tget_ld_2exp.c] Corrected a function call in an error message.

	[examples/version.c] "Compiler:" line: detect TCC (__TINYC__ macro).
	(merged r14078 from tests/tversion.c)

	[tests/tversion.c] "Compiler:" line: detect TCC (__TINYC__ macro).

2020-07-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d128.c] Updated the FIXME.

	[src/get_d128.c] Added a FIXME to work around GCC bug 96173.

2020-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jyn_asympt.c] Added an assertion.

	[doc/README.dev] In the MPFR_CHECK_EXPENSIVE description, say that
	  --enable-assert=full should not be used (too expensive, not needed).
	[tests/tjn.c] Added a related comment for the expensive bug20200703
	  test (which may take more than 1 hour with --enable-assert=full).

	[tests/tjn.c] Corrected indentation.

2020-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tjn.c] added another test

	[src/jyn_asympt.c] fixed previous commit

	[src/jyn_asympt.c] partly solved the slowness of jn(733333,733333)

2020-07-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jyn_asympt.c] Replaced some MPFR_EXP by MPFR_GET_EXP.

	[src/jyn_asympt.c] Added a log message.

	[tests/tjn.c] Added testcase for bug reported by Alex Coplan:
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96044
	mpfr_jn is very slow or doesn't terminate on (733333,733333).

2020-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] For MPFR 4.1.0, added an item saying that TLS can safely be
	(re-)enabled on Sparc.

2020-06-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpfr-test.h] Avoid a GCC bug on Sparc, at least when using TLS.
	The MPFR library itself is not affected, only a particular test. Normal
	code using the MPFR library should not be affected either, as the bug
	occurs when accessing __gmpfr_flags directly (and the public mpfr.h
	header file does not provide any macro that accesses an internal
	variable directly). So a workaround for the tests is the best solution.

2020-06-18  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Update for the next release.

	[src/mpfr-longlong.h] Mention applied patch (in r14035).

2020-06-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-longlong.h] Applied patch on
	  https://gmplib.org/list-archives/gmp-bugs/2020-June/004807.html
	to fix add_ssaaaa and sub_ddmmss on arm / aarch64 (after a
	reverse-merge of r14032 and r13997), in order to resolve
	  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00017.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00059.html

	[tests/tcmp_ui.c] Added a comment about a failing test with tcc if
	one adds tcc support for macros using __builtin_constant_p in mpfr.h
	by testing __TINYC__.
	Bug report against tcc: https://savannah.nongnu.org/bugs/?58606

2020-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-longlong.h] disable buggy sub_ddmmss for aarch64

2020-06-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrected and detailed the description of
	mpfr_get_str_ndigits.

	[src/get_str.c] Since the mpfr_get_str_ndigits function is in the
	public API, use MPFR_ASSERTN instead of MPFR_ASSERTD on the condition
	on the argument b in order to get an assertion failure (by default)
	if this condition is not satisfied.

2020-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] specify the range of b for mpfr_get_str_ndigits

2020-06-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdigamma.c] Increase the number of tests.

2020-06-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/digamma.c] fixed bug found while testing mpfr-4.1.0-rc1

2020-06-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/digamma.c] Added a FIXME.

	[src/digamma.c] Replaced mpfr_get_exp by MPFR_GET_EXP.

	[src/digamma.c]
	  * Replaced some MPFR_EXP by MPFR_GET_EXP to check that the MPFR number
	    has an exponent (i.e. it is not a special value).
	    → Assertion failure in tdigamma (on x86_64).
	    Note: this might be the cause of an unexpected loop (infinite loop?)
	    on a Debian 10.4 POWER9 machine:
	      https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00025.html
	  * Added an integer overflow check on a precision.

2020-06-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] In a test specific to x86 extended precision, in case
	of incorrect result, detect whether Valgrind is used and one gets the
	result obtained with Valgrind due to
	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890215
	  https://bugs.kde.org/show_bug.cgi?id=421262
	(long double behaves as double); in this case, output a message without
	an error since Valgrind is the only cause of the miscalculation.

	[tests/tset_ld.c] bug_20160907 (tests on subnormals):
	  * Replaced an assertion by a test with detailed output.
	  * Corrected a value in a test, which did not match the comment.

	[tests] Skip tabort_defalloc1 and tabort_defalloc2 under Valgrind, as
	Valgrind complains due to the large allocation size.
	  * mpfr-test.h, tests.c: added tests_run_within_valgrind() function to
	    guess whether the test runs within Valgrind.
	  * tabort_defalloc1.c, tabort_defalloc2.c: skip the test (exit code 77)
	    if this function returns true.

	[configure.ac] Improvements concerning the default CFLAGS with GCC.
	  * Add -Wc++-compat option to CFLAGS with GCC ≥ 4.1 not in C++ mode.
	    Changes based on Bruno Haible's patch suggested at
	      https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00008.html
	    (with some autoconf related fixes).
	  * Output the $CFLAGS value that is eventually used.

	[configure.ac] No longer add -Wc++-compat to CFLAGS when the compiler
	is GCC not in C++ mode (reverting the change done in r13406) since this
	option is not available before GCC 4.1:
	  https://sympa.inria.fr/sympa/arc/mpfr/2020-06/msg00008.html

	[doc/mpfr.texi] ACM TOMS article: use the preferred DOI URL.

	[tests/tfpif.c] Updated comment about the bug detected on AIX.

	[tools/announce-text] For release candidates, automatically adapt the
	flow of the text.

	[NEWS] Updated mpfr.org URLs (http → https).

	[tools/announce-text] Better line lengths for release candidates.

2020-06-12  Vincent Lefèvre  <vincent@vinc17.net>

	[README] Added URL of the official GNU MPFR website and a note about the
	future migration, since InriaForge will shut down in December 2020.

	[tests/tests.c] Removed a useless "#include <errno.h>" (added in r5252,
	useless since r5253).

	[tests/tfpif.c] Fixed a bug (in the test) detected on AIX[*], where
	an fclose failed due to a previous read failure. At the same time,
	check that a read failure no longer occurs. Note: the read failure
	made mpfr_fpif_import fail, but this is a test where it is expected
	to fail, i.e. we now check that it fails for a good reason.
	[*] gcc119.fsffrance.org on the GCC Compile farm.

	[tools/update-version] Improved a message.

	[src/mpfr-longlong.h] Corrected a comment from GMP's longlong.h, which
	makes codespell complain in particular.

	[tools/mpfrlint] Improved the __GMP_DECLSPEC test:
	  * No longer exclude "src/mpfr.h".
	  * Avoid false positives in "src/mpfr.h" and "src/mpfr-longlong.h".

	[doc/mpfr.texi] Updated the month.

	Updated version to 4.2.0-dev.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".

2020-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	Renamed mpfr_total_order to mpfr_total_order_p for consistency with the
	other predicates (by convention, the function name should end with _p).

	[NEWS] New function mpfr_total_order. Detailed mpfr_get_str_ndigits.

	[doc/README.dev] Updated "To make a release".

	[doc/README.dev] Updated "To make a release".

	[src/Makefile.am] Updated -version-info to 7:0:1 for MPFR 4.1.0.

	[NEWS] Additional details, in particular binary compatibility.

	[NEWS] Some improvements.

2020-06-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mini-gmp] one more test is skipped now

	[doc/mini-gmp] add test results with reduced limb size (int)

2020-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release".

2020-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Added release name for 4.1.0: "épinards à la crème".

	[doc/mini-gmp] English usage improvement.

	Fixed 2 issues with tests/tvalist.c:
	  1. When building with mini-gmp (--with-mini-gmp=DIR) without
	     optimizations (-O0), the build of tvalist was failing because
	     the formatted output functions are not supported (this issue
	     wasn't noticed with optimizations due to dead code elimination).
	     Fix: this test is disabled with mini-gmp (not needed anyway).
	  2. Dead code elimination with optimizations partly broke the goal
	     of this test, i.e. checking that mpfr_vfprintf was available.
	     This dead code was introduced in r7648 "Make sure that fct is
	     used (avoid a warning)." (where fct = mpfr_vfprintf) but was
	     actually not sufficient.
	     Fix: call mpfr_vfprintf unconditionally, but on an empty string
	     in order to avoid output to stdout.
	In addition to these changes in tests/tvalist.c, src/mpfr-impl.h could
	be simplified as a consequence.

	Removed '# undef HAVE_STDARG' before '# include "config.h"' when it
	was used, as it was not always undefined (e.g. in tests/tsprintf.c)
	and there are no reasons to undefine this macro specifically.
	Note: this code was introduced in r2665 (2004-02-06), perhaps for
	the MPFR build inside GMP, which has been dropped a long time ago.

	[tests/tvalist.c] Updated a comment.

	[tests/tvalist.c] Correction when config.h is used (code copied from
	src/inits.c).

2020-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mini-gmp] review

2020-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Typo in option name.

	[src/mpfr-longlong.h]
	  * Updated comment about this file and the changes against GMP 6.2.0.
	  * Define __GMP_GNUC_PREREQ if it isn't defined (this is currently not
	    needed since it is defined in gmp.h as used also there, but this is
	    useful in case some future gmp.h version no longer defines it).

	[src/mpfr-longlong.h] Update: applied the diff of GMP's longlong.h
	between GMP 6.1.0 and GMP 6.2.0, after reverting changesets 13251,
	11042, 11025, and 10727, as these changes are present in the diff.

	[configure.ac] With mini-gmp, also check the availability of srand48.

	[src/mpfr-mini-gmp.c] For gmp_randseed_ui, which uses srand48, use
	a portable version of the conversion from unsigned long to long.

	[doc/mini-gmp] Note also that the random functions are not thread-safe.

	[doc/mini-gmp] Major update.

	[NEWS] Removed a FIXME (no problems found).

2020-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Code style: replaced (mp_limb_t) -1 by MPFR_LIMB_MAX.

	[src/mul_ui.c] Bug fix: in the code where MPFR_LONG_WITHIN_LIMB is
	not defined, update the flags (needed for the possible overflow).

	[tests/tmul_ui.c] Added an overflow check that fails in MPFR_RNDZ with
	mini-gmp and mp_limb_t < long (e.g. "-DMINI_GMP_LIMB_TYPE=short").

	[tests/tgeneric.c] In the MPFR_SUSPICIOUS_OVERFLOW case, output yprec.

	[src/mpfr-impl.h] Changed the code that defines MPFR_LONG_WITHIN_LIMB
	in order to support mini-gmp with -DMINI_GMP_LIMB_TYPE=...

	[src/get_ld.c] Fixed build failure with GMP_NUMB_BITS == 8 due to the
	use of uint64_t in src/get_ld.c, while <stdint.h> was not included:
	replaced it by "unsigned long long", which does not need a specific
	header (an exact 64-bit type is not needed, we just need at least a
	64-bit width, which unsigned long long is guaranteed to have).
	Note: unsigned long long may not be available with a pre-C99 compiler,
	but this is not worse than uint64_t. This limitation is currently OK
	as GMP_NUMB_BITS == 8 support is just for testing.

	[acinclude.m4] Make MPFR_CHECK_MP_LIMB_T_VS_LONG and
	MPFR_CHECK_MP_LIMB_T_VS_INTMAX similar:
	  * Use AC_LINK_IFELSE in MPFR_CHECK_MP_LIMB_T_VS_LONG too: this
	    is safer than AC_COMPILE_IFELSE, as it will detect undefined
	    function-like macros.
	  * Define MPFR_USE_STATIC_ASSERT in MPFR_CHECK_MP_LIMB_T_VS_INTMAX
	    too in order to make sure that a static assertion is used (not
	    the MPFR_ASSERTN fallback).
	Note: These constitute redundant safeguards because if MPFR_ASSERTN
	is used, it will be regarded as a function since the macro is not
	defined in this context, and linking will fail as a consequence.
	But this redundancy will protect more against MPFR code evolution.

	[acinclude.m4] Fixed MPFR_CHECK_MP_LIMB_T_VS_LONG macro by forcing
	MPFR_USE_STATIC_ASSERT to 1 before including mpfr-sassert.h, i.e.
	by requiring static assertions: because AC_COMPILE_IFELSE is used
	(i.e. just compiling, no linking), the test could incorrectly succeed
	when MPFR_USE_STATIC_ASSERT was not defined, i.e. whatever the value
	of "(mp_limb_t) -1 >= (unsigned long) -1"; indeed, in this case,
	MPFR_ASSERTN() was used instead of a static assertion, and since the
	macro was not defined here, MPFR_ASSERTN was regarded as a function
	(without a prototype), which was fine for compiling (except when the
	compiler is configured to regard warnings such as missing prototype
	as errors). In short, one could get "yes" while long was larger than
	mp_limb_t.
	Note: In uncommon cases (non-standard compiler...), one can still get
	"no" while a long fits in mp_limb_t, but this isn't much an issue as
	the MPFR code should work in such a case. Moreover, src/mpfr-impl.h
	will also have the chance to set MPFR_LONG_WITHIN_LIMB in practice.

	Removed MPFR_DECL_STATIC_ASSERT macro as it was buggy, unused, rather
	useless, and it had drawbacks. Details:
	  * In src/mpfr-sassert.h, the default definition of this macro in the
	    MPFR_USE_STATIC_ASSERT case ended with a spurious ";". Since this
	    macro was unused, this wasn't noticeable... except in the configure
	    test for static assertions, which failed in some cases (e.g. with
	    CFLAGS="-std=c99 -pedantic-errors -Wno-error=overlength-strings")
	    for this reason, which had the effect to let MPFR_USE_STATIC_ASSERT
	    undefined, while static assertions were actually working.
	  * Still in src/mpfr-sassert.h, but when MPFR_USE_STATIC_ASSERT is not
	    defined, the MPFR_DECL_STATIC_ASSERT(c) expanded to nothing, which
	    would yield invalid code as
	      MPFR_DECL_STATIC_ASSERT(some_assertion);
	    would yield an extra ";" (about the same issue as above). Given
	    the fact that the portable MPFR_USE_STATIC_ASSERT code does not
	    work with this compiler, it is not clear whether this is fixable
	    in a completely reliable way.
	  * MPFR_DECL_STATIC_ASSERT can be replaced by MPFR_STAT_STATIC_ASSERT
	    after moving it to the statement section of a function, with almost
	    no drawbacks (just a bit readability in some cases?).
	  * When MPFR_USE_STATIC_ASSERT is not defined, MPFR_STAT_STATIC_ASSERT
	    will check the assertion at run time (for free, since the result is
	    known at compile time), while MPFR_DECL_STATIC_ASSERT would not be
	    able to do anything useful.
	Changes:
	  * acinclude.m4: removed the test of MPFR_DECL_STATIC_ASSERT.
	  * src/mpfr-sassert.h: removed MPFR_DECL_STATIC_ASSERT definitions.
	  * tune/tuneup.c: removed MPFR_DECL_STATIC_ASSERT redefinition.

2020-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] MPFR_CHECK_MP_LIMB_T_VS_LONG: updated comment to say
	that using MPFR_ASSERTN (as the code tries to do if static assertions
	are not supported, but currently fails) would be incorrect.

	[acinclude.m4] In MPFR_CHECK_MP_LIMB_T_VS_INTMAX, do the test only if
	intmax_t is defined (assuming that it is iff uintmax_t is defined).

	[tests/tversion.c] Also output the results of the detection of
	"long within limb" and "intmax_t within limb".

2020-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Removed an obsolete FIXME, which is probably wrong.

	[configure.ac] Updated a comment, replacing a resolved FIXME.

	[acinclude.m4] MPFR_CHECK_DBL2INT_BUG test: avoid potentially reserved
	exit status.

	[acinclude.m4] Fixed r13938: the new MPFR_C_REALFP_FORMAT macro also
	needs to take the printf length modifier in argument.

	[acinclude.m4] Improved the code to determine the format of double,
	resolving the FIXME. The issue was that it used an AC_RUN_IFELSE,
	so that the format could not be determined when cross-compiling.
	The code to determine the format of long double did not have such
	an issue: the object file was analyzed by an awk script. Since a
	long double can have the same format as a double, this code was
	already able to recognize a double, in particular. So the change
	consisted in slightly adapting this code to accept the tested type
	as an argument ("double" or "long double", the mpfr_cv_… variable
	name being obtained thanks to AS_VAR_PUSHDEF) and reusing it for
	the detection of the format of double.

	[acinclude.m4] MPFR_C_LONG_DOUBLE_FORMAT cleanup:
	  * Removed an unused AH_VERBATIM.
	  * Removed "not available" condition, no longer possible since r13936.

	[acinclude.m4] Fix concerning r13935: also removed code that tested
	the availability of long double. This code was useless since it was
	just outputting "not available" if long double was missing, and one
	would get an error later since MPFR requires long double. But since
	long double is in ISO C89, it is useless to add a test just to return
	an error for pre-C89 compilers.

	[acinclude.m4] Removed "AC_CHECK_TYPES([long double])", whose only
	  purpose is to define a HAVE_LONG_DOUBLE macro.
	[configure.ac] Removed HAVE_LONG_DOUBLE from the cleanup: no longer
	  needed with the change in acinclude.m4.

2020-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Minor change in a comment.

	Cleanup about the function detection by autoconf.
	  * acinclude.m4: removed the detection of memmove, memset and strtol,
	    which was not used (a macro "HAVE_..." was defined... to be removed
	    in configure.ac!); for AC_CHECK_FUNCS, remove options starting with
	    "-Werror" as they can yield a spurious failure due to the way this
	    test is done (this occurred on memmove and memset with GCC due to
	    builtins, and similar issues could still occur in practice with the
	    remaining functions in the AC_CHECK_FUNCS list).
	  * configure.ac: removed HAVE_STRTOL from the macro cleanup: no longer
	    needed since strtol has been removed from the AC_CHECK_FUNCS list.

	[acinclude.m4] Minor improvement: in the MPFR_CHECK_GMP test, changed
	the exit status values 1..3 to 81..83 in order to avoid confusion, as
	low values can typically be returned in case of compile or link error.

2020-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/memory.c] Updated a comment.

	[src/mpfr-longlong.h] Added code to check that mpfr-longlong.h is not
	included directly; MPFR_NEED_LONGLONG_H must be defined instead.

	[acinclude.m4] To complete r13928, one also needs to define
	MPFR_NEED_INTMAX_H here when mpfr-intmax.h is used.

	[src/{mpfr-impl.h,mpfr-intmax.h}] Added code to check that mpfr-intmax.h
	is not included directly; MPFR_NEED_INTMAX_H must be defined instead.

2020-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixes and cleanup related to "src/mpfr-intmax.h" by introducing
	a new macro MPFR_NEED_INTMAX_H, which should be defined instead of
	using: #include "mpfr-intmax.h"

	Details on the bugs fixed:
	  * The code added in r13916 forgot a #include <limits.h> since this
	    code does a test on ULLONG_MAX. With the cleanup, <limits.h> is
	    already always included by mpfr-impl.h (early enough).
	  * In src/get_str.c and tests/memory.c, a #include "config.h" was
	    missing before #include "mpfr-intmax.h"; this issue would affect
	    platforms where "config.h" is needed and where <inttypes.h> or
	    <stdint.h> does not exist or does not work.

2020-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgamma.c] For the non-regression test added in r13907, one
	also needs to temporarily increase the memory limit, thus require
	MPFR_CHECK_LARGEMEM too.

2020-05-26  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] If decimal floats are explicitly disabled, do not do
	the check of the bit-field ordering for _Decimal128.

	[acinclude.m4] Fixed detection of bit-field ordering for _Decimal128:
	a compiler error with exit status 1 was mixed up with little endian.

2020-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-intmax.h] Added support for Silicon Graphics IRIX 6.5 (1998)
	with native /usr/bin/cc, which knows the long long type but defines
	ULONGLONG_MAX, etc. instead of ULLONG_MAX, etc.

	[tests/tget_ld_2exp.c] Reverted r13914 as we still need to support
	pre-C99 compilers (and this change was useless).
	If C99 syntax is needed, there should be a configure test, and the
	code should be conditional.

2020-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_ld_2exp.c] put expected value in hex in bug20180904()

2020-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": mention MPFR_CHECK_EXPENSIVE.

2020-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tgamma.c] added comment about bug fix

	[src/bernoulli.c] improve initial precision in mpfr_bernoulli_internal()
			  (avoid failures for n <= 10000)

	[src/bernoulli.c] fix bug with non-regression test added in r13907

	[src/bernoulli.c] temporary fix for the bug in mpfr_gamma, something must be
	                  wrong in the error analysis of mpfr_bernoulli_internal()

	[doc/README.dev] added MPFR_CHECK_EXPENSIVE
	[tests/tgamma.c] use MPFR_CHECK_EXPENSIVE

	added non-regression test for bug reported by Frithjof Blomquist

2020-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Use of codespell: better workaround to python ugliness.

2020-04-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Section "Rounding" / even-rounding rule: the odd
	radices β are actually not concerned since in such radices, β^k
	is always odd, so that the exponent does not matter.

	[doc/mpfr.texi] In Section "Rounding", for MPFR_RNDN, added a note
	about the even-rounding rule in particular cases: 1-digit precision
	and odd radices.
	Note: A short explanation was already in the mpfr_get_str description,
	which is where the issue could occur at the time the minimum precision
	of MPFR numbers was 2. Now that the minimum precision is 1, this rule
	in such special cases is more general.

	[doc/mpfr.texi] + "than": also in a comment.

	[doc/mpfr.texi] Corrected a typo. Changed "{less,greater} or equal to"
	to the more common "{less,greater} than or equal to".

2020-04-26  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] In the paragraph on mpfr_rnd_t, give a reference
	to Section "Rounding".

	[doc/mpfr.texi] s/can not/cannot/

	[doc/mpfr.texi] Improved Section "Rounding" even more:
	  * Added a note about the sign of the result (important for 0).
	  * Described the directed rounding modes (BTW, this notion of
	    "directed rounding modes" was used but never defined).

	[doc/mpfr.texi] Improved the description of the rounding modes:
	  * Be more clear that MPFR_RNDN uses the even rounding rule.
	  * In "two representable numbers", add "consecutive".
	  * Be more general than radix 2 (due to conversions to a string).
	  * Consistent typography.

2020-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi]
	  * mpfr_init2: mention mpfr_prec_round; added a note about
	    memory allocation.
	  * mpfr_prec_round: clarification ("new allocation" could be
	    surprising since one needs less memory).

2020-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] document that mpfr_prec_round does no new allocation
			in case the allocated memory is enough

2020-04-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/atan.c] Removing the FIXME: I can't see anything wrong in the
	MPFR code. This could be a bug in GCC's analyzer (which is currently
	experimental). And GCC bug 94713 in the analyzer prevents debugging
	as it makes impossible to track uninitialized values: warnings do not
	occur the first time an uninitialized value occurs.

	[src/atan.c] Added an assertion.

	[src/atan.c] Reduce the number of mpz_get_ui calls with assertions.

	[src/atan.c] Added a FIXME.

2020-04-14  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/texinfo.tex] Update to 2020-02-11.09 with "autoreconf -i -f"
	under Debian/unstable.
	Note: The generated mpfr.html and mpfr.info files remain the same.
	In mpfr.pdf, there are minor changes concerning horizontal spacing
	in paragraphs with a URL.

2020-04-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_set_d64.c] Fixed missing "#if _MPFR_IEEE_FLOATS" that
	became visible with r13878 now that the encoding of decimal floats
	can be detected at compile time. But by fixing the defined macros
	manually, this issue could be visible before r13878.

2020-04-10  Vincent Lefèvre  <vincent@vinc17.net>

	Reworked decimal support and detection, resolving FIXMEs.
	  * INSTALL, acinclude.m4, configure.ac: --enable-decimal-float can
	    take new values. Change of macro DPD_FORMAT (DPD was assumed in
	    case of cross-compilation, which could be wrong) to 3 new macros:
	    DECIMAL_DPD_FORMAT, DECIMAL_BID_FORMAT, DECIMAL_GENERIC_CODE.
	  * doc/README.dev: documented these 3 new macros.
	  * src/mpfr-impl.h: the detection of the BID encoding can now be
	    done at compile time when GCC defines __DECIMAL_BID_FORMAT__
	    (as on x86); support of the 3 new macros.
	  * src/{get_d64.c,set_d64.c,set_d128.c}: update.
	  * tests/{tget_set_d64.c,tget_set_d128.c,tversion.c}: update.

2020-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	Updated URLs of the GCC mailing-list archives.

2020-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] Updated FIXME about AC_FUNC_ALLOCA (in 2019-01, I
	already noticed a probable bug in the AC_FUNC_ALLOCA description,
	but forgot about it).

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Formatted output functions: added a comment with the URL
	of the bug report.

	[NEWS,doc/mpfr.texi] Documented the improvement in the formatted output
	functions (mpfr_printf, etc.) with an empty precision field, about
	trailing zeros.

2020-04-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Corrected MPFR_ASSERTD to MPFR_ASSERTN.

	[tests/tsub.c] Reverted r13862 and fixed the test_ubf test: A random
	precision was too small, so that an input for the test was not computed
	exactly (I had modified the values of the inputs for better tests, but
	forgot to change the minimum precision). Also check that the inputs are
	computed exactly (which is what I often do, but here, I had forgotten),
	in order to make errors like the above one easier to understand in case
	the test will have to be modified later.
	Note: With the incorrect input, the mpfr_sub1 result and flags were
	actually correct, so that this was only a bug in the test.

2020-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] update CompCert instructions

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] fixed CompCert instructions

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Reverted r13858: the check_overflow test was already
	in MPFR 4.0.1 and was succeeding on armv5tejl-unknown-linux-gnueabi,
	which had mpfr_cv_c_long_double_format='IEEE double, little endian'.
	The issue should be investigated.
	Note: MPFR_LDBL_MANT_DIG may be larger than the actual number of bits,
	but this should not cause a failure in the tests.

	[tests/tget_ld_2exp.c] Proper fix: the bug20180904 test was designed
	for the x87 extended precision, so enable it only in this case.

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsub.c] modify test_ubf() to always hit a current failing test

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Fixed the change done in r13853 (about removed macros),
	making the code simpler and more maintainable at the same time.

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added configuration for CompCert test

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ld.c] Removed obsolete workaround due to LDBL_MAX being buggy
	on old i386 systems (the tests were not using this workaround).

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_ld_2exp.c] fixed for case where long double = double
	[tests/tset_ld.c]      likewise

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Moved MPFR_CONFIGS invocation: MPFR_CONFIGS uses LDFLAGS,
	thus must be invoked after LDFLAGS has been determined completely.

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] now all tests pass with compcert

	[acinclude.m4] added missing LDFLAGS for long double test

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added HAVE_ALLOCA description.

	[configure.ac] Do not remove the HAVE_ALLOCA macro, which is now used
	by MPFR to determine the default MPFR_ALLOCA_MAX value.

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] update CompCert instructions

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Output whether MPFR is built with the GMP build,
	and the MPFR_ALLOCA_MAX value if not.

	[src/mpfr-gmp.h] If HAVE_ALLOCA is not defined, i.e. if alloca() is
	not available (as detected by the configure script), then set the
	default MPFR_ALLOCA_MAX value to 0 so that alloca() is not used.

2020-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added instructions for CompCert

2020-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated MPFR_ALLOCA_MAX description.

	[src/mpfr-gmp.h] When MPFR_ALLOCA_MAX = 0 (set at configure time),
	do not reference alloca() since we don't need it.

2020-03-31  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] About mpfr_printf with %Re and empty precision field,
	added a comment with URLs of the discussion and the bug report.

2020-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Typo in a comment.

	[configure.ac] Updated message output when the gmp.h vs libgmp test
	fails: another cause may be that LD_RUN_PATH is not honored (problem
	seen under OpenBSD 6.6 / gcc302.fsffrance.org).

2020-03-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_sj.c] Forgot a "#ifndef NPRINTF_J" for printf("%jd",...).

	[src/set_uj.c] Fixed underflow detection.

	[src/set_uj.c] Added early overflow detection to avoid a possible
	integer overflow. Added a FIXME (incorrect underflow detection).

	[tests/tset_sj.c] Added tests of mpfr_set_sj_2exp and mpfr_set_uj_2exp
	in precision 3 with integers from -31 to 31 and exponents MPFR_EXP_MIN,
	MPFR_EMIN_MIN-7 to MPFR_EMIN_MIN, MPFR_EMAX_MAX-7 to MPFR_EMAX_MAX,
	MPFR_EXP_MAX-7 to MPFR_EXP_MAX (like in tset_si.c, see r13808), but
	also exponents INTMAX_MIN and INTMAX_MAX. This shows bugs in set_uj.c,
	to be fixed...

	[src/set_sj.c] Coding style.

	[src] Moved the definition of the numberof() macro from mpfr-gmp.h to
	mpfr-impl.h in order to always use our own. Also make sure that the
	type is signed, so that the value can be used in arbitrary expressions
	without the risk of silently switching to unsigned arithmetic.

2020-03-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/texpm1.c] Updated the bad_cases() parameters to increase the
	proportion of generated bad cases.

	[tests/tset_si.c] Forgot a cast for MPFR_EXP_FSPEC argument.

	[doc/mpfr.texi] Updated the month.

	Consistency: "a UBF" → "an UBF" since UBF stands for "unbounded float".

	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.

	[src/mpfr-impl.h] Updated UBF comment about aliasing rules.

	[src/mpfr-impl.h] Bug fix (MPFR_ZEXP(x) as used for an assignment
	could yield undefined behavior on platforms where mpfr_exp_t has
	trap representations); this is also a general improvement.

	[tests/tsub.c] Avoid the build failure with -Werror=strict-aliasing by
	replacing x[…] by p[…] (but this doesn't eliminate the problem itself).

	[src/mpfr-impl.h] UBF: updated comment: this breaks aliasing rules, but
	there isn't any other acceptable solution.
	Note: when trying to build MPFR without --enable-assert, with GCC and
	CFLAGS="-O2 -Werror=strict-aliasing", the compilation of tests/tsub.c
	currently fails because of that.

2020-03-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Fixed tests on UBF.

	[src/sub1.c] Fixed underflow handling in case c small (can occur only
	with UBF).

	[tests/tfma.c] Minor correction.

	[tests/tfma.c] Changed a RND_LOOP to RND_LOOP_NO_RNDF as the behavior
	with RNDF changed after a bug fix.

	[tests/tsub.c] Completed tests for UBF (currently fail).

	[src/sub1.c] Bug fix for UBF and MPFR_RNDF.

	[src/set_{si,ui}_2exp.c] Bug fix in MPFR_LONG_WITHIN_LIMB defined case:
	added early underflow/overflow checking to avoid integer overflow or
	errors due to special exponent values.

	[tests/tset_si.c] Added tests of mpfr_set_si_2exp and mpfr_set_ui_2exp
	in precision 3 with integers from -31 to 31 and exponents MPFR_EXP_MIN,
	MPFR_EMIN_MIN-7 to MPFR_EMIN_MIN, MPFR_EMAX_MAX-7 to MPFR_EMAX_MAX,
	MPFR_EXP_MAX-7 to MPFR_EXP_MAX, showing bugs in these functions when
	MPFR_LONG_WITHIN_LIMB is defined.

2020-03-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] More tests on UBF. The results are not checked yet,
	but running the tests with UBsan could allow one to trigger bugs
	(such as the one fixed in r13806).

	[src/sub1.c] If exp_b = MPFR_EXP_MIN, an integer overflow may occur in
	the "MAX (aq, bq) + 2 <= diff_exp" branch. This is possible only with
	UBF. Fixed this bug with an early underflow detection in the UBF case.

	[tests/tfmma.c] Added extreme_underflow test: before the r13798 bug fix,
	this was triggering an integer overflow.

	[tests/tsub.c] Corrected a function name.

	[tests/tsub.c] More tests on UBF, in particular with an exponent change
	(including subnormal → normal and normal → overflow due to that).

	[tests/tsub.c] Tests on UBF: underflow/overflow cases done.

2020-03-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] More tests on UBF.

	[src/mpfr-impl.h] UBF: reordered macro definitions.

	[src]
	  * mpfr-impl.h: define MPFR_UBF_GET_EXP macro.
	  * add1.c, sub1.c: use this macro.

	[src/sub1.c] Detect an underflow case (before the main detection) to
	avoid a possible integer overflow with UBF.

	[tests/tsub.c] Added comments.

	[tests/tsub.c] First tests on UBF.

	[src/agm.c] Avoid a potential integer overflow with huge precisions.

2020-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/root.c] Removed useless cast in a comparison, as both operands are
	non-negative.

	[src/rem1.c]
	  * Portability fix: when mpfr_exp_t <= long (which is the default),
	    an addition was done in unsigned integer arithmetic instead of
	    signed integer arithmetic, with a conversion back to a signed
	    type, i.e. with potentially implementation-defined behavior.
	    There could also be an integer overflow on huge-precision values
	    if mp_bitcnt_t > unsigned long.
	  * Updated a comment.

	[src/pow.c]
	  * Portability fix: when mpfr_exp_t <= long (which is the default),
	    an addition with a negative result was done in unsigned integer
	    arithmetic instead of signed integer arithmetic, with a conversion
	    back to a signed type, i.e. with implementation-defined behavior.
	    There could also be an integer overflow on huge-precision values
	    if mp_bitcnt_t > unsigned long.
	  * Updated comments.

	[src/cos.c] Updated a comment.

	[src/cos.c] Updated a comment.

	[src/const_log2.c] Corrected type for the return value of mpz_scan1.

2020-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Revert a change done in r13783 for function bad_cases():
	  no longer fail if a generated value does not correspond to a bad case.
	  But fail if the MPFR_CHECK_BADCASES environment variable is defined
	  and too few bad cases are generated (less than 90%).
	[doc/README.dev] Document MPFR_CHECK_BADCASES.

	[tests] Update to test the ternary value in test5rm() when possible,
	and support the exact cases.
	  * tests.c:
	      - test5rm(): modified the prototype again and the behavior.
	        Now, either only one test is done and the ternary value is
	        not checked, or the test is done in the 5 rounding modes and
	        the ternary value is checked.
	      - data_check(): corresponding update; updated description.
	      - bad_cases(): test the exact cases too.
	  * tatanh.c: for the bad_cases() call, reduce emax to avoid errors in
	    the generation of bad cases due to the rounding of tanh(y) to 1,
	    which does not correspond to a bad case for atanh, but to an exact
	    case.
	  * tlog1p.c: for the bad_cases() call, reduce emax to avoid errors in
	    the generation of bad cases due to the rounding of expm1(y) to -1,
	    which does not correspond to a bad case for log1p, but to an exact
	    case.
	  * trec_sqrt.c: corrected the bad_cases() call to avoid negative
	    numbers.
	Note: the following tests
	  GMP_CHECK_RANDOMIZE=5 ./tacos
	  GMP_CHECK_RANDOMIZE=6 ./tatan
	  GMP_CHECK_RANDOMIZE=4 ./tcos
	currently fail, but because of a change in r13783 (see associated log
	for the reason). To be fixed later.

	[tests/tests.c] Modified the prototype of test5rm() to support a
	parameter "exact". Therefore the parameter "test_one" is now a boolean
	(the value 2 is no longer supported, as redundant with "exact"), and
	about data_check() with rnd = '*', the loop is now done in test5rm(),
	i.e. test5rm() is called with test_one being false.

2020-03-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsqrt.c] For bad_cases(), use the same pos and psup parameters
	as in troot.c for "rootn[2]", allowing inexact cases.

	[tests/tcbrt.c] For bad_cases(), use the same pos and psup parameters
	as in troot.c for "rootn[3]", allowing inexact cases.

	[tests]
	  * tests.c, function bad_cases(): updated/added debug messages;
	    assume that the parameters are chosen in such a way that this
	    test always generates hard-to-round cases (including exact cases),
	    i.e. exit with an error if one does not get a bad case, otherwise
	    this can leave unexpected failures unnoticed (either due to a bug
	    in the MPFR library or due to poorly chosen parameters such as in
	    troot.c until now).
	    Note: ideally, this would require a proof, but it is better to get
	    (unlikely) spurious failures with a non-default GMP_CHECK_RANDOMIZE
	    value than missing important tests.
	  * troot.c, bad_cases() invocation:
	      - corrected the pos parameter: when n is even, it is useless to
	        generate a negative number as the function is not defined (the
	        inverse function generates a positive number, and the mismatch
	        now yields a failure due to the change in bad_cases); when n is
	        odd, generate as many negative numbers as positive ones.
	      - for n ≤ 5, reduce the psup parameter in order to also generate
	        inexact cases, instead of always exact cases.

	[tests/tests.c] Added a TODO for bad_cases, as the exact cases are not
	tested yet. As a consequence, the bad_cases test added in tcbrt.c r13776
	is not really useful yet, as the cbrt bad cases are only exact cases.

	[tests/tests.c]
	  * test5rm: removed additional useless tests added in r6037 in the
	    case test_one true and rnd = MPFR_RNDZ or MPFR_RNDA, since the
	    description was a bit incorrect and this was used only by
	      - data/digamma, where this yielded only duplicate tests (mode *);
	      - data/li2, where mode z is used on a few tests and could be
	        replaced by mode Z (i.e. test_one false) if need be;
	    updated description and added details.
	  * data_check: corrected/updated description.

	[tests/tests.c] Minor change in an initialization.

	[tests/tget_set_{d64,d128}.c] Added a FIXME and improved a message.

	[acinclude.m4] Added a FIXME: in case of cross-compiling, the guess
	"DPD" can be wrong, e.g. for the build with MinGW under Linux. One
	does not get a failure just because of other issues in the code,
	forcing the portable implementation of the decimal functions.

2020-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	Added bad_cases tests for mpfr_cbrt.

	[src/cbrt.c] Improved the algorithm in the case the precision of the
	input is larger than 3n, where n is the precision of the output, + 1
	if the rounding mode is MPFR_RNDN: instead of truncating the output,
	call mpz_root on the truncated input.

	[tests/tcbrt.c] Test the ternary value on other exact cases.

	[tests/tcbrt.c] Test the ternary value on special cases.

	[src/cbrt.c] Description of the algorithm: improvement; corrected the
	end, which was incorrect and did not match the code (the comment was
	introduced in r2057 and was already incorrect in the round-down case;
	then the round-to-nearest case was improved in r2070, but the comment
	was not updated).

	[src/cbrt.c] Description of the algorithm: correction; added a TODO.

2020-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cbrt.c] Description of the algorithm: corrected indentation;
	renamed variable r to t in order to avoid confusion with the code
	(where r has a different meaning).

	[src/cbrt.c] Clarified a comment.

	[src/cbrt.c] Resolved the second FIXME and simplified the code
	(basically by removing duplicate code).

	[src/cbrt.c] Description of the algorithm:
	  * Since there was no upper bound on s, let's remove the upper bound
	    on m (this now matches the code).
	  * Replaced the FIXME by one due to the lack of upper bound on s.

	[src/cbrt.c] Added another FIXME as the code does not match the
	algorithm described in a comment.

	[src/cbrt.c] Improved a condition to avoid operations that correspond
	to a no-op.

	[src/cbrt.c] Added an assertion.

	[src/cbrt.c] Code cleanup and simplification. Added logging messages and
	a FIXME about a comment (coming from r2057 with its associated code).

	[src/cbrt.c] Removed a useless cast on a comparison operand, since
	both operands are non-negative.

	[src/atan.c] Added assertions.

	[tools/mpfrlint] Workaround to Debian bug 953369 in libpython3.8-minimal
	for the codespell invocation.

2020-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/eint.c] Bug fix: possible integer overflow with some
	C implementations (or some _MPFR_PREC_FORMAT / _MPFR_EXP_FORMAT values)
	due to the use of incorrect integer types.

	[src/eint.c] Added other logging messages.

	[src/eint.c] Added some logging messages.

2020-03-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsin.c] added one test

2020-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] cancel: also log its value; range checking/tracking.

	[src/cmp2.c] Added a comment giving the range of the value returned
	in "cancel" and explaining why there is no integer overflow in the
	computation of this value.

	[src/cmp2.c] Comment: some absolute values are not needed (again).

	[src/cmp2.c] Minor correction for |EXP(b) - EXP(c)| >= MPFR_EXP_MAX.

	[src/cmp2.c] Better explanation when |EXP(b) - EXP(c)| >= MPFR_EXP_MAX.

2020-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cmp2.c] Finished the review of mpfr_cmp2: simplified the code even
	more; corrected/updated comments (in the case high_dif = 0, one can have
	dif = 1 if c has entirely been taken into account, so that the comment
	"dif > 1 here" was incorrect; only dif >= 1 is needed anyway).

	[src/cmp2.c] Changed high_dif to type int since it is manipulated like
	a boolean. Updated comments.

2020-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cmp2.c] Simplified the mpfr_cmp2 code and updated comments.

	[src/cmp2.c] Updated comments.

2020-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr.h] added comment

2020-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] _MPFR_PREC_FORMAT and _MPFR_EXP_FORMAT: improved comment.

	[src/mpfr.h] _MPFR_PREC_FORMAT and _MPFR_EXP_FORMAT: added a detailed
	comment (the previous comment was not obsolete, but misleading).

2020-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr.h] removed obsolete comment (_MPFR_PREC_FORMAT=3 is the default
		     under Linux x86_64)

2020-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sin.c] increase initial precision even more

2020-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpow.c] Replaced mpfr_cmp by !mpfr_equal_p for NaN detection.

	[tests/tsin.c] Replaced obsolete function mpfr_mul_2exp by mpfr_mul_2ui.

2020-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sin.c] increase initial precision when x is large

2020-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/rem1.c] workaround for efficiency bug in mpz_powm_ui, which was making
	argument reduction in mpfr_sin for huge x very slow.

	Before:
	$ ./mfv5 -p113 -e16384 -d-2 mpfr_sin
	 mpfr_sin:	 3289620 / 3576511.59 / 6841956

	After this commit:
	 mpfr_sin:	 166868 / 182661.01 / 343224

2020-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tpow.c] added one test

	added value -2 for option -d to generate random number with exponent
	exactly e. Example:
	$ mfv5 -p113 -e16384 -d-2 -v mpfr_sin

2020-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tpow.c] added a test

	[tests/tsin.c] fixed and completed check_binary128()

2020-02-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cmp2.c] Started to review mpfr_cmp2. Minor changes.

	[src/cmp2.c] Detailed a comment concerning UBF.

2020-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsin.c] Cleanup of the latest test (note: mpfr_equal_p is better
	than mpfr_cmp as it makes the test fail on a NaN result).

2020-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsin.c] added one test with precision 128

2020-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Updated a comment (underscore version of attribute name).

	[tools/mpfrlint] Detect the use of the non-underscore version of the
	attribute names in mpfr.h (see README.dev).

2020-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Use the underscore version of the attribute names.
	[doc/README.dev] Added information on this subject.

	[TODO] Added item on GNU Automake and -I options.

2020-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Removed an incorrect comment before MPFR_TMP_INIT1
	(this macro does not allocate anything, and MPFR_TMP_INIT just after
	can allocate more than 1 limb).

	[TODO] About the use of MPFR_MANT(x).

2020-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Typo.

2020-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcmpabs.c] Added missing tests of mpfr_cmpabs with NaN.

	[tests/tcmpabs.c] For mpfr_cmpabs: like mpfr_cmpabs_ui, do each test
	in 4 different contexts, combinations of:
	  * flags all unset or flags all set;
	  * usual exponent range or reduced exponent range.
	Minor corrections in the old tests.

	[tests/tcmpabs.c] For mpfr_cmpabs_ui: do each test in 4 different
	contexts, combinations of:
	  * flags all unset or flags all set;
	  * usual exponent range or reduced exponent range.

2020-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tcmpabs.c] added tests for mpfr_cmpabs_ui

2020-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h]
	  * MPFR_ALIAS: use the comma operator instead of "do ... while (0)"
	    so that this macro can be used in an expression context.
	  * MPFR_TMP_INIT_ABS, MPFR_TMP_INIT_NEG: use MPFR_ALIAS.

	[src/mpfr.h] Added prototype for mpfr_cmpabs_ui.

	[doc/mpfr.texi] Added mpfr_cmpabs_ui to Section "Added Functions"
	(API Compatibility).

	[tests/trint.c] Replaced obsolete mpfr_cmp_abs by mpfr_cmpabs.

	[doc/mpfr.texi] Typo from r13708.

2020-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] mention new mpfr_cmpabs_ui

	added new function mpfr_cmpabs_ui

	renamed cmp_abs.c to cmpabs.c

2020-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Typo.

	[TODO] + Serialization / Deserialization (suggested by Frédéric Pétrot).
	I've also added an idea of implementation to reuse most of the code and
	change very little.

	[src/ubf.c]
	  * Optimized mpfr_init_get_zexp() for _MPFR_EXP_FORMAT <= 3
	    (as in the default configuration).
	  * Updated comments.

	[src/mpfr-impl.h] Added UBF-related comments.

	[src/mpfr-impl.h] Added UBF-related comments.

	[src/mpfr-impl.h] Added a comment for UBF and types.

2020-02-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added a comment for INEXPOS.

	[src/mpfr-impl.h] INEXPOS and VSIGN code improvement.

	Removed duplicate macro definitions.

	[tests/tfmma.c] Use mpfr_set_str instead of mpfr_set_d.

	[src/sub1.c] Got rid of some goto's. Added log messages.

2020-02-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Bug fix: the underflow case (possible with UBF, e.g. via
	mpfr_fmma or mpfr_fmms) was not tested in the case c small.
	Note: this completes r11418 and r12752 for underflow detection.

	[src/sub1.c] Added log messages and checked the UBF cases yielding
	exp_b == MPFR_EXP_MAX and/or diff_exp == MPFR_EXP_MAX.

2020-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Added log messages for MPFR_PREC_ARG ('P' specifier).

	[tests/tsprintf.c] Fixed some tests: the 'P' specifier was missing.

2020-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fmma.c] Reverted the mpfr_check_range from r13688.
	The exponent range has not been extended by mpfr_fmma_aux, and the
	result comes from mpfr_add, mpfr_sub, or mpfr_set_1_2, which return
	results in the current range. If the result of mpfr_fmma_aux is not
	in the current range, this is due to a bug in one of these functions.
	Note: mpfr_add and mpfr_sub accept UBF inputs.

2020-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fmma.c] fixed bug (result might be out of exponent range)
	[tests/tfmma.c] added non-regression test

2020-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] In the paragraph "MPFR internal data such as flags",
	no longer mention caches as caches may now also be global when MPFR
	has been compiled as thread safe (locking is used). Caches have been
	discussed earlier in the section anyway.

2020-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] URL update.

2020-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[tests/Makefile.am] Updated a comment; in particular, replaced the two
	obsolete gmane.org URLs by lists.gnu.org/archive/html/bug-gnulib ones.

	[INSTALL] Removed reference to a gmane.org URL, which no longer exists.

2020-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/beta.c,tests/ttanh.c] towards → toward (for consistency).

2020-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tfprintf.c,tprintf.c}] Updated an error message about MinGW,
	now output only if MinGW is used.

	[doc/README.dev] Concerning MinGW, added a sentence about the use of
	the __USE_MINGW_ANSI_STDIO macro, confirming the existing note.

	[TODO] Removed obsolete item on MinGW and -D__USE_MINGW_ANSI_STDIO.

	[INSTALL] Update concerning MinGW and the __USE_MINGW_ANSI_STDIO macro.

	[doc/mpfr.texi] Updated mpfr_get_str documentation, correcting r13666
	(we still need the extra two bytes and to take -@Inf@ into account).

2020-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] fixed out-dated documentation for mpfr_get_str

2020-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] In the latest update, forgot to remove the CC=...

	[doc/README.dev] Update about the test under Wine.

	[acinclude.m4,configure.ac]
	  * Moved the code that tries to determine the format of double from
	    configure.ac to acinclude.m4 in MPFR_CONFIGS (as required), just
	    before the one for long double.
	  * Added a FIXME comment: This code uses AC_RUN_IFELSE, which cannot
	    run the test when cross-compiling; use a test like for long double
	    instead.

	[acinclude.m4] English usage.

	[acinclude.m4] Updated messages about the format of "long double".
	[configure.ac] Ditto for "double". Added missing AC_MSG_RESULT.

	[tests/tversion.c] Updated/fixed an output line to match the other ones.

	[tests/tsprintf.c] Added tests for %Ra and %Rb on the value 0 with an
	empty precision field.

	[src/vasprintf.c] Fixed output precision bug with decimal output
	(i.e. e, f and g conversion specifiers) and an empty precision field
	on the value 0.

	[tests/tsprintf.c] Also added tests with %Rf, %Rg and %#Rg on 0.

	[tests/tsprintf.c] Added a test with %Re and an empty precision field
	on the value 0; it currently fails.

2020-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/ck-copyright-notice] Added a note about the mpfr.pc.in file.

	Copyright notice update: added 2020 with
	  perl -pi -e 's/ (\d{4}-)?(2019)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh. Removed 2019 from the example in the doc/README.dev file.

	[TODO] + base conversion with the round-trip property using a minimal
	precision, such as the to_chars functions from the C++ standard.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Formatted output: improved the text concerning the
	empty precision field, i.e. focus on the chosen precision rather
	than the round-trip property (as the rounding mode is not necessarily
	to nearest).

	[doc/mpfr.texi] Formatted output with %Re (empty precision field):
	added a reference to mpfr_get_str_ndigits.

	[src/vasprintf.c] Simplified the conditions under which trailing zeros
	are kept (the spec_g variable is no longer needed as a consequence).

	[tests/tsprintf.c] Re-added tests changed by r13644 and r13645, but
	with a variable of smaller precision in order to get the same output
	as before.

	[tests/tsprintf.c] Updated other two tests (in da_DK locale).

2020-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed tests for new more precise semantics for mpfr_printf ("%Re", x),
	and documented it

	[src/vasprintf.c] tentative fix so that mpfr_printf ("%.Re", x) prints a number
			  of decimal digits independent from x

2019-12-24  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL,doc/mpfr.texi] Typography.

2019-10-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Ulp calculus: put the old Rule 8 just after Rule 2,
	as the old Rule 3 (now Rule 4) uses it directly (proof updated).

	[doc/algorithms.tex] Ulp calculus: simplified the proof of Rule 8.

	[doc/algorithms.tex] Ulp calculus Rule 3: missing absolute values in
	the proof.

	[doc/algorithms.tex] Actually assume that no underflows nor overflows
	occur for the whole section "Error calculus".

	[doc/algorithms.tex] Ulp calculus Rule 6: corrected it (we need to
	assume no underflows nor overflows) and its proof, and generalized
	it with absolute values (like in the previous rules).

2019-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Ulp calculus Rule 3: more powerful result and
	much simpler proof.

	[doc/algorithms.tex] Section 2 (Error calculus): When n was a precision,
	replaced it by p as this is the usual notation (see Section 1) and n
	sometimes had a double meaning.

2019-10-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcmp_ui.c] Updated comment: this is a bug in Clang 9.

	[tests/tcmp_ui.c] Added a comment: failure of a test with the
	clang-9 1:9-1 Debian package.

2019-10-01  Vincent Lefèvre  <vincent@vinc17.net>

	Clean-up concerning the tests of subnormals for double and float.
	  * acinclude.m4: renamed variables
	      mpfr_cv_have_denorms_flt to mpfr_cv_have_subnorm_flt
	      mpfr_cv_have_denorms     to mpfr_cv_have_subnorm_dbl
	    and improved messages.
	  * acinclude.m4, tests/tget_flt.c: renamed macro
	      HAVE_DENORMS_FLT to HAVE_SUBNORM_FLT
	  * acinclude.m4, tests/{tests.c,tset_d.c,tsprintf.c}: renamed macro
	      HAVE_DENORMS     to HAVE_SUBNORM_DBL
	  * doc/README.dev: updated / completed the corresponding documentation.
	  * tests/tget_d.c: renamed function check_denorms to check_subnorm.

	[acinclude.m4] Updated comment about the tests for subnormal numbers.

	[acinclude.m4] Added a comment about the tests for subnormal numbers.

2019-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/Makefile.am] Added missing texinfo.tex prerequisite.

2019-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added FIXME comment in tfprintf.c, tout_str.c and tprintf.c:
	The output is not tested (thus coverage data are meaningless).

2019-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{add1sp.c,sub1sp.c}] Get rid of useless goto's.

2019-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[src/hypot.c] Replaced a TODO by a FIXME.

	The mpfr_out_str function now accepts bases from -2 to -36, in order to
	follow mpfr_get_str and GMP's mpf_out_str functions.

	[doc/mpfr.texi] Changed an incorrect use of @xref, which must always
	occur at the beginning of a sentence (use "see @ref{...}" instead).

	[doc/mpfr.texi] At the end of "Arithmetic Functions", added a sentence
	referencing the power functions (since x^n is an arithmetic function).

2019-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Removed the useless "Float ..." index entries.

	[doc/mpfr.texi] Moved the mpfr_pow class of functions from
	"Arithmetic Functions" to "Transcendental Functions".

	[doc/mpfr.texi] Added "Float transcendental functions" to the index
	for consistency ("transcendental functions" implies floating point,
	but the user should expect to find it with the other index terms
	starting with "Float").

	[doc/mpfr.texi] Renamed "Basic Arithmetic Functions" to just
	"Arithmetic Functions".

	[doc/mpfr.texi] Transcendental functions: added a sentence to the
	important note (about cases theoretically very hard to round).

	[doc/mpfr.texi] Renamed Section "Special Functions" to
	"Transcendental Functions" (as after changes in r13605 and r13606,
	it now contains only the transcendental functions), and slightly
	rewrote its important note.

	[doc/mpfr.texi] Moved mpfr_free_cache, mpfr_free_cache2, mpfr_free_pool
	and mpfr_mp_memory_cleanup from "Special Functions" to a new section
	"Memory Handling Functions".

	[doc/mpfr.texi]
	  * Moved mpfr_fac_ui, mpfr_fma, mpfr_fms, mpfr_fmma, mpfr_fmms,
	    mpfr_hypot, mpfr_sum and mpfr_dot from "Special Functions" to
	    "Basic Arithmetic Functions" (as these are functions based on
	    +, -, *, / and roots).
	  * Added a FIXME for mpfr_pow: does this function really belong
	    to "Basic Arithmetic Functions"?

	[doc/mpfr.texi] Improved warning about huge precisions.

	[src/mul.c] For the --enable-assert=full test, also test the flags
	(like what has been done for mpfr_add1sp and mpfr_sub1sp).

	[src/sub1sp.c] For the --enable-assert=full test, improved output of
	ternary value and flags, like in r13582 for mpfr_add1sp.

	[src/add1sp.c] Cosmetic change (consistent ordering).

2019-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsub1sp.c] added non-regression test for bug in mpfr_sub1sp2n
	[src/sub1sp.c] fixed that bug

2019-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Fixed MPFR_C_LONG_DOUBLE_FORMAT macro for MS-Windows.

	[NEWS] More details about mpfr_add and mpfr_sub.

2019-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] mention that mpfr_sub was also improved for 128 bits

	[NEWS] coverage improved to 98.6% on x86_64

	[tests/tadd1sp.c] improve coverage

2019-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Fixed MPFR_C_LONG_DOUBLE_FORMAT macro: the patch had
	a spurious ";" at the end of conftest.c, which made its compilation
	fail with -pedantic -Werror (using gcc or clang).

2019-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] rewrote mpfr_sub1sp2n (inspired from mpfr_sub1sp1n)

2019-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Updated MPFR_C_LONG_DOUBLE_FORMAT to support compilation
	with GCC's and clang's LTO (-flto). This new test is inspired by the one
	used by GMP for the double type.
	Thanks to Paul Mulders for a preliminary version of the patch for MPFR.

2019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] added new function mpfr_sub1sp2n for p = 2*GMP_NUMB_BITS
		       (still to be tested)

2019-09-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tadd1sp.c] bug20190903:
	  * Fixed the second test for GMP_NUMB_BITS != 64.
	  * Updated comments.

2019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] improved comment

2019-09-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] mpfr_add1sp2n: improved a comment.

	[src/add1sp.c] Fixed the bug.

	[tests/tadd1sp.c] bug20190903: do the second test in MPFR_RNDU too.

	[tests/tadd1sp.c] bug20190903: in the second test, check the mpfr_t
	value, the ternary value and the flags, in order to get a failure
	even without "--enable-assert=full".

	[tests/tadd1sp.c] When testing mpfr_add, use a wrapper mpfr_add_cf
	that calls mpfr_clear_flags first, so that if --enable-assert=full
	is used, the flags can be better checked too (and automatically).
	Now tadd1sp outputs with --enable-assert=full, as wanted:
	  add1  : ternary = -1, flags = inexact (8)
	  add1sp: ternary =  0, flags = none (0)

	[src]
	  * exceptions.c: define flags_fout if MPFR_WANT_ASSERT >= 2, i.e. with
	    --enable-assert=full (for better flags output in add1sp.c, etc.).
	  * mpfr-impl.h: declare flags_fout if MPFR_WANT_ASSERT >= 2.
	  * add1sp.c: improve output of ternary value and flags.

	[tests/tadd1sp.c] Updated comments of bug20190903.

	[tests/tadd1sp.c] Added a test that triggers a bug in mpfr_add1sp2n
	(corresponding to the FIXME), yielding a failure with
	"--enable-assert=full".
	Note 1: The computed values are equal (with MPFR_RNDN), but one gets
	  Inexact sp = 0 | Inexact = -1
	  Flags sp = 10 | Flags = 10
	Note 2: The fact that the flags do not match the ternary value in the
	error message is due to a missing mpfr_clear_flags in the test.

	[src/add1sp.c] mpfr_add1sp2n:
	  * Code refactoring, eliminating the unnecessary goto's.
	  * In the d >= 2 * GMP_NUMB_BITS case, use a single test for rb and sb.
	  * Improved code consistency.
	  * Added a FIXME about suspicious code. → Find a failing test and fix
	    the code, or explain the code if it is correct.

2019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] fix for bug20190903

2019-09-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Corrected a comment.

	[tests/tadd1sp.c] More random tests in the special precisions
	GMP_NUMB_BITS and 2 * GMP_NUMB_BITS (but they don't trigger
	the bug due to r13574).

	[tests/tadd1sp.c] Added testcase for bug due to r13574 (found with
	the other test programs, using --enable-assert=full).

2019-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] added mpfr_add1sp2n for 128-bit precision (with 64-bit limb)

2019-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp1_extracted.c] replace hard-coded bounds by emin/emax

	added sub1sp1_extracted.c (not ready yet)

2019-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added github source for Jianyang Pan formal proof

2019-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpfr-test.h] At the end, with GCC, undef volatile if defined.
	Explanations:
	  With GCC, a macro "volatile" can be defined to test some special code
	  in mpfr-impl.h (code for compilers that define such a macro), but the
	  volatile keyword is necessary in some tests to avoid some GCC bugs.
	  Thus we need to undef this macro (if defined). We do that at the end,
	  so that mpfr-impl.h (included earlier) is not affected by this undef.

	[tests/tget_set_d128.c] Updated a test with a non-canonical encoding:
	  * More meaningful name ("noncanonical" instead of "coverage").
	  * Output details in case of failure.
	  * Avoid GCC bug 91226: wrong propagation of non-canonical _Decimal64
	    and _Decimal128 constant (BID only).

2019-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update concerning the "decimal-point character".

	[doc/mpfr.texi] Changed "decimal point" to "decimal-point character",
	which is the term used in the ISO C standard. This is better as this
	character is also used with non-decimal bases: "decimal-point" is
	just the name of this character (as initially defined for base 10)
	and does not imply a number written in decimal.

	[doc/mpfr.texi] Compatibility With MPF: added an item on the difference
	of the output format between mpf_out_str and mpfr_out_str.

	[doc/mpfr.texi] Rewrote and completed the mpfr_out_str description.

2019-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/out_str.c] Fixed bug in mpfr_out_str: When the exponent of the
	converted value is 0, it was not output, contrary to what is described
	in the MPFR manual. Note that this does not change the value of the
	printed string, so that this has no effect on applications that just
	re-read the value (with MPFR or another code).
	This was regarded as a bug rather than an error in the documentation,
	thus the output now looks more similar to what printf with %e yields;
	the GMP function mpf_out_str also outputs the exponent 0.
	Short discussion:
	  https://sympa.inria.fr/sympa/arc/mpfr/2019-08/msg00012.html

	Note: The tests still pass, as this function is currently not really
	tested.

2019-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Update/corrections about MinGW and __USE_MINGW_ANSI_STDIO.

	[tests/tversion.c] When building with MinGW, output a line about it:
	MinGW32 / MinGW64, and the __USE_MINGW_ANSI_STDIO definition.

	[src/set_d128.c] Moved a definition under the #if where it is used.

2019-08-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improve INSTALL (feedback from sisyphus <sisyphus359@gmail.com>)

2019-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a FIXME for mpfr_out_str about the exponent 0.

	[doc/mpfr.texi] About mpfr_get_str / mpfr_out_str:
	  * In the mpfr_get_str description, changed argument "b" to "base" for
	    consistency with similar functions (now, only mpfr_get_str_ndigits
	    has b as this looks better in the formula). Also added a link to
	    mpfr_get_str_ndigits.
	  * In the mpfr_out_str description, replaced the ambiguous and even
	    incorrect sentence "enough digits so that op can be read back
	    exactly" (issues with trailing zeros and with the directed rounding
	    modes) by text similar to the one in the mpfr_get_str description
	    (keeping the reference to mpfr_get_str).

	[src/out_str.c] Coding style (e is not a boolean).

2019-08-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tout_str.c] Use mpfr_print_rnd_mode in a message.

	[tests/tout_str.c] Code simplification: a test from r1888 on a
	random value was unnecessary (the log message of r1888 did not
	even correspond to the change).

	[tests/tout_str.c] GNU coding style.

	[tests/tout_str.c] Added missing newline characters in the output
	after calls to mpfr_out_str.

	[tests/tout_str.c] By default, output the results to a file instead of
	/dev/null (this was already done only if opening /dev/null failed), so
	that they can be checked later. Fixed 2 issues at the same time:
	  * Do not close stdout (when an argument was provided).
	  * Remove the file at the end.

	[tests/tfpif.c] GNU coding style.

	[tests/tfpif.c] Added a comment about the use of perror.

	[tests/tfpif.c] Also check fclose failure when the file has been opened
	for writing (typically an error in case the buffer cannot be written to
	the file). Call perror after all fopen/src_fopen/fclose failures to get
	the reason of the failure.

	[tests/tfpif.c] In case of failure of fopen or src_fopen, write the
	error message on stderr (as one should do for errors not directly
	related to the tests, such as memory allocation and I/O errors).
	Also improved the error messages and made them consistent.

2019-08-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2019-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved consistency with @item.

2019-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	For Makefile.am and each one in SUBDIRS, added the .POSIX target to
	select the POSIX behavior (since we do not require GNU "make").
	See: https://sympa.inria.fr/sympa/arc/mpfr/2019-08/msg00005.html

	[tools/get_patches.sh] Fixed change in r13543 (the contents of PATCHES
	should still be written as a list of words separated by a space).

	Fixed src/get_patches.c generation that was changed in r13542.
	  * src/Makefile.am, tools/get_patches.sh: since get_patches.sh is
	    no longer run from $(top_srcdir), the PATCHES absolute pathname
	    now needs to be passed in argument.
	  * src/Makefile.am: fixed the get_patches.c rule (the automatic
	    variable $< was used with the meaning "first prerequisite" of
	    GNU Make; an "exit 1" was missing, so that a failure did not
	    abort "make" immediately).
	  * tools/get_patches.sh: detect errors with "set -e".

2019-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] Define get_patches.c as a built source to avoid a
	non-portable make rule ("/" character in target), causing an error
	in FreeBSD with its "make" command. This change should be OK as the
	get_patches.sh script that generates get_patches.c is very simple
	and portable. As a consequence, put get_patches.c in CLEANFILES.
	See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2019-07/msg00003.html

	[Makefile.am] Fixed dist-hook for ck-mparam, which was run from a
	read-only directory with "make distcheck" while a temporary file
	is created in the current directory, yielding a failure (ck-mparam
	has been run in dist-hook since r12533 on 2018-04-03).

	[tools/ck-mparam] Updated comment to warn that the source tree that is
	checked is the one that contains this script, not the one corresponding
	to the current working directory (the rule for the other scripts in the
	tools directory is currently different).

	[tools/ck-mparam] This script can now be run from any directory (which
	must still be writable). This change has been done to be able to run
	it from the build directory, as if it is run via "make distcheck" and
	a dist-hook rule, then neither the top-level directory nor the tools
	directory is writable.

2019-07-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_set_d64.c] Updated comment (only the x86 and x86_64 targets
	are affected).

	[tests/tget_set_d64.c] Improved a comment.

2019-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_set_d64.c] Avoid GCC bug 91226: wrong propagation of
	non-canonical _Decimal64 constant.

	[src/set_d64.c] In decimal64_to_string, log the memory representation
	of the _Decimal64 argument.

	[src/set_d64.c] In decimal64_to_string, log the various fields of the
	_Decimal64 argument whose memory data is regarded as a double (as this
	is the current implementation of this function).

	[tests/tget_set_d64.c] More output details in the noncanonical test.

	[tests/tget_set_d64.c] Improved the noncanonical test, but this does not
	solve the failure with gcc-snapshot.

	[tests/tget_set_d64.c] More meaningful name of a test with a
	non-canonical encoding and more details (fails with Debian's
	gcc-snapshot 10.0.0 20190718, trunk revision 273586).

2019-07-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": mention -Wsuggest-attribute=...
	options (but mpfr.h first needs some macros like __MPFR_SENTINEL_ATTR).

	Renamed MPFR_CONST_ATTR macro to MPFR_CONST_FUNCTION_ATTR in order to be
	similar to the MPFR_{PURE,HOT,COLD}_FUNCTION_ATTR macro names.

2019-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update concerning the MPFR manual:
	  * Updated information about the papersize issues (should be fixed,
	    but manual checking is recommended).
	  * Detailed English typography.
	  * Removed mention of the old texinfo bug 33329 (Debian bug 583558).

2019-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	[codespell.*] Update for codespell 1.15.0.

	Fixed spelling mistakes found by codespell 1.15.0.

2019-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Added missing "const" qualifier to "char *" in a test;
	needed with GCC's "-Wwrite-strings -Werror".

2019-07-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] MPFR_GROUP_* macros / mpfr_group_t structure: when
	MPFR_GROUP_STATIC_SIZE is 0 (for testing), use a flexible array member
	(ISO C99) instead of a zero-length array (GNU extension, forbidden in
	ISO C).

	[tests/*.c] Added missing "const" qualifier to "char *" when this
	involves string literals (detected by using GCC's -Wwrite-strings
	option, via the default -Wdiscarded-qualifiers warning).

2019-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4,configure.ac] MPFR_C_LONG_DOUBLE_FORMAT: also detect
	clang's LTO.
	Note: no longer use $FGREP (see r13513) as its status is unclear on
	non-POSIX systems (though very probably available when $EGREP is).

	[acinclude.m4,configure.ac] For MPFR_C_LONG_DOUBLE_FORMAT, when the
	format is unknown and it is detected that LTO has been used, output
	"recognition prevented by LTO".
	Note: at the same time, since AC_PROG_FGREP was needed, replaced
	$EGREP by $FGREP when applicable.

	[acinclude.m4] MPFR_C_LONG_DOUBLE_FORMAT: improved comment and added a
	warning saying that this does not work with GCC's LTO (gcc -flto ...).

2019-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] simplified code of sub1sp1 for bx = cx

2019-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] About r13506-13509 and optimization: added a comment
	about Clang after some tests (without giving details, as in practice,
	this is more complex... but this is the general idea).

2019-06-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed typo

2019-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Added reference to GCC PR30315 about a misoptimization
	on x86/x86_64 (see r13506 and r13507).

	[src/sub1sp.c] Completed r13506: added MPFR_ASSERTD to justify the
	new code and give more information to the compiler; added comments
	about this optimization issue.

2019-06-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] small speedup (following discussion with Félix Breton)

2019-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note about MPFR_DISABLE_IEEE_FLOATS.

	[doc/README.dev] Updated MPFR_DISABLE_IEEE_FLOATS description.

	[src/mpfr-impl.h] Undefine HAVE_LDOUBLE_IS_DOUBLE & HAVE_LDOUBLE_IEEE_*
	macros if MPFR_DISABLE_IEEE_FLOATS is defined, as the goal is to test
	code not relying on IEEE floats.

2019-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Code simplification with the generic
	LONGDOUBLE_NAN_ACTION macro (the WANT_LONGDOUBLE_VOLATILE macro is not
	needed as used only once, thus removed). Improved the related comment.

	[src] Instead of including <float.h> in volatile.c (r13493), do that
	unconditionally in mpfr-impl.h to make sure that macro definitions
	in this header file are always correct: some definitions depend on
	various macros from <float.h>, such as FLT_RADIX and DBL_MANT_DIG.

2019-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	applied patch from #21762
	(https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21762&group_id=136)

2019-05-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added another URL on undefined behavior.

2019-04-30  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Note that -static-libasan does not work with MPFR.

	[doc/README.dev] Update about the use of GCC's "-fsanitize=address".

2019-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/zeta.c] fixed out-of-bound read reported by Thomas Bailleux

	Note: This bug was introduced in r12066.

2019-04-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/ck-version-info] Minor corrections in a comment.

	[doc/README.dev] Update about the VERSION file:
	  * Added a paragraph on the meaning of the "-dev" suffix.
	  * Removed a confusing and useless "-dev" in an example.

	[tools/ck-news] Changed the condition of the test for FIXME or TODO:
	Previously it was disabled only for -dev versions. Now it is enabled
	only for releases and release candidates. This will allow snapshots,
	for which the NEWS file may still contain a FIXME or TODO.

	[tools/ck-version-info] Corrected check. Added explanations in comments.

	[tools/ck-version-info] Better error message if $vinfo is not defined.

	[src/Makefile.am] Added a comment.

2019-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Updated the list of rounding modes in the description
	of the mpfr_print_rnd_mode function. Choose the same order as in the
	"Rounding Modes" section in "MPFR Basics".

	[tools/mpfrlint] Lists of rounding modes: also check with the
	"Rounding Modes" section in "MPFR Basics".

	[src/print_rnd_mode.c] Added a comment to remember to update the manual.

	[tools/mpfrlint] Check that the lists of rounding modes in
	src/print_rnd_mode.c and doc/mpfr.texi are identical.

	[src/mpfr.h] Added a blank line (grouping of function declarations).

	Added support for GCC's returns_nonnull attribute (with GCC 4.9+).

	[TODO] Update about GCC's nonnull and returns_nonnull attributes.

2019-04-16  Vincent Lefèvre  <vincent@vinc17.net>

	New macro MPFR_FALLTHROUGH to avoid -Wimplicit-fallthrough warnings
	with GCC 7+. This macro also makes the code more readable by bringing
	the attention on an unusual fallthrough in a switch case.
	  * src/mpfr-impl.h: define this macro.
	  * src/vasprintf.c: use this macro in a case of fallthrough.

2019-04-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Minor bug fix: when an integer is to be read for
	  the field width or precision, regard strings like "17*" as invalid
	  instead of regarding it as "*" (ignoring the integer that precedes,
	  except in case of overflow). In C's printf, such an invalid string
	  yields undefined behavior, but in MPFR, we normally print the
	  invalid format specifier as a literal string in such a case.
	  Bug detected with -Wimplicit-fallthrough from GCC 7+.
	[tests/tsprintf.c] Added non-regression test.

2019-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Updated --enable-logging description.

	[acinclude.m4] When logging support is requested, run a test to check
	that code with nested functions and the 'cleanup' attribute can be
	compiled, as these features are needed.

	[configure.ac] AC_ARG_ENABLE(float128,...): updated comment and
	description.

	[configure.ac] Updated comment for AC_ARG_ENABLE(decimal-float,...).
	  * Removed information about very old GCC versions.
	  * _Decimal128 is considered too, in addition to _Decimal64.
	  * No longer just a GCC extension, but part of ISO/IEC TS 18661.
	  * Added a FIXME for new options about _Decimal64 and _Decimal128.

	[configure.ac] Cleanup: moved some AC_ARG_ENABLE's where they should be.

2019-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c]
	  * Corrected FIXME by modifying the assertion. The failure could occur
	    only when mpfr_intmax_t has the same size as int (which is the case
	    when long = int and either intmax_t and long long are not available
	    or intmax_t = long = int), and only when INT_MIN is provided as a
	    field width argument.
	  * Related to that, updated a test to improve optimization.
	  * Added comments.

	[src/vasprintf.c] Added a FIXME: tsprintf yields an assertion failure
	with sizeof(mpfr_intmax_t) = 4 (which was not tested until now).

2019-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	Cleanup / fixes related to intmax_t, mpfr_intmax_t, etc.

	The issues were:
	  * The build of the tests (make check) could fail with CFLAGS implying
	    "-std=c90 -Werror=format", i.e. if intmax_t was available but the
	    use of the "j" printf length modifier made the compilation fail
	    (its unconditional use was incorrect anyway).
	  * MPFR_INTMAX_MAX had definitions in both mpfr-impl.h & mpfr-intmax.h,
	    with inconsistent usage.

	Detailed changes:
	  * acinclude.m4: removed the definition of MPFR_PRINTF_MAXLM, which
	    could be incorrect (large numbers were not tested to select its
	    value); in the MPFR_FUNC_GMP_PRINTF_SPEC macro, check sprintf()
	    in addition to gmp_sprintf() as it is now also used in the tests;
	    updated some comments and messages.
	  * src/mpfr-impl.h: removed the MPFR_*INTMAX* definitions; they had
	    been added due to
	      https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582698
	    with -ansi -pedantic-errors, but this issue was fixed in GCC 4.8
	    (released 6 years ago), so that they are no longer needed.
	  * src/mpfr-intmax.h: completed the definitions; mpfr_intmax_t is now
	    the largest integer type available and fully working (in particular
	    with printf), thus it may be smaller than intmax_t.
	  * doc/README.dev: updated the description of mpfr_intmax_t, etc.
	  * tests/tversion.c: output sizeof(mpfr_intmax_t) too.
	  * Various .c files in src and tests related to (u)intmax_t: use
	    INTMAX_MAX instead of MPFR_INTMAX_MAX, etc. as Debian bug 582698
	    (mentioned above) no longer occurs and mpfr_intmax_t may be smaller
	    than intmax_t; use the "j" printf length modifier instead of
	    MPFR_PRINTF_MAXLM, and protect it with "#ifndef NPRINTF_J"
	    (only the tests are concerned, so that this is not an issue).

2019-03-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/urandomb.c] Removed the FIXME: this is a bug in GMP or in Clang's
	memory sanitizer.

	[src/urandomb.c] Added a FIXME (use-of-uninitialized-value with
	Clang's memory sanitizer).

2019-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/printf.c] Removed unused definitions.

2019-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update about coverage:
	  * Mention not to enable optimizations.
	  * Replaced "-fprofile-arcs -ftest-coverage" by "--coverage", as
	    this is what is used by the tools/coverage script (note: this
	    is a synonym when compiling, but also allows the right options
	    to be used when linking, thus might be better in doubt).

2019-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Use MPFR_DBL_* macros when necessary.

	[tools/mpfrlint] For consistency, use "[ch]" instead of "{c,h}".

	[tools/mpfrlint] Detect use of DBL_* macros instead of MPFR_DBL_* ones.

	[tools/mpfrlint] Improved message about division by zero.

	[doc/README.dev] Improved description of MPFR_ERRDIVZERO.
	[tools/mpfrlint] Added a comment about division by zero.

	[tools/mpfrlint] Check that native FP division by zero is not used.

2019-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] In check-exported-symbols, replaced grep by $(GREP)
	as usual and like in check-gmp-symbols.

2019-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Updated comment about default options in CFLAGS for GCC.

	Update about CC / CFLAGS settings from GMP (__GMP_CC / __GMP_CFLAGS).
	  * configure.ac: remove -pedantic unconditionally; since r7044, it was
	    removed only when logging was enabled, as at that time only logging
	    was using C extensions.
	  * NEWS: added a line about this change.
	  * INSTALL: updated the note about CC / CFLAGS, removing the obsolete
	    reference to GMP 4.3.0 at the same time.

2019-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/announce-text] Corrected subject for Release Candidate > 1.

2019-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[NEWS] Update about shared caches.

	[NEWS] Added: "Shared caches: cleanup."

	[src/mpfr-thread.h] Fixed the lock macros:
	  * in case of failure, one must abort, otherwise this would generally
	    be undefined behavior;
	  * added missing "do {} while (0)" (currently not mandatory).

	[src/mpfr-impl.h] Updated a comment about MPFR_DECL_INIT_CACHE and
	the shared cache.

	[acinclude.m4] Avoid a warning with the pthread_rwlock_t test,
	as it is an error with -Werror.

	[acinclude.m4] Fixed another C++ compatibility issue detected by
	the -Werror=c++-compat GCC option (it led the "long double" format
	to be unknown).

2019-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] Fixed C++ compatibility issue (arithmetic on enum)
	detected by the -Werror=c++-compat GCC option.

2019-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] By default (i.e. if CFLAGS is not already set), if
	the compiler is GCC not in C++ mode, add the -Wc++-compat warning
	since we expect the code to compile with a C++ compiler.

2019-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcheck.c] Corrected meaningless error message.

	[doc/mpfr.texi] Minor correction for non-tex versions.
	Thanks to Trevor Spiteri for the bug report.

2019-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	Moved the compatibility test of the configure options even earlier, from
	acinclude.m4 to configure.ac, just after the code that defines them.
	Also added an associated AC_MSG_CHECKING message for better clarity.

	[acinclude.m4] Simplified a message.

	[tests/tversion.c] When the shared cache is enabled, also output the
	lock method (this information has been lost in r13032).

	[acinclude.m4] When checking support for POSIX threads (pthread), also
	check that pthread_rwlock_t is supported, as it is needed by MPFR and
	conditionally defined in glibc's bits/pthreadtypes.h (via <pthread.h>).

	Cleaned up configure code related to threading and the shared cache.
	  * acinclude.m4:
	      - detect incompatibilities between configure options at the
	        beginning of MPFR_CONFIGS, forcing enable_thread_safe to
	        "no" or "yes" when necessary, so that the subsequent code
	        can rely on that;
	      - check ISO C11 thread support and/or POSIX thread support
	        only when necessary;
	      - handle --enable-shared-cache early in MPFR_CONFIGS, because
	        the use of POSIX threads (pthread) may need to change CC,
	        CFLAGS, and LIBS (thus affecting other tests);
	      - test $enable_shared_cache instead of $mpfr_want_shared_cache;
	      - removed the now useless MPFR_CHECK_SHARED_CACHE function.
	  * configure.ac: no longer set the mpfr_want_shared_cache variable,
	    as enable_shared_cache (now used) already has the same usage.
	Note: currently,
	  ./configure --enable-shared-cache CFLAGS="-std=c99"
	still succeeds and still makes the compilation fail. This seems to
	be due to a limitation of AX_PTHREAD, which just tests linking, not
	compilation.

	[acinclude.m4] In MPFR_CHECK_SHARED_CACHE (used when the shared cache
	was requested), also set CC="$PTHREAD_CC" as documented by ax_pthread
	(autoconf-archive). This is not guaranteed to work, but according to
	the ax_pthread.m4 source, in the cases where "$PTHREAD_CC" != "$CC",
	not setting it will probably not work either.

	[src/mpfr-impl.h] Added a comment about the cache-related types, which
	depend on the locking methods.

2019-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Updated comment about GCC bug 86554: now fixed in
	the GCC trunk.

2019-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Replaced "env -u DISPLAY" by "env DISPLAY=''" as
	the -u option is not supported by NetBSD.

	Updated files:
	  * COPYING from https://www.gnu.org/licenses/gpl-3.0.txt
	  * COPYING.LESSER from https://www.gnu.org/licenses/lgpl-3.0.txt
	These are URL updates and cosmetic changes.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
	Note: For r5400, this changes an incorrect update done via r13372 back
	to the old log message, as the URL in this log message here describes
	a change in one of the files.

	[doc/README.dev] Updated some URL's (http → https).

	[doc/texinfo.tex] Update to 2018-02-12.17 with "autoreconf -i -f".

	Updated the www.gnu.org URL's (http → https) on all the files with:
	  perl -pi -e 's,http://www.gnu.org/,https://www.gnu.org/,g' **/*(.)
	under zsh.

	[tests/tstrtofr.c] Updated comment about GCC bug 86554: the MPFR build
	is still affected with the latest gcc-snapshot version (20190102-1)
	when using --with-gmp-build=... together with --enable-assert.

2019-01-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Added a comment about GCC bug 86554: the MPFR build
	seems no longer affected by recent gcc-snapshot versions.

2019-01-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2019 with
	  perl -pi -e 's/ (\d{4}-)?(2018)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh. Removed 2018 from the example in the doc/README.dev file.

2018-12-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfmma.c] Added double_rounding test to trigger errors before
	the fix in mpfr_set_1_2 (set.c r13347).

	[src/set.c] In mpfr_set_1_2, evaluate MPFR_PREC(s) just once.

	[src/set.c] Clarified the mpfr_set_1_2 description.

	[src/set.c] For mpfr_set_1_2, corrected the comments and simplified the
	generic algorithm (there is no need to distinguish the rounding modes,
	except for the double-rounding test, and this simplification avoids the
	non-portable inex | inex2).

2018-12-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mini-gmp] Removed "#define GMP_LIMB_BITS 8": it is not used by
	mini-gmp.h and yields a failure when building mini-gmp.c (which has
	its own definition of GMP_LIMB_BITS, equivalent but not identical).

	[configure.ac] Support mini-gmp with reduced limb size, in the case
	GMP_NUMB_BITS is not defined: guess GMP_NUMB_BITS from the size of
	mp_limb_t instead of the size of unsigned long.

	[doc/mini-gmp] Correction to avoid a "conflicting types for 'mp_limb_t'"
	error.

2018-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mini-gmp] added note about using mini-gmp (development version) with
		       reduced limb size

	[src/set.c] fixed double-rounding bug in mpfr_set_1_2
	[tests/tset.c] added corresponding tests

	[tests/tset.c] added a test of test_set_1_2(), which currently fails

	[tests/tcan_round.c] disabled tests that don't agree with mpfr_can_round documentation

2018-12-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Updated a comment about ISO C vs POSIX for snprintf.

	[tests/tsprintf.c] Updated a comment about ISO C vs POSIX for snprintf.

	[TODO] Added item: new functions mpfr_cmp_uj and mpfr_cmp_sj.

	[TODO] Removed obsolete "check again coverage" from 2007.

2018-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqr.c] fixed same issue as in r13338 and r13339

	[src/mul.c] fixed bug in mpfr_mul() when sizeof(mp_limb_t) < sizeof(mpfr_exp_t)
		    (same issue as in r13338)

2018-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] For MPFR_WANT_ASSERT >= 2: minor changes in the code;
	corrected a comment (even with mp_limb_t >= mpfr_exp_t, there was an
	issue: the expression b1 - 1 + cc was computed in unsigned arithmetic,
	then converted to mpfr_exp_t, with an implementation-defined result
	when -1 was expected, i.e. with b1 = cc = 0).

	[src/mul.c] Corrected a typo in a comment.

	[src/mul.c] Fixed error message with MPFR_WANT_ASSERT >= 2.

2018-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] For count_leading_zeros (MPFR_LONG_WITHIN_LIMB
	not defined), no longer assume GMP_NUMB_BITS <= 32.

	[src/mpfr-gmp.h] Fixed count_leading_zeros (avoid undefined behavior
	on shift counts, which must be nonnegative and smaller than the width
	of the type of the shifted value).

2018-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] fixed reference routine mpfr_mul3() when sizeof(limb) < sizeof(exp)

	[src/mpfr-gmp.h] fixed count_leading_zeros for mini-gmp with 32-bit limb

2018-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mini-gmp] added remark about random functions

	[tests/tdiv.c] fixed test_20151023 (was giving an error with micro-gmp-8
	and GMP_CHECK_RANDOMIZE=1544431052619574)

2018-12-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Added a test for some avoidable use of gmp_printf.

2018-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests]
	  * mpfr-test.h, tests.c: added n_trace function to output a mpn.
	  * tcan_round.c: use n_trace instead of gmp_printf ("%NX\n",...),
	    which is not available with mini-gmp.

2018-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcan_round.c] Corrected all the error messages for mini-gmp.

	[tests/tcan_round.c] Corrected error message for mini-gmp.

2018-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpow_z.c] Another fix and minor improvements.

	[tests/tpow_z.c] Fixed a test (midpoint case) that was failing
	with micro-gmp-8 and GMP_CHECK_RANDOMIZE=1544033327230569.

	[tests/tpow_z.c] Fixed a test for MPFR_RNDF: do not check the ternary
	value (a failure was occurring with --with-mini-gmp=.../micro-gmp/8
	and GMP_CHECK_RANDOMIZE=1544025040809270).

	[tests/tpow_z.c] Improved error message.

	[src/mpfr-mini-gmp.c] Added missing "void" in function prototype.

	[configure.ac] When building against mini-gmp, check the availability of
	lrand48, in particular because it is not part of the ISO C standard.

2018-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-mini-gmp.c] put back unconditional assert from r13316 (removed by error)

	[src/mpfr-mini-gmp.c] improved random_limb (the low bits of lrand48 are bad)
			      and fixed gmp_urandomm_ui

2018-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.c] gmp_urandomm_ui: added a MPFR_ASSERTN
	unconditionally, as n == 0 is always forbidden.

2018-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-mini-gmp.c] the static assert introduced in r13313 makes the
			      compilation fail for 8-bit limbs, while the code
			      was valid for n <= 256 in that case

2018-12-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.c] Fixed types.

	[src/mpfr-mini-gmp.c] Added a static assertion to make sure that
	the MPFR_ASSERTD added in r13312 is valid.

2018-12-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-mini-gmp.c] gmp_urandomm_ui did not generate uniform values

2018-12-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d.c] Improved comment.

2018-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] About r13308, added references to the bugs.

	[tests/Makefile.am] Unset DISPLAY as it is not needed and it can yield
	error messages when running the tests with LOG_COMPILER=wine (for builds
	with MinGW).

	[tests/tversion.c] Updated a comment about an output issue with MinGW,
	with the test run under Wine (which is really the cause of the issue).

2018-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] In case of failure of some particular test, output
	the probable cause of this failure (GCC bug 86554) with a workaround.

2018-11-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Updated a comment about a printf issue with MinGW.

	[src/strtofr.c] Added a FIXME about the error analysis (info that was
	part of the FIXME resolved in r13303 and inadvertently dropped).

	[src/strtofr.c] Resolved a FIXME; tstrtofr no longer fails due to
	bug20181127 with 8-bit limbs (micro-gmp/8).

	[tests/tstrtofr.c] Added bug20181127 (test found with random_tests),
	which fails with 8-bit limbs (micro-gmp/8).

	[src/mpfr-impl.h] Added a comment with a warning concerning the
	  meaning of MPFR_EXP_FSPEC.
	[tests/tstrtofr.c] Fixed a MPFR_EXP_FSPEC related bug in a test
	  for _MPFR_EXP_FORMAT <= 2, e.g. with -D_MPFR_PREC_FORMAT=2.

	[tests/tdiv.c] Fixed bad format string for an error message, detected
	with -D_MPFR_PREC_FORMAT=2 (using -Werror...).

2018-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Moved bug20180908() from tget_str.c to tset_str.c since it tests
	mpfr_set_str() only. This test was introduced in r13164.

2018-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] + More UBF functions.

	[doc/mpfr.texi] Updated the month.

	[src/strtofr.c] Changed some unsigned long to unsigned int.

	[src/strtofr.c] Some cleanup in parsed_string_to_mpfr. Avoid a potential
	integer overflow in very high precision if mp_size_t < mpfr_prec_t.

2018-11-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Updated FIXME, due to new tests added to
	tests/tstrtofr.c in r13278-13279,13286-13288.

	[src/nbits_ulong.c] Added missing initialization from r13269
	when MPFR_LONG_WITHIN_LIMB is not defined.

	[tests/tstrtofr.c] Resolved the FIXME and fixed the issue related to
	the old mpfr_get_str description (see r13283).
	Note: with the later fix r13289, a test still fails with 8-bit limbs
	(incorrect exponent, possibly corresponding to the FIXME just before
	"exp = GMP_NUMB_BITS - count;" in src/strtofr.c).

	[tests/tstrtofr.c] Added comments, including a FIXME.

	[tests/tstrtofr.c] Resolved the FIXME for the random tests, and
	increased the number of tests to trigger a failure.

	MPFR manual: corrected/completed the mpfr_get_str description in order
	to follow the historical behavior and GMP's mpf_get_str function.
	(Discussion in the Trier meeting.)

	[src/get_str.c] Code style.

	[doc/README.dev] Update about issues with mixing signed/unsigned types.

	[doc/README.dev] Added a note about the disallowed conversions between
	function pointers and other kinds of pointers (including to void *).

2018-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Added a FIXME, which explains the current failure.
	But there is currently an inconsistency in mpfr_get_str, whose digits
	are not specified:
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-11/msg00021.html

	[tests/tstrtofr.c] Added random tests, which currently fail.

2018-11-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] mpfr_can_round_raw: improved the code structure about
	rnd1 and rnd2, making clear that they are not changed several times;
	avoid the use of cc with 2 different meanings in the same code path.

2018-11-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] fixed bug in mpfr_can_round when rnd2=RNDF, rnd1 is a
			   directed rounding, and the input is exact

2018-11-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] parsed_string_to_mpfr: updated a FIXME comment.
	In short, the current tstrtofr.c tests seem to always be hard-to-round
	cases. The consequence is that some parts of the code are run, but not
	completely tested, because for these cases, some intermediate results,
	potentially incorrect, are thrown out due to the next Ziv iteration!

	[src/strtofr.c] parsed_string_to_mpfr: minor changes.

	[src/strtofr.c] parsed_string_to_mpfr: added log messages.

	[src/strtofr.c] Minor change to use MPFR_ASSERTD.

	[src/{int_ceil_log2.c,mpfr-impl.h}] Consistent postcondition for
	MPFR_INT_CEIL_LOG2 and __gmpfr_int_ceil_log2 (result >= 0).

	[src/nbits_ulong.c] Code refactoring. Added {pre,post}condition.

	[src/strtofr.c] parsed_string_to_mpfr: removed an incorrect cast.

	[src/strtofr.c] parsed_string_to_mpfr: updated a FIXME comment (again,
	another issue).

	[src/strtofr.c] parsed_string_to_mpfr: updated a FIXME comment (there
	is another issue to solve first).

	Removed trailing whitespace.

	[src/strtofr.c] parsed_string_to_mpfr: updated a comment (useless code
	in this function or incomplete tests).

	Avoid GCC's -Wcast-align warnings with 8-bit limbs (a correct alignment
	is ensured by the code itself, and GCC cannot check just from a cast).

	[src/strtofr.c] parsed_string_to_mpfr: updated comments.

2018-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] parsed_string_to_mpfr: more code review, with minor
	changes and corrections + a FIXME.

	[src/strtofr.c] Typo.

	[src/strtofr.c] Fixed an allocation bug for GMP_NUMB_BITS = 8.

	[src/strtofr.c] Updated a comment: the issue with mpn_set_str found
	in 2013-12 (see r8722) was actually an error in the GMP manual.

	[src/strtofr.c] parsed_string_to_mpfr: improved an assertion; comments.

2018-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tcan_round.c] fixed some TODOs, which exposes a bug

2018-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Near the beginning of parsed_string_to_mpfr: corrected
	comments; added an assertion; minor change of a test.

2018-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mulders.c] fixed issue with --enable-gmp-internals
	[tune/tuneup.c] likewise
	(see https://sympa.inria.fr/sympa/arc/mpfr/2018-11/msg00015.html)

2018-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-longlong.h] applied patch from https://sympa.inria.fr/sympa/arc/mpfr/2018-10/msg00010.html

2018-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	[codespell.ignore] Also ignore "ue" (codespell 1.14).

2018-10-01  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac,src/Makefile.am] About the --with-mini-gmp support, since
	there are some advantages with the new code, one will probably not go
	back. Thus removed the references to the Automake 1.15 bug and to the
	old code. Also removed the mini_gmp_path=. workaround needed with the
	old code (even with Automake 1.16), which had been added in r13217.
	Also slightly improved the setup for mini-gmp.

	[doc/with-mini-gmp.patch] Updated comment.

	[configure.ac,src/Makefile.am] Avoid a "make" failure due to a bug in
	Automake 1.15 automatic dependency tracking: instead of using mini-gmp
	directly in an external directory with a $(mini_gmp_path) variable in
	src/Makefile.am, make the configure script add symbolic links to the
	mini-gmp sources in the build directory, and use these symbolic links
	for the MPFR build (as if they were plain files).
	Tested under various conditions: static and shared; separate source and
	build directories; changing the mini-gmp version without "make clean".

2018-09-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added doc/with-mini-gmp.patch file (for the developers):
	Modifications to configure.ac and src/Makefile.am that had been done
	for --with-mini-gmp support. This is kept for the reference, as changes
	may be needed as a workaround to a bug fixed in GNU Automake 1.16, and
	other future changes might break things (to remember what was working
	at this time).

2018-09-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mini-gmp] Update.

2018-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	[Makefile.am] Distribute the doc/mini-gmp file.
	[configure.ac] For --with-mini-gmp, say:
	  "(experimental, please read doc/mini-gmp file)"

	[src/Makefile.am] Added nodist_ for mini-gmp.{c,h} so that these files
	(not part of MPFR) are not put in the tarballs by "make dist".

	Removed --enable-mini-gmp configure option.
	  * NEWS: say that it is replaced by --with-mini-gmp.
	  * configure.ac: --enable-mini-gmp removed.
	  * doc/mini-gmp: update.

	[src/mpfr-mini-gmp.c] Missing #else (from r13156).

	[configure.ac] When using --with-mini-gmp, define GMP_NUMB_BITS if this
	macro is not already defined in mini-gmp.h (this is done a bit like
	with --enable-mini-gmp, but the handling in this option is buggy as
	GMP_NUMB_BITS is defined with AC_DEFINE_UNQUOTED unconditionally,
	though is most cases the contents of the macros are the same).

	[configure.ac] Do not split "Setup GMP detection". When building
	MPFR against mini-gmp, do not run any "Setup GMP detection" test
	(in particular, no longer check gmp.h, as it is useless).

	[src/mpfr-mini-gmp.h] Removed incorrect GMP_NUMB_BITS macro definition,
	and this macro needs to be usable in preprocessor tests, and sizeof and
	types are not available at this level. GMP_NUMB_BITS must be defined by
	mini-gmp.h, by the configure script, or by the user.

	[tools/mpfrlint] Update due to r13221.

2018-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Run tversion at the beginning of the tests,
	then show its output and svnversion's output too.

	[src/mpfr-mini-gmp.h] Added a FIXME (failure with a mini-gmp that
	does not define GMP_NUMB_BITS, such as the official one).

	[tests/random2.c] Avoid undefined behavior on shift count.

	[src/mpfr-impl.h] Fixed MPFR_LIMB_MASK() macro.

	[configure.ac] Avoid a configure failure with automatic dependency
	tracking when --with-mini-gmp is not used (bug in Automake?).

	[NEWS] + Mini-gmp support via the --with-mini-gmp configure option.

2018-09-17  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the with-mini-gmp branch into the trunk: new --with-mini-gmp
	configure option to build MPFR against mini-gmp (instead of GMP).

	[doc/mini-gmp] Update.

	Merged the latest changes from the trunk.

	[src/mul_ui.c] Better code organization (with the MPFR_RET at the right
	place). Corrected indentation after #else.

2018-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-mini-gmp.c] added #if 0 ... #endif for mpz_dump (unused)
	[src/mul_ui.c] fixed compiler warning for limb < long

2018-09-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] Update for mini-gmp (install mini-gmp.h).

	Merged the latest changes from the trunk (bug fix for 8-bit limb).

	[tests/random2.c] Fix for 8-bit limb.

	Merged the latest changes from the trunk.

	[tests/tests.c] Define only one buffer in test_version().

	[tests/random2.c] Improved code by using MPFR_LIMB_* macros.

	[src/mpfr-impl.h] Improved MPFR_LIMB_* macros for mp_limb_t < int
	(e.g. 16-bit or 8-bit limb), as in such a case, integer promotion
	transforms mp_limb_t to int.

2018-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tests.c] fixed compiler warning

2018-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk (bug fixes).

	[src/get_si.c] Code refactoring/simplification like what has been
	done for get_ui.c in r13185, fixing also an integer overflow when
	MPFR_LONG_WITHIN_LIMB is not defined.

	[tests/random2.c] Fix for 16-bit limb.

	[src/add1.c] Fix for 16-bit limb.

	[src/mpfr-gmp.h] Fixed bug in add_ssaaaa / sub_ddmmss from r13081.

	Completed --with-mini-gmp support (not fully tested).

	Merged the latest changes from the trunk.

	[src/Makefile.am] Moved a comment in a better place.

	[configure.ac] Define MINI_GMP Automake conditional (AM_CONDITIONAL).

2018-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	Started to implement --with-mini-gmp (building mini-gmp and linking
	not correctly handled yet, thus "make check" failure is expected).

	[Added during the Subversion to Git conversion]
	This commit includes a merge of r13191 from the trunk.

2018-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Typo.

	[configure.ac] Updated comments about configure options for mini-gmp.

2018-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsin.c] reduce REDUCE_EMAX with mini-gmp

2018-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ui.c] Added assertions.

	[src/get_ui.c] Code refactoring/simplification.

	[src/sin_cos.c] Added assertions protecting against buffer overflow.

2018-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sin_cos.c] fix for small limb size

2018-09-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.h] Fix: Since gmp_version is not defined in mini-gmp,
	we must not declare it (otherwise one would get a link failure instead
	of a compilation failure if gmp_version is used by mistake).

	[tests/tests.c] Improved change in r13179 for mini-gmp.

	[configure.ac] Do not check for CC and CFLAGS in gmp.h if mini-gmp is
	used, i.e. if --enable-mini-gmp (current option) or --with-mini-gmp
	(future option) is given.

2018-09-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tests.c] libgmp is not defined with mini-gmp (issue found with -O0)

2018-09-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.h] Removed #include lines as mpfr-mini-gmp.h is
	included only in mpfr-impl.h, which already does these #include's.

	[src/mpfr-impl.h] Check that MPFR_HAVE_GMP_IMPL and MPFR_USE_MINI_GMP
	are not both defined.

	[src/mpfr-mini-gmp.c] Removed #include "mpfr-mini-gmp.h" as this include
	is already done in mpfr-impl.h (in both cases, when MPFR_USE_MINI_GMP is
	defined).

	[src/rec_sqrt.c] Replaced "if (GMP_NUMB_BITS >= 16)" by a preprocessor
	test "#if GMP_NUMB_BITS >= 16" like earlier. Use static assertions.

	[src/rec_sqrt.c] Fixed types for 8-bit limb. Removed useless casts.

	[src/rec_sqrt.c] Fixed a type from r13172 (int was obviously too short
	and was yielding a segmentation fault).

2018-09-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/rec_sqrt.c] fixed for 8-bit limb

	[tests/tcan_round.c] fixed test for small value of GMP_NUMB_BITS

	[src/strtofr.c] fixed r13168: in case exact=0, mpn_rshift was not done

	[tests/tsqrt.c] modified test_sqrt1n() so that it passes with 8-bit limbs

2018-09-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Replaced "exact &=" by "exact = exact &&" as usual.

2018-09-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] fix for 8-bit limb

	[src/strtofr.c] added comment

2018-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2018-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] fix from r13163 was incorrect
	[tests/tget_str.c] added a testcase, and fixed an error message

2018-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] resolved a FIXME

	[tests/tdiv_ui.c] fixed corner_cases() test

	[src/int_ceil_log2.c] fixed __gmpfr_int_ceil_log2 for limb < long

2018-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/random2.c] fixed mpfr_random2 for GMP_NUMB_BITS <> 64

	[src/mpfr-mini-gmp.c] fixed another compiler warning

	[src/get_ui.c] fixed compiler warning

	some fixes for 8-bit limb support

	adapt to 8-bit limbs (work in progress)

	[tests/tl2b.c] extend to 8-bit limb

	[src/mpfr-gmp.h] fix for 8-bit limb

2018-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added @tie{} (normal non-breakable space) at various
	places to avoid unwanted line breaking.

	[doc/mpfr.texi] mpfr_rootn_ui, mpfr_root: changed k to n in order to
	match IEEE 754-2008. Also improved the description of mpfr_rootn_ui,
	mentioning the P754/D2.41 draft of the next IEEE 754 standard because
	IEEE 754-2008 is incomplete.

2018-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] !mpfr_equal_p is better than mpfr_cmp.

2018-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/rint.c] fixed bug with 16-bit limb
	             (found by trint with GMP_CHECK_RANDOMIZE=1536206745598891)

	[tests/tdiv.c] fixed test_20151023()

2018-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

	[src/get_ld.c] Removed incorrect and useless assertions (manl
	has exactly 32 bits, thus a shift count of 32 bits is invalid,
	but also useless).

2018-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_ld.c] fixed (hopefully definitively) for 16-bit limb

2018-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d64.c] 2 fixes concerning rp[]:
	  * If GMP_NUMB_BITS >= 64, there is a shift of 32 bits, thus one
	    uses mp_limb_t (> 32 bits) instead of unsigned int.
	  * Otherwise use unsigned long as an unsigned int might be on 16 bits.

	[src/mpfr-impl.h] Indentation.

	[src] Moved mpfr_nbits_ulong to its own file "nbits_ulong.c".

	[src/pow_si.c] MPFR_NEED_LONGLONG_H is still needed.

	[tests/tget_set_d64.c] Removed xxx suffix added in r13139 (by mistake?).

2018-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/exp_2.c] export (internally) nbits_ulong (renamed to mpfr_nbits_ulong)
	[src/mpfr-impl.h] added prototype for mpfr_nbits_ulong
	[src/pow_si.c] fixed for 16-bit limb

	[src/get_d64.c] fixed for 16-bit limb
	[src/set_d64.c] likewise
	[tests/tget_set_d64.c] improved error message

2018-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ld.c] In the case GMP_NUMB_BITS == 16, cast to unsigned long
	instead of unsigned int since shift counts can be up to 16 and an int
	might be on 16 bits only.

2018-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_ld.c] when denorm=16, a 32-bit shift on an unsigned int is undefined

	[src/exp_2.c] fix for 16-bit limb
	[tests/texp.c] improve error message

	[src/mpfr-mini-gmp.c] fixed gmp_urandomb_ui for 16-bit limb, added mpz_dump
	[tests/terandom_chisq.c] more details in case of error

	[src/random_deviate.c] fixed typo

2018-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_z_exp.c] Avoid a GCC bug.

	[tests/tset_z_exp.c] Attempt to fix randexp, but GCC complains.

	[src/mpn_exp.c] Avoid useless "while" in nbits_mpfr_exp_t.

2018-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tset_ld.c] give more digits in case of error
	[tests/tget_ld_2exp.c] added one test (currently fails for 16-bit limb)

	[src/set_ld.c] partial fix for 16-bit limb (typo + nice bug!)

	[tests/tset_z_exp.c] fixed infinite loop in test code for limb < mpfr_exp_t

	[src/mpn_exp.c] adapt to bitsize(mpfr_exp_t) > GMP_NUMB_BITS

2018-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div.c] Code simplification.

	[src/round_prec.c] MPFR_LIMB is actually useless now...

	[src/round_prec.c] Code style and potential correction for 16-bit limb.

	[src/sqrt_ui.c] Moved MPFR_SAVE_EXPO_FREE after mpfr_sqrt because
	the uu argument may be out of range and there is no guarantee that
	mpfr_sqrt can handle that. Improved consistency; code refactoring.

2018-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] fixed for 16-bit limb
	[tests/tcan_round.c] improve error message

	[src/sqrt_ui.c] fixed for 16-bit limb

2018-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_si.c] Make sure that a left shift is done on an unsigned type
	(as a left shift on a 0 of signed type was not specified by C90).

2018-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] fix for 16-bit limbs, and added comments

	[src/rint.c] fix for 16-bit limb

	[tests/tdiv.c] more detailed error message

	[src/get_si.c] forgot cast when long > limb

	[src/get_ui.c] forgot cast when long > limb

2018-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/odd_p.c] fix for 16-bit limb

	[tests/tbeta.c] exit at the first error

	[src/get_si.c] adapt to 16-bit limbs
	[src/get_ui.c] likewise

	[src/cmp_si.c] adapt for reduced exponent range for 16-bit limbs
	[src/cmp_ui.c] likewise

2018-09-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpfr-test.h] If MPFR_TESTS_ABORT is defined, replace exit(1) by
	  abort(), thus with a core dump.
	[doc/README.dev] Document MPFR_TESTS_ABORT.

2018-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tgeneric.c] revert 13107 (abort might lose some data in open files)
	[src/mul_ui.c] fixed for 16-bit limb and reduced exponent range

	[tests/tgeneric.c] replace exit(1) by abort() to allow debugging with gdb

	[src/isinteger.c] fix for 16-bit limb

	[src/cmp_si.c] fixed error for 16-bit limb
	[src/cmp_ui.c] adapted to 16-bit limb

2018-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/cmp_si.c] adapt for 16-bit limb

2018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul_ui.c] adapt for 16-bit limb

2018-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.c] Fixed potential undefined behavior (when mp_limb_t
	is defined as an unsigned short) with MPFR_LIMB_LSHIFT.

	[src/mpfr-impl.h] Define MPFR_LIMB_LSHIFT(x,c) macro to do a left shift,
	making sure that the shifted argument is unsigned (needed due to the
	integer promotion rules when mp_limb_t is defined as an unsigned short).
	[src/add1.c] Fixed potential undefined behavior with MPFR_LIMB_LSHIFT.

	[src/mpfr-impl.h] Corrected a comment and added a warning.

2018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-impl.h] fix MPFR_INT_CEIL_LOG2 for 16-bit limb

	[src/set_si_2exp.c] support 16-bit limbs

2018-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ui_2exp.c] Code formatting. Removed a FIXME (done in r13078).

2018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-gmp.h] missing cast

	removed TEST_FLAGS stuff

2018-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] More correction about the MPFR_TESTS_TIMEOUT macro.

	[doc/README.dev] Clarification about MPFR_TESTS_TIMEOUT.

	[doc/README.dev] Reverted r13090: this was already mentioned at the
	right place (do not mix up macros and environment variables).

2018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-gmp.h] added missing udiv_qrnnd for 16-bit limb
	[src/mul.c] fixed for 16-bit limb
	[src/ui_div.c] likewise

	[README.dev] mention that MPFR_TESTS_TIMEOUT only works with --enable-tests-timeout

2018-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fix for MS Windows.

	[src/mpfr-impl.h] Make sure that MPFR_LONG_WITHIN_LIMB is defined if
	__GMP_SHORT_LIMB is not defined, as required by the current code.

	[src/mpfr-gmp.h] Untabified.

2018-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-impl.h] fixed wrong #ifdef

	[src/mpfr-mini-gmp.c] fix for 16-bit limb

	[src/add1.c] fix for 16-bit limb
	[tests/tadd.c] more output in case of error

	[src/add1.c] fixed compiler warning

	[src/mpfr-gmp.h] removed leftover debug statement
	[src/mpfr-impl.h] added MPFR_LIMB macro
	[src/sub1sp.c] fix for 16-bit limb

2018-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-gmp.h] more changes for 16-bit limb
	[src/mpfr-impl.h] mpfr-longlong.h should not be used for limb < long

	[mpfr-gmp.h] added comment

	[mpfr-mini-gmp.c] fix for 16-bit limb

	[src/set_ui_2exp.c] fix for 16-bit limb

2018-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_p.c] gmp_fprintf is not defined in mini-gmp

	[tests/tadd.c] fix for 16-bit limb

	[src/add1.c] revert previous commit since it does not remove the warning:
	add1.c: In function ‘mpfr_add1’:
	add1.c:407:30: warning: ‘<<’ in boolean context, did you mean ‘<’ ? [-Wint-in-bool-context]
	           if (difs && (cprev << (GMP_NUMB_BITS - difs)))
	                       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~

	[src/add1.c] fixed compiler warning (with gcc 8.2.0)

2018-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv_ui.c] Added a comment about a spurious failure
	with MPFR_RNDF if RND_LOOP_NO_RNDF were not used.

2018-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsinh.c] Fixed test introduced in r13047.

	[src/{add_ui.c,sub_ui.c,ui_sub.c}] Fixed the bug introduced in r13066
	for the cases where MPFR_LONG_WITHIN_LIMB is defined (make sure that a
	significand allocated in the stack is not freed before the associated
	mpfr_t object).

	[src/div_ui.c] Extend the exponent range in the case where
	MPFR_LONG_WITHIN_LIMB is not defined, resolving the FIXME.
	Note: a test was already there in tdiv_ui via the generic tests.

	[tests/tdiv_ui.c] Disabled rnd=MPFR_RNDF in a loop as this now fails.

	[tests/tdiv_ui.c] Corrected an error message.

	[src/div.c] Avoid an infinite recursion when MPFR_LONG_WITHIN_LIMB
	is not defined (mpfr_div calls mpfr_div_ui, which calls mpfr_div).
	[src/div_ui.c] Made the preprocessor test on MPFR_LONG_WITHIN_LIMB
	consistent with the ones in the other .c files.

	[src/{add_ui.c,sub_ui.c,ui_sub.c}] Fixed the cases where
	MPFR_LONG_WITHIN_LIMB is not defined (regression in the
	latest changes). Also avoid unused variables.

	Removed trailing whitespace.

	[src/ui_sub.c] Extend the exponent range early enough.

	[src/add_ui.c] Extend the exponent range early enough.

	[src/sub_ui.c] Extend the exponent range early enough.

2018-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_ld.c] adapt to GMP_NUMB_BITS=16

2018-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_ui.c] Added a FIXME.

2018-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_ld.c] adapt to GMP_NUMB_BITS=16

	[src/set_d.c] adapt to GMP_NUMB_BITS=16 (not yet tested)

	[src/exp_2.c] removed a static assertion (duplicate with MPFR_LONG_WITHIN_LIMB)

	[src/init2.c] split a static assertion in two

	[src/mpfr-gmp.h] allow GMP_NUMB_BITS=16 (experimental, do not use!)

	[src/set_d.c] make it easier to extend to GMP_NUMB_BITS<32

	[configure.ac] read GMP_NUMB_BITS from mini-gmp.h when available
		       (otherwise assume mp_limb_t == unsigned long)

	[src/ui_sub.c] make code work for limb < long

	[src/sub_ui.c] make code work for limb < long

	[src/div_ui.c] make code work for limb < long

	[src/add_ui.c] make code work for limb < long

	[mini-gmp] update

	[tests/tsinh.c] improve coverage

	[tests/tsubnormal.c] improve coverage

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Added a FIXME about cp vs tp.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tmul.c] improve coverage

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Avoid bad usage of tp in the generic code:
	  * In the case d == 1, two branches were inconsistent: tp not defined
	    at the same level, with one shadowing the other one.
	  * In the case 2 <= d < p, tp was reused with a different meanings;
	    renamed the second one to cp, as this is MPFR_MANT(c).

	[src/sub1sp.c] Re-added/updated FIXME about the long backward goto's.

	[src/{add1sp.c,mul.c}] Updated the condition to use the formally
	extracted code and added a corresponding comment.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/const_log2.c] further improve coverage

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cache.c] Improved variable names (→ dprec for the precision of dest
	and cprec for the precision of the cache) and added/updated comments.

	[src/cache.c] Reverted r13036 as what matters is the target precision,
	which can be very small.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp1_extracted.c] replaced extracted code by new for MPFR_PREC_BITS=64
	[src/mul_1_extracted.c]   likewise
	[src/add1sp.c] changed condition to use the formally extracted code
	[src/mul.c]    likewise (but code is still not yet activated here)

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cache.c] Comment: In practice, the "overflow handler" of
	MPFR_RNDRAW_GEN should never be called.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/const_log2.c] avoid hard-coded values
	[tests/tconst_log2.c] improve coverage

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cache.c] Replaced a test + mpfr_overflow by a MPFR_ASSERTD since
	the cached value (in extended exponent range) cannot overflow.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/const_euler.c] better choice of (initial) working precision
	[tests/tconst_euler.c] added coverage test

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Update concerning the shared cache, to be consistent
	with the other mpfr_buildopt_*_p features:
	  * check that mpfr_buildopt_sharedcache_p() and MPFR_WANT_SHARED_CACHE
	    match;
	  * for the output of the value, test mpfr_buildopt_sharedcache_p()
	    instead of the macro.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tconst_catalan.c] improve coverage

	[tests/tbuildopt.c] added check of mpfr_buildopt_sharedcache_p()

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

2018-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed even rule for p=1

2018-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Mention WG14/N2270 (proposed maybe_unused attribute),
	which could be useful to avoid MPFR_DBGRES.

2018-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] finished simplifying the mpfr_sub1sp code

	[src/sub1sp.c] simplified the computation of sbb

	[src/sub1sp.c] full rewrite of mpfr_sub1sp (work in progress)

2018-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Output "Enable formally proven code" info.

	[doc/README.dev] Describe MPFR_WANT_PROVEN_CODE.

	Renamed WANT_PROVEN_CODE to MPFR_WANT_PROVEN_CODE for consistency with
	the other WANT macros (and to avoid potential clashes with foreign .h
	files).

	[tools/mpfrlint] For some tests, ignore extracted files (proven code).

2018-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	the mpfr_mul_1 extracted code is not proven yet

2018-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	For --enable-formally-proven-code, instead of requiring a check of the
	type sizes in configure, just enable the proven code only if the types
	have the sizes expected by this code.
	  * configure.ac: removed the FIXME.
	  * src/add1sp.c, src/mul.c: updated the #if test that enables the
	    proven code (add1sp1_extracted.c and mul_1_extracted.c).

	[configure.ac] Updated FIXME for --enable-formally-proven-code
	(many failures with -m32 due to assumptions on type sizes).

	[configure.ac] Added a FIXME for --enable-formally-proven-code.

	[configure.ac] Updated message for --enable-formally-proven-code.

2018-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added configure option --enable-formally-proven-code and corresponding code

2018-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Ulp calculus: swap Rule 4 and Rule 5.

	[doc/algorithms.tex] Ulp calculus Rule 4: make the proof much simpler.

	[doc/algorithms.tex] Error calculus: implicitly assume x ≠ 0 in ulp.

	[src/sub1sp.c] Updated a FIXME.

	[src/sub1sp.c] Removed a comment that brings nothing and is not
	really correct (this is not a "flag").

2018-08-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/mpfr-test.h] added macro TEST_FLAGS (debug use only)

2018-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Portability corrections related to the use of the
	preprocessor / code robustness.

2018-08-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] revert mpfr_sub1sp to the version of revision 12241

	[src/sub1sp.c] fixed bug20180813

	[tests/tsub1sp.c] improved comment about bug20180813()

2018-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2018-08-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsub1sp.c] added a test for a bug in mpfr_sub1sp (to be fixed)

2018-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Replaced "Section ``Rounding''" by "@ref{Rounding}".

2018-08-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] renamed Section "Rounding Modes" to "Rounding"

2018-08-18  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid a pointer-to-int-cast warning with GCC (e.g. under 32-bit Linux)
	by casting pointers to uintptr_t before the cast to mpfr_uintmax_t.
	  * acinclude.m4: use AC_TYPE_UINTPTR_T to define uintptr_t if
	    not available.
	  * tests/memory.c: added casts to uintptr_t.

2018-08-16  Vincent Lefèvre  <vincent@vinc17.net>

	Code robustness in macro definitions.

	[src/sqr.c] Changed a variable name to avoid confusion with the function
	parameter of the same name, which has a different type.

	[src/mpfr-impl.h] Added a cast to mp_bitcnt_t in order to fix potential
	integer overflow in MPFR_MPZ_SIZEINBASE2.

	[src/round_raw_generic.c] Type consistency.

	Added MPFR_INC_PREC definition (similar to MPFR_ADD_PREC) and replaced
	some MPFR_ADD_PREC occurrences by MPFR_INC_PREC. In src/bernoulli.c,
	replaced += by MPFR_INC_PREC to detect overflow.

2018-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced "TZ=UTC" by "TZ=UTC0" for portability.

2018-08-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_raw_generic.c] Avoid a useless variable. This should
	also avoid warnings with Windows ICC, reported at:
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html

	[tests/tcan_round.c] Added missing casts for printf (error messages).
	Bug detected under MS Windows, where size_t > unsigned long. See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html

	[tests/tdiv_ui.c] Improved the conditions for test_20170105().
	In particular, the new preprocessor test can avoid spurious warnings
	on large shifts (false positives) with MS Windows. See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html

	[doc/README.dev] More details about intmax_t, mpfr_intmax_t, etc.

	[tests/memory.c] To print a size_t or a pointer in error messages,
	cast to mpfr_uintmax_t (largest integer type available) instead of
	unsigned long, which may be too short (e.g. under MS Windows).
	See: https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html

	[src/mpfr-intmax.h] Define MPFR_INTMAX_FSPEC macro: length modifier
	for printf corresponding to mpfr_intmax_t and mpfr_uintmax_t.

	[doc/README.dev] Updated/added links about coding standards and C.

2018-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Updated a comment: more details about __GMP_DECLSPEC,
	in particular those found in GMP's longlong.h file.

2018-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-longlong.h] Replaced __GMP_DECLSPEC by __MPFR_DECLSPEC.

	Otherwise, with Windows DLL, __GMP_DECLSPEC is replaced by
	__declspec(dllimport), which is wrong when building MPFR and
	yields warning LNK4217 such as:

	  eint.obj : warning LNK4217: locally defined symbol mpfr_clz_tab
	  imported in function mpfr_eint

	due to

	  extern const unsigned char __GMP_DECLSPEC __clz_tab[129];

	(note that mpfr_clz_tab is defined with "#define __clz_tab mpfr_clz_tab"
	only without the GMP build).

	See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00000.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00001.html

2018-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Check that __GMP_DECLSPEC is not used by MPFR.

2018-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Try to detect missing output from the first printf
	that occurred once with i586-mingw32msvc-gcc -D__USE_MINGW_ANSI_STDIO
	and run under Wine.
	(merged changesets r12968-12969 from the 4.0 branch)

2018-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4,configure.ac] Check the support of the group flag for
	  native integers, which is a Single UNIX Specification extension.
	[tests/tsprintf.c] Test the group flag with the P length modifier only
	  when supported, since the implementation relies on this support.

	[src/vasprintf.c] Fixed bug with the P length modifier (mpfr_prec_t):
	  a '0' flag was always added when calling gmp_asprintf. This bug
	  wasn't detected under Linux because the case for which it was
	  occurring (left space padding without a precision and without a
	  '0' flag) was not tested. With Wine, tsprintf was failing because
	  of a bug in the stdio library: the '0' flag added by mistake should
	  have been ignored in some test with a precision, but it wasn't.
	[tests/tsprintf.c] Added a test that made a failure occur under Linux.

	[tests/tsprintf.c] Added 2 other tests with the P length modifier.

	[src/vasprintf.c] Fixed bug with the P length modifier (mpfr_prec_t).
	[tests/tsprintf.c] Corrected/added tests with the P length modifier.

2018-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Fixed various overflow and close-to-overflow issues.
	Those with the P length modifier (mpfr_prec_t) will be fixed later.

	[tests/tsprintf.c] Another failure with the P length modifier.

	[tests/tsprintf.c] Added tests with the P length modifier (mpfr_prec_t),
	yielding mode failures.

	[src/vasprintf.c] Fixed "store to null pointer" and free of bad pointer
	in case of error.

	[tests/tsprintf.c] Added a test that yields a "store to null pointer",
	detected by UBsan.

2018-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Bug fix: in case of some errors (via "goto error;"),
	va_end wasn't called, yielding undefined behavior.

2018-07-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added tget_set_d128 to svn:ignore property.

	[src/erf.c] More security about tauk.

	[src/erf.c] Removed a meaningless cast.

2018-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/erf.c] replaced double's by mpfr_t to fix bug reported by Naoki Shibata

2018-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/terf.c] Added a testcase for bug reported by Naoki Shibata:
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-07/msg00028.html
	(uceil_log2.c:40: MPFR assertion failed: exp < 1023).
	Increased the number of generic tests in order to reproduce the bug
	there too with the default seed.

2018-07-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/subnormal.c] C89 compatibility.

2018-07-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/subnormal.c] experimental support for RNDNA

2018-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	Added examples/threads.c (and updated Makefile.am): multithreading test
	to detect scaling issues with MPFR.

2018-07-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Updated a FIXME.

	[src/vasprintf.c] More FIXME's.

	[src/vasprintf.c] Reindentation.

	[src/vasprintf.c] Added a FIXME for MPFR_PREC_ARG handling.

2018-07-18  Vincent Lefèvre  <vincent@vinc17.net>

	Shared caches: fix and minor changes.
	  * Fixed detection and use of C11 thread support: the C11 header is
	    <threads.h>, not <thread.h>.
	  * Renamed WANT_SHARED_CACHE to MPFR_WANT_SHARED_CACHE for consistency
	    with the other MPFR_WANT_* macros.
	  * Added MPFR_THREAD_LOCK_METHOD macro, giving the thread locking
	    method as a string (when shared caches are enabled).
	  * doc/README.dev: documented 4 macros for shared caches.
	  * tests/tversion.c: output MPFR_WANT_SHARED_CACHE and
	    MPFR_THREAD_LOCK_METHOD information.

	[tests/tconst_pi.c] Removed an incorrect assertion, as the #else would
	be applicable when WANT_SHARED_CACHE is defined but not HAVE_PTHREAD
	(which may occur when MPFR_HAVE_C11_LOCK is defined).

	[src/vasprintf.c] Fixed type in partition_number to be consistent with
	the end of the function.

2018-07-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Added 2 FIXME and removed an incorrect MPFR_ASSERTN
	(which came from r5236).

	[tests/tsprintf.c] Added other tests to check_length_overflow, which
	would trigger other bugs in src/vasprintf.c (e.g. when removing the
	other failing tests).

	[tests/tsprintf.c] Added check_length_overflow to check the behavior of
	mpfr_snprintf on a large number of output characters (> INT_MAX) with
	size = 0. This test is actually done only if INT_MAX == 2147483647 and
	currently fails in such a case.

	[src/vasprintf.c] Updated comment about overflow on the number of output
	characters, taking into account the latest ISO C and POSIX standards.

	[tests/tsprintf.c] Updated a comment.

2018-07-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Simplified mpfr_get_str_wrapper.

	[src/vasprintf.c] Added a log message.

	[src/mpfr-impl.h] Added a FIXME: _Decimal128 code and _MPFR_IEEE_FLOATS
	(which is about binary IEEE-754 floating point) should be unrelated.

	[src/get_d64.c]
	  * Added FIXME's for get_decimal64_nan and get_decimal64_inf internal
	    functions: possible issue with _MPFR_IEEE_FLOATS code, which also
	    seems more complex than the generic code.
	  * Simplified get_decimal64_zero internal function to generate a
	    decimal zero directly instead of using the fact that a binary64
	    zero is also the encoding of a decimal zero (and assuming that
	    double = binary64 with perfect endianness matching).

	[acinclude.m4] Updated message about the _Float128 support, since
	this is not just about the compiler.

	[acinclude.m4] Fixed the _Float128 / __float128 detection for NetBSD:
	Optimization made the "undefined reference" error disappear, so that
	__float128 was misdetected as being supported.

2018-07-12  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] For the _Float128 / __float128 detection, changed
	AC_COMPILE_IFELSE to AC_LINK_IFELSE since an error may occur only
	at link time, such as under NetBSD:
	  https://mail-index.netbsd.org/pkgsrc-users/2018/02/02/msg026220.html
	  https://mail-index.netbsd.org/pkgsrc-users/2018/02/05/msg026238.html

	[src/Makefile.am] Corrected check-exported-symbols to avoid a failure
	when the default .SHELLFLAGS value is '-ec' (POSIX) instead of '-c'
	(GNU Make, which is not in POSIX-conforming mode by default).
	Bug found on FreeBSD 11.1 (Compile Farm @ HouseGordon.com).

2018-07-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] In buffer_sandwich, simplified the handling of the
	trailing zero (avoid memset and a useless assignment).

2018-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] More changes to Section "Nomenclature and Types";
	in particular, defined regular numbers and exponents.

	[doc/mpfr.texi] In Section "Nomenclature and Types", removed all the
	@noindent, whose purpose is unclear (if one needs something special,
	an itemized list would be better, or possibly @deffn).

	[doc/mpfr.texi] Rewrote the paragraph defining "floating-point number"
	in Section "Nomenclature and Types", avoiding ambiguities.

2018-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] Grrr... again a copy-paste error. Now OK.

	[tests/{tprintf.c,tsprintf.c}] Corrected the tests added in r12898,
	but tprintf still fails.

	[tests/tsprintf.c] Corrected the latest tests.

	[tests/tsprintf.c] Added tests (failure on "%09.3Rg" for 1000).

	[tests/tsprintf.c] Corrected comments.

	[tests/{tprintf.c,tsprintf.c}] Added tests (both programs fail).

	[doc/mpfr.texi] Updated the month.

	[src/vasprintf.c] Corrected comments and coding style.

	[src/vasprintf.c] Resolve the FIXME.
	  * Renamed ip_trailing_zeros to ip_trailing_digits, since when
	    spec.size == 0, these can be any digits.
	  * Simplified the buffer_sandwich function since it can be called
	    only when spec.size != 0, in which case tz (= ip_trailing_digits)
	    is either 0 or 1 (a trailing zero must be added only when rounding
	    to the next power of ten in the %f case).
	  * Corrected/removed/added comments.

	[tests/{tprintf.c,tsprintf.c}] Added tests with powers of ten in all
	rounding modes and powers of ten + 0.5 in rounding to nearest.

2018-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] typo in Fredrik's name

	[AUTHORS] typo in Fredrik's name

2018-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] Added a TODO (for the FIXME in src/vasprintf.c).

	[src/vasprintf.c] Updated the FIXME comment.

	[src/vasprintf.c] Added a FIXME comment about an incorrect comment.

	[src/vasprintf.c] Added log messages in buffer_sandwich.

	[tests/tsprintf.c] Added more tests of the form 10^i - 1/2
	(like in tprintf.c).

	[tests/tprintf.c] Added more tests of the form 10^i - 1/2.

	[tests/tsprintf.c] Added test_locale() test based on the tprintf.c one.

	[tests/tprintf.c] Minor correction.

	[tests/tprintf.c] More test_locale() cleanup.

	[src/vasprintf.c] English usage in a comment.

	[src/vasprintf.c] Renamed mpfr_get_str_aux to mpfr_get_str_wrapper
	in order to avoid a confusion with the mpfr_get_str_aux function
	from get_str.c (moreover, this is really a wrapper, which is the
	reverse of an aux function).

	[tests/tsprintf.c] locale_da_DK() cleanup.

2018-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/vasprintf.c] partly revert commit 12873

2018-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] test_locale() cleanup.
	  * Conditional #include <locale.h> with the other header inclusions.
	  * Completed a #if (to be like in tsprintf.c).
	  * Moved a global variable as local to test_locale().

2018-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/vasprintf.c] replaced overflow tests by assertions
	[tests/tprintf.c] improve test coverage

2018-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	Added MPFR_CHECK_LOCALES environment variable for the tests (to be
	used by developers): when set, terminate with an error if locales
	cannot be tested.

2018-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Fixed several bugs in buffer_sandwich, which could
	yield memory corruption with non-default memory allocators and other
	undefined behavior; check the return value when this function is called.

	Details:
	  * check integer overflow on the size computations;
	  * computation of q and r without tests;
	  * fixed the case where r > len (e.g. len = 1 and tz = 1);
	  * in the loop, increase the str pointer only when needed, otherwise
	    str could be beyond of the end of the string of the digits, which
	    is undefined behavior.

	The first consequence of the r > len issue was an incorrect generated
	string. Moreover, since the generated string was shorter than expected,
	mpfr_free_str would provide an incorrect buffer size to the "free"
	function of the current GMP memory allocator. By default, this size is
	ignored, but it may matter if the memory allocators have been changed
	with the mp_set_memory_functions GMP function, in which case a possible
	consequence could be memory corruption.

2018-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/vasprintf.c] added an assertion
	[tests/tprintf.c] added two tests (one currently fails)

2018-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] C90 compatibility.

2018-06-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsprintf.c] fixed another test

	[tests/tsprintf.c] fixed test

	[src/vasprintf.c] improve coverage

	[tests/tsprintf.c] improve coverage

	[tests/tsprintf.c] improve coverage

2018-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tgamma_inc.c] improve coverage

	[tests/tgamma_inc.c] added coverage test

	[src/gamma.c] added comment
	[src/gamma_inc.c] fixed bug for gamma_inc(-Inf, 0)
	[tests/tgamma_inc.c] added coverage tests

2018-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Do not do specific CFLAGS settings for MS-Windows ICC.
	See <https://sympa.inria.fr/sympa/arc/mpfr/2018-06/msg00027.html>.

	[src/mpfr-impl.h] Spelling in a comment.

	[src/mpfr-impl.h] Fixed change in r12847.

	[tests/tget_set_d64.c] Improved a test.

	[tests/tget_set_d128.c] Replaced d != d by DOUBLE_ISNAN (d).

	[doc/mpfr.texi] Updated the month.

	[tests/tget_set_{d64,d128}.c] When MPFR_ERRDIVZERO is defined,
	disable tests that can trigger a FP exception DIVBYZERO or INVALID
	(issue detected with -DMPFR_TESTS_FPE_DIV -DMPFR_ERRDIVZERO).

2018-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Improved a comment about union ieee_decimal128.

	Do not assume that the bit-field ordering for _Decimal128 is necessarily
	little endian or big endian (this is more than the usual endianness
	issue). If this cannot be detected, instead of failing or assuming a
	possibly wrong default, switch to the portable code.

2018-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_get_decimal128 and mpfr_set_decimal128 to the manual

	[tests/tget_set_d128.c] test some random 16-byte inputs

	[tests/tget_set_d64.c] test random inputs

	[acinclude.m4] added configure test to determine the encoding of _Decimal128 (little or big endian)

	[doc/README.dev] added standard suffixes

	[tests/tget_set_d64.c] fixed a test

	[tests/tget_set_d64.c] removed TODO (done), added comment
	[tests/tget_set_d128.c] removed TODO (done)

	[src/set_d64.c] added comment (like for set_d128.c)

	[src/get_d64.c] improve comment
	[src/get_d128.c] likewise

	[src/set_d64.c] also deal with non-canonical BID encoding
	[tests/tget_set_d64.c] added test with non-canonical BID encoding

2018-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d128.c] Bug fix (buffer overflow detected by AddressSanitizer).

	[src] Moved the FIXME comment from set_d128.c to get_d128.c since the
	bug occurs in mpfr_get_decimal128 according to the AddressSanitizer.

	[src/set_d128.c] Updated FIXME comment.

	[src/sqrt.c] Replaced a umul_ppmm by umul_hi, and removed an unused
	variable as a consequence.

	[src/set_d64.c] Code improvement (like r12809 and r12828 in set_d128.c).

	[src/set_ld.c] Removed unused variable for
	HAVE_LDOUBLE_MAYBE_DOUBLE_DOUBLE (PowerPC).

	[src/invsqrt_limb.h] Avoid a "variable ‘_l’ set but not used" warning
	on some platforms, such as powerpc64le-unknown-linux-gnu.

	[src/invert_limb.h] Avoid a "variable ‘_l’ set but not used" warning
	on some platforms, such as powerpc64le-unknown-linux-gnu.

	[src/set_d128.c] Avoid "unused variable" warnings on platforms with DPD.

	[src/mpfr-impl.h] About union ieee_double_decimal64: removed an
	incorrect comment and added a TODO.

	Changed union ieee_double_decimal128 to union ieee_decimal128 since this
	has nothing to do with double (unlike union ieee_double_decimal64). Also
	refactored code for this union definition.

	[src/mpfr-impl.h] Updated TODO for DPD.

	[src/mpfr-impl.h] Added TODO for DPD (better structure definition).

	[tests/tget_set_d128.c] Execute BID code only with BID.

	[tests/tget_set_d128.c] Simplification and better portability.

2018-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_set_d128.c] added coverage tests for non-canonical BID encodings

	[src/set_d128.c] improve last commit

	[src/set_d128.c] improved a comment

2018-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d128.c] Re-added "while (...)" erroneously removed in r12817.

2018-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_d64.c] added comment
	[src/set_d128.c] likewise

	[src/set_d128.c] avoid variable conflict for DPD

	[src/set_d128.c] implement for DFD encoding

	[src/set_d64.c] added comment and space

2018-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d128.c] Added a FIXME (stack-buffer-overflow).

	[src/set_d128.c] Corrected r12811.

	[src/set_d128.c] _MPFR_IEEE_FLOATS code for BID: correctly support
	the decoded significand >= 10^34 cases (non-canonical encodings),
	which must be zero.

	[tests/{tget_set_d64.c,tget_set_d128.c}] TODO: Also test non-canonical
	encodings.

	[src/set_d128.c]
	  * Enable the _MPFR_IEEE_FLOATS code only for GMP_NUMB_BITS == 32 or 64
	    (as the other values are not supported by this code).
	  * Bug fix for GMP_NUMB_BITS == 32 (→ tget_set_d128 no longer fails).
	  * Added an assertion corresponding to a comment.

	[src/set_d128.c] Fit on 80 columns.

2018-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Updated a title comment (→ Decimal support).

	[src/mpfr-impl.h] Corrected a comment.

2018-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_d128.c] added comments

	[src/set_d128.c] remove debug stuff

	[src/mpfr-impl.h] assume little-endian double implies little-endian decimal128

2018-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] FIXME for _Decimal128.

2018-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_d128.c] (partly) implement the _MPFR_IEEE_FLOATS case (BID only so far)
	[tests/tget_set_d128.c] added more tests

	[src/set_d64.c] added comments

	[src/get_d128.c] removed useless comment

2018-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_d128.c] avoid using doubles
	[tests/tget_set_d128.c] improve test coverage

	[tests/tget_set_d128.c] improve test coverage

	[tests/tget_set_d128.c] improve coverage

	added mpfr_get_decimal128 (still experimental)

	[get_d64.c] added comments and simplified code

2018-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tget_set_d64.c,tget_set_d128.c}] Tests on powers of 10:
	test negative numbers too.

2018-06-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note about FP constants and native FP.

	[tools/mpfrlint] Check that preprocessing directives have no spaces
	before.

	[src/set_d128.c] Modified a comment.

	[src/set_d128.c] Avoid double, which is unreliable with GCC
	in non-standard mode (see GCC bug 323 and the discussion in
	GCC bug 85957). But the failure in tget_set_d128 probably came from
	the fact that (_Decimal128) 0.1 is not 1/10 exactly (the double 0.1
	has about a 17-digit precision only, while _Decimal128 has more);
	this test now passes.

	[src/set_d128.c] Simplified code and added assertions.

	[src/set_d64.c] Added a log message (like in set_d128.c).

	[src/{set_d64.c,set_d128.c}] Bug fix: use mpfr_strtofr instead of
	mpfr_set_str to get the ternary value.

	[tests/{tget_set_d64.c,tget_set_d128.c}] Added tests on powers of 10.
	  * tget_set_d64 fails on negative due to a bad ternary value.
	  * tget_set_d128 fails on negative due to bad value, etc.

	[tests/tget_set_d128.c] Test the flags too.

	[tests/tget_set_d128.c] Test more values.

	[tests/tget_set_d128.c] Converting an integer into _Decimal128 is better
	than converting a double into _Decimal128.

	[tests/tget_set_d128.c] Simplified the test, avoiding a bug in ICC 15
	at the same time (1.0D was regarded as 0).

	[tests/tget_set_d128.c] Fixed indentation.

	[tests/tversion.c] Decimal formats: output the encoding type (DPD/BID).

	[src/set_d128.c] Changed _GMP_IEEE_FLOATS to _MPFR_IEEE_FLOATS as per
	r10958 (in set_d128.c, currently in a comment due to r12772).

	[src/set_d128.c] Added a log message.

	[tests/tget_set_d128.c] Added an informative error message.

	[src/set_d128.c] Disable the _GMP_IEEE_FLOATS code, which is not
	complete yet and makes the compilation fail.

2018-06-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d128.c] Corrected year in copyright notice.

	[src/set_d128.c] Minor improvements.

2018-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_set_d64.c] added -v option to get verbose output
	[tests/tget_set_d128.c] likewise

2018-06-13  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Missing "r".

2018-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] update for mpfr_set_decimal128

	added mpfr_set_decimal128 (work in progress, not yet fully tested)

2018-06-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tools/coverage] added branch coverage

2018-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Moved some computations on the exponents earlier
	since they may yield an early overflow or underflow, and computing
	the division by b^e would be useless in such a case.

	[src/strtofr.c] Added a MPFR_ASSERTD and a FIXME on things that don't
	make much sense in the error analysis (still trying to understand…).

2018-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/const_pi.c] missing reference about Brent-Salamin

	[doc/algorithms.bib] added reference

2018-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tfmma.c] improve coverage of the UBF case in mpfr_sub
			(now coverage of sub.c is 100%)

2018-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated TODO from r12755.

2018-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fmma.c] now mpfr_fmms calls mpfr_sub for a better coverage

2018-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated TODO from r12755.

	[src/sum.c] Added a comment with a TODO about potentially dead code on
	some platforms.

	codespell: simplified exceptions.
	  * Added codespell.exclude file.
	  * codespell.ignore: removed some words (particular cases).
	  * tools/mpfrlint: use the codespell.exclude exclude file, and for
	    the doc directory, replaced -S by an explicit list of files.

	[codespell.ignore] Also ignore "objext" and "tim" (codespell 1.13).

2018-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1.c] fixed a bug and solved a FIXME (underflow for UBFs)
	Note: this mostly reverts r12319, r12321, and the remaining FIXME
	from r12327.
	[tests/tfmma.c] added non-regression tests

2018-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Concerning r12738, the safer code can be avoided
	with GCC in ISO C mode (__STRICT_ANSI__).

2018-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/invert_limb.h] fixed two typos reported by Marco Bodrato

2018-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] For GCC, output __STRICT_ANSI__ when defined.

2018-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] fixed/improved comments

2018-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/invsqrt_limb.h] fixed typos in comments

2018-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated a URL.

	[src/mpfr-impl.h] Fixed potential compilation failure with _Decimal64,
	detected with r12738.

	[doc/mpfr.texi] Updated the month.

	Updated mpfr.org URL's to use https (except in ChangeLog and NEWS).

	[src/mpfr-impl.h] With GCC, select safer code for DOUBLE_ISNAN(x).

2018-05-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/announce-text] http → https (for mpfr.org).

	[doc] Updated FAQ.html with update-faq.

	[doc] Workaround due to the lack of https support in libxml2
	and the fact that mpfr.org now uses https with HSTS.
	  * faq.xsl: for the visual.css, use a local URL.
	  * update-faq: download visual.css from mpfr.org first.

	[doc/update-faq] http → https

	[src/mpfr-impl.h] Added a FIXME about DOUBLE_ISNAN and GCC.

2018-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Continued to review the new error analysis and code.
	Changes:
	  * made the code more SSA-like (avoid a "y += ysize; y -= ysize;");
	  * clarified comments;
	  * use MPFR_LIMB_MSB;
	  * added a FIXME on the error analysis.

	[doc/README.dev] Added info about shell portability, and in particular
	about quotes (covering changes in r5659, r6128, r12711 and r12721).

	[tools/{ck-clz_tab,ck-copyright-notice,ck-mparam,update-version}] Fixed
	non-portable quote nesting in backticks.

	[examples] Added "mpfr_free_cache ();" at the end of all programs,
	as this is something that should be done systematically (at least
	to detect memory leaks with valgrind).

2018-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Started to review the new error analysis and code
	(r12705,12706). Minor improvements.

	[src/{mpfr-impl.h,mpn_exp.c}] Changed the return type of mpfr_mpn_exp
	from long to int for consistency with the mpfr_mpn_exp code and with
	strtofr.c (which expects an int).

	[src/mpn_exp.c] Code cleanup and protection against integer overflow.

2018-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/hypot.c] Do bitwise operations in unsigned arithmetic.

	[src/hypot.c] Added 2 TODO.

2018-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/{ck-clz_tab,ck-copyright-notice}] Changed the POSIX $(…) to `…`
	for Bourne shell compatibility (as under Solaris 10).
	Note: these scripts are called via dist-hook for "make dist".

2018-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added a comment for UBF.

	[src/mpfr-impl.h] Added a comment about UBF and alignment requirements.

2018-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Removed TODO added in r12681, now obsolete.

2018-05-16  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

2018-05-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] revisit error analysis in the division case (end)

2018-05-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] revisit error analysis in the division case (work in progress,
			not yet finished)

2018-05-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Updated the comment added in r12701.

	[tests/tsub.c] Added a comment about the bug fixed in r10697:
	bug20180217 is a non-regression test for this bug.

2018-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstckintc.c] Avoid false warnings with -Wcast-align=strict from
	GCC 8.1 by adding casts "(long *) (void *)", still allowing checks of
	other alignment requirements (which are not handled by the tstckintc.c
	code).

	[TODO] + Use GCC's nonnull and returns_nonnull attributes.

	[acinclude.m4] Added a note on _Decimal64 detection.

2018-04-30  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added info about spelling.

	Corrected "runtime" to "run time" (noun) or "run-time" (adjective)
	when it means the time at which the program is run.
	See:
	  https://gcc.gnu.org/codingconventions.html#Spelling
	  https://en.wikipedia.org/wiki/Run_time

2018-04-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Potentially unnecessary code: comes from r8384.

	[src/strtofr.c] Updated TODO about potentially unnecessary code.

	[src/strtofr.c] Updated TODO about potentially unnecessary code,
	showing that this code probably increases the error bound (errors
	accumulate instead of compensating without this code).

	[src/strtofr.c] Added a TODO about potentially unnecessary code.

	[src/strtofr.c] Corrected/updated comments and added a log message.

	[src/strtofr.c] Corrected a comment (exp_base and exp_bin description).

	[src/strtofr.c] Added a FIXME: possible bug in very special cases with
	large exponents, 32-bit mpfr_exp_t and very long strings.

	[src/strtofr.c] Added/clarified comments.

	[tests/tstrtofr.c] Added a TODO related to the bug fixed in r12573.

2018-04-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgmpop.c] Coding style.

	[tests/tgmpop.c] For mpfr_cmp_q, improved the test where x is NaN by
	checking all the flags (not just erange) and added a test where y is
	a NaN rational.
	Note: this could be used to detect 2 bugs, fixed in r12343 and r12499,
	respectively.

	[tests/tcan_round.c] Removed a r2 != MPFR_RNDF test and added 3 TODO's
	to support r2 == MPFR_RNDF in some other tests.

2018-04-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] Clarified a comment (the "if" is part of the code,
	not the English word).

2018-04-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-gmp.h] added comment about MPN_FILL

2018-04-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/out_str.c] Check for integer overflow (here, a minor issue).

	[src/out_str.c] Support mpfr_exp_t larger than long (with mpfr_eexp_t).

2018-04-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added tdot to svn:ignore property.

	[tests/tdot.c] Various improvements.

	[doc/mpfr.texi] Note that mpfr_dot does not yet handle intermediate
	underflows either.
	[src/dot.c] Changed an MPFR_ASSERTD to MPFR_ASSERTN since the assertion
	is not satisfied on some user inputs. Minor improvements.

	[NEWS] Added mpfr_dot.

	[doc/mpfr.texi] In the added functions, note that mpfr_dot is incomplete
	and experimental.

	[tests/tsum.c] Code style.

	[doc/mpfr.texi] Updated the month.

	[tests/tdot.c] Code style.

2018-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_dot

2018-04-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] Correction about the use of mpfr_signbit, in case
	the implementation would change.

	[src/sqr.c] Minor code improvement.

	[src/sqr.c] Code formatting.

	[src/sqr.c] Clarified a comment and slightly improved code.

	[src/sqr.c] Typo in a comment.

	[tests/tfma.c] Added test_underflow5.

	[tests/tfma.c] Minor correction for test_underflow4.

	[tests/tfma.c] Added a comment.

2018-04-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfma.c] Added test_underflow4. This allows to show that the
	bound MAX (MPFR_PREC (z), MPFR_PREC (s) + 1) in fma.c is optimal:
	  * If one subtract 1 from the 1st term MPFR_PREC (z), a failure
	    occurs in test_underflow4.
	  * If one subtract 1 from the 2nd term MPFR_PREC (s) + 1, a failure
	    occurs in test_underflow2.

	[configure.ac] For the ICC check, also test __INTEL_COMPILER.

	[configure.ac] Corrected comment for the ICC check (GCC is no longer
	disabled since r5720).

2018-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr.h] enable some code that now works with ICC (tested with ICC 14)
	[TODO] removed item

2018-04-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Updated a comment about __ICC.

2018-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed item that we won't implement

	[TODO] removed done item (UBF)

2018-04-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] RNDF is done

	[TODO] removed an obsolete item

	[TODO] log_ui is done

2018-04-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Detect the use of mpfr_div_2exp and mpfr_mul_2exp.

	[tests/{reuse.c,taway.c}] Added mpfr_div_2ui and mpfr_mul_2ui.
	Note: si functions are not tested yet.

	Replaced mpfr_mul_2exp & mpfr_div_2exp by mpfr_mul_2ui & mpfr_div_2ui,
	respectively (for the tests, except in reuse.c and in taway.c).
	Note: As documented, mpfr_mul_2exp & mpfr_div_2exp are only kept for
	compatibility with MPF; mpfr_mul_2ui & mpfr_div_2ui are preferred.

2018-04-16  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] + function to reduce the precision of a variable, with a
	ternary value in input, i.e. taking care of double rounding.

	[tests/tfma.c] More tests for test_underflow2.

	[tests/tfma.c] Corrected r12603 for test_underflow2.

	[tests/tfma.c] More tests for test_underflow2.

	[src/fma.c] Updated easy case of underflow.

	[tests/tfma.c] Updated a comment for test_underflow2.

	[tests/tfma.c] In test_underflow2, also test different signs.

	[tests] Updated svn:ignore property.

	[doc/README.dev] "To make a release": check also with
	-DMPFR_GROUP_STATIC_SIZE=0 to detect memory leaks.

	[src/fma.c] Forgot a MPFR_GROUP_CLEAR.

	[src/fma.c] Simplified the underflow case by using UBF in the
	difficult cases, resolving the remaining FIXME's.

2018-04-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfma.c] More tests for test_overflow3 by adding loops on j and k.

	[tests/tfma.c] Extended test_overflow3 to reversed signs.

	[tests/tfma.c] Do all the overflow/underflow tests in exponent ranges
	[-1024,1024], [MPFR_EMIN_MIN,MPFR_EMAX_MAX], and the default one.

	[src/mpfr-sassert.h] Added a comment.

2018-04-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfma.c] Forgot a cast for C++ compatibility.

	[src/mpfr-impl.h] Reverted r12588: there should be no alignment issues
	with UBF, since an UBF (__mpfr_ubf_struct) is sometimes regarded as a
	MPFR number (__mpfr_struct) but not the opposite (or this is just back
	to __mpfr_ubf_struct).

	[src/fma.c] Simplified the difficult part of the overflow case by
	using UBF (this also fixes corner cases in huge precision).

	[src/mpfr-impl.h] Added a note about alignment constraints for UBF.

	[src/fma.c] Fixed sign related bug in overflow case.
	[tests/tfma.c] Added test_overflow5 test for this bug.

	[tests/tfma.c] In test_overflow4, also test different signs.

	[src/fma.c] Correction for the FIXME from r12403 concerning r12396.
	The test added in tests/tfma.c r12584 no longer fails.

	[tests/tfma.c] Added a test that fails. It corresponds to the FIXME
	in src/fma.c about the test on MPFR_GET_EXP (u) - MPFR_GET_EXP (z).

	[src/fma.c] Removed a redundant test since the second condition of
	the && expression implies the first one.
	Note: This test came from the time when the precision type was unsigned,
	in order to make sure that the result of the subtraction was positive.

2018-04-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Output "Generic ABI code" info (MPFR_GENERIC_ABI).

	[src/strtofr.c] English usage in a comment.

2018-04-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] fixed bug in corner cases

2018-04-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Reverted r12569: this is wrong with a 32-bit ABI.

	[src/strtofr.c] Added a FIXME.

2018-04-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] added more comments

	[src/strtofr.c] replaced dead code by an assert
	[tests/tstrtofr.c] fixed bug20170308 and added coverage test

2018-04-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] removed dead code (and added explanation)

	[src/strtofr.c] completed a comment

2018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/strtofr.c] added comment
	[tests/tstrtofr.c] improve coverage

2018-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] Replaced an incorrect comment by an assertion.

	[src/round_raw_generic.c] Check validity of flag.

2018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] now 98.2% of test coverage

2018-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Tests in lexicographic order.

2018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] added comments
	[src/round_raw_generic.c] removed dead code
	[tests/tcan_round.c] improve coverage

	renamed tround_prec.c to tprec_round.c

	[src/round_prec.c] removed some dead code (if rnd1 = rnd2 and the case
			   rnd2 = RNDN was already treated, we cannot have rnd1 = RNDN)

2018-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpow.c] Fixed a test:
	  * For this test, unsigned long and mpfr_exp_t must both have at least
	    64 bits.
	  * Use a hardcoded emax, otherwise the test could fail for mpfr_exp_t
	    larger than 64 bits (one would not have an overflow as expected).

	[src/pow.c] Fixed the code in case the size of the mpfr_exp_t type
	would be larger than 256 bits. This is also semantically better.

	Moved the MAX, MIN and ABS macros from tests/mpfr-test.h to
	src/mpfr-impl.h (they can be useful...).

	[tests/tpow.c] More tests for (-2)^(2^i + 1), not just with i = 256.

2018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tpow.c] modified a test for better coverage

2018-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpow.c] Corrected a comment (again).

	[tests/tpow.c] Corrected a comment.

2018-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/pow.c] simplified case x=2^b and y < 0

2018-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/pow.c] Updated comments.

	[src/pow.c] Reverted r12541 (which yielded a failure in tpow_all),
	re-indented, and added a comment concerning the failing case.

2018-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] fixed a bug (to be reviewed)
	[tests/tcan_round.c] added coverage tests

	[tests/ttan.c] improve coverage (and also of round_near_x)

	[src/pow.c] fixed typo

2018-04-04  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Coverage is specific to x86_64 due to the various #if.

	[src/pow.c] Corrected indentation.

2018-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] coverage is now 98.1%

	[src/pow.c] added a comment

	[src/pow.c] removed some dead code (with comment explaining why)
	[tests/tpow.c] added a test

	[src/pow.c] simplify code for prec=1
	[tests/tpow.c] added tests for prec=1

2018-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mparam_h.in] added macros for Microsoft compiler

2018-04-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/check_mparam.c] Added a copyright notice.

	[Makefile.am] Added tools/check_mparam.c and tools/ck-mparam
	to EXTRA_DIST since tools/ck-mparam is now run in dist-hook.

	[tests/Makefile.am] Do not output a useless "PASS ..." line at the end.

	[tests/Makefile.am] Update of the "check" rule:
	  * Output svnversion info when applicable.
	  * Do not echo "cat tversion.log 2> /dev/null || true".

	[Makefile.am] Added missing comments for dist-hook.

	[Makefile.am] Run ck-mparam in dist-hook (for "make dist").

	[tools/ck-mparam] Commented out the old gcc-specific test since the
	new one is strictly more powerful. No longer depend on gcc.

	[tools/ck-mparam] Also check the mparam.h files with check_mparam.c.

	[tools/check_mparam.c] C89 compatibility. Return an error code
	(useful for scripts).

	[tools/check_mparam.c] A pathname of the mparam.h file can now be
	provided with -DMPARAM='"..."' when compiling.

2018-04-03  Vincent Lefèvre  <vincent@vinc17.net>

	Moved misc/check_mparam.c into trunk/tools: it will be useful for
	"make dist" in order to make sure that all mparam.h files are OK
	before a release.

	[[Split portion of a mixed commit.]]

	[Added during the Subversion to Git conversion]
	The "misc" directory referenced here was in the same Subversion
	repository, but outside the trunk/branches/tags structure. Thus
	it has not been kept in the same Git repository.

2018-04-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] Re-enable the change done in r12382. This is allowed
	after the fix in generic/mparam.h r12525 (this file was hand written
	and did not satisfy the current constraints).

2018-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[generic/mparam.h] ensure divhigh_ktab[n] is 0 or < n-1, as now required
			   since commit r12382

2018-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] Code style / indentation. Added a comment.

	[src/mulders.c] Reverting r12382 because divhigh_ktab[n] == n can
	happen. Note: this probably lacks documentation; moreover, testing
	that these tables satisfy the requirements would be useful.

2018-03-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/inp_str.c] Handle size_t overflow, empty string (after skipping
	spaces), and I/O errors (as opposed to end-of-file).

2018-03-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/inp_str.c] disallow stream=NULL (cf r12520)

	[src/out_str.c] the behavior on a null stream is unspecified (cf r12519)

2018-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted r12516: the behavior on a null stream is unspecified.

2018-03-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tpow.c] restrict a test to 64-bit exponent

2018-03-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/pow.c] added comment
	[tests/tpow.c] improve coverage

	[tests/tout_str.c] improve coverage (I don't know how to avoid printing to
			   stdout, but since "make check" no longer shows the test
			   outputs, this should be fine). However I don't know how
			   to do the same for mpfr_inp_str...

	[tests/tconst_pi.c] forgotten line in commit 12512

	[tests/tgrandom.c] improve coverage

	[src/grandom.c] improve coverage, and solved a FIXME

	[tests/tconst_pi.c] improve coverage of mpfr_free_cache2

2018-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Reverted another incorrect change done in r12509.

	[src/fpif.c] Reverted an incorrect change done in r12509.

2018-03-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fpif.c] simplify code and improve coverage to 100%

	[src/fpif.c] removed dead code and simplify code

	[tests/tfpif.c] improve coverage

	[tests/tfpif.c] improve coverage

2018-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfpif.c] Really fixed the badData test, completing r12504.

	[tests/tfpif.c] Fixed a test: for the huge-precision badData case,
	make sure that the data are valid so that we really check that the
	precision does not fit (and not a read error).

	[tests/tfpif.c] Correction just in case MPFR_PREC_BITS > 64.

	Removed trailing whitespace.

2018-03-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c]
	  * Replaced an incorrect comment from r12500 by a correct assertion.
	  * Fixed a theoretical bug coming from this incorrect comment.
	  * Added a MPFR_ASSERTN assertion to double-check correctness.
	  * Added a comment explaining a ... >= 0x80 test.

2018-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fpif.c] removed dead code
	[tests/tfpif.c] improve coverage

	[src/gmp_op.c] fixed bug in mpfr_cmp_q for den(q)=0
	[tests/tgmpop.c] improve coverage

2018-03-24  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typographic correction (texinfo rule).

	[tools/mpfrlint] For codespell, skip mpfr.t2p (directory created
	in doc by "make pdf").

	[src/total_order.c] Simplified the code (shorter code).

	[tests/ttotal_order.c] Rewrote the tests to test every combination
	of classes of values.

	[tests] Renamed total_order.c to ttotal_order.c.

2018-03-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/total_order.c] Suggest to test the sign bit first.

	[doc/mpfr.texi] Added mpfr_total_order in "Added Functions".

	[doc/mpfr.texi] Improved mpfr_total_order description.

2018-03-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] totalOrder is done

	added mpfr_total_order

2018-03-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Removed some useless #include's, in particular all the
	unconditional #include <math.h> occurrences.
	Note: There is an incompatibility between glibc 2.27 and the math.h
	provided by ICC 15 (at least), and this solves a compilation failure
	in the build of the tests.
	Moreover, <math.h> is not required by freestanding implementations,
	so that it may be better to avoid it if possible.

2018-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added 2 suggestions from Patrick Pelissier

2018-03-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] For codespell, skip all the algorithms.* files.

2018-03-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Added a comment for the mul/sqr test.

	[tools/mpfrlint] In the mul/sqr test (r12482), exclude mul.c and sqr.c.

2018-03-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed mpfr_mul (a, b, b, ...) into mpfr_sqr (a, b, ...) whenever possible

2018-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Detect mpfr_mul with identical 2nd and 3rd arguments,
	which can be replaced by mpfr_sqr (suggestion by PZ).

2018-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/const_pi.c] added a reference, and replace mpfr_mul by mpfr_sqr

2018-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_str.c] Fixed failure from r12473 when mpfr_prec_t is an int
	(missing casts for sprintf / printf).

2018-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_str.c] C++ compatibility.

	[tests/tget_str.c] Use tests_allocate / tests_free.

	Fixed spelling mistakes found by codespell 1.12.0.

2018-03-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_str.c] added tests for corner cases of mpfr_set_str o mpfr_get_str

2018-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] In EXTRA_DIST, put the mparam.h in alphabetic order.

	[src/Makefile.am] Updated EXTRA_DIST for amd due to r12387.

	Fixed spelling mistakes found by codespell 1.11.0.

	[codespell.ignore] Also ignore "cas".

	Added codespell.ignore file with simple words to ignore with codespell
	("iff" as used in math; "nd" as the n comes from \n in printf, but nd
	could also be a variable name; "te" as used as a variable name).
	Updated tools/mpfrlint to use this file with codespell.

2018-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2018-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_str.c] added tests for mpfr_get_str_ndigits
	[src/get_str.c] fixed bugs in mpfr_get_str_ndigits for b=2^k (value was 1 too
			large) and very large p (value was 1 too small)

2018-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typographic corrections for mpfr_subnormalize.

	[NEWS] Added mpfr_get_str_ndigits.
	[doc/mpfr.texi] Added mpfr_get_str_ndigits in "Added Functions".

	[doc/mpfr.texi] Minor corrections concerning mpfr_get_str.

	[src/mpfr.h] Added a note about a mpfr_prec_t limitation.

	[src/get_str.c] Simplified mpfr_get_str_ndigits (changes from r12455):
	  * MPFR_PREC_BITS is used to exactly do what is wanted.
	  * Removed dead code as currently, mpfr_prec_t <= unsigned long.
	    Note: if in the future we support mpfr_prec_t > unsigned long
	    (e.g. to have a 64-bit precision on MS Windows), the generic code
	    could be retrieved back from r12455.

2018-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_str.c,src/mpfr.h] mpfr_get_str_digits -> mpfr_get_str_ndigits
	[doc/mpfr.texi] updated documentation of mpfr_get_str

	[src/get_str.c] fixed FIXME

2018-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_str.c] Portability corrections in mpfr_get_str_digits.

2018-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_str.c] new function mpfr_get_str_digits
	[doc/mpfr.texi] added documentation for mpfr_get_str_digits

2018-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfma.c] Fixed bug from r12407 with 32-bit long and 64-bit limbs
	(e.g. as under 64-bit MS Windows).

2018-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Correction for test of the fallback to __float128:
	in the test program, define the variable outside main() in order to
	avoid an error when the -Werror=unused-variable GCC option is used.

	[src/get_sj.c] Avoid an unused variable.

	[doc/README.dev] Updated description of MPFR_WANT_FLOAT128.

	[doc/README.dev] Recommend AC_LINK_IFELSE rather than AC_COMPILE_IFELSE
	(see r12448 as an example of an issue with AC_COMPILE_IFELSE).

	[acinclude.m4] Fixed a test, which could define MPFR_INTMAX_WITHIN_LIMB
	even when not true (MPFR_STAT_STATIC_ASSERT() was just regarded as a
	function call since the macro was not defined, thus did not yield an
	error).

	[tests/tversion.c] Output the sizes of long and intmax_t.

	[acinclude.m4] Fixed incorrect test from r12426.

	Removed trailing spaces.

	Updated support for binary128:
	  * __float128 was changed to _Float128 (ISO/IEC TS 18661) in r12391;
	    also changed the suffix of the constants from "q" to "f128".
	  * Use __float128 with the "q" suffix as a fallback in order to avoid
	    regressions with GCC 6- and with C++ mode (g++).
	    As documented in the GCC manual, this is entirely compatible on most
	    platforms where both are supported: _Float128 and __float128 are the
	    same type, and it could be checked that the following prototypes are
	    equivalent (as expected):
	      _Float128 f (__float128)
	      __float128 f (_Float128)
	    The only potential issues would be on hppa and IA-64 HP-UX, where
	    __float128 is an alias for "long double" instead of _Float128, in
	    case the ABI would be different (I have no information about this)
	    and both would be mixed up with software using the MPFR conversion
	    functions for binary128 via __float128 or "long double". The worst
	    thing that could happen is a link error. If the link is accepted,
	    everything should be fine as the representation doesn't change.

	[src/set_float128.c] Removed a useless #include and corrected a comment.

2018-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_z_exp.c] Portability.

	[tests/tdiv_ui.c] Avoid a compilation error with
	gcc -std=c90 -pedantic -Werror in 32-bit ABI.

	[tests/tget_str.c] Fixed a return type.

2018-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_z_exp.c] new try for r12437. If that still does not work, we should
			  define macros BITS_PER_EXP_T, BITS_PER_PREC_T, ...

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_z_exp.c] Reverted r12437: the size of mpfr_exp_t is not
	always related to the size of mp_limb_t.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_z_exp.c] removed dead code on 64-bit computer

	[src/get_str.c] improved case m < g
	[tests/tget_str.c] improve coverage

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Correction: for AC_COMPILE_IFELSE, there are only
	2 cases: TRUE and FALSE.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_str.c] fixed not enough allocation issue

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Correction: for AC_COMPILE_IFELSE, there are only
	2 cases: TRUE and FALSE.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] m=1 is now valid in get_str
	[src/get_str.c] allow m=1 for b=2^k
	[tests/tget_str.c] added test for m=1 and b=2

	[src/get_str.c] added a comment
	[tests/tget_str.c] improved coverage (finding this example was quite hard!)

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_sj.c] Removed two assertions, including an incorrect one.
	Added an assertion.

	[acinclude.m4] Correction: if we cannot test, the portable code must be
	selected.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac,acinclude.m4] added new macro MPFR_INTMAX_WITHIN_LIMB
	[src/get_sj.c] optimized the code when MPFR_INTMAX_WITHIN_LIMB=1

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Removed MPFR_LIMBS_PER_LONG_DOUBLE as it was not
	  properly specified in the general case and was actually used only
	  in src/set_ld.c with HAVE_LDOUBLE_IEEE_EXT_LITTLE.
	[src/set_ld.c] Simplified code. Moreover, the hypothetical case
	  GMP_NUMB_BITS == 16 will trigger a compilation error instead of
	  yielding incorrect code.

	[tests/tbuildopt.c]
	  * Added missing const.
	  * Use the variable s to avoid a warning and also to detect potential
	    undefined behavior with debugging tools if s is not a string.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_sj.c] fixed typo

	[src/get_sj.c] added comments and simplified the code

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Typo in a comment.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_q.c] improved coverage

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d64.c] Parsing in the portable version of string_to_Decimal64:
	similar changes as in r12416 for the _MPFR_IEEE_FLOATS version.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_ld.c] removed dead code (as in r12413 for mpfr_get_d)

	[src/get_flt.c] optimized code when MPFR_LIMBS_PER_FLT=1
	[tests/tget_flt.c] improved coverage

	[src/get_d64.c] simplified code, and removed dead code
	[src/mpfr-impl.h] added comment
	[tests/tget_set_d64.c] improve coverage

2018-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_q.c] Simplified code.

2018-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_d.c] removed dead code

	[src/get_d.c] optimized for common case MPFR_LIMBS_PER_DOUBLE=1

	[tests/tset_z_exp.c] improved coverage

	[src/set_q.c] removed dead code on 64-bit processor

	[src/set_ld.c] improve code when HAVE_LDOUBLE_IEEE_EXT_LITTLE is defined

2018-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ld.c] Reverted r12408: MPFR_LIMBS_PER_LONG_DOUBLE cannot be
	used with the preprocessor due to the use of "sizeof".

2018-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_ld.c] improve code for MPFR_LIMBS_PER_LONG_DOUBLE=1

	[tests/tfma.c] improved coverage of mpfr_set_1_2

	[tests/tbuildopt.c] improve coverage

2018-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfma.c] Corrected a comment.

	[tests/tfma.c] Joined test_overflow3 and test_overflow4 by using a loop.
	Improved the corresponding test and error message. Also run this test
	with the default exponent range.

	[src/fma.c] Added FIXME for r12396, which still seems incorrect.

	[src/mpfr-impl.h] Typo in a comment.

	[NEWS] Update about the change of __float128 to _Float128: clarification
	that it is from ISO/IEC TS 18661 ("standard" was too vague); added FIXME
	on a possible fallback to __float128 and ABI considerations.

	[configure.ac] For --enable-float128, this is still autodetect, e.g.:
	  checking if compiler knows _Float128 with C99 constants... no
	Added a FIXME: a fallback to __float128 is necessary to avoid
	regressions.

2018-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqr.c] added comments
	[tests/tsqr.c] improve coverage of sqr.c to 100%

	[src/sqr.c] fixed a bug in mpfr_sqr_1n in a rare case near underflow,
		    only use mpfr_sqr_1, mpfr_sqr_1n, mpfr_sqr_2, mpfr_sqr_3
		    when all numbers have same precision (like for mpfr_mul),
		    and added comments
	[tests/tsqr.c] added tests, including non-regression for above bug

	[src/fma.c] added comments and a FIXME

	[src/fma.c] fixed last failure
	[tests/tfma.c] removed debug stuff

	[tests/tfma.c] added new failing test

	[src/fma.c] fix failure from last test

	[src/fma.c] added comments
	[tests/tfma.c] added a test (currently failing)

	[mips/mparam.h] updated

	changed __float128 (gcc specific) into the standard type _Float128

	[arm/mparam.h] updated

	[x86/mparam.h] updated

	[src/mparam_h.in] amd/k8/mparam.h -> amd/mparam.h

	[amd/mparam.h] updated

	[sparc64/mparam.h] updated

	[x86_64/core2/mparam.h] updated

	[powerpc64/mparam.h] updated

	[x86_64/mparam.h] updated

	[src/mulders.c] removed dead code

2018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tune/tuneup.c] ensure k < n in mpfr_divhigh_n[]

	[src/mparam_h.in] added __tune_znver1__ for AMD64 (e.g., gcc67.fsffrance.org)

	[src/mips/mparam.h] updated on gcc22

	[NEWS] added item

	removed tuning for x86/core2, updated tuning for generic x86

	[src/sparc64/mparam.h] updated tuning parameters for sparc64

2018-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mparam_h.in] Use the generic parameters for x86_64 with Clang.

2018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tuning for ARM

2018-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted r12368: sparc64 tuning should be updated on gcc202.

2018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mparam_h.in] generic case for all remaining i386's

	[src/mparam_h.in] put back __tune_k8__

	[src/mparam_h.in] check __amd64__ before generic __x86_64__

	removed tuning for hppa (gcc61 is offline)

	removed tuning parameters for sparc64 (gcc64, gcc200 and gcc201 are offline)

	[tune/tuneup.c] for mpfr_div_threshold, start from 3 limbs again

	removed tuning for powerpc32 (no such machine available any more)

	[src/powerpc64/mparam.h] updated tuning parameters for powerpc64

	[src/amd/k8/mparam.h] fixed MPFR_DIV_THRESHOLD

	updated tuning parameters for amd/k8 and x86/core2

2018-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted r12359 and added a comment: tuning for x86 is used when
	building GMP/MPFR with a 32-bit ABI (ABI=32 / -m32).

2018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] start from 4 limbs for mpfr_div_threshold

	removed tuning for ia64 (gcc60.fsffrance.org is now offline)

	removed tuning for x86 (no more access to such machine)

	[tune/tuneup.c] make tune_simple_func more robust for small precisions

	[src/x86_64/mparam.h] fixed MPFR_DIV_THRESHOLD

	[x86_64/core2/mparam.h] updated on gcc14

2018-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] In the "long double" format recognition, added
	size information for IEEE extended (not used by MPFR, but this
	may be useful information for the user).

2018-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed tuning parameters for amd/athlon (we have no access to such machine
	any more)

	removed tuning for pentium4

	removed tuning for corei5 (was not used)

	[src/x86_64/mparam.h] added tuning for generic x86_64
	[tune/tuneup.c] mpfr_divhigh now wants n >= 2

	removed thresholds for arm since gcc57 is no longer available, thus we cannot
	tune on an ARM machine

2018-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] Removed unused variable dinv.

2018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] added comment
	[src/mpfr-gmp.h] moved definition of MUL_FFT_THRESHOLD
	[src/mulders.c] removed unused code, and force n>=2 in mpfr_divhigh_n_basecase
	[tests/tmul.c] improve coverage
	[tune/tuneup.c] forbid k = n-1 in divhigh_ktab[]

	[tests/tdiv.c] improve coverage, now 100% for div.c

	[src/ai.c] revert part of r12312
	[tests/tai.c] added coverage test provided by Sylvain Chevillard

	[src/sub1.c] revert r12317 since it did not consider UBFs. For the record,
		     tfmma was failing with GMP_CHECK_RANDOMIZE=1519138438006416.

	[src/div.c] get rid of mpfr_div_with_mpz_tdiv_q

2018-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gmp_op.c] Fixed a bug in mpfr_cmp_q on NaN rational: the NaN flag
	was set by mpfr_set_q, but the flags were not restored just after.

	[src/gmp_op.c] Reverted incorrect change in r12337 for mpfr_cmp_q.
	Explanation in comment. If the code was not tested, it should be by
	using mpq_set_num and mpq_set_den to construct such rationals.

2018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tdiv.c] improve coverage

	[tests/tdiv.c] improve coverage of mpfr_div_2

2018-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{add,sub}1sp.c] Updated/added comments for MPFR_WANT_ASSERT >= 2.

2018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] removed dead code

	[src/gmp_op.c] removed dead code
	[tests/tgmpop.c] improve coverage of gmp_op.c to 100%

2018-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Added missing ";;" before "esac" for code robustness.

	[acinclude.m4] Added a FIXME. Added a ";;" for safety.

2018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] added comment, and define MPFR_LONG_WITHIN_LIMB when cannot test

2018-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/random_deviate.c] Improved highest_bit_idx in the case where
	MPFR_LONG_WITHIN_LIMB is not defined (tested with GCC).

2018-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] resolved FIXME and removed dead code

	[tests/tmul.c] improve coverage

	[src/random_deviate.c] highest_bit_idx() assumes x > 0

	[src/random_deviate.c] fixed comment

	[src/random_deviate.c] redo change r12315 using MPFR_LONG_WITHIN_LIMB

	[src/sub1.c] added 2 FIXME

2018-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tai.c] Renamed test_near_zero to test_near_m2e, since this is
	"exercise mpfr_ai near m*2^e", as documented. Corrected comments.

	[tests/tai.c] For test_near_zero(), check that the NaN flag was not set
	(useful since such tests don't really check that the result is not NaN).

2018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tmul.c] improve coverage

	[tests/tmul.c] improve coverage

2018-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/random_deviate.c] Reverted incorrect change r12315: MPFR_LIMB_MAX
	cannot be used with the preprocessor due to the cast. The test should
	be done in "pure" C and the middle-end of the compiler should optimize.

	[src/sub1.c] Removed an unused label.

	[tests/tzeta.c] Check that the NaN flag was not set in some tests
	that do not involve NaN (useful since such tests don't really check
	that the result is not NaN).

2018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1.c] removed dead code, now coverage should be 100%

2018-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ai.c] Avoid more integer overflows.

2018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1.c] removed dead code
	[tests/tsub.c] added coverage test

2018-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ai.c] Detect some potential integer overflows.

2018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/random_deviate.c] don't compile alternate code if not needed

2018-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ai.c] Coding style. Corrected comments.

2018-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tzeta.c] improve coverage (and also uceil_exp2.c)

	[src/ai.c] removed dead code, and improved coverage
	[tests/tai.c] exercise mpfr_ai near (negative) zeroes

	[src/ai.c] fixed recomputation of wprec (to be confirmed)

	[src/ai.c] removed dead code

2018-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Fixed indentation.

	Removed trailing whitespace.

	[src/sqrt.c] Coding style.

	[src/expm1.c] Avoid a potential integer overflow in a type conversion
	for 32-bit mpfr_exp_t and 64-bit long (e.g. with -D_MPFR_PREC_FORMAT=2
	on a 64-bit Linux machine).

	[src/div_2ui.c] Reverted incorrect change in r12272 and added comments
	  and assertions.
	[tests/tmul_2exp.c] Improved a test to trigger the bug in r12272 also
	  when mpfr_exp_t > 32 bits (e.g. on 64-bit Linux machines).

	[tests/tmul_2exp.c] Improved output if mpfr_exp_t > long (for positive).

	[tests/tmul_2exp.c] Improved output if mpfr_exp_t > long (for negative).

	[tests] Fixed type errors with -D_MPFR_PREC_FORMAT=2 in CFLAGS and the
	--enable-assert=full configure option (signaled by GCC's -Wformat).

	[src/mul.c] Fixed type error with -D_MPFR_PREC_FORMAT=2 in CFLAGS and
	the --enable-assert=full configure option (signaled by GCC's -Wformat).

	[doc/README.dev] Removed the mention of MPFR_EXT_EMIN and MPFR_EXT_EMAX,
	replacing them by MPFR_EMIN_MIN and MPFR_EMAX_MAX, as done in r12298.
	Note: These old macros had been introduced in r7863 so that one could
	choose different values for the extended exponent range for debugging
	purpose, but they were not used in practice and were adding complexity
	(and potential inconsistency) for no really good reason.

2018-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/agm.c] added comment about line of code impossible to cover

	[src/agm.c,src/div.c,src/mpfr-impl.h] replaced MPFR_EXT_EMIN by MPFR_EMIN_MIN,
					      and MPFR_EXT_EMAX by MPFR_EMAX_MAX

	[src/sqrt.c] removed dead code
	[tests/tsqrt.c] improve coverage of mpfr_sqrt, now at 100%

	[tests/tsqrt.c] improve coverage

	[tests/tsqrt.c] improve coverage

2018-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] removed dead code

	[tests/tsqrt.c] improve coverage

	[tests/tsqrt.c] improved coverage
	[src/sqrt.c] added comments

2018-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/expm1.c] Added a FIXME comment.

2018-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsqrt.c] improve coverage

	[src/sqrt.c] removed dead code

2018-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Improved a comment.

	[tests/tsub.c] Check reuse of arguments for all mpfr_sub tests, when
	possible.

2018-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed bug in mpfr_sub1sp1n (corner case when a=c)
	[tests/tsub1sp.c] added non-regression test

	[src/sub1sp.c] fixed case 2e

2018-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Updated bug20180217 to trigger the bug: one needs to
	reuse the smallest input variable as the output variable.

	[tests/tsub.c] Added a test.

	[src/expm1.c] Updated a comment.

	[src/expm1.c] Fixed an integer overflow from r12276.

	[src/expm1.c] Added a log message.

2018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tfmma.c] added coverage test

	[tests/tfmma.c] improve coverage of add.c (ubf case)

2018-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/expm1.c] It seems that code removed in r12273 wasn't necessarily
	dead code with mpfr_exp_t > long (-D_MPFR_EXP_FORMAT=4 needed) because
	for MPFR_SMALL_INPUT_AFTER_SAVE_EXPO, err would be limited to -LONG_MAX
	and precisions larger than LONG_MAX could be problems. The -LONG_MAX
	bound from r4127 was arbitrary and only used to simplify the code due
	to the fact that mpfr_cmp_si compares to a "long" argument. But now we
	have the internal mpfr_get_exp_t function, allowing us to avoid this
	arbitrary bound (fixing the code and making it more efficient for these
	extreme cases) and simplify the code even more.

2018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mbench] added new option to usage

	[mbench] added option -d to fix the exponent difference between operands
		 (useful for mpfr_add and mpfr_sub, for example use -d0 for operands
		 with same exponent, -d1 for operands differing by 1, ...)

	[src/expm1.c] improve coverage (by removing dead code)

2018-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_2ui.c] No need for mpfr_uexp_t, due to the constraints on
	the valid exponents.

	[doc/README.dev] Update about mpfr_exp_t.

	[src/mul_2ui.c] Simplified mpfr_mul_2ui (like mpfr_div_2ui).

	[src/div_2ui.c] Simplified justification.

	[src/div_2ui.c] Simplified code as suggested by PZ; added justification.

2018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	GNU style: https://www.gnu.org/prep/standards/standards.html#Formatting

	[src/div_2ui.c] added comment
	[tests/tmul_2exp.c] added coverage test

2018-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_2ui.c] Replaced FIXME by an explanation.

2018-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div_2ui.c] added FIXME

	[src/cmp_ld.c] simplified code (and avoid useless test when long double is not
		       double-double)

	[tests/tsub1sp.c] improve coverage

	[tests/tadd1sp.c] improve coverage of add1sp

	[src/sub1sp.c] fixed bug20180216

	[tests/tadd1sp.c] added coverage test

2018-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] More tests in bug20180216.

	[tests/tsub.c] Added bug20180216 test currently failing (corresponding
	to the failure mentioned in r12253, r12254 and r12255, but reproducible
	with a simple "./configure").

	[src/exp_2.c] Note that the internal behavior depends on whether
	MPFR_LONG_WITHIN_LIMB is defined or not (see also r12253). This
	should not matter, possibly except in case of bug, like currently.

	[acinclude.m4] Updated FIXME for MPFR_CHECK_MP_LIMB_T_VS_LONG.

	[acinclude.m4] Added a FIXME for MPFR_CHECK_MP_LIMB_T_VS_LONG.

	[src/sub1sp.c] Squeezed useless double-space.

2018-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed bug20180215()

2018-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Updated comment for bug20180215.

	[src/sub1sp.c] Use "else" for symmetry with above code.

	[tests/tsub.c] Added a comment for bug20180215 (bug in the case
	2 <= d < p in generic code mpfr_sub1sp() introduced in r12242).

	[tests/tsub.c] Added bug20180215 test currently failing, found from a
	failure using -DMPFR_GENERIC_ABI in CFLAGS and the --enable-assert=full
	configure option; but the test had to be extended so that it also fails
	with a simple "configure", i.e. without -DMPFR_GENERIC_ABI in CFLAGS
	and without the --enable-assert=full configure option.

	Removed trailing whitespace.

2018-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] review of case 2 <= d < p in generic code mpfr_sub1sp()

	[src/div_ui.c] GNU style
	[src/sub1sp.c] reviewed the code for d>=p in mpfr_sub1sp()

2018-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Much improved the check of the use of GMP internals.

2018-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed a FIXME

	[src/mpfr-gmp.h] define prototype of __gmpn_rsblsh1_n
	[src/sub1sp.c] changed names of variables to something more readable

	[configure.ac] detect mpn_rsblsh1_n instead of mpn_rsblsh_n
	[src/sub1sp.c] use mpn_rsblsh1_n instead of mpn_rsblsh_n with k=1

2018-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Added 2 FIXME's.

	[src/sub1sp.c] In mpfr_sub1sp, initialize k only once. This slightly
	simplifies the code and avoids a -Wmaybe-uninitialized warning from
	GCC. The only failure on a 64-bit Linux machine is tsub1sp, due to
	an assertion failure in mpfr_sub1sp, as before this change.

	[src/sub1sp.c] Avoid the swapping of the exponents when they are equal.

2018-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] review of case d=1 in generic code

	[src/add1sp.c] no need of MPFR_TMP_MARK any more

	[src/sub1sp.c] end of review of case d=0 in generic code

	[src/sub1sp.c] work in progress

2018-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Moved a MPFR_ASSERTD to the right place.

2018-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] re-enable __gmpn_rsblsh_n (with WANT_GMP_INTERNALS)

	[src/sub1sp.c] small improvement

	[tools/cfarm.sh] updated for 4.0.1-rc2

	[src/add1sp.c] mp_ptr -> mp_limb_t*

	[src/add1sp.c] get rid of MPN_COPY/MPN_ZERO in generic code

2018-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Improved comments and other minor changes.

	[src/add1sp.c] In the generic code of mpfr_add1sp, fixed the computation
	of the round and sticky bits from r12220. At the same time, improved the
	handling of MPFR_RNDF in this part of the code:
	  * The "while" loop to compute the sticky bit is no longer done in this
	    case (the sticky bit does not matter).
	  * The "goto" is avoided.

	[tests/tadd.c] Added 2 tests that fail starting with r12220.

2018-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] cleanup generic code mpfr_add1sp()

2018-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fma.c] Added a FIXME comment about overflow/underflow issues in
	  corner cases (already caught with MPFR_ASSERTN), fixable with UBF
	  like in mpfr_fmma.
	[src/hypot.c] Updated a comment: The problem that would come from an
	  underflow in y^2, in particular because x was scaled in order to
	  avoid an overflow in x^2, has been avoided by using a FMA (though
	  still buggy for these cases, as mentioned just above).

2018-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added/updated comments about the config.h inclusion.

	[tests/{tset_float128.c,tset_ld.c}] Removed obsolete WITH_FPU_CONTROL
	related code (this should have been done in r12185).

2018-02-07  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Updated GMP URL.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Corrected minimal GMP version.
	[tools/mpfrlint] Updated test to detect minimal GMP version mismatch.

	[INSTALL] Corrected minimal GMP version (thanks to David Edelsohn).
	[tools/mpfrlint] Added a test to detect minimal GMP version mismatch.

	[tools/announce-text] For releases, check the VERSION file of the tag.

	[doc/README.dev] "To make a release": moved a sentence.

2018-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv_ui.c] Forcibly disable value coverage checking if
	mp_limb_t > unsigned long (e.g. on mips64 with the n32 ABI).

	[tests/tdiv_ui.c] Corrected comments.

	[tests/t*random*.c]
	  * Replaced calloc + free by tests_allocate + tests_free as usual.
	  * trandom.c, turandom.c: do bitwise operations in unsigned arithmetic.

	[tests/t*random*.c]
	  * Replaced some fprintf with stderr by printf (but not those
	    concerning memory allocation errors).
	  * Do bitwise operations in unsigned arithmetic.
	  * Formatting.

	[tests] Formatting.

	[tests/tests.c] Make stderr unbuffered again.
	Note for the history: both stdout and stderr were made unbuffered in
	r2361, then all stderr were changed to stdout (and the corresponding
	setbuf on stderr removed) in r2449 for consistency, but stderr was
	used later for specific cases (e.g. memory allocation errors or when
	stdout is already used for something else), and it is also used for
	assertion failures. Thus the setbuf on stderr is still needed.

	[tests] Fixed the cases where tests_start_mpfr was called too late,
	i.e. after potential output (to stdout).
	  * tremquo.c: moved the call to tests_start_mpfr to the beginning.
	  * tset_float128.c, tset_ld.c: removed the optional, obsolete code
	    setting the FPU control word; MPFR_FPU_PREC can be used instead
	    (see tests.c).

	Reverse-merged r12181 since tests_start_mpfr disables stdout buffering,
	so that the fflush() are unnecessary.

	[tests/tabort_*.c] Flush stdout after a printf(), as an abort() is
	expected. This is needed on platforms where abort() does not flush
	the stdio streams, such as with the GNU C Library (glibc) 2.27.

2018-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention "make check-exported-symbols" (experimental).

	[tests/tdiv_ui.c] Portability update, in case MPFR_PREC_MIN > 1.

2018-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv_ui.c] In corner_cases, test larger values for xn,
	as suggested by Paul, allowing one to cover case 2 for both
	sb=0 and sb=1. Value coverage is now complete.

	[tests/tdiv_ui.c] Updated midpoint_exact to also test the divisor
	ULONG_MAX, allowing one to cover cases 3 and 4.

	[tests/tdiv_ui.c] Added tests with simple midpoint and exact cases.
	This covers case 9, sb=0.

	Added a case for the value coverage for tdiv_ui.
	→ Now, on a 64-bit Linux machine:
	    mpfr_div_ui not tested on case 2, sb=0
	    mpfr_div_ui not tested on case 2, sb=1
	    mpfr_div_ui not tested on case 3, sb=0
	    mpfr_div_ui not tested on case 4, sb=0
	    mpfr_div_ui not tested on case 9, sb=0

	Added value coverage for tdiv_ui (combinations of rb and sb in the
	different cases of the mpfr_div_ui code).
	→ Currently on a 64-bit Linux machine:
	    mpfr_div_ui not tested on case 2, sb=0
	    mpfr_div_ui not tested on case 3, sb=0
	    mpfr_div_ui not tested on case 8, sb=0

	[src/div_ui.c] Case tmp[yn] != 0: simplified code since u ≥ 2.

	[src/div_ui.c] Case tmp[yn] == 0:
	  * corrected/improved comments;
	  * simplified condition rb && sb to rb (since if rb ≠ 0, then r ≠ 0,
	    so that the current sb ≠ 0);
	  * replaced "& (~MPFR_LIMB_HIGHBIT)" by "<< 1" (should be simpler).

2018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div_ui.c] fixed corner case (hopefully)

2018-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Improved a regexp (avoiding false positives).

	[tests/tdiv_ui.c] corner_cases() requires limbs to fit in unsigned long.

	[tests/tdiv_ui.c] Back to a decimal constant (the UL suffix was
	incorrect, but just a U is OK).

2018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tdiv_ui.c] added test for corner case (currently fails)

2018-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv_ui.c] Fixed a value (from a zsh bug).

	[src/div_ui.c] Comment: now, "i.e." is correct.

	[tests/tdiv_ui.c] Added ABI-independent bug20180126 tests.

2018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div_ui.c] fixed a comment

2018-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_ui.c] Typo in a comment.

	[src/div_ui.c] Updated a comment.

	[src/div_ui.c] Clarified the notation (this was ambiguous, with two
	possible interpretations). Added comments about mpn_divrem_1.

	[src/div_ui.c] Added a FIXME.

2018-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div_ui.c] fixed a comment, and added a FIXME

2018-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_ui.c] Clarified a comment.

	[src/div_ui.c] Started to review the code; minor changes.

	[src/div_ui.c] Minor update of comments.

	[src/div_ui.c] Fixed the exact case, which used nexttoinf uninitialized.

	[tests/tdiv_ui.c] bug20180126: enable the test only when a limb fits in
	an unsigned long; clarified a comment.

2018-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div_ui.c] fixed bug20180126 (from tdiv.c), with a complete rewrite of
		       mpfr_div_ui using the round and sticky bits
	[tests/tdiv_ui.c] added more tests

2018-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] mpfr_div bug bug20180126: also test negative values.

	[tests/tdiv.c] Updated comment about mpfr_div bug bug20180126.

	[tests/tdiv.c] mpfr_div bug bug20180126 was introduced by r9086.

2018-01-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] Completed r12128 test with new comments and an assert.

	[tests/tdiv.c] Added test case for a mpfr_div bug of MPFR 4.

2018-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added information about symbol checking.

2018-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Mention a libtool 2.4.6 bug concerning Solaris, yielding
	potential failures if a compatible MPFR version is already installed:
	this MPFR library is tested instead of the one that has just been built.

2018-01-22  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] + Improved __GMP_CC and __GMP_CFLAGS retrieval.

	[configure.ac] In the CC and CFLAGS setup from gmp.h, added to the
	cpp list: "clang -E"; "cl -E" and "icl -E" for Windows ICC and MSVC
	(suggested by Alexander).

2018-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": mention "make check-gmp-symbols"
	and "make check-exported-symbols".

	[Makefile.am] Updated comments.

	[src/Makefile.am] For check-gmp-symbols and check-exported-symbols, if
	the library is not $(top_builddir)/src/.libs/libmpfr.so, these rules
	do nothing instead of potentially failing.

	Added check-exported-symbols make rule to check that MPFR does not
	define symbols with a GMP reserved prefix.

2018-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mp_clz_tab.c] Fixed a condition (see bug mentioned at r12107).

	[src/mpfr-gmp.h] Reverse-merged r11969, which yields a build failure
	under MinGW when GMP is built with "--disable-shared --enable-static
	--enable-assert --disable-assembly" and MPFR is built using the GMP
	build. Indeed, this commit was incorrect, as if the GMP build is used,
	then this is GMP's longlong.h that is used and GMP's __clz_tab version
	that should be used.
	The real cause of the "multiple definition of `__gmpn_clz_tab'" error
	reported at
	  https://sympa.inria.fr/sympa/arc/mpfr/2017-12/msg00061.html
	is that MPFR defines its own __gmpn_clz_tab while this is not needed
	(and must not be done) when the GMP build is used.

2018-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] - Decide whether multiple calls to mpfr_clear should be allowed.

	[TODO] + Decide whether multiple calls to mpfr_clear should be allowed.

2018-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[NEWS] Update. Prepare for new version 4.1.0.

	[doc] Updated FAQ.html with update-faq.

2018-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tlgamma.c] bug20180110: test the ternary value and the flags.

	[src/lngamma.c] Fixed mpfr_lgamma bug for tiny negative x, in case
	emax < exponent of the result (the issue was an overflow in the "fast"
	algorithm, which made it loop with more and more working precision).

	[src/lngamma.c] Removed a useless cast.

	[tests/tlgamma.c] Added a test case for a bug found from the tgeneric
	change done in r12088.

	[tests/tgeneric.c] Do several overflow/underflow tests instead of 1, and
	this for each precision. This allows one to detect the mpfr_ai bug found
	and fixed on 2018-01-07 (with 32-bit *and* 64-bit ABI):
	  https://sympa.inria.fr/sympa/arc/mpfr/2018-01/msg00001.html
	Moreover, this makes tlgamma loop with a 32-bit ABI (x86). To be fixed.

	[tests/tgeneric.c] Added comments for tests in a reduced exponent range.

	[tests/tsprintf.c] About r12084, simplified the code, without needing
	strncpy.

	[tests/tsprintf.c] Fixed strncpy usage, in particular to ensure a
	null-terminated string (bug detected by gcc-snapshot 20180107-1 under
	Debian with -Werror=stringop-truncation).

2018-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Fixed the @GMPabs macro in tex mode: due to the use of
	the OT1 encoding, the pipe character "|" was giving a wide dash.

	[doc/mpfr.texi] For mpfr_custom_get_exp, restored the spec for NaN,
	infinity and zero, with more details.

	[doc/mpfr.texi] Improved description of mpfr_custom_init_set.
	Note: For the versions of the manual generated with TeX (PDF/DVI/PS),
	"|kind|" appears as "—kind—", and the description of mpfr_ai has
	the same issue (since its introduction in MPFR 3.0.0). The cause
	is unclear, and this will be fixed later.

2018-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] for mpfr_custom_get_exp, explain the significand is considered
			in [1/2,1) as for mpfr_get_exp

2018-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc]
	  * texinfo.tex: update to the latest version 2018-01-09.11, which
	    supports @var with script font size without any drawback.
	  * mpfr.texi: replaced the now useless @svar by @var.

2018-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tai.c] In bug20180107, also check the flags.

	[src/ai.c] Really fixed the bug.

	[src/check.c] Typo.

2018-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/ai.c] missing call to mpfr_check_range

	[tests/tai.c] added test that fails on x86_64

	[tests/tai.c] added test for bug in mpfr_ai (see thread
	https://sympa.inria.fr/sympa/arc/mpfr/2018-01/msg00001.html)

2018-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[tools/ck-mparam] In the copyright notice, just keep the year 2011
	since this file is not part of the tarball (just used by mpfrlint).

	Copyright notice update: added 2018 with
	  perl -pi -e 's/ (\d{4}-)?(2017)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh, reverting the ck-mparam and timings-mpfr.c files and
	the mbench directory under "tools" (not distributed with MPFR).
	Removed 2017 from the example in the doc/README.dev file.

2018-01-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/zeta.c] added comments and FIXME

	Note (2019-04-30): a bug has also been introduced (fixed in r13485).

2017-12-25  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Minor corrections for GNU MPFR 4.0.0.

2017-12-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Added a note about gettimeofday() and a cast.

	[tests/tests.c] Fixed a potential integer overflow from r12053 with
	GMP_CHECK_RANDOMIZE=1, in particular under a 32-bit Linux.

2017-12-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tests.c] decrease probability of collision with random seed

	[src/exp_2.c] fixed bug from previous commit
	[src/subnormal.c] added assert

	[tests/texp.c] added test for new bug

2017-12-22  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

	[src/subnormal.c] Replaced FIXME.

	[tests/tj1.c] Avoid a potential integer overflow.

2017-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/subnormal.c] added FIXME

	[src/sin.c] simplified code with RNDA

	[src/hypot.c] mimic mpfr_round_near_x

	[tests/tj1.c] exercise corner case

	[tests/tj1.c] added test for j1(z) with small z

	[src/hypot.c] fixed issue with overflow flag not correctly set

2017-12-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/next.c] Reverted r12035 as per documentation, which follows
	IEEE 754 (with the usual special treatment for the single NaN).

2017-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/next.c] fixed nextinf (missing overflow flag)
	[tests/thypot.c] removed debug call to mpfr_dump in previous commit

	[tests/thypot.c] another fix...

	[tests/thypot.c] fixed bug20171221()

	[tests/thypot.c] new failing test

	[src/lngamma.c] fixed bug when u=0 in case z0 < 1
	[tests/tlngamma.c] fixed test case which was wrong

2017-12-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tlngamma.c] added test for new failure

	[src/lngamma.c] fixed bug found in previous commit

	[tests/tlngamma.c] added failing test with mpfr-4.0.0-rc2

2017-12-20  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 4.1.0-dev again.

	Updated version to 4.0.0-rc2 for an attempt to replace the 4.0 branch.

	[src/fma.c] Minor improvements. Added an assert.

	[src/tanh.c] GNU coding style.

	[src/mul.c] Reindentation.

	[src/exp2.c] Replaced two MPFR_ASSERTN by MPFR_STAT_STATIC_ASSERT.

2017-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exp2.c] Fixed the double rounding problem in an underflow case,
	triggered by the test added in r12017.

	[tests/texp2.c] Added test of underflow in MPFR_RNDN with exact value
	close to 2^(emin-2). Currently fails due to double rounding.

	[tests/tdiv.c] Added new non-regression test: the was the real cause of
	the ttanh failure in r11993 without the tanh.c fix in this same commit.
	But this mpfr_div was fixed in r12002.

	[doc/mpfr.texi] Added a comment about a bug/limitation in makeinfo 5.2.

	[doc/mpfr.texi] Improved svar macro for nottex, in case it is used
	in the future.

	[doc/mpfr.texi] Define svar even for nottex, though it is not used
	(attempt to avoid a failure with makeinfo 5.2).

2017-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fma.c] fixed bug in mpfr_fma
	[tests/tfma.c] added non-regression test

2017-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exp2.c] Update concerning the underflow/overflow cases.
	Still incomplete.

	[doc/mpfr.texi] Updated a comment.

	[doc]
	  * texinfo.tex: update to the latest version 2017-12-18.20, which
	    reverts the change done in 2017-12-01.13 attempting to support
	    @var with script font size (e.g. in exponent); but this change
	    didn't work correctly.
	  * mpfr.texi: introduced a @svar macro to handle this case. It
	    currently disables the use of @var, the other workaround being
	    worse.

2017-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

	[doc/algorithms.tex,src/tanh.c] Fixed the bound, in particular from
	the recent improvements in the error analysis.

2017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] we should compare the smaller size and not the larger one to
		    MPFR_MUL_THRESHOLD or MPFR_SQR_THRESHOLD for Mulders' short product

	[src/mul.c] with Mulders', convert RNDF to RNDZ
	[tests/tmul_d.c] added a non-regression test

2017-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] mpfr_tanh: corrected bounds (thanks to Paul).

	[doc/algorithms.tex] mpfr_tanh: detailed some inequalities.

2017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] fixed bug in mpfr_div2_approx()
	[tests/tdiv.c] added non-regression test
	[tests/ttan.c] added test triggering bug in mpfr_div2_approx()

2017-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] mpfr_tanh: resolved both FIXME's.

	[doc/algorithms.tex] mpfr_tanh: corrected a part of the error analysis
	(2^k+4 ≤ |theta_4|^(−1/2) was not necessarily true, since theta_4 can
	be very small). As a consequence, the lemma can be simplified/improved
	(first FIXME). Added a second FIXME on a condition that is not checked.

	[doc/algorithms.tex] mpfr_tanh: missing absolute value; added a \cdot.

	Removed trailing whitespace.

	[doc/algorithms.tex] Added another \cdot for readability.

2017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/exp2.c] added FIXME

2017-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Minor corrections for hyperbolic tangent function:
	  * "e" had two different meanings (BTW, the constant e should actually
	    be written \mathrm{e} everywhere in the document).
	  * Use \left...\right instead of |...| when it contains an expression
	    starting with \log (the latter was confusing pdflatex, which added
	    a spurious space before \log).
	  * Added some \cdot for better readability.

2017-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/exp2.c] fixed bug near underflow
	[tests/texp2.c] added non-regression test

	[tests/ttanh.c] added test for bug in mpfr_tanh
	[doc/algorithms.tex] fixed error analysis for mpfr_tanh
	[src/tanh.c] fixed error analysis
	Note after r12016: Even though mpfr_tanh was incorrect, the failure
	of the test added in ttanh.c was actually *only* due to a bug in the
	mpfr_div code specific to the trunk (fixed in r12002), i.e. this was
	not a non-regression test for the mpfr_tanh bug itself (in particular,
	this test does not introduce a failure in the 3.1 branch, which still
	has the same incorrect mpfr_tanh code but a correct mpfr_div).

2017-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 4.1.0-dev again.

2017-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 4.0.0-rc2 for an attempt to replace the 4.0 branch.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

2017-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] fix bug in mpfr_add1sp3() in case d=GMP_NUMB_BITS

2017-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tadd1sp.c] added test for new bug (still to be fixed):

	Seed GMP_CHECK_RANDOMIZE=1514385177 (include this in bug reports)
	add1 & add1sp return different values for MPFR_RNDN
	Prec_a = 137, Prec_b = 137, Prec_c = 137
	B = 0.11111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000E-66
	C = 0.11111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000110000E-2

	add1  : 0.10000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000001000E-1
	add1sp: 0.11111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000010000E-2
	Inexact sp = 0 | Inexact = 0
	Flags sp = 8 | Flags = 8
	add1sp.c:89: MPFR assertion failed: 0

2017-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/root.c] Minor comment correction.

	[src/root.c] Completed fix from r11978, as x=-1 was affected too. Also
	  added comments explaining that mpfr_root_aux assumes |x| ≠ 1 and why.
	  Hence the need of a filter on |x| = 1.
	[tests/troot.c] Added test for x = -1.

	[tests/troot.c] Replaced mpfr_root by TF (like in the other tests).

2017-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/root.c] fixed bug when x=1
	[tests/troot.c] added non-regression test

2017-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub1sp.c] Corrected a type. And mpfr_equal_p being a predicate
	function, it's better to use Boolean operators on it.

2017-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tsub1sp.c] added a generic test for bug20171213()

2017-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{mul.c,sqr.c}] Minor changes, making code similar to sub1sp.c.
	Checked with
	  grep -A 1 'sb *>>' src/*.c
	that the bug fixed in r11974 does not occur in other parts of the code.
	BTW, there is much duplicate code, as shown by the grep output, and
	using macros could have avoided that, making bugs easier to reproduce
	(since a same bug would be duplicate several times).

2017-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed bug in mpfr_sub1sp2()
	[tests/tsub1sp.c] added non-regression test

2017-12-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpf2mpfr.h] Added a comment.

2017-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpf2mpfr.h] missing mpf_inits/mpf_clears

	[src/mpfr-gmp.h] redefine __clz_tab also with gmp-build

2017-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved error message.

	[tests/talloc.c] Added a comment about why talloc requires ISO C99.

	[src/mpfr-cvers.h] Removed a useless test for __MPFR_STDC, as one just
	needs to check whether we have a C99, C11, etc. implementation (if not
	done via a configure test). Particular incompatibilities with the C90
	standard should always be checked via a configure test.

	[tests] Added *.exe to svn:ignore property (files from MinGW builds).

2017-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tools/timings-mpfr.c] always use clock() [now very accurate under Linux]

2017-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/timings-mpfr.c] Updated years in copyright notice.

	[tools/timings-mpfr.c] Fixed prototypes.

	[tools/timings-mpfr.c] Added a defined(_MSC_VER). But clock() is
	standard, so why not always using it?

	[doc/README.dev] Correction.

	[doc/README.dev] Made formatting consistent (same as configure --help).

	Completed r11955: There were also DEBUG macros under the "tests"
	directory. Since such macros can still be useful in case a test failure,
	replaced them by MPFR_DEBUG to avoid issues with CI builds that define
	the DEBUG macro. But an environment variable would be a better solution
	(see MPFR_DEBUG_BADCASES as an example).

	[TODO] Removed item on the DEBUG macro (done in r11955).

2017-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	DEBUG_TGENERIC -> MPFR_DEBUG_TGENERIC
	XDEBUG -> MPFR_DISABLE_IEEE_FLOATS

	get rid of DEBUG macro (but keep corresponding commands in comment to help
	understanding of the code and debugging)

2017-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_q.c] Removed trailing whitespace.

2017-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tget_q.c] replaced MPFR_ASSERTN(0) by exit(1)

2017-12-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_q.c] Optimization of r11951 suggested by Trevor Spiteri:
	https://sympa.inria.fr/sympa/arc/mpfr/2017-12/msg00040.html

2017-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_q.c] make result of mpfr_get_q in canonical form
	[tests/tget_q.c] added non-regression test

	[src/lngamma.c] replace call to __gmpfr_ceil_log2 by __gmpfr_int_ceil_log2

2017-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Rename the DEBUG macro to MPFR_DEBUG?

2017-12-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] Also distribute generic/coverage/mparam.h
	(at least useful for testing the distributed tarballs).

	[doc] Updated FAQ.html with update-faq.

	[doc] Updated FAQ.html with update-faq.

	[doc/README.dev] "To make a release":
	  * Note that this needs to be done in a branch.
	  * Swapped (1) and (2), in particular because the coverage might be
	    different in -dev versions and it is better to give results closer
	    to the release.

	Updated version to 4.1.0-dev.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	Moved tests/timings-mpfr.c into directory "tools" as it is not part
	of the test suite.

2017-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Removed FIXME about the sign bit of NaN: done in
	r11910 and r11920 (documentation + tests).

	[src] Replaced some "return 0" by "MPFR_RET (0)" (the generated code
	is the same as shown by gcc, thanks to an obvious optimization; this
	is semantically better, which could help provers, and would allow
	code instrumentation in the future, if need be).

2017-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	got rid of mpz_dump (undocumented in GMP)

	[src/mpfr-mini-gmp.c] updated with GMP 6.1.2

2017-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrected a Texinfo typography issue.

	[src/pool.c] Updated description. Corrected copyright years as the
	pool code itself was introduced in 2014.

	[tests/timings-mpfr.c] Removed trailing whitespace, untabified,
	changed GMP_RNDN to MPFR_RNDN.

	Cleanup and fixes for the mpz_t pool.
	  * Split src/free_cache.c to itself and a new source file src/pool.c
	    containing pool related code.
	  * src/mpfr-impl.h, src/pool.c: cleanup and fixes. In particular:
	      - renamed MPFR_MY_MPZ_INIT to MPFR_POOL_NENTRIES;
	      - no longer use GMP's symbols __gmpz_init, etc. directly;
	      - improved the condition for mpfr_mpz_init2;
	      - fixed the condition in mpfr_mpz_clear (we want to consider
	        the allocated size, not the size of the current number).
	  * src/Makefile.am: added pool.c.
	  * src/mpfr.h: added mpfr_free_pool prototype.
	  * doc/mpfr.texi: updated pool description in "Memory Handling";
	    new function mpfr_free_pool.
	  * doc/README.dev: update due to the rename of MPFR_MY_MPZ_INIT.
	  * NEWS: better announcement of the mpz_t pool.

	[doc/mpfr.texi] Small correction concerning the caches.

	[doc/mpfr.texi] More details for mpfr_fpif_export and mpfr_fpif_import.

2017-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[timings-mpfr.c] test file for measuring timings (added -p option)

2017-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	Updated the remaining www.loria.fr URL's.

	[doc/algorithms.bib] Updated URL's.

	[doc/mpfr.texi] References: typography; updated a URL.

2017-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] updated reference to "Modern Computer Arithmetic"

	[free_cache.c] limit the size of objects in the mpz_t pool

2017-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/free_cache.c] Added a comment for the mpz_t pool, and a suggestion
	for mpfr_mpz_clear so that the pool will not take too much memory while
	keeping a possible benefit for very small precision.

2017-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Made box around code examples for clarity and grep.

	[doc/mpfr.texi] For mpfr_fpif_export: the sign of a NaN is stored.
	[tests/tfpif.c] Test the sign of NaN (in particular).

	[doc/mpfr.texi] Updated references.

	[doc/mpfr.texi] Update about 0 of type without signed zeros, as in
	mpfr_div_ui.

	[doc/mpfr.texi] Document the behavior of mpfr_ui_pow and mpfr_ui_pow_ui
	on the integer 0 (0 does not have a sign here).

2017-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mini-gmp] added information about result of "make check"

2017-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] Removed old code for pre-GMP-5 versions.

	[src/urandomb.c] Removed an obsolete "#if __MPFR_GMP(5,0,0)" as we now
	require GMP 5.0+ and mp_bitcnt_t is also defined by mini-gmp.

	[src/mpfr-gmp.h] Removed the code that defined mpn_copyi and mpn_copyd
	macros for GMP < 5, since MPFR now requires GMP 5.0+ and these functions
	are also defined by mini-gmp (these macros were used by mini-gmp only
	because mini-gmp does not define GMP_VERSION).

	[src/mpfr-gmp.h] Missing parentheses around parameters in mpn_copyi
	and mpn_copyd macro definitions.

2017-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in replacement function for copyi and copyd (found with mini-gmp)

	add --disable-shared for mini-gmp (not tested yet with dynamic linking)

2017-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Explain how to avoid the "... is deprecated" warning when
	testing a deprecated function.

	[doc/README.dev] Removed a -Wno-error=deprecated-declarations as
	the specific warnings are now avoided (r11896).

	Disable the "deprecated" attribute of deprecated functions *only* for
	the tests of these functions, to avoid the corresponding warnings.

	Removed trailing whietespace.

2017-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed compiler warnings with mini-gmp

2017-12-04  Vincent Lefèvre  <vincent@vinc17.net>

	Simplified the use of MPFR_USE_FILE since <stdio.h> (<cstdio> for C++)
	is unconditionally included.

2017-12-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	make compilation work again (make + make check) with mini-gmp

2017-12-04  Vincent Lefèvre  <vincent@vinc17.net>

	Improved portability of the check-gmp-symbols make rule.

	[src/fpif.c] Clarification.

	[tests]
	  * tfpif.c: in doit(), also test the negative versions of the numbers.
	  * tfpif_r1.dat: update.

	[src] Update about the internal use of mpfr_get_str.
	  * get_str.c: updated a comment.
	  * vasprintf.c: added assertions.

	[doc/mpfr.texi] Updated the month.

	[src/get_str.c] Corrected a comment.

	[doc/mpfr.texi] Update about the memory allocation (added references
	to Section "Memory Handling").
	(merged changeset r11632 from the 3.1 branch)

	[doc/mpfr.texi] Update for mpfr_get_str:
	  * Added a texi comment explaining why m+1 (so that if the mpfr_get_str
	    implementation is improved, we know whether this is still the case).
	  * Improved the documentation for the case str = null pointer.

2017-12-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated comments about the latest change (r11881).

	[doc/mpfr.texi] Typography fixes for TeX (DVI/PS/PDF) in math mode.
	  * Corrected the use of \lceil and \rceil.
	  * Added missing @var, including 2 in exponent, as allowed by
	    texinfo.tex 2017-12-01.13.
	  * Removed old comments about Texinfo.

	[doc/texinfo.tex] Update to the latest version 2017-12-01.13 from
	<https://ftp.gnu.org/gnu/texinfo/>.

2017-12-01  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] In r11876, forgot to define MPFR_WANT_DECIMAL_FLOATS in
	the cross-compiling case.

	Solved an output issue on AIX due to the use of setbuf() after output
	in tversion. Indeed, this is disallowed by ISO C.
	  * doc/README.dev: added a note about tests_start_mpfr and this issue.
	  * tests/tests.c: moved test_version() after setbuf().
	  * tests/tversion.c: moved tests_start_mpfr() earlier, before any
	    printf().

	[acinclude.m4] Attempt to fix detection of decimal floats: if _Decimal64
	is known but does not work, no longer fail when --enable-decimal-float
	has not been used; just disable decimal floats.

	[acinclude.m4] Attempt to fix detection of decimal floats (BID was
	incorrectly assumed in case of link failure, if ld returned 1, which
	was observed on powerpc-ibm-aix7.2.0.0 [gcc119.fsffrance.org]).

	[src/fpif.c] Updated comments about the format.

2017-11-30  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Typo.

	Two fixes for the check-gmp-symbols make rule:
	  * Use $(COMPILE) instead of $(CC) to get the usual compilation flags
	    (in particular, the -I flags may be important to find gmp.h and to
	    get the correct one).
	  * Run the test only if libmpfr.so exists.

	[doc/README.dev] Internal GMP symbols: mention "make check-gmp-symbols".

	[NEWS] Mention "make check-gmp-symbols" (experimental).

	[INSTALL] Added an optional step "make check-gmp-symbols" to check
	that MPFR does not use GMP internal symbols.

	Added comment about the check-gmp-symbols make rule (added in r11865).

	Added check-gmp-symbols make rule to check that MPFR does not use
	GMP internal symbols.

	[doc/README.dev] Detailed the note about the list of GMP symbols.

	[doc/README.dev] Document how to get the list of GMP symbols used
	by MPFR and how to detect GMP internal symbols used by MPFR.

	[INSTALL] Added a paragraph about the potential incorrect use of
	GMP internals.

2017-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Fixed the sign bug for mpfr_fpif_import.

	[tests/tfpif.c] In doit(), before the call to mpfr_fpif_import(), set
	the sign of the target to the opposite of the expected sign. Thus, if
	mpfr_fpif_import forgets to set the sign, this will be detected. And
	a failure actually occurs now!

	[tests/tfpif.c] For mpfr_fpif_import, check the precision too.

	[doc/mpfr.texi,src/fpif.c] For mpfr_fpif_import, in case of failure,
	the argument x is either unchanged or set to NaN, to make sure that
	x has valid contents (otherwise this could yield erratic behavior).

	[src/fpif.c] For mpfr_fpif_import, replaced an assertion by a failure
	(since the full format is not described in the manual and MPFR cannot
	currently generate such a case, this is OK).

	[tests/tfpif_r1.dat] Fixed an obvious error (incorrect sign of 0).

	[tests/tfpif.c] Output more information in case of error.

2017-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Fixed some bugs (though unlikely to occur in practice).
	Added comments. Minor code improvement.

	Got rid of the useless SIZE_MAX macro.
	  * src/vasprintf.c: replaced SIZE_MAX by (size_t) -1, already used
	    in some other files.
	  * acinclude.m4: no longer use gl_SIZE_MAX (from m4/size_max.m4).
	  * Removed m4/size_max.m4 as it is no longer needed (note that the
	    definition of SIZE_MAX by this file was unnecessarily complex
	    and potentially incorrect on some platforms).

	[src/fpif.c] Added static assertions in mpfr_fpif_import().

	[src/fpif.c] Improved a test (mpfr_regular_p → !MPFR_IS_SINGULAR).

	[src/mpfr-impl.h] Added a note about the use of the MPFR_IS_PURE_*(x)
	and MPFR_IS_SINGULAR*(x) macros.

2017-11-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Added format description from past mail messages, to be
	checked in case of change (+ FIXME for NaN). Minor code improvement.

	[tests/tfpif.c] Added TODO's (but the failure should be fixed first).

	[src/fpif.c] Clarified sign variable.

	[tests/tfpif.c] Use SAME_VAL instead of mpfr_cmp. This triggers a bug
	that was not detected yet.

	[tests/tfpif.c] Split the main test function into:
	  * doit(): keep only the tests that depend on the precisions.
	  * check_bad(): tests for bad file/data; precisions are not involved.

	[tests/tfpif.c] Improved a test (NaN checking). Added comments.

	[tests/tfpif.c] Removed a TODO done in r10326 and r10338.

	Updated autogen.sh so that doc/texinfo.tex isn't replaced.

	Added doc/texinfo.tex file from Texinfo 6.5 since the version installed
	by Automake (via "autoreconf -i" as called by autogen.sh) is obsolete:
	more than 4 years older than the current version!

	[doc/mpfr.texi] Updated a comment about a bug in Texinfo.

2017-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_exp.c] Check mpfr_get_exp too (with two additional tests
	for mpfr_set_exp).

	[tests/texceptions.c] Minor improvements.

	[doc/mpfr.texi] For mpfr_get_exp, document that x can be outside of
	the current range of acceptable values (this was ambiguous).

2017-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrected Texinfo typography issues.

2017-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added another example where we can have an overflow

	added pointer to mpfr_subnormalize

2017-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Major update of "MPFR and the IEEE 754 Standard".

	[doc/mpfr.texi] Added "MPFR and the IEEE 754 Standard" to the main menu
	as required. Title capitalization.

	[doc/mpfr.texi] Correction of a @node.

2017-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added section "MPFR and the IEEE 754 standard"

2017-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] mpfr_can_round: corrected the example; removed
	a reference to "ternary value" as there is already one in the
	previous sentence; clarification.

	[doc/mpfr.texi] Faithful rounding (MPFR_RNDF):
	  * Document that this feature is experimental and partially supported.
	  * Update Section "API Compatibility".
	Note: the NEWS file was up-to-date.

2017-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/talloc-cache.c]
	  * Replaced test + abort() by the more informative MPFR_ASSERTN().
	  * Also check that the allocator is the current GMP one (this would
	    fail with MPFR 3.1.6, where the allocation functions are memorized
	    the first time they are seen).

	mpfr_mp_memory_cleanup() now returns an error code (currently always 0)
	to avoid a future prototype change in case errors would be possible.

2017-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	Cleanup: In src/mpfr-gmp.h, exchanged
	  mpfr_allocate_func    and  *__gmp_allocate_func
	  mpfr_reallocate_func  and  *__gmp_reallocate_func
	  mpfr_free_func        and  *__gmp_free_func
	and in the code, replaced *__gmp_{allocate,reallocate,free}_func
	by mpfr_{allocate,reallocate,free}_func; updated TODO file.

	[doc/mpfr.texi] The sign bit of a NaN is now specified for mpfr_abs,
	mpfr_neg and mpfr_set, in order to mimic the IEEE-754 abs, negate
	and copy operations.

	[tests/tabs.c] More tests on mpfr_abs, including the ternary value
	and the NaN flag and sign bit for ±NaN.

	[tests/tabs.c] Coding style.

	[tests/tset.c] For mpfr_neg on NaN, also check that the variable is
	set to NaN and that the ternary value is 0.

	[tests/tset.c] More NaN tests for mpfr_set.

	[tests/tset.c] More tests of the NaN flag and the sign bit for mpfr_neg
	on NaN.

	[tests/tset.c] The global variable "error" is better as static.

	[tests/tset.c] For mpfr_neg on NaN, check that the sign bit is flipped
	in both ways.

	[tests] Added talloc-cache to svn:ignore property.

2017-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset.c] In the mpfr_neg test on the sign of NaN:
	C90 compatibility; improved robustness since as specified,
	mpfr_signbit can return any value (not just 0 or 1).

	[src/neg.c] Refactored code (BTW, this was not a bug as the sign of NaN
	is currently unspecified for mpfr_neg).

2017-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug reported by Trevor Spiteri
	(https://sympa.inria.fr/sympa/arc/mpfr/2017-11/msg00003.html)

2017-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	Change the way memory is allocated (as discussed partly in private).
	  * src/mpfr-gmp.c, src/mpfr-gmp.h, src/mpfr-impl.h: update.
	  * src/free_cache.c, src/mpfr.h: added mpfr_mp_memory_cleanup function.
	  * NEWS: describe API change.
	  * TODO: added 2 related items (future clean-up and feature).
	  * doc/mpfr.texi: update.
	  * tests/talloc-cache.c: take API change into account.

2017-11-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated Section "Compatibility With MPF".

	[doc/mpfr.texi] Removed a paragraph from r2962 concerning mpf2mpfr.h
	and mpf_init / mpf_init2: since r2985, the mpf_init / mpf_init2 macros
	initialize to 0 like MPF, so that users shouldn't see differences from
	MPF.

2017-11-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference

2017-11-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Formatting.

	[src/mpfr.h] mpfr_free_cache_t: added comments to show that these are
	flags.

	[doc/mpfr.texi] Updated mpfr_free_cache / mpfr_free_cache2 description.

	[src/free_cache.c] Minor portability improvement for mpfr_free_cache2
	to accept way = 0 (no effect on two's complement machines).

2017-11-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests]
	  * tests.c: for test programs that use GMP's mp_set_memory_functions,
	    tests_rand_start and tests_rand_end also need to be disabled; to do
	    that, require that tests_memory_disabled be set to 2 in this case
	    (the value 1 is already used for the use with mini-gmp, where only
	    tests_memory_start and tests_memory_end need to be disabled).
	  * talloc-cache.c: call tests_start_mpfr and tests_end_mpfr as usual,
	    with tests_memory_disabled set to 2.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Minor change.

	[doc/mpfr.texi] + explicit information on pools (in addition to caches).

	[NEWS,doc/mpfr.texi] mpfr_free_cache2 is a new function in MPFR 4.0,
	as a consequence of shared caches for multithreaded applications.

	[src/free_cache.c] GNU coding style.

	[tests]
	  * Makefile.am: added talloc-cache to check_PROGRAMS.
	  * talloc-cache.c: improved the test allocators so that an incorrect
	    use is detected by this code instead of relying on the C library
	    checking bad use of malloc/realloc/free (which was UB).
	    NOTE: The test currently fails in the trunk due to the mpz_t pool.
	    But anyway, the memory allocation method will change soon.

	[tests/talloc-cache.c] Corrected indentation.

2017-10-30  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved the mpfr_nexttoward description w.r.t. flags.

2017-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added note about mpfr_beta

2017-10-26  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS,doc/mpfr.texi] mpfr_beta is incomplete, experimental.
	See <https://sympa.inria.fr/sympa/arc/mpfr/2017-10/msg00007.html>.

2017-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added functions from C++17

2017-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

2017-10-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_float128.c] Fixed failure in mpfr_get_float128 when called with
	  a very reduced exponent range.
	[tests/tset_float128.c] Also test mpfr_get_float128 in reduced exponent
	  range (triggering a failure before the fix).

2017-10-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": + Check the generic code.

2017-10-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ld.c] Fixed the generic code when called with a very reduced
	exponent range. The tset_ld failure could be triggered on x86 by running
	"./configure ... mpfr_cv_c_long_double_format=unknown".

	[tests/tset_ld.c] Also test mpfr_get_ld in reduced exponent range
	(no failures on x86).

	[src/get_z.c] Fixed failure in mpfr_get_z when called with a very
	  reduced exponent range.
	[tests/tget_z.c] Added tests in the various rounding modes (triggering
	  a failure before the above fix). Also call check_one() on an integer
	  congruent to 1 mod 4 (useful to check even rounding). Fixed 2 issues
	  in the error message (for inex and the flags).

	[tests/tget_z.c] Also test mpfr_get_z in reduced exponent range
	(no failures though its code seems incorrect).

2017-10-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{get_si.c,get_sj.c}] Minor improvement, removing an obsolete note
	in get_sj.c at the same time.

	[src/{get_sj.c,get_uj.c}] Fixed failure in mpfr_get_sj and mpfr_get_uj
	  when called with a very reduced exponent range.
	[tests/tget_sj.c] Added corresponding test cases.

	[tests/tset_si.c] Minor correction in error message.

2017-10-05  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Function multiversioning (FMV): more details.

	[TODO] Mention function multiversioning (FMV).

2017-10-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{get_si.c,get_ui.c}] Fixed failure in mpfr_get_si and mpfr_get_ui
	when called with a very reduced exponent range.

	[tests/tset_si.c] get_tests: added comments and tests in a reduced
	exponent range, which currently trigger an assertion failure.

2017-10-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[NEWS] Mention mpfr_dump.

	[doc/mpfr.texi] Describe the current output format of mpfr_dump.

	[doc/mpfr.texi] Replaced @code by @samp for things that are not
	actually code, but parts of character strings.

2017-09-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/dump.c] mpfr_dump now outputs specific info for invalid data.
	[tests/toutimpl.c] Added mpfr_dump tests.

	[src/dump.c]
	  * Output the sign even for NaN, since this can be useful information
	    (the sign of a NaN has an effect with some functions, following
	    IEEE 754-2008).
	  * This changes allows one to get rid of the mpfr_fprint_binary
	    static function at the same time.

	[src/{dump.c,print_raw.c}] Updated the description.

2017-09-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src] Clean up of debugging output functions:
	  * Replaced the internal function mpfr_fprint_binary by a new
	    internal function mpfr_fdump, similar to mpfr_dump, but with
	    a FILE * argument.
	  * Got rid of mpfr_print_binary entirely (it became internal in
	    r2466 for MPFR 2.0.2, released in 2003).

	Details:
	  * print_raw.c:
	      - moved the mpfr_fprint_binary code to dump.c;
	      - removed mpfr_print_binary.
	  * dump.c:
	      - mpfr_fprint_binary (from print_raw.c) is now defined as static;
	      - added function mpfr_fdump, using mpfr_fprint_binary;
	      - mpfr_dump: use mpfr_fdump instead of the old mpfr_print_binary.
	  * mpfr-impl.h:
	      - replaced mpfr_fprint_binary declaration by mpfr_fdump;
	      - removed mpfr_print_binary declaration.
	  * add1sp.c, mul.c, sub1sp.c: replaced mpfr_fprint_binary by mpfr_fdump
	    and removed the '\n', now output by mpfr_fdump.

2017-09-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added trootn_ui to svn:ignore property.

2017-09-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/toutimpl.c]
	  * Check mpfr_print_mant_binary() too.
	  * GNU coding style.

	[src/print_raw.c] Changes in mpfr_print_mant_binary():
	  * Output a ']' when a '[' was output earlier.
	  * Correction: putchar() takes an int (or unsigned char), not a char.
	  * GNU coding style.

2017-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed .align 64 into .p2align 6 (cf https://trac.sagemath.org/ticket/19233)

2017-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Solve issues with the incorrect use of mpfr_sgn, and make sure
	that this cannot happen again without being detected: on zero, +1 or -1
	was sometimes expected to check the sign of zero, but mpfr_sgn actually
	returned 0, so that the check always succeeded whatever the sign of the
	null result.
	  * mpfr-test.h: define a new mpfr_sgn macro that fails when used on NaN
	    or zero (whose sign is not +1 or -1), except when MPFR_TESTS_TSGN is
	    defined.
	  * tacos.c, tasin.c, tasinh.c, tatanh.c, tcbrt.c, tdim.c, terf.c,
	    texp.c, texp10.c, texp2.c, texpm1.c, tset.c, tset_str.c: replaced
	    the incorrect use of mpfr_sgn; some other related improvements.
	    Note: in tset.c, a "mpfr_sgn (x) < 0" test had to be replaced by
	    "MPFR_IS_POS (x)" since we really want to test whether the sign
	    is positive (not negative).
	  * tdiv.c, tmul.c, tui_div.c: simplified some tests, in particular to
	    avoid a failure with the new mpfr_sgn macro for the tests; here,
	    the use of mpfr_sgn was correct, but one could do simpler.
	  * tgmpop.c: replaced "mpfr_sgn (z)" by "(mpfr_sgn) (z)" to avoid the
	    new mpfr_sgn macro (here, we really want the mathematical sign).
	  * tsgn.c: define MPFR_TESTS_TSGN as the goal of this program is to
	    test mpfr_sgn itself (both the function and the macro in mpfr.h).

	[doc/README.dev] "To make a release": Enhanced step 5 (tarballs).

2017-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch to avoid using the system mpfr.h

2017-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfms.c] Similar changes to what was done in tfma.c:
	  * replaced "mpfr_cmp" by "! mpfr_equal_p";
	  * code formatting (mainly reindentation);
	  * use of SAME_SIGN for better clarity.

	[tests/tfma.c] Similar change to what was done in tfms.c (may be useful
	in the future).

	[tests] Got rid of the use of mpfr_print_binary, in general with
	mpfr_dump. Replaced some "mpfr_out_str (stdout, 2, ...)" by mpfr_dump
	for consistency or as improvements. Some other corrections in the
	related error messages.

2017-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added info about autoconf-archive

2017-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	Old, deprecated macros mpfr_add_one_ulp and mpfr_sub_one_ulp removed.

2017-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Do the tests_start_mpfr / tests_end_mpfr check only if
	the .c file has a main() function; this avoids an error on trootn_ui.c,
	which just does a #include.

	[tests/troot.c]
	  * Use mpfr_set_zero instead of mpfr_set_ui / mpfr_neg (like what was
	    done for the infinity, using mpfr_set_inf).
	  * For exact cases (NaN, ±Inf, ±0), check that the ternary value is 0.

	[tests/troot.c] For the root(±0,k) tests, before calling the function,
	we set the target y to NaN with the wrong sign, so that if the code of
	the function forgets to do something, this will be detected.

	[tests/troot.c] Also check root(+0,42) and root(-0,17) for completeness.

	[tests/troot.c] Really check the sign of the result 0 (the old test
	was always false, thus useless!).

	[doc/mpfr.texi] Updated the month.

	New mpfr_rootn_ui function; mpfr_root deprecated.
	  * src/root.c: mpfr_rootn_ui is now the main code, and mpfr_root calls
	    mpfr_rootn_ui.
	  * src/mpfr.h: added mpfr_rootn_ui prototype; marked mpfr_root as
	    deprecated.
	  * Added tests/trootn_ui.c (includes troot.c).
	  * tests/troot.c: made it usable (via #include) by the new trootn_ui.c
	    test.
	  * tests/Makefile.am: added trootn_ui; at the same time, corrected the
	    order of the test programs (lexicographic, with exceptions).
	  * NEWS, TODO, doc/mpfr.texi: update.

	[tests] Avoid duplicate code by defining the MAKE_STR() macro in
	mpfr-test.h only instead of tgeneric.c and tversion.c.

2017-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": Updated the warning, as the issue
	concerns the .ps file only (the .dvi file has no papersize info).

	[doc/README.dev] "To make a release": Added a warning to check the
	papersize of the generated dvi and ps files, which may be incorrect
	(bug in texinfo(?) reported as Debian bug 874632).

	Switched other gmplib.org URL's to https.

	[doc/mpfr.texi] Updated URL:
	  http://gmplib.org → https://gmplib.org/

	[doc/mpfr.texi] Updated URL:
	  ftp://ftp.gnu.org/gnu/mpfr/ → https://ftp.gnu.org/gnu/mpfr/

	[tools/announce-text] Switched to https for ftp.gnu.org.

2017-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": update about the uploads.

2017-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Completed item on thread-safe DLL (shared library) support.

	[src/mpfr-impl.h] Completed the fix in r11713.

	[src/mpfr-impl.h] Fixed thread-safe DLL support with ICC and MSVC
	on MS Windows without the GMP build directory (r11712 contained
	inconsistent function names, yielding "unresolved external symbol"
	errors in tabort_defalloc1.obj), second try.

	[src] Attempt to fix thread-safe DLL support with ICC and MSVC on
	MS Windows without the GMP build directory. See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00009.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00014.html
	i.e. for the mpfr_allocate_func, mpfr_reallocate_func & mpfr_free_func
	external TLS variables, one does the same thing as what had been done
	for the other ones (__gmpfr_flags, __gmpfr_emin, __gmpfr_emax, etc.).

	[tests] Added tget_q to svn:ignore property.

2017-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] With MPFR_CHECK_LIBC_PRINTF, disable the test of
	the "'" flag with a non-glibc C library (SUS extension in printf).
	In particular, it is not supported by AIX 7.2.

	[src/mpfr-impl.h] In case decimal_point and/or thousands_sep are
	non-single-byte characters (as found on FreeBSD 11 in fr_FR.UTF-8),
	revert to the default value. Added a FIXME to support multibyte
	decimal_point and thousands_sep.

	[tests/tsprintf.c] Formatting.

	[doc/README.dev] Added a paragraph about temporary result files created
	by test programs.

	[tests/Makefile.am] Added tfpif_rw.dat to CLEANFILES.

	[tests] Renamed mpfrtest.txt, mpfrtest.dat and mpfrtest2.dat to
	tfpif_rw.dat, tfpif_r1.dat and tfpif_r2.dat respectively.

	[tests]
	  * toutimpl.c: Changed the filename of the result file like what
	    has been done in other test programs, to make sure that it will
	    not be reused by mistake. Removed comments about tmpname (which
	    does not exist).
	  * Makefile.am: Added this filename to CLEANFILES (even though the
	    file is removed by the test program, an error could occur before
	    its actual removal).

	[tests]
	  * tfprintf.c, tout_str.c, tprintf.c: Do not use the same filename
	    for result files created in these test programs, as this breaks
	    parallel tests (note that such files are used only if /dev/null
	    does not work, so that Unix-like systems were not affected).
	    This should fix the bug reported in
	      https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00000.html
	    as said in
	      https://sympa.inria.fr/sympa/arc/mpfr/2017-09/msg00005.html
	  * Makefile.am: added a CLEANFILES line with these files.

2017-09-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/turandom.c] Added test_underflow().
	(merged changesets r11691-11694 from the 3.1 branch)

2017-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	update

	updated for mpfr-3.1.6-rc1

2017-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Run tools/ck-version-info.

	[tools/mpfrlint] Updated a message due to the change in r11673.

	[doc/README.dev] "To make a release": The DLL version may need to be
	updated too.

	[configure.ac] Added a comment about the DLL version.

	[configure.ac] Updated DLL version to 6 (cur - age).

	[tools/{ck-copyright-notice,ck-inits-clears}] Ignore Emacs lock files
	(symbolic links) to avoid a failure when a file is being edited.

	[tools] Clean up.
	  * Renamed check_inits_clears to ck-inits-clears (the other "check"
	    scripts have a name starting with "ck-").
	  * mpfrlint: updated the invocation of this test, simplifying it to
	    make it similar to the other ones (it was based on old code).

2017-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/turandom.c] Disabled the reprod_abi test with GMP < 4.2.0
	since the hardcoded values would be different.

2017-08-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Replaced
	  (MPFR_LIKELY(expr)) || (ASSERT_FAIL(expr),0)
	by
	  (MPFR_LIKELY(expr)) || (ASSERT_FAIL(expr),MPFR_ASSUME(expr),0)
	as a workaround to the fact that mpfr_assert_fail is not marked as
	"no return" (bug 21415). Thus, after this code, expr must be true.

	[tests/turandom.c] Check that the behavior does not depend on the
	platform ABI or MPFR version.

	[tests/turandom.c] Corrected error messages after r11661.

	[tests/turandom.c] Renamed "reprod" to "reprod_rnd_exp" (reproducibility
	test with several rounding modes and exponent ranges), because a second
	reproducibility test will be added.

	[tests/turandom.c]
	  * In underflow_tests, test the flags in all cases (not just when the
	    returned result is 0), possibly by first computing the result in a
	    large exponent range.
	  * Since the flags are now well tested in underflow_tests, no longer
	    test them in the second test of test_urandom for k = 0, which was
	    the incorrect test that was failing (see r11659).

	[tests/turandom.c] Do some test several times in order to trigger
	a "mpfr_urandom() returns incorrect flags for emin = 1" failure
	when GMP_CHECK_RANDOMIZE is not set (default).
	Note: It is this test that is actually wrong (it corresponds to the
	old behavior, currently found in the 3.1 branch, and was not updated
	after the mpfr_urandom code was fixed).

	[tests/turandom.c] Code formatting. Added an assertion.

2017-08-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/turandom.c] Check that the behavior of mpfr_urandom() does not
	depend on the rounding mode.

	[doc/mpfr.texi] Completed the description of mpfr_urandom.

	[src/urandom.c] Completed comment.

2017-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/turandom.c] In bug20170123, use a local gmp_randstate_t variable
	instead of mpfr_rands, due to the gmp_randseed_ui (see r11653).

	[tools/mpfrlint] Detect the use of gmp_randseed* functions on mpfr_rands
	(this is bad practice: this would affect later tests, defeating the
	purpose of GMP_CHECK_RANDOMIZE; another gmp_randstate_t variable should
	be used instead of mpfr_rands).

	[tests/{mpfr-test.h,tests.c}] Got rid of __gmp_randstate_struct, which
	is internal to GMP: its use came from very old code (r2330 in 2003-06)
	and it is no longer needed.

	[tests/turandom.c] Disabled a test with GMP < 4.2.0 since it depends on
	a specific behavior of the random generator, which changed in GMP 4.2.0
	(the test would probably fail with such old GMP versions).

	[src/urandom.c] Partly rewrote mpfr_urandom() so that the next
	  random state no longer depends on the current exponent range
	  and the rounding mode, and that the exceptions due to the
	  rounding of the random number are now correctly generated.
	[doc/mpfr.texi] Updated the mpfr_urandom() documentation and
	  updated Section "API Compatibility / Changed Functions" to
	  mention the change in MPFR 4.0.
	[NEWS] Mentioned the change for MPFR 4.0.

2017-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/urandom.c] Minor change about underflow, following the usage.

	[tests/turandom.c] Added inex test for the underflow & overflow tests.

	[tests/turandom.c] Added overflow tests.

	[tests/turandom.c] Indentation.

	[tests/turandom.c] Added underflow tests.

	[tests/turandom.c] With mini-gmp, omit another test that assumes
	a deterministic random generator.

	[src/urandom.c] Bug fix: the inexact flag was not set on underflow.

	[tests/turandom.c] Added tests of the flags. This currently yields
	a failure (inexact flag not set on underflow).

	[tests/turandom.c] Added a test of the underflow flag.

2017-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/urandom.c] Set the underflow flag if the drawn exponent is less
	than emin. This corresponds to "underflow before rounding" while the
	normal rule in MPFR is "underflow after rounding". Thus this needs to
	be fixed.
	Note: This simple change has been done so that it can be merged with
	the 3.1 branch. But this will not be fixable in the 3.1 branch since
	the significand is not drawn in this case, and drawing the significand
	to determine whether there is an underflow would change the state of
	the PRNG at the end of the function, breaking the ABI and the users'
	expectations.

	[src/urandom.c] Updated comments about overflow and its flag.

	[src/urandom.c] Simplified the code, but, except for precision 1,
	without changing the state of the PRNG.
	Note: The code could be simplified even further, but the goal of the
	current change is to allow it to be merged with the 3.1 branch (where
	precision 1 is not supported) without too many conflicts.

	[src/urandom.c] Moved some code without consequences. Updated comments.

	[src/urandom.c] Useless parentheses; reformatting.

2017-08-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_float128.c] No longer depend on the native FP type "double"
	(via mpfr_set_d), avoiding the usual precision issues with the x87
	traditional FPU in particular. Use the internal representation with
	limbs, instead. The code is simpler and should also be faster.
	Note: together with r11627, this avoids the tset_float128 failure
	with the "-m32 -mpc32" GCC options.

	[src/get_float128.c] Removed variable z (no longer useful).

	[src/get_float128.c] No longer depend on the native FP type "double"
	(via mpfr_get_d), avoiding the usual precision issues with the x87
	traditional FPU in particular. Use the internal representation with
	limbs, instead. The code is simpler and should also be faster.

2017-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_float128.c] Fixed the remaining cases of mpfr_get_float128
	(when the value is below the smallest subnormal in absolute value).

	[src/get_float128.c] Partly fixed mpfr_get_float128 when it underflows.
	[tests/tset_float128.c] Added tests for small values, in particular
	  involving underflows (and subnormals).

2017-08-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_float128.c] Reverted r11623 (a note mainly for the 3.1 branch,
	which actually doesn't support __float128).

2017-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_float128.c] Updated the FIXME.

2017-08-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_float128.c] Added a FIXME after a bug report by Rob:
	https://sympa.inria.fr/sympa/arc/mpfr/2017-08/msg00003.html

2017-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Section "Getting the Best Efficiency Out of MPFR" moved
	from "Installing MPFR" to "MPFR Basics". Added corresponding node.

2017-08-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new section "How to get the best out of MPFR"

2017-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a FIXME about memory allocation.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Removed obsolete comments.

	[doc/mpfr.texi] Updated paragraph on the MPFR formatted output functions
	and overflow on the return type int.

2017-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention the use of the old dtags under Linux (see r11588).

	[src] Moved mpfr_vasprintf from vasprintf.c to printf.c and updated
	file descriptions for consistency (vasprintf.c should probably be
	renamed later to something like printf_aux.c).

	[src/printf.c] Updated a comment (taking r11269 into account).

	[src/vasprintf.c] Added an assertion.

	[src/vasprintf.c] Completed mpfr_vasnprintf_aux description.

2017-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tstdint.c,tvalist.c}] Include "mpfr-test.h" instead of
	"mpfr-impl.h" (this is done only when compiling with mini-gmp).

	[tools/mpfrlint] Detect "mpfr-impl.h" inclusion by the test programs:
	"mpfr-test.h" should be included instead; otherwise __MPFR_WITHIN_MPFR
	will be defined, yielding failures under MS Windows with DLL.

2017-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

2017-07-28  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added important details for the example from r11595.

2017-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Minor changes.

	[doc/mpfr.texi] Updated the month.

2017-07-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed FIXME related to r11595

2017-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added FIXME on example from r11595.

2017-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added example showing how to emulate fixed-point arithmetic

2017-07-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sin_cos.c] Avoid integer overflows with precision 1100000 and
	the 32-bit ABI (32-bit long), fixing bug reported by Simon Byrne:
	https://sympa.inria.fr/sympa/arc/mpfr/2017-07/msg00002.html

	[tests] Re-indented some RND_LOOP / RND_LOOP_NO_RNDF blocks.

	[configure.ac] Under Linux, make sure that the old dtags are used
	if LD_LIBRARY_PATH is defined, avoiding the following issue:
	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859732
	  https://lists.gnu.org/archive/html/libtool/2017-05/msg00000.html
	(merged changeset r11587 from the 3.1 branch)

2017-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Forgot casts for printf in r11585.

	[tests/tversion.c] Added ABI information & tests.

2017-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/subnormal.c] Correction in comment (English).

2017-06-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c]
	  * Better organization; moved MPFR patches info below MPFR version.
	  * Output __GMP_CC and __GMP_CFLAGS values.
	  * Output GMP ABI info (to be completed with MPFR ABI info).

2017-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved some AC_DEFINE comments.

	[doc/README.dev] Added quotes for clarity.

	[tests/mpf_compat.h] Always use stdout for failure messages.

	[src/get_str.c] Improved comments (avoid the confusion between a
	negative base argument and a negative base).

2017-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Punctuation.

2017-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_get_q in Added Functions

	src/get_str.c: fixed for negative base
	tests/tget_str.c: added tests for negative base

	tests/mpf_compat.h: non-regression tests for bugs fixed in revision 11565

	src/get_str.c: allow -36 <= b <= -2 too (work in progress) with the same
		       meaning as in mpf_get_str

	fixed a bug in mpfr_mul for RNDF when Mulders' algorithm is used
	(and resolved a FIXME)

2017-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrected mpfr_get_q documentation.

	[src/get_q.c] Added assertions to detect integer overflows, in case
	mpfr_exp_t is larger than mp_bitcnt_t.

2017-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	src/mpf2mpfr.h: replaced __MPFR_GMP (requires internal mpfr-gmp.h)

	src/mpf2mpfr.h: fixed fits_s* functions and get_si

	use macro __MPFR_GMP

	added new function mpfr_get_q

	src/mpf2mpfr.h: added mpf_cmp_z (appeared in GMP 6.1.0)

2017-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[Makefile.am] Put doc/README.dev in EXTRA_DIST to provide this file in
	  tarballs too (it is not installed by "make install", though), since
	  it contains information that may be useful for users of tarballs and
	  various distributed files mention it.
	[README] Update about the "doc" directory and "doc/README.dev".

	[doc/README.dev] More information about the DEBUG macro.

	[doc/mpfr.texi] Updated the month.

	Update about MPFR_RNDF (faithful rounding):
	  * NEWS: mention that it is partially supported (should be updated
	    once MPFR_RNDF is completely supported).
	  * TODO: moved an item to the right place (MPFR_RNDF is not removed
	    from the TODO because it is not completely supported yet).
	  * doc/mpfr.texi: added a FIXME about the partial support.

2017-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{atanh.c,log1p.c}]
	  * Replaced mpfr_get_exp by MPFR_GET_EXP (so that the exponent is
	    checked with --enable-assert).
	  * For a test, doing the division first should be better.

2017-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved log1p and atanh for small inputs

	added expm1 to mbench

	added log1p to mbench

2017-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	Removed trailing spaces.

	[tests] Code simplification and improvement by using SAME_VAL().

	[tests/tbeta.c] Replaced not_same() by the simpler ! SAME_VAL().

	[src/sum.c] Code reindentation due to a new test for MPFR_RNDF support,
	and other minor changes in formatting and comments.

	[doc/sum.txt] Typo in the MPFR_RNDF text.

	Merged the "faithful" branch into the trunk:
	faithful rounding (MPFR_RNDF).

	[tests/tgeneric.c] For MPFR_RNDF, replaced EQUAL() by SAME_VAL(),
	which also tests the sign (to distinguish +0 and -0).

	[tests/tui_sub.c] Avoid a failure in 32-bit ABI by replacing
	RND_LOOP by RND_LOOP_NO_RNDF.

	Merged the latest changes from the trunk.

2017-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new reference

2017-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Fixed setlocale usage (problem detected with MinGW)
	by not using the returned string any longer. Indeed, ISO C99 says that
	this string "may be overwritten by a subsequent call to the setlocale
	function".

	[src] Moved "#include <errno.h>" from printf.c to vasprintf.c
	(this should have been done in r5230, where EOVERFLOW was moved).
	This fixes the "Got r = -1, errno = 0" errors in tprintf with
	MPFR_CHECK_LARGEMEM=1.

	[src/vasprintf.c] Added overflow detection at the end (due to the switch
	to mpfr_intmax_t for the string length in the string_buffer structure,
	it was no longer detected; however, this bug was not normally visible in
	the tests because here, a negative value was returned thanks to wrapping
	in a type conversion and the negative value was changed to the expected
	-1 value in printf.c).

	[src/vasprintf.c] Added log messages.

	[src/vasprintf.c] In case of overflow, do not stop before everything has
	been processed, allowing the %...n arguments to be filled, as decided.

	[tests/tprintf.c] check_long_string() error handling: initialize n2 to
	an invalid value and do all tests before exiting.

	[src/vasprintf.c] Fixed some parts of overflow tracking.

	[tests/tprintf.c] More detailed error message.

	[tests/tprintf.c] Added tests with %ln.

	[tests/tprintf.c] Improved check_vprintf_failure().

	[src/vasprintf.c] Fixed the handling of the 'n' format specifier
	  for size = 0, still allowing its support in case of overflow on
	  the return value (i.e. when the number of characters that would
	  have been output is > INT_MAX).
	  Note: full support in case of overflow is still limited by GMP
	  and the C library.
	[tests/tprintf.c] Increased the memory needed in check_long_string().

2017-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-intmax.h] Define mpfr_uintmax_t and MPFR_INTMAX_MAX too.
	However, this will not necessarily be used by src/vasprintf.c, as
	this can be regarded as an EOVERFLOW error for which the behavior
	on the %...n values is not specified, i.e. we may not need to
	support size values larger than INT_MAX.

2017-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] In a macro definition, changed a parameter to
	lowercase so that it doesn't look like a constant to mpfrlint.

	[src/vasprintf.c] Added a FIXME for the percent_n() / mixed() bug due
	to the 'n' format specifier with size = 0. The way to fix this issue
	depends on the specifications in case of overflow on the return value,
	and for POSIX, they are unclear. Waiting for comments...

	[src/mpfr-intmax.h] Define mpfr_intmax_t as being the largest
	signed integer type available for the MPFR build. It will be
	useful for the formatted output functions (src/vasprintf.c) to
	handle the 'n' format specifier, assuming that the value may
	be larger than INT_MAX, which is possible assuming that the
	C standard has a defect in the corresponding specification:
	https://sourceware.org/bugzilla/show_bug.cgi?id=21360

	[tests/tsprintf.c] Added explanation for the bugs triggered by
	percent_n() and mixed().

	[tests/tsprintf.c] Added percent_n() test to reproduce the bug found
	in mixed(), test without random data.

	[src/vasprintf.c] In partition_number(), complete check for overflow
	on total.

	[src/vasprintf.c] Partially fixed check for integer overflow when
	the long and int types have the same size.

	[src/vasprintf.c] With assertions enabled, check that the number of
	characters to be written computed in partition_number() corresponds
	to what is really written.

	[src/vasprintf.c] Fixed the bug triggered by the da_DK locale test: the
	computation of the number of characters to be written was incorrect in
	partition_number() when the thousands separator was not empty. This bug
	was visible with size = 0 and could be visible near overflow on the
	number of characters.
	Note: the buggy code was introduced in r5288 (2008-02-15), which fixed
	other issues with the thousands separator.

	[tests/tsprintf.c] Do more tests in the da_DK locale (these are the
	only tests for which the thousands separator is not empty).

	[tests/tsprintf.c] Do more tests involving check_sprintf() in a loop
	(to test mpfr_snprintf with size = 0 more often), and call mixed()
	later in order to get failures without the use of %n first.

2017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	get rid of computations with 'double' in mpfr_zeta

2017-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Added a TODO about %n test.

	[doc/README.dev] Added MPFR_TESTS_FPE_TRAP documentation.

	[tests/tests.c] Corrected comment about MPFR_TESTS_FPE_TRAP.

	Renamed MPFR_TESTS_DIVBYZERO to MPFR_TESTS_FPE_DIV (less confusing).
	In doc/README.dev, updated the corresponding description.

	[tests] Renamed MPFR_RAISE_EXCEPTIONS to MPFR_TESTS_FPE_TRAP.

	[tests] Got rid of MPFR_TESTS_EXCEPTIONS (added in r11489 and above),
	which is redundant with MPFR_TESTS_DIVBYZERO and MPFR_ERRDIVZERO. The
	code related to these exceptions is now like r11488 (see the output of
	"svn diff -r11488"), but keeping the following changes:
	  * Missing !defined(MPFR_ERRDIVZERO) tests added in r11498,11499.
	  * In tests.c:
	      - code related to traps (macro MPFR_RAISE_EXCEPTIONS, which will
	        be renamed);
	      - more detailed output about which FP exceptions occurred;
	      - removal of "#ifdef MPFR_ERRDIVZERO" (as in r11493), as this is
	        better with Automake 1.13+ (required by MPFR since r9375).
	Note: EXCEPTIONS_FLAG renamed to FPE_FLAGS, since EXCEPTIONS_FLAG is
	reserved by ISO C when <errno.h> is included.

	[tests/tsprintf.c] Do the locale_da_DK() test several times to yield
	a failure by default once the bug triggered by mixed() is fixed.

	[tests/tsprintf.c] Updated comment about r11501: the failure occurs
	with %n when the size argument of mpfr_vsnprintf is 0.

	[tests/tsprintf.c] Do more tests with %n. One now gets a failure
	by default (which occurs when one gets randsize <= 0).

	[tests/tsprintf.c] Fixed portability issues: The va_end(3) man page
	of Linux Programmer's Manual says: "On some systems, va_end contains
	a closing '}' matching a '{' in va_start, so that both macros must
	occur in the same function, and in a way that allows this."

	[tests/tget_set_d64.c] Disable tests with a division by 0 (which now
	occurs only with -DXDEBUG) if MPFR_ERRDIVZERO is defined.

	[tests/tset_ld.c] Disable an overflow test with a division by 0
	(now occurs only with -DXDEBUG) if MPFR_ERRDIVZERO is defined.

	[doc/README.dev] Details for "-DMPFR_TESTS_DIVBYZERO -DMPFR_ERRDIVZERO".

	[tests/tsprintf.c] In mixed(), initialize n2 to an invalid value
	in order to ease failure analysis.

2017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed leftover debug statement in last commit

	fix for clang bug (https://bugs.llvm.org//show_bug.cgi?id=17686)

2017-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Change for MPFR_TESTS_DIVBYZERO: in case of FE_DIVBYZERO
	or FE_INVALID, fail unconditionally, not just when MPFR_ERRDIVZERO is
	defined, otherwise one cannot see the output about the floating-point
	exceptions with "make check" (the test of MPFR_ERRDIVZERO here should
	have been removed after switching to Automake 1.13, which discards the
	output when the test program succeeds).
	Note: defining MPFR_TESTS_DIVBYZERO without MPFR_ERRDIVZERO is just for
	debugging.

2017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on MPFR_TESTS_EXCEPTIONS

2017-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Re-added code testing FE_DIVBYZERO and FE_INVALID with
	-DMPFR_TESTS_DIVBYZERO -DMPFR_ERRDIVZERO, because MPFR_TESTS_EXCEPTIONS
	is not ready yet.

	[tests/tversion.c] Output IEEE floats status.

2017-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check for fp exceptions (experimental)

2017-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cmp2.c] Added/updated comments.

	[tests/tcmp2.c] Added tests with equal numbers, possibly of different
	sizes.

	[src/cmp2.c] Corrected comments.

	[tools/mpfrlint] In the detection of reserved macro names, skip ERR
	from src/mpfr-gmp.h (this is a special case).

	[tests/tget_set_d64.c] Made PRINT_ERR_MISC more robust.

	[tests/*.c] Renamed the remaining macros whose names are reserved
	by ISO C when <errno.h> is included.

2017-05-16  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/texceptions.c] Made code formatting consistent.

	[tests/*.c] Renamed "ERROR" macro (macro name reserved by ISO C
	when <errno.h> is included) to "PRINT_ERROR", and made the macro
	more robust.

	Define the EXP() macro in src/mpfr-gmp.h only when needed (macro name
	reserved by ISO C when <errno.h> is included).

	[src/gamma.c] Got rid of the EXPM1_STR macro (macro name reserved
	by ISO C when <errno.h> is included), made no longer interesting by
	using mpfr_set_str_binary only once and another temporary variable.
	At the same time, replaced the usual allocation by a GROUP allocation
	(more efficient).

2017-05-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcheck.c] Code reformatting (GNU coding style).

	[tests/tcheck.c] Renamed "ERROR" macro (macro name reserved by ISO C
	when <errno.h> is included) to "PRINT_ERROR".

	Do not define macro names starting with "SIG" (+ uppercase letter)
	as they are reserved when <signal.h> is included (ISO C, 7.31.7),
	which happens to be the case in tests/tests.c, which also includes
	tests/mpfr-test.h and src/mpfr-impl.h indirectly.
	  * src/mpfr-impl.h, tests/mpfr-test.h: renamed macros:
	      SIGN → VSIGN
	      SIGN_RAND → RAND_SIGN
	  * {src,tests}/*.{c,h}: updated the names in the use of these macros.

	[tools/mpfrlint] Added a comment about the definition of reserved
	identifiers (in particular, macro names).

	[tools/mpfrlint] Detect the definition of reserved macro names.

	[src/bernoulli.c] Changed isprime to is_prime in order to avoid obscure
	problems if <ctype.h> is added to mpfr-impl.h in the future (or if this
	function is made external). See ISO C "Future library directions",
	Clause 7.31.2 "Character handling <ctype.h>".

2017-05-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Improved comments about assertions and MPFR_ASSUME().

2017-05-09  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Mention the problem when almost all the tests fails with a
	message "Incorrect MPFR version! ...".

	Increase the buffer sizes even more, and added a comment. This may
	be better in case of quick future changes (possibly for debugging),
	without checking carefully. For the tests, optimal code is useless.

2017-05-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bugs found by gcc 7.1.0 (-Werror=format-overflow=)
	[VL] The MPFR code was correct. This is actually a bug in GCC:
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79257

2017-05-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc] Updated FAQ.html with update-faq.

2017-05-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/timp.h] Updated TIMP_MEASURE() to handle the case where
	the return value is 0: this probably means that timp_overhead was too
	large and incorrect. In this case, TIMP_OVERHEAD() is called again to
	recompute timp_overhead and the timing is redone.
	Note: if we do not call TIMP_OVERHEAD() again, then TIMP_MEASURE()
	loops indefinitely, meaning that timp_overhead was really too large.

	[tools/mbench/timp.h] Comment at the wrong place. Fixed.

	[tools/mbench/timp.h] Added a comment about r11458.

2017-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/timp.h] Fixed overflows on unsigned arithmetic.

	[tools/mbench/mfv5.h] Increased values from 2^60-1 to 2^64-1
	(it is possible to get more than 2^60-1 cycles in practice!).

	Merged the latest changes from the trunk, including some old changesets
	related to mpfr_zeta that were skipped, resolving conflicts. Added RNDF
	support to new code introduced by this merge:
	  * mpfr_mul_1n in src/mul.c (from r11281);
	  * mpfr_sqr_1n in src/sqr.c (from r11283);
	  * mpfr_div_1n in src/div.c (from r11284);
	  * mpfr_sqrt1n in src/sqrt.c (from r11293).

	Merged r11198-11280 from the trunk; no conflicts but additional changes:
	  * About r11271 (src/add1sp.c), which introduces new special code
	    (function mpfr_add1sp1n), handle MPFR_RNDF in the same way as done
	    in similar existing special code (mpfr_add1sp1 and mpfr_add1sp2).
	  * In mpfr_add1sp3, do the same thing (this should have been done in
	    r11172, where this function was introduced via a merge).
	  * About r11279 (src/sub1sp.c, tests/tsub1sp.c), which introduces new
	    special code (function mpfr_sub1sp1n), do the same thing.
	    In tests/tsub1sp.c, s/RND_LOOP/RND_LOOP_NO_RNDF/ as usual to avoid
	    a failure.
	  * Note: concerning mpfr_sub1sp3, RNDF support was added at the same
	    time of the merge in r11179.
	  * Some style changes related to RNDF, in particular for consistency.

	Merged r11197 from the trunk, resolving the conflict.

	Merged r11179-11196 from the trunk (no conflicts).

2017-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma.c] Clarified proof for tiny arguments again.

	[src/gamma.c] Clarified proof for tiny arguments.

	[src/gamma.c] In the proof for tiny arguments:
	  * Simplification suggested by Paul.
	  * Attempt to clarify the end.

2017-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment

	added reference for mbench (rdtsc vs rdtscp)

2017-04-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma.c] Tiny arguments: corrected a typo and added a TODO
	(one might get a better condition).

	[src/gamma.c] Corrections in a proof for tiny arguments. Added a TODO.

2017-04-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update about the MPFR_GENERIC_ABI macro.

	[src/sqr.c] Corrected a comment.

	[src/sqrt.c] Blank line like in add1sp.c, sub1sp.c, etc.

	[src/sqr.c] Blank lines and comment like in add1sp.c, sub1sp.c, etc.

	[src/mul.c] Like in add1sp.c and sub1sp.c, do not define the specific
	functions for low precision if MPFR_GENERIC_ABI is defined (they are
	not called in such a case).

	[src/sub1sp.c] Added blank lines for readability (like in add1sp.c).

	s/interruption/interrupt/

	[mbench] Updated copyright years. Added a comment.

2017-04-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	better detection of rdtscp

2017-04-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Updated a comment, with reference to GCC bug 80454.

2017-04-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] Avoid integer overflow from r11411 with 32-bit long.

2017-04-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Updated test to check that the snprintf function (C99)
	is not used.

	[doc/mpfr.texi] Corrected an English error.

	[src/vasprintf.c] Fixed bug triggered by the test added in r11428:
	the size field of struct printf_spec must have type size_t, not int,
	because the size argument of mpfr_snprintf has type size_t.

	[tests/tsprintf.c] Added a test that fails on 64-bit machines
	(4-byte int, 8-byte size_t), due to the use of mpfr_snprintf
	with required size = (size_t) UINT_MAX + 1.

	[src/vasprintf.c] Minor changes.

	[src/vasprintf.c] Comment re-indentation.

	[src/ubf.c] Renamed mpfr_get_zexp to mpfr_init_get_zexp for clarity.

2017-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fixed silly typo in MPFR_UBF_CLEAR_EXP() yielding
	either an obscure memory leak or a crash in some mpfr_fmma calls.
	We would really need formal proofs on the code... Or avoid macros.

2017-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tfmma.c] added one test

	[tests/tfmma.c] fixed test

2017-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1.c] Updated comment about underflow.

	[src/add1.c] Handling of UBF and overflow/underflow.
	  * Added a MPFR_ASSERTD related to the overflow code.
	  * Bug fix: handle underflow, possible if UBF input(s).

2017-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tfmma.c] added another test (currently fails)

2017-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Bug fix: underflow was not detected in the case cancel = 0
	with UBF numbers. At the same time, refactored the related code a bit.

	[tests] Added tbeta to svn:ignore property.

	[doc/mpfr.texi] Formatting of the mpfr_can_round example for 80-column
	terminals + GNU coding style.

	[tests/tfmma.c] Updated comment about bug20170405 (fixed in r11414).

	[src/sub1.c] Also corrected the comment about overflow detection.

	[src/sub1.c] Really fixed overflow detection (r11412 is broken).

	[src/sub1.c] Fixed/improved UBF cases.
	  * Added an assertion (usual MPFR limitation with huge precisions,
	    affecting 32-bit ABI only in practice).
	  * Fixed overflow detection.

	[tests/tprintf.c] In check_long_string(), which is called when
	MPFR_CHECK_LARGEMEM is defined, increase tests_memory_limit if need be
	in order to avoid an obvious failure due to insufficient memory.

	[tests/memory.c] Write all error messages to stderr in order to make
	sure that they remain visible when the standard output is redirected
	(e.g. in tprintf). Rewrote the messages in a consistent way.

	[tests/tfmma.c] Fixed return type of test added in r11407.

	[tests/tinits.c] When MPFR_CHECK_LARGEMEM is defined, increase
	tests_memory_limit if need be in order to avoid an obvious failure
	due to insufficient memory.

2017-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test that triggers an error
	(see https://sympa.inria.fr/sympa/arc/mpfr/2017-04/msg00016.html)

2017-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] More details about errno.

2017-04-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a paragraph about the use of errno.

	[doc/mpfr.texi] Details about EOVERFLOW.

2017-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tstrtofr.c] added test in bug20161217()

2017-04-03  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Update about functions returning a native floating-point value
	and underflow/overflow.

	[src/atanh.c] Removed comment giving the "optimal" working precision
	(I do not see any proof in algorithms.tex, and it seems incorrect).

	[TODO,src/log1p.c] log1p(x) on small x should also be improved instead
	of computing log(1+x).

	[TODO,src/atanh.c] Suggest a faster formula for atanh(x) on small x.

	[src/atanh.c] Cosmetic changes (comments and whitespace).

	[TODO] Update about ERANGE.

2017-03-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tbeta.c] Fixed a macro (use of mpfr_printf, missing cast).

2017-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention how to find the full list of bug fixes.

	[tests/tstrtofr.c] Updated comments about bug20161217 and bug20170308.

	[tests/tstrtofr.c] Added comments about bug20161217 and bug20170308.

	[tests/tstrtofr.c] Updated comment: bug20170308 checks the same bug
	as bug20161217.

	[doc/mpfr.texi] Updated the month.

2017-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added non-regression test

2017-03-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] results should not depend on machine rounding mode/precision

2017-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Minor corrections.

2017-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added a comment about shiftq.

2017-02-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tbeta.c] C89 compatibility and some code reformatting.

	[src/beta.c] Slightly improved comments.

	[src/beta.c] Fixed a bug in reduced exponent range (not detected by
	the current tests).

	[src/beta.c] Added a comment for Beta(0,negative integer).

	[src/beta.c] Eventually fixed the case z or w is 0 (note: r11374
	did also other unwanted changes, reverted here).

	[src/beta.c] Reverted my changes (this was incorrect).

	[src/beta.c] Fixed special cases.

	[src/beta.c] Added comments and some corrections (incomplete) for the
	case "z or w is 0".

2017-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/beta.c] fixed case z or w is 0

	[tests/tbeta.c] patch from Cade Brown
	- signed zeros are checked in is_same
	- the case above (summing non-integer negative z, w which sum to a negative integer)

2017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] added mpfr_beta in "Added Functions"

2017-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Use MPFR_ADD_PREC.

	[src/beta.c] Updated comments; added a FIXME.

2017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/jn.c] in case the first Ziv loop failed, take into account the number of
		   lost bits

2017-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/beta.c] Use MPFR_ARE_SINGULAR.

2017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/beta.c] fix in case z and w are not integers and z+w is a nonpositive integer

	[src/odd_p.c] new source file

	[src/Makefile.am] new file odd_p.c
	[src/beta.c] fixed bug
	[src/mpfr-impl.h] renamed mpfr_is_odd into mpfr_odd_p
	[src/pow.c] moved mpfr_is_odd (renamed mpfr_odd_p) into separate file

2017-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/beta.c] Added a FIXME (test failure with assertions).

	[src/beta.c] Removed an unusual space.

	[tests/tbuildopt.c] Added calls to tests_start_mpfr and tests_end_mpfr.

	[tools/mpfrlint] Added a test to check that the usual test programs
	call tests_start_mpfr and tests_end_mpfr.

2017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/beta.c] several fixes
	[src/pow.c] renamed is_odd to mpfr_is_odd, and export it
	[src/mpfr-impl.h] export mpfr_is_odd as internal function
	[tests/tbeta.c] added generic tests

2017-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tbeta.c] Added missing void in prototype.

	Removed trailing spaces.

	[tests/tbeta.c] Fixed the usage of MPFR types.

	[tests/tbeta.c] Minor correction. Added a FIXME and a TODO.

2017-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tbeta.c] GNU style and C89 portability

	[TODO] removed beta entry

	new function mpfr_beta

	[tests/tbeta.c] test file for mpfr_beta, contributed by Cade Brown from
			ChemicalDevelopment (this commit is the file as it was
			contributed, except the mpfr-test.h include)

2017-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/beta.c] Portability corrections.

2017-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/beta.c] fix for exact case beta(1,2^k) for k negative integer

	[src/beta.c] special values are now implemented (should be reviewed)

2017-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] mpfr_root: replace "obsolete" by "deprecated" (the right word).

	[TODO] Update about rootn.

	[TODO] Added some propositions about rootn.

2017-02-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/root.c] added comment

	added reference

2017-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/beta.c] Call mpfr_check_range as usual.

	[src/beta.c] Extended the exponent range for the generic case.

	[src/beta.c] Added a comment.

	[src/beta.c] Various code improvement / fixes.

	[src/beta.c] Added a FIXME.

2017-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/beta.c] added beta function (work in progress, not yet fully implemented,
		     and not tested)

2017-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fmma.c] speedup of mpfr_fmma and mpfr_fmms

	[src/fma.c] speedup of mpfr_fma when all operands have the same precision
		    (less than one full limb)

2017-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Note that the position of "const" in the mpfr_sum prototype
	has been fixed (in case writers of interfaces for MPFR use that).

	"a IEEE 754r decimal64 float" → "an IEEE 754-2008 decimal64 float".

2017-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fma.c] speedup mpfr_fma for 1 limb

	754R -> 754-2008

2017-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces.

	[src/vasprintf.c] Solved the FIXME for %g on easy cases.

2017-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta.c] mpfr_reflection_overflow: reverted r11322 as the rounding
	direction was correct; it was a comment that was incorrect, now fixed.

	[src/zeta.c] mpfr_reflection_overflow: fixed a rounding direction.

	[src/zeta.c] Improvements of mpfr_reflection_overflow:
	  * Moved identical parts of the code at the beginning of if/else blocks
	    as a single part before the "if".
	  * When the rounding mode doesn't matter (exact result), use MPFR_RNDN.
	  * Updated comments (making them more consistent at the same time).

2017-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/zeta.c] added more comments for the overflow case

2017-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added a note about why one uses "const mpfr_ptr *x" in the
	  prototypes instead of "const mpfr_srcptr *x" (old info from r5381).
	[doc/sum.txt] Fixed the const position (see r11316) and added this note.

	[src/{mpfr-impl.h,mpfr.h}] Code reformatting and other cosmetic changes.

	[doc/mpfr.texi] For mpfr_sum, changed "mpfr_ptr const" to the equivalent
	"const mpfr_ptr" (usual style, less confusing).

	For mpfr_sum and its auxiliary functions, moved the const type qualifier
	to the right place (mpfr_ptr *const → const mpfr_ptr *). This bug had
	been introduced in r3642 (2005-06-10).

2017-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta.c] mpfr_reflection_overflow: added comments and FIXME's;
	fixed obvious typos in a comment and the code.

	[src/zeta.c] mpfr_reflection_overflow: typo in a comment.

	[src/zeta.c] Untabified.

	[src/zeta.c] mpfr_reflection_overflow: added an assertion and a comment.

	[src/vasprintf.c] Added a comment in a FIXME.

	[src/vasprintf.c] Added MPFR_ASSERTD's.

	[src/vasprintf.c] Avoid some potential integer overflows.

2017-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/zeta.c] improved overflow detection

2017-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Added FIXME's: possible integer overflows.

2017-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fix for mpfr_zeta overflow on 32-bit computers

2017-02-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqr.c] revert detection of leading bit in sqr_1 and sqr_2
		    (not clear it is faster)

2017-02-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Added a mpfr_snprintf test with a null pointer,
	"%#.*RDg" and a large precision (it currently takes too much memory,
	like the similar ones).

	[src/vasprintf.c] Added a FIXME for %g on easy cases (too much memory).
	[tests/tsprintf.c] Added corresponding tests.

2017-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Fix for mpfr_snprintf with size=0: do not allocate
	a buffer for the output if not needed. This really fixes bug #21056.
	The case size_t < unsigned int could not be solved completely due to
	limitations from the C standard and GMP.

	[src/sqrt.c] Avoid a warning due to an unused variable with
	MPFR_GENERIC_ABI defined or GMP_NUMB_BITS != 64.

	[src/sqrt.c] Added MPFR_ASSERTD's from comments.

2017-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tzeta.c] interm_overflow -> intermediate_overflow

2017-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta.c] Updated a FIXME.

2017-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved detection of fmma and fmms

	[src/zeta.c] fixed long-standing failure in tzeta

2017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] fixed a bug, and simplified code (sb=0 implies rb=0)

2017-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Updated FIXME.

2017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] new code for prec=GMP_NUMB_BITS

2017-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Moved the size_t vs int FIXME, with details added.

	[src/vasprintf.c] Added a MPFR_ASSERTN for security.

	[src/vasprintf.c] Added a FIXME for the case size_t < unsigned int.

	[src/vasprintf.c] Solved the r11288 FIXME, introducing new ones
	with a more visible failure. Not fixed yet because there seems
	to be another issue (already present at the beginning in r4993),
	which should be considered first.

	[src/vasprintf.c] Added a FIXME (related to the cause of the failure).

	[src/vasprintf.c] Added some precondition assertions, as the buffer_cat
	implementation requires that the current buffer position contains \0.
	Note[VL]: tsprintf is still failing with assertions on my machine in
	the 32-bit Linux/x86 ABI, but now on the new precondition instead of
	postcondition. The behavior with size = 0 actually depends on the state
	of uninitialized memory (even in the 64-bit ABI), so that the failures
	may be random; the problem is detected by valgrind.

	[src/div.c] Declare variables used by GMP_NUMB_BITS == 64 only in the
	related code.

2017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] simplified logic for special code
	[src/div.c] fixed bug in mpfr_div_1n when extra=0

	[src/div.c] special code for prec=GMP_NUMB_BITS

	[src/sqr.c] new code for p = GMP_NUMB_BITS, and small improvement in mpfr_sqr_1
	[src/mul.c] cosmetic changes

2017-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub1sp.c] Fix: C++ compatibility.

2017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] added special code for prec=GMP_NUMB_BITS
	[src/add1sp.c] use special code only when MPFR_GENERIC_ABI is not defined
	[src/sub1sp.c] idem as above

2017-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Declare the mpfr_vasnprintf_aux prototype (which
	uses va_list) only if <stdarg.h> has been included, otherwise the
	build was failing with GCC in C90 mode under Linux (and could fail
	with other C implementations where this header isn't automatically
	included as a consequence of the inclusion of some other header).

2017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] new function for p=GMP_NUMB_BITS, fixed bug in mpfr_sub1sp3
	[tests/tsub1sp.c] added new tests

2017-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Fixed bug introduced in r11273.

	[tools/mpfrlint] Updated the "simple mp_limb_t constants" test.

	Made some assertions a bit more readable.

	[tests/tsub1sp.c] Fixed mpfr_inits2/mpfr_clears sentinel → (mpfr_ptr) 0

	[tests/tsprintf.c] C90 compatibility.

2017-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/vasprintf.c] avoid memory allocation for snprintf with size=0

	[src/sub1sp.c] fixed a bug in mpfr_sub1sp1 and mpfr_sub1sp2 (corner case)
	[tests/tsub1sp.c] added non-regression test

2017-02-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] added special code for p=GMP_NUMB_BITS

	[src/vasprintf.c] improved also %a and %e

	[src/vasprintf.c] fixed bug #21056

2017-02-07  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] More about the mpz_t pool.

	[src/free_cache.c] Better file description (keeping it short).

	[src/free_cache.c] Updated comments (mpz_t cache → mpz_t pool).

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Clarified mpfr_asprintf & mpfr_vasprintf specification
	in case of error.

	[src/vasprintf.c] Code cleanup.

2017-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	partial solution of bug #21056: a test of mpfr_sprintf still fails

	[tests/tmul.c] added test for underflow corner case

	[src/div.c] simplified underflow in div_1 and div_2 (one case is not possible)

	[tests/tsqr.c] added another corner case for underflow and mpfr_sqr_2

	[tests/tsqr.c] added a corner underflow case

2017-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added missing function prototype after r11256.

2017-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-impl.h] now mpz_init2 uses the mpz spool too

2017-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added: check the small-precision tables in the tests?

	Removed trailing whitespace.

	[acinclude.m4] Fixed code for the _mulx_u64 test.

2017-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Output whether _mulx_u64 is available.

	[acinclude.m4] Fixed _mulx_u64 detection to avoid failures in tests
	with ICC 15: we need an AC_RUN_IFELSE, not just an AC_LINK_IFELSE.

2017-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/invsqrt_limb.h] Improved constants: make their meaning explicit;
	portability with 32-bit long (and 64-bit limb).

2017-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/invsqrt_limb.h] new macro __gmpfr_sqrt_limb_approx
	[src/sqrt.c] new sqrt1 code using __gmpfr_sqrt_limb_approx

2017-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] improved slow branch of mpfr_sqrt2

	[src/div.c] improved slow branch of mpfr_div_2

	[src/div.c] fixed TODO: replaced two if-statements by while-loop

2017-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div.c] Added TODO's.

	[src/div.c] Added a MPFR_ASSERTD.

2017-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/atan.c] added comment

	[src/invsqrt_limb.h] fixed __gmpfr_sqrt_limb macro

	[src/atan.c] small optimization

2017-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/atan.c] speedup for small precision

2017-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Disable mpfr_mul_{1,2,3} if MPFR_GENERIC_ABI is defined.

	[src/mul.c] Removed useless parentheses that can inhibit warnings.

2017-01-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Updated TODO.

	[src/mul.c] Added a TODO about an optimization.

2017-01-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] fixed error bound for mpfr_sqrt2_approx

2017-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added optimization of test + shift for some processors.

	[src/sub1sp.c] Added MPFR_FULLSUB code for mpfr_sub1sp2.

2017-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] changed error bound back from 16 to 15

2017-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/add-with-carry.c] Added reference to my bug report about Clang's
	carry detection missed optimization in chained add-with-carry.

2017-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] updated error bound for __gmpfr_invsqrt_limb_approx

2017-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Added refs to missed/broken optimization with Clang/LLVM.

	[src/sub1sp.c] Use the FULLSUB only. Added a comment about the change
	in r11227.

2017-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] changed MPFR_FULLSUB variant into faster code

2017-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Texinfo typography correction.

	[doc/mpfr.texi] Improvements concerning the exponent range.
	  * mpfr_get_exp: added a FIXME in a comment (documented behavior?).
	  * mpfr_set_emin / mpfr_set_emax: more specification and details.
	  * mpfr_subnormalize: clarification; added a warning about emin.
	  * Example of mpfr_subnormalize: added a note.
	In particular, this follows a confusion:
	  https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00024.html

2017-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/invsqrt_limb.h] changed slightly definition of d10 and d37 (does not
			     change final error analysis)

2017-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Updated comments about subtraction with borrow; the first
	one from r11213 was incorrect (bad interpretation of the generated code
	for GCC, potentially on a different alternate source code for Clang).

2017-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] simplified mpfr_sub1sp1()

	[tests/turandom.c] added non-regression test

2017-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/urandom.c] Added a FIXME as mpfr_urandom does not always set flags.

	[src/urandom.c] Simplified code (no changes in the behavior).

2017-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/urandom.c] fixed bug reported by Trevor Spiteri
	(https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00020.html)

2017-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed mpn_sqr_n into mpn_sqr

2017-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new version of mpfr_sqrt2_approx (no longer needs sqrt_tab.h)

2017-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Updated TODO, mentioning an optimization bug in LLVM.

	[src/sub1sp.c] Updated TODO about full subtraction with borrow.

	[src/sub1sp.c] Added alternate code (enabled with -DMPFR_FULLSUB, until
	fully tested) to replace a test + correction by a 2-limb subtraction,
	recognized by GCC and Clang.

2017-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	renamed __gmpfr_invsqrt_limb into __gmpfr_invsqrt_limb_approx to better reflect
	it only gives an approximation

2017-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/invert_limb.h] Just like for invsqrt_limb.h (r11210), in 1UL << 60,
	replaced 1UL by MPFR_LIMB_ONE to make the code valid with 32-bit long.

	[src/invsqrt_limb.h] Bug fix: replaced 1UL by MPFR_LIMB_ONE since the
	computations are done on limbs, which are expected to have 64 bits in
	this context (the old code would fail on MS Windows / MinGW, where limbs
	are 64-bit unsigned long long and unsigned long is a 32-bit type).

	[src/invsqrt_limb.h] Portability correction: avoid lines longer than the
	POSIX line-length limit of 2047 characters; actually fit on 80 columns.

2017-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	faster version of mpfr_sqrt1(), with smaller table

	[src/invert_limb.h] improved __gmpfr_invert_limb* for 64-bit limb

2017-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] use ADD_LIMB macro, and fixed comment

2017-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] MPFR_PARSE_DIRECTORY macro definition: workaround if
	the realpath command is not found. Suggestion by Trevor Spiteri:
	  https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00013.html
	Note: I had to modify the patch to use quadrigraphs, otherwise the
	generated configure file was invalid.

2017-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tdiv.c] added code to exercise mpfr_div2_approx

2017-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] new variant of mpfr_div2_approx()

2017-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/invert_limb.h] Fit on 80 columns (one line was over the
	POSIX line-length limit of 2047 characters).

	[src/invert_limb.h] Correction in __gmpfr_invert_limb for 32-bit ABI:
	_d was used before being defined.

2017-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[invert_limb.h] added invert_limb code for 32-bit

2017-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Improved a line based on analysis (+ timings I've done
	on x86_64 with GCC and Clang give better results, though they cannot
	be conclusive since the gain is too small compared to other possible
	causes of variations).

	[tools/mbench/Makefile] Added -static to CFLAGS in order to avoid
	a link error when MPFR has been built with Clang (linking is done
	with .a libraries, i.e. static libraries).

	[src/add1sp.c] Replaced "return 0;" by "MPFR_RET(0);" to emphasize on
	the fact that we return a ternary value (code instrumentation may also
	be easier later). Note: this is equivalent since the macro expands to
	0 != 0 ? ... : 0, which gives 0 via trivial optimization.

	[src/add1sp.c] Improvements in mpfr_add1sp1; added a TODO.
	Note for rb -> bp[0]: the generated code is the same, but the source
	is more readable (-> rb has only one meaning).

	[src/div.c] C90 compatibility (avoid initializer elements not computable
	at load time).

2017-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] added some alternate code for mpfr_div2_approx (disabled for now)

	fixed bug in urandomb.c reported by Dominic Chen
	(https://sympa.inria.fr/sympa/arc/mpfr/2017-01/msg00011.html)
	and replaced MPN_COPY_INCR/MPN_COPY_DECR by mpn_copyi/mpn_copyd

	[src/div.c] small improvement in div_1 and div_2: force all precisions to be
		    equal, then we cannot have rb <> 0 and sb = 0

	[src/div.c] improved case p=127 (or two-limb case with hard to round case)

2017-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Added a TODO: slightly better code?

2017-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] improve mpfr_div_1 for precision 63

2017-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/rndna.c] Updated comments.

2017-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] improved mpfr_sqrt2_approx()

2017-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typographic correction (including generated spaces).

2017-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	Improvement of additions with carry.
	  * Added doc/add-with-carry.c showing how to do an addition with carry
	    in C (to make the compiler understand the code).
	  * src/mpfr-impl.h: added ADD_LIMB macro (addition with carry).
	  * src/sqr.c: use this ADD_LIMB macro to improve the generated code.

2017-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqr.c] 2 calls to umul_ppmm are enough in mpfr_sqr_2 in most cases

	[src/div.c] added FIXME
	[src/sub1sp.c] added comments

	[src/sqrt.c] made code coherent with comment

2017-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Improved comment from r11180.

2017-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] improved error bound for mpfr_sqrt2_approx, with known direction
		     of error

2017-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk and added RNDF support
	in mpfr_sub1sp3.

	[src/sub1sp.c] Fixed other two bugs in special code for 3 limbs.
	TODO: non-regression tests should be added for both.

	[src/sub1sp.c] Fixed some bugs in special code for 3 limbs.

	[src/sub1sp.c] Simplified a test.

2017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqr.c] deal with RNDF in sqr_1, sqr_2 and sqr_3

	[src/mul.c] deal with RNDF in mpfr_mul_3

	[src/sub1sp.c] added special code for 3 limbs

2017-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

	[src/add1sp.c] Fixed too large shift count in r11170 (code for 3 limbs).

2017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] added special code for 3 limbs

	[src/sqr.c] added special code for 3 limbs

2017-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk (changing a RND_RAND to
	RND_RAND_NO_RNDF in order to avoid a failure in a test).

	[tests/tsub1sp.c] Fixed a return type.

	[doc/README.dev] Updated note added in r11165.

	[doc/README.dev] Added a note about cross-compilation and test
	under Wine, with references to bugs in autoconf and dash.

2017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tmul.c] fixed typo

2017-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_raw_generic.c] Added MPFR_RNDF special support (seen as
	MPFR_RNDZ since this is faster, with *inexp = 0).

2017-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed bug in mpfr_sub1sp2 when exponent diff. is GMP_NUMB_BITS
	[tests/tsub1sp.c] added testcase

2017-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Bug fix in mpfr_mul_3; tmul no longer fails (64-bit ABI).

	[tests/tmul.c] Added test of mpfr_mul on 1 to 3 limbs. Currently fails.

2017-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Define aq = MPFR_GET_PREC (a), and use this.

2017-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] added mpfr_mul_3
	[src/sqrt.c] renamed internal functions
	[src/sub1sp.c] cosmetic change

2017-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/exp.c] avoid using a full limb as precision
	[src/sqrt.c] removed obsolete comment

	[src/get_str.c] avoid precision = GMP_NUMB_BITS

	[src/div_ui.c] added comment

2017-01-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/README] Say how to disable a non-working library.

	Merged the latest change from the trunk.

2017-01-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] fixed previous commit: mpfr_div_1 and mpfr_div_2 also work for
		    GMP_NUMB_BITS <> 64, only some fast code inside is not defined

2017-01-06  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

2017-01-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div.c] Use mpfr_limb_ptr instead of mp_ptr.

	[src/div.c] Fix for GMP_NUMB_BITS != 64.

2017-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] faster division for 2 limbs

2017-01-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_ui.c] Coding style.

	[src/div_ui.c] Simplification.

	[src/div_ui.c] Replaced a MPFR_ASSERTN by MPFR_STAT_STATIC_ASSERT.

	[tests/tdiv_ui.c] Correction for 64-bit limb with 32-bit unsigned long.

	[tests/tdiv_ui.c] Fix when GMP_NUMB_BITS != 64.

2017-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	last fix was incomplete

	[src/div_ui.c] fixed a bug in mpfr_div_ui (also affects mpfr_div since it calls
		       mpfr_div_ui when the divisor has a few bits)

	fixed underflow bug by replacing !MPFR_IS_LIKE_RNDZ by new macro
	MPFR_IS_LIKE_RNDA: for RNDN, !MPFR_IS_LIKE_RNDZ was true, while new macro
	MPFR_IS_LIKE_RNDA is false

2017-01-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] Added a test that triggers an assertion failure
	in a reduced exponent range (found from the generic tests with
	GMP_CHECK_RANDOMIZE=1483628702).

	[tests/tgeneric.c] Added debug messages for overflow & underflow tests.

	[tests/tdiv_ui.c] Added a comment on new test (doesn't fail).

2017-01-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tdiv_ui.c] added new test

2017-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/invert_limb.h] Removed an unused variable.

2017-01-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use a macro instead of a function for __gmpfr_invert_limb and
	__gmpfr_invert_limb_approx saves 2-3 cycles

2017-01-01  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2017 with
	  perl -pi -e 's/ (\d{4}-)?(2016)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh, reverting the tools/mbench directory (not distributed with
	MPFR). Removed 2016 from the example in the doc/README.dev file.

2016-12-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqr.c] Bug fixes (portability): replaced left shift of a value
	that can be negative by a multiplication by 2.

	[src/sqrt.c] C90 compatibility.

	[src/div.c] C90 compatibility.

	[src/invert_limb.c] Removed unused variable.

2016-12-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] small speedup in mpfr_mul_2 by not computing the product b0*c0

	[src/mul.c] fixed typo in comment
	[src/sqr.c] likewise

	[src/mul.c] fixed regression for 1/2 limbs introduced in revision 11098:
		    critical routines should not be exported, otherwise we lose a few
		    cycles (maybe they are inlined by the compiler)

	[src/div.c] further improvement in mpfr_div_1()

	[src/div.c] use an approximate quotient in mpfr_div_1()

	[src/div.c] simplify mpfr_div_1()

	[src/invert_limb.c] new file for __gmpfr_invert_limb internal function
			    (only provided so far for 64-bit limb)
	[src/div.c] mpfr_div_1 and mpfr_div_2 don't require --enable-gmp-internals
		    any more

	[sqrt_tab.h] better file description

2016-12-29  Vincent Lefèvre  <vincent@vinc17.net>

	Improvement concerning the _mulx_u64 intrinsic.

2016-12-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] replace GMP's invert_limb (internal) by own code

2016-12-29  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

	[src/sqrt.c] Replaced constant MPFR_ASSERTD by MPFR_STAT_STATIC_ASSERT.

2016-12-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqr.c] use special code for 1 and 2 limbs
	[mbench] added mpfr_sqr

	[src/sqrt.c] faster sqrt code for 2 limbs and 64-bit limb (removed special code
		     for 32-bit limb)
	[src/sqrt_tab.h] new table for mpn_sqrtrem4_approx

	[tlog.c] missing printf()

2016-12-27  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention that mpfr_get_str now also sets the inexact flag when
	the conversion is inexact (completing r11073).

	[mpfr.texi] Be stronger in mpfr_round_nearest_away documentation
	(as the ternary value is used each time the last bit on p+1 bits
	is not 0, i.e. in about half cases).

2016-12-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added stuff in mpfr_round_nearest_away documentation

2016-12-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/log.c] Added another FIXME concerning the error analysis.

	[src/log.c] Added an assertion and a FIXME: error in the MPFR code or
	in the proof (error analysis).

	[src/log.c] Slight simplification / improvement.

	[doc/algorithms.tex] In Section "The logarithm function" (from r9046),
	removed everything concerning the AGM since this is not what is done
	in the MPFR code, where mpfr_agm is simply called (and this function
	already has its own description later).
	Note: The error analysis of mpfr_log can only be found in log.c, but
	seems incorrect (though the bounds may be valid); it was introduced
	in r416.

2016-12-26  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk (this concerns only src/log.c).

	[src/log.c] Group constant terms together (GCC takes advantage of this,
	at least on x86_64).

	[src/log.c] Check for integer overflow (no visible changes in
	standard configuration) + explanations.

	[src/log.c] Get the exponent of the input only once.

2016-12-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Update for faithful rounding (MPFR_RNDF).

	[src/sum.c] Fixed the bug mentioned in r11077.

	[tests/tsum.c] The new test for MPFR_RNDF in r11079 can actually trigger
	a failure; increased the number of tests to get a failure by default.

	[tests/tsum.c] Improved a test to support MPFR_RNDF. It doesn't fail,
	but would if 0 in "corr = 0" were changed to -1 or 1 (tested).

	Removed trailing spaces.

	[src/sum.c] Improvement for MPFR_RNDF, but still based on the change
	done in r10512, which was incorrect; added a FIXME (a non-regression
	test needs to be added first).

	Merged the latest changes from the trunk (this concerns only src/sum.c
	and will be useful for the upcoming improvement).

	[src/sum.c] Delay some assignments so that they are done just before
	the variables are used (this should have been done in r10467).

	Merged the latest changes from the trunk.

	[doc/mpfr.texi] For mpfr_get_str, explicitly say that the inexact flag
	is set iff the result is inexact (since this may not be obvious and this
	wasn't the case until now). In the compatibility section, mention this
	change.

	[doc/mpfr.texi] For mpfr_get_str, removed the note saying that
	the inexact flag is not set when the conversion is inexact:
	this is fixed in r11071.

	[src/get_str.c] Corrected a comment and a test for inexactness
	(→ the new tget_str.c test no longer fails).

2016-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Added a comment.

	[src/strtofr.c] Better indentation.

	[tests/tstrtofr.c] Replaced mpfr_cmp() == 0 by mpfr_equal_p().

	[doc/mpfr.texi] Updated the month.

	[src/get_str.c] Removed an obsolete comment, which came from r2757
	(and even before, under another form); this comment no longer made
	any sense as the sign of dir is no longer tested.

	[src/get_str.c] Indentation fixed.

	[src/get_str.c] Setting the inexact flag as done in r11060 was incorrect
	since the flags are restored. Moreover, this was done even when the Ziv
	loop was going to fail (it's not clear whether this was expected). Moved
	the test out of the Ziv loop, and update the copy of the flags instead
	of the flags that will be overwritten.
	Note: this still fails, but now for another reason.

	[tests/tget_str.c] Check the inexact flag for mpfr_get_str.
	The test currently fails.

2016-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[get_str.c] inexact flag should now be correct in mpfr_get_str

	[strtofr.c] updated comment

2016-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a short note about the default precision for Re.

2016-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added emin in comment about mpfr_round_nearest_away

	fixed bug in mpfr_strtofr (and likely similar bug in mpfr_get_str)

2016-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tstrtofr.c] added test for bug in mpfr_strtofr()

2016-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Added "do ... while (0)" in macro definition.

2016-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

	[src/round_raw_generic.c] Completed the support for MPFR_RNDNA (set
	*inexp if use_inexp is true), from a patch by John P. Hartmann.

2016-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new mpn_sqrtrem4_approx function (unused so far)

2016-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsqrt.c] The latest changes made tsqrt fail in an inexact test
	on MPFR_RNDF. Fixed by changing RND_RAND to RND_RAND_NO_RNDF.

	Merged the latest changes from the trunk.

	[src/sin.c] Handled a FIXME.

	[src/sqrt_tab.h] Added copyright notice.

2016-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sqrt.c] simplify code for GMP_NUMB_BITS = 64

2016-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	better fix than r11025

	[sqrt_tab.h] new header file with table for mpn_sqrtrem2_approx()
	[sqrt.c] new version of mpn_sqrtrem2_approx()

	[sqrt.c] added mathematical error in mpn_sqrtrem2_approx()

	added non-regression test for bug fix in r11037

2016-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Fixed a bug as spec.prec can be a negative number
	other than -1 (if such a value is given as an argument with ".*").
	This is the probable cause of the assertion failure on:
	https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21056&group_id=136

2016-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sqrt.c] faster version of mpn_sqrtrem2 for 64-bit limb

	[sqrt.c] approximate version of mpn_sqrtrem2, saves a few cycles in mpfr_sqrt1

	[add/sub] added MPFR_UNLIKELY when adding one ulp changes the binade

2016-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sin.c] Added missing word in r11032 comment.

	[src/sin.c] Common/related subexpressions. Added a FIXME.

2016-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cos.c,exp_2.c,log.c] improved initial precision for Ziv's strategy

	[sin.c] improved strategy for initial precision

	[sqrt.c] updated code and comments

	[sqrt.c] slightly improve mpn_rsqrtrem1() (and detailed error analysis)

	[sqrt.c] removed mpn_sqrtrem1 (no longer needed since r11023)

	[sqrt.c] fixed comments to be coherent with the code

	fixed https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=21053&group_id=136

2016-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Corrected a comment (1 has exponent 1 and we support
	precision 1).

2016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sqrt.c] no more special case for prec <= GMP_NUMB_BITS/2, and added comments

2016-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Bug fix (replaced = by ==). Note: this kind of bug could
	be detected by avoiding extra parentheses.

	[src] Simplified ~MPFR_LIMB_ZERO to MPFR_LIMB_MAX.

2016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[div.c] simplified mpfr_div_1 and mpfr_div_2

	[div.c] added comments and simplified code

	[div.c] simplified code

	likewise for mpfr_mul_2()

	fixed bug in mpfr_mul_1() introduced in r11004 and added test case

	[div.c] simplified underflow test in mpfr_div_1()

2016-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div_ui.c] underflow is unlikely!

	[src/sqrt.c] overflow and underflow are unlikely!

2016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[div.c] overflow and underflow are unlikely!

	[div.c] slightly better code (less dependencies) for mpfr_div_1 when u0 >= v0

	[div.c] simplified mpfr_div_1() code

	[div.c] in mpfr_div_1, do not deal with the case where the precision is
		<= GMP_NUMB_BITS/2, to not slow down the general case

2016-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Slight improvement (but shouldn't affect the generated code
	with an optimizing compiler).

2016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mul.c] likewise for mpfr_mul_2()

	[mul.c] simplified mpfr_mul_1()

	fixed similar bug in mpfr_mul_2() + non-regression test

	[mul.c] simplified the code and fixed a bug
	[tmul.c] added non-regression test for fixed bug

	[sub1sp.c] added comment + assert

2016-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src] Fixed bug introduced in r10964 with --with-gmp-build: move
	the numberof_const() definition from mpfr-gmp.h to mpfr-impl.h.

2016-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[add1sp.c] added comment

	[add1sp.c] simplified mpfr_add1sp2()

	[sub1sp.c] in mpfr_sub1sp2(), compute a0 before a1 whenever possible

2016-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/mfv5.cc] Fixed type.

2016-12-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mbench] fixed typo

2016-12-08  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced two ~0 with mp_limb_t target by MPFR_LIMB_MAX.

	[tools/mpfrlint] Added a test detecting code like ~0 (either an error
	or poorly written code).

2016-12-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved add1sp.c and sub1sp.c like in r10991

	[mbench] set default max_exp to 1 (independent of number of bits per limb)

	[sub1sp.c] improved further

	[mbench] use mpfr_printf to print test numbers

	fixed bug in mfv5 (numbers used were 10 times too large)

2016-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added rounding code for RNDF in special routines for 1 and 2 limbs

	[sub1sp.c] corrected a comment, added another one

2016-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Typo in a comment.

	[src/pow.c] Punctuation to make clear that there are 2 sentences.

2016-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	likewise r10983

	[add1sp.c] improved a conditional (if compiler is not smart enough)

	[exp_2.c] small improvements

2016-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] MPFR_INT_CEIL_LOG2(x) macro: added a FIXME and an
	assertion concerning whether x <= ULONG_MAX or not.

	[src/pow.c] Added an assertion.

2016-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] fixed typo

	[pow.c] tuned starting precision (and removed obsolete comment)

	use MPFR_INT_CEIL_LOG2

	modified the semantics of mpfr_can_round for rnd2=RNDF

2016-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mfv5] added option -e, for example use -e1 to avoid over/underflow in mpfr_pow

	[pow.c] reduced overhead of special cases (gives speedup of a factor of two
		for 53 bits of precision)

2016-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk except those related to
	mpfr_zeta (it is buggy and not fixed yet in the trunk, but the bug
	will not be triggered here, allowing the tests to pass).

2016-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_pow

2016-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Correction for zsh change after v5.2 (POSIX compat:
	"set -e; f() { false && true; }; f; echo OK" no longer prints OK).

2016-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	Check that the numberof() macro is used on an array.
	  * src/mpfr-gmp.h: define numberof_const() macro, equivalent to the
	    old numberof() macro: no check, but constant expression; improved
	    the numberof() macro to check that it is used on an array (since
	    an array can silently be converted to a pointer in C). Note that
	    potential failures are currently reported at run time.
	  * src/mulders.c: replaced numberof by numberof_const in #define's
	    (also removed a useless cast at the same time).

2016-11-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ld.c,tests/tset_ld.c] Updated comments, in particular
	concerning LDBL_MAX.

2016-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Added an overflow test that triggers a bug for
	double-double (IBM long double format). See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2016-11/msg00006.html

	[src/get_ld.c] Fixed bugs for double-double (IBM long double format):
	  * one from r8650, which could yield a spurious assertion failure
	    in debug mode in case of underflow (with result 0);
	  * one from r8972, which used the variable sign uninitialized and
	    could yield a result with an incorrect sign.

	[tests/tset_ld.c] Added a missing exit(1).

	[tests] _GMP_IEEE_FLOATS was got rid of in r10150, but still used in
	the tests, meaning that some tests were no longer done. So, get rid of
	_GMP_IEEE_FLOATS also in the tests. Testing !defined(MPFR_ERRDIVZERO)
	or defined(HAVE_SIGNEDZ) should be sufficient, depending on the context
	(they were already used alone at some other places, so that new failures
	are unlikely); anyway, _GMP_IEEE_FLOATS was not the right macro to test.
	Only tget_set_d64.c has a specific change to use _MPFR_IEEE_FLOATS.

	[src/get_ld.c] For double-double (IBM long double format): test other
	special values, as this may be useful.

	[src/get_ld.c] For double-double (IBM long double format), the code
	was incorrect on large finite values, which are infinite as a double:
	(+inf) + (-inf) was computed, which is NaN (thanks to Rob for the
	report). Fixed this bug, with code clean up (not tested).

2016-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Added a note about MinGW and libtool error "libobj name ...
	may not contain shell special characters.", with a solution.

2016-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Final corrections.

	[doc/sum.txt] Another correction due to the rewrite for reuse support.

	[doc/sum.txt] Correction.

2016-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added a short explanation for halfway cases.

	[doc/sum.txt] Improved an example (from my ARITH-23 slides).

	[doc/sum.txt] English usage.

2016-11-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Explained the handling of halfway cases for sq = 1
	(since the explanations for sq ≥ 2 are not valid for sq = 1).

	[doc/sum.txt] Minor update.

	[doc/sum.txt] Last corrections. Concerning the setting of the sign of
	the result, this changed with the support for precision 1 (see r10068).

	[doc/sum.txt] Correction (English).

	[doc/sum.txt] Correction about neg / sgn.

	[doc/sum.txt] Added details about the handling of halfway cases, as
	the rule is not obvious due to two's complement representation.

2016-11-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Cosmetic change for consistency between lbit and rbit.

	[doc/sum.txt] Minor update.

2016-11-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] A bit more explanations.

	[doc/sum.txt] Corrected the usage of the HYPHEN-MINUS character (-):
	  * If it is a minus sign, use U+2212 MINUS SIGN (as already done).
	  * Do not use "-" after the "non" and "pre" prefixes.

	[doc/sum.txt] Minor improvement.

2016-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Replaced "TZ=UTC" by "TZ=GMT0" for portability.

	[doc/sum.txt] Added a note.

	[doc/sum.txt] Update for the current code (support of reused arguments);
	some other improvements.

	[doc/sum.txt] Corrected 2 typos.

	[src/sum.c] Changed a MPN_COPY_DECR to MPN_COPY, which may be more
	efficient: as of r10464 (support for reused arguments), the memory
	used by the accumulator for the TMD resolution is no longer a part
	of the main accumulator, so that we now know that the memory blocks
	do not overlap.

2016-10-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Corrected a comment from r10503.

	[src/sum.c] Moved/rewrote a comment (should have been done in r10467).

2016-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Started the update for the code supporting reuse.

	[src/mpfr-impl.h] Fixed r10916 (thanks to Eli Zaretskii for the report).

2016-10-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Improved a macro from r10916 (just in case...).

	[src] Support build as thread-safe DLL on Windows: clean-up.
	  * Increased the use of macros to avoid some code duplication
	    (with risks of typos) and to prevent the problems related
	    to thread-safe DLL from appearing in the .c files.
	  * The prototypes of the functions to access the address of a
	    TLS variable are now defined. Otherwise one gets warnings:
	    https://sympa.inria.fr/sympa/arc/mpfr/2016-10/msg00004.html

2016-10-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Minor correction and improvement (English).

	[doc/sum.txt] "a" → "an" before "additional iteration".

2016-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] Updated a comment about bit-fields.

2016-10-17  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the FIXME concerning the mpfr_can_round
	specification with MPFR_RNDF (faithful rounding): after discussion
	with PZ, reverted r10909,10910; added a note explaining the choice
	done for this specification.

2016-10-14  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Another correction of the FIXME concerning the
	mpfr_can_round specification with MPFR_RNDF (faithful rounding).

	[doc/mpfr.texi] Corrected FIXME concerning the mpfr_can_round
	specification with MPFR_RNDF (faithful rounding).

2016-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src]
	  * mpfr-impl.h: document the memory allocated for a significand;
	    added a cast to avoid a direct conversion from mp_limb_t * to
	    mp_size_t *.
	  * init2.c, round_prec.c, set_prec.c: code clean-up by correcting
	    the type expected for the second argument of MPFR_SET_MANT_PTR
	    (this macro has a cast, so that this should not change anything,
	    but the old type mpfr_limb_ptr was meaningless and confusing).

2016-09-23  Vincent Lefèvre  <vincent@vinc17.net>

	[examples/version.c] For MPFR >= 4, output float128 support info.

	[examples/version.c] A bit more output.

	[examples/version.c]
	  * Really support C++ compilers (tested with g++ 6.2.0).
	  * Output information about the C implementation.
	  * Detect MPIR (→ output information on MPIR instead of GMP).

	[examples/version.c]
	  * Code simplification: support for MPFR versions less than 3.0 had
	    already been dropped with the use of MPFR_RNDN.
	  * For MPFR patches, output "[none]" when there are no patches.
	  * Output mpfr_ptr size.

2016-09-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sin_cos.c] Avoid the reuse of variables for two completely
	different things (with different orders of magnitude)! Changed types.

	[src/exp3.c] Avoid the reuse of variables for two completely different
	things (with different orders of magnitude)! Added a cast to avoid a
	potential integer overflow (like in r10881).

	[src/atan.c] Avoid the reuse of variables for two completely different
	things (with different orders of magnitude)! Changed types.

	[src/{atan.c,sin_cos.c}] Added casts to avoid potential integer
	overflows. Possible issue reported by David Binderman:
	  https://sympa.inria.fr/sympa/arc/mpfr/2016-09/msg00029.html
	Note: From tests I've done on mpfr_atan, there would be issues with
	16-bit int, but for 32-bit int, one could need several hundreds of
	billions of bits for the target precision.

	[doc/README.dev] "To make a release": updated paragraph about warnings.

	[src/mpfr-impl.h] In the MPFR_RET macro, avoid the use of an integer
	in a boolean context (even though that this is not wrong in C). Fix
	after a bug report from David Binderman. Explanations:
	  https://sympa.inria.fr/sympa/arc/mpfr/2016-09/msg00028.html

2016-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Riemann Zeta function, case s < 1/2: added a
	paragraph on the sin(...) term of the reflection formula.

	[doc/algorithms.tex] More work on the Riemann Zeta function.

2016-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Riemann Zeta function, case s < 1/2: added a
	paragraph briefly describing how the precisions of the variables
	will be chosen (this is much more efficient than the current code
	when the target precision is much lower than the input precision).

	Some improvements / corrections in the description / proof of the
	algorithm for the Riemann Zeta function.
	  * doc/algorithms.tex, section on the Riemann Zeta function: the case
	    s < 1/2 (reflection formula) is now in a new section, which needs
	    to be completed (with the detailed algorithm and error analysis);
	    case "s close to 0" added and now properly proved.
	  * src/zeta.c: update of the comment for s close to 0 (the brief
	    explanations were wrong for precision 1, and this was apparently
	    not checked when we allowed this precision!), adding a reference
	    to algorithms.tex for details.

2016-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] In "[[…]]" conditional expressions, replaced "="
	by the preferred (and equivalent) form "==".
	Discussion: https://www.zsh.org/mla/workers/2016/msg01711.html

	[tests/tdiv.c] Improved code readability (related to r10871).

2016-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tdiv.c] improved code (found by David Binderman using cppcheck)

2016-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/announce-text] Use the 64-bit key ID instead of the 32-bit one
	since there are known collisions for 32-bit key ID's:
	https://evil32.com/

2016-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta.c] Added a FIXME: bug in the error computation due to the
	  use of the native double C type, which can yield an overflow.
	[tests/tzeta.c] Added a corresponding test case, which gives an
	  assertion failure.

	[src/{uceil_log2.c,ufloor_log2.c}] Added "MPFR_ASSERTN (exp < 1023);"
	to get an assertion failure on infinities (which do not have an
	exponent).

	[src/uceil_log2.c] Code style.

	[src/ufloor_log2.c] Code style.

	[src/zeta.c] Make explicit that we need to use lngamma.

	[src/zeta.c] Updated comments on overflows / underflows.

	[src/zeta.c] About internal underflows / cancellation:
	  * Added comments to FIXME's.
	  * Detect a potential integer overflow with MPFR_ASSERTN.

2016-09-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Moved a comment.

	[tests/tset_ld.c] Fixed print_binary (and no longer any failure with
	gcc -mpc64 on x86).

	[tests/tset_ld.c] Corrected note in print_binary.

	[tests/tset_ld.c] Reverted r10847 (it was incomplete and I was testing
	the wrong code).

	[tests/tset_ld.c] Fixed print_binary.

	[tests/tset_ld.c] Added a FIXME in print_binary, which can yield an
	incorrect output and return a wrong precision (causing the failure).

	[tests/tset_ld.c] Added a test that triggers a failure with gcc -mpc64
	on x86 (64-bit ABI).

	[tests/tset_ld.c] Added some tests in case the rounding precision is
	smaller than MPFR_LDBL_MANT_DIG (e.g. with gcc -mpc64 on x86).

	[tests/tset_ld.c] In print_binary, added an assertion that may fail
	with flush-to-zero on underflow (avoiding an infinite loop).

	[tests/tset_ld.c] Simplified a condition in print_binary (BTW, the old
	condition was based on the fact that the rounding depended only on the
	exact result, which may not be the case when rounding is not completely
	specified, e.g. with double-double arithmetic like on PowerPC).

	[tests/tset_ld.c] Replaced a condition by a simpler, equivalent one.

2016-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tset_ld.c] added note

2016-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tset_ld.c] get rid of C99-only stuff

2016-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Removed a variable that is no longer used.

	[tests/tset_ld.c] FIXME: nextafterl and ilogbl are C99 only.

2016-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tset_ld.c] fixed computation of smallest subnormal using nextafterl

	[tests/tset_ld.c] added warning

	[tests/tset_ld.c] fixed print_binary() for when the rounding precision is less
			  than the precision of long double

2016-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ld.c] Replaced FIXME by an explanation of the current behavior.
	[tests/tset_ld.c] Added a FIXME as a consequence.

	[doc/README.dev] Update about NetBSD.

2016-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Corrected a spelling mistake.

	[src/get_ld.c] Updated FIXME (mention subnormals).

	[src/get_ld.c] Updated FIXME (this is NetBSD 5.1).

	[src/get_ld.c] Added a FIXME, in particular for NetBSD.

	[tests/tset_ld.c] Avoid a freeze in print_binary under NetBSD due to
	excess precision in LDBL_MAX (we do not run the test in this case).

2016-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] fixed bug in mpfr_sqrt2
	[tests/tsqrt.c] added non-regression test

2016-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] The print_binary function is freezing on a NetBSD
	machine; let's start with some improvements (assertions...).

	[tests/tabs.c] Removed mpfr_test_init (not needed here).

	[tests/tset_ld.c] Moved mpfr_test_init at the right place (like
	tget_d.c, tset_d.c, etc.).

2016-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] divsp1 -> div_1

2016-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Fixed a loop in case an extended range is used
	(there are issues on a NetBSD machine, and this could be a cause).

	[tests/tset_ld.c] Corrected a type (due to a printf with %ld).

2016-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] divsp1 -> div_1, divsp2 -> div_2 (not necessarily same precision)

	[src/mul.c] mulsp1 -> mul_1, mulsp2 -> mul_2 (the precision of operands is not
		    necessarily the same)

2016-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{get_d,get_ld}.c] Use MPFR_ALIAS.

2016-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ld.c] Improved the fix done in r10808: The mpfr_set_emin value
	is not changed, but let's make the LDBL_MIN_EXP and LDBL_MAX_EXP values
	appear as expected.
	Note: The code for x86 extended precision first appeared in r3226 with
	the usual emin and emax values, as found in the IEEE 754-1985 standard
	(bounds) or on <https://en.wikipedia.org/wiki/IEEE_floating_point>. But
	MPFR uses a different convention, with a significand between 1/2 and 1
	instead of between 1 and 2, so that these values were off by 1. The
	emax one was fixed in r6101, but the error on emin remained undetected.

	[tests/tset_ld.c] The bug_20160907 test is valid only with
	HAVE_LDOUBLE_IEEE_EXT_LITTLE.

	[src/zeta.c] Updated FIXME: also suggest a scaling.

2016-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tset_ld.c] check more numbers in bug_20160907()

	[src/get_ld.c] fixed bug reported by Walter Mascarenhas

	[tests/tset_ld.c] added test that triggers bug in mpfr_get_ld
			  (https://sympa.inria.fr/sympa/arc/mpfr/2016-09/msg00005.html)

2016-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta.c] Updated FIXME with a suggestion.

	[src/zeta.c] Added a FIXME: An overflow in gamma(s1) does not imply
	  that Zeta(s) will overflow.
	[tests/tzeta.c] Added a test that triggers this bug with a 32-bit ABI.

	[doc/README.dev] Concerning GCC's AddressSanitizer (-fsanitize=address),
	mention that LD_PRELOAD needs to be unset (or -static-libasan needs to
	be used, but does not work yet).

2016-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/algorithms.tex] l -> \ell

	[doc/algorithms.tex] du -> {\mathrm d}u

	[src/log_ui.c] added FIXME

2016-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Avoid a warning due to an unused variable with
	GMP_NUMB_BITS == 32.

	[acinclude.m4] Fixed m4_pattern_forbid argument to avoid an error with
	recent ax_pthread.m4 (such as in Debian's autoconf-archive 20160320-1,
	which has just appeared in unstable).

	[src/zeta.c] Updated FIXME.

2016-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/zeta.c] added FIXME

	[src/sqrt.c] added alternate code for mpn_sqrtrem4 (disabled for now)

2016-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	move macros from div.c to mpfr-gmp.h

2016-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	About the tzeta timing issue (since r9848):
	  * TODO: updated item on tzeta.
	  * tests/tzeta.c: updated FIXME for test_generic.

	[TODO] Updated item on tzeta:
	  * removed the old problem: the fact that the traces for the trunk and
	    for r9954 are different is normal (fixes in mpfr_can_round affecting
	    tgeneric.c), and the timings depend on GMP_CHECK_RANDOMIZE and seem
	    equivalent in average with "test_generic (..., 5);" in both cases;
	  * added the fact that tzeta has been much slower since r9848, at least
	    with the x86 32-bit ABI.

2016-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] Added some details in a comment for rnd2 = RNDF.

	[doc/mpfr.texi] Added a FIXME on the mpfr_can_round description in order
	to match what I intended to say in my comment in round_prec.c (perhaps
	not detailed enough).

2016-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] updated specification of mpfr_can_round with rnd2 = RNDF
	[tests/tpow.c] one test makes no sense for RNDF

2016-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Completed mpfr_can_round description with RNDF.

2016-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/get_str.c] map RNDF to RNDN in mpfr_get_str

	[tests/tconst_euler.c] fixed with new specification of mpfr_can_round for RNDF

	[doc/mpfr.texi] put back stuff removed by accident in last commit

	[doc/mpfr.texi] defined the bahaviour of mpfr_can_round for rnd2 = RNDF
			(suggestion from Vincent)

2016-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] Forbid rnd2 = MPFR_RNDF as it does not make much
	  sense without additional specification (and explained why).
	[tests/{tcan_round.c,tgeneric.c}] Added MPFR_RNDF support with the
	  above restriction.
	Note: 6 tests are failing as a consequence.

	[src/round_prec.c] FIXME: rnd2 == MPFR_RNDF is not supported yet.

2016-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the remaining changesets (concerning src/{add1sp.c,sub1sp.c})
	from the trunk, and fixed the code: The old mpfr_add1sp2 function
	was renamed to mpfr_add1sp_ref in the trunk and a new mpfr_add1sp2
	function (with a different purpose) was defined; so, in

	  if (rnd_mode == MPFR_RNDF)
	    return mpfr_add1sp2 (a, b, c, rnd_mode);

	mpfr_add1sp2 had to be changed to mpfr_sub1sp_ref.
	Ditto for mpfr_sub1sp2 and mpfr_sub1sp_ref.

2016-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Merged r10698 from the trunk (it was skipped by mistake in r10776).

	Merged the following changesets from the trunk:
	  r10664-10686,10689-10690,10692,10695-10696,10699-10775
	i.e. all the latest changes except for src/{add1sp.c,sub1sp.c}
	to avoid build failures (to be solved later).
	Currently only tcan_round fails, due to MPFR_RNDF.

	Removed trailing whitespace.

2016-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] new code for 2 limbs on 64-bit machines, giving speedup of almost
		     a factor of two:

	bavette.loria.fr (Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz)
	numactl --physcpubind=0 ./mfv5 -p113 mpfr_sqrt

	3.1.4:
	 mpfr_sqrt:        234 /   243.72 /   258

	4.0-dev:
	 mpfr_sqrt:        122 /   127.63 /   136

2016-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] fixed error triggered by previous commit

	[src/div.c] added missing assertion
	[tests/tdiv.c] added test case that make new assertion fail (with --enable-assert --enable-gmp-internals on a 64-bit machine)

	[src/div.c] fixed bug found by Vincent

2016-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] Added a test triggering an assertion failure with
	"--enable-assert --enable-gmp-internals".

2016-08-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Update.

	[src/div.c] Untabified. Clarified a comment.

2016-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] document mpn_sqrtrem2()

	[src/div.c] don't use mpfr_divsp1 and mpfr_divsp2 when MPFR_GENERIC_ABI is defined

	[src/div.c] faster code for 2 limbs
	[tests/tdiv.c] added special test for 2 limbs

2016-08-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Define global variable tests_memory_disabled, which needs to
	be set when the memory.c allocators (to track memory leaks) must not
	be used; i.e., setting it disables the calls to tests_memory_start()
	and tests_memory_end(). In tests.c, it is initialized to 0 (unset),
	except when mini-gmp is used (same behavior as before this commit).
	Programs that test GMP's mp_set_memory_functions() need to set this
	variable before calling tests_start_mpfr().

2016-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	Added tests/talloc-cache.c (not run by "make check") testing multiple
	calls to mp_set_memory_functions. It yields a crash in the MPFR trunk,
	which is unexpected with the current code. However, in the 3.1 branch,
	r9467 fixed the crash as expected.

2016-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] added Sage code used to generate the bipartite tables

2016-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/talloc.c] Added a warning about new tests.

2016-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/atan.c] fixed TODOs, and simplified code

2016-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a FIXME comment about memory allocation.

	[doc/mpfr.texi] Updated the month.

	[TODO] Done in r10756: unify is_power_of_two() and mpfr_powerof2_raw().

2016-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	unified is_power_of_two() and mpfr_powerof2_raw()

	[doc/mpfr.texi] improved documentation of mpfr_free_cache()

2016-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcan_round.c] Improved a test now that mpfr_can_round is exact.

	[src/mpfr-gmp.h] Added a warning about r10749.

2016-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] Various corrections/improvements:
	  * Unified the return, making sure that temporary memory is no longer
	    used after MPFR_TMP_FREE(marker), which was not the case in some
	    places.
	  * C90 compatibility.
	  * Minor improvements (use of MPFR_PREC2LIMBS, code on 78 columns...).

	[TODO] Added: unify is_power_of_two() and mpfr_powerof2_raw()?

	[src/atan2.c] Replaced the use of the MPFR_IS_POWER_OF_2(x) macro by
	  a more efficient solution based on mpfr_powerof2_raw().
	[src/mpfr-impl.h] Removed the now obsolete MPFR_IS_POWER_OF_2 macro.

2016-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-gmp.h] added comment about GMP memory allocation functions

2016-08-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_p.c] since mpfr_can_round is now always correct, we cannot compare
			it blindly to mpfr_round_p any more

2016-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] fixed mpfr_can_round() so that all tests of tcan_round pass

2016-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tcan_round.c] more information in case of error in check_can_round()

2016-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/mfv5.cc] Fixed code (C++11 compatibility).

	[tests/tcan_round.c] Added a comprehensive test of mpfr_can_round,
	based on a naive implementation.
	Note: if the exit() is removed, many cases are failing, for both kinds
	of answers (there might also remain an error in my test...).

2016-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] More thoughts about mpz_t caching (mpz_t pool).

	[TODO] Issues with mpz_t caching.

	[TODO] Update about mpz_t caching (mpz_t pool).

	[src/atan.c] Added TODO's to use mpz_init2 instead mpz_init: I could
	check that without "mpz_t cache" (pool), this makes the code faster.

	[doc/README.dev] Added a note about memory reallocations; recommend
	mpz_init2 with the estimated maximum size instead of mpz_init.

	[tests/tests.c] Updated the error message on incorrect MPFR version.

	[INSTALL] Added note on Solaris and the LD_OPTIONS environment variable.

2016-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/coverage] Added a warning: on a machine shared with other users,
	by running this script, the account can easily be compromised due to a
	libtool bug.

2016-08-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Moved MPFR_DEPRECATED before __MPFR_DECLSPEC for
	compatibility with MSVC (and documented this requirement).
	Thanks to Brian Gladman for the information.

2016-08-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note about the C++11 compatibility issue
	with a string literal immediately followed by a macro name.

	Fixed remaining macros with missing "do" … "while (0)", detected with
	mpfrlint. There were no consequences except spurious null statements.

	[tools/mpfrlint] Added a comment.

	[tools/mpfrlint] Added a test detecting (unsafe) macros of the form:
	  #define FOO { ... }
	The following form is preferred in most of the cases to avoid spurious
	null statements:
	  #define FOO do { ... } while (0)

	[tests/tsi_op.c] Fixed a macro. There were no consequences except
	spurious null statements.

	[tests/tset_{si,sj}.c] Style improvements. Added a comment.

	[tests/tset_{si,sj}.c] Fixed macros. There were no consequences except
	spurious null statements.

	[tests] C++ compatibility: avoid errors with "g++ -std=c++11" or later.
	Note that as of GCC 6, "the default mode for C++ is now -std=gnu++14
	instead of -std=gnu++98" <https://gcc.gnu.org/gcc-6/changes.html>.
	So, this fixes the failures in the build of the MPFR tests with g++
	from GCC 6 without particular options.

2016-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] mpfr_can_round_raw: added another FIXME.

	[src/round_prec.c] mpfr_can_round_raw: added an assertion, corrected
	a condition in a comment, and added comments, showing a new bug.

2016-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tmul.c] Various corrections and improvements in test_underflow.

	[src/mpfr.h] Mark mpfr_grandom as deprecated (this had already been done
	in mpfr.texi r8548).

	[src/mpfr.h] Suggest MPFR_EXPERIMENTAL for experimental functions.

2016-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Correction in the info about the C implementation.

	[tests/tversion.c] Corrections in the info about the C implementation.

	[src/sqrt.c] Corrected a bound in the proof of mpfr_sqrt1 (one-limb
	precisions), related to the right shift of a negative value. Added
	a warning and a TODO about such an operation.

	[src/sqrt.c] Enable mpfr_sqrt1 code for one-limb precisions (which
	depends on implementation-defined features of the C standard) only
	when __GNUC__ is defined, as it is known to be correct with GCC and
	compatible compilers, but nothing is known yet for other compilers.
	Removed the corresponding FIXME and added a note. In the future, a
	configure test could be used as an alternative solution.

	[tests/tversion.c] Output more information about the C implementation.

2016-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Fixed some portability issues.

	[src/sqrt.c] Fix if mp_limb_t > unsigned long (this fixed failures
	with mingw-w64).

	[src/lngamma.c] Fix in case mp_limb_t is more than twice as large
	  as unsigned long (that would make it at least 128 bits).
	[src/cos.c] Made code similar to the rest of the code.

	[src/div_ui.c] Improved a comment (to make it closer to what correct
	C code should be), avoiding a false positive with mpfrlint.

	[tools/mpfrlint] Detect possibly wrong code with some C/GMP
	implementations, related to shifts and integer types.

	[src/sqrt.c] Completed the FIXME (another portability issue).

	[src/sqrt.c] Added a FIXME. The current code for prec < GMP_NUMB_BITS
	is not portable.

	[src/sqrt.c] Fixed code for implementations with 16-bit int's.

	[tests/tsqrt.c] Fixed output bug in a test.

2016-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] speedup for 2 limbs: numactl --physcpubind=0 ./mfv5 -p113 mpfr_mul

	3.1.5-dev:
	 mpfr_mul:          45 /    61.60 /    84

	4.0-dev:
	 mpfr_mul:          30 /    32.15 /    36

	[NEWS] mention that speedup

2016-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed bug in mpfr_sub1sp2

	[src/mul.c] removed useless code

	[src/mul.c] code simplification

	[src/sub1sp.c] another code simplification

	[src/sub1sp.c] code simplification

	[NEWS] mention speedup in mpfr_add and mpfr_sub for 2 limbs

2016-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] faster code for 2 limbs. Results with mbench
	(numactl --physcpubind=0 ./mfv5 -p113 mpfr_sub):

	3.1.5-dev:
	 mpfr_sub:          36 /    65.33 /    81

	4.0-dev:
	 mpfr_sub:          24 /    33.00 /    36

2016-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tmul.c] fixed wrong test

2016-07-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/reuse.c] Perform each reuse test on 1 to 5 limbs, with a random
	number of trailing bits. This allows one to test code specific to 1 or
	2 limbs.

2016-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] fixed issues found with --enable-assert=full

2016-07-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] new code to deal with p in [GMP_NUMB_BITS+1,2*GMP_NUMB_BITS-1]

2016-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] Various minor improvements:
	  * Added a MPFR_ASSERTN since mpfr_can_round is a function in the API.
	  * Changed error variables to be more consistent with the context.
	  * Removed unnecessary code (casts...) about the error: it came from
	    round.c r1574, where types were different at that time.
	  * Made err2 (the old err) local to a small block to make sure that it
	    will not be used by mistake instead of err in future changes.
	  * Made equivalent expressions appear under the same form:
	      (rnd1 == rnd2 || rnd2 == MPFR_RNDN) && err - 2 >= prec

	[src/round_prec.c] Changed precision variables to be like SSA.

	[src/round_prec.c] Simplified code, making it more similar to code
	that has just been fixed.

	[src/round_prec.c] Removed useless parentheses.

	[src/round_prec.c] Added an assertion for "default:".

	[tests/tcan_round.c] In test_simple, output p (which is variable),
	not prec (which is always 4).

2016-07-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/round_prec.c] fixed bug in mpfr_can_round for 2^e when rnd1=rnd2
			   and err > prec + 1 (was returning 0 instead of 1)

2016-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcan_round.c] Added a simple test that fails as a consequence of
	r9883 (this could be observed on tzeta before r10678 in tgeneric.c).

	[tests/tgeneric.c] Improvement: When the result is exact, it can always
	be rounded (while mpfr_can_round can fail).

	[TODO] Updated item about tzeta.

2016-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] update (feedback from Bill Hart)

2016-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).

2016-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mbench/mfv5-mpfr.cc] patch to allow using it with older versions of MPFR (say branch 3.1)

	[src/sqrt.c] fixed mpn_sqrtrem2 for 32-bit limb

2016-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tzeta.c] Added a FIXME so that r10667 can be reverted.

	[TODO] Updated item about tzeta.

	[TODO] Added item about the fix of mpfr_can_round in r9883 and tzeta.

	New MPFR_GENERIC_ABI macro to test the generic code, not tied to a
	particular ABI (e.g. GMP_NUMB_BITS value), so that such code has a
	chance to be tested on current machines.
	  * doc/README.dev: added brief documentation.
	  * src/sqrt.c: enable mpfr_sqrt1 (optimization for one-limb precisions,
	    currently when GMP_NUMB_BITS is 32 or 64) only when MPFR_GENERIC_ABI
	    is not defined.

	[src/sqrt.c]
	  * Changed mp_ptr to mpfr_limb_ptr.
	  * Untabified and removed trailing spaces.

2016-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tzeta.c] reduced test time

	[src/sqrt.c] adapted mpn_sqrtrem1 for GMP_NUMB_BITS=32

2016-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Corrected hint for mingw (use --build instead of --host).

2016-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added hint for mingw

2016-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

2016-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] fixed temporary patch for 32-bit computers

2016-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Typo in comment.

	[src/sqrt.c] Updated FIXME's. This is still incorrect with 32-bit limbs.

2016-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] temporary fix for 32-bit limbs

2016-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	Merged r10657 from the trunk, resolving the conflict (same code as
	in the trunk, except RND_RAND changed to RND_RAND_NO_RNDF).

	[tests/tadd.c] Improved coding style and messages (do not mix up
	"inexact flag" and "ternary value"!).

	[tests] Define the RND_RAND_NO_RNDF and RND_LOOP_NO_RNDF macros, similar
	to RND_RAND and RND_LOOP respectively but excluding MPFR_RNDF, to be
	used for tests that don't make sense in the faithful rounding mode.
	Replaced code to use these macros, fixing the remaining failures.

	Merged r10599 through r10628 from the trunk, resolving the conflict
	in tests/tmul.c (i.e. keep code from both the branch and the trunk,
	corresponding to two independent tests). Some of the later changes
	in the trunk (src/sqrt.c) are broken with a 32-bit ABI, so let's not
	merge them for now.

	Merged r10598 from the trunk, resolving the conflict (this consists
	in changing MPFR_PREC to MPFR_GET_PREC).

	Merged r10573 through r10597 from the trunk (no conflicts).

	Merged r10572 from the trunk, resolving the conflict.

	Merged r10571 from the trunk, resolving the conflict.

	Merged r10566 through r10570 from the trunk, resolving the conflict.

	Merged r10556 through r10564 from the trunk (no conflicts).

	Merged r10555 from the trunk, resolving the conflict.

	Merged r10529 through r10554 from the trunk (no conflicts).

	Merged r10528 from the trunk, resolving the conflict.

	Merged r10520 through r10527 from the trunk (no conflicts).

	[src/add1sp.c] The reverse-merge done in r10633 was incorrect. Fixed.

	[src/add1sp.c] Also reverse-merged r10522 (together with related
	whitespace change from r10514), which had nothing to do with the
	faithful rounding. Improvements for 1 limb will be obtained when
	merging the trunk into the faithful branch.

	[src/sqrt.c] Added another FIXME comment for 32-bit machines.

	[src/sqrt.c] Added other FIXME comments for 32-bit machines.

2016-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sqrt.c] Added FIXME comments for 32-bit machines.

	[src/sqrt.c] C90 compatibility.

	[src/sqrt.c] Fixed minor (mainly style) issues found by mpfrlint.

	[tools/mpfrlint]
	  * Added --msg option to err-if-output function to optionally output
	    a message explaining what to do in case of error.
	  * Added this option to 3 err-if-output calls (errors with src/sqrt.c
	    r10636).

2016-07-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] new speedup for 1/2 and 1 limb

2016-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved a sentence.

2016-07-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[faithful] reverse-merge r10524 (had nothing to do with the faithful branch)

	[faithful] reverse-merge parts of r10514 independent of the faithful branch

2016-07-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] mention speedup in mpfr_sqrt

	[src/sqrt.c] faster code for small precision (on tomate.loria.fr, 45 cycles
	for prec=24 instead of 161 before, and 108 cycles for prec=53 instead of
	165 with 3.1.4)

2016-07-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench] Replaced r10505 by r10565 merged from the trunk.

	[doc/mpfr.texi] Improvements in the MPFR_RNDF (faithful rounding) spec.
	Added some notes concerning the reproducibility.

2016-07-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] removed duplicate prototype (cf revision 10625)

	[src/div.c] yet another speedup

	[src/div.c] small improvement

2016-07-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] Declare __gmpn_invert_limb if used (in order to avoid
	an error with g++ for the tests).

2016-07-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] removed wrong assertions (and added comments to explain why)

2016-07-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div.c] Added a FIXME (assertion failure).

	[src/div.c] Untabified.

	[tools/mpfrlint] Update concerning GMP internals.

2016-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] implement use of __gmpn_rsblsh_n (disabled for now)

	[src/div.c] only use __gmpn_invert_limb with --enable-gmp-internals

2016-07-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Require <float.h> to be included in order to be
	  able to use the "long double macros and typedef" part. Moved the
	  IEEE_FLOAT128_MANT_DIG macro definition out of this part.
	[tests/tcmp_ld.c] Added missing #include <float.h>.

	[src/div.c] Added a FIXME as __gmpn_invert_limb is a GMP internal.

2016-07-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] speedup for precision < GMP_NUMB_BITS/2 (by almost a factor 2)

	[src/mul.c] added comment

	[src/div.c] new faster code for 1 limb

	[src/cmp_ld.c] include float.h so that MPFR_LDBL_MANT_DIG is correctly defined
	[src/get_ld.c,src/set_ld.c] added comment

2016-07-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] removed obsolete comment since we no longer use __udiv_qrnnd_ld

	[src/div.c] changed __udiv_qrnnd_ld into __udiv_qrnnd_preinv (no dependency
		    any more on long double)

2016-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div.c] Do not use __udiv_qrnnd_ld for MPFR_LDBL_MANT_DIG > 64.
	Added a comment about __udiv_qrnnd_ld.

	[src/mpfr-longlong.h] Typo.

	[src/mpfr-longlong.h] C89 compatibility.

2016-07-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/div.c] speedup using __udiv_qrnnd_ld

	[src/mpfr-longlong.h] contributed __udiv_qrnnd_ld variant

	[src/div.c] new special code for 1 limb
	[src/mul.c] fixed corner case near underflow

	[src/mul.c] fixed detection of rounding away

	[src/mul.c] fixed underflow *after* rounding
	[tests/tmul.c] fixed a test

	[tests/tmul.c] added underflow test for directed rounding too

	[tests/tmul.c] added test for underflow after rounding (reveals bug in mul.c)

2016-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Clarified comment (it's better not to mention underflow
	before rounding because it is not considered at all in MPFR).

2016-07-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] added comment about underflow before/after rounding

	[src/mul.c] changed MPFR_PREC into MPFR_GET_PREC

2016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] removed a call to MPFR_LIKELY which is unlikely...

2016-07-07  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] i.e. → e.g.

	[src/mul.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).

	[tests/tadd1sp.c] Added tests with EXP(b) < EXP(c), as there are
	  no such restrictions on the exponents for mpfr_add1sp.
	[src/add1sp.c] Fixed mpfr_add1sp when b and c have different signs
	  and EXP(b) < EXP(c).

2016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] speedup in mpfr_mul for one limb (minus 1 bit)

2016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mul.c] speed-up of mpfr_mul for 1 limb (1 limb - 1 bit for the result).
		    Results of mbench for 53 bits on Intel i5-4590:

	before:
	 mpfr_mul:          33 /    37.12 /    42
	after:
	 mpfr_mul:          18 /    20.63 /    24

2016-07-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1.c] Corrected a comment as in practice, b and c do not
	necessarily have the same sign (when called by mpfr_sub).

2016-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] added assertions

2016-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tadd.c] C++ compatibility.

	[tests/tadd1sp.c] Do not use != 0 on predicate function.

2016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] removed special code for n = 1, now that we have a special
		       function mpfr_sub1sp1

	[tests/tadd.c] revert mpfr_add to test_add

	[src/add1sp.c] fixed two bugs in mpfr_add1sp1

	[tests/tadd1sp.c] added one hard-coded test

	[tests/tadd.c] last commit was wrong

	improved check_overflow()

2016-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/urandom.c] Fixed uninitialized emin for nbits == 1
	(thanks GCC's -Werror=maybe-uninitialized).

2016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/urandom.c] should now be ok for nbits = 1

2016-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Change most mpfr_urandomb to mpfr_urandom in the tests?

	[tests/turandom.c] Improved an error message.

	[tests/turandom.c] Corrected English usage in error message.

	[tests/turandom.c] Small precision check: replaced 2 by MPFR_PREC_MIN.

2016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/urandom.c] fixed urandom for a precision of 1 bit

2016-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] About random tests: avoid mpfr_urandomb!!!

	[tests/tadd1sp.c] Use mpfr_urandom instead of mpfr_urandomb.
	This triggers an assertion failure in urandomb.c.

	[tests/tadd1sp.c] Reordered variables. Removed a redundant test.

	[tests/tadd1sp.c] In check_random, check the flags too.

	[tests/tadd1sp.c] Test negative numbers too.

	Removed trailing spaces.

2016-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment

	[src/add1sp.c] removed special cases for n=1 in mpfr_add1sp, now that we have
		       a special routine mpfr_add1sp1

	[mbench/mfv5.cc] added RNDA and fixed typo

2016-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	The rounding mode can now be passed in argument with the -r option
	(patch by Patrick Pélissier).

	Removed MPFR_HOT_FUNCTION_ATTR for mpfr_add1sp1 and mpfr_sub1sp1.

2016-07-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tadd.c] Added FIXME comment: there are many tests, but the
	ternary value and the flags are not tested!

	Functions mpfr_add1sp1 and mpfr_sub1sp1 are called only from the files
	where they are defined, thus can be static.

	[src/add1sp.c] Removed unused variable.

2016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] new special code for 1 limb. In 3.1.4 we add with mfv5:

	 mpfr_add:          30 /    49.30 /    90

	now we have:

	 mpfr_add:          24 /    28.18 /    30

2016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] added comment

2016-07-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Another improvement (suggested by Paul).

	[src/sub1sp.c] Improved readability. With Debian's gcc-snapshot, this
	is equivalent, and with tcc, the generated code is shorter.

	[src/sub1sp.c] No longer depend on the representation of 0.

	[src/sub1sp.c] Various improvements in the coding style: readability,
	consistency, GNU coding style.

2016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[README.dev] added documentation about mpfr-gfx

	[mbench/mpfr-gfx.c] change of syntax of gnuplot

	[src/sub1sp.c] removed dead code, and improved coverage to 100%

2016-07-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Removed incorrect MPFR_SET_EXP (the value was incorrect
	and the real MPFR_SET_EXP is done later, after underflow checking).

	[tests/tsub1sp.c] Added missing printf arguments.

2016-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1sp.c] fixed some FIXMEs

2016-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1sp.c] Added a FIXME.

	[src/sub1sp.c] Avoid a -Wmaybe-uninitialized warning from GCC
	by declaring a variable as initialized (the code is correct,
	GCC isn't just smart enough).

	Removed trailing spaces.

	Added tools/ck-clz_tab sh script to check the __clz_tab sizes
	(to detect issues like the one fixed in r10542). Run this script
	in dist-hook (Makefile.am) and in mpfrlint.

2016-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	resolved a FIXME

	fixed bug reported by <sisyphus1@optusnet.com.au>

2016-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exceptions.c] Added a comment for mpfr_underflow: historical reason
	for the choice of the behavior with MPFR_RNDN.

2016-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	code simplification (suggested by Vincent)

	speedup of mpfr_sub for same precision < GMP_NUMB_BITS

2016-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1sp.c] Corrected indentation.

	[src/sub1sp.c] Added comments.

	[src/add1sp.c] Added comments.

2016-06-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	optimize mpfr_add (and mpfr_sub, not yet finished) for 1 limb

2016-06-29  Vincent Lefèvre  <vincent@vinc17.net>

	Renamed macro MPFR_EXP_LESS_P to MPFR_UBF_EXP_LESS_P.

	[src/add1sp.c] Fixed bug introduced in r10530 when MPFR_WANT_ASSERT >= 2
	(--enable-assert=full).

	[src/add1.c] Re-added the MPFR_ASSERTD. The culprit seems to be r10530.

	[src/add1.c] Reverted r10529, which now fails. That's strange.

2016-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_add1sp does not assume any more EXP(b) >= EXP(c)

2016-06-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add1.c] Added a MPFR_ASSERTD.

2016-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	still faster code for 1 limb

	merged r10522 from faithful branch + other special-code for 1 limb:
	the worst case for mpfr_add in 53 limbs decreases from 70 to 60 cycles

	removed leftover debug statement

	added comment that EXP(b) >= EXP(c)

	mpfr_add1sp no longer assumes EXP(b) >= EXP(c): gives small speedup

2016-06-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Changed "hole" to "gap".

2016-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added special code for 1 limb

2016-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	C++ compatibility.

	Merged the latest changes from the trunk.

	[autogen.sh] Treat autoreconf warnings as errors.

2016-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Some improvements. In particular, avoid two successive
	calls to mpfr_cmpabs on the same arguments (the compiler doesn't know
	that it could optimize, as the function is not pure).

	[src/vasprintf.c] Fixed an assertion failure.

2016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed reuse with --enable-assert

	small speedup of mpfr_add for RNDF

2016-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Correction: r10484 didn't take the latest version from
	the trunk in the conflict resolution.

	[src/sum.c] A more efficient way to support faithful rounding, avoiding
	the TMD completely and an assertion failure at the same time.

	Avoid failures in mpfr_mul for MPFR_RNDF with MPFR_WANT_ASSERT >= 2
	(--enable-assert=full) by disabling the comparison with the old
	implementation, which doesn't make sense for faithful rounding.

2016-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid failures in mpfr_add1sp / mpfr_sub1sp for MPFR_RNDF with
	MPFR_WANT_ASSERT >= 2 (--enable-assert=full) by disabling the
	comparison with mpfr_add1 / mpfr_sub1, which doesn't make sense
	for faithful rounding.

	[Added during the Subversion to Git conversion]
	This commit includes a merge of r10509 from the trunk.

2016-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	Cosmetic change (whitespace).

	Merged the latest changes from the trunk.

	Removed trailing spaces.

	[src/add1sp.c] For MPFR_WANT_ASSERT >= 2 (--enable-assert=full), test
	  the flags too and replaced "mpfr_cmp" by "! mpfr_equal_p".
	[src/sub1sp.c] Make it similar to add1sp.c for MPFR_WANT_ASSERT >= 2.

2016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use macro for the rounding mode used in the tests

2016-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[src/sum.c] Made the code a bit more natural: change of pos to neg
	(an indirect consequence of the support of reused arguments). Some
	other minor related changes.

2016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more tests for RNDF

2016-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	The support of reused arguments in mpfr_sum is now complete, without
	any visible regressions in the timings (which are unfortunately too
	inaccurate to see anything).
	  * doc/mpfr.texi: removed sentences about the previous limitation.
	  * src/sum.c: removed the corresponding FIXME/TODO comment.

	[tests/tsum.c] Test the support of reused arguments.

2016-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	disable mpfr_all_div() for RNDF

	replaced mpfr_cmp by !mpfr_equal_p

	added exhaustive tests for add,sub,mul,div,sqrt

	fixed corner case with RNDF

2016-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added a comment for MPFR_RNDRAW_GEN about the use
	of the exponent field of the destination.

	[src/add1sp.c] For MPFR_RNDF, set inexact = 0 (like what is done in
	sub1.c) instead of 1, though this doesn't really matter.

	[src/sub1.c] Fix: the conflict resolution done in r10484 was incorrect.

	[src/add1sp.c] Avoid the use of uninitialized values with MPFR_RNDF.

2016-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fix for RNDF

2016-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	merged changed from trunk with

	  svn merge '^/trunk'

	(resolved conflict for sub1.c; copied tests/tsum.c from trunk and
	re-incorporated changes from faithful branch)

2016-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	src/li2.c: better like this

	src/li2.c: revision 10379 was ok

	fixed mpfr_all_div() for RNDF

2016-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on branch faithful

2016-06-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Coding style: added spaces.

	[TODO] Suggest the use the keyword "static" in array indices of
	parameter declarations with C99 compilers (6.7.5.3p7) when the
	pointer is expected not to be null.

2016-06-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update (GCC trunk → GCC 5).

2016-06-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Copy the significand to the destination after resolving
	the TMD in order to support reused arguments.

	[src/sum.c] Improved a comment.

2016-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Corrected a MPFR_LOG_MSG modified in the latest change.

	[src/sum.c] For the future support of reused arguments: TMD resolution
	is now done in a specific TMD accumulator, allocated at the same time
	as the main accumulator. This TMD accumulator currently just takes at
	most 2 limbs in practice, so that's not a problem.
	[doc/sum.txt] Added TODO for things that will change.

2016-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Define mpfr_ueexp_t (needed for r10462).

	[tests/tversion.c] Do not use "%zu" with printf (added in r10460).

	[doc/README.dev] Document environment variables that affect the tests.

	Other changes concerning the memory limit for the tests.
	  * Export the tests_memory_limit variable so that it can be accessed in
	    test programs (e.g. read by tversion as mentioned below, or modified
	    by a test program when executed with particular arguments).
	  * In tversion, print a warning when the memory limit has been modified
	    (with the MPFR_TESTS_MEMORY_LIMIT environment variable).

	[tests/memory.c] The MPFR_TESTS_MEMORY_LIMIT environment variable can
	now contain an integer specifying the memory limit for the tests, or 0
	for unlimited, the default still being 2^22 = 4 MB.

2016-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Improved check3:
	  * Also do the tests with output precision MPFR_PREC_MIN;
	    this completes the value coverage for tsum.
	  * Also compare the flags.

	Value coverage for tsum: After r9984 to differentiate sq > MPFR_PREC_MIN
	and sq == MPFR_PREC_MIN, 42 tests were not done for sq == MPFR_PREC_MIN
	on a 64-bit machine. In the check4 test, changed a 2 to MPFR_PREC_MIN.
	This reduces to 12 tests that are not done.

2016-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the "ubf" branch into the trunk:
	  * limited implementation of "unbounded floats" (numbers with a mpz_t
	    exponent), which could be completed in the future, in particular to
	    handle intermediate overflows/underflows in polynomial evaluation;
	  * rewrote mpfr_fmma and mpfr_fmms to use them, and added tests;
	  * restored the MPFR 3.1- exponent range for compatibility;
	  * restored some tests that were based on this exponent range.
	The choice for the UBF implementation was to use a compatible structure:
	the same as the mpfr_t one, with an additional field at the end, used
	only when the exponent field _mpfr_exp has some special value. Thus some
	functions such as addition and subtraction just needed minor changes to
	support UBF, and no code was duplicated. This means that on MPFR numbers
	(the usual case), one has a few more tests than before, but with known
	branch probabilities. In practice, this should not be visible, at least
	in most applications. This was more or less confirmed by timings (even
	with many additions/subtractions in low precision, this was difficult
	to say, as timings were influenced by various parameters that we cannot
	control).

	Merged the latest change from the trunk (r10452).

	[tools/mbench/Makefile] Added multiarch support for GMP.

	[src/mpfr-impl.h] Updated a comment (removing a FIXME).

	Merged the latest change from the trunk (r10449).

	[tests/tprintf.c] Removed tests of native %'g and %'f (from r8292)
	as the ' flag is an extension from Single UNIX Specification and
	in particular, they fail with MinGW under Wine.

	Merged the latest changes from the trunk.

	[tests/tlgamma.c] Typo in comment.

	[src/uceil_log2.c] Added a comment. Cosmetic changes.

	[tests/tlgamma.c] Corrected updated comment from r10444.

2016-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tlgamma.c] Updated comment of the test added in r10442.

	[src/uceil_log2.c] Correction in __gmpfr_ceil_log2, avoiding an
	incorrect result with tcc: x.s.exp is declared as an unsigned
	bit-field, so that tcc considers that x.s.exp - 1023 is unsigned.
	However, since all the values of x.s.exp are representable in an
	int, according to the integer promotion rules, x.s.exp should be
	converted to an int, so that the subtraction is signed. So, this
	appears to be a bug in tcc.

	[tests/tlgamma.c] Added a test causing a "too much memory" error with
	tcc 0.9.27~git20151227.933c223-1 (there's already one in special(),
	but this one is a simpler, standalone test).

	Merged the latest change from the trunk (r10440).

	[acinclude.m4] When checking if __float128 is available, we now also
	check whether C99 constants (in particular the __float128 ones, such
	as 0x1.fp+16383q) are supported since this is now required with the
	__float128 support.

	Merged the latest changes from the trunk.

	[src/add1.c] Improved a comment about faithful rounding.

	[src/add1.c] The code for faithful rounding (MPFR_RNDF) was not
	avoiding some useless loops needing to know on which side of a
	breakpoint the result is. Quick fix.

	Merged the latest changes from the trunk.

	[src/add1.c] Simplified code: removed fb = 1 since it was already 1
	in the "if (fb > 0)" branch.

	[src/set_float128.c] Fix: removed the divisions by zero, replacing them
	by comparisons with the maximum finite binary128 number. Changes to be
	similar to the handling of infinities in "src/set_ld.c".

	[TODO] Faithful rounding: small correction.

	[TODO] Added "faithful rounding", with information about its definition
	and implementation.

2016-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{fits_intmax.c,fits_s.h}] In comments, fit → fits.

	[src/set_float128.c] Added FIXME comment: The mpfr_set_float128 code
	generates a divide-by-zero exception. Suggest a solution.
	Note: this is detected with "-DMPFR_TESTS_DIVBYZERO -DMPFR_ERRDIVZERO".

	[tests/tset_float128.c] Take into account failures in division by 0
	and absence of signed zeros. Also fixed the code checking the sign
	of 0 (mpfr_sgn cannot be used for that since it returns 0 for ±0).

2016-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	RNDF: fixed the fits functions

2016-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest change from the trunk (r10426 fix).

	[src/set_d.c] Added some assertions and fixed a 32-bit shift count
	when GMP_NUMB_BITS == 32.

	Merged the latest changes from the trunk (C++ compatibility).

	[tests/tset_float128.c] C++ compatibility.

	[tests/tlog.c] Added a cast to mpfr_rnd_t for C++ compatibility.

	[tests/tfmma.c] Forgot a cast to mpfr_rnd_t for C++ compatibility.

	[src/add1.c] Completed UBF support. Note: due to the restriction
	on the exponent values, diff_exp does not need to be the unsigned
	integer type mpfr_uexp_t (mpfr_exp_t is sufficient).

	[tests/tfmma.c] Correction.

	[tests/tfmma.c] Test (1/2)x + (1/2)x = x near underflow.

	[tests/tfmma.c] Replaced precision 64 by GMP_NUMB_BITS (to make sure
	that the add1sp and sub1sp conditions are satisfied with the current
	src code, these tests may rely on the fact that there are no trailing
	bits, i.e. that the precision is a multiple of GMP_NUMB_BITS).

2016-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference for Lambert W function

2016-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{add,sub}.c] Consider UBF numbers as special cases so that
	mpfr_sub1sp and mpfr_add1sp, which do not support UBF, are never
	called on UBF numbers. This should also (very slightly) speed up
	the normal cases.

	[src/mpfr-impl.h] UBF support: added MPFR_IS_SINGULAR_OR_UBF and
	MPFR_ARE_SINGULAR_OR_UBF macros.

2016-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	declare prec in unsigned long

	RNDF: specified the fits functions

	RNDF: fixed tfactorial

2016-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	C++ compatibility (corrected).

2016-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	RNDF: fixed texp2

	avoid mpfr_printf in tests

	C++ compatibility

	suggestion from Vincent

	RNDF: fixed texp10 and tgeneric

	RNDF: fixed mpfr_sum and tsum

	RNDF: fixed texp

2016-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfmma.c] Added test cases where the precision of the result
	is twice the precision of each input, which can currently involve
	add1sp.c and sub1sp.c code.

2016-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	RNDF: partially fixed texp

	RNDF: fixed tcot

	RNDF: fixed tcos

	RNDF: fixed tconst_pi

	RNDF: fixed li2 and tconst_log2

2016-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

	[src/exceptions.c] Fixed the MPFR_LOG_FUNC in mpfr_underflow and
	mpfr_overflow (x is not an input in these functions).

	[src/sub1.c] In r10347, logging was introduced instead of #ifdef DEBUG
	and printf. Removed 2 MPFR_LOG_VAR, as the variable is not normalized
	yet. Re-added #ifdef DEBUG for the MPFR_LOG_MSG's since this may be
	too low level and not much useful except in case of bugs.

2016-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	RNDF: fixed issue with Bessel functions for large arguments

2016-05-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added description of flags for RNDF

2016-05-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Forgot a \n in a log message.

2016-05-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typos

2016-05-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Completed UBF support.

	Merged the latest changes (in particular the fix in sub1.c) from the
	trunk.

	[tests/tsub.c] Added comments for check_max_almosteven (latest
	test case, added in r10383).

2016-05-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on the faithful branch

2016-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Fixed bug in mpfr_sub1 (real subtraction a = b - c, with
	  |b| > |c|): In MPFR_RNDN (round-to-nearest mode), when
	    * |b| is the midpoint between the maximum finite number in the
	      precision of a and 2^emax (the maximum finite number + 1 ulp),
	      which is possible only if PREC(b) > PREC(a),
	    * c is small enough (i.e. no overlap with a and b),
	  mpfr_sub1 returns an infinity (with overflow flag set) instead of
	  ± the maximum number (no overflow). The cause is that an overflow
	  is generated too early, in an intermediate rounding.
	[tests/tsub.c] Added test cases.

	[tests/tfmma.c] Forgot a \n in printf.

	[tests/tfmma.c] Added overflow tests that trigger an assertion failure
	in sub1.c (because UBF support is not complete yet).

2016-05-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	start implementing RNDF (work in progress)

2016-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/log_ui.c] Changes for ISO C90 compatibility.

	[src/mpfr-gmp.h] For _MPFR_IEEE_FLOATS, changed bit-field type from
	unsigned long, which is implementation-defined, to unsigned int.

	[src/log_ui.c] Added an assertion.

	[src/mpfr-impl.h] Fixed bug introduced in r10327, giving:
	error: ISO C does not allow extra ';' outside of a function [-Wpedantic]

2016-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved mpfr_log_ui

	added comment

2016-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] mpfr_ai efficiency: also mention mpfr.texi (the issue with large
	arguments has always been documented).

	[TODO] mpfr_ai efficiency: mention tests/tai.c (the REDUCE_EMAX was
	added in r6734).

2016-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item about efficiency of mpfr_ai for large arguments

2016-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Also clarified the use of "configure".

	[doc/README.dev] Clarified the use of "autogen.sh".

2016-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use autogen.sh

	added libtoolize (needed for AX_PTHREAD)

2016-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tlog_ui.c] Improved a test function.

	[acinclude.m4] Fixed the use of m4_pattern_forbid: the argument must
	be quoted, otherwise the macro is expanded when defined.

2016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	small improvements to log_ui (still slower than log for large precision)

2016-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Detect whether the AX_PTHREAD macro is left unexpanded.

2016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use rounding to nearest by default in "tconst_log2 prec"

	minor changes to allow ./tlog xxx prec

	added generic tests for mpfr_log_ui + compare with mpfr_log

2016-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Started to add UBF support (still incomplete).

	Merged the latest changes from the trunk and removed the remaining
	_MPFR_PROTO of UBF functions.

	Removed _MPFR_PROTO with the following Perl script on the .h files.
	  while (<>) { if ($c) { die if /_MPFR_PROTO/; s/^( {$c}) */$1/;
	  s/\) *\)/)/ and undef $c } elsif (s/^(.*)(_MPFR_PROTO *\()\(/$1(/)
	  { s/\) *\)/)/ or $c = 1 + length $1 } print }

	[configure.ac] Re-added AM_PROG_AR in case Microsoft lib.exe is used
	(without this, "automake --warnings=all" gives a warning).

	[acinclude.m4] Replaced the obsolete ACX_PTHREAD by AX_PTHREAD
	(done with "autoupdate acinclude.m4").

	[configure.ac] Moved LT_INIT near the top for --enable-lto, and removed
	AM_PROG_AR (no longer needed as done by LT_INIT) and AC_PROG_RANLIB
	(obsoleted by LT_INIT).

	Avoid some warnings with "gcc -Wundef".

	[configure.ac] Removed a FIXME fixed in r4482.

	[src/mpfr-longlong.h] Update from GMP 6.1.0.

	[src/mpfr-cvers.h] Fixed typo in a macro (thanks to Patrick Pélissier).

	[src/sub1.c] Various minor improvements:
	  * Some changes related to the exponents and diff_exp.
	  * Coding style + use of IS_POW2.
	  * Use logging instead of #ifdef DEBUG and printf.

2016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed too aggressive MPFR_LIKELY/MPFR_UNLIKELY (see README.dev)

2016-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	Added optional LTO support (from a patch by Patrick Pélissier).

	Corrected mpfr_free_cache behavior when WANT_SHARED_CACHE is defined
	to make it consistent with the behavior when WANT_SHARED_CACHE is not
	defined (patch by Patrick Pélissier).

	[src/vasprintf.c] Output the sign of UBF like with infinities.

	[tests/tfpif.c] Correction on r10338: use src_fopen instead of fopen
	and check fp (just like with FILE_NAME_R).

	[tests/tfmma.c] Completed near_overflow_tests (there's still a crash,
	this time really in fmma.c).

	[tests/tfmma.c] Added near_overflow_tests, which crashes.

2016-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new (read-only) test file for mpfr_fpif_import

	added tests for mpfr_fpif_import with precision > MPFR_PREC_MAX

2016-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk.

	Updated NEWS about shared caches.

	MPFR 3.2(.x) → 4.0(.x)

	[NEWS] New function mpfr_buildopt_sharedcache_p in MPFR 3.2.
	[doc/mpfr.texi] New function mpfr_buildopt_sharedcache_p. Minor changes.

2016-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] About the MPFR_DECL_INIT_CACHE macro:
	  * Added a FIXME comment about a possible warning due to a missing
	    field initializer; suggest 2 possible solutions.
	  * Improved code readability.

	[src/free_cache.c] Avoid duplicated source code for maintainability.

	[doc/mpfr.texi] Corrections about caches.

	[src/mpfr-thread.h] For #error, use a string literal as a single
	preprocessing-token.

	[src/mpfr-thread.h] Coding style.

	Minor comment & coding style corrections on r10327.

	Added shared cache support (from a patch by Patrick Pélissier).

2016-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for mpfr_fpif in precision 1

2016-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	More UBF support:
	  * mpfr-impl.h, ubf.c: added mpfr_ubf_zexp2exp function.
	  * add1.c: support the case where b (the first input) is an UBF.

	[tests/tfmma.c] Added max_tests.

	[src/ubf.c] Memory leak in some case.

	Added UBF support for mpfr_cmp2.

	ABS(SIZ(x)) → ABSIZ(x)

	[src/ubf.c] Support reduced exponent range in mpfr_get_zexp.

2016-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	redefine mpfr_init_set_xxx with mpz_t pool, otherwise the pool is not
	used for those calls

2016-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	Started to implement unbounded floats (UBF) and added support in some
	existing functions.

	Also reverse-merge r9960 (due to the previous ones).

	Also reverse-merge r9958, r9961 and r9962 (due to the previous ones).

	First, reverse-merge r9975 and r9957 (whose only purpose was for fmma,
	but changed the exponent range and still had various issues).

2016-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment about MPFR_MY_MPZ_INIT

2016-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Replaced a comment by a MPFR_ASSERTD.

	[src/vasprintf.c] Code simplification.

	[src/vasprintf.c] Replaced a comment by a MPFR_ASSERTD.

	[src/print_raw.c] Changes for mpfr_print_binary / mpfr_dump:
	  * Support out-of-range exponents as this function is mainly for
	    debugging purpose (TODO: add some warning for such exponents).
	    See: https://sympa.inria.fr/sympa/arc/mpfr/2016-01/msg00061.html
	  * Support _MPFR_EXP_FORMAT == 4 (format used for testing).

2016-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfmma.c] Corrections and improvements in random_test.

	[tests/tfmma.c] Replaced mpfr_cmp by the stronger mpfr_equal_p.

	[tests]
	  * tadd_ui.c: clean-up (a boolean test doesn't need "!= 0").
	  * tsub_ui.c: check that the NaN flag is set on NaN.

	[src/mpfr-impl.h] Added IS_SIGNED macro to check whether an integer type
	(after integer promotion) is signed; and use it for MPFR_EXP_IN_RANGE.

2016-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ui_sub.c] Improved code style and assertions, making mpfr_ui_sub
	more like mpfr_add_ui and mpfr_sub_ui. Added comments.

	Partly rewrote mpfr_add_ui and mpfr_sub_ui (more similar to the
	mpfr_ui_sub code), solving the failures.

	[tests/tgeneric.c] Check NaN argument, mainly in order to check the NaN
	flag when the result is NaN (almost all cases). This makes both tadd_ui
	(ignoring the new test done in r10298) and tsub_ui fail.

2016-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test case for bug reported by Rob (sisyphus1@optusnet.com.au)

2016-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fmma.c] Added FIXME comments.

2016-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	Added MPFR_EXP_IN_RANGE macro, and replaced some tests to use it.

	[src/fma.c] Minor code simplification.

2016-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	Improved code related to mpfr_set_exp_t:
	  * Define MPFR_EXP_LIMB_SIZE macro (size of mpfr_exp_t in limbs)
	    and use it.
	  * src/pow.c: replaced a mpfr_init2 by MPFR_TMP_INIT1.

2016-05-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment about printing decimal floats

2016-05-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Minor improvements.

2016-05-12  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Added a comment about GMP CC/CFLAGS detection.

	[configure.ac] Better GMP CC/CFLAGS detection (based on a patch by
	Patrick Pélissier).

2016-05-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	add -P option to cpp when detecting CC/CFLAGS in gmp.h (workaround for gcc-5)

2016-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/Makefile.am] Reverted the change done in r10283 as the mpfr.info
	  file was always rebuilt.
	[Makefile.am] Execute check-typography from dist-hook instead.

	[Makefile.am] Add doc/check-typography to the tarball as it is needed
	  to rebuild the mpfr.info file if the mpfr.texi file is modified.
	[doc/check-typography] Added copyright notice and explanations.

	[doc/check-typography] Removed useless parentheses.

	Detect typography ambiguities in doc/mpfr.texi ASAP: to avoid errors
	due to implicit rules, it is better to explicitly make clear whether
	a punctuation mark ends or does not end a sentence.
	  * Added doc/check-typography sh script to detect such typography
	    ambiguities.
	  * doc/Makefile.am: automatically execute this script before mpfr.info
	    is rebuilt; fail with explanations in case there are ambiguities.
	  * doc/mpfr.texi: avoid typography ambiguities.
	  * tools/mpfrlint: replaced the old typography check by a call to the
	    check-typography script (which does more checks).

	[doc/mpfr.texi] Typographic correction on the latest addition.

	[doc/mpfr.texi] The MPFR_ and mpfr_ prefixes are reserved for MPFR.

2016-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Clean-up.

2016-04-21  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved the GMP CC/CFLAGS detection: the test for $cpp
	was not checking whether gmp.h could actually be included, so that the
	code was outputting "yes" even when gmp.h was not installed.

	[NEWS] Added: Limited pkg-config support.

	Added pkg-config support (patch from Kip Warner + some changes).

2016-04-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	typo

2016-04-20  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Improved warning message for the "long double" test.

	[configure.ac] "double format" test: changed the AC_MSG_ERROR (when
	not recognized) to AC_MSG_WARN (like with long double).

	[configure.ac] No longer include <stdint.h> in the "double format" test
	(it is unnecessary and doesn't exist everywhere).

	[acinclude.m4] Typo.

2016-04-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Updated a comment about Cygwin and Unix.

2016-04-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Fixed bug triggered when the command for err-if-output
	has empty arguments (this does not occur yet).

2016-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Output the status of the __GMP_LIBGMP_DLL and
	MPFR_WIN_THREAD_SAFE_DLL macros (since unreliable consistency checks
	have been removed in r10260).

	[src/mpfr-impl.h] Removed the detection of possible inconsistencies
	under Unix because the tests could yield spurious errors with Cygwin32
	or other similar implementations. Moreover, such tests were used for
	debugging purpose or to detect potential problems in the environment,
	thus were not really useful for the end user. They were initially
	added in the win-thread-safe-dll branch (r9682, following a problem
	found in r9680). One alternative for checking by the MPFR developers
	would be to output the status of some internal macros in tversion.

	[tools/mpfrlint] Use err-if-output also for external checkers.

	[tools/mpfrlint] Better choice of a variable name.

2016-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	revert changeset 10255

2016-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint]
	  * Switched to zsh.
	  * Much more meaningful error messages.
	  * Fix: in the mpfr.texi punctuation test, ignore the comments.

2016-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch for Cygwin (cf https://trac.sagemath.org/ticket/20380)

2016-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2016-04-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Document mpfr_dump (which has always been there).
	[src/dump.c] Added a comment (with TODO).

	Replaced various instances of mpfr_print_binary + newline (sometimes
	missing) by mpfr_dump.

	[tests] Fixed typo in error messages.

2016-04-01  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Mention ISO/IEC JTC 1/SC 22/WG 21 N3060 (C++ special functions).

2016-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Removed incorrect note about NetBSD/alpha: The configure
	script distributed with the MPFR 3.1.4 tarball does not contain anything
	related to the -mieee GCC option; this just seems to be a particular
	pkgsrc issue for NetBSD:
	  http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/mk/platform/NetBSD.mk?rev=1.48&content-type=text/x-cvsweb-markup
	  https://www.google.fr/search?q=pkgsrc+%22mieee%22
	where -mieee is added. The -mieee-with-inexact option added in the MPFR
	3.1 branch might yield the same error with the buggy GCC versions, but
	this is now obsolete in the trunk (the code was removed in r10152).

2016-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added note about NetBSD/alpha

2016-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Added a summary of the timings, copied from:
	  ^/misc/sum-timings/results/ReadMe@10244

2016-03-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Updated comment of bug20160315 after fix in 3.1 branch.

	[tests/tsum.c] Added bug20160315 (this bug appears when porting sum.c
	for MPFR 3.1.4 but does not appear in the trunk).

2016-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Some clarification in the TMD case.

	[doc/sum.txt] Added a proof that the choice for the size ts of the
	temporary area is sufficient.

	[doc/sum.txt] Replaced e by ε for the error (e is already used).

	[doc/sum.txt] Update about t' in the error analysis.

	[doc/sum.txt] More about the notion of exponent in two's complement.

2016-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Update about sum_raw (with a correction of a typo).

2016-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Rewrote paragraph about limitations.

	[src/sum.c] Corrected comment: 32/64-bit machine → 32/64-bit ABI.

	[src/sum.c] Use UPDATE_MINEXP when necessary; added comments.

	[src/sum.c] Added a comment about corner cases involving huge
	precisions, which should never occur in practice.

	[src/sum.c]
	  * Added some MPFR_ASSERTD that correspond to properties used in the
	    proof corrected in doc/sum.txt r10221.
	  * Added a test for corner cases that will/can probably never occur
	    in practice.

	[doc/sum.txt] Improved explanations and corrected a proof.

	[doc/sum.txt] Added a figure.

	[doc/sum.txt] Clarifications.

2016-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] GMP → the current version of GMP (6.1.0).

	[doc/sum.txt] Another clarification.

	[doc/sum.txt] Clarification about a reiteration in sum_raw with
	explanation closer to the code.

	[src/sum.c] Clarification of comments about "sum.txt".

	[src/sum.c] Added comments and an MPFR_ASSERTD for sum_raw().

	[doc/sum.txt] Clarification.

	[doc/sum.txt] Update (mainly related to two's complement).

	[INSTALL] More information about MinGW and __USE_MINGW_ANSI_STDIO.

2016-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Corrected 2 typos found by PZ.

	[doc/sum.txt] Added commas.

	[doc/sum.txt] Added info about an exact zero result and IEEE 754 / 1788.

	[doc/sum.txt] A bit more about the choice of two's complement for the
	accumulator.

	[doc/sum.txt] Explanation concerning the choice of two's complement for
	the accumulator.

2016-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update about MinGW and __USE_MINGW_ANSI_STDIO.

	[INSTALL] Some improvement about MinGW and __USE_MINGW_ANSI_STDIO.

	[TODO] With MinGW, build with -D__USE_MINGW_ANSI_STDIO by default?

2016-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved --help messages for decimal-float and float128
	(a bit like what was done for thread-safe).

2016-03-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated NEWS for decimal floats and __float128

	set --enable-float128 to "autodetect" by default (like --enable-decimal-float)

2016-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] For testing the lack of subnormal support.

	[acinclude.m4] Also fixed the test for subnormal double-precision
	numbers, in case an extended precision / exponent range is used
	(however the test is not guaranteed with non-conforming compilers).

	[acinclude.m4] Fixed test for subnormal single-precision numbers.

2016-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added a separate configure test for subnormals in the "float" format

2016-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4,configure.ac] Various fixes in error messages.

	[TODO] Update ICC detection.

2016-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	autodetect support for decimal floats (as suggested in revision 10179)

2016-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ieee_floats.h] Comment update.

	[tests/tversion.c] Another improvement, just in case Clang no longer
	defines __GNUC__ in the future.

	[tests/tversion.c] Improved output of compiler information.

	[src/ieee_floats.h] No longer use a NaN memory representation because
	it was fixed thus could be either a qNaN or a sNaN, depending on the
	machine. Moreover the choice is to generate a qNaN, in particular due
	to lack of sNaN support by compilers.

	Do not build with decimal float by default as it is not standard
	(a better behavior could be to auto-detect).

	Updated comments about DBL_NAN, dbl_nan.d and qNaN / sNaN encoding.

	[src/get_flt.c] Updated FIXME comment: idea of a solution...

	[src/get_flt.c] FIXME: The code assumes the IEEE-754 binary32 format
	with subnormal support.

	[tests/tget_flt.c] Do tests that may involve subnormals only
	if HAVE_DENORMS is defined.

2016-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_*.c] Use the DOUBLE_ISNAN macro for _Decimal64, __float128 and
	long double like what is done for double; on platforms where d != d is
	not wrongly optimized to false, this should not change anything. Also
	added some MPFR_UNLIKELY for special cases of _Decimal64 and __float128,
	as this is already done for double and long double.

	[tools/mpfrlint] Detect some uses of "x != x" and "x == x".

2016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	recognize icc (which might define __GNUC__)

2016-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added a comment about non-IEEE-754 environment.

2016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	HAVE_DOUBLE_IEEE_LITTLE_SWAPPED is not supported

2016-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Quote the argument of all AC_MSG_RESULT and AC_MSG_ERROR
	when it is longer than a word, as already done in most cases (this is
	safer in case we modify the text and add a comma).

	[tests/tset_float128.c] Better cast.

2016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use DOUBLE_ISNAN() instead of f == f

	updated

	updated paragraph on AIX/PowerPC

	added more details in case of error

	harmonize configure message against GMP

	updated with mpfr-3.1.4-rc2

	fixed detection of "double" format, and removed
	HAVE_DOUBLE_IEEE_LITTLE_SWAPPED, since we have no machine to test it

	removed leftover debug statement

2016-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	Removed "The IEEE code for double needs GMP internal files." from
	doc/README.dev as this is no longer the case since r10150.

2016-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	speedup in mpfr_set_d and mpfr_get_d

	improved detection of decimal floats
	removed (obsolete?) #define XDEBUG in mpfr-gmp.h

2016-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Removed old code for Alpha (as suggested by Paul).
	It was no longer tested.

	[configure.ac] Added a FIXME comment about a possible misuse of
	AC_RUN_IFELSE programs that can return several values.

2016-02-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	get rid of dependency from GMP for _GMP_IEEE_FLOATS and ieee_double_extract
	enable decimal float by default

2016-02-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Also detect the use of ASSERT_ALWAYS (forbidden).

	Replaced the remaining ASSERT_ALWAYS by MPFR_ASSERTN.

	[NEWS] Removed a useless note (as the ABI has already changed).

	[NEWS] Update about MinGW: "Added support for thread-safe DLL" as
	this was more than a fix of the test suite with r9684,9778.

	[NEWS] Added "MinGW: Avoid failures in the test suite for shared builds
	with TLS." (fix in r9891).

	[INSTALL] Removed an obsolete sentence about MinGW and shared builds
	with TLS (the failures in the test suite were avoided in r9891).

	[tests/Makefile.am] Comment update.

2016-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	About "config.h" inclusion: code consistency; removed obsolete comment.

	[tests/tversion.c] Output availability of intmax_t/uintmax_t based
	functions and *printf functions.

	[src/printf.c] Added a blank line for more readability.

	[doc/README.dev] Added a note about the "config.h" inclusion.

	[tests/tversion.c] Let's group the features together.

	[tests/tversion.c] Output support status of modifiers in gmp_printf.

	Added mpfr_buildopt_float128_p function.

	[doc/mpfr.texi] Removed old comments.

2016-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_str.c] Correction (with no noticeable effect).

	[tools/mpfrlint] For codespell, skip the openout.* files, which are
	created by "make pdf".

	[src/sum.c] Minor FIXME comment update.

	[doc/sum.txt] Updated introduction.

	[tools/announce-text] Check the files on the mpfr.org web server.

	[tools/announce-text] Added a comment.

	[tools/announce-text] Update for release candidates.

	[doc/mpfr.texi] Fixed a warning with "make info".

	Added tools/ck-news Perl script to check the NEWS file.
	In Makefile.am:
	  * run this script in dist-hook for "make dist";
	  * added this script to EXTRA_DIST as it is used in dist-hook.

	[tools/announce-text] Take into account $vers setting.

	[tools/announce-text] Replaced MD5 by SHA256.

2016-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/update-version] Correction for new perl versions.

2016-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	unified description of mpfr_eint

2016-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{cmp_d.c,cmp_ld.c}] Bug fixes: mpfr_cmp_d (resp. mpfr_cmp_ld) was
	setting the NaN flag when the double (resp. long double) was a NaN and
	could return an incorrect result (assertion failure in debug mode) in
	reduced exponent range.

	[tests/{tcmp_d.c,tcmp_ld.c}] Added a test in reduced exponent range.

	[tests/{tcmp_d.c,tcmp_ld.c}] Full test of the flags for NaN → failure.

	[tests/{tcmp_d.c,tcmp_ld.c}] GNU coding style.

	[tests/tcmp_d.c] GNU coding style.

	[doc/sum.txt] Update about the suggestion to split the inputs for
	Demmel's algorithm.

2016-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a reference to the build-multi script.

	Removed the tools/build-multi script (already in ^/misc).

	Added tools/build-multi zsh script to build and install multiple MPFR
	versions, and add XML library descriptors for ABI Compliance Checker.

	[tests/tagm.c] Also do the test with a = b in precision 2 (since the
	same bug occurs in the 3.1 branch, which doesn't support precision 1).

2016-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed error analysis for gamma_inc continued fraction

2016-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfmod.c] Test that triggers the bug fixed in r10054: run it
	also in the extended exponent range in order to make the test fail
	when ported to the 3.1 branch.

	[tests/tfmod.c] Renamed a variable since it is not always NaN.

	[tests/tfmod.c] Added a test that triggers the bug fixed in r10054
	without relying on test_generic failure.

2016-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added references in comment

2016-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added error analysis for gamma_inc with continued fraction (to be reviewed)

2016-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt,src/sum.c] mpfr_sum: added support for precision 1.

2016-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more precision about gamma_inc

	added reference to series for incomplete gamma function

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for negative integer a

2016-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfmod.c] Do not use a variable named nan to avoid confusion
	with the nan function of C99 (and possible obscure failures in the
	future, if we include <math.h>).

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference to gamma_inc(-n,x) for current code

	added test to exercise bug fixed in revision 10056

	fixed one test

	fixed bug in mpfr_agm in case a=b but result cannot be exactly represented
	in the target precision: ternary value was wrongly set to 0

2016-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces.

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reduce the time of tgamma_inc

	fixed the number of special tests for 2-argument functions

	fixed stupid error in revision 10054

2016-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Removed mpfr_sum_sort declaration, as this internal
	function had been removed in r9370.

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	avoid computing with huge integers in mpfr_fmod when x/y is very small

2016-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Update about the old mpfr_sum implementation.

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	Clarify the status of mpfr_gamma_inc for the MPFR 3.2 release.

2016-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgeneric.c] Fixed a typo in latest commit, and added min/max
	and max/min special tests for functions with 2 arguments.
	This triggers a failure in tfmod on 64-bit machines at least.

	[src/gamma_inc.c] Improved assertions.

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now mpfr_gamma_inc(a,x) also works for 'a' a negative integer
	(however a and x should not be too large, we should implement
	Legendre's continued fraction for the general case)

	fixed issue in mpfr_eint

2016-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma.c] Added another assertion.

	[src/gamma.c] Added assertions and a comment.

	[src/gamma.c] Removed useless saved_flags as flags are already saved
	by MPFR_SAVE_EXPO_MARK. Removed the comment about about emin/emax as
	emin <= 2 <= emax may not be sufficient (or may be suboptimal).
	After all, MPFR_SAVE_EXPO_* is the usual thing to do...

2016-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	previous commit was incomplete

	fixed bug in mpfr_gamma: flags might be corrupted in case the argument was
	an integer fitting in an unsigned long

2016-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update about patches.

	[tests/troot.c] Compare root(x,2^h) with pow(x,2^(-h)).

	Added bad_cases tests for mpfr_pow_ui and mpfr_pow_si.

	Added bad_cases tests for mpfr_root.

	[src/{fits_intmax.c,fits_s.h,fits_u.h}] Fixed mpfr_fits_* functions
	in a reduced exponent range and debug mode for non-integer numbers
	just above the positive limit.

	[tests/tfits.c] Check a non-integer number just below a power of two.

	[tests/tfits.c] Also run the tests in reduced exponent range.

	[tests/tfits.c] Added tests of non-integer values near the type limits.
	This triggers a flags failure for src/fits_* r9649, corresponding to
	the bug fixed in r9650 (there were no tests for this bug yet).

	[tests/tfits.c] Increased code reuse so that tests could be improved
	more easily (not everything is tested yet).

2016-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tconst_log2.c] Correction for C++ compilers.

	[tests/tcan_round.c] Correction for C++ compilers. Code formatting.

	[src/div.c] Coding style.

	[src/div.c] Added a TODO for value coverage tests.

	[doc/mpfr.texi] Added a comment about mpfr_gamma_inc.

	[tests/tgamma_inc.c] Added a TODO.

	[src/gamma_inc.c] Detect internal overflow in order to avoid taking
	all the memory of the machine, but it is currently not supported:
	assertion failure. This was occurring with a = 2^32 and x = 2^(-32)
	on 32-bit machines (see change in r10019).

2016-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reduced a test with large arguments

2016-02-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma_inc.c] Improved type consistency to avoid integer overflow.

	[src/gamma_inc.c] Added some assertions to detect integer overflow.

	[tests/tgamma_inc.c] C++/C99 comment → C89 comment.

	[src/gmp_op.c] Fixed an assertion that made tgmpop fail on 32-bit
	machines (it became wrong with r9964 and --enable-assert).

2016-02-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Added a FIXME for precision 1 (recently added).

2016-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added formula for gamma_inc(-n,x)

2016-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed item about speeding up const_euler: done since now for x=1.1,
	prec=16610, mpfr_const_euler takes only about 40% of the total time.
	For x=1.1 and prec=100000 it takes only about 14% of the total time.

	fixed the call to mpfr_eint() in gamma_inc, added some tests for gamma_inc

	now mpfr_eint() returns -E1(-x) for x < 0

2016-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/eint.c] Fixed eint(-inf).
	[tests/teint.c] Added a corresponding test.

	[src/si_op.c] Unified coding style and added logging.

	[src] Moved si ops from mul_ui.c, div_ui.c and ui_div.c to si_op.c.

	[src/ui_div.c] Fixed bug in mpfr_si_div when the integer is LONG_MIN,
	visible when using an UB sanitizer (see r9999).
	Note: this integer value is not tested yet in the test suite due to
	the lack of generic tests for mpfr_si_div.

	[tests/{tgeneric.c,tsi_op.c}] Added TODO.

	[src/{div,mul}_ui.c] Fixed bug in mpfr_div_si and mpfr_mul_si when the
	integer is LONG_MIN, visible when using an UB sanitizer (see r9999).

	[tests/tgeneric_ui.c] Added tests of the extreme integer values,
	so that tsi_op fails with a runtime error in si_op.c r9998 when
	using an UB sanitizer (bug fixed in r9999).

	[src/eint.c] Code simplification.

	[src/si_op.c] Fixed bug in mpfr_add_si, mpfr_sub_si and mpfr_si_sub
	when the integer is LONG_MIN, visible when using an UB sanitizer.

	[src/si_op.c] Code formatting.

	[tests/teint.c] Added a test that triggers a runtime error
	at si_op.c:42:31 on an x86-64 Linux machine, using:
	  CFLAGS="-fsanitize=undefined -fno-sanitize-recover"

	[doc/mpfr.texi] Typographic correction.

	[tools/mpfrlint] Avoid false positives in mp_exp_t check.

	[src/eint.c] Updated a FIXME (mpfr_set_exp_t was added in r4333 and
	completed in r5455), with typo from r6789 corrected.

	[doc/mpfr.texi] Updated Section "API Compatibility / Changed Functions":
	mpfr_eint changed in MPFR 3.2.

2016-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	update NEWS/TODO with respect to E1

	oops, eint(x) was wrong for negative x with |x| >= 0.5

	now mpfr_eint(x) returns E1(x) for negative x

2016-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Correction (spelling).

	[tests/tsum.c] Clarified a bit more.

	[tests/tsum.c] Added explanations concerning the check1 test.

	Value coverage for tsum: reduce output length.

	Value coverage for tsum: differentiate sq > MPFR_PREC_MIN and not.

2016-02-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Source on 80 columns.

2016-02-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	extended the check1() test, gives failure on 64-bit processor

	fixed note

2016-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on gamma_inc

	note about memory usage

2016-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma_inc.c] Corrected protection against integer overflow
	(MPFR_PREC_IN_RANGE is just for debug mode).

	[src/gamma_inc.c] Added protection against integer overflow
	(i.e. abort instead of getting incorrect results).

2016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on gamma_inc (only remains the case a=0 and x>0 to implement)

2016-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces.

	[tests/troot.c] In exact_powers, check negative values too.

	[src/root.c] Code simplification.

	TODO update for fmma.

2016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reduced emax

	added a test for exact powers for mpfr_root
	and fixed mpfr_root for negative x (and odd k)

2016-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/root.c] Corrected(?) the check for exact root by adding an
	exactness test for the inverse operation z^k (if unnecessary, it
	needs to be properly proved and documented).

	[src/root.c] Corrected a comment.

	[src/root.c] Some minor changes. Updated comments.

2016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check for an exact root in mpfr_root_aux

	fixed bug in mpfr_root and inefficiency problem with large k

2016-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] For MPFR_IS_PURE_FP(x), when x is a pure FP number,
	check that EXP(x) is in the current exponent range (debug mode).

	[src/exceptions.c] Some changes concerning mpfr_check_range:
	  * Added a note about the case EXP(x) < MPFR_EMIN_MIN.
	  * Do not use the MPFR_IS_PURE_FP() macro as this macro assumes that
	    if the number is not a singular number, then it is really a pure
	    FP number (some assertion checking may be done in debug mode),
	    but this is not necessarily the case here.
	  * Removed an incorrect comment and re-added the MPFR_UNLIKELY for
	    the cases where EXP(x) is outside the exponent range. Indeed,
	    mpfr_check_range is called at the end of most functions, and
	    in most cases, there are no underflows / overflows.

	[tests/texp.c] Added FIXME, as the overflow test, which was specific
	to the 32-bit ABI, is no longer run.

	[tests/tacosh.c] Added a FIXME (huge values no longer tested at all).

	[src/fmma.c] Removed unused code.

2016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added code to compare mpfr_root with exp(log(x)/k)

	reduce MPFR_EMAX_DEFAULT by 2, and modify some tests cases assuming
	MPFR_EMAX_DEFAULT=2^30-1

	fixed fmma failure

2016-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exp.c] Simplified exponent range setting in special case.

2016-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed test_generic() calls to start from MPFR_PREC_MIN instead of 2;
	this revealed a special-case code in mpfr_exp which didn't work for prec=1

2016-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] Do the significand parity test only for precision > 1.

2016-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated NEWS and mpfr.texi for MPFR_PREC_MIN=1

	MPFR_PREC_MIN is now 1, in accordance with the next revision of IEEE-754
	fixed tests to start at MPFR_PREC_MIN instead of hard-coded value of 2

	fixed test which was assuming MPFR_PREC_MIN=2

	fixed to correctly check prec=1

	prepare for MPFR_PREC_MIN=1

	fixed tcheck for MPFR_PREC_MIN=1

	prepare mpfr_pow to work for precision 1

2016-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Mention the Caramba project-team.

	Replaced
	  Contributed by the AriC and Caramel projects
	by
	  Contributed by the AriC and Caramba projects

2016-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment about gamma_inc

2016-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma_inc.c] Added assertions.

2016-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on gamma_inc

	fixed some special values for gamma_inc

2016-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] FIXME: Clarify the status of mpfr_gamma_inc for
	the MPFR 3.2 release.

2016-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	completed "Added Functions" section

2016-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Typographic correction.

	[src/div.c] Fixed bug introduced in r9902 and visible in the tests
	on 32-bit machines.

	[src/root.c] Added TODO for code rewrite (discussion between VL and PZ).

	[tests/troot.c] Also check that root(0,0) is NaN to make sure that such
	special cases are considered in the right order in the implementation.

	[doc/mpfr.texi] Completed mpfr_root description: the 0th root gives NaN.

	[src/root.c,tests/troot.c] Removed obsolete code that was commented out;
	some cleanup.

	[src/root.c] Comment correction (again).

	[src/root.c] Comment correction to avoid a variable name with several
	meanings.

	[src/root.c] Simplified code and corrected comment.

	[src/root.c] Corrected a comment and added an assertion (see r9923).

	[src/root.c] Added a FIXME comment.

	[tests/troot.c] Typo in a comment.

	[tests/troot.c] Added tests showing a bug in mpfr_root on large
	integer arguments (found thanks to a bug in GNOME Calculator:
	<https://bugzilla.gnome.org/show_bug.cgi?id=756960>).

	Style: use RND_LOOP; mpfr_can_round returns a Boolean-like value.

2016-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{erandom.c,nrandom.c}] Updated a reference.

2016-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_can_round -> MPFR_CAN_ROUND

2016-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated FIXME for mpfr_can_round.

	[doc/mpfr.texi] Added a FIXME for mpfr_can_round. Still incorrect...

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Corrected note about mpfr_can_round.

2016-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	refactor the exhaustive search code in mpfr_const_log2

	mpfr_round_p -> MPFR_CAN_ROUND

	mpfr_can_round -> MPFR_CAN_ROUND

	mpfr_can_round -> MPFR_CAN_ROUND

	use MPFR_CAN_ROUND instead of mpfr_can_round/mpfr_round_p

	rounding test was wrong for rounding to nearest

	replace mpfr_can_round by mpfr_round_p

2016-02-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_prec.c] Added a TODO to improve the mpfr_can_round_raw
	efficiency by only doing a bit inspection (no mpn operations).

2016-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcan_round.c] Added test of mpfr_round_p with powers of two
	(similar to the one done in src/round_p.c for MPFR_WANT_ASSERT >= 2).

	[tests/tcan_round.c] Updated description: mpfr_round_p is also tested
	in check_round_p (and will be in test_pow2).

2016-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now mpfr_round_p() always requires normalized input

2016-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/div.c] Added an assert based on comments in the code.

	[src/round_p.c] Some corrections in comment.

2016-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added a comment

2016-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_p.c] Fixed mpfr_round_p for MPFR_WANT_ASSERT >= 2, as
	mpfr_round_p accepts non-normalized inputs (as decided in r9897),
	but not mpfr_can_round_raw (as decided in r9883).

2016-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	the inputs of mpfr_round_p might not always be normalized

2016-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed FIXME

2016-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved consistency in messages.

	[doc/README.dev] Updated instructions on how to cross-compile MPFR
	for MinGW (i586-mingw32msvc) and test it under Wine.

2016-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	Cleanup of memory allocation in the tests:
	  * only tests_allocate, tests_reallocate and tests_free should be used
	    (now exported instead of mpfr_default_allocate, etc.);
	  * this is now mentioned in doc/README.dev;
	  * added checks to tools/mpfrlint (heuristics as usual).

	Note: This follows the discussion at
	  https://sympa.inria.fr/sympa/arc/mpfr/2015-12/msg00055.html
	and should solve these problems under MS Windows (mingw32), though this
	cleanup is more general than an attempt to fix a Windows issue.

2016-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed case when prec > bn * GMP_NUMB_BITS and directed rounding

	typo

2016-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcan_round.c] Updated comment and corrected condition on prec.

	[tests/tcan_round.c] Updated comments.

	[src/round_p.c] Added an assertion (similar to what was added to
	mpfr_can_round_raw). This triggers failures, which could also be
	detected with MPFR_WANT_ASSERT >= 2, due to the fact that mpfr_div
	can internally generate a number that is not normalized before a
	rounding test.

	[src/round_prec.c] Updated comments.

2016-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more work on mpfr_can_round

	fixed bug in mpfr_can_round for input = 2^k

2016-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Replaced "Rounding Related Functions" by
	"Rounding-Related Functions" (thanks to Keith Briggs for the remark).

	[tests/tcan_round.c] Added tests for powers of two. This triggers
	errors. I may have done mistakes, but at least x = 2^32, j = 32,
	r1=MPFR_RNDN, r2=MPFR_RNDN seems buggy.

2016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	simplified

	another detail

2016-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrected mpfr_can_round description again as the
	possible difference is on 0+ = 2^(emin-1), not about overflow.
	Let's just say "assuming an unbounded exponent range".

	[doc/mpfr.texi] Corrected mpfr_can_round description (about overflow).

2016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	yet another improvement

	improved documentation

2016-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Clarified change in r9873.

2016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improve documentation of mpfr_can_round

	also print the rounded value

	added pointer to examples/can_round.c

2016-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[examples/can_round.c] Removed the useless #include <gmp.h> and
	replaced the internal mpfr_dump by mpfr_printf.

2016-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved documentation of mpfr_can_round

	added example on how to use mpfr_can_round

2016-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mention mpfr_set/get_decimal128 for the future (low priority for now)

2016-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_p.c] Code formatting.

2016-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added remark about Ei vs E1

2016-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsqrt.c] Improved bug20160120.

	[tests/tsqrt.c] In bug20160120, check the validity of the result with
	mpfr_check first, because the mpfr_sqrt was generating invalid data.

2016-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_sqrt reported by Fredrik Johansson

	added test case for bug reported by Fredrik Johansson

	added FIXME

2016-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tzeta.c] Added casts for printf.

	[tests/tzeta.c] Some corrections. Made the input value of the latest
	test clear (avoiding a long string at the same time).

2016-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for zeta(s) with s near an even negative integer

2016-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Instructions on how to cross-compile MPFR for MinGW
	(i586-mingw32msvc) and test it under Wine.

	[doc/README.dev] Typo.

	[tests/tgeneric.c] Improved the generic tests in order to trigger the
	mpfr_jn bug found by Fredrik Johansson (r9841) and potential similar
	bugs: For half cases, the precision of the inputs was modified to be
	smaller than the base precision (for the result). Here, this rule is
	changed so that if the base precision is small (< 16), then the
	precision of the inputs is chosen to be significantly *larger* than
	the base precision in general.
	Note: With this improvement, both tj0 and tj1 fail in r9840.

2016-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added references

	added section about gamma_inc

	fixed bug found by Fredrik Johansson

	added reference for eint

2016-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tj0.c] Avoid mpfr_set_d.

2016-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added bug found by Fredrik Johansson in mpfr_j0

	added mpfr_gamma_inc

2016-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma_inc.c] Use MPFR_ARE_SINGULAR.

2016-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	deal with the case where one of a or x is not regular

2016-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/nightly-test] Corrected tests.

2016-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference

2016-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added the incomplete beta function

	incomplete Gamma is now available

	switch to bash and add --enable-decimal-float

	minor modification of documentation for mini-gmp

	added target "make bench"

2016-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	allow tgamma x prec to print gamma(x) to prec bits

2016-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added tgamma_inc to svn:ignore property.

	TODO update.

	[src/fmma.c] Removed trailing spaces.

	[tests/tgamma_inc.c] Portability correction.

	[src/mpfr.h] Improved a comment.

	[src/gamma_inc.c] Various corrections.

2016-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	first version of incomplete Gamma function (work in progress)

2016-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	TODO for correctly rounded polynomials (like fmma).

2016-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	try to fix bugs in fmma (work in progress)

2016-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/log_ui.c] Added a FIXME comment: mpfr_log_ui is much slower than
	mpfr_log on some values of n, e.g. around ULONG_MAX/3.

	[tests/tlog_ui.c] Added tests for n around ULONG_MAX/3.

	[src/log_ui.c] Fixed the computation of p.

	[src/log_ui.c] Removed a mpz_sub_ui(...,1) to match the comment.
	This -1 came from the previous code, but this doesn't change the
	value of k because a multiple of 3 cannot be a power of 2. Also
	renamed a variable.

	[src/log_ui.c] Compute the value of k without rounding (if n was larger
	than 2^53 or even 2^24 due to dynamic x87 precision, the result could
	be wrong) and overflow (3 * n doesn't always fit in a limb).

	[src/log_ui.c] Added assertions.

	[tests/tlog_ui.c] Added tests for n around LONG_MAX.

	[src/log_ui.c] Replaced a comment by an assertion.

	[src/log_ui.c] Added a FIXME (integer overflow for large n).

	[tests/tlog_ui.c]
	  * In the loop, do not test n = 0 and n = 1, because mpfr_can_round
	    always fails for these values, so that the test is pointless.
	  * Check that mpfr_can_round no longer fails (this is possible as
	    we are not doing random tests, i.e. the tested values are known);
	    the additional precision for y had to be increased.
	  * Also test large values of n (ULONG_MAX down to ULONG_MAX-19). When
	    GCC's run-time sanitizer -fsanitize=undefined -fno-sanitize-recover
	    is used, it signals an error for large values of n.
	  * The reference values y are obtained with mpfr_log instead of
	    mpfr_log_ui: indeed we need a different implementation from the
	    tested function, otherwise only the rounding is tested! Without
	    GCC's run-time sanitizer, this shows that mpfr_log_ui is buggy
	    for large values of n.

	[tests] Added tfmma and tlog_ui to svn:ignore property.

	[src/fmma.c] Use MPFR_SET_EXP to get an assertion failure in case of
	out-of-range exponent instead of uncontrolled behavior.

	[tests/tfmma.c] Added tests that trigger an error.

	[src/fma.c] Added a comment for the new code.

2016-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Tests in lexicographic order.

2016-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	in tests, removed #if MPFR_VERSION >= MPFR_VERSION_NUM(2,x,y)

	forgot in last commit

	added new function mpfr_log_ui

2016-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	adapted to 3- and 4-argument functions (using patch from Patrick Pelissier)

2016-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfmma.c] C++ compatibility.

	[tests/tfmma.c] Fixed type in printf.

	[src/fmma.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).

	Really replaced mpfr_printf by printf.

2016-01-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	give copyright to FSF

	replaced mpfr_printf calls

	changed copyright (I'm the sole author of this part of the code)

	forgot two files

2016-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fma.c] C89 compatibility correction.

	[src/fma.c] Replaced mp_ptr by mpfr_limb_ptr (as usual).

2016-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	speedup in mpfr_fma and mpfr_fms
	new functions mpfr_fmma and mpfr_fmms
	modified mbench/fma to compute b*c+c instead of b*b+c (b*c+d would be better)

2016-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added info about the parallel test harness.

	Updated documentation related to valgrind or other wrapper for the tests
	due to the fact that Automake 1.13+ generates a parallel test harness.
	  * doc/README.dev: replaced VALGRIND by LOG_COMPILER.
	  * tests/Makefile.am: added a comment mentioning LOG_COMPILER.

2016-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfrbench: use clock() when getrusage() is not available

2016-01-02  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Added a note about tuning MPFR:
	  For the current GMP version (6.1.0), a Unix-like OS is required.

2016-01-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2016 with
	  perl -pi -e 's/ (\d{4}-)?(2015)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh (the m4 and tools/mbench directories were not modified).
	Removed 2015 from the example in the doc/README.dev file.

2015-12-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fixed MPFR_WIN_THREAD_SAFE_DLL definition
	(patch by Patrick Pélissier).

2015-12-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpf_compat.h] Fix: File "inp_str.dat" could not be opened with
	builds outside the source directory (objdir different from srcdir).
	This did not generate an error, but prevented a test from being done.
	Now that mpfr-test.h is included via the mpf_compat.c or mpfr_compat.c
	file (there does not seem to be a valid reason not to include it), we
	can use src_fopen to open the file in all cases.

	[tests] In tversion.c, output the locale too (if supported).

	[tests/tinp_str.c] Added a blank line.

	[tests]
	  * inp_str.dat: added a locale-independent line at the beginning of
	    the file (useful for mpf_compat).
	  * mpf_compat.h, tinp_str.c: update because of this change.

	[tests/tests.c] Improved src_fopen description (do not use the term
	"src directory" because there is a directory named "src", but this
	is not what is referred here).

2015-12-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpf_compat.h] Fix: changed "inp_str.data" to "inp_str.dat"
	due to the file rename in r8120 (otherwise nothing is tested).

	[tests/mpf_compat.h] For mpf_set_str and mpf_init_set_str, avoid strings
	with ".", since for GMP the decimal separator is locale dependent (the
	tests can be run in non-C locales on purpose in order to detect issues
	in various locales), so that for the mpf_compat test, the conversion
	fails and the mpf value x is set to 0 (which can yield other problems,
	such as with mpf_div (y, x, x), which raises an exception).
	Note: this problem appeared in r9157, where tests_start_mpfr() was added
	to mpf_compat.h (the locale setting is done in this function).

2015-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch from Patrick Pelissier (for MinGW)

2015-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Corrections for C++.

2015-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces.

2015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	review by Rob (sisyphus1@optusnet.com.au)

	removed obsolete parts (?) for MinGW

	new text for Windows/Visual Studio/Visual C++ part contributed by Brian Gladman

2015-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Switch to UTF-8.

2015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changes proposed by Alexander (sav_ix@ukr.net)

2015-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Correction.

2015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	clock() should work everywhere

2015-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] The timing test from r9753 in POSIX-only.

	[doc/mpfr.texi] Updated the month.

2015-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	update INSTALL file

	-D__USE_MINGW_ANSI_STDIO is needed for GMP only

2015-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated comment about overlapping between input and output.

2015-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	document that (currently) mpfr_sum doesn't allow overlap

	timing test to compare mpfr_sum and naive algorithm (without correct rounding)

	update wrt -D__USE_MINGW_ANSI_STDIO

	note about MinGW and TLS support

	improving error message

2015-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment and message for errors under MinGW

2015-12-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Updated a comment about clang and division by 0.

2015-11-11  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Update.

	[doc/sum.txt] Update.

	[doc/sum.txt] Minor correction.

2015-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Minor correction.

	[doc/sum.txt] Minor correction.

	[doc/sum.txt] Update.

	[doc/sum.txt] Clarification: avoid the word "iteration" for the loop
	over the inputs, when possible.

	[doc/sum.txt] Update.

	[doc/sum.txt] Update.

	[doc/sum.txt] Update.

2015-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added a FIXME comment about the reuse of an input for the
	output.

2015-11-06  Vincent Lefèvre  <vincent@vinc17.net>

	GMP 5.0.0 or newer is required (instead of 4.2.0).

	[doc/sum.txt] Major and final update (complete rewrite).

	[src/mpfr-gmp.h] Added a TODO.

	[src/sum.c] Bug fixed (MPN_COPY_INCR instead of MPN_COPY_DECR).

2015-11-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Minor comment correction.

	[src/sum.c] Added another assertion (checked).

	[src/sum.c] Added assertions (checked).

2015-11-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Added a comment.

	[TODO] In tsum, add testcases for mpfr_sum triggering the bug fixed
	in r9722.

	[src/sum.c] Bug fix: an error bound was too large to compute the sign
	of the secondary term (when the TMD occurs).

2015-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tstdint.c,tvalist.c}] Updated and improved comment about the
	test of partial + full <mpfr.h> inclusion.

	[configure.ac] C code starting with # (preprocessor directives) must not
	be indented.

2015-11-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	simplify the configuration with mini-gmp

2015-10-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated comment for sum_raw().

2015-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	better definition of GMP_NUMB_BITS

2015-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	update description of file

2015-10-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] Improved comment about the mpfr_divhigh_n_basecase bug.

2015-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more tests do work with mini-gmp (from GMP 6.1.0-rc1)

2015-10-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] For the tests on the source files, ignore everything
	related to mini-gmp, not just the src/mini-gmp.[ch] files.

	[doc/README.dev] "To make a release": mention -DMPFR_TUNE_COVERAGE.

	[tests/tdiv.c] Updated comment about the mpfr_divhigh_n_basecase bug.

2015-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed replacement for mpn_neg (return value was wrong)

	adapt for mini-gmp (from GMP 6.1.0-rc1)

	replace obsolete mpz_div_2exp function by mpz_xdiv_q_2exp

2015-10-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	adapt mini-gmp stuff to GMP 6.1.0-rc1

	replace obsolete mpz_div by mpz_tdiv_q

2015-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fix bug reported by Ricky Farr
	(https://sympa.inria.fr/sympa/arc/mpfr/2015-10/msg00023.html)

2015-10-22  Vincent Lefèvre  <vincent@vinc17.net>

	[autogen.sh] Restore the INSTALL file also if the process receives
	a usual signal (SIGHUP, SIGINT, SIGQUIT or SIGTERM).

	[tests/tversion.c] Added a comment about compiler info.

	[tests/tversion.c] Instead of __GNUC__, __GNUC_MINOR__ and
	__GNUC_PATCHLEVEL__, output __VERSION__, which gives more
	information (for GCC development versions and ICC).

2015-10-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated comment for sum_raw().

2015-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a comment about mpfr_get_{si,ui,sj,uj} and flags.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Changed "returned value" to "return value" when this
	is the value returned by the C function (synonymous, but sometimes
	less ambiguous).

	[doc/mpfr.texi] For r9689, "returned value" → "return value".

	[doc/mpfr.texi] Completed the specification of mpfr_get_{si,ui,sj,uj}
	and mpfr_get_z (inexact flag, and returned value for mpfr_get_z).

	[tests/tget_z.c] Fixed and improved the check_one() test.
	  * The input value was modified at each iteration, giving z = 0 very
	    quickly, so that not much was tested in practice; in particular,
	    the third argument of mpz_fdiv_q_2exp in mpfr_get_z was never
	    properly tested (since it has no effect for z = 0).
	  * Added various tests of the flags.

	[tests/tget_z.c] Optimized the check_one() test.

2015-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the win-thread-safe-dll branch: support build as thread-safe DLL
	on Windows: changes from Stephan Tolksdorf
	  https://gforge.inria.fr/tracker/download.php/136/619/19537/4980/changes.zip
	+ a correction and some consistency checks. See MPFR bug 19537 on:
	https://gforge.inria.fr/tracker/index.php?func=detail&aid=19537&group_id=136&atid=619

	[src/mpfr-impl.h] Resolved the problem under Linux.

	[src/mpfr-impl.h] Detect some possible inconsistencies under Unix,
	when some macro should imply a MS-Windows platform.

	Merged the latest changes from the trunk since this wasn't the cause
	of the problem.

	Applied changes from Stephan Tolksdorf:
	  https://gforge.inria.fr/tracker/download.php/136/619/19537/4980/changes.zip
	The MPFR build fails on my Linux machine with
	  CFLAGS=-Werror=missing-prototypes
	because MPFR_WIN_THREAD_SAFE_DLL gets defined (this CFLAGS just allowed
	me to detect the problem with MPFR_WIN_THREAD_SAFE_DLL, which could have
	otherwise remained unnoticed).

	Include config.h when need be.

2015-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Updated mpz_t caching item, suggesting mpz_init2 instead.

	[TODO] Added: check whether mpz_t caching is necessary (this was
	committed in r8911). In short, timings should be done with -static
	(this wasn't clear), they may depend on the malloc implementation,
	and after a look at the source, the difference in the timings with
	mpz_t caching is surprising and should be explained.

2015-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/ck-copyright-notice] Check src/mparam_h.in instead of the
	generated (and not distributed) src/mparam.h file; this is also
	useful to avoid an error after running "make tune".

2015-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	distribute the mpfrbench README

	add a README for mpfrbench

2015-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	More details in a comment about assertions via tuneup.

2015-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed failed assertion during "make tune"

2015-08-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_z.c] Flags testing.

	[doc/README.dev] Updated a URL.

	[tests/tstdint.c] Support MPFR_PRINTF_MAXLM.

	[tests/tget_sj.c] Support MPFR_PRINTF_MAXLM.

	[tests/tget_sj.c] Typo.

	[acinclude.m4] Instead of checking whether the 'j' printf length
	modifier is working, try to find one that works.

	[acinclude.m4] Check whether the 'j' printf length modifier is working.

	[tests/tget_sj.c] Improved check_erange (more flags testing).

	[tests/tget_sj.c] Improved check_sj and check_uj even more.

	[tests/tget_sj.c] Improved check_sj and check_uj (flags testing).

2015-08-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfits.c] New tests at the limits of the types.

	[tests/tfits.c] For the mpfr_fits_{uintmax,intmax}_p functions, check
	that the flags are not modified and added tests of -Inf and -0.

	[tests/tfits.c] For the mpfr_fits_{u,s}{long,int,short}_p functions,
	check that the flags are not modified and added tests of -Inf and -0.

2015-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed the AMD K8 tuning (cf r8118)

2015-08-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_si.c] Improved NaN mpfr_get_si / mpfr_get_ui test.

	[src/{fits_intmax.c,fits_s.h,fits_u.h}] Fixed mpfr_fits_* functions:
	the flags could be modified, which made the new mpfr_get_{si,ui} tests
	fail (tests/tset_si.c r9649).

	[tests/tset_si.c] Added mpfr_get_{si,ui} tests, including flags.

2015-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mparam_h.in] Improved comment: __amd64__ is generic to all
	x86 processors with a 64-bit ABI (amd64, a.k.a. x86_64), thus
	suggest to move mparam.h files to more meaningful locations.

	[configure.ac] Added test for usability of gmp.h at link time
	(merged changeset r9644 from the 3.1 branch, with minor changes
	due to the fact that a known problem between GMP 4.1 and GCC 5
	can no longer occur, now that we require GMP 4.2.0 or newer).

2015-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": mention abi-compliance-checker.

2015-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Added an assertion (I get a build failure with gcc-snapshot
	20150722-1 due to -Werror=array-bounds, but the code looks OK).
	Simplified test on: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67077

2015-07-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	remove usage of mpn_rootrem in mpfr_sqrt since now mpn_sqrtrem is faster
	(https://gmplib.org/list-archives/gmp-devel/2015-July/004074.html)

2015-07-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/next.c] Added a note concerning the exceptions.

2015-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[tests/tversion.c] Output MPFR_VERSION_STRING too.

	[tests/tversion.c] Check and output additional mpfr_buildopt_* info.

	Added mpfr_rint_roundeven and mpfr_roundeven functions, with
	documentation and tests.

2015-07-16  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfrexp.c]
	  * Replaced each mpfr_get_exp occurrence by the internal MPFR_GET_EXP
	    macro in order to make sure that an assertion failure is triggered
	    in case of singular number (see also the comment added in r9618).
	  * Fixed the remaining problem due to an overflow and infinite value.

	[src/mpfr.h] Added a comment about the drawback of the mpfr_get_exp()
	macro, defined in addition to the function.

2015-07-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfrexp.c] Simplification: merged the tests on the ternary values,
	the returned MPFR values and the flags.

	[src/{div_2si.c,div_2ui.c,mul_2si.c}] Fixed some underflow cases in
	rounding to nearest when the exact result is -2^(emin-2), i.e. the
	middle of 0 and the minimum negative number in absolute value (the
	correction in r5517 was incorrect/incomplete).

	[src/exceptions.c] Added logging for mpfr_underflow and mpfr_overflow.

	[tests/tmul_2exp.c] Extended the underflow() test to negative numbers,
	triggering a new bug.

	[src/frexp.c] Added a comment.

2015-07-02  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/build-patch] Rebuild the mpfr.info file if mpfr.texi has been
	modified, in order to take it into account in the patch. This is needed
	since the mpfr.info file is distributed in the tarball.

	[tools/mpfrlint] Check a Texinfo rule (Section "Ending a Sentence")
	with common words that end with a capital letter.
	(merged changeset r9603 from the 3.1 branch)

2015-06-28  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Updated URL of TS 18661-4.

2015-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/frexp.c] Handle internal overflow.

	[tests/tfrexp.c] Forgot a "exit (1);".

	[tests/tmul_2exp.c] Overflow test: more output info; improved code.

	[src/mul_2si.c] Fixed overflow case when n = 0.
	[tests/tmul_2exp.c] In the overflow test, check mpfr_mul_2ui and
	mpfr_mul_2si too (mpfr_mul_2ui was OK).

	[src/div_2si.c] Fixed overflow case when n = 0.
	[tests/tmul_2exp.c] In the overflow test, check mpfr_div_2si too.

	[src/div_2ui.c] Fixed overflow case (can occur only when n = 0).
	[tests/tmul_2exp.c] Completed the overflow test.

	[tests/tfrexp.c] Added tests (currently fail due to the mpfr_div_2ui
	unhandled-overflow bug).

	[tests/tmul_2exp.c] Added tests where mpfr_div_2ui overflows, which
	is currently not handled.

	[src/frexp.c] Fixed a bug occurring when the current exponent range
	does not contain 0.

2015-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/check.c] Typo in a comment.

2015-06-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/announce-text] Update due to recent InriaForge upgrade.

2015-06-16  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a paragraph about the multiple use of MPFR.

	[TODO] Added: use symbol versioning.

2015-06-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/faq.xsl] Remove the indent="no" to get the same behavior as before
	when using libxslt 1.1.27+. See:
	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718535#10

	[tests/tfma.c] Improved the new underflow tests (test_underflow3) to
	test FMA(-x,y,-z).

	[src/fma.c] Completely fixed the scaling in case of underflow.

	[src/fma.c] Partially fixed the scaling in case of underflow,
	corresponding to the testcase from r9566. Double rounding is
	not handled yet (failure triggered by r9567).

	[tests/tfma.c] Improved the new underflow tests (test_underflow3) to
	yield some cases with double rounding when scaling: If the only fix
	in src/fma.c is to change the rounding mode of the last mpfr_div_2ui
	(computing s / 2^scale) to rnd_mode, a new failure appears for n = 2,
	k = 4, s = -1, MPFR_RNDN.

	[tests/tfma.c] Corrected the new underflow tests to really generate
	underflows, showing a bug in mpfr_fma.

	[src/fma.c] Added log messages.

	[tests/tfma.c] The code removed in r9560 was actually necessary,
	but do this in a better way.

2015-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfma.c] Added other underflow tests.

	[tests/tfma.c] Some improvements.

	[tests/tfma.c] GNU coding style.

	[tests/tfma.c] Removed code that isn't necessary.

	[doc/README.dev] "To make a release": mention -DMPFR_COV_CHECK and
	-DMPFR_ALLOCA_MAX=0 tests.

2015-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trandom.c] Cleaner test, avoiding the explicit use of mpfr_rands.

	[tests/trandom.c] Improved latest change, as some other test already
	assume a fixed PRNG with GMP >= 4.2.0 (now the value of the last
	random number of the test is checked).

	[tests/trandom.c]
	  * Get a non-zero fixed-point number whose first 32 bits are 0 with the
	    default GMP PRNG. This corresponds to the case cnt == 0 && k != 0 in
	    src/urandomb.c (fixed in r8762) with the 32-bit ABI.
	  * Output a warning (with a fatal error when the MPFR_COV_CHECK macro
	    is defined) if one doesn't get such a number, probably because the
	    GMP PRNG has changed.

	[src/sqrt.c] The bug fixed in r9540 actually came from r9014, which
	incorrectly replaced MPFR_EXP by MPFR_SET_EXP. So, restored the
	previous code (re-adding the assertion check), keeping my comment
	from r9540 to explain why we don't use MPFR_SET_EXP.

	[tests/tgeneric.c] Fixed overflow/underflow tests introduced in r9539:
	the tests were done in all rounding modes, but the code was incorrect
	if the exponent of the result depended on the rounding mode. So, the
	tests are now done only in the rounding mode previously selected. This
	should be sufficient to detect bugs.

	[src/lngamma.c] For mpfr_lgamma and mpfr_lngamma, the exponent range
	was not restored in some cases (some large results). Bug introduced
	in r8917 (trunk only).

	[src/{cos.c,sin.c}] Fixed bug related to the exponent range, introduced
	in r6461 with the use of mpfr_sincos_fast.
	Details:
	  For mpfr_sin, the exponent range was not restored, and restoring it
	  before calling mpfr_sincos_fast as this was done for mpfr_cos did
	  not work; indeed the source of this function shows that it needs an
	  extended exponent range. So, changed both mpfr_cos and mpfr_sin to
	  call mpfr_sincos_fast in the extended exponent range and restore the
	  exponent range at the end, like in usual code.

	[tests/tgeneric.c] Check whether the exponent range has been
	modified by the tested function (which should never happen).
	This check triggers failures in tlgamma, tlngamma and tsin.

	[src/sqrt.c] Fixed assertion failure in reduced exponent range.
	Note: This could happen only in very specific exponent ranges,
	in particular, which do not include the number 1.

	[tests/tgeneric.c] Added overflow/underflow tests (→ 4 failed tests).

2015-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta_ui.c]
	  * Support reduced exponent range for the generic case.
	  * Added logging.
	[tests/tzeta_ui.c] Added tests in reduced exponent range.

	[src/add_ui.c] Fixed format string in MPFR_LOG_FUNC.

2015-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tzeta_ui.c] Code simplification.

	[tests/tzeta_ui.c] Test zeta(0) in reduced exponent range and all
	rounding modes.

	[src/zeta_ui.c] Fixed zeta(0) in reduced exponent range.
	[tests/tzeta_ui.c] Added testcase.

2015-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{ui_div.c,ui_sub.c}] Correction for reduced exponent range.

	[tests/tui_sub.c] Check overflow.

	[tests/tui_div.c] Check overflow.

	[tests/tgeneric.c] Removed useless parentheses.

	[tests/tgeneric.c] Special cases with unsigned long argument.

	[tests/tpow_all.c] Better flags output in error message.

2015-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_q.c] Added missing MPFR_SAVE_EXPO_FREE in case of preliminary
	overflow or underflow (extreme cases).

	[src/set_q.c] Replaced a "return" by MPFR_RET: this is at least needed
	in the extreme case cd != 0, and safer in general.

	[tests/tset_q.c] Check the flags.

	[src/mul_ui.c] Fixed bug in mpfr_mul_ui/si: the inexact flag wasn't set.

	[tests/t{add,div,mul,sub}_ui.c] Replaced tgeneric_ui.c by tgeneric.c,
	showing a bug in mpfr_mul_ui (missing inexact flag).

	[tests/{tui_div.c,tui_sub.c}] Added generic tests, yielding assertion
	failures (due to a reduced exponent range) when assertions are checked.

	[tests/tgeneric.c] Major clean-up, with some minor corrections.
	Added support for unsigned long argument, which can be the first
	or the second one (another intent is to replace tgeneric_ui.c,
	which does fewer tests concerning the flags).

	[tests/tdiv_d.c] Corrected the tested function for the generic tests.

	[tests/td_div.c] Corrected the tested function for the generic tests.

	[tests/tui_sub.c] Minor improvements.

	[tests/tgeneric_ui.c] Added missing \n. Minor improvements.

	[tests/tui_div.c] Minor improvements.

2015-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] Corrected the description (copy-paste error in r9473).

	[src/rint.c] Handle reduced exponent range.

	[tests/trint.c] Extend basic_tests from [56,72] to [1,72] since i < 4
	(|x| < 1) are special cases in the implementation.

	[tests/trint.c] Also run BASIC_TEST in reduced exponent range
	(emin = emax = EXP(x)).

	[tests/trint.c] Also run BASIC_TEST2 in reduced exponent range
	(emin = emax = EXP(x)).

	[src/rint.c] Added a comment about the mpfr_rint_* functions.

	[src/rint.c] Simplified and fixed the mpfr_rint_* functions: in some
	corner cases, an intermediate overflow would not be propagated. No
	testcases added for this particular problem since huge precision
	numbers would be involved.

2015-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added description of the flags for the mpfr_rint,
	mpfr_ceil, mpfr_floor, mpfr_round, mpfr_trunc functions.

2015-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] In the basic tests, test the flags.

2015-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] Corrections for r9476 and r9477.

	[configure.ac] For the gcc compiler, better choice of the -W flags
	when the selected language is C++ (e.g. when CC=g++).

2015-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] Added basic tests of the mpfr_{trunc,floor,ceil,round}
	functions.

	[tests/trint.c] Added basic tests of the mpfr_rint_* functions.

	[doc/mpfr.texi] Added blank lines to improve readability.

	[tests/trint.c] Updated the description (test_generic_round is now
	tested, which wasn't done at all before).

	[tests/trint.c] Added generic tests for the mpfr_rint_* functions.
	Since all numbers in ]0,1/2[ round to the same value, in order to
	avoid redundant tests, increased the TEST_RANDOM_EMIN value to -20
	and set TEST_RANDOM_ALWAYS_SCALE to 1.
	Note: only these new tests generate an error if the change of the
	exponent range is no longer done in these mpfr_rint_* functions.

2015-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added always_scale argument (boolean) to tests_default_random()
	so that when it is true, scaling is always performed on random numbers
	generated by mpfr_urandomb(), instead of preferring numbers of the order
	of magnitude of 1 for half outputs. This will be useful for mpfr_rint_*
	tests.

	For tgeneric.c, the value of this argument is controlled by a new macro
	TEST_RANDOM_ALWAYS_SCALE (0 by default, which corresponds to the current
	behavior). For the other tests that call tests_default_random(), the
	argument is set to 0, so that the behavior remains the same.

2015-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a remark concerning the mpfr_rint_* functions.

2015-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src] Fixed allocation issue for multithreaded applications:
	https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html
	  * mpfr-gmp.{c,h}: made mpfr_allocate_func, mpfr_reallocate_func and
	    mpfr_free_func thread-local; updated MPFR_GET_MEMFUNC to execute
	    mp_get_memory_functions only when these pointers have not been set
	    to the actual function pointers yet.
	  * mpfr-impl.h: #include "mpfr-thread.h" earlier (before mpfr-gmp.h,
	    where MPFR_THREAD_ATTR is now used).

2015-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.c] Replaced mpfr_allocate_func and mpfr_free_func
	by __gmp_allocate_func and __gmp_free_func in mpfr_tmp_allocate
	and mpfr_tmp_free respectively, fixing the crash in talloc.
	See: https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html

	[tests/talloc.c] Avoid a failure with --with-gmp-build due to the fact
	that the MPFR_ALLOCA_MAX macro is not defined in this case.

2015-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	Added libtool-tcc-rpath.patch from
	  https://lists.gnu.org/archive/html/libtool-patches/2015-05/msg00000.html
	so that tcc can be used with libtool 2.4.3 to 2.4.6.
	In doc/README.dev, documented how to use this patch (before a release).

	[tests] Added talloc.c and updated check_PROGRAMS in Makefile.am.
	This test detects an allocation bug added in r8813, which occurs
	if mpfr_tmp_allocate() is invoked before __gmp_allocate_func when
	the GMP build is not used (thus this bug is not visible in most
	code since mpfr_init2 is generally called first, directly or not,
	and it uses __gmp_allocate_func). Details:
	  https://sympa.inria.fr/sympa/arc/mpfr/2015-05/msg00001.html

	[tests/{tstdint.c,tvalist.c}] Added missing #include "mpfr-test.h"
	(detected with gcc -Werror=implicit-function-declaration), needed
	since r9447.

2015-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.c] Code formatting.

	[tests/tstckintc.c] Fixed undefined behavior (invalid pointer).

	Define MPFR_ALLOCA_MAX macro: Maximum size for the use of alloca by
	temporary allocations (default: 16384).

	[tests/{tstdint.c,tvalist.c}] Use tests_start_mpfr / tests_end_mpfr,
	in particular to detect a wrong MPFR version (due to a libtool bug).

2015-05-21  Vincent Lefèvre  <vincent@vinc17.net>

	[autogen.sh] Exit with the exit status of autoreconf. Thus a failure
	will be noticed more easily.

	[NEWS] Update.

	[acinclude.m4] Added a comment about memmove and memset being considered
	to be missing when gcc -Werror is used, because of a "conflicting types
	for built-in function" error.

	[acinclude.m4] Various corrections in the tests:
	  * MPFR_CHECK_MP_LIMB_T_VS_LONG was always failing due to a typo.
	  * MPFR_FUNC_GMP_PRINTF_SPEC: missing #include <string.h> for strcmp.
	  * Replaced rint by nearbyint in messages (as nearbyint is tested).
	  * Avoid warnings to avoid failures when -Werror is used.

2015-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tcmp_d.c,tcmp_ld.c,tget_d.c}] Avoid warnings concerning unused
	variables when MPFR_ERRDIVZERO is defined (useful with -Werror).

	[tests/tests.c] Avoid a warning concerning an unused variable
	when HAVE_DENORMS is not defined (useful with -Werror).

2015-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved mpfr_swap description again.

	[doc/mpfr.texi] Correction and improvements in the formatting.

	[doc/mpfr.texi] Added a warning for mpfr_set_prec and mpfr_prec_round
	about allocation issue, as these functions change the precision of x.

	[doc/mpfr.texi] Typo in the latest change.

	[doc/mpfr.texi] Rewrote the mpfr_swap description. This should solve
	the documentation issue reported on:
	  https://gforge.inria.fr/tracker/index.php?func=detail&aid=18954&group_id=136&atid=619

2015-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Update (preliminary steps).

2015-05-13  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Started the rewrite of the doc.

2015-05-06  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Update concerning mpfr_sum.

	[doc/mpfr.texi] Update concerning mpfr_sum.

	[doc/sum.txt] The specification of the sign of a zero result only
	applies to an exact zero, of course (for an inexact zero result,
	the usual rule of the rounding mode is applied).

	[tests/t[ne]random_chisq.c] Fixed memory leak (detected by GCC's
	AddressSanitizer).

	[doc/README.dev] "To make a release": Test with GCC's AddressSanitizer
	(-fsanitize=address).

	[tests/tabort_defalloc*.c] Disable the tests if __SANITIZE_ADDRESS__
	is defined, i.e. when GCC's AddressSanitizer is used, because it
	reports the error before GMP can do the abort.

2015-05-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Make tests_default_random() more intuitive, avoiding
	automatic changes of the current exponent range in some cases: instead
	of adding some random exponent in [emin,emax] to the exponent of the
	random number x in ]0,1[, force this random exponent to be the one of
	x, so that its exponent is guaranteed to be in [emin,emax]. This avoids
	a failure in tsum due to the fact that the exponent range was changed
	automatically (and not restored).

	[tests/tsum.c] In cancel(), increase the number of tests from 8 to 1000.
	This is much more, but the test is fast compare to other ones so that
	the running time increases by a few percents only. And this triggers a
	new bug: the exponent range is not restored (on a 64-bit machine).

	[tests/tsum.c] Changes in cancel():
	  * The fail-test was x[n] > bound instead of |x[n]| > bound, so that
	    some failures could be missed.
	  * More output in case of failure.
	  * Handle underflow in the bound computation. This fixes an incorrect
	    failure due to a bound rounded toward zero instead of toward +inf
	    with GMP_CHECK_RANDOMIZE=1431478020 (found by the nightly tests).

	[tools/nightly-test] Run "make check" with VERBOSE=1 in order to have
	tests/test-suite.log output in case of failure, now that Automake 1.13+
	is used.

2015-04-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added a TODO about mpfr_sum.

2015-04-24  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Updated a comment about Automake 1.13.

	[Makefile.am] Updated comment about ACLOCAL_AMFLAGS.

	[TODO] Suggest to move some macro definitions from acinclude.m4 to the
	m4 directory as suggested by the Automake manual.

2015-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Grouped everything about the test suite near the end
	of this file. Added information about how the test suite works since
	the full Automake 1.13 support (r8821).

	To take into account that Automake 1.13 or later will be used:
	  * doc/mpfr.texi, INSTALL: updates related to "make check".
	  * configure.ac: require Automake 1.13 since the documentation now
	    assumes that 1.13 or later is used (and because previous Automake
	    versions are no longer tested).

2015-04-10  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention the complete rewrite of function mpfr_sum.

	[tests/tsum.c] Added a comment about the latest fixed bug.

	Merged the new-sum branch:
	  * New feature for developers in order to improve the testsuite:
	    value coverage checking (MPFR_COV_CHECK macro), allowing one
	    to check whether some combinations of values are tested. See
	    example of use in src/sum.c and tests/tsum.c files.
	  * src/sum.c: full rewrite of mpfr_sum. Note: the documentation
	    of the algorithm in doc/sum.txt is currently a bit obsolete.
	  * tests/tsum.c: many new tests, some of them specifically written
	    for the new algorithm and implementation.

2015-04-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Fixed bug: mpn functions do not accept a zero size argument.

	[tests/tsum.c] Replaced a mpfr_inits by a mpfr_inits2.

	[tests/tsum.c] Added a simple test that triggers a glibc free() error
	or segmentation fault when MPFR is configured with GMP 6.0.0 built
	with "--disable-alloca ABI=32". GCC's address sanitizer shows a
	heap-buffer-overflow. This is mainly for debugging as this problem
	also occurs in other tests (it is quite generic).

	[tests/tsum.c] Removed a temporary comment.

	Merged the latest changes from the trunk.

	[tests/tsum.c] Added check_underflow test.

2015-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Comments.

	[src/sum.c] Bug fix: use MPFR_EXP instead of MPFR_SET_EXP to set the
	exponent since it can be outside the current exponent range before
	it is checked with mpfr_check_range. Also added a static assertion
	(always satisfied in practice) to make sure that exponent related
	computations cannot yield an integer overflow.

	[tests/tsum.c] Added check_overflow test, which triggers a bug.

2015-03-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Completed the cancel test (generic random tests with
	cancellations): check the bound on the result.

	[tests/tsum.c] Improved the check4 test:
	  * removed some not very useful tests to reduce the running time;
	  * added tests checking "MPFR_RNDN, tmd=2, rbit=0, sst=1, negative",
	    which was the only remaining one output by check_coverage (when
	    MPFR_COV_CHECK is defined).

	[tests/tsum.c] Reduced the check4 test because it was much too long
	compared to the other tests. The bug fixed in r9356 is still triggered
	and "MPFR_RNDN, tmd=2, rbit=0, sst=0, negative" is still checked.

2015-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Updated comment of the check4 test.

	[src/sum.c] Bug triggered by the check4 test fixed.

	[tests/tsum.c] Another correction in the check4 test.

	[tests/tsum.c] In the check4 test, two terms didn't correspond to
	the formula given in the comment; corrected these terms (the same
	bug is triggered).

	[tests/tsum.c] Forgot the h in the error message of the check4 test.

	[tests/tsum.c] Extend the check4 test even further.

	[tests/tsum.c] Extend the check4 test even further.

	[tests/tsum.c] Added check4 test, which triggers a bug.

2015-03-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] In the TMD detection:
	  * improved variable nbits to decrease the number of operations;
	  * added some comments;
	  * fixed the shift count bug triggered by the bug20150327 test.

	[tests/tsum.c] Added bug20150327 testcase.

	[tests/tsum.c] Corrected test of the ternary values inex1 and inex2.

2015-03-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/ck-copyright-notice] Bug fix and improvements.

	[tools/ck-copyright-notice] More checks.

2015-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Do not consider the corrected sst for MPFR_COV_SET.

	[tests/tsum.c] More tests.

	[src/sum.c] Added comments.

	[src/sum.c] In the final rounding, forgot to handle the possible
	exponent change in the negative case with corr == 2.

2015-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Improved the check3 tests, which were added in the
	latest commit. They now trigger an assertion failure in sum.c.

	[tests/tsum.c] New tests.

	[tests/tsum.c] Value coverage checking: tmd can be 2 only for MPFR_RNDN.

2015-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Better logging.

	[src/sum.c] Bug fix: the sum_raw code was unnecessarily assuming
	too much; thus, removed too parameters, which can be very easily
	recomputed only when they make sense.

2015-03-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Added a new table concerning the correction term.
	[src/sum.c] Updated rounding.

2015-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added comments on the correction. Minor changes in the code.

2015-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added information on how to do type punning
	(something we already did, but with no justification yet).

2015-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/sum.txt] Updated TODO.

	[doc/sum.txt] Added TODO (since the description is a bit obsolete).

	[src/sum.c] In the latest commit, the temporary area was split for
	the computations that determine the sign of the error term in case
	the TMD occurs, as these computations occur earlier in the code.
	This was actually not necessary since the content of the accumulator
	has already been copied to the final destination (only sign handling
	and rounding have not been done yet, but they entirely take place in
	the destination). As a consequence, let's revert the code related to
	this split. The actual changes concerning the merge of pre-rounding
	and final rounding can be seen with "svn diff -r 9328:9330".

	[src/sum.c]
	  * Removed any reference to the obsolete step numbering.
	  * Merged pre-rounding and final rounding, simplifying the code.
	    The correction value still needs to be fixed.

	[src/sub1sp.c] Avoid an unnecessary mpn_lshift after an mpn_sub_1 when
	the initial value was a power of two.

	[src/next.c] Avoid an unnecessary loop when the exponent decreases.

2015-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Improved test portability.

	[tests/tsum.c] New tests.

	[src/sum.c] Completed the implementation (but there's still a bug).

	[tests/tsum.c] New tests.

2015-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Improved the setting of sst (Step 8), using the fact
	that the accumulator is 0 iff cancel = 0.

	[src/sum.c] Bug fix: when determining the sticky bit, the search was
	starting at the rounding bit instead of the bit following it.

	[tests/tsum.c] New tests.

	[src/sum.c] More logging.

	[tests/tsum.c] In the generic test, also test with negative numbers.

	Updated value coverage checking for mpfr_sum.

	[doc/README.dev] Document the new MPFR_COV_CHECK macro.

	Value coverage checking when MPFR_COV_CHECK is defined, initially
	for mpfr_sum.

	[src/sum.c] Bug fix in the ternary value.

	[tests/tsum.c] Added check of the ternary value.

	[src/sum.c] Removed incorrect assertions.

	[tests/tsum.c] Re-enabled cancel() test.

2015-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Update.

	[src/sum.c] Update.

	[src/sum.c] Use the new SAFE_DIFF macro.

	Merged the latest changes from the trunk (r9306).

	[src/mpfr-impl.h] Added SAFE_DIFF macro (safe difference).

	[src/sum.c] Fixed a test.

	[src/sum.c] Better logging.

	[src/sum.c] Minor correction of last change of a comment.

	[src/sum.c] More logging and comments.

	[src/sum.c] Fixed bug introduced in r9294 (minexp wasn't updated).

	[src/sum.c] Log the value of tq.

	[src/sum.c] Bug fix.

	[src/sum.c] Virtually eliminate halfway cases by making them equivalent
	to a non-halfway case.

2015-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Update.

	Merged the latest changes from the trunk (r9295).

	[src/mpfr-impl.h] Fixed and improved some sign-related macros
	(some parentheses were missing).

	[src/sum.c] Update: sum_raw, with a new prototype, now reiterates until
	the error bound is acceptable; thus the "while" loops have been removed
	from sum_aux.

2015-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Increased the number of tests to get 2 current failures
	with a "break" in the last loop of sum.c (m = 438, m = 3780), without
	the exit() in the generic test. Improved error message.

	[tests/tsum.c] Completely rewrote the generic test (now allows one to
	detect that the implementation is incomplete when adding a "break" in
	the last loop of sum.c).

2015-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Run bug20131027 in each rounding mode.

	[src/sum.c] Fixed sum_raw.

2015-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] More logging.

	Merged the latest changes from the trunk.

	Logging: the log stream is flushed after each log output when
	the MPFR_LOG_FLUSH environment variable is set.

	Factorized the logging macros by moving tests inside LOG_PRINT.

	[src/sum.c] Correction. Set the exponent.

	[src/sum.c] Added a log message.

	[src/sum.c] Bug fix: I had inverted positive and negative.

2015-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Removed the obsolete mpfr_sum_sort related test
	(which could obviously no longer compile), so that I can start
	debugging before finishing the implementation.

	Merged the latest changes from the trunk.

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2015 with
	  perl -pi -e 's/ (\d{4}-)?(2014)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh, reverting the tools/mbench directory (not distributed with
	MPFR). Removed 2014 from the example in the doc/README.dev file.

2015-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Copyright notice update.

	[src/sum.c] Split mpfr_sum into mpfr_sum (handling special cases)
	and sum_aux (generic case only). Revised some comments.

	[src/sum.c] When updating minexp, detect a potential integer overflow
	first (macro UPDATE_MINEXP). Updated comments.

	[src/sum.c] Logging of sum_raw: log *cancelp at the end.

	[src/sum.c] Update (Step 8).

	[src/sum.c] Corrected/improved logging.

2015-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	Added algorithms.fls (generated by latexmk) to svn:ignore property.

2015-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfpif.c] Updated a mpfr_set_zero line for consistency and
	better readability.

	[tools/mpfrlint] Added mpfr_set_(inf|zero) tests on the sign.

	[tests/tset.c] More mpfr_set_inf tests.

	[tests/tset.c] More mpfr_set_zero tests.

	[tools/mbench/timp.h] Spelling mistake in a comment.

2014-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added a TODO.

	[src/sum.c] Added missing closing parenthesis from r9257. Step 8 update.

	[doc/sum.txt] Step 8: renamed "sgn" to "sst".

	[doc/sum.txt] Merged old Step 9 with Step 8; minor changes.

	[src/sum.c] Avoid a loop in some cases.

	[src/sum.c] Remember the rounding bit for Step 9; correction for
	halfway cases in round to nearest.

	[doc/mpfr.texi] Updated the month.

2014-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Added an item about improved caching.
	[NEWS,doc/mpfr.texi] In particular, mention the minimum of 10% increase
	of the precision (done in r8967).

	[NEWS] Note that the behavior of the mpfr_set_exp function changed.
	[src/Makefile.am] As this changed the ABI (the old, unwise behavior
	was documented), reset -version-info age. This is not that bad since
	there are other changes in the behavior, though regarded as bugs or
	previously undocumented behavior.

	Moved src/sum.txt into the doc directory, and updated the reference
	in src/sum.c.

2014-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.txt] Update (Step 9).

	[src/sum.txt] Correction.

2014-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.*] Update.

2014-12-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Mention the tools/build-patch script.

2014-12-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	pointed to Feature Request

2014-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Determine the number of cancelled bits in sum_raw instead
	of the main loop, since it will also be useful in Step 8.

	[src/sum.*] Update (Step 8).

2014-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed issue reported by Dan Grayson:
	https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=18314&group_id=136

2014-11-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Minor change concerning mp_limb_t.

2014-11-12  Vincent Lefèvre  <vincent@vinc17.net>

	Style improvements.

	[src/exp_2.c] Improved t = 0 test.

	[src/exp_2.c] Fixed a bug added in r9233 (a case t = 0 was no longer
	taken into account).

	[src/exp_2.c] GNU coding style.

2014-11-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improve mpfr_exp2 (patch from Patrick Pelissier)

2014-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improve mpfr_atan for small precision (patch from Patrick Pelissier)

	added check for libquadmath (not used)

2014-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cache.c] Improved mpfr_clear_cache in case mpfr_free_cache is
	called often (like with GC-based systems). Patch by Patrick Pélissier.

	[src] Applied patch by Patrick Pélissier to allocate some constant-size
	MPFR numbers on the stack instead of using mpfr_init2, and replace some
	MPFR_ASSERTN by MPFR_ASSERTD.

2014-10-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_str.c] Improved comments.

2014-10-30  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_str.c] Free the temporary memory allocated in the Ziv loop ASAP
	and at a single place (the code should be clearer like that).

	[src/get_str.c] Code refactoring.

	[tests/tget_str.c] Code formatting.

	[tests/tget_str.c] Fixed a test that made mpfr_get_str crash with
	logging (even when the base is invalid, the MPFR number must be
	initialized).

	[src/check.c] Added a note saying that mpfr_check() must not be called
	  on statically allocated numbers (only used inside MPFR).
	[src/get_str.c] Removed the "MPFR_ASSERTD (mpfr_check (p));" (added in
	  previous commit) because of that.

	[src/get_str.c] Added some logging (MPFR_LOG_*), which triggers a crash
	in tget_str with MPFR_LOG_ALL=1. An analysis with gdb shows that this
	is due to an invalid MPFR number in mpfr_ceil_mul(). Added a
	  MPFR_ASSERTD (mpfr_check (p));
	there, which fails in tget_str (this was the cause of the crash), even
	without logging.

2014-10-29  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_get_str now sets the NaN flag on NaN input. See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2014-10/msg00013.html and
	  https://gforge.inria.fr/tracker/index.php?func=detail&aid=18228&group_id=136&atid=619
	Also completed the mpfr_get_str description in mpfr.texi concerning
	the special numbers and the exception flags.

2014-10-28  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Removed a spurious "an".

	[src/get_str.c] Improved style consistency.

	[doc/mpfr.texi] In the mpfr_get_str description, note that the type
	mpfr_exp_t is large enough to hold the exponent in all cases.

	[doc/mpfr.texi] Improved mpfr_get_str description concerning the
	returned pointer (it was ambiguous in the case of an invalid base).

2014-10-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Updated the error message last changed.

	[tests/tests.c] Updated the error message last changed + comment.

2014-10-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Added a reference to the bug I've just reported
	against GNU Automake (completing the other references).

	[tests/tests.c] Updated the error message last changed.

2014-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Changed an error message.

2014-10-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.txt] Update.

	[src/sum.c] Improved a comment.

	[src/sum.c] Got rid of maxexp2 in the mpfr_sum function, since after the
	  sum in the main iteration, the old maxexp value is no longer needed:
	  it's simpler to reuse maxexp for maxexp2 since maxexp2 will be the new
	  maxexp value at the next iteration.
	[src/sum.txt] Update, in particular concerning the variables used in the
	  implementation.

2014-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Corrections for builds with "config.h".

2014-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Reset copyright years to 2014 since the whole file is
	being rewritten from scratch (i.e. everything is new material).

	[src/sum.txt] Update.

2014-08-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.*] Update (Step 7, including a part of Step 8 in Step 7).

	[src/sum.c] Correction (Step 7).

	[src/sum.c] Corrected r9197 (two "else" branches were mixed up), and
	update (Step 8).

	[src/sum.c] Correction when determining the early value of inex.

	[src/sum.c] Update (Step 8).

	[src/sum.txt] Update about the value of d.

	[src/sum.c] Added comments for Step 7 about carry and inex.

2014-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the latest changes from the trunk (here, tools/mpfrlint).

	[tools/mpfrlint] Avoid false positives in the check of MPFR_LOG_MSG.

	[src/sum.*] Update (Step 7).

2014-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.txt] Updated Note 2 again.

	[src/sum.txt] Updated Note 2.

	[src/sum.*] Various corrections, and update.

	Merged the latest changes from the trunk.

	[src] Cleaner use of MPFR_SET_SIGN.

2014-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated comments.

	[src/sum.c] Update (Step 7).

	[src/sum.c] Improved description of sum_raw.

	[src/sum.c] Added description of sum_raw.

2014-08-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Suppressed a level of block (which became rather useless
	now that Step 3 has been moved to a separate function).

	[src/sum.c] Moved Step 3 to a separate auxiliary function sum_raw.

	[src/sum.c] Renamed variables: p -> x, pe -> xe, pq -> xq (because
	the p suffix is used here for pointers to mp_limb_t).

	[src/sum.c] Updated comments.

2014-08-17  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added item on tests (mpfr.h macros vs mpfr-impl.h).

	[src/mpfr.h] Fixed the mpfr_signbit() macro, which depended on
	mpfr-impl.h (the problem wasn't detected in the tests since mpfr-impl.h
	is included in them). Thanks to Rob for the bug report.

2014-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.*] Update (Step 7).

2014-08-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.txt] Update.

	[src/sum.txt] Update (another tricky case).

2014-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.txt] Update.

	[src/sum.txt] Update.

2014-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.*] Completed Step 6.

2014-08-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.txt] Update.

	[src] Moved the comment about the mpfr_sum algorithm from sum.c to
	a new file sum.txt (this will later go into algorithms.tex).

2014-08-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated the algorithm.

	[src/sum.c] Updated the algorithm.

2014-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Added some log messages.

	Merged the latest changes from the trunk (but reverted tests/tsum.c).

	[tools/mpfrlint] Improved check of MPFR_LOG_MSG.

	[tools/mpfrlint] Replaced {src,tests}/*.{c,h} by $srctests.

	[src/ai.c] Corrected log messages.

	[doc/mpfr.texi] Updated the month.

	Update concerning the P type specifier for formatted output, since
	mpfr_prec_t was changed to a signed type in MPFR 3.0.0.
	  * doc/mpfr.texi: d and i can be used (o, u, x, and X are still OK
	    in practice since a mpfr_prec_t value is usually nonnegative);
	    changed a "unsigned int" to "int".
	  * src/vasprintf.c: updated a comment.

2014-07-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpf_compat.h] Fixed a bug (mpf_set_prec_raw usage with GMP/MPF).

	[tests]
	  * mpfr-test.h: no longer include <stdio.h> right here since the
	    included mpfr-impl.h does that and even better for C++.
	  * mpf_compat.c, mpfr_compat.c: include mpfr-test.h as it does useful
	    things (in particular, include config.h via mpfr-impl.h if there
	    is one, and define __MPFR_TEST_H__ for mpfr-impl.h).
	  * mpf_compat.h: no longer include some headers already included
	    via mpfr-test.h (see above change); added tests_start_mpfr and
	    tests_end_mpfr (showing memory inconsistency with mpf_compat).

2014-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_str.c] Coding style: better code for a boolean.

2014-07-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Update.

2014-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": check also without mpz_t caching.

	[tools/ck-copyright-notice] Ignore src/mini-gmp.[ch] files.
	[tools/mpfrlint]
	  * Ignore src/mini-gmp.[ch] files for some tests.
	  * Check that __gmp[nz]_ functions are not used (with 2 exceptions),
	    since this breaks the support of mini-gmp and may also break
	    future/modified GMP versions.
	    Note: only code added in r8911 (mpz_t caching) currently fails to
	    follow this rule.

	Do not test include guards before a #include: the test must be done only
	in the included file itself. Note that some files such as mpfr.h may
	have multiple parts that could be enabled depending on the context, so
	that testing a guard before a #include may yield incorrect behavior.

2014-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated the list of macros used for building and
	checking MPFR.

	[acinclude.m4] Corrected a message.

2014-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	Renamed the MPFR_TEST_DIVBYZERO macro to MPFR_TESTS_DIVBYZERO
	for consistency with MPFR_TESTS_TIMEOUT.

2014-07-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Minor improvements.

	[tests/reuse.c,tests/taway.c] Added mpfr_ai and mpfr_digamma.

	[tests/tmul_d.c] Minor improvement.

	[src/mul.c] Fixed a test when MPFR_WANT_ASSERT >= 2 (NaN with non-NaN
	was not detected as an error).

	[src] MPFR_WANT_ASSERT clean-up.
	Note: the mul.c test for MPFR_WANT_ASSERT >= 3 is now enabled for
	MPFR_WANT_ASSERT = 2 (since setting MPFR_WANT_ASSERT to 3 was not
	possible with configure options), and fixed.

	Added debug of branch prediction / --enable-debug-prediction configure
	option (patch from Patrick Pélissier, with some changes).

2014-07-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_raw_generic.c] Updated comment about MPFR_RNDNA.

	[doc/mini-gmp] Added a note about MPFR_USE_MINI_GMP.

	[doc/README.dev] Added an item on the use of GMP functions.

	[doc/README.dev] "To make a release": test with mini-gmp.

	Removed the need of MPFR_USE_MINI_GMP tests for mpfr_[ne]random
	functions (source and tests) as mpfr_random_deviate_value no longer
	needs mpq_t (since r9066). Also removed a static assertion in
	src/random_deviate.c for the same reason.
	Note: the change done in r9133 is now really useful!

	[src/mpfr.h] Added other missing "#ifndef MPFR_USE_MINI_GMP".

	[tests/t[ne]random.c] Code clean-up: added !defined(MPFR_USE_MINI_GMP)
	to protect mpfr_printf. This is actually not needed due to the initial
	"#ifndef MPFR_USE_MINI_GMP" but this is for a different reason.

	[tests/t[ne]random.c] Reverted the changes done in r9126,9127,9130
	and added a proper comment.

	[src/mpfr.h] Added a missing "#ifndef MPFR_USE_MINI_GMP"
	(not really useful, but cleaner).

	[tests/t[ne]random.c] Fixed the change done in r9126 and r9127.

	Renamed WANT_MINI_GMP to MPFR_USE_MINI_GMP as it is used in mpfr.h
	(all MPFR macros that appear there should start with MPFR_ to avoid
	conflicts with other software).

	[tools/mpfrlint] Detect the possible use of forbidden macros in mpfr.h.

	[tests/terandom.c] Put the WANT_MINI_GMP test at the right place, like
	what has been done for "tests/tnrandom.c".

	[tests/tnrandom.c] Put the WANT_MINI_GMP test at the right place
	(at the same time of the HAVE_STDARG test), but this should be
	improved in the future, e.g. with a HAVE_MPFR_PRINTF macro.

2014-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment

2014-07-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Minor correction of a comment.

2014-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trandom_deviate.c] Correction (fprintf format).

2014-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch from Charles Karney:
	> Here is the patch which repeats the chi-squared tests in the case of
	> suspiciously high values.  The probability of a false positive is now
	> 1/10^9.  I also got rid of the mpfr_printf's.

2014-06-30  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/build-patch]
	  * Removed unnecessary quotes for better readability (this is zsh).
	  * When <patchlevel> (second argument) is used, use the correct name
	    for the generated patch; at the same time, fixed a checkobj call.
	  * Added comment about typical usage.

	[tools/build-patch] Correction if MPFR_CURRENT_DIR is set: to make sure
	that it is always up-to-date, we want to allow it to be a symlink (e.g.
	.../mpfr-current), so that we want to call realpath on it.

	Added tools/build-patch zsh script to transform a raw patch into a patch
	to be put on the MPFR www server.

	[src/mpfr.h] For the mpfr_{mul,div}_si macros: s/positive/non-negative/

	[configure.ac] Correction of two "configure --help" messages
	(from Patrick Pélissier and other changes).

	[src/mpfr.h] Coding style.

	New macros for mpfr_{mul,div}_ui to optimize the call when the integer
	is a constant number that is a power of 2.
	New macros for mpfr_{mul,div}_si to optimize the call when the integer
	is a constant number that is positive.
	(Modified patch from Patrick Pélissier)

2014-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Improved comments.

	[src/vasprintf.c] Fixed assertion failures for tiny numbers (the code
	was correct, but the assertions didn't check against the right bound).

	[src/div.c] Bug fix: avoid integer overflow in the code added in r9086
	(now tdiv no longer fails).

	[src/div.c] Bug fix: avoid an integer overflow when dividing the
	largest finite MPFR number by the smallest positive one.
	(merged changeset r9105 from the 3.1 branch)

	[tests/tdiv.c] Forgot "exit (1);".

	[tests/tdiv.c] Added mpfr_div tests on extreme values. This detects
	2 problems (at least on a 64-bit machine): a result is not a valid
	MPFR number (mpfr_check fails) and the flags are incorrect.

2014-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Fixed test added in r9099 (the problem was unrelated
	to the bug in vasprintf.c).

	[tests/tsprintf.c] Added a test with the minimum exponent
	(currently triggers an assertion failure in vasprintf.c).

2014-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	define MPFR_SKIP_EXTREME to avoid currently failing tsum test

2014-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Do not run the check_extreme test (which currently fails)
	when the MPFR_SKIP_EXTREME environment variable is defined.

2014-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reconfigure for mpfrbench

	speedup in mpfr_div for n/n division, using mpz_tdiv_q

2014-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Check when simple mp_limb_t constants could be used
	(MPFR_LIMB_ZERO, MPFR_LIMB_ONE, and MPFR_LIMB_MAX).

	Merged the latest changes from the trunk.

	Use MPFR_IS_NEG and MPFR_IS_POS instead of comparing the sign with 0.
	Done with
	  perl -pi -e '
	    s/MPFR_SIGN *\(([^)]+)\) *<=? *0/MPFR_IS_NEG ($1)/g;
	    s/MPFR_SIGN *\(([^)]+)\) *>=? *0/MPFR_IS_POS ($1)/g;
	    ' {src,tests}/*.{c,h}
	and some manual changes.

	More code clean-up (for both consistency and readability):
	  * Use the simple mp_limb_t constants when possible.
	  * New internal macro MPFR_IS_NORMALIZED.
	Note: this was done with
	  perl -pi -e '
	    s/~ *\(mp_limb_t\) *0/MPFR_LIMB_MAX/g;
	    s/\(mp_limb_t\) *-1/MPFR_LIMB_MAX/g;
	    s/\(mp_limb_t\) *0/MPFR_LIMB_ZERO/g;
	    s/\(mp_limb_t\) *1L?/MPFR_LIMB_ONE/g' {src,tests}/*.{c,h}
	  svn revert src/mpfr-impl.h
	and some manual changes.

	Code clean-up:
	  * Simplified the definition of simple mp_limb_t constants: it is
	    better to avoid GMP internals when there is a standard way.
	  * Replaced the use of MP_LIMB_T_MAX by the new macro MPFR_LIMB_MAX.
	  * So, removed the now useless MP_LIMB_T_MAX and GMP_LIMB_HIGHBIT
	    definitions from "mpfr-gmp.h".

	[src/mpfr-mini-gmp.h] GMP_NUMB_MASK is no longer needed.

	[tests/random2.c] Removed a useless use of GMP_NUMB_MASK.

	[src/div.c] In the case where the divisor has one limb (latest commit),
	check that the value of this limb fits in an unsigned long, otherwise
	mpfr_div_ui cannot be used. Indeed, according to the GMP manual §2.2,
	a limb may be a long long (actually unsigned):
	  For example in some 32-bit ABIs, GMP may support a limb as either a
	  32-bit `long' or a 64-bit `long long'.
	Note: if a limb is an unsigned long, this new test will be no-op, since
	always true.

2014-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	speedup of mpfr_div when divisor has one limb

2014-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/random_deviate.h] Fixed prototypes:
	  * Added __MPFR_DECLSPEC to avoid failure with Windows DLL; see
	    https://sympa.inria.fr/sympa/arc/mpfr/2014-06/msg00003.html
	  * Added _MPFR_PROTO for consistency (though it will probably
	    be removed in the near future).
	  * Removed variable names (coding style).

2014-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Added terandom_chisq and tnrandom_chisq to svn:ignore property.

	[tests] Applied patch by Charles Karney (chi-squared tests for
	mpfr_[ne]random), together with the contents of his mail about
	this patch.

2014-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2014-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	Updated URL's.

	[doc/README.dev] Updated URL's (use of https instead of http).

2014-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] At Step 2, ignore the input bits of exponent >= maxexp.

	[src/sum.c] Fixed maxexp2 update, and added truncflag for future
	truncation on the most significant part >= maxexp at Step 2 (TODO).

2014-06-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Another major update concerning the algo and Step 2.

	[src/sum.c] Added a TODO about carry propagation (so, it seems that
	using two windows may not really be that interesting to guarantee a
	low complexity).

2014-06-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Implemented Step 2.

	[tests/trandom_deviate.c] New version, with fixes of ternary value
	(inexact) handling by Charles Karney.

	[tests] Added trandom_deviate to svn:ignore property.

	[tests/trandom_deviate.c] GNU style and C90 compatibility.

	[doc/README.dev] Updated note about ternary values (macros).

	[doc/README.dev] Added a note about ternary values.

2014-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patches from Charles Karney

2014-06-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trandom_deviate.c] Removed useless "#ifdef HAVE_STDARG":
	printf is a standard C function and is always defined.

	[tests/trandom_deviate.c] GNU style. Pre-C99 compatibility
	(statements after declarations).

	[tests/trandom_deviate.c] Untabified.

2014-06-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated the algorithm and started to rewrite again,
	in a cleaner way and with more comments.

2014-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added trandom_deviate.c to improve coverage (contributed by Charles Karney)

	updated information about coverage test

2014-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] English usage in a comment.

2014-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Updated a comment.

2014-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	Changed "INRIAGForge" to "InriaForge" (due to the rename).

2014-05-14  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Correction about clang sanitizer: mention the
	-fno-sanitize=float-cast-overflow,float-divide-by-zero option.

	[doc/README.dev] About clang sanitizer, mention the
	-fno-sanitize=float-divide-by-zero option.

2014-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added description of algorithm used for mpfr_log (from Sylvie Boldo)

2014-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated an old note about GCC 4.9.

	[doc/README.dev] Completed the note about GCC's sanitizer. See
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44786 (sanitizer)
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60275 (no recover)

	[doc/README.dev] Completed the note about GCC's sanitizer.

	[doc/README.dev] Mention that GCC 4.9 supports "-fsanitize=undefined".

2014-04-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpow.c] Removed comment that can now be confusing: try_mpfr.html
	was actually not using the mpfr_pow function, but exp(y*log(x)).

	[tests/tpow.c] Added a test corresponding to buggy output on
	http://ex-cs.sist.ac.jp/~tkouya/try_mpfr.html but everything
	is OK in r9038.

2014-04-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Update about patches and autotools files.

	[doc/README.dev] Update about patches and autotools files.

	[tests/tsum.c] Changed initialization in check_extreme(), which wasn't
	supported by ISO C90.

	[free_cache.c] Avoid mixed declarations and code for ISO C90 support.

	Re-added configure test on GMP_NUMB_BITS and sizeof(mp_limb_t), and
	updated it:
	  * BYTES_PER_MP_LIMB is no longer tested (see r9029).
	  * The test is now always run, not just when --with-gmp-build is used.
	  * Results are output in config.log in case of failure.
	  * The error message has been updated.

2014-04-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	BYTES_PER_MP_LIMB -> MPFR_BYTES_PER_MP_LIMB for GMP 6 compatibility
	when --with-gmp-build is used. See mailing-list discussion:
	  https://sympa.inria.fr/sympa/arc/mpfr/2014-04/msg00000.html

2014-04-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated comment to be even more clear, with more details.

2014-04-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Updated comment.

	[src/sum.c] Updated comment.

	[src/sum.c] Improved (corrected) algo in comment. Code not updated.

2014-03-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Update.

	[src/sum.c] Added a comment.

	[src/sum.c] Update.

2014-03-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] More thoughts about the algorithm and its implementation.

2014-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	other argument reduction for log_ui

2014-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpn_sqrtrem (rp, sp, sp, rrsize) is faster than
	mpn_sqrtrem (rp, NULL, sp, rrsize): avoids one allocation and one copy

2014-03-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Update.

	Merged the latest changes from the trunk.

	Added MPFR_PREC_COND, MPFR_PREC_IN_RANGE and MPFR_GET_PREC internal
	macros (to mpfr-impl.h). Use these macros at some places in the code
	(replacing some MPFR_PREC instances, as suggested by a patch from
	Patrick Pélissier).

	[src/mpfr-impl.h] Added an MPFR_ASSERTD in MPFR_MPZ_SIZEINBASE2
	(from a patch by Patrick Pélissier).

	[src/sqrt.c] Replaced a MPFR_EXP by MPFR_SET_EXP (from a patch by
	Patrick Pélissier).

	[src/div.c] Added MPFR_ASSERTD assertions and improved a test
	(patch from Patrick Pélissier).

2014-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed FIXME

2014-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.*] A formula about radix conversion was incorrect
	(and didn't match the correct code) when the output radix b is a
	power of two. Added reference to Matula's "In-and-Out Conversions"
	(correctness and optimality of the formula) and left a FIXME.
	For more information, see the August/September discussion in the
	MPFR list, particular subthreads starting at:
	  https://sympa.inria.fr/sympa/arc/mpfr/2012-08/msg00028.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2012-09/msg00000.html
	  https://sympa.inria.fr/sympa/arc/mpfr/2012-09/msg00011.html

2014-03-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item

2014-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item (mpfr_log_ui)

2014-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sum.c] Corrected the detection of Inf. Improved algo in comment.

	[tests/tsum.c] Improved check_more_special test.

	[tests/tsum.c] Added check_more_special test.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Correction in the mpfr_set_str description.

	Rewrote special cases of mpfr_sum.

2014-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added a TODO item concerning gmp_op.c functions with mpz_srcptr and
	the use of mpz_fits_slong_p and a mpfr_*_si function (see r8992).

2014-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fixed the mpfr_get_default_rounding_mode() macro for
	C++ (it didn't have the correct type), and improved the similar ones.

	[src/lngamma.c] Fixed allocation.

	[src/lngamma.c] Temporarily disabled fast argument reconstruction
	because it doesn't compile with g++.

2014-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces.

2014-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[lngamma.c] implemented fast way of computing x*(x+1)*...*(x+k-1)
		    (it remains to speed up the computation of the Bernoulli numbers)

	speedup of the mpfr_xxx_z functions when z fits in a long

	explicit possible speedup in mpfr_[ln]gamma

2014-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Avoid inconsistent spaces.

2014-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/README] Conversion into UTF-8.

	[tools/mbench] Replaced GMP_RNDx by MPFR_RNDx.

2014-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	definitively fix the name mpfr_min_prec

2014-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/bernoulli.c] Minor bug fixed and other improvements.

2014-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	update for mpfr_gamma and Bernoulli numbers

2014-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/bernoulli.c] Fixed pointer types (build failure with -Werror).

	[src/mpfr-impl.h] Removed obsolete mpfr_bernoulli_internal prototype,
	which makes the compilation of bernoulli.c fail.

	[src/bernoulli.c] Improved isprime() by using MPFR_ASSERTD.

2014-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use a faster algorithm (based on Von Staudt–Clausen theorem) to compute
	Bernoulli numbers -> speedup in mpfr_*gamma and mpfr_li2

2014-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more changes suggested by Wolf Lammen (and also test 2^(-1074))

2014-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/memory.c] Limit heap memory to 4 MB. This should be sufficient.
	Currently, only tsum should fail, but mpfr_sum will be rewritten soon.

2014-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d.c] Fixed type to avoid non-representable unsigned → signed
	conversion.

	[src/set_d.c] Correction when MPFR_WANT_ASSERT is defined.

	Untabified and removed trailing spaces.

2014-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	partial patch from Wolf Lammen:
	- move the normalization code, necessary in an extremely rare corner case only,
	  out of the way of the normal case, for speed up

	Rename MPFR gmp_randstate_ptr into mpfr_gmp_randstate_ptr
	(patch from Patrick Pélissier)

2014-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	print message for "possibly double-double, little endian" long double format

	different fixes for set_ld, get_ld and cmd_ld with double-double

2014-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Fixed an assertion to support systems where
	2^1023 + 2^(-1074) is exactly representable, while not detected
	as double-double.

2014-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	recognize long-double format for ppc64le
	(https://sympa.inria.fr/sympa/arc/mpfr/2014-02/msg00014.html)

2014-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added item on special case of mpfr_add and mpfr_sub.

2014-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for get_ld

2014-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cache.c]
	  * Improved r8966: Setting the cache size to 10% more than the
	    requested precision may be a bad idea in large precisions.
	    It's better to guarantee a minimum of 10% increase; if the
	    user wants to, he can still control the maximum precision by
	    pre-computing the constant at this precision. Also make sure
	    that if pold == 0, the mpfr_init2 size is the same as the
	    mpfr_set_prec one (in order to avoid immediate reallocation).
	  * Replaced a comment by a couple of MPFR_ASSERTD's.

2014-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	when recomputing a constant, use a precision 10% larger than the wanted
	precision to avoid many recomputations

2014-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/round_raw_generic.c] Added a FIXME comment for MPFR_RNDNA.

	[src/bernoulli.c] GNU style.
	[src/mpfr-impl.h] Corrected prototypes.

2014-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	implement cache for Bernoulli numbers (patch from Patrick Pélissier)
	tuned parameters for [ln]gamma now that we cache Bernoulli numbers

	added bench target so that we can simply do "make bench"

2014-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for double-double

	added comment about mpfr_gamma

	forgot to restore the exponents in last commit

	added reference for efficiency issue with mpfr_gamma

	improve mpfr_gamma at around 1000 bits

2014-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	Merged the set_exp branch into the trunk. Changes:
	  * src/mpfr-impl.h: updated the MPFR_SET_EXP(x, exp) definition for
	    the MPFR_EXP_CHECK case. There are 2 consequences:
	    1. The exp expression is evaluated several times (this should be
	       OK with the MPFR code and optimizations).
	    2. The real value of exp is tested for the assertion, instead of
	       the value converted to mpfr_exp_t. Thus new bugs could be found
	       (e.g. when an unsigned type is used instead of signed).
	  * src/set_exp.c: set the exponent only if x is a non-zero ordinary
	    number, i.e. already has a valid significand and a valid exponent
	    (thus it is no longer a low-level function, and it can no longer
	    generate an invalid value from a valid one).
	  * doc/mpfr.texi: updated mpfr_set_exp description and added an item
	    in the "API Compatibility / Changed Functions" section.
	  * Clean-up.
	Original discussion:
	  https://sympa.inria.fr/sympa/arc/mpfr/2011-01/msg00092.html

	[src/rint.c] Added FIXME comment.

	[src/next.c] Improved handling of special values.

	[src/hypot.c] Reverted changeset r8950 (MPFR_SET_EXP is OK).

	[src/hypot.c] Replaced a MPFR_SET_EXP by MPFR_EXP.

	[src/fpif.c] Bug fixes and code clean-up. At the same time, took the
	future mpfr_set_exp change into account (see set_exp branch).

	[src/set.c] Cosmetic change.

	[src/fpif.c] English usage.

	[src/cache.c] Replaced a MPFR_SET_EXP by MPFR_EXP (in practice, the code
	was working, but just because MPFR_DECL_INIT_CACHE inits the cache with
	a real exponent, though the significand pointer is null).

2014-02-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Cosmetic change.

	[src/atan.c] Fixed types of some variables, in particular
	unsigned → signed conversion of non-representable value
	(detected due to the new MPFR_SET_EXP assertion check in
	the set_exp branch).

	[src/atan.c] Fixed types of some variables, in particular
	unsigned → signed conversion of non-representable value.
	Now, all the tests pass on Linux/x86_64.

	[src/exp3.c] Fixed types of some variables, in particular
	unsigned → signed conversion of non-representable value
	(detected due to the new MPFR_SET_EXP assertion check in
	the set_exp branch).

	[src/exp3.c] Fixed types of some variables, in particular
	unsigned → signed conversion of non-representable value.
	Now, 161 tests pass and 8 tests fail on Linux/x86_64.

	[src/{set_ui_2exp.c,set_uj.c}] Fixed types of some variables, in
	particular unsigned → signed conversion of non-representable value
	under some conditions.

	[src/{set_ui_2exp.c,set_uj.c}] Fixed types of some variables, in
	particular unsigned → signed conversion of non-representable value
	under some conditions.
	This doesn't change the number of failed tests.

	[src/{sqrt_ui.c,sub_ui.c,ui_div.c,ui_sub.c}] Changed cnt type from
	unsigned long to int (signed) due to the MPFR_SET_EXP requirement.
	Otherwise the code was correct.
	Now, 160 tests pass and 9 tests fail on Linux/x86_64.

	[src/mpfr-impl.h] Added a comment about MPFR_SET_EXP: exp is required
	to have a signed type.

	[src/{set_d.c,set_f.c}] Type clean-up to improve maintainability.

	[src/random_deviate.c] Type clean-up to improve maintainability.

	[src/set_si_2exp.c] Fixed unsigned → signed conversion of
	non-representable value when mpfr_exp_t has the same size
	as int.

	[src/set_si_2exp.c] Fixed unsigned → signed conversion of
	non-representable value when mpfr_exp_t has the same size
	as int (unrelated to MPFR_SET_EXP change).

	[src/add_ui.c] Cosmetic changes.

	[src/add_ui.c] Fixed unsigned → signed conversion of non-representable
	value (detected due to the new MPFR_SET_EXP assertion check in the
	set_exp branch).

	[src/add_ui.c] Fixed unsigned → signed conversion of non-representable
	value (detected due to the new MPFR_SET_EXP assertion check).
	Now, 92 tests pass and 77 tests fail on Linux/x86_64.

	[src/random_deviate.c] Added an assertion.

	[tests/random2.c] Fixed unsigned → signed conversion of
	non-representable value (detected due to the new MPFR_SET_EXP
	assertion check in the set_exp branch).

	[tests/random2.c] Fixed unsigned → signed conversion of
	non-representable value (detected due to the new MPFR_SET_EXP
	assertion check).
	Now, 87 tests pass and 82 tests fail on Linux/x86_64.

	Updated src/urandomb.c due to the change of mpfr_set_exp behavior.
	Now, 77 tests pass and 92 tests fail on Linux/x86_64.

	[tests/trandom.c] Improved test to get an assertion failure instead of
	a segmentation fault.

	Start of mpfr_set_exp behavior clean-up.
	  * src/mpfr-impl.h: updated the MPFR_SET_EXP(x, exp) definition for
	    the MPFR_EXP_CHECK case. There are 2 consequences:
	    1. The exp expression is evaluated several times (this should be
	       OK with the MPFR code and optimizations).
	    2. The real value of exp is tested for the assertion, instead of
	       the value converted to mpfr_exp_t. Thus new bugs can be found
	       (e.g. when an unsigned type is used instead of signed).
	  * src/set_exp.c: set the exponent only if x is a non-zero ordinary
	    number, i.e. already has a valid significand and a valid exponent
	    (thus it is no longer a low-level function, and it can no longer
	    generate an invalid value from a valid one).
	  * doc/mpfr.texi: updated mpfr_set_exp description and added an item
	    in the "API Compatibility / Changed Functions" section.
	Currently 73 tests pass and 96 fail on Linux/x86_64, either due to bugs
	or due to code not yet updated for this change.

	Set svn:ignore property on the tools/bench directory.

2014-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ld.c] Added a note about the test for infinity.

2014-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	make -> make mpfrbench

2014-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	Removed MPFR_CHECK_MAX as it is now useless: all "max" tests succeed.

	[src/lngamma.c] Fixed bug introduced in the latest change r8917
	(inexact was not initialized in the case compared < 0).

2014-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added code for large inputs in lngamma/lgamma

2014-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Suggest timing-based thresholds for asymptotic expansions.

2014-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use asymptotic expansion for large positive argument

2014-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	tiny change to distinguish different versions of the manual

2014-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src] Add constants:
	  * __gmpfr_mone = -1
	  * mpfr_const_log2_RNDD = log(2) rounded down in precision 64 bits
	  * mpfr_const_log2_RNDU = log(2) rounded up in precision 64 bits
	(modified patch from Patrick Pélissier).

2014-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference

2014-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src] mpz_t caching (modified patch by Patrick Pélissier).

	[src/const_pi.c] Rewrote a condition to avoid a potential
	integer overflow (?) and match a comment.

	[src/const_pi.c] Use of GROUP allocation and minor optimization
	(modified patch by Patrick Pélissier).

2014-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added a note about "rounding to odd" / "sticky rounding".

2014-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Run-time assertions concerning relations between
	the MPFR exponent type and the long type are allowed (see r8896).

2014-01-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/mpf_compat.h] In MPFR mode, skip the tests when mpfr_exp_t is not
	a long.

	[tests/tset_ld.c] Fixed printf argument.

	[tests/tgamma.c] Fixed printf argument (bug detected with
	_MPFR_EXP_FORMAT=2 and -Werror=format=).

	[tools/bench/mpfrbench.c] No longer use the numberof macro, and
	#include "mpfr.h" instead of "mpfr-impl.h", so that mpfrbench.c
	can now be linked against an installed MPFR library.

2014-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Added MPFR_CHECK_GMP configure check.
	Useful if the user provides --with-gmp with a directory containing
	a GMP version that doesn't have the correct ABI: the previous tests
	won't trigger the error if the same GMP version with the right ABI
	is installed on the system, as this library is automatically
	selected by the linker, while the header (which depends on the ABI)
	of the --with-gmp include directory is used. Before this test, one
	was getting an error in MPFR_CHECK_DBL2INT_BUG, though the error is
	not related to a double-to-integer conversion bug.

	[src/mpfr-impl.h] Corrections for the case _MPFR_EXP_FORMAT == 4:
	   * No longer use MPFR_EXP_MIN and MPFR_EXP_MAX unconditionally in
	     a #if directive, since if MPFR_HAVE_INTMAX_MAX is not defined,
	     the compilation fails. The test was not really useful anyway:
	     if one really wants mpfr_eexp_t to be long int if mpfr_exp_t
	     has the same range as long int, then _MPFR_EXP_FORMAT == 3 is
	     sufficient (and this is the default).
	   * Removed a test that should be always true due to the previous
	     inclusion of mpfr.h (intmax_t has already been used there in
	     the case _MPFR_EXP_FORMAT == 4).

	[doc/README.dev] Rephrased paragraph added in r8897.

	[doc/README.dev] Added a note for Automake 1.13+ and failed tests.

	[src] Replaced some MPFR_ASSERTN's by MPFR_STAT_STATIC_ASSERT (from the
	detection by mpfrlint). Note: the MPFR_ASSERTN's concerning relations
	between the MPFR exponent type and the long type have not been replaced
	because these tests may fail with the non-standard _MPFR_EXP_FORMAT = 4
	on some platforms (e.g. 32-bit ones), and we still want to be able to
	build MPFR in this case in order to test it; this needs to be fixed.

	[tools/mpfrlint] Constant checking in assertions.

	[src/mpfr-mini-gmp.c] Use lower case for function parameters.

2014-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	re-enable assertions (patch from Patrick Pélissier)

	removed an MPFR_LIKELY that is not so likely...

2014-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Optimization: likely / unlikely, etc. (patch by Patrick Pélissier).
	Coding style.

	[tune/tuneup.c] Fix compilation error due to static assertion being
	wrong (patch by Patrick Pélissier).

	[src/const_log2.c] Optimization by using GROUP allocation (patch
	by Patrick Pélissier).

	[src/exp_2.c] Optimization: Increase the initial estimate of the number
	of iterations (patch by Patrick Pélissier).

	[src/erfc.c] Use of static assertion instead of run time assertion
	(patch by Patrick Pélissier).

	[src/sum.c] Removed trailing spaces.

	[src/sin_cos.c] Optimization: use of MPFR_MPZ_SIZEINBASE2, GROUP
	allocation, and MPFR_ALIAS (modified patch by Patrick Pélissier).

	[tools/mbench/mfv5-libc.cc] Fix warning when compiling with recent GCC
	due to unused but set variable (patch by Patrick Pélissier).

2014-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	revert to EXTRA_PROGRAMS (bin_PROGRAMS is installed in /usr/local/bin,
	which is not what we want, we could use noinst_PROGRAMS, which would be
	compiled automatically, but for coherence with GNU MPC we use EXTRA_PROGRAMS
	which is not compiled automatically)

	divide the global score to get a number around 1000

	added reference

	gnu style

2014-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	Added libtool-tcc-wl.patch patch from
	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663945#46
	to add tcc support to libtool 2.4.2 and below.
	In doc/README.dev, documented how to use this patch (before a release).

	[tests/tadd.c] Added check_extreme test (huge + tiny).
	[tests/tsum.c] Added check_extreme test (same test as in tadd.c,
	  but with mpfr_sum instead of mpfr_add), and temporarily disabled
	  the cancel test.

	Use of the numberof macro.

	[tools/bench/mpfrbench.c] Whitespace clean-up.

	[src/const_euler.c] Removed trailing spaces.

	[tools/bench/Makefile.am] Fix for separate build directory (problem
	detected with "make distcheck").

	[src/sum.c] Updated comment.

	[src/sum.c] Updated comment.

	[src/sum.c] Added a possible algorithm in comment.

	[src/sum.c] Added FIXME comment.

2014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	missing space

	Mickaël is the only author of MPFRbench

	updated authors and contributors

	new code for Euler's constant (contributed by Fredrik Johansson)

	added subdir tools/bench

	added MPFRbench

	added MPFRbench

	make mpfrbench compiled just with "make"

	changes for MPFRbench

	new directory for MPFRbench (contributed by Mickaël Gastineau and Bill Hart)

2014-01-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Added a comment about the cancellation test.

	[tests/tsum.c] In the cancellation test, do a random permutation.

2014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mention sponsors

2014-01-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] In the cancellation test: reduced the number of tests;
	output debug information when building with -DDEBUG.

	[tests/tsum.c] Added simple cancellation test.

	[tests/tests.c] Fixed tests_default_random in case mpfr_exp_t > long.

	[doc/mpfr.texi] Improved mpfr_sum description.

	[src/sum.c] Do not use bitwise operations on values that can be
	negative. Added comments about what the functions do.

2014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed regression noticed by Patrick Pelissier with --enable-gmp-internals

2014-01-22  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Fixed bug in test_version() introduced in r8821.

	[src/lngamma.c] Fixed divide-by-zero flag for negative integers.
	[tests/tlngamma.c] Test the flags for some special values. Clean-up.

2014-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed two items done

2014-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{exp.c,exp_2.c}] mpfr_exp optimization (modified patch
	  by Patrick Pélissier).
	[src/round_prec.c] Added a note about the reallocation.

	LIKELY some code.

	[src/lngamma.c] Fixed mpfr_lngamma behavior on nonpositive integers
	  and -Inf.
	[doc/mpfr.texi] Updated the documentation on the general rules for
	  special values and on mpfr_lngamma.
	[tests/tlngamma.c] Update.
	See <https://sympa.inria.fr/sympa/arc/mpfr/2013-08/msg00008.html>
	(behavior of mpfr_lngamma on zero and general rule for such limits).

	[acinclude.m4,configure.ac] Check that a directory passed to
	a --with-gmp* configure option exists and doesn't contain any
	space, and canonicalize the name if the realpath utility is
	available (patch by Patrick Pélissier).

	[src/mul.c] Optimization (modified patch by Patrick Pélissier).

	[src] Added support for MPFR_PURE_FUNCTION_ATTR, MPFR_HOT_FUNCTION_ATTR,
	and MPFR_COLD_FUNCTION_ATTR, and fixed some LIKELY/UNLIKELY conditions
	(modified patch by Patrick Pélissier).

	[src/*.c] Replaced mpfr_set_divby0 by the faster MPFR_SET_DIVBY0,
	  and so on (except for src/exceptions.c).
	[tools/mpfrlint] Update for flags related functions: check that
	  the macros are used in src (except for exceptions.c and mpfr.h)
	  instead of the functions.
	[src/mpfr-impl.h] Removed some useless parentheses in comments,
	  for mpfrlint.

2014-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more detail in case of error

2014-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added MPFR_SET_* macros to set flags efficiently.

	Small mpfr_erf improvement (modified patch by Patrick Pélissier).

	[src/mpfr-gmp.h] TMP_FREE optimization as tmp_marker is often null
	(based on a patch by Patrick Pélissier).

	[configure.ac] --enable-mini-gmp message: fixed layout; experimental.

	[NEWS] Mini-gmp support is experimental.

	[NEWS] Mention the new --enable-mini-gmp configure option.

	[NEWS] Mini-gmp support.

	[NEWS] MPFR now depends on GMP 4.2+. Dropped K&R C compatibility.

	[NEWS] Better Automake 1.13 support.

	Merged the vl-am113 branch: test suite improvement with Automake 1.13.
	  * Moved GMP version check from tversion.c to the test_version()
	    function of tests.c, so that this check is done in every test.
	    This function now returns an int, as there are now 3 cases:
	    1. An error in MPFR version check is a fatal error: test_version()
	       exits with an error (exit status = 1).
	    2. An error in GMP version check is a non-fatal error: if there
	       are no errors in MPFR version check, test_version() returns
	       with value 1.
	    3. Otherwise test_version() returns with value 0 (everything is
	       fine).
	  * tversion.c still runs test_version(), but fails if this function
	    returns with an error, i.e. any error is fatal for this test.
	    Note: for the other tests, one just has a message in the output
	    in case of GMP version mismatch.
	  * mpfr-test.h: updated test_version() prototype.
	  * Makefile.am: removed the second tversion invocation, and output
	    the contents of tversion.log if this file exists (typically with
	    Automake 1.13+, for which one no longer gets tversion output by
	    default).

	[tests/Makefile.am] Removed obsolete comment.

2014-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	Dropped obsolete __gmp_const (replaced by const).

	[TODO] Removed mini-gmp support: done.

	Small mpfr_exp improvement (modified patch by Patrick Pélissier).

	[tools/mbench] Patch by Patrick Pélissier: import base support,
	corei7 support, build fix (with MPFR 3.1+).

2014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	come back to revision 8723 which was faster (measured with tools/mbench/mfv5
	on 53 and 1024 bits). The reason is that the "new" version had overhead for
	mpfr_round_p (about 40 cycles on Core 2) and mpfr_set (about 98 cycles for
	53 bits, and 132 cycles for 1024 bits)

2014-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	Added __builtin_unreachable / MPFR_ASSUME support (modified patch
	from Patrick Pélissier).

	MPFR now depends on GMP 4.2+ instead of 4.1+.
	GMP 4.2 compatibility fixed.
	Code clean-up.
	(Modified patch from Patrick Pélissier)

	[src/fms.c] Coding style.

	[src/fma.c] Changed mp_prec_t to mpfr_prec_t.

2014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_fma

2014-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Output a \n between two error messages when need be.

2014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	speed up mpfr_fma [common work with Jeroen Demeyer]

2014-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests]
	  * Moved GMP version check from tversion.c to the test_version()
	    function of tests.c, so that this check is done in every test.
	    This function now returns an int, as there are now 3 cases:
	    1. An error in MPFR version check is a fatal error: test_version()
	       exits with an error (exit status = 1).
	    2. An error in GMP version check is a non-fatal error: if there
	       are no errors in MPFR version check, test_version() returns
	       with value 1.
	    3. Otherwise test_version() returns with value 0 (everything is
	       fine).
	  * tversion.c still runs test_version(), but fails if this function
	    returns with an error, i.e. any error is fatal for this test.
	    Note: for the other tests, one just has a message in the output
	    in case of GMP version mismatch.
	  * mpfr-test.h: updated test_version() prototype.
	  * Makefile.am: removed the second tversion invocation.

	[tests/Makefile.am] Output the contents of tversion.log if this file
	exists (typically with Automake 1.13+, for which one no longer gets
	tversion output by default).

2014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	simplified the fms code (joint work with Jeroen Demeyer)

	fixed bug in mpfr_exp_3, and memory leak in texp

2014-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/li2.c] Use MPFR_RET_NEVER_GO_HERE () instead of MPFR_ASSERTN (0)
	to avoid an error with:
	  ./configure --enable-logging CFLAGS="-Werror=return-type"; make

	[src/mpfr-impl.h] Updated comment of the MPFR_RET_NEVER_GO_HERE macro.

2014-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test that currently fails (found with mini-gmp)

2014-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	Spelling consistency:
	  non-negative → nonnegative
	  non-positive → nonpositive

	[doc/README.dev] More on exponent handling.

	[tests/tset_str.c] Fixed and improved a mpfr_set_str_binary random test.
	Some code clean-up.

	[tests/tset_str.c] Removed useless and confusing cast.

	[src/set_d.c] Improved a comment about signed zeros.

2014-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed memory leak

	instructions to compile MPFR with mini-gmp

	disable those tests for mini-gmp

	fixed test which might produce subnormal numbers

	disable two tests that depend on the random generator

	followup from previous commit: 1^Inf is special too

	fixed issue for n^x with x=Inf when the random number n is 0

	fixed issue when x=0 and y=Inf (or converse)

	fixed issue when x=0 and y=Inf (or converse)

	fixed bug in test file

2014-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d.c] Fixes and other minor changes suggested by Wolf Lammen:
	https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00007.html

	[src/set_d.c] In extract_double, replaced long by int for exp (it may be
	faster, and shouldn't be slower as it is more restrictive than long).

	[src/set_d.c] Removed obsolete comment from r245.

	[src/set_d.c] Renamed __gmpfr_extract_double to extract_double
	(this is just a static function).

	[src/set_d.c] Fixed __gmpfr_extract_double precondition on d.
	Bug found by Wolf Lammen:
	  https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00007.html

2014-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more progress with mini-gmp:
	=======================
	9 of 157 tests failed
	(13 tests were not run)
	=======================

2014-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{ty0,ty1}.c] Reduce emax for the generic tests.

2014-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/lngamma.c] FIXME: proposed method for overflow detection.

	[src/lngamma.c] Minor improvements.

2014-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	missing \n

	missing \n

	missing \n in error messages

	missing \n in error messages

2014-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/lngamma.c] Added a MPFR_LOG_FUNC.

	[src/digamma.c] FIXME: for x large, use the asymptotic expansion.

	[src/digamma.c] Added 2 MPFR_LOG_FUNC's.

	[tests/tgeneric.c] Fixed bug found by PZ: code introduced in r4538 to
	test the maximum (in absolute value) positive and negative arguments
	was buggy, as only the negative one was tested.
	→ This makes some tests fail on the maximum positive argument.

2014-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	some progress with mini-gmp:
	=======================
	34 of 157 tests failed
	(13 tests were not run)
	=======================

	mpn_copyd (rp, sp, n) should be used when rp >= sp

	fixed bug which could appear with probability 1/2^32 or 1/2^64

2014-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-mini-gmp.c] Removed trailing spaces.

	[tools/mpfrlint] Update due to the mini-gmp support (r8753).

	[tests] Various fixes for r8753.

	[src/mpfr.h] Indentation.

	[src/mpfr-impl.h] Indentation.

	Avoid an empty translation unit (see ISO C99, 6.9). Some errors could
	be triggered with "gcc -std=c99 -pedantic-errors".

2014-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more progress for the mini-gmp interface

2014-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two new files for mini-gmp interface

	first step towards making MPFR compile with --enable-mini-gmp, so far make
	succeeds and all tests compile, but many tests fail, will investigate later

2014-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_z_exp.c] Added an assert for security in case the precision is
	large, but the error should be handled properly (to be discussed).
	Note: there are still corrupt memory problems when the precision is
	large enough but below the mpz limit (a bug in GMP?).
	Note [VL, 2014-01-17]: these problems are due to an integer overflow in
	mpz/clear.c of GMP 5.1.3; I've reported the bug here:
	  https://gmplib.org/list-archives/gmp-bugs/2014-January/003321.html

	[src/get_z_exp.c] Avoid a potential overflow.

	[src/extract.c] Type clean-up with 2 bug fixes (these bugs should have
	no effect on most platforms without too aggressive optimizations).

2014-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced function _mpz_realloc by preferred one mpz_realloc2

2014-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added mini-gmp support.

2014-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention speed improvement with --enable-assert[=full] and GCC
	(due to the fix in r8746).

2014-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fixed the MPFR_ASSERTN macro as suggested by
	Wolf Lammen: https://sympa.inria.fr/sympa/arc/mpfr/2014-01/msg00002.html
	Note: the semantics doesn't change, it should just be more efficient.

2014-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Output MPFR_LDBL_MANT_DIG in some failure case.

2014-01-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_d.c] More information in a failed test.

2014-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] In LOADLIBES, replaced $(INCLUDES) by $(AM_CPPFLAGS)
	(this should have been done at the same time as r8364).

2014-01-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release" update. In particular at step 5,
	replaced "make dist" by "make distcheck" so that some problems can be
	detected at step 5 instead of step 6, ensuring that the tarballs are
	complete.

	[src/Makefile.am] Forgot to add mpfr-cvers.h in r8739.

	When static assertions are not supported by the C implementation
	natively (new C11 feature), their MPFR implementation got broken by
	changeset r8625, as the __MPFR_GNUC macro in mpfr-sassert.h was not
	defined in the configure test (since mpfr-impl.h wasn't included)
	and generated an error, disabling the static assertions support.
	This is fixed by the following changes, avoiding code duplication
	and thus risk of inconsistencies in future modification:
	  * copied some of the version detection macros from mpfr-impl.h to
	    a standalone file mpfr-cvers.h, and updated the macros;
	  * in mpfr-impl.h, replaced these macros by a #include "mpfr-cvers.h"
	    and updated a comment;
	  * in mpfr-sassert.h, added a #include "mpfr-cvers.h".

	[acinclude.m4] In the Static Assertions test, avoid a warning with GCC
	and added comments.

2014-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[tools/mpfrlint] Use codespell if available.

	[TODO] Fixed a misspelling, using codespell.

	Fixed misspellings, using codespell.

2014-01-06  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added item: new functions of IEEE 754-2008 / C binding draft.

2014-01-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] "To make a release": added a paragraph about warnings.

	[tests/trint.c] Avoid a warning.

	[acinclude.m4] Avoid a warning due to variable set but not used in a
	test, making the test fail with gcc -Werror=unused-but-set-variable.

	[acinclude.m4] Replaced "main()" by "main (void)".

2014-01-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2014-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed warnings from GCC's -Wold-style-declaration option:
	MPFR_THREAD_ATTR must be at beginning of declaration.

	Copyright notice update: added 2014 with
	  perl -pi -e 's/ (\d{4}-)?(2013)(?= Free Software)/
	               " ".($1||"$2-").($2+1)/e' **/*(^/)
	under zsh (the tools/mbench directory was not modified).
	Removed 2013 from the example in the doc/README.dev file.

2013-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	work around for bug in mpn_set_str
	(https://gmplib.org/list-archives/gmp-bugs/2013-December/003267.html)

2013-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	Added tools/repl-variadic Perl script to replace the variadic functions
	mpfr_clears, mpfr_inits and mpfr_inits2, in case they are not supported
	by the compiler.

2013-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstckintc.c] Improved tests when mpfr_custom_init_set is used as
	a macro (i.e. without parentheses) to trigger the bug fixed in r8715.

	[src/mpfr.h] Fixed bug in the mpfr_custom_init_set macro (typo in
	variable name, which can yield incorrect behavior if the second
	argument is not a simple expression).
	Thanks to Andreas Enge for the bug report:
	  https://sympa.inria.fr/sympa/arc/mpfr/2013-11/msg00029.html

2013-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/lngamma.c] No longer declare B as initialized with GCC (see r5534),
	as the "may be used uninitialized" warning no longer occurs with latest
	GCC: trunk revision 203899 (Debian 20131021-1), for the future GCC 4.9.
	The warning still occurs with GCC 4.8.2 (Debian 4.8.2-1):

	$ gcc-4.8 -O2 -Wall -c gamma.c
	In file included from gamma.c:27:0:
	gamma.c: In function ‘mpfr_gamma’:
	lngamma.c:468:17: warning: ‘B’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	               B = mpfr_bernoulli_internal (B, m); /* B[2m]*(2m+1)!, exact */
	                 ^
	lngamma.c:165:10: note: ‘B’ was declared here
	   mpz_t *B;
	          ^
	Note: with GCC 4.8.2, at least -O is needed to reproduce the warning,
	and -Wmaybe-uninitialized without -Wuninitialized (or -Wall) doesn't
	trigger the warning.

2013-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added -Wlogical-op

2013-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Added a few tests.

	[doc/README.dev] This may seem obvious, but this is not the first time
	this happens: + "When adding the expected result, do NOT use the one
	obtained from the MPFR function! Otherwise, if this function is buggy,
	the test will be wrong and the function will remain buggy."

	[tests/tsprintf.c] Fixed incorrect test from r5652 (the corresponding
	bug in src/vasprintf.c has been fixed in r8705).

2013-11-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug reported by David Binderman
	(https://sympa.inria.fr/sympa/arc/mpfr/2013-11/msg00009.html)

2013-11-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/thypot.c] More NaN tests.

2013-11-06  Philippe Théveny  <philippe.theveny@laposte.net>

	[tests/thypot.c] Fix use of a non explicitly initialized variable.

2013-11-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sum.c] the call to mpfr_can_round was obviously wrong

2013-11-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Updated TODO comment (→ check underflows).

2013-11-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sum.c] mpfr_sum should consider the maximal precision of its inputs/output

2013-10-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Added a TODO comment: add generic random test with
	cancellations, and tests with intermediate overflows.

	[tests/tsum.c] Added test for bug reported by Joseph S. Myers:
	https://sympa.inria.fr/sympa/arc/mpfr/2013-10/msg00015.html

2013-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added an example for mpfr_fits_*, corresponding to the
	bug fixed in r8503.

	[src/mpfr-impl.h] Document that DOUBLE_ISNAN(x) is valid on long double.
	[tests/tset_ld.c] In Isnan_ld, do not convert the long double argument
	to double, as this can give an overflow and unexpected behavior without
	default IEEE 754 behavior. With this change, this tset_ld test no longer
	fails with "clang -O2 -fsanitize=undefined -fno-sanitize-recover".

	[tests/tset_ld.c] Avoid a division by zero if MPFR_ERRDIVZERO.

	[tests/tset_ld.c] Move tests_start_mpfr call earlier.

	[tests/tget_flt.c] Corrections when MPFR_ERRDIVZERO is defined.

	[src/mpfr-impl.h] With clang, disable division by zero using constants
	due to a bug in its sanitizer and because IEEE 754 division by zero is
	currently not properly supported.
	With this change, the tget_d test no longer fails with:
	  clang -O2 -fsanitize=undefined -fno-sanitize-recover

2013-09-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] Protect a division by 0.

2013-09-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] Updated -version-info to 6:0:2 for MPFR 3.2.0.

2013-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] For MPFR 3.2: The --enable-decimal-float configure option
	no longer requires --with-gmp-build (see r8402).

2013-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Detect broken _Decimal64 support on powerpc64 with
	the mode32 ABI.

	[tests/tget_set_d64.c] More meaningful messages in check_inf_nan.

	[tests/tget_set_d64.c] More meaningful messages in check_inf_nan
	after failures on powerpc64 with the mode32 ABI.

2013-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added: implement optional cache sharing between threads.

2013-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Changed node name "Integer Related Functions" to
	"Integer and Remainder Related Functions", as the corresponding
	section title was changed in r4867. Added associated @cindex.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Specified special values (in particular the sign of 0)
	for Section 5.10 "Integer and Remainder Related Functions".

	[src/round_raw_generic.c] Support MPFR_RNDNA for this class of functions
	at the request of John P. Hartmann (to support one of IBM's High Level
	Assembler rounding mode for hexadecimal floating-point constants).

	[src/round_raw_generic.c] Code simplification / comment corrections.

2013-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] About clang sanitizer, mention -fno-sanitize-recover
	for more visibility in automated tests.

2013-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ai.c] Moved the handling of the special cases NaN and ±Inf to
	the main function mpfr_ai.

	[src/agm.c] Corrected a comment.
	[tests/tagm.c] Added tests concerning special values,
	  in particular (zero,negative) and symmetric tests.
	[doc/mpfr.texi] Corrected mpfr_agm description.

2013-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Revisit the conversion functions between a MPFR number and
	a native floating-point value.

2013-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc] Added mpfr.t2d and mpfr.t2p to svn:ignore property.
	Note: These directories are now generated when using "make mpfr.dvi"
	and "make mpfr.pdf". This comes from a change in Automake 1.13 (see
	its 2012-06-20 changelog) for the texi2dvi and texi2pdf invocations.

2013-08-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Before release, test with gcc -mpc64 under Linux/x86.

2013-08-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tversion.c] added GCC version

	[tset_ld.c] try to fix a bug on i686-freebsd
		    (see http://hydra.nixos.org/build/5665961/log/raw)

	[tset_ld.c] added debug information

2013-08-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Reverted changeset r8657 as %a is C99-only. Moreover
	the memory representation already gives the necessary information (and
	the decimal output was correct on the machine where the test fails).

2013-08-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] maybe this will fix the issue for i686-freebsd?
		    Cf http://hydra.nixos.org/build/5662697.

	[tset_ld.c] in case of error, print d in hexadecimal

2013-08-07  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] In the "mpfr_set_ld should be exact" error, output
	the memory representation of d.

2013-08-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] print value of MPFR_LDBL_MANT_DIG in case of error

2013-08-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Space consistency.

2013-08-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Corrected a comment.

	[tests/tset_ld.c] Set some long double variables as volatile in order to
	avoid optimizations that yield failures with xlc on power7 (not tested).

	[src/get_ld.c] Oops... The non-working code was due to a missing cast.
	So, simplified the code.

	[acinclude.m4] Define HAVE_LDOUBLE_MAYBE_DOUBLE_DOUBLE if the
	  "long double" format seems to be double-double (e.g. on PowerPC).
	[src/get_ld.c] Added double-double support.

2013-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ld.c] GNU style.

	[tests/tset_ld.c] Improved output in case of error.

	[tests/tset_ld.c] Improved check_set_get() test function; in particular,
	it no longer takes a mpfr_t argument: the precision of the MPFR number
	is now determined dynamically from the long double d. Thus some numbers
	having a precision > MPFR_LDBL_MANT_DIG in double-double arithmetic are
	now tested (e.g. on PowerPC).

	[doc/mpfr.texi] "correctly-rounded" → "correctly rounded" (see rule on
	https://en.wikipedia.org/wiki/Wikipedia:HYPHEN#Hyphens and the IEEE 754
	and ISO C standards don't use a hyphen either).

	[doc/mpfr.texi] Added missing @code{}'s in mpfr_fpif_import description.

	[doc/mpfr.texi] Replaced periods ending a sentence by "@." in the
	following cases: when the preceding character is a capital letter
	or a closing parenthesis following a capital letter (e.g. "NaN.",
	"MPFR.", "MPFR).", etc). This is needed to get correct spacing in
	the generated .info and PDF files with the next sentence of the
	paragraph (when there is one).

	[tests/tset_ld.c] Removed the "check largest 2^k that is representable
	as a long double" test based on macros LDBL_MAX and LDBL_EPSILON, which
	are not correct in some C implementations. There is already another
	"check the largest power of two" test, based on a loop, which is OK.

2013-08-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] improve tests to avoid spurious errors for double-double
		    representation where MPFR_LDBL_MANT_DIG=106 and numbers
		    with 107 bits or more

2013-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Document that log1p(-1) = -Inf.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Moved mpfr_log1p & mpfr_expm1 after mpfr_log & mpfr_exp
	respectively.

	[tests/tset_ld.c] Comment on LDBL_MAX.

2013-08-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] missing conversion from int to mpfr_rnd_t

	[tset_ld.c] improve error message

2013-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_ld.c] Corrected a comment.

2013-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Completed specification of mpfr_lngamma and mpfr_lgamma
	on 1 and 2 (result is +0).

	[doc/mpfr.texi] Improved description of mpfr_rec_sqrt and mpfr_hypot.

	[tests] Added terandom and tnrandom to svn:ignore property.

	[src] Improved some comments with "0", about its sign.

	[doc/mpfr.texi] Completed specification on special numbers (±0, ±Inf).

2013-08-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] increase precision to take into account double-double encoding

	[tset_ld.c] replaced error by warning when _GMP_IEEE_FLOATS is not defined

2013-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-sassert.h] Get rid of annoying warnings
	  typedef 'MPFR_ASSERT_xxx' locally defined but not used
	with GCC 4.8+ (better than the non-portable solution r8618). Thanks to
	Jonathan Wakely: https://gcc.gnu.org/legacy-ml/gcc-help/2013-07/msg00142.html

2013-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] revert commit 8618 since it breaks hydra jobs i686-cygwin,
		       i686-freebsd, i686-solaris and x86_64-freebsd
		       (cf http://hydra.nixos.org/eval/955753)

2013-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	Applied patch 3 by Ondřej Bílka with some manual corrections,
	fixing typos:
	  https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00016.html

	Applied patch 2 by Ondřej Bílka, fixing capitalization:
	  https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00015.html

	Applied patch 1 by Ondřej Bílka, fixing common typos:
	  https://sympa.inria.fr/sympa/arc/mpfr/2013-07/msg00014.html

	[configure.ac] Added -Wno-unused-local-typedefs flag to avoid spurious
	"typedef 'MPFR_ASSERT_xxx' locally defined but not used" warnings due
	to the implementation of static assertions.

2013-07-16  Vincent Lefèvre  <vincent@vinc17.net>

	Slightly restructured doc/README.dev and mentioned C-Reduce.

2013-07-12  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] If the gmp.h vs libgmp test fails, also output the value
	of some variables (in case config.log is available, information can
	also be retrieved from "Cache variables" and "Output variables" near
	the end).

2013-07-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	revert temporary commit 8613

2013-07-11  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Improved MPFR_CHECK_DBL2INT_BUG in case of failure
	and added comments about that.

2013-07-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] temporary commit to investigate problem with i686-solaris on hydra

2013-07-11  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] In the CC and CFLAGS setup from gmp.h, modified the
	list of commands to select the C preprocessor since /lib/cpp isn't
	the best choice under Solaris.

	[configure.ac] Moved AM_PROG_AR (introduced in r8546) after the
	CC and CFLAGS setup from gmp.h, because AM_PROG_AR makes Autoconf
	select a compiler (before it may be chosen from __GMP_CC).

	[configure.ac] The test of CC and CFLAGS was done too late! Moved this
	test earlier (checked on Debian/unstable with autoconf 2.69).

2013-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved r8608 (gmp.h/libgmp on stderr).

2013-07-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] print also the versions of gmp.h/libgmp on stderr, hoping they
		       will appear on i686-solaris

	[src/exp_2.c] removed useless instruction

2013-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Corrected change in r8602 to get an error in the case
	i == 0 and u != 1.

2013-07-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] added fflush to see versions of gmp.h/libgmp

2013-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/exp_2.c] Fixed undefined behavior (present in all MPFR versions)
	detected by "clang -fsanitize=undefined".

	[doc/README.dev] Suggest to test with "clang -fsanitize=undefined";
	see <https://blog.regehr.org/archives/963>.

2013-07-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more helpful debug information

	added debug information for double-to-integer conversion bug

2013-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Updated a comment about ICC.

	[doc/README.dev] Added URL about compiler detection.

2013-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Another update about signed and unsigned integer types.

	[doc/README.dev] Update about signed and unsigned integer types.

2013-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/random_deviate.c] applied patch from Charles Karney
	[tests/Makefile.am] reorder test files

2013-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added URL's about C++ reserved keywords.

2013-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed to allow compilation with C++:
	[src/random_deviate.h] must declare the types before extern C {...}
	[tests/tget_sj.c,tests/tset_si.c] "not" seems to be reserved in C++

2013-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/algorithms.tex] Slightly improved a bound under which mpfr_hypot
	cannot have an internal underflow, thus is correct.

2013-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Improved a test to avoid false positives.

	[doc/algorithms.tex] Updated/improved the proof of mpfr_hypot in the
	scaling case.

	[src/hypot.c] Slightly improved scaling to avoid even more underflow
	in the scaling of y or in its square.

	[src/hypot.c] Added a comment on the FIXME.

	[src/mpfr-gmp.h] Removed useless and meaningless definitions.

	[src] Moved mp_bitcnt_t definition for GMP < 5 from mpfr-gmp.h to
	mpfr-impl.h (mpfr-gmp.h is only for definitions from GMP internals
	as it is included only in builds without GMP internals).

	[src/mpfr-gmp.h] Fixed mp_bitcnt_t presence test.

2013-06-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed macro to typedef when mp_bitcnt_t is missing (for coherence with GMP)

	fixed compiler warnings

	[mpfr-gmp.h] added replacement for mp_bitcnt_t
	[hypot.c] added comment

2013-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	applied patch from Charles Karney

2013-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	[README] Added ar-lib (due to AM_PROG_AR in r8546) and test-driver
	(installed by Automake 1.12+).

2013-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

2013-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] In AM_INIT_AUTOMAKE, lowered Automake version requirement
	to 1.11.2 (for AM_PROG_AR), as Ubuntu 12.04 LTS only has Automake 1.11.3
	(we assume that such distributions have a security patch).

	[configure.ac] In AM_INIT_AUTOMAKE, require Automake 1.11.6 for
	AM_PROG_AR and security reasons.

	[NEWS,doc/mpfr.texi] New and deprecated functions in MPFR 3.2.

	Spelling: gaussian -> Gaussian (Wikipedia, Wolfram MathWorld, dict).

	[doc/mpfr.texi] Slight doc improvement for mpfr_grandom.

2013-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added assertion

2013-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/random_deviate.c] Updated a comment.

2013-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	in case mp_limb_t is smaller than unsigned long, use alternate code for
	highest_bit_idx

2013-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Update for random_deviate.

	[src/nrandom.c] Corrected indentation.

	[src/random_deviate.h] Fixed a typo in a macro name.

	[src/random_deviate.c] Removed trailing spaces.

	Added ar-lib to svn:ignore property (this script comes from Automake,
	due to the use of AM_PROG_AR in configure.ac as of r8546).

2013-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/memory.c] Added a FIXME comment about the time complexity of
	tests_memory_find (Paul Zimmermann noticed that tgrandom on a large
	value takes a lot of time, probably because of that).

2013-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated NEWS and contribution section in mpfr.texi

	#include <...> -> #include "..." for local files

	removed obsolete comment

	GNU style

	GNU style

	GNU style

	added tests files for mpfr_nrandom and mpfr_erandom

	removed RANDOM_SIMPLE=1 stuff (this was an alternate slower implementation).
	Kept in svn history as a reference.

	removed mpfr_grandom_alt (likewise previous commit)

	removed mpfr_urandom_alt (slower than mpfr_urandom, but it can be recovered
	from the svn history to illustrate one of the basic properties of a newly
	initialized mpfr_random_deviate_t)

	removed mpfr_random.h, headers are in mpfr.h

	original contribution from Charles Karney <charles.karney@sri.com>

2013-05-30  Vincent Lefèvre  <vincent@vinc17.net>

	Removed obsolete tools/update-patchv script. Use update-version instead.

	[configure.ac] Added AM_PROG_AR to support unusual archivers
	(after a warning from Automake 1.13).

	[tools/ck-copyright-notice] Update for copyright year ranges.

	[doc/mpfr.texi] Updated the month.

	Use copyright year ranges, following
	  https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices

	[tests] Added *.log and *.trs to svn:ignore property.

	[INSTALL] Update about configure default options.

	Added test-driver (from Automake 1.12+) to svn:ignore property.

2013-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Updated comment about -mieee-fp icc option.

2013-05-24  Philippe Théveny  <philippe.theveny@laposte.net>

	[tests/tprintf] remove tests of invalid format (continuation of r8525).

	[src/vasprintf.c] Support all length modifiers defined by ISO C99, even if the
	 corresponding type is not detected by configure (continuation of r8525).

2013-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] For ICC, changed the deprecated -mp option to the
	equivalent one -mieee-fp; added a comment about that.

2013-05-24  Philippe Théveny  <philippe.theveny@laposte.net>

	[src/vasprintf.c] Always support 't' and 'L' length modifiers, but don't
	 test them if configure doesn't find the corresponding type.

	Printing invalid format specifiers (continuation of r8525)
	[src/vasprintf.c] Add comments.
	[tests/tprintf.c] Simplify tests.

2013-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new macro MPFR_MAYBE_UNUSED to avoid compiler warnings

2013-05-23  Philippe Théveny  <philippe.theveny@laposte.net>

	[src/vasprintf.c] Print invalid format specifier instead of returning an error code, as in GMP.
	[tests/tprintf.c] Modify tests for invalid format.

2013-05-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	try to link with GMP even when a dll, since it seems to work now
	(see https://sympa.inria.fr/sympa/arc/mpfr/2013-05/msg00010.html)

	replaced macros NPRINTF_T and NPRINTF_L by positive versions
	PRINTF_T and PRINTF_L, now we don't assume that %td and %Lf are supported
	when we don't check it (for example when cross-compiling, or under Windows
	when GMP is a dynamic library)

	fixed typo

2013-05-15  Vincent Lefèvre  <vincent@vinc17.net>

	[Makefile.am] Added a comment about ACLOCAL_AMFLAGS, based on the
	GNU Automake 1.13.2 release notes.

2013-04-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] With clang, do not use GCC's self-initialization trick
	as it generates a warning, though clang claims GCC compatibility.

2013-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] added reference

2013-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added item

2013-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fits_intmax.c] Corrected a comment.

	[src/{fits_u.h,fits_uintmax.c}] Fixed the mpfr_fits_u*_p functions,
	which incorrectly returned 0 ("doesn't fit") on negative arguments
	when the rounding to an integer was 0. The fits_uintmax.c file now
	uses fits_u.h for consistency.

	[tests/tfits.c] Use error numbers to know where an error occurred.

	[src/fits_uintmax.c] Replaced an obsolete comment by a TODO.

	[tests/tget_sj.c] Added mpfr_get_uj tests on small negative op,
	similar to what has been done for mpfr_get_ui in r8498,8499.

	[tests/tset_si.c] Minor type correction for r8498 (this shouldn't matter
	because the value is normally small, but perhaps not in case of bug).

	[tests/tset_si.c] Added mpfr_get_ui tests on small negative op.

	[tests/tset_si.c] Corrected comment.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Improved documentation of the conversions to an integer
	(mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj).

	[tests/tfits.c] Added tests, in particular for small negative op
	and in non-RNDN rounding modes; tfits currently fails.

	[tools/announce-text] Added short text about what GNU MPFR is.

2013-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Removed a duplicate word.

2013-03-12  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Added a paragraph about Cygwin and threading.

	[INSTALL] Improved information on patches.

2013-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/announce-text] Added text about how to verify the signatures.

	[doc/README.dev] Updated "To make a release" about the web pages.

2013-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added info about update-version and ck-version-info.

2013-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfpif.c] Clean-up. Improved consistency.

2013-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	[examples] Replaced the old rounding mode macros (GMP_RNDN, etc.) by the
	new ones (MPFR_RNDN, etc.) in the *.c files; updated ReadMe file.

	[doc/update-faq] Removed the now useless s/GMP_RND/MPFR_RND/ rewriting.

	[doc] Slightly modified faq.xsl to avoid libxslt bug 377440, and
	moved the addition of special CSS comments for XML compatibility
	from update-faq to faq.xsl file.

2013-03-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgamma.c] Avoid mpfr_set_d.

	[tests/tfpif.c] Avoid mpfr_set_d as the results may depend on the C
	implementation.

2013-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2013 with
	  perl -pi -e 's/2012 Free Software/2012, 2013 Free Software/' **/*(^/)
	under zsh, reverting the ChangeLog file and the m4 directory
	(the tools/mbench directory was not modified).
	Removed 2012 from the example in the doc/README.dev file.

	[configure.ac] Corrected comment on clock_gettime (from r8445).

2012-12-31  Vincent Lefèvre  <vincent@vinc17.net>

	Tuning: reverted changeset r8444 and applied patch by Patrick Pélissier
	for GMP 5.1.0 to link against librt conditionally.

2012-12-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[Makefile.am] -lrt is needed for clock_gettime() [undefined with GMP 5.1.0]

2012-12-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfpif.c] Added a TODO.

	[src/fpif.c] Added an assert on MPFR_PREC_MIN because the code seems
	to be based on this (always true with the current value).

	[doc/mpfr.texi] Minor corrections of mpfr_fpif_import documentation.

2012-12-21  Olivier Demengeon  <olivier.demengeon@inria.fr>

	mpfr_fpif_import now check precision size. Documentation updated for mpfr_fpif_import.

2012-12-20  Vincent Lefèvre  <vincent@vinc17.net>

	Compatibility with GMP 5.1.0 when gmp-impl.h is included (thanks to Rob:
	https://sympa.inria.fr/sympa/arc/mpfr/2012-12/msg00003.html); clean-up.

2012-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Added a FIXME comment in mpfr_fpif_import concerning the
	precision.

2012-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Added comments. Fixed mpfr_fpif_read_precision_from_file
	in the case where the precision size > sizeof(mpfr_prec_t) and/or when
	the read precision is too large (as mpfr_prec_t is signed).

2012-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[fpif.c] completed FIXME

2012-12-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] Added a FIXME comment: large precisions read from the file
	can trigger undefined behavior if sizeof(mpfr_prec_t) is too small.

2012-12-07  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Fixed stack overflow bug in fpif.c

2012-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4,configure.ac] Moved the "double-to-integer conversion bug"
	test after the gmp.h detection as it uses gmp.h (otherwise one gets an
	incorrect error on this test if gmp.h can't be found or is unusable).

2012-12-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Removed a useless comma from r8428.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Updated warning in mpfr_min_prec description,
	in particular for the use with mpfr_prec_round.

2012-10-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_uj.c] Change to help the compiler to detect dead code,
	improving the coverage (from a patch by Patrick Pélissier).

	[src/get_d64.c] Added a const (thanks to Patrick Pélissier).

2012-10-10  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Check struct lconv members (from <locale.h>) to avoid a
	  build failure under Android, which does not have them; see
	    https://sympa.inria.fr/sympa/arc/mpfr/2012-10/msg00002.html
	[src/mpfr-impl.h] Decimal point / thousands separator support can now be
	  detected automatically by configure (from the presence of <locale.h>
	  and the above members) or explicitly disabled/enabled by the user by
	  defining the MPFR_LCONV_DPTS macro to 0 or 1 via CFLAGS (a configure
	  switch might be added in the future).
	[tests/tsprintf.c] Do the locale_da_DK test only if MPFR_LCONV_DPTS is
	  true.

2012-09-29  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Note about GNU extensions and ICC.

2012-09-20  Vincent Lefèvre  <vincent@vinc17.net>

	[get_float128.c,set_float128.c] Avoid an empty translation unit
	(forbidden by ISO C, detected with gcc -ansi -pedantic-errors)
	when MPFR_WANT_FLOAT128 is not defined.

	Applied patch (with minor changes) by Patrick Pélissier to improve
	the mpfr_round_nearest_away interface.

2012-09-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[nightly-test] modified so that decimal floats are tested (with gcc)

2012-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

	[doc/mpfr.texi] Updated the month.

2012-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Improved error message when the compiler doesn't know
	_Decimal64 (if MPFR is built with --enable-decimal-float).

2012-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	revert changeset r8412 (_Decimal64 might be defined in C++, but not as a macro)

	updated documentation wrt --enable-decimal-float

	added support for --enable-decimal-float with g++ (does not work with icpc,
	      the Intel C++ compiler)

	[tests/tl2b.c] fix for C++

2012-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/set_d.c] Updated a comment on the negative zero.

	[src/get_str.c] #include "mpfr-intmax.h" so that UINT64_C has a chance
	to be defined (optionally used as of r8406).

2012-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/set_d64.c] fix for systems where +0.0 and -0.0 are stored identically in
			memory

	[src/set_d64.c] better code to detect -0.0 (copied from set_d.c)

	[tests/tl2b.c] use UINT64_C for 64-bit integer constants
	[src/get_str.c] update table generated by "tests/tl2b 1"

	[get_d64.c,set_d64.c] small fixes (did not work any more with --with-gmp-build)

	[set_d64.c] some cleanup, since sprintf adds a final '\0', and fixed a too
		    small memory allocation

2012-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed an item (done)

	Now --enable-decimal-float does not require any more --with-gmp-build.
	Still disabled by default: some more testing is needed before we can enable
	it by default (if _Decimal64 is supported).

2012-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Updated bug20120829 comment (bug fixed in r8396).

	[tests/tstrtofr.c] Fixed small type error.

2012-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c] new try to fix the assertion failure on 32-bit

2012-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Added more bug20120829 tests, showing that r8394 is
	still buggy on 32-bit machines (assertion failure in strtofr.c).

2012-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c] fix for failing test case introduced in r8392

2012-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tstrtofr.c] Updated a comment: the 2nd testcase of r8392 also
	triggers an assertion failure on 32-bit machines.

	[tests/tstrtofr.c] Added 2 testcases:
	  * One triggering an assertion failure in strtofr.c r8389
	    on 32-bit machines (fixed in r8390).
	  * One still triggering an assertion failure in strtofr.c (r8391)
	    on 64-bit machines.

2012-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c] fixed comments

2012-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c] fix for err >= GMP_NUMB_BITS

2012-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Consistency correction: towards → toward.

	[src/sin_cos.c] Consistency correction: towards → toward.

	[doc] Updated FAQ.html with update-faq.

2012-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c] fixed bug in mpfr_strtofr in case:
		    (1) the input string was used entirely
		    (2) the conversion was done by a division
		    (3) and the division was exact
		    In such a case the "reconstruction" of the ternary value was
		    inexact.

2012-08-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d64.c] mpfr_get_decimal64 was buggy in MPFR_RNDN on some
	  values x such that 0.5e-398 < |x| < 1e-398 (smallest subnormal):
	  it was returning 0 instead of +/- 1e-398 (see r8370).
	[tests/tget_set_d64.c] Added testcases.

2012-08-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d64.c] Fixed get_decimal64_max by simplifying it completely,
	and changed get_decimal64_min in the same way.
	Thanks to Rob (Sisyphus) for the idea.

	[tests/tget_set_d64.c] Added overflow tests (they cover the two bad
	tests fixed in r8372 and trigger a bug in get_decimal64_max).

	[tests/tget_set_d64.c] Added some tests for large numbers.

	Renamed WANT_ASSERT to MPFR_WANT_ASSERT in order to avoid a clash
	with GMP when MPFR is configured with --with-gmp-build.

2012-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d64.c] Fixed overflow cases.

	[tests/tstrtofr.c] Added testcase from bug reported by Joseph S. Myers.

2012-08-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_d64.c] mpfr_get_decimal64 is buggy in MPFR_RNDN for values x
	such that 0.5e-398 < |x| < 1e-398. Added a FIXME comment.
	See: https://sympa.inria.fr/sympa/arc/mpfr/2012-08/msg00002.html

2012-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/fpif.c] No longer assume that if HAVE_BIG_ENDIAN is not defined,
	  the architecture is little endian. Detect the case where neither
	  HAVE_BIG_ENDIAN nor HAVE_LITTLE_ENDIAN is defined (currently an
	  error).
	[configure.ac] Fixed the use of AC_C_BIGENDIAN (since AC_CONFIG_HEADERS
	  is not used, one must have an ACTION-IF-UNIVERSAL argument).
	[doc/README.dev] Check with "-UHAVE_BIG_ENDIAN -UHAVE_LITTLE_ENDIAN"
	  (unknown/unspecified endianness) before a release.

	[doc/README.dev] Update now that autogen.sh is in the repository.

	Added autogen.sh sh script from Daniel Richard G. to install/update the
	autotools files and clean up caches (useful before a release).

	Updated autotools files to get rid of obsolete macros (thanks to
	Daniel Richard G. for the patch; kept the autoconf requirement
	to 2.60 instead of changing it to 2.68 as done with autoupdate,
	since 2.60 seems to be sufficient according to the changes and
	2.68 is too recent, e.g. Debian/stable still has 2.67).
	--- Note ---
	This update has another effect: The "Configs for Windows DLLs."
	code (from "case $host in" to "esac") is now executed at the right
	time, after options like --disable-static are taken into account.
	Juste before this change, the test
	   if test "$enable_shared" = yes; then
	was always false. This could be seen on hydra:
	With r8360:
	[...]
	configure flags: --disable-static --disable-dependency-tracking
	  --prefix=/nix/store/95zhbb0v23syxsazx33hg3acbvixyq5a-mpfr-0-3.2.0-dev
	[...]
	checking for DLL/static GMP... static
	[...]
	checking whether to build shared libraries... yes
	checking whether to build static libraries... no
	[...]
	With r8367:
	[...]
	configure flags: --disable-static --disable-dependency-tracking
	  --prefix=/nix/store/8zblwffd2ww1z0smqlgwrfzcl6b48rim-mpfr-0-3.2.0-dev
	[...]
	checking whether to build shared libraries... yes
	checking whether to build static libraries... no
	checking for DLL/static GMP... static
	[...]

	[src/mpfr-intmax.h] Updated comment formatting so that mpfrlint
	doesn't complain.

2012-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Replaced "sed" by "$SED".

	[tools/mpfrlint] Check for sed.

	[tools/mpfrlint] Check for grep, egrep and fgrep (see r8356 correction).

2012-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	we use a 77-bit approximation in get_str.c (and not 76-bit)

2012-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] grep -> $EGREP (thanks Marc Glisse)
		       https://sympa.inria.fr/sympa/arc/mpfr/2012-07/msg00006.html

2012-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] fix for cross-compilation

2012-07-24  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Improved a message and corrected gmp.h inclusion.

2012-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] added test for double-to-integer conversion bug

	revert r8349 (will do the test in configure)

2012-07-24  Vincent Lefèvre  <vincent@vinc17.net>

	Improved doc/mpfr.texi about MPFR_USE_INTMAX_T.

	[src/mpfr-intmax.h] Define MPFR_USE_INTMAX_T if <inttypes.h> and/or
	<stdint.h> is available. This is needed on systems for which the
	current (non-standard) macro tests in mpfr.h is not sufficient.
	This will force the support of intmax_t/uintmax_t in this case and
	also avoids a failure in the tests on such systems.
	Tested by replacing the macro tests in mpfr.h by just
	  #if defined (MPFR_USE_INTMAX_T)
	to simulate such a system.

2012-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tinternals.c] added test for double -> mp_limb_t conversion

2012-07-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.h] patch for FreeBSD (tested on gcc76.fsffrance.org with freebsd-83-amd64)

2012-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added tools/announce-text sh script to be run before publishing an
	announce of a new GNU MPFR release (it does some checking, then it
	outputs the announce text to stdout).
	Mention this script in "doc/README.dev".

	[doc/README.dev] Updated "To make a release".

2012-07-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added item

2012-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/{tset_d.c,tget_flt.c}] Disabled two tests when HAVE_SIGNEDZ
	isn't defined, because these tests rely on signed zeros.

	[acinclude.m4] Added a test for signed zeros (tcc currently doesn't
	support signed zeros, and 2 MPFR tests fail because of that).

	[acinclude.m4] Removed useless "#include <math.h>" in the test
	for subnormal numbers.

	[acinclude.m4] Replaced the AC_TRY_RUN obsolete macro by
	AC_RUN_IFELSE([AC_LANG_SOURCE([[...]])],...) as documented
	in the GNU Autoconf manual.
	Minor correction in the test for subnormal numbers.

	[tests] Added trndna to svn:ignore property.

	[tests/tset_d.c] Formatting.

	Replaced "denormalized" by the official term "subnormal".

2012-07-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/coverage] unset MPFR_* environment variables in a better way.

	[tools/coverage] unset MPFR_* environment variables in a better way.

2012-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[coverage] unset MPFR_* environment variables to get reproducible results

	[tabort_defalloc2.c] changed char* into void* to please g++ compiler

2012-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trndna.c] Removed useless initialization.

2012-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[trndna.c] restore emin

	[coverage] unset GMP_CHECK_RANDOMIZE so that the coverage test is deterministic

2012-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Replaced a "should not" by a "must not".

	[doc/mpfr.texi] Consistency change.

2012-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[trndna.c] increase emin when smallest possible

	[rndna.c] special treatment for the case 2^(emin-2)

	several changes suggested by Vincent Lefevre

	[rndna.c] changed the specification since on 32-bit machines we have no margin
		  for the smallest exponent emin

	added new function mpfr_round_nearest_away() as discussed during the June 2012
	workshop

2012-07-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/coverage] Minor update, just in case...

2012-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp.c] fixed typo

2012-07-03  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[tests/{td_div.c,tget_d.c}] Disable tests with a division by 0 if
	MPFR_ERRDIVZERO is defined.

	[tests/tests.c] Improved an error message.

	[acinclude.m4] Fixed sigaction check to support "gcc -std=c99", like
	what has been done for math/round.

2012-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[trndna.c] test file for mpfr_round_nearest_away()

2012-07-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/rndna.c]
	  * Handle singular cases like with other functions. Avoid the goto.
	  * Reordered the tests to make them simpler and easier to understand
	    (it wasn't immediately visible that inex could not be 0 for the
	    second "else") and fixed the case lastbit == 1 && inex < 0.

	[src/rndna.c] Added a note saying that this method doesn't work
	for 2^(emin-2).

2012-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rndna.c] new function that computes rounding to nearest-away

2012-06-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] Test the thousands separator in some en_US locale,
	if available (modified patch from Patrick).

	Added coverage tune (from a patch by Patrick).

2012-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added support by ERC grant of Andreas

2012-06-27  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Replaced a few @samp by @code for consistency.

2012-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] document MPFR_WANT_DECIMAL_FLOATS and MPFR_WANT_FLOAT128

2012-06-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] Clean-up and static assertions (patch from Patrick).

	[tests/tgrandom.c] Replaced GMP_RNDN by MPFR_RNDN.

	[tests/tgrandom.c] Improved a test and added a new one for
	mpfr_grandom(x, NULL, ...).

	[doc/mpfr.texi] Completed spec of mpfr_grandom.

2012-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[coverage] added instructions how to use this script

2012-06-27  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Update: test coverage.

	[tools/coverage] Detailed coverage (from a patch by Patrick).

2012-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/{mpfr-impl.h,print_raw.c}] Removed unused function mpfr_dump_mant
	(added in r3410, but never used); patch by Patrick.

	[tests/tsin.c] Improved coverage.

	[tests/tset.c] Test the mpfr_set function too (patch by Patrick).

	Added configure option --enable-assert=none to avoid checking any
	assertion (this is based on a patch by Patrick).

	[src/digamma.c] Correction: assertions must never have any side effect.

	[tests] Updated svn:ignore property.

	[src/atan.c] Removed trailing whitespace.

	Forgot to add some files in r8266 (tests that are expected to fail).

	Support tests that are expected to fail (from a patch by Patrick).

	[tests/tversion.c] Output the applied patches (if any).

	[tests/tstckintc.c] Correction and test improvement (from a patch
	by Patrick).

	[tools/coverage] Correction by Patrick.

2012-06-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[atan.c] improved code coverage by removing some dead code after some numerical
		 analysis with Benjamin Dadoun

2012-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Removed obsolete "but see below".

	[tests/tinternals.c] mpfr_set_prec_raw missing tests (thanks to Patrick).

	[tests/tset_si.c] Also test the mpfr_set_ui function (instead of macro).

	[NEWS] 3.2.0 will be "dinde aux marrons".

2012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[gamma.c] simplified mpfr_gamma_1_minus_x_exact() after code coverage analysis
		  with Benjamin Dadoun

2012-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] aclocal -> acinclude.m4 in a comment.

	[src/{init2.c,mpfr-impl.h}] Clean-up.

2012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed one item, added one

2012-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Detect whether _Thread_local (C11) is supported.
	[src/mpfr-thread.h] Use _Thread_local if supported, instead of __thread.
	(Patch from Patrick)

2012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[gamma.c] simplified code for mpfr_gamma_2_minus_x_exact() (thanks to coverage
		  analysis by Benjamin Dadoun)

2012-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/Makefile.am] Added mpfr-sassert.h to libmpfr_la_SOURCES.

	[src/init2.c] Replaced classic assertions by static assertions.

	Added Static Assertion support (modified patch from Patrick).
	  * Added src/mpfr-sassert.h: implementation of static assertions.
	  * src/mpfr-impl.h: include "mpfr-sassert.h".
	  * acinclude.m4: test whether static assertions are supported.

	[doc/README.dev] Suggest to test with and without -std=c11.

	[tests/tset_float128.c] Test the sign of 0. Use mpfr_equal_p instead of
	mpfr_cmp (this is safer if a result is NaN).

	[src/set_float128.c] Avoid a goto (useless here, contrary to set_ld.c).

	[src/get_float128.c] !MPFR_IS_ZERO -> MPFR_NOTZERO; GNU coding style.

	tests: updated svn:ignore property.

	[tests/tset_float128.c] Got rid of the remaining mpfr_printf's.

2012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_float128.c] added missing empty main when functions are not tested

	[set_float128.c,tset_float128.c] untabified and got rid of mpfr_printf

2012-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Added a period.

	[doc/mpfr.texi] Updated the month.

	[configure.ac] "configure --help" formatting for --enable-float128.

2012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	compile mpfr_set_float128 and mpfr_get_float128 only when __float128 is supported

	[configure.ac] __float128 is supported by GCC >= 4.3

2012-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_float128.c] mp_rnd_t -> mpfr_rnd_t

2012-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new functions mpfr_set_float128 and mpfr_get_float128

	[get_ld.c] fixed typo

2012-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Test mpfr_buildopt_tune_case() vs MPFR_TUNE_CASE.

	[src/buildopt.c] Made mpfr_buildopt_tune_case() simpler.

2012-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[li2.c] replaced mpfr_cmp_d by mpfr_cmp_ui_2exp

2012-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] For _GMP_IEEE_FLOATS, use #if instead of #ifdef
	since mpfr-impl.h defines it to 0 if it was undefined.

2012-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added a reference to a new discussion concerning __float128.

2012-05-14  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Other corrections (essentially bad or missing declarations) in metaMPFR.

2012-05-11  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved the description of the mpfr_flags_ functions.

2012-05-10  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Corrected small errors.

2012-05-10  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved mpfr_flags_test description, giving an example.

	[src/mpfr.h] Define MPFR_FLAGS_ALL from the individual flags
	(MPFR_FLAGS_UNDERFLOW...). Suggestion by Paul Zimmermann.
	Note: the output expression looks OK in assertion failures.

	[doc/mpfr.texi] Correction on mpfr_clear_flags description.

2012-05-09  Vincent Lefèvre  <vincent@vinc17.net>

	Added functions that operate on groups of flags: mpfr_flags_clear,
	mpfr_flags_set, mpfr_flags_test, mpfr_flags_save and mpfr_flags_restore.
	(reintegrated flags branch to the trunk: svn merge --reintegrate ...)

2012-05-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch from Nitin A Kamble for automake 1.12.
	This patch avoids these issues with automake 1.12:
	| configure.ac:304: error: automatic de-ANSI-fication support has been removed
	| tests/Makefile.am:12: error: automatic de-ANSI-fication support has been removed

2012-05-07  Vincent Lefèvre  <vincent@vinc17.net>

	[AUTHORS,INSTALL,doc/mpfr.texi] Updated the e-mail address of the
	MPFR mailing-list to match the List-* headers written by the new
	mailing-list server (the old one still works, but may lead to bad
	interaction with MUA's that attempt to honor the List-Post header
	when replying to the list(s)).

	[src/lngamma.c] Added mpfr_explgamma internal function to handle
	  overflows/underflows (intermediate or not) in mpfr_gamma.
	  Updated the general overflow detection to use this function.
	[src/gamma.c] Fixed the general underflow detection.

	[src/lngamma.c] Removed spurious parentheses.

	[tests/tgamma.c] Added tests for 32-bit and 64-bit machines, showing an
	underflow detection bug in gamma.c (see FIXME comment added in r8185).

	[tests/tgamma.c] Added tests to trigger the pre-r8189 endless loop
	on 32-bit machines.

2012-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgamma.c] Updated exp_lgamma to test the ternary value.

	[src/lngamma.c] Fixed the problem with the overflow flag (r8192).

	Improved src/lngamma.c (mainly on changes from r8189):
	  * Declarations of ok variable were used in nested block.
	  * Added a missing "MPFR_ZIV_FREE (loop);".
	  * In the overflow detection code, call mpfr_lngamma only once, use
	    mpfr_equal_p instead of mpfr_cmp, and share code with the end.
	Note: the problem with the overflow flag (r8192) hasn't been solved yet.

	[tests/tgamma.c] Added a test showing a failure on 64-bit machines
	due to an unset overflow flag.

	[tests/tgamma.c] Updated exp_lgamma to test underflow & overflow flags.

	[TODO] For mpfr_get_flt, etc., exception flags should be raised.

2012-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/lngamma.c] fixed endless loop with test cases introduced in r8188

2012-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgamma.c] Updated the exp_lgamma_tests test to trigger an
	endless loop due to undetected overflow on 64-bit machines.

	[tests/tgamma.c] Say that the freeze is for 64-bit machines only.

	[tests/tgamma.c] Added more mpfr_tgamma tests, showing a freeze.

	[src/gamma.c] Corrected the FIXME comment concerning the underflow
	detection.

	[src/gamma.c] Added a FIXME comment: the underflow detection may still
	be buggy (or the explanation is incomplete).

	[src/gamma.c] Completed the explanation concerning the new underflow
	detection.

	[src/gamma.c] Removed the FIXME comment (from r8169).

	[src/gamma.c] Untabified.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[doc/mpfr.texi] Updated the month.

2012-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[gamma.c] tentative fix for the underflow problem

2012-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	Updated URL's of mailing-list archives/messages in all files
	(except ChangeLog, as it is generated).

	[TODO] Updated URL's of mailing-list archives/messages.

2012-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Updated concerning MPFR_RNDNA.

2012-04-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma.c] Added a FIXME comment.

	[TODO] Suggested a new rounding mode: MPFR_RNDE, to be used when the
	result is known to be exact (normal mode: optimize; debug mode: check).

	[src/gamma.c] Use the new MPFR_DBGRES macro.

	[tests/tgamma.c] Improved testcase test20100709.

	[tests/tgamma.c] Updated testcase test20100709 for 64-bit machines,
	as this bug reappeared in r8159.

2012-04-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/gamma.c] fixed bug found by Giridhar Tammana
		      https://sympa.inria.fr/sympa/arc/mpfr/2012-04/msg00013.html
	Note (VL): this fix triggers an infinite loop on 32-bit machines
	  (or with -m32) in test20100709 from tgamma.c and this is partly
	  the opposite of changeset r6996.

2012-04-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/texceptions.c] Added a comment for check_groups().

	[src/mpfr-impl.h] Improved the noreturn feature.

2012-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	Added support for _Noreturn function specifier (ISO C11).
	  * acinclude.m4: define MPFR_HAVE_NORETURN if _Noreturn is supported.
	  * src/mpfr-impl.h: use _Noreturn when MPFR_HAVE_NORETURN is defined.
	Tested with GCC 4.6 (no _Noreturn) and 4.7 (supports _Noreturn).

	[doc/README.dev] Added a note about the new experimental
	-ftrack-macro-expansion GCC option.

2012-04-24  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Small correction on the mpfr_flags_t description.

	[src/mpfr-impl.h] Added MPFR_FLAGS_DIVBY0 (missing from r8143).

	[src/mpfr-impl.h] Forgot to replace the mpfr_clear_divby0 internal macro
	by MPFR_CLEAR_DIVBY0 in r8141.

2012-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/ai.c] Use an intermediate variable to avoid a huge macro expansion
	in ASSERT_FAIL with gcc -ansi -pedantic-errors.
	(Merged changeset r8149 from the trunk)

	[src/mpfr-impl.h] Added a comment concerning MPFR_INT_CEIL_LOG2 and
	macro expansion.

	[src/ai.c] Use an intermediate variable to avoid a huge macro expansion
	in ASSERT_FAIL with gcc -ansi -pedantic-errors.

	[tools/mpfrlint] Update after r8143.
	(Merged changeset r8147 from the trunk)

	[tools/mpfrlint] Update after r8141.

2012-04-20  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Removed item about saving/restoring flags.

	[tests/texceptions.c] Added test of the mpfr_flags_* functions/macros.

	[NEWS] New mpfr_flags_* functions.

	Merged /trunk:r8141-8142 with a few manual changes due to conflict:
	replaced the flags-related mpfr_clear_* internal macros (which were
	already removed in this flags branch) by an uppercase version using
	a do-while in order to prevent one from using them in an expression.
	Renamed MPFR_SET_ERANGE to MPFR_SET_ERANGEFLAG for consistency.

	[src/mpfr-impl.h] Improved comment about MPFR_CLEAR_* macros.

	[src] Replaced the flags-related mpfr_clear_* internal macros by an
	uppercase version with a do-while in order to prevent one from using
	them in an expression. Renamed MPFR_SET_ERANGE to MPFR_SET_ERANGEFLAG
	for consistency.

2012-04-19  Vincent Lefèvre  <vincent@vinc17.net>

	Implemented the mpfr_flags_* functions (and mpfr_flags_test as a macro).
	The MPFR_FLAGS_* macros had to be moved from mpfr-impl.h to mpfr.h (as
	they are now part of the API). Check that MPFR_FLAGS_ALL <= INT_MAX (or
	similar) when need be. Removed the mpfr_clear_* macros and merged r8139
	(about the MPFR_SET_ERANGE macro) from the trunk due to a risk to break
	the sequence point rules.

	[src/mpfr-impl.h] Use a do-while statement for the MPFR_SET_ERANGE()
	macro in order to prevent one from using this macro in an expression,
	as the sequence point rules could be broken if __gmpfr_flags is
	assigned twice in the same expression (via macro expansions).
	Note: This cannot be done for the mpfr_clear_* flags macros because
	we want to be able to follow the API inside MPFR (thus these macros
	must be usable wherever a function is). These macros should probably
	be removed or renamed in the future (e.g. via the flags branch).

2012-04-17  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added documentation for the new functions on groups
	of flags (not implemented yet).

2012-04-11  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Suggest mpfr_pow_q and variants.

2012-03-28  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated "API Compatibility" section: functions
	mpfr_fmodquo, mpfr_fpif_export and mpfr_fpif_import are new in
	MPFR 3.2.

2012-03-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfpif.c] Removed trailing whitespace.

2012-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fpif.c,tests/tfpif.c] changed to GNU style

2012-03-26  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Add a test on FILE* in fpif.c; Added a missing test on a return value; Changed the way to compute number of bytes needed for the limb of a mpfr number; Increase coverage test of fpif.c

2012-03-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src] New mpfr_flags_t type, defined as an unsigned int. For the
	  __gmpfr_flags variable and internal flags-related variables,
	  replaced unsigned int by mpfr_flags_t (note that this doesn't
	  change the ABI, since unsigned int was already used).
	[tests] Cast __gmpfr_flags to unsigned int when printed with %u.

2012-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new function mpfr_fmodquo
	(cf https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00020.html)

2012-03-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-examples/version.c] Output sizeof(mpfr_t) value.

	[tests/tests.c] Improved src_fopen() a bit.

	[doc/README.dev] Explain the use of the new MPFR_DBGRES macro.

	[src/mpfr-impl.h] Added a MPFR_DBGRES macro to avoid a warning in
	non-debug mode, e.g. with GCC's -Wunused-but-set-variable, when a
	result is tested only in an MPFR_ASSERTD expression.
	[src/const_euler.c] Avoid such a warning by using MPFR_DBGRES.

	MPFR_ASSERTD or MPFR_ASSERTN must be used for assertions, not ASSERT.

2012-03-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tests.c] fixed problem with src_fopen
		(https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00021.html)

	[tests/Makefile.am] inp_str.data -> inp_str.dat

	renamed tests/inp_str.data into tests/inp_str.dat
	[tests/tinp_str.c] now use tests/inp_str.dat
	[tests/tfpif.c] use src_fopen instead of fopen

	[src/fpif.c] simplified &x[i] into x+i

	[src/mparam_h.in] better recognition of AMD64 systems
	[tools/cfarm.sh] updated

	[tests.c] fixed compiler warning (gcc70.fsffrance.org, NetBSD, gcc 4.1.3)

2012-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[fpif.c] simplified code since nb_data is always 1

	[mparam_h.in] recognize __tune_amdfam10__ (for example gcc10.fsffrance.org)

	[configure.ac] use AC_C_BIGENDIAN to determine endianness of words

	[tests/Makefile.am] the name of the test file for the export/import functions has changed

2012-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	tests: updated svn:ignore property.

	[src/mpfr.h] Indentation.

2012-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed the order of arguments of mpfr_fpif_import so that the modified
	argument is first

	[NEWS] updated item about the new mpfr_fpif_export and mpfr_fpif_import functions

	mpfr_fpif_export_binary -> mpfr_fpif_export
	mpfr_fpif_import_binary -> mpfr_fpif_import

	stream.data renamed to mpfrtest.dat
	[tfpif.c] now use remove()

2012-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] "in future version" → "in future versions".

	[doc/mpfr.texi] Updated the month.

	[src/fpif.c,tests/tfpif.c] Corrected coding style.

2012-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/fpif.c] fixed a few warnings and errors with g++ (found on hydra)

2012-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[out_raw.c] removed obsolete file (replaced by fpif.c)

	[tests/Makefile.am] put tfpif at its right place

	[src/fpif.c] fixed problem with sign on gcc38
	[tests/tfpif.c] solved FIXME's, added new test with fixed data file
	[tests/stream.data] data file for tfpif.c (to check we get same results with
			    different word size and endianness)
	[tests/Makefile.am] added stream.data to make dist

	[fpif.c] added comments
	[tfpif.c] improve error message in case of mismatch
	[acinclude.m4] forgot double-double big endian

	[mpfr.texi] added note saying that mpfr_fpif_export_binary and
		    mpfr_fpif_import_binary are experimental

	[mpfr.texi] added documentation for mpfr_fpif_export_binary and mpfr_fpif_import_binary

	[fpif.c] replaced sizeof(var) by sizeof(type)

2012-03-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[fpif.c] fixed a few issues

	[src/fpif.c,src/mpfr.h,tests/tfpif.c] a few fixes so that make and make check
					      pass on one machine. Will fix the
					      remaining issues later.

2012-03-15  Vincent Lefèvre  <vincent@vinc17.net>

	Added FIXME for export/import MPFR numbers, did some corrections,
	updated NEWS file.

	[doc/README.dev] Update about C headers.

2012-03-15  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Add copyright material in fpif.c and test_fpif.c

	Add functions/tests to export/import mpfr number in a binary format

2012-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	Improved mpfr_check and added a missing testcase.

2012-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Corrected information about valgrind.

	[src/mpfr-impl.h] Updated a comment.

	[src/mpfr-impl.h] Improved macros from the changeset r8025, in
	particular to avoid an error with the --enable-assert configure
	option and the -ansi -pedantic-errors gcc compiler flags.

2012-03-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tprintf.c] Corrected the test with MPFR_CHECK_LARGEMEM=1 again,
	and improved it in case _MPFR_PREC_FORMAT == 2, where MPFR_PREC_MAX is
	INT_MAX minus some small constant (see r8035).

	[tests/tprintf.c] Corrected the test with MPFR_CHECK_LARGEMEM=1.

	[tests/tinits.c] Improved the large precision test so that it is still
	performed after r8035 (where MPFR_PREC_MAX has been decreased).

	[tests/tconst_log2.c] Replaced mpfr_printf by mpfr_out_str.

2012-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tconst_log2.c] use hexadecimal output in case of error in check_large()

	[get_ld.c] added comments and ASSERT()
	[tset_ld.c] added test to better exercise get_ld and set_ld for subnormals,
		    and replaced some 64 by MPFR_LDBL_MANT_DIG

2012-03-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tconst_log2.c] improved error message, cf
			https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00017.html

	[get_ld.c] deal with the case "long double" == "double"

	[acinclude.m4] deal with long double == double
	[src/set_ld.c] idem

2012-03-07  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Prepare for new version 3.2.0 (will be 4.0.0).

	[INSTALL] Added information about --with-sysroot.

	[INSTALL] Removed an obsolete paragraph saying that the test suite
	can't be run with a C++ compiler. C++ related problems have been
	fixed a long time ago.

2012-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added new item about saving/restoring flags

	added tuning parameters for mips (on gcc49.fsffrance.org)

2012-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] fixed compiler warning (got on gcc49.fsffrance.org)

2012-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Minor change to be consistent with "src/mpfr-gmp.h".

	[src/mpfr.h] Added a reference to MPFR bug 13947.

	[src/mpfr.h] Simple temporary fix following GMP's internal __gmp_const
	macro removal in <https://gmplib.org/repo/gmp/rev/d287cfaf6732> (and its
	replacement by const): if __gmp_const isn't define, let's define it to
	const.

2012-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Mention the mpfr_exp bug fix (from r6964 in exp_2.c).

2012-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] If 'gmp.h' and 'libgmp' seem to have different versions,
	output the temporary LD_RUN_PATH value (may be useful for debugging).

2012-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Removed #include of headers already included via "mpfr-test.h"
	(<limits.h>, <stdio.h>, <stdlib.h>). Note: this change doesn't apply
	to tvalist.c, which is a special test that doesn't use "mpfr-test.h".

	[src] #include <stdlib.h> unconditionally in mpfr-impl.h; removed
	this #include from the .c files.

	[src/logging.c] #include <stdarg.h> was no longer necessary. Removed.

	[src/logging.c] Updated a comment (contained obsolete information).

	[src/mpfr-impl.h] Use %.*Rg instead of %.*Rf for MPFR_LOG_VAR.

	[NEWS] Mention an internal change in MPFR 3.1.0.

	Corrected a typo in MPFR_LOG_FUNC of add_d.c, add_ui.c and mul_d.c
	(mpfr_get_prec → mpfr_log_prec), fixing bug 13933.
	The consequence was random freezes (on the same binary) with dynamic
	linking (and just more memory with static linking to the MPFR library)
	when logging was used.

	[src/const_euler.c] Use the safer MPFR_BLOCK.

2012-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/const_euler.c] Removed a useless log message added in r8040.

	[src/const_euler.c] Replaced computations on double by computations
	  on MPFR types, with detection of overflows. Fixed inconsistencies
	  with algorithms.tex (due to rounding) in the computation of n.
	[src/mpfr-impl.h] Removed #define ALPHA (no longer used).

	[src/mpfr-impl.h] Removed obsolete #define EXPM1.

	[src/erf.c] Removed an obsolete #define.

	[BUGS] Update concerning huge precisions and integer overflows.

	[examples/version.c] Output mpfr_prec_t information with all MPFR
	versions. Output signedness information for MPFR types/macros.

	[src/mpfr.h] Decrease the MPFR_PREC_MAX value by 256 in order to
	  avoid some integer overflows in existing code that increases the
	  working precision (if mpfr_prec_t is on 64 bits, this does not
	  change anything in practice), as too large precisions should be
	  detected via assertions for more security. After discussion, it
	  has been decided to keep the MPFR_PREC_MAX value close to 2^31
	  when mpfr_prec_t is on 32 bits.
	[src/mpfr-impl.h] Added a comment concerning MPFR_ADD_PREC.

	[examples/version.c] Output more information about the precision and
	exponent types.

2012-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Use MPFR_ADD_PREC in MPFR_ZIV_NEXT.

	[src/mpfr-impl.h] Added an MPFR_ADD_PREC macro to safely increase some
	  precision (i.e. with an assertion check for integer overflow).
	[src/ai.c] Use this MPFR_ADD_PREC macro, in particular in a case where
	  the additional precision can be huge.
	TODO: Other files would need to use MPFR_ADD_PREC.

	[tests/tinits.c] Updated the large precision test to trigger a bug fixed
	in r8025 on 32-bit machines (or when MPFR is built with -m32). Here the
	crash was due to (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS in
	"src/set.c".

	[src/rec_sqrt.c] Removed useless #include (mpfr-impl.h does a better job
	for stdio).

	[tests/tinits.c] Improved r8026 (missing #include, support 16-bit prec).

	Document the MPFR_DEBUG_BADCASES environment variable before bad_cases()
	in tests/tests.c (where it is used). Remove it from "doc/README.dev"
	since it is useful only in case of crash / infinite loop in bad_cases(),
	and will give useless output otherwise.

2012-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added comment
	[doc/README.dev] added environment variables

	[tinits.c] added test to check #13918 is fixed

2012-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid potential integer overflows and improve consistency. This should
	fix bug #13918 "Segfault with precision = MPFR_PREC_MAX on 32-bit".
	Note: this problem appeared in MPFR 3.0.0 when the precision type (now
	mpfr_prec_t) was changed to a signed integer.

	[configure.ac] Added a comment mentioning a problem with GNU gold ld.

2012-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added reference to ISO/IEC 24747:2009 (C, special functions).

2012-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed directory src/x86_64/xeon
	[src/Makefile.am] removed x86_64/xeon/mparam.h

2012-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	share parameters between x86_64/core2 and x86_64/xeon (gcc70)

	[src/Makefile.am] forgot to add new param file

	added tuning parameters for -mtune=nocona (gcc70)

2012-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mparam_h.in] swap tests for 32-bit and 64-bit powerpc, since on powerpc64
	              the parameters for 32-bit are used!

2012-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release".

2012-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added a note to item about sNaN/qNaN.

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Mention the AriC project-team.

	Reverted incorrect change in ChangeLog from r7993.

	Changed Arenaire to AriC with:
	  perl -pi -e 's/Contributed by the Arenaire/Contributed by the AriC/' **/*(^/)
	under zsh.

	[doc] Updated FAQ.html with update-faq.

	[doc/faq.xsl] Remove only the top-level comments from the HTML file.

	[doc/faq.xsl] Updated a comment.

	Copyright notice update: added 2012 with
	  perl -pi -e 's/2011 Free Software/2011, 2012 Free Software/' **/*(^/)
	under zsh, reverting the ChangeLog file (the m4 and tools/mbench
	directories were not modified).
	Removed 2011 from the example in the doc/README.dev file.

2011-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] trivial change (to test the commit logs)

2011-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Mention --disable-thread-safe.

	[INSTALL] Added information about system/compiler bugs related to TLS
	or optimizations.

2011-12-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added note about buggy TLS support

2011-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/turandom.c] Removed an obsolete comment.

	[src/mpfr-gmp.h] Updated the TODO comment about the rand state.

	[doc/mpfr.texi] Updated the month.

	[tests/trandom.c,tests/turandom.c] Fixed compatibility with GMP 4.1.x
	(since the default PRNG has changed between GMP 4.1 and 4.2).

	[doc/mpfr.texi] Mentioned the difference between GMP 4.1 and 4.2 about
	the changes of mpfr_urandom and mpfr_urandomb in MPFR 3.1.

	[src/mpfr-gmp.h] Added a TODO comment.

2011-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	revert previous commit (test)

	commit test

2011-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-thread.h] added pointer to TLS on Windows

2011-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Added a test showing a regression in MPFR 3.1.0
	(but fixed in r7931 and later).

2011-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tatan.c] mpfr_set_emin -> set_emin (idem for emax)

2011-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added a reference to an old discussion concerning __float128.

2011-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added item

2011-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Untabify.

2011-11-03  Philippe Théveny  <philippe.theveny@laposte.net>

	[src/vasprintf.c] Corrected a comment.

2011-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsprintf.c] Coding style.

2011-11-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/strtofr.c] Spelling.

	[src/vasprintf.c] Spelling.

	[src/vasprintf.c] Corrected a comment.

	[tests/tsprintf.c] Added tests.

	[src/vasprintf.c] Untabify. Minor correction in a comment.

2011-11-02  Philippe Théveny  <philippe.theveny@laposte.net>

	[src/vasprintf.c] Rewrite in a cleaner way the part of regular_fg implied in the bug reported by Pavel Holoborodko (see r7931).

2011-11-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpn_exp.c] changed FIXME into TODO

	[src/mpn_exp.c] added comment
	[src/vasprintf.c] (hopefully) fixed bug reported by Pavel Holoborodko
	[tests/tsprintf.c] added corresponding test case

2011-10-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Added -L$(top_builddir)/src/.libs to AM_LDFLAGS.
	[INSTALL] Removed the notes on HP-UX (obsolete after the above change).

2011-10-13  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Corrected notes for HP-UX.

	[INSTALL] Added notes for HP-UX after a bug report. See discussion:
	https://sympa.inria.fr/sympa/arc/mpfr/2011-10/msg00042.html

2011-10-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added one item

	[corei5/mparam.h] tuning files for Core i5 (not yet used since GMP 5.0.2 does
			  currently recognize Core i5 as "k8", however the k8 tuning
			  parameters are not so bad for Core i5)

2011-10-05  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Improved MPFR_IS_PURE_FP definition, so that
	MPFR_ASSERTD takes a boolean (0 or 1).

2011-10-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fixed a bug in the MPFR_UNLIKELY macro for GCC
	(found under Mac OS X / PowerPC with the mode32 GMP ABI, and MPFR
	built with --enable-assert=full).
	(Merged changeset r7908 from the 3.1 branch.)

2011-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] added reference and comment for eint

2011-09-25  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Rephrased mpfr_frexp description.

2011-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	Renamed "division-by-zero" to "divide-by-zero" (term used by the
	ISO C99 standard, the IEEE 754-2008 standard using divideByZero,
	and the old IEEE 754-1985 standard using both "divide by zero"
	and "division by zero").

	[src/gmp_op.c] Forgot to update the flags in some functions.

	[tests/tgmpop.c] Improved division-by-zero tests.

2011-09-23  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/faq.xsl] Added a comment about the MPFR logo.

2011-09-22  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved mpfr_frexp description.

	[doc/mpfr.texi] Corrected typo in the mpfr_frexp description.

2011-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tools/cfarm.sh] updated for MPFR 3.1.0 rc2

2011-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cfarm.sh] updated for MPFR 3.1.0-rc1 (with GMP 5.0.2)

2011-09-20  Vincent Lefèvre  <vincent@vinc17.net>

	[examples/version.c] Output mpfr_buildopt_gmpinternals_p() and
	mpfr_buildopt_tune_case() values with MPFR 3.1 or later.

	Renamed mpfr_buildopt_internals_p to mpfr_buildopt_gmpinternals_p.

	Added mpfr_buildopt_internals_p function.

	[doc/mpfr.texi] Added commas.

	[src/gmp_op.c] Handle the special cases in mpfr_cmp_q and mpfr_cmp_f.

2011-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added an item about the minimum and maximum exponents.

	[src/agm.c] Replaced MPFR_EMIN_MIN and MPFR_EMAX_MAX by MPFR_EXT_EMIN
	and MPFR_EXT_EMAX respectively (see r7862 and r7863).

	[src/mpfr-impl.h] Define new macros MPFR_EXT_EMIN and MPFR_EXT_EMAX.
	[doc/README.dev] Document how to specify the minimum exponent or the
	  maximum exponent.

2011-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/agm.c] replaced __gmpfr_emax by MPFR_EMAX_MAX (same for __gmpfr_emin).
		    Solves bug on gcc54 with --enable-thread-safe and GCC 4.3.2.

2011-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-gmp.h] Added missing prototype for __gmpn_sbpi1_divappr_q
	(it could be detected when building MPFR with g++).

2011-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tgmpop.c] check for erange flag in mpfr_cmp_[f,q,z]
		 (https://sympa.inria.fr/sympa/arc/mpfr/2011-09/msg00013.html)

2011-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated "To make a release".

2011-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-gmp.h] fixed bug with --enable-gmp-internals introduced in r7455
			 (mpfr_limb_ptr is not yet defined when reading mpfr-gmp.h
			  thus we can't use it)

2011-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Correction: "5 exception types" → "6 exception types"
	(thanks to Case Vanhorsen for the report).

2011-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Define LONGLONG_STANDALONE before including
	mpfr-longlong.h so that udiv_qrnnd_preinv is defined (this is
	useful at least on IA64 when compiling without gmp-impl.h).
	Thanks to Patrick Pélissier for the fix.

2011-09-11  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated "API Compatibility" section: as of MPFR 3.1,
	the mpfr.h header can be included several times, while still supporting
	optional functions.

	[doc/mpfr.texi] Replaced some @code by @file for consistency.

	[doc/mpfr.texi] Updated "API Compatibility" section: functions
	mpfr_frexp, mpfr_grandom and mpfr_z_sub are new in MPFR 3.1.

	[doc/mpfr.texi] Documented function mpfr_buildopt_tune_case,
	and added it to the list of added functions.
	[NEWS] Function mpfr_buildopt_tune_case is new in MPFR 3.1.

	[doc/mpfr.texi] Updated "API Compatibility" section
	(new division-by-zero exception in MPFR 3.1).

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] MPFR_RNDA was introduced in MPFR 3.0.0 and should
	no longer be considered experimental.

2011-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trec_sqrt.c] Fixed bug introduced in r7711 (build failure
	with a C++ compiler).

	[TODO] Replaced "configure.in" by "configure.ac".

	[doc/README.dev] Removed obsolete paragraph about AM_MAINTAINER_MODE.

	[tools/mpfrlint] Correction after r7825.

	[tools/mpfrlint] Run tools/ck-mparam.

	Added tools/ck-mparam sh script to check the mparam.h files
	(gcc is needed).

2011-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/amd/k8/mparam.h] removed spurious end of comment

2011-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] For the valgrind example, use the same arguments
	as in gnulib's valgrind-tests.m4 file.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[Makefile.am] Added tools/ck-copyright-notice to EXTRA_DIST as it is
	  used in dist-hook.
	[tools/ck-copyright-notice] Added copyright notice (since this file is
	  distributed in the tarballs). Note: the first year is 2008 as a part
	  of the code comes from r5370 in mpfrlint.

	[tools/ck-copyright-notice] Skip src/mpfr-longlong.h as this file
	(which comes from GMP) has a specific copyright notice.

	[src/mp_clz_tab.c] Updated the copyright notice.

	[tools/ck-copyright-notice] Check that the first copyright year for
	the mparam.h files is 2005.

	Added copyright notice to the mparam.h files (with the same years
	as in the template).

	Added tools/ck-copyright-notice sh script from mpfrlint (updated) to
	check that copyright notices exist and appear to be correct. Updated
	tools/mpfrlint to run tools/ck-copyright-notice instead of its old
	test. In Makefile.am, run tools/ck-copyright-notice in dist-hook for
	"make dist".

	[tools/mpfrlint] More files under src and tests directories.

2011-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Update for MPFR 3.1.x.

	[tests/Makefile.am]
	  * Added "AM_LDFLAGS = -no-install" to prevent libtool from generating
	    wrapper scripts for the tests (according to discussions and tests,
	    there should be no negative effects); useful for gdb and valgrind.
	  * Added $(VALGRIND) to TESTS_ENVIRONMENT in order to easily run the
	    tests under valgrind with: VALGRIND="valgrind -q" make check
	[doc/README.dev] Update for gdb and valgrind.

2011-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Improved the specification of mpfr_get_f.

2011-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] added comment about minimal GMP version

	dummy change to check if GMP_CHECK_RANDOMIZE is now used in the Hydra
	builds on http://hydra.nixos.org/jobset/gnu/mpfr-trunk

2011-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added some references to the ternary definition.

2011-08-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] improved the documentation of mpfr_set_str, as suggested by
			Vincent Lefevre

2011-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added "Ternary value" to the concept index.

2011-08-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added information on how to update the FAQ.

	[doc] Updated FAQ.html with update-faq.

2011-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tune/tuneup.c] Untabified.

	[src/mulders.c] Replaced MPFR_ASSERTD by MPFR_ASSERTN on constant
	expressions (this is a temporary change, as they should later be
	replaced by static assertions).

	[src/mulders.c] Replaced mp_ptr and mp_srcptr (internal to GMP) by
	mpfr_limb_ptr and mpfr_limb_srcptr.

	[src/mpfr-gmp.h] Avoid potential identifier collision by using an
	underscore for variable names declared in the invert_pi1 macro.

	[src/mpfr-gmp.h] Untabified.

	[doc/mpfr.texi] Updated the month.

2011-08-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[k8/mparam.h] added comment

	[x86/mparam.h] new tuning contributed by Jim Cloos
	[amd/amdfam10/mparam.h] added GMP version

	[mpfr-gmp.h] use mpfr_pi1_t instead of gmp_pi1_t to avoid using GMP's namespace

2011-08-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mulders.c] use mpn_sbpi1_divappr_q if available and WANT_GMP_INTERNALS
			is defined
	[src/mpfr-gmp.h] defined macros needed for mpfr_divhigh_n_basecase
	[configure.ac] check for mpn_sbpi1_divappr_q

2011-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 3.2.0-dev.

2011-08-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[amdfam10/mparam.h] tuning parameters contributed by Jim Cloos

	[mulders.c] added a basecase code for Mulders' short division
	[tuneup.c] added corresponding tuning code
	[TODO] added an item

2011-08-04  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] In the INTMAX_MAX test, no longer hardcode the
	"#include <stdint.h>" (for instance, this doesn't work under
	Solaris 9: INTMAX_MAX is defined only via <inttypes.h>), but
	include "mpfr-intmax.h" instead (needs a temporary CPPFLAGS).

2011-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Much faster formatted output (mpfr_printf, etc.) with %Rg and similar.

	[doc/README.dev] Added copyright notice in case the file is distributed.

	[doc/README.dev] Added information on how to run the MPFR test suite
	under valgrind.

	Untabified and removed trailing spaces.

	[tests/tversion.c] Improved output information.

2011-07-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[hppa/mparam.h] updated for new Mulders' division

	[sparc64/mparam.h] updated for new Mulders' division

	[powerpc64/mparam.h] updated for new Mulders' division

	[ia64/mparam.h] updated for new Mulders' division

	[amd/k8/mparam.h] updated for new Mulders' division

	[x86/core2/mparam.h] updated thresholds for new Mulders' division

	[mparam_h.in] changed the detection of 64-bit Core 2, and added
		      MPFR_TUNE_CASE for default case
	[tversion.c] print GMP version (header and library), and file for tuning
		     parameters

	[x86_64/core2/mparam.h] updated for Mulders' division

	Added tuning for MPFR_DIV_THRESHOLD, and default value.
	It now remains to do the tuning on the architectures in mparam_in.h.

2011-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] added speed improvement in mpfr_div

2011-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mulders.c] fixed bug in mpfr_divhigh_n (this routine was not used yet)
	[div.c] now use Mulders' short product for large division. It remains to
		do the automatic tuning of MPFR_DIV_THRESHOLD. The speedup is nice,
		for example on my Core 2 Duo laptop we got with MPFR 3.0.0:

	[zimmerma@coing tests]$ ./timings-mpfr 1000
	Using MPFR-3.0.0 with GMP-5.0.2
	[precision is 3322 bits]
	x*y        took 0.004543 ms (262143 eval in 1191 ms)
	x*x        took 0.003616 ms (524287 eval in 1896 ms)
	x/y        took 0.009087 ms (131071 eval in 1191 ms)
	sqrt(x)    took 0.007004 ms (262143 eval in 1836 ms)
	exp(x)     took 0.293040 ms (4095 eval in 1200 ms)
	log(x)     took 0.253724 ms (4095 eval in 1039 ms)
	sin(x)     took 0.306960 ms (4095 eval in 1257 ms)
	cos(x)     took 0.290842 ms (4095 eval in 1191 ms)
	arccos(x)  took 0.590620 ms (2047 eval in 1209 ms)
	arctan(x)  took 0.560332 ms (2047 eval in 1147 ms)

	and now we get:

	[zimmerma@coing tests]$ ./timings-mpfr 1000
	Using MPFR-3.1.0-dev with GMP-5.0.2
	[precision is 3322 bits]
	x*y        took 0.004444 ms (262143 eval in 1165 ms)
	x*x        took 0.002686 ms (524287 eval in 1408 ms)
	x/y        took 0.006989 ms (262143 eval in 1832 ms)
	sqrt(x)    took 0.007084 ms (262143 eval in 1857 ms)
	exp(x)     took 0.292063 ms (4095 eval in 1196 ms)
	log(x)     took 0.246886 ms (4095 eval in 1011 ms)
	sin(x)     took 0.259096 ms (4095 eval in 1061 ms)
	cos(x)     took 0.244933 ms (4095 eval in 1003 ms)
	arccos(x)  took 0.556424 ms (2047 eval in 1139 ms)
	arctan(x)  took 0.526624 ms (2047 eval in 1078 ms)

	We see that other routines also benefit from the speedup in mpfr_sqr and
	mpfr_div (log, sin, cos, arccos, arctan).

2011-07-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] added algorithm for division with Mulders' short product
			 (can anybody check the algorithm is ok?)

2011-07-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/vasprintf.c] Added a comment.

	[src/get_str.c] Added a comment about the use of mpfr_ceil_mul
	(exported and declared in mpfr-impl.h since r7760).

2011-07-28  Philippe Théveny  <philippe.theveny@laposte.net>

	Avoid expensive calls to mpfr_get_prec() using mpfr_ceil_mul() instead.

	Make ceil_mul() public as mpfr_ceil_mul() in mpfr-impl.h

2011-07-28  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] MPFR coding conventions for r7752.

2011-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	modified the default tuning parameters so they are within the bounds of the
	ARITH-20 paper "Short Division of Long Integers"

	[src/mulders.c] declare mpfr_mullow_n as non-static since it might be useful
			elsewhere

	[tuneup.c] fix tuning bounds of short product and division according to the
		   ARITH-20 paper

	[acinclude.m4] detect long double format in m68k

	[tget_flt.c] added test to check FLT_MAX + FLT_MAX gives INFP
		     (to early detect compiler bugs)

	[nightly-test] changed -pedantic-errors into -pedantic

	[mulders.c] added some code for short division (FoldDiv, not used),
		    added comments and fixed bounds in accordance with the
		    ARITH-20 paper

2011-07-28  Philippe Théveny  <philippe.theveny@laposte.net>

	Use a buffer in order to avoid a double call to mpfr_get_str.

2011-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	[src/log.c] Replaced TMP_* by MPFR_GROUP_* (patch by Patrick).

2011-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Added a comment about TLS variable initialization.

	[doc/mpfr.texi] Added information about TLS variable initialization.

	[doc/mpfr.texi] Split Chapter "MPFR Basics" into nodes as it is now
	quite large (thus references to particular sections are now possible).

2011-07-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[vasprintf.c] simplified and improved round_to_10_power(), also contributed
		      a negative number of lines of code :-)
		      Still not optimal, since round_to_10_power() is still called
		      twice for printing say pi with mpfr_printf ("%Rg\n", x), once
		      from partition_number(), once from regular_fg(), and thus
		      mpfr_get_str is called at least 3 times!

	[configure.ac] improve error message when libgmp is not found

	[mpfr.texi] added note about threads for mpfr_set_default_prec and
	            mpfr_get_default_prec

2011-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[NEWS, doc/mpfr.texi] mpfr_min_prec was a new function in MPFR 3.0.0.

2011-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] Replaced FLT_MAX + FLT_MAX by (float) DBL_POS_INF,
	which should trigger fewer compiler bugs. See:
	  https://sympa.inria.fr/sympa/arc/mpfr/2011-07/msg00002.html

	[src/ieee_floats.h] Added a comment about the NaN format when
	_GMP_IEEE_FLOATS is defined.

2011-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_flt.c] check for compiler bug
		     (https://sympa.inria.fr/sympa/arc/mpfr/2011-07/msg00000.html)

2011-06-30  Vincent Lefèvre  <vincent@vinc17.net>

	Removed all the svn:eol-style properties (they were set to "native"),
	and in doc/README.dev, explained why svn:eol-style native should not
	be used.

2011-06-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/ck-version-info] Check DLL version in LIBMPFR_LDFLAGS line from
	configure.ac (patch by Stefan Graff, with minor changes).

2011-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/ck-version-info] 2 corrections:
	  * update due to the change of the libmpfr_la_LDFLAGS line in r7724;
	  * to support the CRLF end-of-line sometimes used under MS-Windows
	    (perl should normally take care of that, but Windows software is
	    not always consistent).

	[doc/mpfr.texi] Due to the "@unnumbered Function and Type Index",
	replaced the other "Function Index" by "Function and Type Index"
	(note: the function index and the type index are merged thanks to
	the "@synindex tp fn" line at the beginning of mpfr.texi).

2011-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	Ported patch r7723 (changes suggested by Stefan Graff to be able
	to build Windows DLLs with GCC 4.6[*]) to the trunk, not tested
	(something more may be needed due to the source reorganization).
	[*] https://sympa.inria.fr/sympa/arc/mpfr/2011-06/msg00013.html

2011-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[doc/mpfr.texi] Corrected a note about mpfr_set_*, due to the addition
	of mpfr_set_decimal64.

2011-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Removed comment added in r7181, as it is no longer
	necessary since r7182 (new option --enable-gmp-internals).

	[configure.ac] Updated comment concerning __gmpn_rootrem (mention
	WANT_GMP_INTERNALS).

	[doc/README.dev] Added a note about logging and timeout.

	[src] Conversion into UTF-8 (only comments were concerned).

	[TODO] Conversion into UTF-8.

	[src/pow.c] Made the code more robust concerning the scaling (a bug was
	very unlikely, though), and updated the comments (partial proof).

2011-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	[examples/version.c] Output MPFR features and size of MPFR types.

2011-05-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/rec_sqrt.c] continued review; I can now prove that cu=0 in all cases
	[tests/trec_sqrt.c] added tests for corner cases

2011-05-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rec_sqrt.c] more review of codes, following comments from Vincent

2011-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rec_sqrt.c] removed tabs

	[rec_sqrt.c] review and small change of changeset 7651: most probably cu=0
		     when th=0 (and maybe cu=0 always, I cannot find an example where
		     cu <> 0) but considering the case th=0 is more natural.

2011-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] List the contributors in the alphabetic order, like
	the main authors.

	Made AUTHORS and doc/mpfr.texi consistent.

	Updated AUTHORS file and copyright notices (for more consistency).

	[tests/thyperbolic.c] Fixed copyright notice.

	[src/inp_str.c] Improved comment.

	[src/fits_s.h] Improved comment.

	[doc/mpfr.texi] Updated the month.

	[src/mpfr.h] Avoid a warning from mpfrlint.

	[configure.ac] Consistency change in the copyright notice.

	[tests/tsqr.c] Added a note in the check_mpn_sqr error message.

	[tests/tsqr.c] Added a test of mpn_sqr concerning a bug seen
	with GCC 4.5.2 and GMP 5.0.1 on m68k (m68000 target).

2011-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note about a texinfo bug.

2011-05-13  Vincent Lefèvre  <vincent@vinc17.net>

	Added mpfr-intmax.h header.

	Started to support mpfr_exp_t defined as intmax_t (_MPFR_EXP_FORMAT==4).

	[NEWS] Added that the mpfr.h header can be included several times,
	while still supporting optional functions.

	[doc/mpfr.texi] Document what to do if mpfr.h can be included
	multiple times (fixes MPFR bug #9653).

2011-05-12  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Added a note to run tests with -D_MPFR_PREC_FORMAT=2.

	[src/mpfr-impl.h] Exponent properties: corrected comments and removed
	obsolete mp_exp_unsigned_t definition (was internal only).

	[src/{mpfr.h,mpfr-impl.h,vasprintf.c}] Clean-up and improvement
	of definitions related to mpfr_exp_t. MPFR can now be built with
	-D_MPFR_PREC_FORMAT=2 to have mpfr_prec_t and mpfr_exp_t defined
	as an int.

	[src/mpfr.h] Fixed spaces in a comment.

	Fixed printf's calls: support the case where mpfr_prec_t is not a long
	(or unsigned long).
	[merged changeset r7643 from the exp-int branch]

	[src/strtofr.c] Support the case where mpfr_exp_t < long; mpfr_exp_t is
	currently defined as mp_exp_t, which comes from GMP, and GMP currently
	defines mp_exp_t as a long, except on Cray (never tested for MPFR). But
	this may change in the future (possibly as an option)...
	[merged changeset r7642 from the exp-int branch]

	[src/mpfr-impl.h] Added missing parentheses in MPFR_SADD_OVERFLOW
	(fortunately the current MPFR code was not affected).

	[tests/tpow_z.c] More details for a test in case of failure.

	[src/sub1.c] Fixed several bugs: integer overflows and potential
	out-of-bound pointers. They might be visible on particular platforms,
	with a particular configuration (e.g. 64-bit limbs and 32-bit exponent
	type) or particular compiler options (to check such overflows).
	[merged changesets r7637-7638 from the exp-int branch]

2011-05-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsin.c] Added a test (it failed before the fix in r7308).

	Fixed constants pi and log(2) computation when logging is used: When
	MPFR is built with logging support, these two constants are used by
	the logging functions (via mpfr_fprintf, then mpfr_log, for the base
	conversion). Since the mpfr_cache function isn't re-entrant when
	working on the same cache, we need to define two caches for each
	constant. Otherwise the constants could be incorrect; for instance,
	"MPFR_LOG_ALL=1 ./tconst_pi" was failing.
	Note: the bug was introduced with the new logging system from r7575
	for MPFR 3.1.0, based on mpfr_fprintf instead of mpfr_out_str (which
	doesn't depend on mpfr_log).

2011-05-09  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Replaced atoi by strtoul to read the seed from
	GMP_CHECK_RANDOMIZE, as it is an unsigned long.

	[tests/texp.c] Fixed the test comparing mpfr_exp_2 and mpfr_exp_3:
	filter out 0, as it is handled correctly only by mpfr_exp.

2011-05-06  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Completed the note to run tests under gdb.

	[doc/README.dev] Added a note to run tests under gdb.

2011-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[README.dev] added hint for logging

2011-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	[src/atan.c] Fixed bug in mpfr_atan: mpfr_check_range was called on the
	unrounded result (no longer allocated) instead of the rounded result.
	Consequence of this bug: possible incorrect or invalid result and/or
	incorrect flags if either the unrounded result or rounded result is not
	in the current exponent range. Or possibly worse if the memory used by
	the unrounded result is modified before the return of the function.

	[tests/tatan.c] Corrected a comment.

	[tests/tatan.c] Added a testcase showing a failure of mpfr_atan
	in a reduced exponent range.

	[src/const_pi.c] Removed useless assignment.

2011-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-impl.h] fixed typo

2011-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] In MPFR_RNDRAW_GEN, do not try to compute the
	  sticky bit when not necessary (directed mode with rb = 1).
	[src/mul.c] FIXME comment: with the change in MPFR_RNDRAW_GEN,
	  uninitialized data are no longer read; there's still something
	  wrong, at least with the code documentation, though.

	[src/mul.c] Updated the FIXME comment.

	Bug in mpfr_mul: a call mpfr_mulhigh_n(pointers..., n) where n is some
	size is done, but the mpfr_mul code assumes a result whose size can be
	arbitrarily larger, thus may depend on uninitialised data.
	  * [src/mul.c] Added a FIXME comment.
	  * [tests/tmul.c] Added a corresponding test. The result is not checked
	    but valgrind complains of the use of uninitialised value(s).

	[src/mpfr-impl.h] MPFR_RNDRAW_GEN: added other missing parentheses.

	[src/mpfr-impl.h] MPFR_RNDRAW_GEN: added missing parentheses.

	[src/mpfr-impl.h] Logging: do not take into account the Ziv loops due
	to logging (i.e. used by the MPFR functions called by the mpfr_fprintf
	in LOG_PRINT).

	[src/mpfr-impl.h] Avoid recursive logging for MPFR_ZIV_* macros too,
	and fixed type for the output of the precision.

	[src/mpfr-impl.h] Avoid recursive logging (not wanted and freezes MPFR).

	[src/rec_sqrt.c] Improved the comment added in r7651.

2011-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/rec_sqrt.c] Fixed the buffer overflow (bug 12553).

	[src/rec_sqrt.c] Added an assertion to avoid a buffer overflow
	(mpn_add_1 and mpn_sub_1 don't support size = 0). It sometimes
	fails, and this is the following bug:
	https://gforge.inria.fr/tracker/index.php?func=detail&aid=12553&group_id=136&atid=619

	[src/rec_sqrt.c] Added a comment about a buffer overflow. Bug report:
	https://gforge.inria.fr/tracker/index.php?func=detail&aid=12553&group_id=136&atid=619

	[tests/tvalist.c] Make sure that fct is used (avoid a warning).

	[tests/tsin_cos.c] status_f and status were not read (compared) in
	coverage_01032011, yielding a warning.

	[src/mpfr-impl.h] Avoid a spurious warning with some use of MPFR_BLOCK.

	[doc/README.dev] Added command to test with valgrind.

2011-05-01  Vincent Lefèvre  <vincent@vinc17.net>

	Added "make dist" support for -dev MPFR versions by distributing the
	tests/data files in the tarball for such MPFR versions ("make check"
	fails if some data file couldn't be read for such versions).
	  * configure.ac: add a Makefile variable DATAFILES, which contains the
	    list of the tests/data files if the MPFR version ends with "-dev".
	  * Makefile.am: add $(DATAFILES) to EXTRA_DIST.

2011-04-29  Vincent Lefèvre  <vincent@vinc17.net>

	Added casts for printf (mpfr_prec_t was assumed to be an unsigned long).

	[src/strtofr.c] Support the case where mpfr_exp_t < long.

	[src/mpfr-impl.h] Added missing parentheses in MPFR_SADD_OVERFLOW.

	[tests/trint.c] Removed a useless pointer cast (in general, such casts
	are either useless or incorrect, as breaking aliasing rules).

2011-04-28  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tpow_z.c] More details concerning a failure.

	[src/sub1.c] Added a useless cast (for maintainability: may be needed
	in case of future change) and comments about the last change (r7637).

	[src/sub1.c] Fixed several bugs: integer overflows and potential
	out-of-bound pointers.

	[src/cmp2.c] Added an assertion.

2011-04-18  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Correction of problems triggering the warning
	  "warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body"
	with autoconf 2.68:
	* Fixed missing quoting in an AC_RUN_IFELSE.
	* Added an AC_LANG_SOURCE in another AC_RUN_IFELSE.

	[acinclude.m4] s/can not/cannot/

	[acinclude.m4] Added comment about the warning:
	  warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body

2011-04-15  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Use conventional quotes.

	[acinclude.m4] Added a comment.

2011-04-12  Vincent Lefèvre  <vincent@vinc17.net>

	[src/asin.c] Fixed bug in mpfr_asin for x = 1 or -1 in extremely reduced
	  exponent range (when pi is not representable, but pi/2 is).
	[tests/tasin.c] Added testcase.

2011-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Removed "allow generic tests to run with a restricted
	exponent range" (this was done in r7470).

2011-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added item

2011-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[INSTALL,doc/mpfr.texi] Say that mpfr@loria.fr is the MPFR mailing-list.

2011-04-01  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Removed the -Wno-format GCC option, which was added
	when logging was used, as it is no longer needed after the changes
	done in r7575,7578 (mpfr_fprintf is now used for logging instead of
	fprintf with the Glibc register_printf_function extension).

2011-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/reuse.c] Added a comment.

	[src/pow.c] Fixed a bug in mpfr_pow_general when an argument is reused
	(e.g. mpfr_pow(x,x,y,rnd) or mpfr_pow(y,x,y,rnd)) and the result is
	negative, thus when x is negative and y is a huge odd integer ("huge"
	because not-too-large integers are currently handled by mpfr_pow_z).

	[tests/reuse.c] Added a mpfr_pow(x,x,y,rnd) test showing a failure
	when x is negative and y is a huge odd integer.

	[src/subnormal.c] Improved a comment.

	[tests/reuse.c] Test also negative numbers.

	[tests/reuse.c] GNU coding style.

	[src/mul.c] Updated a comment.

	[src/powerof2.c] Updated comment.

	[src/powerof2.c] More detailed comment.

2011-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cfarm.sh] complete tests with mpfr-3.0.1-rc1

2011-03-21  Vincent Lefèvre  <vincent@vinc17.net>

	[src/pow_z.c] Fixed bug bug20110320, that occurs in extremely reduced
	exponent range (more precisely, if 1 is out of range, i.e. emin > 1).

	[tests/tpow.c] Added testcase bug20110320.

	[tests/tgeneric.c] Added debug information.

2011-03-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cfarm.sh] shell script to test MPFR on the GCC Compile Farm

2011-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[digamma.c] fixed compiler warning (ISO C90 forbids mixed declarations and code)

2011-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Added a note about the fix in the mpfr_subnormalize
	implementation, in case users would think the old behavior
	was chosen on purpose.

	Completed r7575 (Get rid of deprecated register_printf_function
	function in logging system): there was a remaining old MPFR_LOG_FUNC
	in "src/div_ui.c". Now, the MPFR source no longer contains '%#R'.

	[src/mul_2si.c] Removed trailing whitespace.

	[doc/README.dev] Fixed variable name from r7575.

2011-03-17  Philippe Théveny  <philippe.theveny@laposte.net>

	Get rid of deprecated register_printf_function function in logging system.

2011-03-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/erfc.c] Fixed a problem (incorrect flags or possible crash) in
	extremely reduced exponent range. Support the case where mpfr_prec_t
	is larger than a long.

	[tests/terf.c] Added some tests of the flags (no failure in them,
	thanks to the mpfr_cmp_si (x, -27282) in erfc.c, for 1b).

	[tests/tgeneric.c] In failure messages, output the name of the
	tested function. This is useful for programs that have generic
	tests for several functions, such as terf.

	[tests/terf.c] Added a testcase showing a failure due to bad flags
	in a reduced exponent range.

2011-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/terf.c] Changed mp_exp_t (r7564) to mpfr_exp_t.

2011-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	[src/erfc.c] Added an assertion for future platforms (e.g. with 128-bit
	exponent type).

	[src/erfc.c] Fixed r7564 (comparison must really be signed).

	[tests/terf.c] Fixed test added in r7564 for 32-bit machines.

2011-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[erfc.c] fixed bug found by Pascal Molin: when we increase the exponent range
		 on 64-bit machines, erfc() wrongly underflows for x >= 27282

2011-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Fixed the MPFR_FAST_COMPUTE_IF_SMALL_INPUT test for n == 1
	in underflow cases.

	[src/jn.c] No need for mpfr_clear_flags (already done in MPFR_BLOCK).

	[src/jn.c] Check that no intermediate underflow or overflow occurs.

	[doc/algorithms.tex] For the Bessel function, say that the algorithm
	assumes that no underflows/overflows occur.

2011-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gamma.c] More robust code (for the change in r7551).

	Removed trailing spaces.

	[tests/tgeneric.c] Added feature for MPFR_SUSPICIOUS_OVERFLOW to avoid
	spurious failures by defining TGENERIC_SO_TEST to some well-chosen test.

	[tests/tgamma.c] Added a comment about MPFR_SUSPICIOUS_OVERFLOW.

	[src/gamma.c] Fixed the special code for tiny values.

	[tests/tgamma.c] Corrected a test and added other tests for tiny x > 0.

	[tests/tgamma.c] Updated a comment.

	[tests/tgamma.c] Restore emax.

	[tests/tgamma.c] Do not initialize x twice.

	[tests/tgamma.c] Do not run the same test twice if emin = MPFR_EMIN_MIN.

	[tests/tgamma.c] Added tests for tiny values, showing bugs in special
	code for such values. Run tgamma with at least an argument to get all
	the failures.

2011-03-07  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Fixed mpfr_jn_k0() internal function:
	  * The prototype was incorrect: one needs "unsigned long" for n
	    (actually absn), in case absn is equal to - LONG_MIN.
	  * The formula and the code were incorrect for n = 0, due to the
	    division by n; it was yielding k0 = ULONG_MAX. The case n = 0
	    is now handled separately.
	  * Small optimization: division by log(2) -> multiplication by
	    1/log(2).

	[src/jn.c] Avoid integer overflow in the computation of the initial
	working precision. This makes several tests fail, but logging shows
	that previous non-failure was due to undefined behavior due to huge
	k0 computed by mpfr_jn_k0.

	[src/jn.c] Added a comment for mpfrlint.

	[tools/mpfrlint] Change of r7515: any mpfr_clear_* can be mentioned.

	[src/jn.c] Added comments and fixed a bug.

	[src/jn.c] Detect incorrect error analysis (that may have been the goal
	of the assertion corrected in r7534, but this wasn't documented). Added
	a FIXME comment.

	[src/jn.c] Fixed incorrect assertion. It could occur only
	in precision >= 2^(1+s/2), where s is the bitsize of a
	"long", e.g. p >= 2^17 = 131072 on most 32-bit machines and
	p >= 2^33 = 8,589,934,592 on most 64-bit machines. Only some
	arguments are affected (|z| between around 2^(s/2) and p/2).

	[tests/Makefile.am] Added a comment.

	[doc/README.dev] Corrected a typo.

2011-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Improved underflow detection. Still not complete, though.

	[src/jn.c] Comments: English usage.

2011-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/trint.c] mantissa -> significand (standard and correct term).

	[tests/trint.c] Do not use snprintf (C99).

2011-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Added a test to check that the snprintf function (C99)
	is not used.

2011-03-04  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Previous extended coverage test in trint.c now self generate tests in and compare values

	Extend test coverage of mpfr_rint to 100%

2011-03-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/add1sp.c] same as previous commits

	[src/sub1sp.c] ibidem (see previous commit log)

	[add1.c] ibidem (see previous commit log)

2011-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	[src/add.c,src/sub.c] Split assertions for C90 compilers, to avoid
	too long strings generated by #expr. Problem seen with:
	  gcc -ansi -pedantic-errors

	[src/yn.c] Minor change.

	[src/yn.c] Extend the exponent range (code not checked concerning
	internal exceptions, such as overflows, underflows and divby0).

	[src/agm.c] Added comments (for mpfrlint, in particular).

	[tools/mpfrlint] The use of mpfr_overflow_p, etc. is allowed if
	mpfr_clear_flags is mentioned (useful for checking purpose at the
	end of a function, but this needs an explicit mpfr_clear_flags;
	otherwise MPFR_BLOCK should still be used).

	[src/agm.c] Completed scaling to avoid intermediate overflow/underflow.

	[src/agm.c] Bug fix in error computation: in Ziv's iteration, err kept
	its value from the previous iteration instead of being reset to 0.
	Consequence: a possible loss of performance in rare cases.

	[src/cmp2.c] Removed a useless assertion and updated comments.

2011-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	[src/agm.c] Added a FIXME comment.

	[src/agm.c] Updated exception checking (more informative).

	[src/agm.c] Check internal exceptions: the error analysis may be
	incorrect in case of exception.

	[src/agm.c] Implemented scaling to avoid intermediate overflow/underflow
	(but the tagm test still fails, due to a rounding error this time).

	[tests/tagm.c] Added tests triggering intermediate underflow/overflow.

	[tests/tagm.c] Also test the ternary value and the flags.

	[tests/tagm.c] Corrected values (using Pari).

	[src/agm.c] Extend the exponent range. This doesn't make the algorithm
	correct yet, as intermediate underflow or overflow is still possible in
	the first multiplication.

2011-03-01  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Change some functions called in test tsin_cos.c

	Extend coverage test of mpfr_sincos_fast to 100%

	Extend coverage test of mpfr_custom_get_kind to 100%

2011-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Fix: support reduced exponent ranges for small inputs.

	[src/gamma.c] Added a comment about an overflow case.

	[tests/tgamma.c] Added tests in maximum exponent range.

	[src/gamma.c] Fixed flags when x if very small (protect from
	intermediate overflow).

	[tests/tgamma.c] Corrected test number.

	[tests/tgamma.c] Added a test in maximum exponent range.

	[src/gamma.c] Fixed inexact flag when x if very small.

	[tests/tgamma.c] Added tests.

	[src/gamma.c] Fixed a bug occurring in reduced exponent range.
	[tests/tgamma.c] Added corresponding testcase.

	[src/lngamma.c] Do not use MPFR_EXP after a mpfr_clear (even though
	this currently work).

	[src/rem1.c] Fixed mpfr_rem1 in reduced exponent range (the function
	is actually simplified).

2011-02-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added an item

2011-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed mpfr_div_2si, mpfr_div_2ui and mpfr_mul_2si in some corner cases.

	[tests/tmul_2exp.c] Small correction in output (in case of failure).

2011-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_q.c] Corrections in function prototypes.

2011-02-21  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Remove the use of mpfr_get_default_prec in some coverage test

	Add some coverage test in tests/tset_q.c

	fixed coding convention of 2 tests functions

2011-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_d.c] fixed some compiler errors and warnings

2011-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Split a printf into several ones to reduce the
	string length below the 509-byte limit from C90 (useful to avoid
	an error when testing with gcc -ansi -pedantic-errors).

2011-02-18  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Extend test coverage to 100% on mpfr_z_sub and mpfr_mul_q function

	Extend test coverage on mpfr_get_d_2exp function

2011-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tmul_2exp.c] Also test mpfr_div_2si and mpfr_div_2ui (same bug).

	[tests/tmul_2exp.c] Added a testcase showing a bug in mpfr_mul_2si
	(possible intermediate overflow).

	[src/zeta.c] Support zeta(eps) with |eps| very small or 0
	in extremely reduced exponent range.

	[src/atan2.c] Fix: the overflow or underflow flag was set in the case
	x = power of two and y/x overflows or underflows.

	[src/atan2.c] Support special cases in extremely reduced exponent range.

	[src/acos.c] Support acos(0) in extremely reduced exponent range.

2011-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgeneric.c] Added generic tests in a reduced exponent range.
	This currently makes 10 tests fail on a 64-bit machine.

	[tests/mpfr-test.h] Defined a SAME_VAL(X,Y) macro to test whether two
	floating-point data have the same value, seen as an element of the set
	of the floating-point data (Level 2 in the IEEE 754-2008 standard).

	[src/mpfr-impl.h] Defined a MPFR_EXP_FSPEC macro containing the
	format specifier for mpfr_eexp_t, to output an exponent with:
	  printf ("%" MPFR_EXP_FSPEC "d", (mpfr_eexp_t) exponent);

	[tests/tgeneric.c] Reformat.

	[doc/README.dev] Added a warning about whitespace in the mpfr.texi file.

	[doc/mpfr.texi] Fixed spacing for the mpfr.info file.

2011-02-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Detect the use of mp_ptr and mp_srcptr.

	[doc/mpfr.texi] Updated the month.

	[src/gmp_op.c] Added a blank line.

2011-02-09  Olivier Demengeon  <olivier.demengeon@inria.fr>

	Added mpfr_z_sub (function/test/doc)

2011-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	Added new types mpfr_limb_ptr and mpfr_limb_srcptr to src/mpfr-impl.h,
	and replaced mp_ptr and mp_srcptr (GMP internals) by these 2 new types
	respectively.

2011-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Fix for Intel's compiler (ICC) under MS Windows:
	MPFR was incorrectly assuming that ICC had some extensions like
	under GNU/Linux. This made the MPFR compilation fail.

	[src/mpfr-impl.h] Corrected a typo in a comment.

2011-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Removed incorrect note.

2011-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added hint for VS2008 and Intel compiler v11.1

2011-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac,Makefile.am] Clean-up and depend on GNU Automake 1.11.

2011-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	[src/zeta_ui.c,tests/tzeta_ui.c] Patch from Patrick Pélissier for
	the division-by-zero support in mpfr_zeta_ui (and test):

2011-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/zeta.c] patch from Patrick Pelissier (problem with division by zero flag)

2011-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed division by zero item (done)

	[src/get_str.c,TODO] updated comments, mpfr_get_str already supports base <= 62

2011-01-27  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tj0.c] GMP_RNDN → MPFR_RNDN.

	[src/subnormal.c] Set the inexact and underflow flags when needed. Fixes
	  https://gforge.inria.fr/tracker/index.php?func=detail&aid=7958&group_id=136&atid=622
	[tests/tsubnormal.c] Improved the tests, in particular for the flags.
	[doc/mpfr.texi] Documented the change.

	[doc/mpfr.texi] Corrected order in Section "Changed Functions".

	[tests/tj0.c] Added case for which s = 0 occurs in mpfr_jn.

	[src/jn.c] Added a log message.

	[src/div_ui.c] Added logging support.

2011-01-26  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsum.c] Fixed bug in test (do not set the exponent on 0).

	[tests/tsum.c] Formatting.

	[tests/tsum.c] Fixed get_prec_max and added some checks.
	Current failure: tab[1] is not valid.

	[src/sum.c] Added an assertion.

	[src/check.c] Replaced MPFR_IS_PURE_FP by !MPFR_IS_SINGULAR, the
	former macro now has a check for validity in debug mode (r7426).
	The goal of mpfr_check is to test the validity, so that we don't
	want this check here.

	[src/mpfr-impl.h] In the MPFR_IS_PURE_FP test, if positive, check that
	the number is normalized (debug mode only). This makes 2 tests fail:
	tcheck and tsum. Note: with logging active, tsum was already triggering
	an assertion failure in mpfr_get_str (via mpfr_add).

	[src/add.c] Formatting.

	[src/li2.c] Fixed crash in mpfr_li2 when logging is used.

2011-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Corrected a comment.

2011-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/jn.c] added notes for correctness of the algorithm used

2011-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] C90 compatibility fix (empty macro arguments are undefined).

	[src/jn.c] Added an assaertion against a potential overflow (which
	probably never occurs, but this should be proved...).

2011-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/jn.c] patch from Patrick Pelissier

2011-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/jn.c] Forgot to change an MPFR_EXP to MPFR_GET_EXP.

	[src/jn.c] Replaced MPFR_EXP by MPFR_GET_EXP when the value should
	really be an exponent. Removed incorrect and useless casts. Added
	an assertion to protect against potentially incorrect code.

	[src/jn.c] Patch from Patrick Pélissier (mpfr_check_range and other).

2011-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Update the check for mpfr_printf-like functions
	in the tests.

	[tests/tprintf.c] Consistency.

	[tests/tgrandom.c] Added a comment.

	[tests/tgrandom.c] Protection of the mpfr_printf by #ifdef HAVE_STDARG.

2011-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	[src/eint.c] Added a FIXME.

2011-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/out_raw.c] added pointer to discussion

2011-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tvalist.c] Correction for C++ compilers.

	[doc/mpfr.texi] Added division-by-zero exception.

	[doc/README.dev] Updated "To make a release".

	[NEWS] Update for MPFR 3.1.x.

	[src/grandom.c] Reformat.

	[tools/mpfrlint] tests/tvalist.c can use mpfr_printf-like functions.

	[tests/tgrandom.c] Added a FIXME: do not use mpfr_printf in the tests.

	[tests] Untabified and removed trailing spaces.

	[src/grandom.c,src/mpfr.h] Untabified and removed trailing spaces.

	[src/frexp.c] Corrections.

	[src/out_raw.c] Untabified.

	[src/out_raw.c] Fixed some bugs on the incomplete code.

	[src/atan2.c] MPFR_EXP -> MPFR_GET_EXP and reformat.

	[src/ai.c] Removed trailing spaces.

	[doc/mpfr.texi] Updated the month.

	Copyright notice update: added 2011 with
	  perl -pi -e 's/2010 Free Software/2010, 2011 Free Software/' **/*(^/)
	under zsh, reverting the ChangeLog file and the m4 and tools/mbench
	directories.

	[doc/README.dev] Updated year in example.

	tests: updated svn:ignore property.

	[src/pow.c] Added an assertion.

	[tests/td_div.c] Consistency change.

	[tests/tdiv_d.c] Updated test of special cases.

	[src/log1p.c] Added support for the division-by-zero exception.

	[tests/tlog1p.c] Test the flags for special cases.

	Added support for the division-by-zero exception in functions
	mpfr_atanh, mpfr_cot, mpfr_coth, mpfr_csc, mpfr_csch,
	mpfr_digamma, mpfr_eint, mpfr_gamma, mpfr_lgamma, mpfr_lngamma,
	mpfr_log, mpfr_log2 and mpfr_log10.

2011-01-16  Laurent Fousse  <laurent@komite.net>

	[tests/tgrandom.c] Add missing cast for malloc.

2011-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	[src/yn.c] Added support for the division-by-zero exception.

	[src/rec_sqrt.c] Added support for the division-by-zero exception.

	[src/pow_si.c] Improved robustness (in case of future changes).

	Added support for the division-by-zero exception for the power functions
	(with additional tests). (Corrected patch from Patrick.)

2011-01-16  Laurent Fousse  <laurent@komite.net>

	Rename mpfr_urandom_gaussian to mpfr_grandom.

2011-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Corrections for mpfr_urandom_gaussian.

	[tests/turandom_gaussian.c] Fixed C99-only code.

2011-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/frexp.c,tests/tfrexp.c] added new function mpfr_frexp
	[src/urandom_gaussian.c] fixed copyright line
	[src/out_raw.c] started writing code (work in progress, please continue if
			you are interested)

2011-01-14  Laurent Fousse  <laurent@komite.net>

	[doc/mpfr.texi] Document urandom_gaussian.

	[tests/Makefile.am] Include turandom_gaussian in tests.

	[tests/turandom_gaussian.c] Add tests for urandom_gaussian.

2011-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tdiv.c] Added consistency tests between mpfr_div, mpfr_ui_div,
	mpfr_si_div, mpfr_div_ui and mpfr_div_si (check the ternary value,
	the flags and the result of the division).

	[src/ui_div.c] Fixed prototype formatting.
	[src/div_ui.c] Fixed prototype formatting. Set division-by-zero flag.

2011-01-14  Laurent Fousse  <laurent@komite.net>

	[src/urandom_gaussian.c] Fix x -> xp, and scaling.

	[src/urandom_gaussian.c] Pick the signs of the outputs at random.

	[src/urandom_gaussian.c] Fix precision of temporary results.

	[src/urandom_gaussian.c] Add missing inits/clears.

	[src/mpfr.h] Declare urandom_gaussian.

	[src/Makefile.am] Add urandom_gaussian.c to the sources.

	[src/urandom_gaussian] Start work on gaussian distribution.

2011-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgeneric.c] Fixed code introduced in r7346, again.

2011-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sin_cos.c] moved macros to mpfr-impl.h, added README

	[sin_cos.c] new inexact flags computed by mpfr_check_range were lost

2011-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgeneric.c] Fixed code introduced in r7346.

	[tools/coverage] Update from Patrick.

	[src/ui_div.c] Set the division-by-zero flag.
	[tests/tui_div.c] Updated and improved the test of special cases.
	Note: tpow_all currently fails since the support of the division-by-zero
	exception is not complete yet.

	[src/div.c] Set the division-by-zero flag.
	[tests/tdiv.c, tests/td_div.c] Updated and improved the test of special
	cases.

	[tests/tset.c] Tests didn't fail in case of error from PRINT_ERROR_IF.

	[tests/tgeneric.c] Added comments.

	[tests/tgeneric.c] Check the division-by-zero flag.

	Improved tests/texceptions.c (mpfr_clear_*, mpfr_set_*).

	Added support for the division-by-zero exception.

	[src/exceptions.c] Fixed bad #undef's (with currently no consequences).

2011-01-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed item about inlined mpfr_neg: Patrick Pelissier tried it but it
	       does not speed things

2011-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Removed an obsolete comment.

2011-01-13  Laurent Fousse  <laurent@komite.net>

	[src/atan2.c] "Exact" division can be inexact because of the exponent range.

2011-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[out_raw.c] exchanged bits for precision and exponent

	[out_raw.c] first proposal for external format

2011-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] MPFR_IS_POWER_OF_2: added parentheses.

2011-01-13  Laurent Fousse  <laurent@komite.net>

	Add tests for special case of atan2 (x power of 2).

	Add special case for atan2(x,y) when x is a power of 2.

	New macro MPFR_IS_POWER_OF_2.

2011-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	TLS support is now detected automatically. If TLS is supported, MPFR is
	built as thread safe by default. To disable TLS explicitly, configure
	MPFR with --disable-thread-safe.

2011-01-13  Laurent Fousse  <laurent@komite.net>

	Add tests for mpfr_ai special case x=0.

	Add special case for x=0 in mpfr_ai1.

2011-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] extended Lemma 2 to the case of terms of the form 1/(1+delta)

2011-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	tests: return 77 for skipped tests (see GNU Automake manual).

	tests: updated svn:ignore property.

	TODO update after r7317 and r7320.

	Support multiple inclusions of mpfr.h w.r.t. <stdio.h> and <stdarg.h>
	(MPFR_USE_FILE and/or MPFR_USE_VA_LIST are needed until GMP is fixed).
	Added test "tests/tvalist.c".

2011-01-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mpfr-longlong.h] idem as previous commit for other 2 FIXME's

	[mpfr-longlong.h] resolved one FIXME, by adding a new one :-)

2011-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	Support multiple inclusions of mpfr.h w.r.t. <stdint.h> / <inttypes.h>.

2011-01-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	another patch from Patrick Pelissier to test get_ld (with export of data used)

	patch from Patrick Pelissier to use clock_getime instead of rdtsc
	(use "make rt" instead of "make")
	References:
	https://stackoverflow.com/questions/3388134/rdtsc-accuracy-across-cpu-cores
	https://en.wikipedia.org/wiki/Time_Stamp_Counter

2010-12-25  Vincent Lefèvre  <vincent@vinc17.net>

	[src/get_ld.c] Updated a comment about the last change.

	[src/get_ld.c] Minor performance improvement.

2010-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mbench/Makefile] Update due to source reorganization (r7087):
	patch from Patrick Pelissier.

2010-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Update (exp-int branch, internal macro).

	[src/sin.c] Fixed failure in debug mode (missing MPFR_IS_ZERO test).

	[src/rec_sqrt.c] Improved comment.

	Added exp-int branch from r7304, where mpfr_exp_t is defined as an
	int instead of mp_exp_t. This is for testing only for usual 64-bit
	machines (e.g. x86_64 GNU/Linux), where mpfr_exp_t and mpfr_prec_t
	are now on 32 bits instead of 64 bits. Many tests currently fail
	for unknown reasons.
	TODO: find the cause of these failures, starting with the low level
	functions (since they can affect higher level ones).

2010-12-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rec_sqrt.c] put back some information lost in commit 7302

2010-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/cmp2.c] Corrected a comment.

	Replaced some MPFR_EXP by MPFR_GET_EXP.

	[src/rec_sqrt.c] Removed a variable that was used only once.

	[src/mpfr.h] Changed comment for mpfrlint.

	Added MPFR_TMP_LIMBS_ALLOC macro and updated the source to use it.
	tools/mpfrlint: check its use instead of MPFR_TMP_ALLOC.

	[src/sum.c] Improved readability.

	[src/mpfr-impl.h] Formatting.

2010-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	[TODO] Added year on a date (the item was added on 2007-07-28 in r4707).

2010-12-13  Vincent Lefèvre  <vincent@vinc17.net>

	Added configure.lineno (generated by configure) to the svn:ignore
	property of the src directory.

2010-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Update concerning the --with-gmp-build configure option.

	[INSTALL] Corrected a typo from r7293.

	Updated INSTALL file after the recent changes in configure.ac concerning
	the --with-gmp-build configure option.

	[configure.ac] With --with-gmp-build, do not duplicate the include
	search paths if the GMP source and build directories are the same.

	[configure.ac] Fixed another bug in r7289. This new version now seems
	to work with GMP's srcdir pointing to a relative directory or to an
	absolute one.

	[configure.ac] Fixed bug in r7289.

	[configure.ac] Corrected Patrick Pelissier's patch (not tested).

2010-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] patch from Patrick Pelissier to solve the problem with
		       --with-gmp-build when the GMP build directory and the GMP
		       source directory differ

2010-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] tversion is also run at the end (after a discussion
	with Patrick and Paul).

	[configure.ac] Fixed two problems with --with-gmp-build:
	  * "grep -w" isn't POSIX (an error shouldn't matter with recent GMP
	    versions, as CFLAGS and CC would then be retrieved from gmp.h).
	  * "sed" was used instead of "$SED".

2010-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Added a section "If 'gmp.h' and 'libgmp' do not match".

	[configure.ac] Improved warning message in case of unmatched 'gmp.h'
	and 'libgmp'.

	[INSTALL] Update concerning "configure".

2010-12-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] fixed news for 3.0.0

2010-12-03  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tversion.c] Now fail if the versions of gmp.h and libgmp do not
	match (error message improved); previously, the warning could remain
	unnoticed, in particular with automatic installations.

2010-11-30  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Added metaMPFR in the tools directory of MPFR.

2010-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Defined MPFR_DEPRECATED to mark MPFR functions, types
	or variables as deprecated.

2010-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tui_pow.c] Updated a comment.

2010-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Support BSD sed.

2010-11-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Detect the use of __mpfr_struct structure members
	in .c files.

	[src/min_prec.c] Replaced x->_mpfr_d by MPFR_MANT(x).

2010-11-18  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Commented out the declaration of mpfr_round_raw_3
	(since this function is no longer defined).

	[src/min_prec.c] Major simplification of mpfr_min_prec by using
	mpn_scan1 (suggestion by Andreas Enge).

2010-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added a comment about mpn_sqr_n.

2010-11-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] replaced reference to Graillat05 by earlier one (Higham02)

2010-11-12  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/nightly-test] Added a comment about the use of -pedantic-errors.

2010-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/sub1.c] Minor simplification.

	[tests/tpow.c] Avoid warnings if mpfr_exp_t < long.

2010-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mul.c] fixed bug introduced in revision 7183, and reported by Brian Gladman
		on Windows, where mpfr_exp_t has 32 bits and mp_limb_t has 64 bits

2010-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Use only mpfr_* types in __MPFR_EXP_* macro definitions
	(should have been done in r7236).

	[src/mpfr.h] Changed a "void" into a "mpfr_void" in a macro definition
	(should have been done in r7236).

	[tests/tset_si.c] Added testcase for problem fixed in r7236.

2010-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Removed some useless casts that where added in r7121 and
	r7236 (such casts prevented the compiler from emitting diagnostics in
	incorrect calls).

	[tests/Makefile.am] Added a comment (warning about LOADLIBES).

2010-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[taway.c] reduced time of the test

2010-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	Mentioned --enable-gmp-internals in INSTALL and NEWS.

2010-10-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/taway.c] Added a FIXME (test is too long on old machines).

	[acinclude.m4] Corrected comment for PowerPC.

2010-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tuning parameters for HPPA (on HP-UX machine kindly provided by David
	Kirkby)

2010-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[powerpc32/mparam.h] added more info on processor and operating system used

	needed stuff to use src/powerpc32/mparam.h file
	(note that long double is IEEE double on PowerPC32)

	[powerpc32/mparam.h] param file for powerpc32 (made on PowerPC 604 under AIX)

2010-10-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] added cast from time_t to long, after warning under HP-UX:
	tuneup.c:1131: warning: format '%ld' expects type 'long int', but argument 3 has type 'time_t'
	tuneup.c:1133: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t'
	(I don't know if it is because time_t is unsigned, or has a different width)

2010-10-22  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Added a space.

	[src/mpfr.h] Avoid some problems with macro expansion if the user
	defines macros with the same name as keywords.
	[doc/mpfr.texi] Document the use of macros.

2010-10-22  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Included the new /arch/mparam.h files into the dist.

2010-10-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Cosmetic change: the constant MPFR_TUNE_CASE is now defined in mparam_h.in.
	Hence the files src/some-architecture/mparam.h are now simply obtained by
	performing 'make tune' on some architecture and copying the resulting
	src/mparam.h to src/some-architecture/mparam.h.

	Typo.

	Up-to-date thresholds.

2010-10-20  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] mp_prec_t -> mpfr_prec_t

	[src/sub1.c] Removed trailing spaces.

2010-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/*.c] Support the case where mpfr_exp_t is not a long int
	(but with such a future extension, one should probably provide
	a MPFR_PRIexp macro, similar to what <inttypes.h> does).

	[tests/texceptions.c] Added casts, in case mpfr_exp_t is not a long int.

2010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] replaced hexadecimal long double constants by decimal constants

2010-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_ld.c] Added a FIXME for r7222 change.

2010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[set_ld.c] fixed bug #11300 on bug tracker
	[tset_ld.c] added corresponding tests

	[algorithms.tex] modified proof of mpfr_sub in accordance with source code

2010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	this is a tree of all possible cases that can happen for rounding in mpfr_sub
	(file sub1.c) for rounding to nearest.

	The nodes at depth 1 of the tree correspond to the 3 possible cases before
	rounding: (1) sh=0, (2) sh>0 and the low sh bits are 1/2 ulp, (3) sh>0 and
	the low sh bits are 0.

	The nodes at depth 2 represent the possible subcases for k=0 in the rounding
	loop.

	The nodes at depth 3 represent the possible subcases for k=1 in the rounding
	loop.

2010-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sub1.c] fixed another remaining issue in case 1d1
		     (case sh=0, i.e., the result uses a full number of limbs,
		      the first neglected limbs of b and c match,
		      and for the next limbs, low(b) > low(c)).
		      This case was incorrectly rounded up (add_one_ulp).
	[tests/tsub.c] added more test cases

	[tgmpop.c] in case of error, print mpz_t in decimal instead of binary

	[tuneup.c] increase maximal number of calls to speed_measure from 5 to 30
		   (seems to solve problems on gcc15)

2010-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tcan_round.c] Removed an incorrect cast, fixing a bug (in the
	test) that was producing a failure for GMP_CHECK_RANDOMIZE=1287710095
	on 64-bit machines (visible since mpfr_prec_t is now signed).

	[src/sub1.c] Removed trailing whitespace.

2010-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sub1.c] previous fix was not incorrect (but strangely our tests cases did
		 not exhibit that)
	[tfma.c] added more test cases from Jakub Jelinek

	[sub1.c] fixed bug found by Jakub Jelinek (#11301 on tracker)

2010-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] Updated the month.

	[tests/tsub.c] Fixed inex test in bug20101017.

2010-10-18  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Mention the warning message displayed by gcc when the ABI of gcc and MPFR
	differ.

	Note: the message does not automatically imply the problem; however, if the
	message appears, the ABI somehow differ, so it is worth mentioning it.
	Users might look for the message in INSTALL in order to see if their problem is
	mentioned.

2010-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added "Notes about ABI" section

2010-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsub.c] Updated comment of bug20101017.

	[tests/tsub.c] Added testcase for bug found by Jakub Jelinek
	(bug 11301 on INRIAGforge).

2010-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] print size when speed_measure fails

2010-10-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added that the 'N' mode rounds ties to even in the mpfr*printf
		    functions

2010-10-15  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Reorganized mparam_h.in in separate files.
	Added mpfr_buildopt_tune_case function.

2010-10-14  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Modified the number of iterations in the loop of mpfr_speed_measure.

2010-10-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] new function mpfr_speed_measure, which calls speed_measure() several
		   times (currently 30) until there is no failure.
		   In case all 30 calls fail, give some hints to the user.

2010-10-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] try again when speed_measure returns -1.0 (i.e. fails)
	           also check return value of speed_measure in all cases
		   (was not done for mulhigh, sqrhigh and divhigh, reported
		   by Sylvain Chevillard)

2010-10-12  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Small indication explaining what is the negative threshold for Ai.

2010-10-10  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr-impl.h] Added MPFR_UEXP macro to check (in debug mode) that
	a value is nonnegative before a cast to mpfr_uexp_t.
	[src/add1.c] Use the MPFR_UEXP macro to make sure that the avoided
	warning doesn't hide a real bug.

2010-10-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	avoid several compiler warnings with g++

	[nightly-test] added -Wno-sign-compare for g++, to avoid spurious warnings

	[nightly-test] do not use -Wmissing-prototypes for g++

	[add1.c] fixed compiler warning (from g++)

2010-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mulders.c] fixed comment

2010-10-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sqrt.c,mulders.c] added missing cast (detected by nightly builds with g++)

2010-10-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] Untabified.

2010-09-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mulders.c] fixed comments about error analysis in short product,
			and improved short division code

2010-09-30  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces and untabified several files.

	[src/mul.c] Added comments concerning the latest changes about mulhigh.

2010-09-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mulders.c] removed leftover debug stuff

2010-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/mulders.c] added new function mpfr_divhigh_n() for short division
			(not used yet), fixed comments and added error analysis
			in mpfr_mulhigh_n() and mpfr_sqrhigh_n()
	[src/sqrt.c] fixed ill-placed MPFR_TMP_MARK
	[src/mparam_h.in] added default MPFR_DIVHIGH_TAB for mpfr_divhigh_n()
	[src/round_p.c] typo
	[src/mpfr-impl.h] added prototype for mpfr_divhigh_n
	[src/mul.c] added comment, simplified code
	[tune/tuneup.c] added tuning for mpfr_divhigh_n(), increased MAX_STEPS to get
			a better tuning (will take longer), set tolerance to 1.0

	added new option --enable-gmp-internals to use GMP undocumented function
	(at user's own risk). So far only mpn_rootrem is used in mpfr_sqrt.

	[doc/README.dev] added comment about mpn_rootrem

2010-09-28  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.ac] Added a FIXME note about incorrect use of an internal
	GMP symbol (__gmpn_rootrem).

2010-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[src/sqrt.c] followup to previous commit: only compute an extra limb of the
		     square root for rounding to nearest (for directed rounding, it
		     suffices to know if the remainder is zero or not)

	[src/sqrt.c] now uses mpn_rootrem (if available) instead of mpn_sqrtrem since
		     mpn_rootrem is faster. Also refactored the code: now compute one
		     more limb of the square root when the target precision is a
		     multiple of GMP_NUMB_LIMB. This greatly simplifies the code.

	[src/sqrt.c] simplified computation of sticky bit

2010-09-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mulders.c] fixed typo

2010-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mulders.c] Replaced MPFR_ASSERTD with constant expression
	by MPFR_ASSERTN.

	[tools/mpfrlint] Added a test:
	Constant checking should use MPFR_ASSERTN, not MPFR_ASSERTD.

2010-09-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mulders.c] modified mpfr_sqrhigh_n threshold so that it is > n/2

2010-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Added a FIXME concerning autoconf 2.68.

2010-09-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mulders.c] use mpn_lshift instead of mpn_add_n, and improved the default
		    Mulders cutoff k beyond 1024 limbs (extrapolated from the cutoff
		    k for n=1023 on Core 2, and checked experimentally it is faster)

2010-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tuneup.c] changed lower bound for exp_2 threshold from MPFR_PREC_MIN (2) to
		   GMP_NUMB_BITS. Seems to be better (since for p=2 the 2nd routine
		   was sometimes already faster).

	[mul.c] another changes for Mulders' algorithm in case of a square

2010-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mul.c] Change in r7166 was incomplete. Fixed suspicious code.

2010-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mparam_h.in] updated for 64-bit Core2

	now use Mulders' algorithm also for mpfr_sqr, provides nice speed improvement
	in all functions that perform squarings

2010-09-21  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/mpfr.texi] API compatibility section: noted that mpfr_urandom
	and mpfr_urandomb changed for MPFR 3.1.

2010-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] update about "make tune"

2010-09-21  Vincent Lefèvre  <vincent@vinc17.net>

	[doc] Updated FAQ.html with update-faq.

2010-09-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Indicated the location of README.dev.

2010-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Minor update.

2010-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] inform the users that mpfr_add_one_ulp and mpfr_sub_one_ulp will be
	       removed

2010-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added efficiency item

2010-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced calls to mpfr_printf by calls to mpfr_dump
	(mpfr_printf might not be defined)

	[NEWS,doc/mpfr.texi] updated: the GMP random functions do not depend on the
			     computer word size

2010-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	[tools/mpfrlint] Check for mpfr_printf-like functions in the tests.

	[doc/mpfr.texi] Updated the month.

2010-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[doc/mpfr.texi] added notes for mpfr_urandom and mpfr_urandomb

	[Makefile.am] updated LOADLIBES with reorganization of the sources

	[algorithms.tex] added sections for pow_ui and root

	[src/urandom.c] now mpfr_urandom also returns identical values on 32-bit and
			64-bit machines
	[tests/turandom.c] modified corresponding test

	replaced mpfr_printf in tests by calls to mpfr_out_str

2010-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	[doc/README.dev] Updated the paragraph added in r7137.

	[doc/README.dev] Added a paragraph about the use of system-dependent
	functions in the test suite.

	Some minor corrections in comments.

	[src/printf.c] Typo in a comment.

	[src/printf.c] Slight modification of a comment.

2010-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[urandomb.c] modified to leave the GMP random generator in the same state,
		     independent of GMP_NUMB_BITS
	[trandom.c] test of the above
	[urandom.c] added FIXME's
	[turandom.c] check we leave the GMP random generator in the same state,
		     independent of GMP_NUMB_BITS. Currently this fails on 64-bit
		     computers.

	[urandomb.c] added comment + slight change

2010-09-01  Vincent Lefèvre  <vincent@vinc17.net>

	[src/mpfr.h] Added casts to improve robustness in case of undefined
	behavior and compiler extensions based on UB (in particular -fwrapv).
	MPFR doesn't use such extensions, but these macros will be used by
	3rd-party code, where such extensions may be required.

	[src/mpfr.h] Updated a comment concerning -Wconversion.

	[src/mpfr.h] Added casts to unsigned long in mpfr_cmp_si and mpfr_set_si
	macros for GCC, in order to avoid warnings in programs that use MPFR and
	are compiled with -Wconversion (suggestion by Andreas Enge); such casts
	are OK since if X is a constant expression, then (unsigned long) X is
	also a constant expression, so that the optimizations still work.
	Reformatted these macros.

	[src/mpfr.h] Fixed bug in the mpfr_cmp_ui macro for GCC (also used
	by mpfr_cmp_si), when the evaluation of the first argument yields
	side effects and the second argument is a constant expression with
	the value 0.

	[tests/tcmp_ui.c] Added side-effect tests similar to those in tset_si.c,
	showing a bug in the mpfr_cmp_ui and mpfr_cmp_si macros.

	[tests/tcmp_ui.c] Check mpfr_cmp_ui and mpfr_cmp_si macros against
	side effects in the arguments.

	[src/mpfr.h] Added a comment about the macros that use
	__builtin_constant_p.

2010-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tsqrt.c] improved comment, and added test sqrt(+0) == +0

2010-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsqrt.c] Renamed check_nan() to check_singular().

	[tests/tsqrt.c] Check that sqrt(-0) has a negative sign.

2010-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Replaced "patches" by "allpatches".

2010-08-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.ac] fixed typo

2010-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gmp_op.c] Extend the exponent range in mpfr_cmp_q and mpfr_cmp_f.

	[src/gmp_op.c] In mpfr_add_q / mpfr_sub_q, check with MPFR_ASSERTN
	that an internal overflow/underflow doesn't occur. In theory, such
	an exception is possible, but only if q has a huge numerator or
	denominator. This is not supported (note: other problems may occur
	first, such as insufficient memory).

	[tests/tgmpop.c] Added overflow tests for mpfr_add_q / mpfr_sub_q.

	[tests/{mpfr-test.h,tests.c}] Added flags_out function to output flags.

	[src/gmp_op.c] Extend the exponent range in mpfr_add_q / mpfr_sub_q
	               (overflow/underflow exceptions are not supported yet).
	[tests/tgmpop.c] Added corresponding testcases.

2010-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gmp_op.c] Fixed the Inf +/- Inf cases for mpfr_add_q / mpfr_sub_q.
	[tests/tgmpop.c] Added Inf +/- Inf tests.

2010-08-19  Philippe Théveny  <philippe.theveny@laposte.net>

	[tests/tgmpop.c] Fix rounding mode in overflow tests

2010-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	[src/gmp_op.c] The function mpfr_cmp_z could fail in a reduced
	exponent range.
	[tests/tgmpop.c] Added a corresponding testcase.

	[src/gmp_op.c] The functions mpfr_mul_z, mpfr_div_z, mpfr_add_z and
	mpfr_sub_z could fail in a reduced exponent range. Fixed.
	[tests/tgmpop.c] Added corresponding testcase.

2010-08-18  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tgmpop.c] Disabled buggy tests.

	[src/gmp_op.c] Fixed the intermediate overflow case in mpfr_muldiv_z
	(for mpfr_mul_q and mpfr_div_q).

	[src/gmp_op.c] Added function mpfr_muldiv_z (currently static -- should
	it be in the API?) that computes y = RND(x*n/d), where n and d are mpz
	integers. Changed mpfr_mul_q and mpfr_div_q to use this function.
	Note: the code of the general case is currently the same as the old
	mpfr_mul_q/mpfr_div_q code, thus needs to be fixed.

	[tests/tgmpop.c] Replaced GMP_RNDN by MPFR_RNDN.

	[tests/tgmpop.c] Added testcase for mpfr_mul_q/mpfr_div_q bug noted
	in src/gmp_op.c (due to intermediate overflow).

2010-08-17  Vincent Lefèvre  <vincent@vinc17.net>

	[src/logging.c] Added a comment about register_printf_function.

	Added tools/ck-version-info Perl script with the same license as
	Makefile.am, to check consistency concerning -version-info and
	that the -version-info value is up-to-date.
	Updated Makefile.am:
	  * In dist-hook, replaced complex sh code by a call to ck-version-info.
	  * Distribute ck-version-info (EXTRA_DIST).

	Updated svn:ignore properties.

	[Makefile.am] Put tools/get_patches.sh back to EXTRA_DIST.

	[src/Makefile.am] Fixed -version-info (I forgot to increment CURRENT).

2010-08-17  Vincent Lefèvre  <vincent@vinc17.net>

	Source reorganization. In short:
	  * Added directories and moved related files into them:
	      - src for the MPFR source files (to build the library).
	      - doc for documentation files (except INSTALL, README...).
	      - tools for various tools (scripts) and mbench.
	      - tune for tuneup-related source files.
	      - other for other source files (not distributed in tarballs).
	    Existing directories:
	      - tests for the source files of the test suite (make check).
	      - examples for examples.
	      - m4 for m4 files.
	  * Renamed configure.in to configure.ac.
	  * Added/updated Makefile.am files where needed.
	  * Updated acinclude.m4 and configure.ac (AC_CONFIG_FILES line).
	  * Updated the documentation (INSTALL, README, doc/README.dev and
	    doc/mpfr.texi).
	  * Updated NEWS and TODO.
	  * Updated the scripts now in tools.

	The following script was used:

	#!/usr/bin/env zsh
	svn mkdir doc other src tools tune
	svn mv ${${(M)$(sed -n '/libmpfr_la_SOURCES/,/[^\]$/p' \
	         Makefile.am):#*.[ch]}:#get_patches.c} mparam_h.in \
	       round_raw_generic.c jyn_asympt.c src
	svn mv mbench check_inits_clears coverage get_patches.sh mpfrlint \
	  nightly-test update-patchv update-version tools
	svn mv bidimensional_sample.c speed.c tuneup.c tune
	svn mv *.{c,h} other
	svn mv FAQ.html README.dev algorithm* faq.xsl fdl.texi mpfr.texi \
	  update-faq doc
	svn mv configure.in configure.ac
	svn cp Makefile.am src/Makefile.am
	svn rm replace_all
	[Modifying some files, see above]
	svn add doc/Makefile.am
	svn add tune/Makefile.am

2010-08-16  Vincent Lefèvre  <vincent@vinc17.net>

	[Makefile.am] Updated -version-info (the interface hasn't really been
	changed yet -- though the future bug fix / rewrite of mpfr_mul_q and
	mpfr_div_q could be seen as an addition -- but this eases maintenance
	and avoids -version-info conflict with the 3.0 branch).

	[bidimensional_sample.c] Added copyright notice.

	[ai.c] Prototype clean-up.

2010-08-16  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid a compilation failure on OSF/1 (Tru64) 5.1 due to non-C99
	conformance though <inttypes.h> is available. In various source
	files and m4 files, use the following form only:

	#if HAVE_INTTYPES_H
	# include <inttypes.h>
	#endif
	#if HAVE_STDINT_H
	# include <stdint.h>
	#endif

	Updated README.dev to mention this form.

2010-08-13  Vincent Lefèvre  <vincent@vinc17.net>

	[tests] Avoid warning due to -Wunused-but-set-variable (from future
	GCC 4.6). Only let the one from tsubnormal.c because it's a TODO.
	  * mpf_compat.h: use the variables, that are there for prototype
	    checking.
	  * tpow.c, tpow_z.c: test the ternary value.
	  * tremquo.c: removed inex variables (the bug due to the MPFR value).
	  * tset.c: test the ternary value.
	  * tset_ld.c: removed the long double variable (it cannot be tested
	    in a portable way and the bug was an assertion failure).
	  * tzeta_ui.c: removed the inexact variable (not really useful here).

	[get_f.c] Avoid warning due to -Wunused-but-set-variable (from
	future GCC 4.6).

	[gamma.c] Avoid warning due to -Wunused-but-set-variable (from
	future GCC 4.6).

	[gmp_op.c] Avoid warning due to -Wunused-but-set-variable (from
	future GCC 4.6).

	[exp_2.c] No longer define qn and sizer, which are no longer used since
	r6919. This was detected by gcc-snapshot (4.6.0 prerelease) under Debian
	(-Wunused-but-set-variable).

	[NEWS] Update.

	[ieee_floats.h] Avoid breaking aliasing-rules when _GMP_IEEE_FLOATS is
	defined (e.g. with --with-gmp-build), by replacing a struct by a union
	like in r6381 for long double.

	[configure.in] Removed useless slash.

2010-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Prepare for new version 3.1.0.

	[README.dev] Removed obsolete paragraph about the old prepare script.

	[update-version] Detect errors.

	Updated FAQ.html with update-faq.

	[faq.xsl] Do not copy XML comments.

	Updated FAQ.html with update-faq.

	[README.dev] INRIAGforge -> INRIAGForge.

	[README] Update:
	  * InriaGforge -> INRIAGForge (official typography).
	  * Updated URL of the Subversion FAQ (now on apache.org).
	  * README.dev provided via SVN only.
	  * Removed the old note about the old CVS repository.

2010-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	[gmp_op.c] mpfr_mul_q and mpfr_div_q are still buggy; added comment.

	[tests/tgmpop.c] Added missing "static".

2010-08-11  Philippe Théveny  <philippe.theveny@laposte.net>

	gmp_op.c: Fix ternary value returned by mpfr_mul_q and mpfr_div_q in overflow cases.

2010-08-04  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated "To make a release" (test of FP division by 0).

	Support implementations where the floating-point division by 0 fails.
	  * acinclude.m4: added a test to check whether the FP division by 0
	    fails, and define MPFR_ERRDIVZERO in such a case.
	  * tests/tests.c: if MPFR_TEST_DIVBYZERO is defined, test whether
	    there has been a floating-point division by 0 (FE_DIVBYZERO or
	    FE_INVALID exception).
	  * tests/tgeneric.c: if MPFR_ERRDIVZERO is defined, disable the
	    huge and tiny cases.
	  * tests/t*_{flt,d,ld}.c: if MPFR_ERRDIVZERO is defined, disable
	    tests involving NaN and infinities.

	[README.dev] Update about the compilers.

	[README.dev] Mention clang.

	[get_sj.c] Fixed bug found by John Regehr:
	https://gforge.inria.fr/tracker/index.php?func=detail&aid=10839&group_id=136&atid=619
	Note: the problem was an undefined behavior that could occur when
	sizeof(mp_limb_t) < sizeof(intmax_t) and |x| was small enough,
	because a right shift was >= the type width. However as the shifted
	value was 0, most platforms should not be affected by this bug. This
	problem was detected with clang -fcatch-undefined-ansic-behavior.

	[tests/tget_sj.c] Added tests of 1 and -1.

	[get_sj.c] Added assertions concerning
	https://gforge.inria.fr/tracker/?func=detail&atid=619&aid=10839&group_id=136

	[configure.in] When logging is enabled, remove the possible -pedantic
	from GMP's CFLAGS to avoid warnings about C conformance.

	[mpfr-impl.h] Reverse-merged changeset r7042. The code was not
	incorrect: the warning is due to the -pedantic from GMP's CFLAGS.

	[mpfr-impl.h] Correction to avoid GCC warnings
	  warning: invalid storage class for function 'x_f'
	  warning: invalid storage class for function '__mpfr_log_cleanup'
	when building MPFR with logging support.

2010-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfrlint] Correction for the future MPFR source structure.

	[mpfrlint] Execute check_inits_clears.

	[check_inits_clears] Correction.

2010-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	[Makefile.am] Moved ieee_floats.h from EXTRA_DIST to libmpfr_la_SOURCES.

	[Makefile.am] Clean-up: removed gen_inverse.h from EXTRA_DIST because
	it is already in libmpfr_la_SOURCES.

2010-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	[mparam_h.in] Removed the comment about the dependency bug.
	(svn merge -r7032:7031 mparam_h.in)

	[Makefile.am] Added "BUILT_SOURCES = mparam.h", fixing bug
	https://gforge.inria.fr/tracker/index.php?func=detail&aid=10810&group_id=136&atid=619

	[mparam_h.in] Added a comment concerning the bug in the mparam.h dependency rule:
	https://gforge.inria.fr/tracker/index.php?func=detail&aid=10810&group_id=136&atid=619

	[mparam_h.in] Enable C mode for Emacs.

	[mparam_h.in] Deleted trailing whitespace.

	[mparam_h.in] Bug fix: added a newline at the end of the file.

2010-07-30  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced
	  Contributed by the Arenaire and Cacao projects
	by
	  Contributed by the Arenaire and Caramel projects

	[AUTHORS] Updated a sentence.

	Added configure.lineno (generated by configure) to svn:ignore property.

2010-07-29  Vincent Lefèvre  <vincent@vinc17.net>

	[README.dev] For announces, changed mpfr into mpfr-announce.

2010-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	[ai.c] Replaced mp_exp_t by mpfr_exp_t.

2010-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	[ai.c] Fixed several bugs in mpfr_ai.

2010-07-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Updated bidimensional_sample to take into account the fact the mpfr_ai1 and mpfr_ai2 are now statically defined.

	mpfr_ai1 and mpfr_ai2 are now declared static. Only mpfr_ai is global.

	Forgot a declaration in the previous commit.

2010-07-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Added automatic tuning of mpfr_ai.

	More precisely:
	* removed ai2.c: both implementations are now in the same file ai.c
	* added thresholds and automatic choice of the method to use in function of the thresholds.
	* added procedures for tuning functions like ai into tuneup.c
	* added a tuning procedure into tuneup.c

2010-07-19  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tget_flt.c] Fixed printf strings (missing backslash).

2010-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_flt.c] completed previous commit

	[tget_flt.c] print more information in case a test fails

2010-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	[gamma.c] Added an assert concerning the mpfr_exp_t size.

	[tests/tgamma.c] Use mpfr_set_str instead of mpfr_set_d.

	[exp_2.c] Untabified.

2010-07-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[gamma.c] fixed bug reported on MPFR list:
		  https://sympa.inria.fr/sympa/arc/mpfr/2010-07/msg00001.html
		  In the underflow detection:
		  * we took log instead of log2
		  * at the end, we added the wrong terms

2010-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr-impl.h] Added a comment concerning the 'noreturn' property.

2010-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] added 3 more bits to initial working precision. On a sample of 20247
		  tests by Sylvain Chevillard with precisions in [50, 100], the number
		  of Ziv's failures decreased from 1184 to 144, which is less than 1%
		  (to reduce to zero, we would have to increase the number of extra
		  bits from 8 to 17).

2010-06-28  Vincent Lefèvre  <vincent@vinc17.net>

	[round_prec.c] Applied a patch from Patrick Pélissier (with
	slightly modified comments) to make mpfr_prec_round compatible
	with non-mpfr_init allocation methods when no realloc is needed.

2010-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Use AC_FUNC_ALLOCA to have HAVE_ALLOCA_H defined
	when available. This problem was introduced when AC_FUNC_ALLOCA
	was removed from configure.in in r6765. Note: building MPFR with
	--with-gmp-build is not affected as GMP's config.h is used.

	[mpfr-gmp.h] Reverted incorrect changeset r6987 (see code about alloca).

2010-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-gmp.h] include alloca.h

	[mpfr.texi] added comment about config.log

2010-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] fixed problem reported by Sylvain Chevillard for large x, where the
		  cancelled bits were counted twice

2010-06-24  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tfprintf.c] Cosmetic improvement suggested by Denis Excoffier.

2010-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	[README.dev] Minor change to match a filename on the website.

	[tests/tout_str.c] Fixed bug introduced in r6976: changed size_t into
	unsigned int for printf (the size of unsigned int is sufficient here).

2010-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	[out_str.c] Handle the output errors.

	[out_str.c] Handle output error in the special cases of mpfr_out_str
	(and use MPFR_IS_SINGULAR like in the other functions).

2010-06-22  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix wrong return value of mpfr_out_str on special values.

2010-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 3.1.0-dev.

	[README.dev] Added a paragraph about the precision, rounding mode and
	exponent types.

	In mpfrlint, detect the use of mp_exp_t and mp_prec_t.
	Fixed the files that were generating warnings.

2010-06-22  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	I forgot to replace one occurrence of isqrt.

	Use of __gmpfr_isqrt instead of my own isqrt wrapper.

	Added a tool for nicely displaying which method is the best in function of x
	and prec when several method can be used for evaluating a given function f in x
	at precision prec.

2010-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	[Makefile.am] Fixed dist-hook for -dev versions (I assumed that ||
	and && were right associative, while they are left associative).
	Thanks to Laurent Rineau for noticing this problem.

2010-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] fixed inefficiency for large x: the initial precision was too small,
		  which had the effect that the first Ziv iteration did fail with
		  non-negligible probability (problem reported by Sylvain Chevillard).
		  Also in case of 2 iterations or more the K variable was corrupted.
	Note (2012-03-03): huge inefficiency has been noticed when evaluating
	mpfr_exp on an argument close to log(2^n) in RNDU:
	  https://sympa.inria.fr/sympa/arc/mpfr/2012-03/msg00000.html
	One has an obvious hard-to-round case, meaning that several iterations
	are needed and that K is corrupted. This changeset fixes this bug.

2010-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added note about problem with MSVC runtime (seems to be fixed)

	[Makefile] alternate patch to r6959 from Patrick Pelissier

	[INSTALL] comments from Vincent Lefevre

	[mbench] fixes to make mbench work again (tested with GCC 4.4.3)

	[INSTALL] updated notes on Windows (contributed by Brian Gladman)

2010-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/Makefile.am] Reordered check_PROGRAMS.

	[README.dev] Untabified.

	[BUGS] Update.

2010-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Added a note on Mac OS X; thanks to FX Coudert and Fumihiro
	Chiba: https://sympa.inria.fr/sympa/arc/mpfr/2010-06/msg00011.html

2010-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Update concerning CC/CFLAGS and the --with-gmp-build option.

2010-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Added an item about the --with-gmp-build configure option and
	the use of GMP's internal header files.

2010-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	[exp_2.c] Reverted incorrect optimization patch r6922 (added a comment).
	There were failures on 32-bit machines.

	[mpfr-impl.h] Added log messages for the MPFR_GROUP_* macros.

	[mpfrlint] Detect incorrect use of MPFR_LOG_MSG.

	[ai2.c] Fixed build failure with --enable-logging, due to incorrect
	MPFR_LOG_MSG usage (see README.dev).

	README.dev: updated "To make a release".

	[ai.c] Fixed build failure with --enable-logging, due to incorrect
	MPFR_LOG_MSG usage (see README.dev).

2010-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] speed improvement using MPFR_GROUP_* (from Patrick Pelissier):
	Pass 69
	 mpfr_add:          63 /   102.97 /   126
	 mpfr_exp:         430 / 11861.26 / 46588
	Was before we removed MY_MPZ_INIT:
	Pass 50
	 mpfr_add:          63 /   103.09 /   126
	 mpfr_exp:         430 / 10911.86 / 44215

2010-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	[exp_2.c] Removed useless and possibly incorrect cast
	(in case -q doesn't necessarily fit in an int).

2010-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] got rid of MY_INIT_MPZ, small slowdown, but code should be more
		  robust. Below are timings from Patrick Pelissier with mbench:
	mpz_init:
	Pass 78
	 mpfr_add:          63 /   102.86 /   126
	 mpfr_exp:         441 / 12067.81 / 47355

	MY_MPZ_INIT
	Pass 50
	 mpfr_add:          63 /   103.09 /   126
	 mpfr_exp:         430 / 10911.86 / 44215

	Prec=53 bits (core 2 duo 64 bits)

2010-06-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] fixed problem reported by Sylvain Chevillard with following code
		  and MPFR_EXP_2_THRESHOLD=36 (valgrind complains).
		  It was due to the fact that GMP might allocate extra limbs,
		  see https://gmplib.org/list-archives/gmp-devel/2010-June/001577.html.
		  The fix is not optimal in the sense that GMP does not give a bound
		  on the allocated memory, thus we can only guess.

	#include "mpfr.h"
	int main(void) {
	  mpfr_t x,w;

	  mpfr_init2(x, 37);
	  mpfr_init2(w, 37);
	  mpfr_set_str(x, "-1.000001100100100001111110110101010001p+20", 2, MPFR_RNDN);
	  mpfr_exp (w, x, MPFR_RNDN);

	  mpfr_clear (w);
	  mpfr_clear (x);

	  return 0;
	}

2010-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Math library check: removed rule specific to HP-UX
	(only -lM was tested while this library may not be available; so,
	let's use the default rule as -lm works).

	[mpfr.texi] Arenaire -> Arénaire.

2010-06-02  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] 3.0 -> 3.0.0.

	[NEWS] Added test coverage for MPFR 3.0.0.

2010-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	[INSTALL] Added missing blank lines (consistency).

	[tests/tset_z_exp.c] Fixed type in a printf.

2010-05-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added instructions for "make tune"

	[README.dev] completed missing instructions for "make tune"

	[tset_z_exp.c] fixed two FIXME

2010-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tset_z_exp.c] Added 2 FIXME in the test.

	[tests/tset_z_exp.c] Removed testcase bug20100531 (this was a bug in
	the test, which didn't detect overflow cases due to too large random
	exponent).

	[tests/tset_z_exp.c] Added testcase bug20100531.

	[mpfr.texi, NEWS] Update related to r6879: "Made defined the previously
	undefined cases of mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj,
	mpfr_get_z and mpfr_get_z_2exp. In such cases, the erange flag is set.".

	[mpfr.texi] Corrected mpfr_atan2 range (added in r6831).

2010-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Made an example fit on 80 columns for the info manual.

	[mpfr.texi] Changed some @math into @var in the mpfr_fmod description
	(for consistency).

	[mpfr.texi] Corrected a paragraph.

	[mpfr.texi] Added an example to get the MPFR version (and at the same
	time, check whether MPFR is already installed).

	Added examples/version.c (and updated Makefile.am).

	[mpfr.texi] Correction (English usage).

	[Makefile.am] Improved dist-hook rule.

2010-05-27  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix typo.

2010-05-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed one item, added one

	[mpfr.texi] removed FIXME (resolved: Philippe confirmed that gmp_printf does
		    not work with mpf2mpfr.h)

2010-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	Made defined the previously undefined cases of mpfr_get_si, mpfr_get_ui,
	mpfr_get_sj, mpfr_get_uj, mpfr_get_z and mpfr_get_z_2exp. In such cases,
	the erange flag is set.

2010-05-25  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* 80 columns.

	do ... while(0) style for macros.

2010-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Correction.

	[mpfr.texi] Minor changes.

	[INSTALL] Reverted incorrect changeset r6870.

	[mpfr.texi] Added a comment about non-ASCII characters.

2010-05-25  Philippe Théveny  <philippe.theveny@laposte.net>

	More explicit documentation on the use of specifiers in printf function.

2010-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Encoding correction for ±.

	[NEWS, mpfr.texi] mpfr_custom_get_mantissa was renamed to
	mpfr_custom_get_significand.

	[tests/tstckintc.c] Changed mpfr_custom_get_mantissa into
	mpfr_custom_get_significand (but mpfr_custom_get_mantissa
	was still working thanks to the #define).

	[mpfr.h, stack_interface.c] Changed mpfr_custom_get_mantissa into
	mpfr_custom_get_significand (r6862 was incomplete).

	[mpfr.h] <stdint.h> support: also test _STDINT (for MS Visual Studio).
	Thanks to Brian Gladman for the information.

	[buildopt.c] Missing #include "mpfr-impl.h" for cygwin builds.
	[mpfrlint] Detect such errors (mpfr-impl.h may be needed because it
	  includes config.h when there is one).

2010-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] more changes after answers by Vincent to my questions

2010-05-24  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Reformat / fixed typography.

	[sub1sp.c] Fixed a problem that appeared after mpfr_prec_t has been
	made signed. It was visible on PowerPC (tested on Linux 32 bits and
	on Mac OS X 32 & 64 bits), but could potentially affect any platform
	as a negative shift count was generated. As the faulty expressions
	were in a MPFR_ASSERTD, the failure could occur only when assertion
	checking had been enabled.

2010-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	[README.dev] Removed trailing spaces.

	[README.dev] Added information about intmax_t and corresponding macros.

	Detect when the intmax_t type is available but INTMAX_MAX doesn't work
	(e.g. with gcc -ansi -pedantic-errors in 32-bit mode under GNU/Linux).
	New macros MPFR_UINTMAX_MAX, MPFR_INTMAX_MAX and MPFR_INTMAX_MIN are
	defined and used internally instead of UINTMAX_MAX, INTMAX_MAX and
	INTMAX_MIN. If these C99 macros work, then the MPFR_* macros use them,
	otherwise MPFR uses its own definitions.

	mpfr_div_ui8 and mpfr_mul_ui5 didn't have to be exported.

	[ai2.c] GNU style.

	[ai2.c] Style correction (necessary for ansi2knr, if still useful).

	[ai.c, ai2.c] Untabified / removed trailing spaces.

	[ai.c] GNU style.

	[mpfr.texi] Corrected the paragraph about whether MPFR is installed.

	[mpfr.texi] Corrections and answers to PZ comments from r6831.
	The document encoding is now UTF-8.

2010-05-21  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] n-char-sequence was changed into n-char-sequence-opt
	in r6132, but I forgot to update all the occurrences.

2010-05-21  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Removed double precision numbers.
	* Handle +0 and -0 the same way.
	* Use MPFR_GET_EXP in ai2.c

2010-05-20  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Corrected a bug when x=0 (MPFR_GET_EXP requires to assert that x!=0).

	Corrected some warnings.

	Corrected an error that prevented the doc from compiling.

2010-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: corrections.

2010-05-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] explain why mpfr_sum uses an array of pointers to mpfr_t

	[mpfr.texi] changes after a complete reading of the documentation.
		    There are some issues left that I don't know how to solve,
		    they are marked with @c PZ in mpfr.texi.

2010-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi, NEWS] Noted that the mpfr_ai implementation is incomplete
	and experimental.

	[ai.c] Use MPFR_IS_SINGULAR. Added a FIXME comment for Ai(0).

	Type corrections for C++ compilers (in particular, mpfr_rnd_t vs int).

	[ai.c] Fixed possible problem in reduced exponent range.

	Removed trailing spaces.

2010-05-19  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Removed some warnings.
	* More conform to GNU coding standards.

2010-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	Removed obsolete patch-aclocal-icc and updated README.dev (about
	"To make a release").

	[Makefile.am] Added a comment concerning -version-info and MPFR 3.0.x.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	[mpfr.texi] Preliminary interfaces are no longer preliminary.

	[mpfr.texi] API Compatibility: mention the detection of the availability
	of intmax_t with C++ compilers.

	[mpfr.texi] signness -> signedness (thanks to Philippe).

	[mpfr.texi] Missing @code.

	[mpfr.texi] Corrected C terminology (table -> array).

2010-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi, NEWS] Mention that mpfr_ai is a new function in MPFR 3.0.

	Removed obsolete prepare script (autoreconf does the same thing).

2010-05-18  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* I added a new implementation of Airy Ai. This implementation uses Smith's
	algorithm.
	Currently, it is provided as a separate implementation mpfr_ai2.

	* Please note that both mpfr_ai and mpfr_ai2 need to efficiently evaluate
	Gamma(1/3) and Gamma(2/3). This is provided by functions in the file
	gammaonethird.c

	* There is no test file for mpfr_ai2 since it should quickly disappear behind
	a single implementation using the best of mpfr_ai and mpfr_ai2.
	However, if necessary, a test file can be obtained by copying tai.c and
	replacing mpfr_ai by mpfr_ai2 everywhere.

	* I do not know if gammaonethird.c will remain like that in the future. Should
	we make this implementation available as a public MPFR function? In this case,
	I have to write a wrapper for providing a correctly rounded implementation.
	Moreover, it contains functions that could be interesting for the
	implementation of other functions (the functions mpfr_div_ui*). Maybe, it
	could be worth providing a file specially for this purpose.

2010-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] Added release name.

	[NEWS] Updated "Changes from versions 2.3.* to version 2.4.0"
	from MPFR 2.4.2.

	[mpfr.texi] Completed Section 6.1 "Type and Macro Changes".

	[mpfr.texi] Updated Section 6.1 "Type and Macro Changes".

	[mpfr.texi] Missing space.

	[mpfr.texi] Updated Section 6.1 "Type and Macro Changes".

	[NEWS] A bit less ambiguous...

	[NEWS] More details for mp_rnd_t/mpfr_rnd_t, like mp_prec_t/mpfr_prec_t.

2010-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	Added "API Compatibility" section to the MPFR manual.
	TODO: Section 6.1 "Type and Macro Changes".

	[NEWS] mpfr_strtofr now accepts bases from 37 to 62 (r5965).

2010-05-10  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: updated section about MS Windows.

	INSTALL: updated section about MS Windows.

2010-05-08  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tests.c] Fixed code when _MPFR_PREC_FORMAT != 3.

2010-05-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tests.c] fixed compiler warning (found by nightly tests)

2010-05-07  Vincent Lefèvre  <vincent@vinc17.net>

	New exponent type mpfr_exp_t for MPFR (replacing GMP's mp_exp_t).

	[README.dev] Updated a paragraph concerning signed and unsigned types.

	Changed the precision type mpfr_prec_t from an unsigned integer type
	into the corresponding signed integer type, in order to avoid problems
	due to the usual arithmetic conversions when mixing mpfr_prec_t and
	mp_exp_t in an expression.
	* NEWS: mentioned this change.
	* mpfr-impl.h: removed MPFR_INTPREC_MAX (which wasn't used) and updated
	  the MPFR_UNSIGNED_MINUS_MODULO(S,A) macro, which assumed that A was
	  unsigned; this macro now works even when A is signed.
	* mpfr.h: added mpfr_uprec_t; updated mpfr_prec_t and MPFR_PREC_MAX.
	* tests/tcheck.c: disabled a test on MPFR_PREC_MAX+1 with MPFR >= 3
	  (this test doesn't work with a signed mpfr_prec_t and isn't needed).
	Note: all tests pass under GNU Linux x86 and x86_64.

	[tests/tcheck.c] Forgot to remove a printf (added during testing).

	[tests/tcheck.c] Support signed mpfr_prec_t (avoid integer overflow).

	[tests/mpf_compat.h] Fixed prototype of function main.

	[mpfr.h] Added a comment concerning the definition of MPFR_PREC_MAX.

2010-05-06  Vincent Lefèvre  <vincent@vinc17.net>

	print_rnd_mode.c: added an assertion so that we do not forget to update
	this file after a new rounding mode is added.

2010-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Added a paragraph about multiple inclusions of mpfr.h and/or
	gmp.h header files.

2010-05-03  Philippe Théveny  <philippe.theveny@laposte.net>

	Update documentation for mpfr_print_rnd_mode.

2010-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	To avoid breaking the ABI when faithful rounding gets implemented, added
	MPFR_RNDF to the mpfr_rnd_t enum type now, and removed MPFR_RND_MAX from
	the enumeration (it is now defined as a macro in mpfr-impl.h).

	fits_* (signed version): corrections and optimizations.

	[fits_uintmax.c, fits_u.h] Some casts could be incorrect in the case
	mp_exp_t > mpfr_prec_t. Set prec to the int type since in practice,
	prec will be small enough to fit in an int. The fact that prec is now
	signed allows us to remove a useless test (also note that prec should
	be computed at compile time, so that this should be at least as fast).

	[fits_uintmax.c, fits_u.h] Comments: doesn't -> don't

	mpfr.texi: updated the month.

2010-05-03  Philippe Théveny  <philippe.theveny@laposte.net>

	Add specifier 'Y' for the rounding away from zero mode in printf-like functions.

2010-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] removed obsolete mpfr_round_prec

2010-04-30  Vincent Lefèvre  <vincent@vinc17.net>

	[fits_intmax.c,fits_s.h] Added FIXME comments.

	Optimized fits_u.h and made fits_uintmax.c like fits_u.h for the
	special numbers.

	Optimized mpfr_fits_uintmax_p.

	Changed mp_prec_t into mpfr_prec_t.

2010-04-19  Vincent Lefèvre  <vincent@vinc17.net>

	[configure.in] r6765 introduced non-POSIX syntax. Fixed.

2010-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.in] check for GMP internal files only with --with-gmp-build

2010-04-12  Vincent Lefèvre  <vincent@vinc17.net>

	[NEWS] New function mpfr_regular_p (was added in r6417, 2009-09-14).

2010-04-07  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr-gmp.h] Fixed alloca prototype (bug detected by tcc 0.9.25
	under Linux/x86_64).

2010-03-24  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Improved/corrected the documentation of functions
	mpfr_lgamma, mpfr_digamma, mpfr_j0/j1/jn, mpfr_y0/y1/yn, mpfr_agm,
	mpfr_hypot and mpfr_min_prec.

	[mpfr.texi] Removed a "currently" that is no longer needed.

	[mpfr.texi] Updated description of mpfr_atan2, now that IEEE 754-2008
	has been published and follows the same conventions as C99 for atan2.

	[mpfr.texi] Updated description of mpfr_pow, now that IEEE 754-2008
	has been published and follows the same conventions as C99 for pow.
	(IEEE 754-2008 doesn't currently specify pow(±inf,non-zero), but
	I've suggested a correction for the errata page.)

2010-03-23  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Improved documentation of mpfr_print_rnd_mode (from a
	suggestion by Chris Saunders).

2010-03-22  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Various corrections and other improvements.

	[mpfr.texi] Improved the documentation of mpfr_dim too.

2010-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] improved the documentation of mpfr_rec_sqrt and mpfr_cbrt
		    (thanks Vincent)

	[mpfr.texi] improved documentation of mpfr_sqrt and mpfr_sqrt_ui

2010-03-21  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.h] Added a comment about integer overflows in macros.

2010-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tai.c] enable first test of check_large, and reduced total time

2010-03-19  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	Added a mention about the current limitation of mpfr_ai in mpfr.texi.

	Removed check of ai.c for large arguments. I added in algorithms.tex a
	mention about the fact that mpfr_ai is currently not made for large
	arguments.

	* Corrected problems regarding the GNU recommendations for formatting source code.

2010-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests: added tai to the svn:ignore property.

2010-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tai.c] reduce the maximal exponents in test_generic()
		also reduce the number of random tests to decrease the test time

2010-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: in the tests, use mpfr_equal_p rather than mpfr_cmp.

2010-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tai.c] replace mpfr_cmp by mpfr_equal_p

2010-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tset_z_exp.c untabified.

	mpfr.texi: removed trailing whitespace.

	mpfr.texi: updated the month.

	Untabified AUTHORS (consistency).

2010-03-18  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Corrected problems regarding the GNU recommendations for formatting source code.
	* Corrected the date of the copyright.

2010-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tai.c] added test for large inputs

	[AUTHORS] added Sylvain Chevillard

2010-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added Sylvain as contributor

2010-03-17  Sylvain Chevillard  <Sylvain.Chevillard@inria.fr>

	* Added function mpfr_ai. The implementation is the most naive: it evaluates
	  the series step by step until it can stop.
	  A special strategy is used to detect possible problems when Ai(x) is very
	  close to 0.

	* Updated algorithms.tex with the technical description of the implementation
	  of mpfr_ai.

	* Added algorithm2e.sty and algorithm2e-compatibility.sty (necessary to
	  compile algorithms.tex now).

	* Updated mpfr.texi to let it know this new function.

	* Added a basic test file for mpfr_ai. I will add other test cases later.

	* Added a small HOWTO to README.dev about how to add a new test file for new
	  functions.

2010-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	GMP_RNDx -> MPFR_RNDx

2010-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tstrtofr.c] added test for 1.23e, cf
		     https://gmplib.org/list-archives/gmp-bugs/2010-March/001898.html

2010-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsqrt.c] Add the test -1 <= x/sqrt(x^2) <= 1, which corresponds
	to -1 <= x/sqrt(x^2+y^2) <= 1 with y = 0. I don't think the test with
	random y is still necessary, though, since even a bad sqrt accuracy
	would not be detected.

2010-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	[tests/tsqrt.c] Added a comment about the x/sqrt(x^2+y^2) test.

2010-03-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tsqrt.c] fixed bug reported by Sam Rawlins
	          (https://sympa.inria.fr/sympa/arc/mpfr/2010-03/msg00007.html)
	Note: this "bug" had no noticeable consequences; this can just be seen
	as an incomplete test.

2010-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] added item

2010-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] now also recognize "IEEE double, little endian" long-double
		       format (not tested, should happen on ARM)

	[acinclude.m4] added recognition of "IEEE double big endian" long double format
		       (tested on gcc40.fsffrance.org and gcc53, both PowerPC's)

2010-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	[acinclude.m4] Added test for long double = double-double (GCC/PowerPC).
	This test cannot currently be reliable, so we just output a warning.

2010-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] minor grammar fix

	[NEWS] be more precise about API compatibility

	[mpfr.h] added #define mpfr_get_z_exp mpfr_get_z_2exp for compatibility

2010-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	tests: added tset_z_exp to the svn:ignore property.

2010-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed mpfr_get_z_exp -> mpfr_get_z_2exp (old function)
	        mpfr_set_z_exp -> mpfr_set_z_2exp (new function)

	added new function mpfr_set_z_exp (companion to mpfr_get_z_exp)

2010-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	* Added tests/tstdint.c to test the double inclusion of mpfr.h when only
	  the second occurrence needs <stdint.h> (this can happen when one uses
	  several libraries that use MPFR under different conditions).
	* Added tstdint to the svn:ignore property of "tests".
	* TODO: mentions that tstdint should be added to check_PROGRAMS in
	  the tests/Makefile.am file once this is fixed.

	mpfr.texi: updated Section "Internals".

2010-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated the month.

	mpfr.h: disable the INTMAX_C / UINTMAX_C test with C++ compilers as it
	doesn't work well in this case (e.g. possible failure with Boost); see
	  https://sympa.inria.fr/sympa/arc/mpfr/2010-02/msg00025.html
	and the whole discussion.
	mpfr.texi: update.

2010-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.in] removed check for C++ and Fortran compiler (comment said to
		       remove it for libtool >= 2.0)

2010-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] dummy change to check if we still get commit mails

2010-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added note about mpfr_set_str

2010-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	Simplified get_patches.sh; minor consequence: the trailing space in
	the string returned by mpfr_get_patches() when there are patches is
	no longer present (this trailing space wasn't desired anyway).

	configure.in: updated message for different gmp.h and libgmp versions.
	See <https://sympa.inria.fr/sympa/arc/mpfr/2010-01/msg00051.html>.

2010-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ.html, faq.xsl, README, TODO: slightly changed the copyright notice
	to make it consistent with the one of the other files. In short, "and
	the GNU General Public License" has been removed, but it was ambiguous
	(we did not say which version of the GNU GPL) and useless (for GPLv3)
	because the LGPLv3 is compatible with the GPLv3:
	  https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean

	INSTALL:
	  * added copyright notice (at the top, like GMP);
	  * replaced "Installing MPFR" by "Installing GNU MPFR".

	Copyright notice update: added 2010 with
	  perl -pi -e 's/2009 Free Software/2009, 2010 Free Software/' **/*(^/)
	under zsh, reverting the ChangeLog file and the mbench directory.

	tests: added turandom to the svn:ignore property.

	INSTALL: updated paragraphs about the search paths (in particular,
	--with-gmp=/usr/local is no longer chosen as an example as it does
	not work as expected; a note has been added about that).

	INSTALL: rewrote a paragraph about search paths.

2010-01-18  Philippe Théveny  <philippe.theveny@laposte.net>

	[urandom.c] Fix case emin > 0.

2010-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added more details for random distribution functions

	[tprintf.c, tfprintf.c] cleaned up previous commit

2010-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests/turandom.c: updated a test (if emin > 1 and rnd == MPFR_RNDN,
	then the result is necessarily 0).

	tests/turandom.c: more tests in restricted exponent range.

	urandom.c: corrected a comment.

2010-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tprintf.c,tfprintf.c] print obtained chain in test #8
	       (https://sympa.inria.fr/sympa/arc/mpfr/2009-12/msg00035.html)

2010-01-18  Philippe Théveny  <philippe.theveny@laposte.net>

	[urandom.c] Fix bug in setting random exponent.

2010-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	urandom.c: added a FIXME comment.

2010-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	urandom.c: removed unused variable k; updated a comment.

2010-01-15  Philippe Théveny  <philippe.theveny@laposte.net>

	[urandom.c] Improve generation of random exponent.

	[urandom.c] Fix bug introduced in r6667.

2010-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added item

2010-01-15  Philippe Théveny  <philippe.theveny@laposte.net>

	[urandom.c] Fix case nextabove(0) in reduced exponent range.

	[tests/turandom.c] Change accumulation of ternary value in the loop, it was not portable in system with sign and magnitude representation for integers.

	[urandom.c] Move generation of a random rounding bit in a separate function.

	[urandom.c] Remove trailing whitespace.

	[urandom.c] Call mpfr_nextabove in maximum exponent range.

2010-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	urandom.c: added a FIXME so that it is not forgotten.

	mpfr.texi: updated the month.

	mpfrlint: require bash.

2010-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	urandom.c: clean-up (avoid a useless goto).

	README.dev: added a paragraph (use MPFR_ASSERTN, not printf + exit).

2010-01-14  Philippe Théveny  <philippe.theveny@laposte.net>

	[mpfr.texi] Cosmetic change.

	[urandom.c, mpfr.texi] Change the behavior of mpfr_urandom to the usual mpfr function interface (wrt the ternary value and the out-of-range behavior).
	[tests/turandom.c] Check new behavior and add a test for the inclusion in [0, 1].

2010-01-13  Philippe Théveny  <philippe.theveny@laposte.net>

	New function mpfr_urandom.

2010-01-11  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: added a note about patches and the autotools.

2010-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added mpfrlint test for the required autoconf versions (see r6649).

2010-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[README.dev] required version of autoconf did not agree with acinclude.m4

2010-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: replaced BITS_PER_MP_LIMB by GMP_NUMB_BITS (should have
	been done in r6645).

	mpfrlint: check that GMP_LIMB_BITS isn't used.

	Replaced GMP_LIMB_BITS by GMP_NUMB_BITS to use only one of these macros.

2010-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[configure.in] put back test BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT
		       (this is done only with --with-gmp-build, and BYTES_PER_MP_LIMB
		       is defined in this case in gmp-impl.h, at least in GMP 5)

	BITS_PER_MP_LIMB -> GMP_LIMB_BITS
	got rid of BYTES_PER_MP_LIMB in configure.in (no longer defined by GMP)
	Note[VL] (mpfr-impl.h): a mpn_sqr_n() macro is defined to use mpn_mul
	if it is not already defined (in gmp-impl.h from GMP 4.x).

2009-12-23  Vincent Lefèvre  <vincent@vinc17.net>

	[mbench/Makefile] Patch from Patrick Pelissier to solve the -I problem
	with GCC.

2009-12-21  Vincent Lefèvre  <vincent@vinc17.net>

	[mbench/Makefile] Added a comment (warning about the use of -I).

2009-12-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch from Patrick Pelissier

2009-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[scale2.c] added missing include (compilation with --with-gmp-build did fail)
	[exp_2.c] small improvements in Smith method: compute x^{2i} as (x^i)^2 instead
		  of x^{i-1} * x. The error analysis is unchanged.
	[tuneup.c] fix for sin_cos threshold (we had a problem since mpfr_sin_cos
		   was calling mpfr_cos, which was calling mpfr_sincos_fast in some
		   cases
	[mparam_h.in] put new thresholds for Core 2 64-bit

2009-12-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] reversed order for case "quad, mais en little endian" for
		       coherence with other cases

2009-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch to recognize IEEE quad, little endian format for "long double"

	[scale2.c] now mpfr_scale2 is included in mpfr-impl.h, instead of #including
		   "scale2.c" twice (thus it was compiled twice)

2009-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	sin_cos.c: in case of tiny inputs, keep the flags. In practice, this
	fixes the following bug in mpfr_sin_cos (shown by the latest additions
	to tsin_cos.c): if emin is the minimal exponent (MPFR_EMIN_MIN), the
	absolute value of the input is the minimum positive number and the
	rounding mode is toward 0 (or equivalent), then the underflow flag is
	dropped. The other exception cases (e.g., in case of reduced exponent
	range) are handled by mpfr_check_range().

	tests/tsin_cos.c: in consistency(), better error message.

	tests/tsin_cos.c: in consistency(), improved testing on underflow case.

	tests/tsin_cos.c: in consistency(), added testing on underflow case.

	tests/tsin_cos.c: in consistency(), fixed flags testing.

	tests/tsin_cos.c: in consistency(), test also the flags.

	tests/tsin_cos.c: in consistency(), test also the returned value
	(the one that gives inexact-related information).

2009-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tfits.c] converted to GNU coding style

2009-11-30  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated "To make a release".

	uceil_exp2.c: fixed indentation.

2009-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: got rid of broken code when _GMP_IEEE_FLOATS was defined
	(broken aliasing rules, yielding failures with GCC 4.5.0 20091119).

2009-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset_ld.c] now perform tests even if old gcc bug is present

2009-11-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_d.c] removed workaround for old gcc bug. Comment was:
	  /* workaround for gcc bug on m68040-unknown-netbsd1.4.1,
	     where DBL_MIN gives (1-2^(-52))/2^1022 */

	[tadd.c, tmul.c] got rid of workaround for old gcc bug. Comment was:
	/* Parameter "z1" of check() used to be last in the argument list, but that
	   tickled a bug in 32-bit sparc gcc 2.95.2.  A "double" in that position is
	   passed on the stack at an address which is 4mod8, but the generated code
	   didn't take into account that alignment, resulting in bus errors.  The
	   easiest workaround is to move it to the start of the arg list (where it's
	   passed in registers), this macro does that.  FIXME: Change the actual
	   calls to check(), rather than using a macro.  */

	[strtofr.c] removed patch for old FreeBsd/Alpha bug
		    (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=72024)

2009-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	[pow_si.c] Updated comment added in r4355 concerning a bug
	in Sun's compiler for Solaris/x86.

	Updated comments concerning the old FreeBSD bug 72024 on LONG_MIN / 1.

2009-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	[tfprintf.c,tprintf.c] Fixed other types in function with variable
	arguments (even though there were no warnings on the tested machine).

	[tfprintf.c,tprintf.c] Fixed types in function with variable arguments.

2009-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tfprintf.c,tprintf.c] applied patch from Philippe Theveny
	[acinclude.m4] removed check for %zu, no longer needed

	[acinclude.m4] added test for %zu
	[tfprintf.c,tprintf.c] added #ifdef's for NPRINTF_ZU

2009-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: corrected a comment.

	tests/tstckintc.c: fixed types for the printf %p format specifier.

2009-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_flt.c] replaced %a by %.8e

	[tget_d.c,tget_ld_2exp.c] replaced %a and %La by %.16e and %.16Le

	[tget_d.c] removed C99-specific instruction

	[nightly-test] added -ansi -pedantic-errors

2009-11-24  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: completed the GMP CC/CFLAGS detection.

	configure.in: added a test to check for CC and CFLAGS in gmp.h only
	when the user doesn't redefine them and he isn't cross-compiling.

	configure.in: improved the GMP CC/CFLAGS detection.

	configure.in: try to fix the GMP CC/CFLAGS detection. Not finished.

	configure.in: replaced "test ... -o ..." (obsolete in POSIX)
	by "test ... || test ...".

	configure.in: replaced "test ... -a ..." (obsolete in POSIX)
	by "test ... && test ...".

	INSTALL: made instructions more clear.

2009-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated "To make a release".

	README.dev: last things to do when making a release.

2009-11-22  Vincent Lefèvre  <vincent@vinc17.net>

	sin_cos.c: fixed a potential bug by changing a rnd_mode into MPFR_RNDZ
	in mpfr_can_round. Indeed, in r4574, the change from
	  if (!mpfr_can_round (c, m, GMP_RNDZ, rnd_mode, MPFR_PREC (z)))
	to
	  if (!mpfr_can_round (c, m, GMP_RNDN, rnd_mode,
	                       MPFR_PREC (z) + (rnd_mode == GMP_RNDN)))
	looks wrong to me: in RNDN, the extra bit due to rnd_mode == GMP_RNDN
	changes a RNDN worst case into a RNDZ worst case.
	Note: The second mpfr_can_round with the same problem has been fixed
	in r6513.

	tests/tsin_cos.c: ported bug20091122 from the 2.4 branch to the trunk.
	But no failure in the trunk.

2009-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tconst_pi.c: fixed types for C++.

	Changeset r6162 broke Solaris builds. Fixed that by no longer checking
	INTMAX_MAX and UINTMAX_MAX to detect use of <stdint.h> / <inttypes.h>.

2009-11-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cos.c] fixed case where reduced argument is zero

2009-10-30  Vincent Lefèvre  <vincent@vinc17.net>

	tcos.c: added a testcase yielding an assertion failure (this bug makes
	tsin_cos fail).

	tests/tsin_cos.c: ported the consistency test from the 2.4 branch.
	This yields an assertion failure (Linux/x86_64).

2009-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cache.c] fixed bug with directed rounding
	[tconst_pi.c] added test for bug with directed rounding

2009-10-21  Vincent Lefèvre  <vincent@vinc17.net>

	exceptions.c: improved a comment.

	tpow.c: added an overflow test.

	tpow.c: added an overflow test in RNDZ.

2009-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added efficiency item

2009-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[lngamma.c] fixed typo, added comments about argument reduction, and replaced
		    code using doubles

	[TODO] added efficiency item

2009-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp.c] binary splitting is now used for prec >= MPFR_EXP_THRESHOLD
		(instead of prec > MPFR_EXP_THRESHOLD before). This is more
		consistent with the other thresholds.

	[TODO] added efficiency item

	[mparam_h.in] added /* bits */ for MPFR_EXP_THRESHOLD and MPFR_EXP_2_THRESHOLD

2009-10-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tsin_cos.c] removed useless instruction, and added comments

	[sin_cos.c] fixed call to mpfr_can_round (rounding mode was wrong)
	[tsin_cos.c] added new test

	[li2.c] fixed bug when x is near 0
	[tli2.c] added new test

2009-10-09  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tsin_cos.c: mp_rnd_t -> mpfr_rnd_t.

	tests/tsin_cos.c: added a comment about bug20091008, corresponding to
	r6507; in fact, the bug concerns only the return value (see r6444).

2009-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sin_cos.c] fixed error analysis
	[tsin_cos.c] added new test

2009-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tsin_cos.c: mp_rnd_t -> mpfr_rnd_t.

	tests/tsin_cos.c: removed trailing spaces.

2009-10-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tsin_cos.c] changed binary to hexadecimal string (was too long for C89)

	[sin_cos.c] fixed bug introduced in r6447 (some variables had their precision not updated in Ziv's loop)
	[tsin_cos.c] added a new test

2009-09-29  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ update.

2009-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added note about mpfr_can_round
	[tcan_round.c] added more tests

2009-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[README.dev] added item for new releases: we should say if they are binary
		     and/or API compatible with previous releases (we often forgot
		     to say it in the past)

2009-09-23  Vincent Lefèvre  <vincent@vinc17.net>

	tests: added tget_flt to the svn:ignore property.

	tests/Makefile.am: added information about LOADLIBES.

2009-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/Makefile.am] put back LOADLIBES=... (enables to compile a program foo.c
			    in the test directory by simply doing "make foo")

	[atan.c] updated the comments

2009-09-22  Vincent Lefèvre  <vincent@vinc17.net>

	atan.c: added a FIXME comment.

	atan.c: added some assertions.

2009-09-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[atan.c] implemented argument reduction (cf error analysis in algorithms.tex)

2009-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/Makefile.am] removed LOADLIBES=...

2009-09-20  Vincent Lefèvre  <vincent@vinc17.net>

	mpfrlint: check that lines aren't too long.

	Makefile.am: line-wrap libmpfr_la_SOURCES (M-q with Emacs) for
	compatibility with some vendor grep.

	Makefile.am, tests/Makefile.am: patch from Ralf Wildenhues.
	https://lists.gnu.org/archive/html/bug-automake/2009-09/msg00033.html

2009-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h, sin_cos.c, tests/tsin_cos.c: mp_rnd_t -> mpfr_rnd_t.

	sin_cos.c: GMP_RNDx -> MPFR_RNDx.

	sin_cos.c: untabified.

	frac.c, tests/tfrac.c: fixed underflow case in mpfr_frac and added
	testcase.

2009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acos.c] initial working precision was too small

2009-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	modf.c: no longer extend the exponent range at all, since there are
	no intermediate computations (note: the mpfr_frac bug that has just
	been fixed affected this change in modf.c).

	[frac.c] Patch r6456 was incorrect: the problem with the non-significant
	bits had to be dealt with only in the case t = r. This is now fixed.

	tests/tfrac.c: reverted overflow case test (was incorrect because the
	input was too large).

	tests/tfrac.c: also test the overflow case.

	tests/tfrac.c: more tests (case where the fractional part rounds to 1).

2009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[NEWS] added item

	[sin.c,cos.c] use mpfr_sincos_fast when prec >= MPFR_SINCOS_THRESHOLD

2009-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tfrac.c: more tests (there are also problems in rounding away
	from zero or equivalent).

2009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tuning mechanism for mpfr_sin_cos

2009-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tfrac.c: also test the ternary value (it is incorrect too).

	frac.c: fixed bug in mpfr_frac (the non-significant bits in low limb
	were not cleared).

	tests/tfrac.c: improved the testcase so that it triggers the bug for
	both 32 bits and 64 bits.

	tests/tfrac.c: added a comment for latest testcase.

	tests/tfrac.c: added testcase for bug in mpfr_frac.

	tests/tmodf.c: typo in error message.

	modf.c: extending the exponent range in the first two cases is useless
	because there are no intermediate computations (just a mpfr_set). Let's
	do that only for the general case.

	tests/tmodf.c: added overflow tests.

	modf.c: corrected a comment (rounding can yield an overflow, but not
	an underflow).

2009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sin_cos.c] added asymptotically fast code, with threshold currently hardcoded
		    at 20000 bits, should be determined by tuneup.c

2009-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	Deleted trailing spaces.

2009-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[modf.c] changed semantics of return value in accordance with mpfr_sin_cos

2009-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sin_cos.c] more precise meaning of the return value
	[sinh_cosh.c] idem as above
	[taway.c] fixed to check the more precise return value

2009-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] t was not initialized in Newton's example

2009-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed _binary32 into _flt for file names too:
	   svn mv get_binary32.c get_flt.c
	   svn mv set_binary32.c set_flt.c
	   svn mv tests/tget_binary32.c tests/tget_flt.c

	[TODO] removed an item
	[mpfr.texi] added an example for mpfr_prec_round

	[NEWS] added mpfr_set_flt and mpfr_get_flt

	changed suffix _binary32 -> _flt
	[get_binary32.c] fixed a bug in subnormal range

2009-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	mpfrlint: bug fix.

	mpfr.texi: updated the month.

	mpfrlint: execute svn in C locale.

	mpfrlint: check mpfr.texi's UPDATED-MONTH.

2009-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_d.c] fixed FIXME

2009-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	tget_d.c code is C99-only (bug introduced in r6424). Please fix!

2009-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[get_binary32.c] also forgot in previous commit

	[set_binary32.c] file forgot in previous commit

	added new functions mpfr_set_binary32 and mpfr_get_binary32
	fixed bug in mpfr_get_d and mpfr_get_decimal64 for RNDA

	[mpfr.texi] improved description of mpfr_sum, and fixed typo

2009-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: added mpfr_regular_p macro.

2009-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[sum.c] added reference

	[get_ld.c] fixed bug reported by Nelson Beebe
		   https://sympa.inria.fr/sympa/arc/mpfr/2009-05/msg00061.html

	[isregular.c] new function mpfr_regular_p
	[iszero.c] fixed typo in comment
	[tests/tisnan.c] added tests for mpfr_regular_p

2009-09-11  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: changeset r6414 was incorrect, in particular under Linux
	(at least some platforms), where wint_t is an unsigned int, not an int.
	Instead, let's detect whether integer promotion will occur or not, even
	though the ISO C99 standard requires a wint_t type that doesn't yield
	an integer promotion (7.24.1#2), because mingw32 defines wint_t as an
	unsigned short (thus with integer promotion).

2009-09-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[vasprintf.c] https://sympa.inria.fr/sympa/arc/mpfr/2009-09/msg00012.html
		      (changed __wint_type into int)

2009-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tdigamma.c: added missing void in prototype.

2009-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[digamma.c] forgot to set sign for Psi(+Inf)

2009-09-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed function into bernoulli.c (which was static, included 3 times) into
	an internal function mpfr_bernoulli_internal

2009-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] removed psi(=digamma)

2009-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	tests/data/digamma: for the special values, use the new mode '*'
	(exact cases) instead of 'n'.

	tests.c: added special support for exact cases in data_check (to test
	all the rounding modes and check the ternary value).

	towards -> toward (consistency).

	tests: added tdigamma to svn:ignore property.

	digamma.c: moved a comment.

2009-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[digamma.c] fixed bug (emin/emax were not restored)
	[data/digamma] added special values
	[tests/tests.c] fix to allow putting nan in data/* files

	[data/digamma] unitary test file for mpfr_digamma
	[tdigamma.c] now use data/digamma

2009-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing whitespace.

2009-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	bernoulli.c goes into EXTRA_DIST

	[digamma.c] new function mpfr_digamma
	[lngamma.c,li2.c] factored computation of Bernoulli numbers in new file
			  bernoulli.c (also used by digamma.c)

2009-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced obsolete GMP functions (suggested by Brian Gladman):
	1. mpz_div_2exp ==> mpz_fdiv_q_2exp
	2. mpz_div_ui   ==> mpz_fdiv_q_ui
	3. gmp_randinit (state, GMP_RAND_ALG_LC, 128) ==> gmp_randinit_lc_2exp_size (state, 128)
	(Didn't replace mpn_divrem by mpn_tdiv_qr since the parameters differ, and also
	for efficiency reasons.)

2009-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	tsprintf.c: fixed locale_da_DK test.

2009-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[csch.c,coth.c,csc.c,cot.c] fixed bug for tiny input and RNDA (result was
				    rounded to zero instead of away)

2009-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tsprintf.c: bug fix (uncommented an "exit(1);").

2009-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tgeneric.c] revert previous change, bug is elsewhere

	[tgeneric.c] temporary fix in mpfr_can_round call (mpfr_can_round does not
		     correctly handle MPFR_RNDA)

2009-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	set_ld.c: replaced a struct by a union. The struct was triggering the
	following warning with GCC 4.4:
	  dereferencing type-punned pointer will break strict-aliasing rules
	(possibly due to possible memory alignment problems). The old code
	looked strange anyway and unions are exactly for such kind of things.

2009-08-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tset.c] removed unused variables

2009-08-25  Vincent Lefèvre  <vincent@vinc17.net>

	tcmp_ld.c: use "long double" constants.
	Note: this might solve the tcmp_ld failure reported on
	https://www.linuxquestions.org/questions/linux-from-scratch-13/mpfr-2-4-1-check-failures-in-lfs-6-5-rc2-746538/
	(not tested).

2009-08-24  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS: update (new function mpfr_set_zero, added in r6339).

	mpfr.texi: NaN has a sign bit (in its binary representation),
	but as a FP datum, it does not have a sign.

2009-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added mention of unspecified NaN sign bit for mpfr_set_nan

2009-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: do not use @code for roundTiesToAway and binary64 as this is
	not code and the IEEE 754-2008 standard doesn't use special typography.

	mpfr.texi: the sign bit of a NaN is unspecified.

2009-08-18  Vincent Lefèvre  <vincent@vinc17.net>

	Add examples into $docdir (without using a subdir, as this would be
	a bit bloated just to add a few files).
	  * Added "examples" directory with a ReadMe file and 3 examples.
	  * Makefile.am: added files from the "examples" directory and changed
	    dist_doc_DATA into nobase_dist_doc_DATA so that the "examples"
	    directory is not stripped in the target directory $docdir.
	  * README: added "examples/".

	get_str.c: corrected copyright notice, incorrectly modified in r6364.

2009-08-12  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.texi: Fix typo.

	get_str.c: Format a comment.

	get_str.c vasprintf.c: Add support for the rounding away from zero mode.
	mpfr.texi: MPFR_RNDA mode support in printf functions.
	tests/tsprintf.c tests/tget_str.c: Test MPFR_RNDA support.

2009-08-06  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS: update.

	Install some documentation files.

2009-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated section "Installing MPFR".

	mpfr.texi: corrected a spelling mistake.

	Since GNU Automake 1.11 is available on too few platforms, removed its
	requirement (reverted to 1.10 requirement: 1.10.1 was needed only for
	dist-lzma, which has been removed). Instead, added hardcoded dist-xz
	support (tested with both Automake 1.10.2 and Automake 1.11).

2009-08-04  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: replaced dist-lzma by dist-xz (the xz format is the
	successor of the lzma format); as a consequence, automake 1.11 is
	needed.

2009-07-30  Vincent Lefèvre  <vincent@vinc17.net>

	Makefile.am, tests/Makefile.am: added copyright notice (similar to
	the one of the generated Makefile.in file).

	Since COPYING.LESSER makes a reference to the GPLv3, updated COPYING
	to the GPLv3. Autotools files are now distributed under the same license
	as MPFR (to avoid any reference to the GPLv2).

	Renamed COPYING.LIB as COPYING.LESSER (GNU Coding Standards, #7.3)
	and updated all the references (except in ChangeLog).

	Added algorithms.fdb_latexmk to svn:ignore property.

2009-07-30  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tset.c: With revision 6339, some tests were moved and added in the function check_special but this one was not called.

	tests/Makefile.am: Strech check_PROGRAMS list to ease insertion of new tests.

	Makefile.am: Sort tests in alphabetical order except the very first ones which are needed by the test suite itself.

2009-07-20  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c mpfr.texi: Change behavior with %Rf and an empty precision field. The default precision is now 6 with %Rf and %Rg.
	tests/tprintf.c tests/tfprintf.c tests/tsprintf.c: Change tests with empty precision field and %Rf.

	Makefile.am mpfr.h mpfr.texi set_zero.c: New function mpfr_set_zero.
	tests/tset.c: Replace all MPFR_ASSERTN with verbose message. Add tests for mpfr_set_zero.

2009-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] hint about patch command

2009-07-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpn_exp.c] reverted previous change (MPN_ZERO is a macro for memset, which
		    does not forbid zero size)

	[coth.c, tcoth.c] fixed coth(+/0) which was wrong (reported by Christopher Creutzig)

	[mpn_exp.c] fixed bug reported by David Kirkby on Solaris (GMP compiled with
		    Solaris compiler)

2009-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: typo in a comment.

2009-07-08  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Fix bug with %Rf, non-zero precision and a value rounded up to the next power of ten.

2009-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: deleted trailing spaces.

	tsprintf.c: added tests of some halfway cases.

2009-07-08  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Fix bug in precision 0 with format %.0Rf (0.5 rounds to 0).

2009-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	tsprintf.c: added a test that triggers an assertion failure.

	tsprintf.c: fixed a test and added more tests for %.0Rf with the even
	rounding rule (shows a bug added in the latest corrections).

2009-07-07  Vincent Lefèvre  <vincent@vinc17.net>

	tsprintf.c: completed the test on emax (for %Ra and %Rb).
	Everything is OK.

	tsprintf.c: my test was incorrect (I forgot the R), sorry.
	Still completing it...

	tsprintf.c: comment (so that the test can be ported to the 2.4 branch).

	tsprintf.c: started to write a test for emax, showing a bug (random
	output).

2009-07-06  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	mpfr.texi: updated the month.

	mpfr.texi consistency: @var{stdout} -> @code{stdout}.

	vasprintf.c: do not use a potential function call in SAFE_ABS macro.

2009-07-06  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c tests/tsprintf.c: deleted trailing spaces.

2009-06-29  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Fix bug when the value to be printed is rounded to the next power of ten with %Rf or %Rg (continuation of fix in r6278).
	tests/tsprintf.c:  Add tests for rounding to next power of ten bug with %Rf or %Rg.

2009-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	mp_exp_unsigned_t -> mpfr_uexp_t (internal type only).

	mpfrlint: check the use of the obsolete mp_rnd_t type.

	mp_rnd_t -> mpfr_rnd_t

	Suppressed MPFR_CLEAR_FLAGS (no longer did anything).

2009-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated the month.

	mpfr.texi: fixed description of mpfr_get_str (clash with variables,
	inconsistent cases in the info format).

	get_str.c: added a space.

2009-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: corrected comments.

2009-06-19  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: convert GMP_RNDx to MPFR_RNDx.

	vasprintf.c: Add brace to disambiguate nested if, and remove unused variable.

	tests/tfprintf.c tests/tprintf.c: Do not test very small values with %f.

	vasprintf.c: Fix bug when the value to be printed is rounded to the next power of ten with %Rf or %Rg.
	tests/tsprintf.c:  Add tests for rounding to next power of ten bug.

2009-06-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added new functions to implement

2009-06-16  Philippe Théveny  <philippe.theveny@laposte.net>

	sinh_cosh.c: precision of intermediate computation no more depends on precision of input variables.

2009-06-15  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: new MPFR_VALUE_OF macro, now used by mpfr_get_prec and
	mpfr_get_exp macros (this is cleaner than the old hack).

2009-06-14  Vincent Lefèvre  <vincent@vinc17.net>

	acinclude.m4: Make sure results of calculations on constants used with
	the fesetround() test are not precomputed by GCC (occurs on MIPS).
	Patch from Maciej W. Rozycki.
	  https://sympa.inria.fr/sympa/arc/mpfr/2009-06/msg00036.html
	  gmane.comp.lib.mpfr.general:174

2009-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] bounds for get_str were checked by Mark Dickinson

2009-06-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] fixed typo

	[algorithms.tex] fixed and completed up to b=62 table of bounds for get_str
	[mpfr.texi] fixed description of case n=0 for get_str (case of powers of two
		    bases was not coherent with the code)

2009-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] analyzed precisely the cases where the value is m+1 instead
	       of m

2009-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	acinclude.m4: reverted incorrect patch r6267 that makes the test
	no longer work on x86 (with traditional FPU, no SSE), where one
	should get
	  checking for gcc float-conversion bug... yes, use -ffloat-store
	instead of
	  checking for gcc float-conversion bug... no
	Indeed the "volatile" has the effect to have all the intermediate
	results x stored into memory, i.e. it is more or less equivalent
	to the -ffloat-store option, so that it does not allow one to test
	whether -ffloat-store is needed or not (which is the goal of this
	test).

2009-06-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] patch from Maciej W. Rozycki on mpfr mailing-list, 9 Jun 2009

	added more test cases for the Bessel functions (from John Harrison paper at
	Arith19)

2009-06-04  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Binary output with no digit after the decimal point is now supported. Fix bug when the binary or hexadecimal output value is rounded to the next power of the base. This also change outputs like 0xf.f with format string "%.0Ra" from 8p+1 to 1p+4 (as does gnu libc's printf).
	tests/tsprintf.c: add check for rounding to the next base power and fix some test value with %.0Ra (now output 1p+4 instead of 8p+3).

2009-06-03  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr-longlong.h: Update to newer GMP version (changeset 12418:12a1d0bf21f0 Sun Mar 01 23:47:31 2009 +0100), merging modifications from r4657.

2009-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: do not use GMP's namespace for identifiers defined in MPFR.

	README.dev: added: do not use the GMP namespaces...

	mpfr.h: rewrote a comment.

2009-05-29  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Fix bug, "%%" was not correctly displayed when used alone or before a mpfr_t output.
	tests/tfprintf.c tests/tprintf.c: Fix expected values for tests with "%%".

	mpfr.texi: Restate subsection Formatted Output Functions/Format String.

2009-05-28  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.texi: details on use of 'P' type in mpfr_printf.

2009-05-27  Philippe Théveny  <philippe.theveny@laposte.net>

	NEWS: remind bug fixes since version 2.4.0.

	set_d64.c: Partial revert of r6190 to fix problem in a simpler way: the decimal digits can be stored in array of char (no need to be unsigned).

2009-05-27  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated the month.

	tests/tfmod.c: deleted trailing whitespace.

2009-05-22  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tatan.c: Add test triggering underflow (test coverage is now 100%).

2009-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tgeneric.c: for the second computation, increase the precision
	of the inputs in order to trigger the mpfr_fmod bug fixed in r6230
	(and potentially other bugs). Thanks to Eric Veach for the idea.

	Added tbuildopt to svn:ignore property of tests.

2009-05-20  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tfmod.c: complete tests with special values.

	tests/tfmod.c: code simplification + check ternary value too.

2009-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tfmod.c: replaced NULL by (mpfr_ptr) 0 in mpfr_inits2/mpfr_clears.

	tests/mpfr-test.h: added mpfr_cmp_ui0 macro (check that x is not a NaN).
	tests/tfmod.c (bug20090519): check that the results are not NaN's and
	replaced GMP_RNDN by MPFR_RNDN.

2009-05-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tfmod.c] added testcase for bug reported by Eric Veach
	[rem1.c] fixed bug reported by Eric Veach

2009-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added one item

2009-05-13  Laurent Fousse  <laurent@komite.net>

	Clarify the fact that mpfr_sum guarantees correct rounding.

2009-05-13  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: updated a comment.

2009-05-13  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.h: Add a warning comment (removed in r6026).
	[merge -c 6209 from branch 2.4]

2009-05-13  Vincent Lefèvre  <vincent@vinc17.net>

	fms.c: improve the performance of memory allocations in small precision
	(almost identical to changeset 6195 for fma.c).

2009-05-12  Vincent Lefèvre  <vincent@vinc17.net>

	fma.c: patch by Patrick Pélissier to improve the performance of
	memory allocations in small precision.

2009-05-05  Philippe Théveny  <philippe.theveny@laposte.net>

	Put '#include <string.h>' in mpfr-impl.h, remove it elsewhere.
	Other cleanup of header inclusion.
	Other change (by mistake): corrections in algorithms.tex

2009-05-05  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS: corrections / limit to 80 characters per line.

2009-05-05  Philippe Théveny  <philippe.theveny@laposte.net>

	get_d64.c set_d64.c: Fix types.

	printf.c tests/tpow_all.c: <string.h> is not automatically included when compiling with --with-gmp-build option.

	NEWS Makefile.am mpfr.h mpfr.texi buildopt.c: New functions mpfr_buildopt_tls_p and mpfr_buildopt_decimal_p.
	tests/Makefile.am tests/tbuildopt.c: Add tests for mpfr_buildopt_tls_p and mpfr_buildopt_decimal_p.

2009-05-05  Vincent Lefèvre  <vincent@vinc17.net>

	atan.c: added comments after checking r6186.

2009-05-05  Philippe Théveny  <philippe.theveny@laposte.net>

	atan.c: expand exponent range when computing arctan(Inf) and arctan(+-1).
	tests/tatan.c: Check underflow of arctan(Inf) and arctan(1) with reduced exponent range.

2009-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tatan.c: replaced GMP_RNDN by MPFR_RNDN.

2009-04-29  Vincent Lefèvre  <vincent@vinc17.net>

	Removed trailing spaces.

2009-04-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[atan.c] fixed bug when x is very near but differs from 1

2009-04-29  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tatan.c: added testcase for bug found by Christopher Creutzig
	(atan2_different_prec).

2009-04-22  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c (data_check): try to open the data file first from the
	build directory, then from the source directory.

	init2.c: check that mp_bits_per_limb == BITS_PER_MP_LIMB (useful
	in case GMP is upgraded with a different ABI, e.g. 32 vs mode32
	on PowerPC 64). Without such a check, MPFR can give incorrect
	results if the ABI's don't match.

	Improved fix for problem dealt with in r6174: use function src_fopen()
	(from tests.c) instead of a macro MPFR_SRCDIR.

	Fixed problem when the srcdir value contains a word that is #define'd
	by the C implementation (test failure) or a comma (worse, the build of
	the tests terminates with an error). This can happen only when objdir
	and srcdir are different directories.
	  * tests/Makefile.am (tmul_CPPFLAGS): Put srcdir pathname in quotes.
	  * tests/tmul.c (MPFR_SRCDIR): Make the default a string.
	    (QUOTE, NAME): Delete.
	    (check_regression): Don't QUOTE MPFR_SRCDIR.
	Thanks to Sandra Loosemore for the patch.
	https://sympa.inria.fr/sympa/arc/mpfr/2009-04/msg00038.html

2009-04-15  Philippe Théveny  <philippe.theveny@laposte.net>

	get_f.c: remove dead code (x and z always have the same number of limbs).
	tests/tget_f.c: Add tests with every rounding mode, add tests with random values.

	tests/tget_f.c: Fix typos, better error messages.

2009-04-14  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tget_f.c get_f.c: Set result to the maximum value when the mpfr_t is plus infinity and set correct ternary value.

	tests/tget_f.c: Fix typo, increase size of y so that x and y have different limb size (they had the same size on MacOS X-32bits).

2009-04-10  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: update concerning intmax_t after the change in r6166.

	mpfr.h: for intmax_t, also test _STDINT_H and _STDINT_H_.
	[merged changeset r6165 from the 2.4 branch]

	mpfr.texi: updated the month.

	mpfr.h: for the intmax_t detection, also test INTMAX_MAX / UINTMAX_MAX
	(this may be useful for users of C++ compilers, if they have defined
	__STDC_LIMIT_MACROS but not __STDC_CONSTANT_MACROS).
	mpfr.texi: improvement concerning the use of intmax_t and uintmax_t.
	[merged changesets r6160 and r6161 from the 2.4 branch]

2009-04-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] updated Notes on AIX/PowerPC

2009-04-08  Philippe Théveny  <philippe.theveny@laposte.net>

	NEWS mpfr.texi get_f.c: mpfr_get_f now returns the usual ternary value.
	tests/tget_f.c: test the ternary value and the erange flag.

2009-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tget_z.c: do not assume specific values of the ternary value.
	get_z.c: simplified code.

	NEWS: s/an inexact value/a ternary value/

2009-04-08  Philippe Théveny  <philippe.theveny@laposte.net>

	NEWS mpfr.texi get_z.c: mpfr_get_z now returns an inexact value.
	mpfr.h: change prototype of mpfr_get_z.
	tests/tget_z.c: test inexact value.

2009-04-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpf2mpfr.h] added comment for #endif

2009-04-08  Philippe Théveny  <philippe.theveny@laposte.net>

	mpf2mpfr.h: fix typo

2009-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	get_z.c: fixed title in comment.

2009-04-01  Vincent Lefèvre  <vincent@vinc17.net>

	get_z.c: detect out-of-range precision (such a detection could be missed
	if mpfr_exp_t > mpfr_prec_t).

	Removed the comment from mpfr.h added in r6149, and patched get_z.c
	(safer code is better than a comment).

	mpfr.h: important comment to validate the change done in r6147.

	get_z_exp.c: updated comments.

2009-04-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[get_z.c] simplified the code, removed the FIXME
	[tget_z.c] added new test

	[mpfr.texi] completed documentation of mpfr_get_z_exp (was incomplete for 0)
	[tget_z.c] added test case for 0 with emin > 0 (should give 100% coverage for
		   get_z.c)

2009-03-30  Philippe Théveny  <philippe.theveny@laposte.net>

	strtofr.c tests/tset_str.c: Code simplification (sizeof (char) is always 1).
	vasprintf.c: Cast into size_t (just in case).

	vasprintf.c: Code simplification (sizeof (char) is always 1).

2009-03-27  Philippe Théveny  <philippe.theveny@laposte.net>

	acinclude.m4: remove definition of va_copy, just detect its presence.
	printf.c vasprintf.c: #define a replacement of va_copy if needed (in the same way as gmp).

2009-03-26  Philippe Théveny  <philippe.theveny@laposte.net>

	acinclude.m4: Change MPFR_FUNC_PRINTF_SPEC (renamed MPFR_FUNC_GMP_PRINTF_SPEC) so that it actually checks output.

2009-03-25  Philippe Théveny  <philippe.theveny@laposte.net>

	Change base upper limit in string conversion up to 62.

2009-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] fixed documentation of mpfr_get_str which was wrong
	[tget_str.c] added test cases for odd base and tie breaking case
	[get_str.c] fixed typos in comments

	[tests/random2.c] added missing mpfr-test.h (revealed by nightly tests), and
			  removed mpfr-impl.h (already included in mpfr-test.h)
			  I have also removed MPFR_NEED_LONGLONG_H: I don't see why it
			  is needed, and all tests pass.

2009-03-24  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.texi: Add a note on mpfr_printf output in binary with precision one.

	urandomb.c mpfr-gmp.c mpfr-gmp.h: mpfr_rand_raw is now in urandom.c.
	mpfr-impl.h: mpfr_rand_raw is now always build as an internal function.
	TODO tests/tests.c tests/random2.c: Use mpfr_rand_raw instead of _gmp_rand

	Move mpfr_random2 to tests directory, remove it from API.

	mpfr.texi: Improve documentation in Formatted Output Functions/Format String subsection.

2009-03-24  Vincent Lefèvre  <vincent@vinc17.net>

	cos.c, sin.c: added MPFR_ASSERTN for huge expx.

2009-03-21  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: corrected mpfr_strtofr documentation ("NAN()" is accepted).
	tests/tstrtofr.c: added a test for "NAN()".
	Note: the code follows the ISO C99 standard for strtod, as explained
	in the mpfr_strtofr documentation, so that the code was correct.
	[merged changeset 6131 from the 2.4 branch and changed GMP_RNDN into
	MPFR_RNDN]

2009-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	mpfrlint: added some tests for acinclude.m4 and configure.in (sh).

	Applied patch from Ralf Wildenhues.
	  * configure.in: Avoid unportable (and unneeded) shell quoting.
	  * acinclude.m4: Avoid non-POSIX shell construct.

2009-03-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tmin_prec.c: replaced GMP_RNDN by MPFR_RNDN.

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tset_ld.c: removed unused variable.

2009-03-16  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tset_ld.c: Add test case for the bug fixed with r6101.

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tmin_prec.c: added tests.

	tests: updated svn:ignore property.

	min_prec.c: fixed another bug (the code was incorrect with >= 2 limbs).

	tests/tmin_prec.c: bug fix (side effects in MPFR_ASSERTN), new tests.

	README.dev: added a note about assertions and code with side effects.

2009-03-16  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tfprintf.c: Use a value less than 2^31-1 compatible (thus < LONG_MAX) in bug_20090316 (cf r6112).

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced GMP_RND* by MPFR_RND*.

2009-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tests/tmin_prec.c] new file contributed from Laurent Fousse
	[tests/Makefile.am] added tmin_prec

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	min_prec.c: removed a useless test.

	min_prec.c: fixed another bug.

2009-03-16  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Add more debug assertion on the buffer size.

	vasprintf.c: Fix bug_20090316 (in buffer_cat, the buffer was 1 character too small in some cases).
	tests/tfprintf.c: Add test for bug_20090316.

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tadd.c: changed GMP_RND* (from r6071) into MPFR_RND*; this should
	have been done when porting the patch from the 2.4 branch.

2009-03-16  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tprintf.c: Use new environment variable MPFR_CHECK_LARGEMEM for memory expensive test.

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	min_prec.c: bug fixed by Laurent.

2009-03-16  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tsprintf.c: Fix typo.

2009-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed the prototype of mpfr_min_prec (should return a mpfr_prec_t)
	and its description.

	min_prec.c: fixed a bug (but the code should be improved).

	min_prec.c: simplified the singular cases (see other functions).

2009-03-15  Laurent Fousse  <laurent@komite.net>

	Add prototype for mpfr_min_prec in mpfr.h.

	Add documentation for mpfr_min_prec.

	New function mpfr_min_prec.

2009-03-15  Vincent Lefèvre  <vincent@vinc17.net>

	get_ld.c: fixed bugs in the case HAVE_LDOUBLE_IEEE_EXT_LITTLE (one found
	by Steve Kargl, and another one concerning the mpfr_set_emax value).

2009-03-13  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: This is probably dead code, but being uncertain, put an assert here.

	vasprintf.c: As the buffer helper functions are not used in the current code with a zero parameter len, do not handle this case anymore, check that these cases do not happened in MPFR_ASSERTD macros, add some additional assert to ensure consistency.

	vasprintf.c: make clear that string_buffer.curr is a pointer to the null terminating character, fix the only place where it was not handle so.

	vasprintf.c: Fix bug.

	tests/tprintf.c: Add an expensive test where the output number has more than INT_MAX characters.
	vasprintf.c: Fix the bug triggered by the new test in tsprintf.c.

	mpfr.texi: Do cosmetic changes and add some details on printf behavior when the precision field is empty.
	tests/tsprintf.c: improve code coverage.
	tests/tprintf.c: improve code coverage, check the behavior describe in mpfr.texi.

2009-03-12  Vincent Lefèvre  <vincent@vinc17.net>

	zeta_ui.c: correction r6090 was incorrect as there was another problem:
	the 3rd argument of mpz_divexact_ui is an unsigned long, not a limb.
	So, fixed the shift count (assuming no padding bits in unsigned long).

	zeta_ui.c bug fix: a shift count could be >= width of type (if a limb is
	a long long and long long is twice the size of a long). This problem was
	detected by a warning on gcc40 with CFLAGS="-mpowerpc64 -mcpu=970 -O2".

2009-03-10  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tprintf.c: added missing cast to void * for %p.

2009-03-09  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tfprintf.c: added missing cast to void * for %p.

	vasprintf.c: fixed bug in CONSUME_VA_ARG for case MP_LIMB_ARG (%Mu).

	README.dev: GMP with ABI=mode32 should be tested on 64-bit PowerPC.

2009-03-06  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: now return -1 when the format string is invalid (undefined behavior in standard C99)
	tests/tprintf.c: Additional checks with invalid format strings.

	mpfr.texi: Add missing conversion specifier accepted with mpfr_t variable.

2009-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	add1.c: assertions on the argument values should use MPFR_ASSERTN.

2009-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[cache.c] improved comment for mpfr_init_cache

	[add1.c] transformed switch() into if-then-else, to get 100% coverage

2009-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	untabify

	update-faq: change GMP_RND into MPFR_RND from the version on the web
	(since MPFR 3.0 hasn't been released yet, the FAQ still uses the 2.x
	API).

2009-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tadd.c: completed the code coverage (case bk == 0 in add1.c).

2009-03-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-impl.h,cache.c] commented out mpfr_init_cache

	[const_catalan.c] decreased initial Ziv precision to get 100% coverage

	[cmp2.c] added comments
	[tcmp2.c] added test to improve coverage to 100%

	[atan2.c,tatan.c] reduced Ziv's initial precision and added test to have
			  100% coverage of atan2.c

	[atan.c] coverage should now be 100%

2009-03-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.bib] added new reference
	[TODO] added pointers

2009-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-gmp.c (mpfr_assert_fail): output "MPFR" too in assertion failure
	messages.

	Updated mpfrlint script.

	mpfr.texi: updated month.

	NEWS: say that the license has changed.

2009-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	Updated NEWS (function mpfr_random has been removed).

2009-03-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	GMP_RNDX -> MPFR_RNDX

2009-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	tests: added taway to svn:ignore property.

	Update to LGPL v3+, as decided by the main MPFR developers.

2009-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	Untabified and deleted trailing spaces (for patches).

2009-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rint.c] fixed a bug incorporated with the round away mode
	[tget_sj.c] fixed the tests for round away

	[rint.c] fixed bug with round away
	[taway.c] new test file for round away (with random values)
	[tests/Makefile.am] added taway
	[set_z.c] GNU style

2009-02-27  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tests.c: Change test5rm (formerly test4rm) so that it checks the new
	GMP_RNDA rounding mode, and that the corresponding rounding towards infinity
	is checked with GMP_RNDZ or with GMP_RNDA in one-pass mode (now, two-pass
	mode). Remove a comment about a warning from gcc solved with r5057.

2009-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rem1.c] fixed bug found in adding tests for round away

	[add.c] added comment for 0 + 0 with round away

2009-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/texceptions.c: removed obsolete comments from r2427.

2009-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.h] added comment about order of rounding modes
	[texceptions.c] added comments, fixed typo
	[tsub.c] added test, fixed typo

2009-02-26  Philippe Théveny  <philippe.theveny@laposte.net>

	Add tests with round away mode.

2009-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 3.0.0-dev.

2009-02-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added round to away (still experimental)

	[mpfr.h] added comments for rounding modes

2009-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	Added svn:ignore property on the m4 directory (these .m4 files are
	generated automatically).

	Makefile.am: updated -version-info (since mpfr_random has been removed,
	we already know its value).

	Makefile.am: do not check libtool -version-info value if the VERSION
	file contains "-dev".

	Makefile.am: In a "make dist", check that libtool -version-info value
	is up-to-date (this is a heuristic only).

	README.dev: updated "To make a release" -- it is important to read
	this section entirely before making any release (even if some steps
	may be skipped for some particular releases).

2009-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tsprintf.c: do not use VLA's (C99 only).

	README.dev: update about patches.

	tests/tsprintf.c: coding style: removed spurious spaces.

	mpfr.texi: updated month.

	printf.c: fixed assertion failures in the case buffer == NULL and
	size == 0 (see r5995). Also replaced MPFR_ASSERTD(buf != NULL) by
	MPFR_ASSERTN(buf != NULL) since buf is provided as an argument.

	tests/tsprintf.c: added mpfr_snprintf/mpfr_vsnprintf tests with
	buffer == NULL and size == 0 (as allowed in C99 snprintf/vsnprintf
	and by the MPFR documentation).

2009-02-25  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.texi: Fix typos.

2009-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	tuneup.c: untabified.

2009-02-24  Philippe Théveny  <philippe.theveny@laposte.net>

	printf.c: Fix wrong return value, mpfr_snprintf and mpfr_vsnprintf functions must always return the number of character that would be written if the parameter n had been sufficiently large (it previously returned zero when n == 0).
	tests/tsprintf.c: Fix test of mpfr_snprintf and mpfr_vsnprintf (the wrong return value was checked).

2009-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	printf.c: fix buffer overflow in mpfr_snprintf and mpfr_vsnprintf.

	tsprintf.c: added a test showing a buffer overflow in mpfr_vsnprintf.

	tsprintf.c: added a test showing a buffer overflow in mpfr_snprintf.

2009-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	Changed how the test of MPFR_VERSION_MAJOR, MPFR_VERSION_MINOR and
	MPFR_VERSION_PATCHLEVEL vs MPFR_VERSION_STRING is performed.
	Detailed explanations:
	  The test was enabled only in release tarballs (suffix not present),
	  where tests/tversion.c normally contained a "#if 1" (though this
	  is not the case in the MPFR 2.4.0 tarball). In patches, this test
	  should be disabled by changing the "#if 1" into "#if 0", due to
	  the suffix. But as one should be able to apply any patches (in any
	  order), this method was not satisfactory. The test has been moved
	  from tests/tversion.c to tests/tests.c (in function test_version),
	  and the suffix is now ignored in this test; the change of #if has
	  been removed from the update-version script.

2009-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: corrected update-version usage for patches.

	FAQ update.

2009-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mparam_h.in] added default thresholds for sparc64
	[tuneup.c] print gcc patchlevel

2009-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	speed.c, tests/texp.c: untabified.

	mpfr.texi: improved mpfr_strtofr documentation (completing r5965).

2009-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mparam_h.in] added tuning for powerpc64

2009-02-18  Philippe Théveny  <philippe.theveny@laposte.net>

	strtofr.c: fix typo.

	strtofr.c: accept bases up to 62.
	mpfr.texi: modify mpfr_strtofr documentation accordingly.
	tests/tstrtofr.c: add tests for bases 62, 60, and 61.

2009-02-17  Philippe Théveny  <philippe.theveny@laposte.net>

	mparam_h.in: Change core2/64bit parameters.

2009-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	Checks whether C99 length modifiers 'hh' and 'll' are supported by the
	system ('hh' is absent on alpha-OSF1-V5, bug reported by Kate Minola).
	[Merged changeset 5956 from the 2.4 branch.]

2009-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[texp.c] yet another better fix

	[texp.c] fixed previous patch and added comment

	[texp.c] fixed corner case test

2009-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: improved latest change.

	README.dev: mentioned update-version for patches.

2009-02-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-gfx.c] added -p option to produce a Postscript file

2009-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mparam_h.in] added thresholds for ARM

	[README.dev] added description of how to tune MPFR

	[README.dev] added another example of using mpfr-gfx

	[Makefile] modified Makefile to compile statically, and to allow also
		   build directories of GMP/MPFR

2009-02-10  Philippe Théveny  <philippe.theveny@laposte.net>

	mbench/mpfr-gfx.c: add option -rPREC_RATIO for geometric progression.

2009-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mparam_h.in] updated Itanium parameters (now for Itanium2)

	[mparam_h.in] added symbol __itanium__ for Itanium[12]

2009-02-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[README.dev] fixed typo
	[mpfr-gfx.c] added comments in the code (might be useful)

	[README.dev] added pointer to mbench to check the thresholds

	[mpfr-gfx.c] now also produces a plot.gnuplot file together with plot.data

	[mparam_h.in] updated default thresholds with gmp-4.2.4

	[tuneup.c] fixed typo

	[Makefile.am] added stuff to compile speed program

	[speed.c] preliminary program to check the tuning of mpfr (based on tuneup.c)
	          So far it only measures mpfr_mul up to 1000 bits, with increment
		  ratio of 1.1. Requires --with-gmp-build like tuneup.
		  Feel free to improve!

	[mparam_h.in] allow __tune_ia64__ in addition to __ia64

	[mparam_h.in] replaced __pentium4 by __tune_pentium4__, ...

2009-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[acinclude.m4] removed detection of HAVE_HOST_CORE2
	[mparam_h.in] replaced HAVE_HOST_CORE2 by __tune_core2__

2009-02-06  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/mpf_compat.h: complete r5922 adding missing mpz_init/mpz_clear.

2009-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: updated efficiency items.

2009-02-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added 2 efficiency items

2009-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: moved MPFR_DECL_INIT specification into Section
	"Initialization Functions" (now in the standard MPFR API),
	and removed now empty Section "Advanced Functions".

2009-02-05  Vincent Lefèvre  <vincent@vinc17.net>

	mparam_h.in: updated comment to mention -march=native and -mtune=native.

	mpfr.h: updated a comment concerning MPFR_DECL_INIT.

2009-02-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpf2mpfr.h] added mpz_set_f (reported by Francois Morain)

	[mpfr.texi] moved mpfr_inits, mpfr_inits2, mpfr_clears to supported functions
	[TODO] added new info about MPIR

2009-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[TODO] added info to distinguish GMP and MPIR

2009-01-26  Vincent Lefèvre  <vincent@vinc17.net>

	Updated the version on the trunk.

2009-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[nightly-test] removed --disable-alloca (GMP option)

2009-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: --disable-alloca is a GMP configure option.

2009-01-21  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tsprintf.c: remove tests against libc's printf with "%a" (not in ISO C90), and with "%p" (implementation defined).
	[merge -c 5885 from branches/2.4]

2009-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: avoid a compiler bug under Mac OS X Tiger + Xcode (&x == &x
	is false) that makes tset_d fail; this problem was introduced in r5880.

2009-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed bug reported by Chris Saunders: if _GMP_IEEE_FLOATS is defined,
	the build of tset_ld.c fails because DOUBLE_ISNAN expects a lvalue.
	* mpfr-impl.h: documented that for such macros, the argument must
	  be a lvalue, and always make sure that it is a lvalue (so that
	  a failure doesn't depend on the environment).
	* tests/tset_ld.c: fixed the bug.

	tests/tversion.c: be more tolerant when checking whether gmp.h version
	and libgmp version are the same (in case patch level is 0).

	tests/tset_ld.c: added explanation of NaN-related failures in case
	MPFR_NANISNAN is defined.

	Added missing void's.

	tests/tsprintf.c: removed a blank line (for consistency with the
	2.4 branch).

	vasprintf.c: deleted trailing spaces.

2009-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: comment for DOUBLE_ISNAN with MPFR_NANISNAN defined.

	tests/tset_d.c: fixed test of mpfr_set_d on -0 with gcc -ffast-math
	(the -d for d = 0.0 was giving 0.0, hence a spurious failure).

	mpfr-impl.h: the DOUBLE_ISNAN macro wasn't working with gcc -ffast-math
	(at least on x86_64); fixed that by adding another test.
	tests/tset_ld.c: Isnan_ld wasn't working either; also the NaN test was
	incorrect. Now, the failure on NaN is correctly reported.

	tests/tcmp_d.c, tests/tcmp_ld.c, tests/tset_d.c: corrected message.

	tests/tcmp_d.c, tests/tcmp_ld.c, tests/tset_d.c: added explanations
	of NaN-related failures in case MPFR_NANISNAN is defined.
	Note: in tset_d.c, moved the NaN test before the signed-zero test
	to catch the failure on the NaN first.

	acinclude.m4: improved warning message.

	INSTALL: updated "In case of problem".

	acinclude.m4: added a warning message for the NAN != NAN test.

2009-01-19  Philippe Théveny  <philippe.theveny@laposte.net>

	tcmp_d.c tset_d.c tcmp_ld.c: Remove tests with NaN when MPFR_NANISNAN is defined.
	tests.c: Add a warning in a comment that Isnan always returns 0 on systems where MPFR_NANISNAN is defined.

	vasprintf.c: do not support 't' when NPRINTF_T is defined, HAVE_STDINT_H -> _MPFR_H_HAVE_INTMAX_T.

	tests/tfprintf.c: renumber tests (there was two tests #9).

2009-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tfprintf.c: %c takes an int argument, not a char (see C standard).

	tests/tprintf.c, tests/tsprintf.c:
	  * %c takes an int argument, not a char (see C standard), even though
	    this may be equivalent due to integer promotion.
	  * Add void in prototypes of functions taking no arguments.

	mpfr.texi: updated references to the GMP manual.

	mpfr.texi: typo in comment.

	mpfr.texi: added .info extension in cross-references, to avoid the bug
	reported here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484740

	mpfr.texi: added a reference to a texinfo bug in a comment.

	mpfr.texi: added missing @code{}.

	mpfr.texi: don't -> do not, doesn't -> does not, won't -> will not.

	mpfr.texi: improved Section "Format String".

2009-01-19  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tsprintf.c: check if native types are really processed by libc printf.

2009-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: no longer mentions HAVE_QUAD_T since it is no longer used.

2009-01-19  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.texi: Explicit list of type supported by mpfr_printf functions.
	acinclude.m4: Remove detection of type modifier 'q'.
	vasprintf.c: Remove support of type modifier 'q'.
	tests/tfprintf.c tests/tprintf.c: Remove tests with type modifier 'q'.

	INSTALL: Warn that --with-gmp, --with-gmp-include/--with-gmp-lib, and --with-gmp-build options are mutually exclusive.
	configure.in: Check and fail if --with-gmp, --with-gmp-include/--with-gmp-lib, or --with-gmp-build are use simultaneously.

2009-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c: include <sys/fpu.h> only if need be.

2009-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] made difference between mpfr_set_str and mpfr_strtofr clearer
		(after remark from Luis Rivera)

	[mpfr.texi] fixed order -> kind (typo found by Luis Rivera, thanks)

2009-01-16  Philippe Théveny  <philippe.theveny@laposte.net>

	tfprintf.c tprintf.c: Test double with "%f" instead of "%e" so as to avoid failure due to exponent "e+000" on MS Windows.

	tests/tfprintf.c tests/tsprintf.c tests/tprintf.c acinclude.m4 vasprintf.c: No longer check libc's printf.

	acinclude.m4: Check if %Ld specification is supported (not always the case with MS Windows)
	tests/tfprintf.c tests/tprintf.c tests/tsprintf.c: do not check %Ld specification when not available.

	get_uj.c get_sj.c tests/tset_sj.c tests/tfits.c fits_intmax.c fits_uintmax.c set_uj.c set_sj.c: make #include-s for intmax_t uniform.
	vasprintf.c: make #include-s for intmax_t uniform and use _MPFR_H_HAVE_INTMAX_T instead of HAVE_INTMAX_T.

2009-01-15  Philippe Théveny  <philippe.theveny@laposte.net>

	tfprintf.c tprintf.c: Remove tests with u_quad_t (on Solaris 10, quad_t exists but u_quad_t doesn't, bug reported by Michael Abshoff).

	tfprintf.c tprintf.c: Fix included headers, type intmax_t may be defined in inttypes.h or in stdint.h (see autoconf manual 5.6.1 Portability of Headers).

2009-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

	vasprintf.c: deleted trailing spaces.

	configure.in: be more tolerant when checking whether gmp.h version
	and libgmp version are the same (in case patch level is 0).

	Copyright notice update: added 2009 with
	  perl -pi -e 's/2008 Free Software/2008, 2009 Free Software/' **/*(^/)
	under zsh.

2009-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed remaining printf format strings.

	tests/tadd1sp.c, tests/tsub1sp.c: fixed function prototypes.

	tests/teq.c, tests/tests.c: fixed printf format strings.

	tests/tcmp2.c: fixed printf format strings.

2009-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tset_str.c: fixed printf format string.

2009-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: consistency changes and corrections concerning the "erange"
	flag (do not use @code{} as this is not an identifier, @emph{} is used
	as this is not an English word -- but @emph{} should probably be used
	too for the other flag names).

	mpfr.texi: typo.

2009-01-12  Philippe Théveny  <philippe.theveny@laposte.net>

	acinclude.m4: New macro MPFR_CHECK_PRINTF_SPEC looking for support of the "%jd", "%qd", and "%td" conversion specifications in printf and gmp_printf.
	configure.in: Call MPFR_CHECK_PRINTF_SPEC when we can link against a suitable gmp library and run test programs at compile time, otherwise (for instance, when cross compiling), everything is enable by default.
	vasprintf.c: Disable support for length modifiers not supported by libc's printf ('j' and 'q' for this time).
	tests/tprintf.c, tests/tfprintf.c: Disable tests for length modifiers not supported by gmp_printf ('j', 'q', and 't' for this time).

	mpfr.texi: Fix typo.

2009-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: update to January 2009.

	Removed useless #include of gmp.h from tests/tfprintf.c and
	tests/tsprintf.c for consistency.

2009-01-08  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tfprintf.c: Make tests with 'M' specifier optional.
	mpfr.texi: Add a warning that gmp may not support 'M' specifier.
	vasprintf.c: Add warning comment about 'M' specifier.

	mpfr.texi: Fix wrong definition of rounding specifiers.

2008-12-30  Vincent Lefèvre  <vincent@vinc17.net>

	out_str.c: added assert (check that base is in the required range).

2008-12-26  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: suggest "-Wformat=2".

	zeta.c: fixed types for printf when DEBUG is defined.

	sub1sp.c: fixed types for printf when WANT_ASSERT >= 2 and
	when DEBUG is defined.

	sub1.c: fixed types for printf when DEBUG is defined.

	set_d64.c: set T[] to unsigned int (instead of int) since its values
	are printed with %u.

	add1sp.c: fixed types for printf when DEBUG is defined.

	mpfr-impl.h: fixed MPFR_UNSIGNED_MINUS_MODULO logic and added missing
	parentheses.

	div.c: fixed types for fprintf when DEBUG and/or DEBUG2 is defined.

	div.c: fixed #ifdef.

	round_p.c: fixed types for fprintf when WANT_ASSERT >= 2 (since
	mp_prec_t is unsigned, it's better to use unsigned long).

	round_p.c: fixed types for fprintf when WANT_ASSERT >= 2.

2008-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.tex] improve documentation of %P

2008-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	Deleted trailing spaces.

2008-12-17  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tsprintf.c: clean-up code, improve comment, and put optional tests in tail so that they fail last.

	tests/tsprintf.c: Add two regression tests.

2008-12-16  Philippe Théveny  <philippe.theveny@laposte.net>

	acinclude.m4, vasprintf.c, tests/tfprintf.c, tests/tprintf.c, mpfr.texi: quad_t support

	tests/tfprintf.c: code clean-up and output improvement.
	tests/tprintf.c: code clean-up.
	Note that unsigned long long variable is not set to 1 instead of -1 which was architecture dependent.

2008-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tprintf.c:
	  * stdout_redirect is a boolean (i.e., 0 or 1).
	  * output freopen(..., stdout) error message to stderr.

2008-12-16  Philippe Théveny  <philippe.theveny@laposte.net>

	tfprintf.c: more user-friendly messages.
	tprintf.c: more user-friendly messages. Warning: because stdout might be redirected, error messages are printed to stderr.

2008-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: more explanations on the precision field for mpfr_printf.

	untabify and remove trailing spaces

2008-12-15  Philippe Théveny  <philippe.theveny@laposte.net>

	mpfr.texi: more explanations on the precision field.

	mpfr.texi: Clearly mention that the length modifier 'q' is unsupported by mpfr-*printf.
	vasprintf.c: Do not take quad_t as a long long but as an insupported length modifier.
	acinclude.m4: Remove check for quad_t.
	tests/tprintf.c tests/tfprintf.c: Remove tests with 'q' length modifier.

2008-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tstrtofr.c: fixed a test (in case |res| > 1).

	tests/tstrtofr.c: fixed alignment bug in error message.

2008-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[nightly-test] added MPFR_CHECK_LIBC_PRINTF

2008-12-15  Philippe Théveny  <philippe.theveny@laposte.net>

	acinclude.m4: Check for quad_t.
	vasprintf.c: Accept length modifier 'q' if HAVE_QUAD_T is defined (instead of HAVE_LONG_LONG).
	README.dev: Add notice for new HAVE_QUAD_T macro.

2008-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added warning about usage of mpfr_init

2008-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tprintf.c: _MPFR_H_HAVE_INTMAX_T -> HAVE_STDINT_H for <stdint.h>.

2008-12-15  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tsprintf.c: Tests against libc's sprintf function are no more executed unless the MPFR_CHECK_LIBC_PRINTF is defined.

	tests/tsprintf.c: move bugs 20080610 and 20081214 outside the function random_double.

2008-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tsprintf.c: completed comment about the sign of a null exponent.

	INSTALL: added a note saying the L modifier was added in C89 (source:
	C99 rationale, Section 7.19.6.1).

2008-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] more Windows-related changes

	[INSTALL] update on Windows (from Brian Gladman)

	[configure.in] removed useless comment

2008-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: references to ISO (international) instead of ANSI (American).

	tests/tsprintf.c: corrected a comment.

2008-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[printf.c,vasprintf.c] include config.h if HAVE_CONFIG_H is defined, to
			       solve problem noticed by Brian Gladman

2008-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tsprintf.c: untabified.

2008-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added hint for using the MinGW runtime

	[tsprintf.c] added new hard-coded test (needs work to overcome error in
		system asprintf)

	[tsprintf.c] fixed hard-coded test (spec was missing), and print values of
	             xi,yi,spec in case of error

2008-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: corrections on r5730.

2008-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added notes on Windows Vista 64 problem

2008-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	README: added "compile" since it is distributed in the tarball.

	Added "compile" to svn:ignore property (this file is installed by
	"automake --add-missing" due to AM_PROG_CC_C_O, added in r5710).

	vasprintf.c: avoid an abort if field width or precision is > INT_MAX.

2008-12-12  Philippe Théveny  <philippe.theveny@laposte.net>

	tests.c, tset_ld.c, tgeneric.c: Code clean-up based on icc warnings (as in r5492): Use #ifdef BOOL_MACRO instead of #if BOOL_MACRO.

	configure.in: remove line 'GCC=' in icc tests which seems to confuse libtool.

2008-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	set_ld.c: rewrote exp computation.

	vasprintf.c: avoid a possible gcc 4.1.2 bug with -ftrapv.

	vasprintf.c: revert incorrect change in r5713.

2008-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[set_ld.c] fixed problem with CC=g++ on 64-bit computer:
	$ g++ -v
	Using built-in specs.
	Target: x86_64-linux-gnu
	Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release x86_64-linux-gnu
	Thread model: posix
	gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

	[vasprintf.c] patch to MPFR_ASSERTN(...) call to avoid failure with gcc -ftrapv
		      with gcc 4.1.2 (probably compiler error)

2008-12-12  Philippe Théveny  <philippe.theveny@laposte.net>

	Makefile.am, tmul.c: Rename macro __SRCDIR to MPFR_SRCDIR.

2008-12-11  Philippe Théveny  <philippe.theveny@laposte.net>

	configure.in: Add AM_PROG_CC_C_O needed by tmul_CPPFLAGS.
	tests/Makefile.am: Add tmul.dat in EXTRA_DIST and pass srcdir to tmul.c through tmul_CPPFLAGS.
	tests/tmul.c: Add path to tmul.dat.

2008-12-09  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: TLS on darwin may work, but I don't know anything more.
	See thread <https://gcc.gnu.org/legacy-ml/gcc/2008-12/msg00107.html>.

2008-12-08  Vincent Lefèvre  <vincent@vinc17.net>

	README: CVS -> Subversion.

2008-12-03  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: format --enable-decimal-float description on 80 columns.

	configure.in: for --enable-thread-safe, say that the system must support
	it (like what has been done for --enable-logging, just above).

	INSTALL: added details about ---enable-thread-safe and TLS support.

2008-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	urandomb.c: added comments and cleaned up code.
	mpfr.texi: improved description of mpfr_urandomb.

2008-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: changed URL added in r5696 to avoid a redirection.

2008-11-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.texi] added official url on ftp.gnu.org

2008-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tmul.c: removed useless variable.

	tests/tmul.c: made reading a string from file more robust.

2008-11-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tmul.c] moved long strings to file tmul.dat, so that gcc -ansi
		 -pedantic-errors works (ISO C90 does not support strings of length
		 > 509)

2008-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tinternals.c: updated tests for guaranteed C90 support, e.g. with
	gcc -ansi -pedantic-errors (avoid error "string length 'nnn' is greater
	than the length '509' ISO C90 compilers are required to support" because
	expression for #expr in ASSERT_FAIL macro is too long).

	README.dev: in Section "To make a release", suggest -pedantic-errors.

2008-11-22  Vincent Lefèvre  <vincent@vinc17.net>

	r5689 undone: some casts were incorrect (mp_exp_t may be greater than
	mp_prec_t, so that casting a mp_exp_t into a mp_prec_t can introduce a
	bug). There may be bugs in some cases, but the casts fix the symptom,
	not the bug (unless one casts the unsigned type to a signed type that
	is *strictly* larger, which is not possible here).

2008-11-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed some signed/unsigned warnings with g++ (please review)

2008-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[nightly-test] removed MPFR_CHECK_ALL (no longer used)
	               added possibility to choose compiler (e.g., g++)

	[README.dev] better check ./configure CC=g++

2008-11-21  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix inclusion order: the limit of integer types like size_t are defined in C++ only when __STDC_LIMIT_MACROS is defined before <stdint.h> is included (from ISO C99 7.18.3).

2008-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	README: added m4 directory (since it is distributed in the tarball).

2008-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	Forgot to update Makefile.am too (for r5680).

	configure.in: added AC_CONFIG_MACRO_DIR([m4]) for r5680.

2008-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-gmp.c] added comment on recent bug fix on MacOS

	[tests] changes to make compilation work with g++ (only fixed errors,
	        several warnings remain)

2008-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	Added m4/size_max.m4 file (from gettext).

	README.dev: paragraph on tentative definitions.

2008-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr-gmp.c] replace tentative definitions by real definitions, solves
		     configure problems with mpc (see https://lists.gforge.inria.fr/pipermail/mpc-discuss/2008-November/000048.html)

2008-11-18  Vincent Lefèvre  <vincent@vinc17.net>

	hypot.c: updated a comment.

	tests/thypot.c: added a test.

	hypot.c: simplified an expression; cosmetic changes.

2008-11-17  Philippe Théveny  <philippe.theveny@laposte.net>

	hypot.c: Fix underflow problem when diff_exp<=MPFR_EMAX_MAX-2 using fma (provided that mpfr_fma is immune to it).

	algorithms.tex: Fix one typo in dilogarithm section.

2008-11-12  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi, NEWS: update concerning mpfr_eq.

	mpfr.texi: improved mpfr_eq documentation.

2008-11-12  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tstrtofr.c: Add more information when test bug20081028 fails.

2008-11-07  Philippe Théveny  <philippe.theveny@laposte.net>

	strtofr.c: Replace non-zero digits look up by a simpler test, using the fact that parse_string did remove zeros at end of pstr->mant.
	tests/tstrtofr.c: Add other test values around 1 for the bug20081028 non regression test.

2008-11-07  Vincent Lefèvre  <vincent@vinc17.net>

	strtofr.c: improved style ("exact" is a boolean).

2008-11-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c]  new patch (ternary value was still wrong in some cases), should
		     be ok now
	[tstrtofr.c] added new test

2008-11-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[strtofr.c] review of patch added in revision 5660, and added comments

2008-10-29  Vincent Lefèvre  <vincent@vinc17.net>

	Updated NEWS file.

	strtofr.c: in r5660, as pstr_size and pstr->prec both have type size_t,
	changed the type of i from mp_size_t to size_t for consistency.

	strtofr.c: reverted the change done in r3008, which led to a trivial
	assertion. I think the goal is to make sure that pstr_size (of type
	size_t) can be represented in a mp_exp_t (as required in the code).

2008-10-29  Philippe Théveny  <philippe.theveny@laposte.net>

	strtofr.c: fix bug '[#6604] incorrect directed rounding in mpfr_strtofr'.

2008-10-29  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: replaced $(...) quoting style by "`...`" since the former
	is not supported everywhere (and indeed is not used by the autotools):
	https://gmplib.org/list-archives/gmp-bugs/2008-October/001185.html

	tests/tstrtofr.c: added bug20081028 (bug found by Christoph Lauter
	in mpfr_set_str; this is the corresponding bug in mpfr_strtofr).

	tests/tstrtofr.c: corrections related to C usage.

	tests/tset_str.c: added bug20081028 (bug found by Christoph Lauter).

2008-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated @dircategory (request by Karl Berry).

	This is now GNU MPFR!

	README: CVS -> Subversion.

2008-10-23  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: Fix bug with '#' and 'g' flag combination, see also defect report at  http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_233.htm.
	tests/tsprintf.c: Fix wrong test value accordingly, add non-regression tests.

2008-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[get_d64.c,set_d64.c] added reference to TR 24732

2008-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: added a comment about MPFR_SIGN.

2008-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[mpfr.h] fixed typo, and added warning about MPFR_SIGN.
		 Shouldn't we move it in mpfr-impl.h?

2008-10-03  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL, configure.in: corrected documentation of --with-gmp* options.

2008-10-02  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: gave more details about --with-gmp-build.

2008-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[INSTALL] added warning about usage of --with-gmp-build

2008-09-21  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: updated LIA-2 terminology ("pole" was in the latest public draft,
	"infinitary" in the final standard).

2008-09-19  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tstrtofr.c: Remove underflow test unintentionally committed with revision 5640.

2008-09-18  Philippe Théveny  <philippe.theveny@laposte.net>

	Remove obsolete mpfr_random function and replace it by mpfr_urandomb in tests.

	Add void in prototype.

2008-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c: added comments about the MPFR_FPU_PREC macro.

2008-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[tget_str.c] replaced 'double' input by 'char*' to avoid problems with single
	             precision (partially solves #3353)

2008-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[README.dev] added item about coverage of releases

2008-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	final got rid of generic.c (bug 6199)

	[generic.c] removed unused file

2008-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS, mpfr.texi: documented the fact that mpfr_random and mpfr_random2
	will be suppressed in the next release.

	ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC svn log -rHEAD:0 -v".

2008-09-10  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tpow_z.c: Check test for bug20080904 with the minimum possible negative exponent so as not to underflow with (future) 128 bits machine.

2008-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	pow.c: fixed bug20080904 (from tpow_z.c).

	pow.c: added log messages.

2008-09-05  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tpow_z.c: Add a test that underflows.

2008-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: updated a comment (for the next automake version).

	NEWS: added a note about mpfr_init_gmp_rand (removed in r4953).

2008-09-04  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: update (about AM_MAINTAINER_MODE).

2008-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Updated README file.

2008-09-01  Vincent Lefèvre  <vincent@vinc17.net>

	Removed patch-libtool and updated README.dev as libtool has been fixed.

	NEWS file update (get default $CC and $CFLAGS from gmp.h).

	configure.in: removed a useless blank line.

	README.dev: reverse-merged r5440 (about __GMP_CC/__GMP_CFLAGS) as said.

2008-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[algorithms.tex] the truncation error for rec_sqrt was correct, but the
	reasoning was not detailed enough

2008-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	Added patch-aclocal-icc; this is a port of the patch posted on
	  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=485421
	for aclocal.m4 when libtool 1.5.26-4 from Debian has been used.

2008-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[rec_sqrt.c] fixed bug "bad_case1" (truncation error was forgotten, when
	output precision was smaller than input precision)

2008-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated the month.

2008-08-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/trec_sqrt.c: enable the tests only with MPFR 2.4.0+.

	NEWS: noted when some changes were applied in 2.3.* versions.

2008-08-25  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: completed information about integer types.

	README.dev: added information about mixing signed and unsigned types.

	li2.c: avoid even more mixing between signed and unsigned types, by
	casting mpfr_prec_t to mp_exp_t in expressions involving mp_exp_t.
	This time the bug is fixed: tli2 no longer freezes in 64 bits.

	li2.c: use an "int" instead of "unsigned int" in li2_series() to avoid
	mixing signed and unsigned types, which can yield implicit conversions
	from signed into unsigned, and maybe problems on some platforms. This
	doesn't fix the current freeze of tli2 on 64-bit machines, though.

2008-08-24  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tgeneric.c: changed the way a warning with gcc 4.2+ is avoided
	(r5335), as suggested by Manuel López-Ibáñez on GCC bug 36299.

2008-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	Added data_check support to mpfr_sqr.
	Added bad_cases support to mpfr_sqr and mpfr_sqrt.

	tests/tsqr.c: corrected function definitions.

	Added data_check & bad_cases support to mpfr_rec_sqrt.

	tests/trec_sqrt.c: added bad case that makes mpfr_rec_sqrt fail.

	mpfr-impl.h: as not all ICC versions define the __ICC macro (only
	the __INTEL_COMPILER macro can be defined), define the __MPFR_ICC
	and __MPFR_GNUC macros in another way.

	tests/tsprintf.c: fixed compilation failure when HAVE_DENORMS isn't
	defined, such as with icc 10.1 on Itanium.

	tests/tprintf.c: to allow random values to be reproducible,
	do not call randlimb several times in a same expression,
	because the evaluation order is unspecified.

	tests/tpow_all.c: added test of mpfr_rec_sqrt (only with MPFR 2.4.0+).

	tests/tpow_all.c: removed useless parentheses.

	rec_sqrt.c: added logging support.

	algorithms.tex: replaced "towards" by "toward" for consistency with
	the MPFR manual and the standards.

	algorithms.tex: corrected English usage, spelling and typography
	in the section on mpfr_hypot.

2008-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	tests/thypot.c: added a test for tiny x and y (already done by the
	generic tests, but not yet in the 2.3 branch in extended exponent
	range).

	tests/tgeneric.c: for the special cases tested in precision p1
	for n <= 3, set the extended exponent range.

	tests/thypot.c: improved error messages.

	tests/thypot.c: perform some tests both in the current exponent range
	and in the extended exponent range, so that the lost-overflow bug of
	MPFR 2.3.1 can be triggered on 64-bit machines too.

	tests/tpow_all.c:
	  * In cmpres(), if z1 and z2 were both zeros, their sign wasn't tested.
	  * Added test of mpfr_sqr and mpfr_sqrt.

	mpfr.texi: added a paragraph on MPFR internal data.

	pow_si.c: fixed the underflow/overflow detection for n < 0 by using
	a method similar to mpfr_pow_z.

	pow_si.c: added logging support.

	pow.c: fixed bug in mpfr_pow_general by computing correct bounds
	on exp(y*ln|x|). ==> tpow no longer fails in bug20080820.
	Note: this bug could affect only underflow cases and possibly cases
	near overflow.

	tests/tpow.c: updated comment for bug20080820().

	tests/tpow.c: added testcase for bug mentioned in r5552.

	pow_z.c: solves the underflow problem in round-to-nearest by using
	mpfr_pow_general in precision 2 (like in mpfr_pow_pos_z), but this
	currently fails due to a more general bug from r4940 (the rounding
	modes to compute an upper bound on exp(y*ln|x|) are incorrect).

	pow_z.c: formatting.

	pow_z.c: moved a log message.

	pow_z.c: added log messages.

	tests/tpow_all.c: added an underflow test of x^y with y integer < 0.

	pow_z.c: no longer take care of the possibly lost overflow flag, as
	the other functions do not do this either; this general problem has
	been fixed in mpfr_check_range (r5545).

	Fixed the following problem:
	  The overflow flag can be lost in many functions called with the
	  maximum exponent equal to MPFR_EMAX_MAX (this is the default on
	  32-bit machines) when the temporary result (in a higher precision)
	  is representable but once rounded, it yields an overflow.
	This needed a slight change of behavior of the mpfr_check_range function
	(defined in exceptions.c). Described this change in mpfr.texi and NEWS.

	pow_z.c: fixed some of the underflow/overflow problems for z < 0.

	tests/tpow_all.c: fixed mpfr_clear in overflow_inv.

	tests/tpow_all.c: more detailed error messages.

	tests/tpow_all.c: improved overflow_inv tests to trigger a bug
	in mpfr_pow_z due to incorrect rounding mode settings in r5315:
	on a 64-bit Linux machine, "./tpow_all 1" ends with:
	Bad overflow flag in overflow_inv for mpfr_pow, extended exponent range,
	s = 1, t = 1, GMP_RNDZ

	tests/tpow_all.c: in overflow_inv, reduced t to [0,5] and added tests.

2008-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tpow_all.c: improved error messages.

	tests/tpow_all.c: changed the precisions in overflow_inv for clearer
	output (the reported failures are the same).

	tests/tpow_all.c: information about extended exponent range wasn't
	always output. For simplicity to provide such an information, made
	ext a global variable.

	tests/tpow_all.c: added overflow tests for x^(-1). -> Failure.

	Fixed basic underflow checking in mpfr_pow.

2008-08-18  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: defined macro INITIALIZED to declare that some variable
	  is initialized before being used.
	README.dev: described the use of this macro.
	lngamma.c: replaced the dummy initialization by this macro.

2008-08-16  Vincent Lefèvre  <vincent@vinc17.net>

	pow.c: updated comments.

	tests/tpow_all.c: added tests -> assertion failed in pow.c line 603.

2008-08-15  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tpow_all.c: added test of mpfr_ui_div.

	pow_z.c: improved comments.

2008-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: additions related to MPFR caches.
	  * Added Section "Memory Handling" mentioning caches.
	  * Added call to mpfr_free_cache in the first example.
	  * Updated description of function mpfr_free_cache.

	tests/texp.c: improved an underflow test to trigger the bug fixed
	in r5453 on 32-bit machines too.

	log.c: fixed a log message.

	exp_2.c: fixed other log messages.

	exp_2.c: fixed a log message (the format didn't correspond to the types)
	and improved it.

2008-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tdiv.c: completed underflow test by testing negative results too.

	mul_2si.c, div_2si.c, div_2ui.c: fixed double-rounding problem in
	rounding to nearest when the rounded result in unbounded exponent
	range is 2^(emin - 2).
	tests/tmul_2exp.c: test x = 15/16 too. Now tmul_2exp no longer fails
	(with the correction in div.c from r5515).

	tests/tdiv.c correction: the underflow bug was in case when the
	result had to be zero.

	div.c: fixed underflow bug that occurs in rounding to nearest when
	the rounded result in unbounded exponent range is 2^(emin - 2) and
	inex > 0: one got a non-zero result instead of +/-0.

	tests/tdiv.c: added a test that triggers a bug in mpfr_div in case of
	underflow in rounding to nearest when the result must be non-zero.

	div.c: added logging support.

	tests/tmul_2exp.c: test mpfr_div_2ui too.

	tests/tmul_2exp.c: test mpfr_div_2si too.

	tests/tmul_2exp.c: updated underflow() test to trigger a double-rounding
	bug in case of underflow.

	tests/texp.c: updated comment (the double-rounding bug triggered by
	underflow_up() is in mpfr_mul_2si).

	tests/texp.c: updated underflow_up() test: added case exp(eps) ~= 1/2,
	which fails due to a double-rounding problem in rescaling the result.

	tests/texp.c: improved comments in underflow_up().

2008-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	Merged vlefevre branch:
	    svn merge -c-5445 .
	    svn merge -r5436:HEAD .../mpfr/branches/vlefevre
	* pow.c:
	  - Moved the general case from mpfr_pow() to a new internal function
	    mpfr_pow_general().
	  - In this function (from old code), avoid unnecessary overflow test
	    if the intermediate result is not an infinity (which was the case
	    of underflow with non-zero result, thus not an overflow).
	  - Fixed a double-rounding problem that occurred in this function in
	    some underflow cases when rescaling the result.
	  - Added log messages.
	* mpfr-impl.h: added mpfr_pow_general prototype.
	* pow_z.c:
	  - The underflow case of mpfr_pow_pos_z() in rounding to nearest,
	    which was incorrect, is now handled by calling mpfr_pow_general(),
	    which can scale the result thus decide whether the rounded result
	    should be 0 or nextabove(0). To avoid the exact cases of x^y with
	    y integer (not supported by mpfr_pow_general()), rounding is done
	    in precision 2 (this is also faster!).
	  - Fixed underflow-related bug (case exact result = 2^(emin-2), in
	    rounding to nearest).
	  - Added log messages.
	* pow_ui.c:
	  - Swapped parameters x and y for consistency (-> y = x^n).
	  - Fixed the internal overflows and underflows (which could yield
	    spurious overflows/underflows and incorrect results) by using
	    mpfr_pow_z.
	* tests/tpow_all.c:
	  - Test flags in test_others and cmpres; cmpres argument z1 can now
	    be a null pointer (if unknown pure FP value, thus not tested).
	  - Added a test of 2^(emin - i/4) with 0 <= i <= 12, that triggered
	    the bugs mentioned above (and now fixed).

	[Added during the Subversion to Git conversion]
	A merge commit could not be generated for Git.
	Branch in Git: refs/deleted/r5506/heads/vlefevre

2008-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tmul_2exp.c: added underflow tests.

	Added logging support to mpfr_{mul,div}_2{si,ui}.

2008-08-08  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: added a space for MPFR_LOG_MSG.

	README.dev: corrected MPFR_LOG_MSG example.

	mpfr.h: added a comment concerning ICC.

2008-08-07  Vincent Lefèvre  <vincent@vinc17.net>

	Final code clean-up based on icc warnings.

	Further code clean-up (and consistency) based on icc warnings:
	  * Removed useless code.
	  * Avoid hiding variable declarations.
	  * Use #ifdef BOOL_MACRO instead of #if BOOL_MACRO.
	  * In MPFR_RNDRAW_GEN macro definition, variables declared locally now
	    start with an underscore to avoid possible conflits with parameters
	    (and modified macro calls that use these variables).

	round_prec.c: avoid hiding variable declaration (detected by icc).

	pow_si.c: fixed Ziv's iteration (code from r3305) by using MPFR_ZIV_NEXT
	(problem detected by icc, because variable "loop" was never used).

	mul_ui.c: removed variable that was set but never used (detected by icc,
	but not by gcc, probably because of early optimization).

	inp_str.c: fixed possible implementation-defined behavior (a value
	from the unsigned char range -- from getc -- was stored in a char,
	and if the char type is signed and the value cannot be represented
	in a char, this is implementation-defined).

	get_str.c: avoid hiding variable declaration (detected by icc).

	div.c: avoid hiding variable declaration (detected by icc).

	mpfr.h, mpfr-impl.h: avoid warnings with icc (at least icc 10.1).
	README.dev: added a paragraph on the test of "boolean" macros.

2008-08-05  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: dist-lzma needs automake 1.10.1.

2008-08-04  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: "make dist" generates lzma-compressed tarball too.

2008-08-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] fixed case where cancel is negative, added comments and improved
	code when initial n is known to be 0

2008-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	exp_2.c: MPFR_EXP -> MPFR_GET_EXP.

2008-08-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	[exp_2.c] fixed bug20080731

2008-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	Added algorithms.out to svn:ignore property.

	tests/texp.c: added testcase for new bug found in mpfr_exp_2.

	exp.c, exp_2.c: fixed the overflow/underflow detection. The underflow_up
	test in texp.c still fails for mpfr_exp_2 only, but this seems to be due
	to a bug in this function (incorrect error bound?).

	tests/texp.c: added underflow tests to underflow_up; currently fail due
	to incorrect underflow detection in mpfr_exp (and if this detection is
	disabled, mpfr_exp_3 behaves correctly, but not mpfr_exp_2).

2008-07-31  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix typos, improve wording.

2008-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	Added logging support to mpfr_exp_2 (exp_2.c).

	tests/texp.c: updated comment concerning the bug fixed in r5469.

	exp.c: updated comment about the exp3.c routine.

	exp3.c: fixed internal underflow.

	fma.c, fms.c: added a comment about apparently incorrect scaling.

	Added logging support to mpfr_sqr and mpfr_sqrt.

2008-07-31  Philippe Théveny  <philippe.theveny@laposte.net>

	hypot.c: Fix comment.
	BUGS: Add known bug for mpfr_hypot.

2008-07-30  Philippe Théveny  <philippe.theveny@laposte.net>

	algorithms.tex: Prove the correctness of the algorithm used for mpfr_hypot
	when the difference of inputs' exponents is less then exp_max - 2.
	hypot.c: Change algorithm according to its description in algorithms.tex
	tests/thypot.c: Fix tests (some were present but didn't trigger any error).

2008-07-30  Vincent Lefèvre  <vincent@vinc17.net>

	tests/texp.c: completed a comment.

	tests/texp.c: updated underflow_up test of log(2^(emin - 1)) + eps:
	  * In the old test (- log(2) < eps < 0 in GMP_RNDN), do not test
	    the flags, as this may be incorrect on some platforms (though
	    unlikely). Better tests will be provided later.
	  * Added test for case eps > 0, which triggers a bug in mpfr_exp_3
	    (underflow flag sometimes set while it shouldn't be set).

	exp.c: completed a comment, describing how rigorous underflow/overflow
	detection can be done.

	exp.c: removed an incorrect comment (corresponds to exp_2.c and already
	in exp_2.c).

2008-07-29  Vincent Lefèvre  <vincent@vinc17.net>

	exp.c: underflow/overflow detection is still a bit incorrect.

	TODO: added "test underflow/overflow detection...".

	exp.c: fixed underflow/overflow detection.

	exp_2.c: GNU style.

	mpfr-impl.h: make sure that mpfr_get_exp_t and mpfr_set_exp_t are
	correctly defined.

2008-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/texp.c: updated comment of underflow_up.

	exp_2.c: solved the assertion failure by detecting a zero due to a
	cancellation and increasing the precision via Ziv's loop in such a
	case.

	exp_2.c: added another assertion, that is checked independently of
	the value of MPFR_EXP_2_THRESHOLD (better for debugging).

	exp_2.c: added an assertion (more explicit than a similar assertion
	that would fail later) in mpfr_exp2_aux, caught by the underflow_up
	test in texp.c for prec = 16 on a 64-bit Linux machine.

2008-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	tests/texp.c: added a test that shows incorrect underflow detection
	in mpfr_exp, with possible assertion failure.

	tests/tpow_all.c: added test of mpfr_exp2 and mpfr_exp10.

	TODO: update.

	TODO: added "option to use a 32-bit exponent type on LP64 machines".

2008-07-23  Vincent Lefèvre  <vincent@vinc17.net>

	acinclude.m4: updated AC_PREREQ line due to the use of AC_PROG_SED.

2008-07-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reminder

	patch from Patrick to get __GMP_CC and __GMP_CFLAGS from gmp.h
	(future undocumented feature for GMP 4.2.3) -> we need to check
	those are the names chosen by GMP 4.2.3 when it will be out

2008-07-21  Vincent Lefèvre  <vincent@vinc17.net>

	pow.c: fixed incorrect rounding in the general case when the result
	is negative and rnd = GMP_RNDD or GMP_RNDU (bug20080721 in tpow.c).

	tests/tpow.c: completed test bug20080721.

	pow.c: fixed the non-trivial cases with large integer y.

	tests/tpow.c: added comment for bug20080721.

	tests/tpow.c: found another bug in mpfr_pow with large integers.

	tests/tpow_all.c: added a test that detects a bug in an underflow case.

	tests/tpow_all.c: made the comparisons between the power functions
	generic to be able to add other tests.

2008-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	pow_z.c: use MPFR_IS_POS(x) instead of MPFR_SIGN(x) > 0.

	pow_si.c: corrected a comment.

	tests/tpow_z.c: fixed NaN^0 test.

	Fixed a bug in pow_ui.c and pow_z.c: NaN^0 returned NaN instead of 1
	(see documentation). Affected functions: mpfr_pow_ui, mpfr_pow_si and
	mpfr_pow_z (but not mpfr_pow). Added new test file tests/tpow_all.c
	to test all the MPFR power functions on simple and special values.

2008-07-19  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: forgot the case x^(±0).

	pow_z.c: updated comments.

	tests/tpow_z.c: test bug20080223() didn't check that the result wasn't
	a NaN. Fixed.

	tests/tsprintf.c: removed trailing whitespace.

2008-07-11  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: potential problem with integer division and pre-C99 compilers,
	noted by Philippe.

2008-07-08  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix typos

2008-06-30  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix typo (gmp macro TMP_ALLOC instead of MPFR_TMP_ALLOC).

2008-06-27  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: fixed comment from r5408.

2008-06-27  Philippe Théveny  <philippe.theveny@laposte.net>

	acinclude.m4: add a check defining va_copy macro when needed.
	vasprintf.c: use TMP_ALLOC instead of variable-length array (C99).
	tests/tfprintf.c tests/tsprintf.c: #define length of array instead of const int so as to avoid variable-length array (C99).
	tests/tprintf.c: #define length of array instead of const int so as to avoid variable-length array (C99).
	                 remove use of function dup (dependency with <unistd.h>).

2008-06-25  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated "To make a release" (mention various compilers).

2008-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: added comments about icc.

2008-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: added "replace the *_THRESHOLD macros by global (TLS) variables
	that can be changed at run time [...]".

2008-06-16  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: updated GMP's URL (the old one no longer worked), using
	http://www.gnu.org/software/gmp/ as suggested by Karl Berry (see
	GNU policies).

2008-06-13  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: changed the license for the inclusion of the manual in Debian
	(see <https://www.debian.org/vote/2006/vote_001).

2008-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	AUTHORS: converted from ISO-8859-1 to UTF-8 (this is the standard
	nowadays and this is the encoding declared on InriaGforge).

2008-06-11  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix typo in mpfr_printf documentation.

2008-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: removed a misleading and now useless comment.

	vasprintf.c: improved a comment.

	tsprintf.c: typo in a comment.

2008-06-11  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix comparison between mpfr string and libc string.

2008-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for bug(?) found by Vincent with icc

2008-06-10  Philippe Théveny  <philippe.theveny@laposte.net>

	Change #include <stdio.h> to #include <cstdio> when compiled with a C++ compiler.
	Assume that mpfr_rnd_t and wchar_t arguments in a variadic functions are converted to 'int' by C++ compilers.

2008-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: generate an error (with a clear error message) with g++ and
	--enable-logging since compilation fails (--enable-logging is mainly for
	testing and is already incompatible with threading support anyway).

2008-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	the O(l^{1/2}) method to evaluate power series is due to
	Paterson and Stockmeyer and not Brent/Kung

2008-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	Clean-up and various changes to be able to build MPFR with g++.
	But the following 3 tests currently fail with g++ 4.3.1:
	  FAIL: tprintf
	  FAIL: tsprintf
	  FAIL: tfprintf
	This is an "Illegal instruction" error, so probably a bug in g++.
	[Edit: acinclude.m4 now uses gl_SIZE_MAX, typically from size_max.m4,
	but which is not installed on all machines; this will be added to the
	MPFR repository in changesets 5680 and 5683.]

	vasprintf.c: do not use pointer arithmetic on void *.

	configure.in: added -Wpointer-arith to gcc options (this warning
	is useful as pointer arithmetic on void * is a gcc extension and
	doesn't work with g++).

	README.dev: mentioned a libtool bug with recent versions of icc.

	sum.c:
	  * Completed a comment about T ** and const T ** mismatch.
	  * Removed a useless and misleading const that makes icc complain.

2008-06-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typos

2008-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use DeclareMathOperator for erf and erfc

	fixed typo, added argument reduction for atan (we should try it since I believe
	atan is slow wrt exp, log, sin, cos for large precisions)

	simplified error analysis of log1p (did not match the code), and improved the
	code (in particular when 1+x is exact, directly call mpfr_log and avoid Ziv).

2008-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	rec_sqrt.c: removed execution bit.

	mpfr.texi: update about build problems and the FAQ.

	mpfr.texi: added a comment about why the cross reference to GNU Libtool
	doesn't work from MPFR's directory.

	mpfr.texi: added Section 4.1 "Headers and Libraries" partly based on
	GMP's. Note: in the generated mpfr.info file, the cross reference to
	libtool does not work (though GMP's info manual has exactly the same
	one and it works there). I couldn't figure out why.

	mpfr.texi: make cross reference in HTML similar to texinfo's default one
	in PDF.

2008-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated the month.

	mpfrlint: check the LGPL license version.

	mpfr.texi: updated paragraph on the license in "Introduction to MPFR".

	mpfr.texi: updated GFDL version from 1.1 to 1.2 to match fdl.texi
	(this should have been done in r4059).

	mpfrlint: check GFDL versions.

	mpfr.texi, update-version: in the MPFR manual, replaced two
	http://www.mpfr.org/ by the URL corresponding to the version,
	which can be updated by update-version.

	mpfr.texi: completed paragraph on MPFR vs double-precision numbers.

	mpfr.texi: replaced each @code{mpfr} by MPFR (for consistency).

2008-06-03  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: fixed a comment.

2008-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	tests: added tprintf to svn:ignore property.

	Added documentation about "'var' may be used uninitialized in this
	function" warnings.

2008-05-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	Added comments about int i = i trick to avoid warning about uninitialized
	variables. This has the advantage to generate no code, but works for gcc only.

2008-05-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	initialize bbcp and bbcp1 to -1 (should be invalid)
	added MPFR_ASSERTN to check they are not -1 before reads
	simplified a test: (rnd == RNDN) || (rnd != RNDZ) ==> rnd != RNDZ

	got rid of false (?) compiler warnings for uninitialized values
	-> we might want to revert this change if we find a better solution and/or
	   if the problem is fixed in gcc

2008-05-20  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted changeset r5355. Better patch to avoid the warnings
	"warning: label 'addoneulp_doit' defined but not used" in
	MPFR_RNDRAW_GEN by adding the dummy code in the macro itself.

	Avoid warnings "warning: label 'addoneulp_doit' defined but not used"
	due to the use of MPFR_RNDRAW_GEN. Dummy source code is inserted, but
	this is safe, clean (optimized away) and IMHO not too obtrusive.

2008-05-08  Vincent Lefèvre  <vincent@vinc17.net>

	acinclude.m4: locally add -I$srcdir to CPPFLAGS for the thread-safe test
	(fixes bug #5556).

2008-04-10  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: added a paragraph about -ffast-math / -fast compiler options.

2008-04-07  Vincent Lefèvre  <vincent@vinc17.net>

	tcmp.c: fixed some tests (if mpfr_cmp2 returns an incorrect result,
	the bug may be some non-reproducible behavior, so don't compute it
	a second time to say what the value was!) and clean-up.

2008-04-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed compiler warning

2008-04-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	some other changes suggested by Patrick Pelissier for 16-bit portability

	a few patches suggested by Patrick Pelissier to ease porting to 16-bit
	architectures: removed useless #include <time.h>, changed 1024 to 1024L,
	int i to lng i

2008-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item about frac_* functions

2008-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

2008-03-11  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tfprintf.c: set output to stdout when invocked with one command-line
	                  parameter.
	tests/tprintf.c: add IO errors processing.

2008-03-10  Philippe Théveny  <philippe.theveny@laposte.net>

	tests/tprintf.c: add tests for mpfr_printf and mpfr_vprintf.
	Makefile.am: add tprintf.c to check_PROGRAMS.

	TODO: remove newly added functions
	vasprintf.c: change type of some variables taking care of signed/unsigned
	             comparisons, improve conditional tests, improve buffer
	             allocation, improve comments.
	tests/tfprintf.c: remove silly code.

	acinclude.m4: add check for long long compiler support, define HAVE_LONG_LONG.
	vasprintf.c: raise an error when it encounter an unsupported format in format
	             string.
	tests/tfprintf.c: HAVE_SDTINT_H -> _MPFR_H_HAVE_INTMAX_T

	vasprintf.c: fix rounding bit bug with %RNa.
	tests/tsprintf.c: add tests for %RNa (rounding bit bug, tie case, trailing
	zeros in fractional part.

	vasprintf.c: fix bug in macro CONSUME_VA_ARG with a mp_limb_t or mp_limb_t array argument
	vasprintf.c: clean code storing the number of character in a pointer and fix bug with a mp_limb_t or mp_limb_t array argument
	tests/tfprintf.c: add tests for %n with all kinds of type, get rid of machine dependent limits of type (use +1/-1 instead)

	vasprintf.c: fix bug of forgotten decimal point with %#.0Rf
	tests/tsprintf.c: add test with %#Rf and an integer mpfr_t

	li2.c: improve error estimation in Ziv loop.
	algorithm.tex:improve proof of mpfr_li2 algorithm.

	hypot.c: change shift amount for exponents so as to avoid overflow in Ziv loop.
	algorithm.tex: improve proof for mpfr_hypot algorithm (unfinished).

2008-03-07  Vincent Lefèvre  <vincent@vinc17.net>

	tgeneric.c: avoid a warning with gcc 4.2+ about a test that is always
	true (the style of the code is now a bit better too).

2008-02-29  Philippe Théveny  <philippe.theveny@laposte.net>

	add mpfr_hypot

	fix wrong arguments (set in r5332)

	add missing functions

	cosmetic changes

2008-02-28  Philippe Théveny  <philippe.theveny@laposte.net>

	add mixed format tests (with different types and different sizes)

	vasprintf.c: fix "%%" bug
	tests/tsprintf.c: add a test setting "%%" bug off

	cosmetic changes

	use system number of bits in the significant of a double (instead of 53)

2008-02-27  Philippe Théveny  <philippe.theveny@laposte.net>

	add handle for the case exp(x) overflows but sinh(x) is representable

	further code simplification

	code simplification (same as in r5323)

	code simplification.

	add_d.c, div_d.c, sub_d.c, d_div.c, d_sub.c: restore flags in case of exception. This fixes the bug revealed by MPFR_SUSPICIOUS_OVERFLOW
	tests/tadd_d.c, tests/tsub_d.c, tests/tdiv_d.c, tests/tmul_d.c, tests/td_sub.c, tests/td_div.c, test/tmul_d.c: add checks for exception flags and ternary value

	mul_d.c: restore flags set by mpfr_mul. This fixes the bug revealed by MPFR_SUSPICIOUS_OVERFLOW
	test/tmul_d.c: add checks for exception flags

2008-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated the section about new functions (added a paragraph
	on exception handling).

2008-02-26  Philippe Théveny  <philippe.theveny@laposte.net>

	improve proof for euclidean distance algorithm (unfinished)

2008-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	pow_z.c: rewrote an ambiguous comment.

	pow_z.c: removed obsolete comments and updated a comment.

	pow_z.c: the same variable was used with two different meanings.
	Changed the type and the name of the one inside the Ziv loop
	(unsigned is theoretically more correct due to the bitwise OR).

2008-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug reported by Carl Witty (on 32-bit computers):
	sage: RR(1.99999999)^RR(-(2^30))
	5.11264311088393e-323228495
	sage: RR(1.999999999)^RR(-(2^30))
	0.000000000000000
	sage: RR(2.0)^RR(-(2^30))
	2.38256490488795e-323228497

2008-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added bug reported by Carl Witty

2008-02-22  Philippe Théveny  <philippe.theveny@laposte.net>

	remove commented code

	add worst cases for RNDZ and RNDU with inexact flag checking

2008-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	hypot.c: added a FIXME comment.

	algorithms.tex: one can have a better upper bound on \sqrt{x^2+y^2}-|x|
	(added as a comment in case this can be useful).

	algorithms.tex: use hyperref.

2008-02-21  Philippe Théveny  <philippe.theveny@laposte.net>

	add more details in mpfr_hypot description

	cosmetic change: display "EXP" in small capitals
	no more use of {\rm \EXP}, use macro \Exp everywhere

2008-02-20  Philippe Théveny  <philippe.theveny@laposte.net>

	add worst case test

	add test with locale da_DK

	actually trigger overflow on all architectures

2008-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added MPFR_SUSPICIOUS_OVERFLOW in nightly tests

2008-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	hypot.c: fixed overflow flag problem in RNDD/RNDZ modes (testcase was
	added in r5301, and another check in r5300).

	tests/thypot.c: added check_overflow test (currently fails in 32 bits).

	tests/tgeneric.c: added a test that detects suspicious overflows and
	fails when the overflow flag is not set. This test is enabled only if
	the MPFR_SUSPICIOUS_OVERFLOW environment variable is set, and shows a
	bug in mpfr_hypot on 32-bit machines (i.e. when the current exponent
	range is the maximum exponent range, so that mpfr_check_range() has
	no effect).

2008-02-19  Philippe Théveny  <philippe.theveny@laposte.net>

	restore flag overflow dropped by MPFR_SAVE_EXPO

2008-02-18  Philippe Théveny  <philippe.theveny@laposte.net>

	use of (*__gmp_allocate_func)/(*__gmp_free_func) instead of
	mpfr_allocate_func/mpfr_free_func;
	the modification in r5281 doesn't work when mpfr is compiled with --gmp_build
	option.

2008-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	hypot.c: it's better to scale by (Ex + Ey) / 2.

	README.dev: now, the ChangeLog file should be in UTF-8, like in other
	software (not much difference in practice).

2008-02-18  Philippe Théveny  <philippe.theveny@laposte.net>

	improve code coverage

	code simplification

	take trailing zeros into account when separating thousands

2008-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem when x and y are very small

2008-02-18  Philippe Théveny  <philippe.theveny@laposte.net>

	hypot.c: set flags when returning
	tests/thypot.c: change custom random tests to tgeneric ones

2008-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	For the terminating null pointer of the functions mpfr_inits,
	mpfr_inits2, mpfr_clears, always use the type mpfr_ptr (no longer
	void *). Updated the description of these functions in the manual
	(mpfr.texi). The reason is that the C standard does not guarantee
	that (void *) 0 has the same representation as a null pointer to
	a structure (and even the same size). In most C implementations,
	the representations are the same, but one never knows (dynamical
	checking is also always possible)...
	The change has been done with: perl -pi -e \
	  's/(mpfr_(clear|init)s.*)\(void *\*\) *0\)/$1(mpfr_ptr) 0)/' **/*.c
	under zsh.

2008-02-15  Philippe Théveny  <philippe.theveny@laposte.net>

	fix typo

	vasprintf.c: fix buffer_sandwich (use for thousands separator)
	tests/tsprintf.c: add tests with "da_DK" locale

	add generic tests

	cosmetic changes

	fix incorrect function call

2008-02-14  Philippe Théveny  <philippe.theveny@laposte.net>

	fix "%P" case, add test for it.

2008-02-13  Philippe Théveny  <philippe.theveny@laposte.net>

	avoid style 'f' with large numbers

2008-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	tests: updated svn:ignore property.

2008-02-12  Philippe Théveny  <philippe.theveny@laposte.net>

	use of mpfr_allocate_func/mpfr_free_func instead of malloc/free

	remove unneeded free and mpfr_clear

	add tests for mpfr_snprintf and mpfr_vsnprintf

2008-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: added a note about freeing the memory in the tests.

2008-02-12  Philippe Théveny  <philippe.theveny@laposte.net>

	move tests of mpfr_get_str function from tout_str.c to tget_str.c

	initialize fmt[] size

	tfprintf.c: fix comment.
	tsprintf.c: fix comment and get rid of libc rand().

	rename tprintf.c as tsprintf.c, because it does not deal with mpfr_printf.
	add tests for mpfr_fprintf functions

	remove errno setting in snprintf, it is already done in vasprintf
	correct grammatical faults in comment

2008-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c: undo r5270.

	tests/tests.c: fixed assertion failure introduced in r5265.

2008-02-08  Philippe Théveny  <philippe.theveny@laposte.net>

	remove exponent checking

	mpfr-gmp.h: Cancel r5261 changes removing the overload due to added test.
	set_uj.c: Don't call memset when len is zero.

	improve assertion.

	add support of thousands separator option (' flag, defined in Single UNIX Specification v2)

	better string buffer management

2008-02-07  Vincent Lefèvre  <vincent@vinc17.net>

	In tests_default_random, allow emin and emax to be outside of the
	current exponent range, so that underflow/overflow checks can be
	done on 64-bit machines. If the resulting random number is outside
	of the current range, the exponent range is extended, and restored
	by the caller once the test has been done.
	In tests/tacosh.c, changed TEST_RANDOM_EMIN and TEST_RANDOM_EMAX
	to MPFR_EMAX_MAX for test_generic_huge, so that the intermediate
	overflow case in mpfr_acosh is tested on 64-bit machines.

2008-02-07  Philippe Théveny  <philippe.theveny@laposte.net>

	fix comment.
	In fact, GNU libc4 accept '%F', libc5, glibc 2.0, and glibc 2.1 don't, and glibc 2.2 accept it with C99 semantics.

2008-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: added a comment about the mpfr_rnd_t enum.

	mpfr-impl.h: removed MPFR_CHECK* macros as they are not used.

2008-02-05  Philippe Théveny  <philippe.theveny@laposte.net>

	MPN_ZERO (dst, n) doesn't call memset when n==0, it prevents warning when compiled with gcc -D_FORTIFY_SOURCE

2008-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added suggestion from Keith Briggs

2008-02-04  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: add code for %n specifier with any type
	tests/tprintf.c: add test for %n specifier

	improve mention on format string restriction

	mention restriction on type field in the format string.

	check possible overflows in exponent part, improve comments.

	ensure null-terminated string for (v)snprintf.

2008-02-01  Philippe Théveny  <philippe.theveny@laposte.net>

	improve mpfr_printf documentation

2008-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	tests.c: fixed perror argument in data_check.

2008-02-01  Philippe Théveny  <philippe.theveny@laposte.net>

	improve error handling

	check fscanf return value, manage error case

2008-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added parentheses to avoid ambiguity (suggested by Keith Briggs)

2008-02-01  Philippe Théveny  <philippe.theveny@laposte.net>

	add some "%s" format string to prevent format string attack

2008-01-31  Philippe Théveny  <philippe.theveny@laposte.net>

	fix typo

2008-01-30  Philippe Théveny  <philippe.theveny@laposte.net>

	homogeneous use of logical variable

2008-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	rec_sqrt.c: use MPFR_GET_EXP instead of MPFR_EXP, and avoid the
	bitwise AND on a signed integer.

	Reformat.

	Document how to produce PDF and HTML versions of the manual.

2008-01-30  Philippe Théveny  <philippe.theveny@laposte.net>

	change to values acceptable by 32-bits machines

	fix wrong statement in MPFR_ASSERTD

2008-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added compilation options suggested by Debian:
	http://alioth.debian.org/projects/hardening/
	https://lists.debian.org/debian-devel/2007/12/msg00090.html
	(except -Wl,zrelro which does not seem to work)

2008-01-29  Philippe Théveny  <philippe.theveny@laposte.net>

	So as to avoid conversion error, get rid of mpfr_set_d/mpf_set_d except in random_double().
	Skip conversion error in random_double().

	fix typo in comment

	get rid of limitation on number of character by specifier

	vasprintf.c: fix %Rg case
	tests/tprintf.c: add %Re, %Rf, and %Rg tests
	tests/tprintf.c: add random checking against libc

2008-01-28  Philippe Théveny  <philippe.theveny@laposte.net>

	remove (undocumented) integer conversion support for mpfr_t

	set errno to EOVERFLOW when printf-like functions should return value exceeding INT_MAX

	change internal name of printf-like functions under preprocessor conditionals, add explanation in comment.

2008-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: added a possible class of tests.

2008-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	tests.c: remove a blank line in an error message.

	Test that the MPFR library version matches the mpfr.h version in any
	test file (this should avoid some bug reports that don't mention the
	real problem).

	tversion.c: improved an error message.

	acinclude.m4: fixed configure test for TLS support.

	NEWS file update (configure test for TLS support).

	Changes related to thread-local variables / TLS support.
	  * Moved the MPFR_THREAD_ATTR definition from mpfr-impl.h into a new
	    header file mpfr-thread.h, and updated Makefile.am accordingly.
	  * Removed the compiler check __MPFR_GNUC(3,3) || __MPFR_ICC(8,1,0)
	    as this test leaded to both false positives and false negatives
	    concerning TLS support. Assume that __thread should be used for
	    thread-local variables (except for the MS compiler).
	  * Added a configure test to acinclude.m4 (in MPFR_CONFIGS).

2008-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item about timings for a new release

	mbench program written by Patrick Pelissier to measure clock cycles of MPFR
	(and other libraries) for small precision

2008-01-22  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS: noted the changes concerning mpfr_strtofr (changesets 5146, 5147,
	5148, 5149, 5167, 5172, 5173).

	mpfr-gmp.h: small fix of a macro.

2008-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-gmp.h: for temporary allocations, use alloca() if size < 16384.

2008-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: inverse square root -> reciprocal square root.

2008-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_rec_sqrt in mpfr.texi (forgot in last commit)

2008-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS: added mpfr_rec_sqrt for MPFR 2.4.*.

2008-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed rec_sqrt (done)

2008-01-17  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: merge code for "%Ra" and "%Rb"

2008-01-16  Philippe Théveny  <philippe.theveny@laposte.net>

	cosmetic change: replace "enum _arg_type" by "enum arg_t"

	vasprintf.c: fix %g case; merge %e, %f, %g code
	tests/tprintf.c: add tests for %Rg

	add MPFR_SAVE_EXPO macros

	cosmetic changes: only one leading underscore for an identifier with file scope

	add needed va_list argument in READ_INT macro

2008-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	tests: added trec_sqrt to svn:ignore property.

	mpfr-impl.h: when building MPFR with the GMP build directory,
	use TMP_ALLOC(s) instead of TMP_SALLOC(s), as we don't know
	whether allocations are small or big (see gmp-impl.h).

2008-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved from ASSERTD to ASSERTN an assertion which does not depend on MPFR

2008-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	this file might be useful to test mpfr_rec_sqrt...

	rec_sqrt.c: complete rewrite, to allow to use directly the MPFR internal
		    representation as input (without shift), and to allow different
	            input and output precisions, without loss of efficiency
	other files: added new function mpfr_rec_sqrt

2008-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	rec_sqrt.c: deleted trailing whitespace.

	mpfr-gmp.{c,h}: no longer use alloca() for the temporary allocations as
	this can make MPFR crash in some high precisions, due to limited stack.

2008-01-14  Philippe Théveny  <philippe.theveny@laposte.net>

	add bug found by Paul Zimmermann

	vasprintf.c: fix wrong computation of digit number with %Rf when 0 < op < 1
	tests/tprintf.c: simpler 10^-n case

2008-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: typo.

2008-01-11  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated month.

	mpfr.texi: added a warning concerning huge precisions.

2008-01-10  Philippe Théveny  <philippe.theveny@laposte.net>

	fix %f case

	cosmetic changes

2008-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	small changes for acos/asin/atan/atan2 rounded outside their output range

2008-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added note about output of acos/asin/atan/atan2 which might be outside the
	function domain

2008-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new version with improved tables, use macros from mpfr-impl.h, removed tabs

2008-01-04  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed return value of mpfr_strtofr in case of invalid data (it was -1,
	but it should be 0 since it is a ternary value and the result is 0,
	which is exact). Added test of the ternary value in this case.

	mpfr.texi: better description of mpfr_strtofr.

	NEWS update (new functions in the trunk).

	Changes related to mpfr_strtofr.
	  * strtofr.c: for mpfr_strtofr, data corresponding to NaN can now have
	    an optional sign (since the documentation said that parsing followed
	    the standard C strtod function and this change makes invalid data
	    now valid, so that there should be no compatibility problems).
	  * tests/tstrtofr.c: changed the test for -42P17 in base 16 (this was
	    eventually regarded as a documentation bug); added tests.
	  * mpfr.texi: almost completely rewrote the specification of the
	    mpfr_strtofr function. Changes:
	    - the binary exponent is now accepted even without the 0b or 0x
	      prefix;
	    - data corresponding to NaN can now have an optional sign (this was
	      a bit ambiguous);
	    - many other ambiguities avoided.

2008-01-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	the function mpfr_mpn_rec_sqrt() provides a faithful approximation of the
	inverse square root. Some improvements can still be made, but the interface
	should not change, thus we can start writing the mpfr_rec_sqrt function that
	calls it.

2008-01-02  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ update.

2008-01-01  Vincent Lefèvre  <vincent@vinc17.net>

	tgamma.c: completed test in r5159 with another one that was failing
	in the default exponent range.

	delete trailing spaces.

2008-01-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in case of underflow (wrong sign)

2008-01-01  Vincent Lefèvre  <vincent@vinc17.net>

	gen_inverse.h: fixed the bug reported by Kevin Rauch a few hours ago
	(and that was detected by the generic tests and by mpfrlint after the
	latest changes).

	mpfrlint: incorrect use of mpfr_<flag>_p is also checked in .h files.

	Copyright notice update: added 2008 with
	  perl -pi -e 's/2007 Free Software/2007, 2008 Free Software/' **/*(^/)
	under zsh.

	tgeneric.c: in the bug detection with flags set before the function
	call, the erange flag was set, so that no checks were performed on
	the return value. Fixed that by not setting the erange flag.
	-> Now, 7 tests fail!

2007-12-31  Vincent Lefèvre  <vincent@vinc17.net>

	tstrtofr.c: added test of -42P17 with base = 0 and 16. This currently
	fails with base = 16 (-42P17 is parsed as -0x42P17 instead of -42 with
	the remaining characters "P17"), but we could alternatively regard the
	mpfr_strtofr specification (in mpfr.texi) as incorrect.

2007-12-30  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: corrections in the specification of mpfr_strtofr (see FIXME).

	strtofr.c: base arguments different from 0 and 2..36 have never been
	accepted. So, instead of returning the confusing -1 (it's a ternary
	value), let's add an assert for the moment. An alternative solution
	is to return 0 and set the erange flag.

	strtofr.c: minor change (in the style); a comment was ambiguous.

2007-12-29  Vincent Lefèvre  <vincent@vinc17.net>

	TODO update (tests: generic bad cases).

	Added #if MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0) conditionals to be
	able to test MPFR 2.3.* with the (more complete) tests from the trunk.

	README.dev: updated item 6 of "To make a release".

2007-12-28  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated month.

2007-12-27  Vincent Lefèvre  <vincent@vinc17.net>

	tests: check the exponent range, in particular at the end of each test.

	texceptions.c: GNU coding style.

	texceptions.c: restore the exponent range.

	exp2.c: removed incorrect comment (the overflow test was OK due to the
	mpfr_clear_flags above, but the new test is slightly better anyway).

2007-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tuning parameters for 32-bit Core 2
	(thanks to Patrick Pelissier and Emmanuel Thome)

2007-12-20  Vincent Lefèvre  <vincent@vinc17.net>

	tpow.c: enable testcase bug20071218.

2007-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: possible incorrect results due to internal underflow.

	pow.c: detect all underflow cases (some of them were leading to
	an infinite loop, see bug20071218 in tpow.c).

	mpfr-impl.h: updated description of MPFR_CAN_ROUND.

	round_p.c: in comment, "round to zero" -> "round toward zero".

	tpow.c: formatting.

	tpow.c: added testcase for another bug found by Kevin P. Rauch.
	Execute tpow with an argument to enable it.

2007-12-19  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: add sprnt_fp_e for "%e" processing
	tests/tprintf.c: change tests for decimal output (but need further tests)

	add checks for zero

2007-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the feature-block branch to the trunk:
	* New MPFR_BLOCK* macros (see mpfr-impl.h) and mpfrlint check to test
	  exception flags in a more reliable way and detect possible problems
	  with mpfrlint.
	* Improved the generic tests (tests/tgeneric.c): for the second
	  function call, sometimes set all the flags since risk of failures
	  are known when some flags are already set.
	* Modified code to use these new MPFR_BLOCK* macros. This fixed bugs
	  related to exceptions (where flags are set before the call); in
	  particular, tcot and ty1 failed with the improved generic tests.

	[Added during the Subversion to Git conversion]
	A merge commit could not be generated for Git.
	Branch in Git: refs/deleted/r5131/heads/feature-block

2007-12-18  Philippe Théveny  <philippe.theveny@laposte.net>

	printf.c: each mpfr_printf-like function return -1 and set erange flag in error case
	vasprintf.c: change types in struct char_fp
	vasprintf.c: add many size checking

	simplify code, improve comments

2007-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed bug in mpfr_pow_z: if x = y (same mpfr_t argument), the input
	argument is negative and not a power of two, z is positive and odd,
	an overflow or underflow occurs, and the temporary result res is
	positive, then the result gets a wrong sign (positive instead of
	negative). Testcase.

	Fixed bug in mpfr_pow_ui (introduced in r3214): if x = y (same mpfr_t
	argument), the input argument is negative, n is odd, an overflow or
	underflow occurs, and the temporary result res is positive, then the
	result gets a wrong sign (positive instead of negative). Testcase.

	pow_ui.c: fixed an assertion.

	BUGS: update concerning overflow/underflow exceptions.

2007-12-18  Philippe Théveny  <philippe.theveny@laposte.net>

	exponent continuity with one hexadecimal digit output

2007-12-17  Philippe Théveny  <philippe.theveny@laposte.net>

	#define CASE_INT_MAX_ARG to nil when HAVE_STDINT_H is not defined

	vasprintf.c: add sprnt_fp_b for "%b" processing
	tests/tprintf.c: add tests for binary output

	fix count of characters in exponent part

	simplify code, remove trailing spaces and improve comment

2007-12-17  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: added note about the successive calls to strcat in vasprintf.c.

2007-12-17  Philippe Théveny  <philippe.theveny@laposte.net>

	add tests for 1 hexa digit output

2007-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tpow.c: fixed indentation.

2007-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

	fixed bug reported by Kevin Rauch

2007-12-14  Philippe Théveny  <philippe.theveny@laposte.net>

	change display with just one hexadecimal digit

2007-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	simplified MPFR_FAST_COMPUTE_IF_SMALL_INPUT part (in case of overlap)

2007-12-14  Philippe Théveny  <philippe.theveny@laposte.net>

	fix wrong call

2007-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comments, got rid of compiler warnings

	added warning

2007-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	sin_cos.c: improved changeset 5084; in particular, added a missing cast.

2007-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	sin_cos.c, tsin_cos.c: fixed bug occurring when arguments overlap and
	   MPFR_FAST_COMPUTE_IF_SMALL_INPUT fails
	reuse.c: improved output in case of error

2007-12-14  Philippe Théveny  <philippe.theveny@laposte.net>

	improve one digit case, add comment

2007-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: added a FIXME comment. Bug?

	Minor changes concerning num_to_text. The ending \0 isn't needed.

2007-12-14  Philippe Théveny  <philippe.theveny@laposte.net>

	simplify error output code

	add num_to_text array for hexadecimal digits

	output errors to stdout

2007-12-13  Philippe Théveny  <philippe.theveny@laposte.net>

	vasprintf.c: group hexadecimal output processing in a new sprnt_fp_a function.
	tests/tprintf.c: add tests for %a case
	tests/tprintf.c: factorize error message output

2007-12-13  Vincent Lefèvre  <vincent@vinc17.net>

	get_d64.c: fixed comment.

	vasprintf.c: added missing #include <string.h> (useful if MPFR is built
	with the GMP build directory, as mpfr-gmp.h isn't used in this case).

2007-12-13  Philippe Théveny  <philippe.theveny@laposte.net>

	Fix typos.

	Add handle for null size case in mpfr_snprintf

	Add some comments and assertions.

	#define's for nan and inf strings

	short documentation of printf-like functions.

2007-12-12  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: added information about my tool "eet" to be able to see the
	warnings more easily.

	vasprintf.c: updated comment concerning the case nbchar > INT_MAX.

2007-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed default return value in mpfr_jn_k0

	fixed underflow problem in mpfr_exp_3

	tests/tset_str.c: added command-line argument for output base
	jn.c: replaced double-precision LOG2 constant by binary string (more portable)

	fixed underflow problem

	experimental code to distinguish Core2 from AMD64

	removed manual change to __gmpfr_emin outside the allowed range

	added suggestion from Patrick Pelissier

2007-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	Fixed another bug reported by Kevin Rauch (__gmpfr_emin was set smaller
	than the minimum allowed value, which produced an exponent wrap-around
	and a wrong result in mpfr_mul). Not sure if all problems are solved,
	nevertheless __gmpfr_emin is now in the allowed range.

2007-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed indentation.

	tests.c: in test4rm, initialize rndnext with an invalid value (meaning
	that rndnext will really be initialized later), and added an assert to
	check that this value isn't propagated to rnd.

	tests.c: added a comment about rndnext in test4rm.

	tests.c: added an assertion.

2007-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug reported by Kevin Rauch (wrong sign in case of underflow for
	large negative x and large odd negative y)

2007-11-29  Philippe Théveny  <philippe.theveny@laposte.net>

	untabify and remove trailing spaces

	fix padding error in sprnt_inf

	factorization of special numbers output in sprnt_nan and sprnt_inf functions

	fix comment about the size of format string buffer

	replace memory management functions mpfr_default_* by __gmp_*_func

2007-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated Core 2 thresholds (obtained with gmp-4.2.2 and Gaudry's patch)

2007-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	Typo in comment.

2007-11-29  Philippe Théveny  <philippe.theveny@laposte.net>

	fix typo pointed out in revision 5044

2007-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	printf.c: more comments about snprintf.

	printf.c: added a comment concerning a warning (a bug, IMHO).

	vasprintf.c: added FIXME comment concerning the case nbchar > INT_MAX,
	with a reference to POSIX.

2007-11-28  Philippe Théveny  <philippe.theveny@laposte.net>

	add explanations about buffer size

	change __gmp_const into const

2007-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	vasprintf.c: added an assert.

2007-11-28  Philippe Théveny  <philippe.theveny@laposte.net>

	fix output with space flag

	add MPFR_ASSERTD to prevent buffer overflow

	replace use of ptrdiff_t by size_t where possible

2007-11-27  Philippe Théveny  <philippe.theveny@laposte.net>

	factorisation of temp string alloc in buffer_pad function

	cosmetic changes

	compatibility of types between nbc fields and mp_exp_t
	fix wrong size of buffer string exp_fmt

2007-11-27  Vincent Lefèvre  <vincent@vinc17.net>

	Added initial mpfrlint sh script to check possible problems in
	the MPFR source.

2007-11-27  Philippe Théveny  <philippe.theveny@laposte.net>

	change 'g'/'G' to 'e'/'E' or 'f'/'F' according to C99 rules

2007-11-26  Philippe Théveny  <philippe.theveny@laposte.net>

	replace mpfr_default_(re)allocate by __gmp_(re)allocate for the returned string (freed by mpfr_free_str)

	tprintf.c: replace __gmp_const by const

2007-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	printf.c: added FIXME comment: snprintf is new in C99. It must be
	checked with a configure test.

	tests: updated svn:ignore property.

	vasprintf.c: reformat.

	MPFR_DECIMAL_POINT now needs to have type char (because of vasprintf.c).

	tests/tprintf.c: changeset 4996 was incorrect. Fixed.

	README.dev: Avoid variable names "l", "I" and "O".

	README.dev: added a note about the locales.

2007-11-26  Philippe Théveny  <philippe.theveny@laposte.net>

	printf.c: fix use of pointer of string
	vasprintf.c: add conditional compilation directives for wchar and wint_t
	vasprintf.c: add padding for special values
	vasprintf.c: fix output for value 1.0 and format "%Rf"
	vasprintf.c: replace __gmp_const by const

2007-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	acinclude.m4: check wchar.h header (see below).
	vasprintf.c:
	  * No longer depend on toupper (which returns locale-dependent results)
	    to generate 'A'..'F' (see C standard).
	  * Removed #include <ctype.h> which was hiding a bug (see below).
	  * Added missing #include <wchar.h> if HAVE_WCHAR_H is defined. But
	    the compilation fails if <wchar.h> doesn't exist due to the use of
	    wchar_t and wint_t.

	vasprintf.c: updated comments.

	vasprintf.c:
	  * Removed #include <stdlib.h> now useless.
	  * Added FIXME comment.
	  * Replaced _MP_EXP_FORMAT_SPEC (reserved) by MPFR_EXP_FORMAT_SPEC.

	vasprintf.c: added FIXME comments.

	vasprintf.c: fixed a typo in a comment and improved another comment.

2007-11-24  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.h: moved function declarations out of "#ifdef _MPFR_H_HAVE_VA_LIST"
	and/or "#ifdef _MPFR_H_HAVE_FILE" when this makes sense.

	tests/tprintf.c: added missing "void" in function declarations.

	Untabified and removed trailing spaces.

	mpfr.texi: corrections (English usage and texinfo). Added corresponding
	notes at the end of the README.dev file.

	mpfr.texi: s/rounding to the nearest mode/rounding to nearest mode/

	mpfr.texi consistency changes: "towards" -> "toward" (because this
	is what the IEEE-754 standard uses, and we have mpfr_nexttoward).

	mpfr.texi: English typography corrections (no space before ":").

	vasprintf.c: the use of the abs function was incorrect as its argument
	has type int, which may be smaller than an mp_exp_t. Fixed that and
	replaced uceil_log10 by uceil_log10_exp_p2.

	vasprintf.c: fixed uceil_log10 for x close to ULONG_MAX.

2007-11-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	got rid of math.h

2007-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tprintf.c: include <stdarg.h>.

	stdarg-related corrections, as HAVE_STDARG is not standard thus must not
	be tested in mpfr.h!

	tests/tprintf.c: enable the tests only if HAVE_STDARG is defined,
	i.e. if the printf-like functions are defined.

	tests/tprintf.c:
	  * Non-standard headers should be included after the standard headers
	    (when possible).
	  * The setlocale function is used only if <locale.h> has been included.
	  * Use tests_start_mpfr / tests_end_mpfr; this shows a bug:
	      tests_free(): attempt to free bad pointer 0x1801200

	tests/tests.c: setlocale is used only if <locale.h> has been included.

	out_str.c: remove other occurrence of <locale.h>.

2007-11-23  Philippe Théveny  <philippe.theveny@laposte.net>

	Makefile.am: add mpfr_printf-like functions
	mpfr.h: add mpfr_printf-like functions
	printf.c: printf, sprintf, snprintf, asprintf and 'v' variants
	vasprintf.c: vasprintf functions used by its likes
	mpfr.texi: add description for printf family functions
	tests/Makefile.am: add test for printf
	tests/tprintf.c: tests for printf-like functions
	acinclude.m4: define HAVE_LOCALE_H
	mpfr-impl.h: define MPFR_DECIMAL_POINT even if no locale.h
	strtofr.c: remove locale.h inclusion (done by mpfr-impl.h )
	tests/tests.c: use HAVE_LOCALE_H

2007-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tisqrt.c: test the 32-bit __gmpfr_cuberoot bound cases (9 per
	value) exhaustively (running tisqrt is still immediate on a recent
	machine).

	tests/tisqrt.c: test the 32-bit __gmpfr_isqrt bound cases exhaustively.

	acinclude.m4: test the availability of <string.h>.

	acinclude.m4: test the availability of <locale.h>.

	acinclude.m4: updated comment concerning the checked functions.

	acinclude.m4: added memmove to the checked functions (though this test
	is currently useless, except for the corresponding information).

	acinclude.m4: updated a comment concerning the function checking.

	gmp_op.c: removed old "#include <stddef.h>" line (seems to be useless
	now, and note that <stdio.h> is included by default in mpfr-impl.h).

	tests/tj0.c: fixed test.

	jn.c: added integer overflow checking.

	tests/memory.c: fixed copyright notice.

2007-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tzeta.c: completed test of mpfr_zeta bug fixed in r4920 (the value
	of zeta(large negative) was also wrong in GMP_RNDU: -Inf instead of the
	largest negative MPFR number).

2007-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reverted back to rev. 4951 (otherwise we would have to free memory for all
	exit calls)

2007-11-20  Philippe Théveny  <philippe.theveny@laposte.net>

	use of RANDS instead of __gmp_rands
	tset_f.c add checking with random values

2007-11-19  Philippe Théveny  <philippe.theveny@laposte.net>

	tli2.c: fix wrong assertion in copyright motice
	test.c: fixed seed for reproducible errors
	trandom.c tpow_z.c tset_f.c: integration with GMP_CHECK_RANDOMIZE process

2007-11-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing call to tests_end_mpfr

	got rid of mpfr_init_gmp_rand/MPFR_TEST_USE_RANDS and not-reentrant gmp
	random functions (mpn_random*, mpz_random*, mpf_random*). Now all tests use
	either RANDS (which is cleared by tests_rand_end called by tests_end_mpfr),
	or the gmp_randstate_t mechanism.

2007-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing mpfr_clear and tests_end_mpfr (thanks Michael Abshoff)

	fixed problem reported by valgrind (thanks to Michael Abshoff)

2007-11-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in div_ui for x=0 and u<>0 (sign of result was not set)

2007-11-06  Philippe Théveny  <philippe.theveny@laposte.net>

	algorithms.tex: fix bibtex references for dilogarithm function
	algorithms.bib: add references for dilogarithm function

2007-11-05  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: removed trailing spaces.

2007-11-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new macro MPFR_ALIAS

2007-11-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed unused label

2007-11-04  Vincent Lefèvre  <vincent@vinc17.net>

	pow_z.c: fixed bug that occurs when x is a power of 2 and the result
	overflows (wrong sign); this bug has always been present (from r3215).

	tpow.c, tpow_z.c: removed a printf that was left by mistake.

	tpow_z.c: added testcase for the latest mpfr_pow bug (rev 4942),
	which is in fact a bug in mpfr_pow_z.

	tpow.c: added testcase for new bug found by Kevin P. Rauch; removed a
	mpfr_dump that was left by mistake.

2007-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	pow.c: removed FIXME comment.

2007-11-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed case x < 0, y large integer

2007-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	pow.c: added FIXME comment.

	tpow.c: added testcase for new bug found by Kevin P. Rauch. The problem
	occurs on x^y with x negative and y an integer whose exponent is > 256
	(so that mpfr_pow_z isn't used, and the generic code is used instead and
	fails because x is negative).

2007-11-02  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed several bugs in mpfr_pow (from rev 3592 and 4932); added testcase.

	tpow.c: added an overflow test in reduced exponent range
	(-> assertion failure in the current pow.c code).

	mpfr-impl.h: added a comment concerning __gmpfr_one, __gmpfr_two and
	__gmpfr_four.

	Bug fix: in cmp_abs.c, changed MPFR_GET_EXP into MPFR_EXP to allow
	exponents outside the current exponent range (needed for mpfr_pow).

2007-10-31  Vincent Lefèvre  <vincent@vinc17.net>

	Untabified and removed trailing spaces.

2007-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	pow.c, tpow.c: fixed bugs reported by Kevin Rauch
	mpfr-impl.h: fixed typo

	cosmetic changes

	added missing \Li2

2007-10-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more test cases for mpfr_li2
	improved MPFR_FAST_COMPUTE_IF_SMALL_INPUT case for x > 0

	fixed bug mentioned by Kevin Rauch: mpfr_lgamma was hanging for tiny input
	(had to implement a complete loop in that case)

	fixed bug reported by Kevin Rauch: wrong sign for jn(n even, large negative x)

	removed item on mpfr_sinh_cosh (done)
	added more info on item on efficiency of mpfr_sin

	added comment about function/macro in custom interface

	jn.c: improved choice of initial precision in Taylor series (takes into
		account cancellation)
	tests/tjn.c: now "tjn p n z" evaluates j(n,z) to precision p

2007-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	factorial.c: added FIXME comment.

	gamma.c: attempt to fix wrong fix in 4918 (the maximum exponent can
	be > 2^30 on 64-bit machines). There may still be problems in huge
	precisions.

2007-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added note about efficiency of special functions
	corrected typo

	fixed bug in zeta(large negative) reported by Kevin Rauch [wrong inexact flag]

	fixed inefficiency reported by Kevin Rauch when x large negative (erfc -> 2)

2007-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed another bug found by Kevin Rauch: gamma(huge integer) failed on 64-bit

	fixed bug found by Kevin Rauch (emin/emax not restored for x=1,2)

	added test for reference values

	reference values for li2

2007-10-26  Philippe Théveny  <philippe.theveny@laposte.net>

	algorithms.tex: description of dilogarithm algorithm
	li2.c: conformity with description in algorithm.tex

2007-10-23  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: small change in the description of mpfr_subnormalize.

2007-10-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more details in the description of subnormalize

2007-10-23  Vincent Lefèvre  <vincent@vinc17.net>

	subnormal.c: fixed the bugs when old_inex is INT_MIN or INT_MAX.

	tsubnormal.c: added some tests showing bugs when old_inex is INT_MIN
	or INT_MAX.

	subnormal.c: corrected comment.

	Changeset r4904 introduced an assertion failure, but the assertion
	emax - emin >= PREC(x) wasn't necessary: the value of emax doesn't
	matter, except when the exponent is increased due to the rounding.
	So, we just document that if the result cannot be represented in the
	current exponent range, the behavior is undefined (updated mpfr.texi
	accordingly). Removed the assertion from subnormal.c and added a new
	one to have an abort if such an undefined behavior occurs.

2007-10-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed 2 bugs reported by Kevin Rauch

2007-10-22  Vincent Lefèvre  <vincent@vinc17.net>

	subnormal.c: replaced incorrect comment.

	tests: updated svn:ignore property.

2007-10-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new references

2007-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added asymptotic expansions

2007-10-19  Philippe Théveny  <philippe.theveny@laposte.net>

	li2.c: add Ziv's loop in li2_series
	tli2.c: add a function for fixed value checking

2007-10-17  Philippe Théveny  <philippe.theveny@laposte.net>

	li2.c: fix a typo and fix use of taylor series
	tests/tli2.c: use default random function

2007-10-16  Philippe Théveny  <philippe.theveny@laposte.net>

	add dilogarithm function

2007-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item in Efficiency section

	added table of contents
	removed last section (mpf/mpfr integration)

2007-10-15  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed acosh(x) with x slightly larger than 1, using sqrt(2(x-1)) and
	a complete error analysis.

	tests/tacosh.c: added another test with x a bit larger than 1 and
	prec(y) << prec(x).

2007-10-12  Vincent Lefèvre  <vincent@vinc17.net>

	acosh.c: added a comment about the fix I did in r4814.

2007-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added extra reference for slowness of mpfr_root

2007-10-09  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ update (added Question 8).

	mpfr.texi: another small change in Contributors section.

	mpfr.texi: small change in Contributors section.

	mpfr.texi: mention Fiable and AOC actions in the Contributors section.

2007-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference to ACM TOMS paper
	updated other references, and Contributors section

	fixed typo in sectioning

2007-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed mpfr_get_d1 from documented functions
	removed old commented functions

	renamed "Rounding Mode Related Functions" to "Rounding Related Functions"
	put mpfr_can_round in "Rounding Related Functions" (now exported)
	exchanged order of sections "Miscellaneous Functions" and "Rounding Related Functions"

	added hint for mpfr_can_round to get ternary value

	changed mpfr_can_round() call into MPFR_CAN_ROUND() call

2007-10-05  Vincent Lefèvre  <vincent@vinc17.net>

	Updated update-version to make patches easier to produce.

2007-10-04  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug (found by Robert Bajema) in mpfr_atan2, which can occur if
	the underflow flag is set before the call and x > 0; added testcase.

2007-10-03  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: improved mpfr_set_exp description too.

	mpfr.texi: improved mpfr_get_exp documentation.

	mpfr.texi: mantissa -> significand (to use the terminology from IEEE 754
	and ISO C99).

	configure.in: better error message if libgmp is not found.

2007-10-02  Philippe Théveny  <philippe.theveny@laposte.net>

	fix some typos

2007-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added references

2007-09-28  Philippe Théveny  <philippe.theveny@laposte.net>

	merge fmod, remaider and remquo into a single file rem1.c.
	merge code into a single internal function mpfr_rem1.
	fix false statement in mpfr.texi: rop and op1 have the same sign for mpfr_fmod
	but not for mpfr_remainder and mpfr_remquo.

2007-09-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tfmod.c: added static.

2007-09-26  Philippe Théveny  <philippe.theveny@laposte.net>

	new fmod function

2007-09-22  Vincent Lefèvre  <vincent@vinc17.net>

	tests: updated svn:ignore property.

	GNU coding style, reformatting, exit (-1) -> exit (1).

2007-09-21  Philippe Théveny  <philippe.theveny@laposte.net>

	new mpfr_sinh_cosh function

2007-09-19  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: removed __gmpfr_isqrt bug.

	isqrt.c: quick fix of __gmpfr_cuberoot (a full proof is needed).
	tests/tisqrt.c: added much more tests for __gmpfr_cuberoot.

	tisqrt.c: improved tests. When doing
	  touch tests.c tisqrt.c
	  make tisqrt CFLAGS="-g -O2 -ffloat-store -DMPFR_FPU_PREC=_FPU_SINGLE"
	  ./tisqrt
	with gcc 4.2.1 on a Linux/x86 machine, on gets:
	  Error in __gmpfr_cuberoot (4251527999): got 1620 instead of 1619

	tisqrt.c: added __gmpfr_cuberoot() tests.

	isqrt.c: corrected the explanation.

	isqrt.c: fixed __gmpfr_isqrt.

2007-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	tests: updated svn:ignore property.

	tests: added tisqrt.c (test file for __gmpfr_isqrt internal function).

	BUGS: added __gmpfr_isqrt bug.

	isqrt.c: fixed a cast and added a FIXME comment.

	isqrt.c: GNU coding style.

	sin.c: extend the exponent range.

	sqr.c: set the global inexact flag.

	sqrt.c: avoid the exponent range extension.

	tsqr.c: added generic tests (shows that the inexact flag isn't set).

	sqrt.c: extend exponent range (this also fixes the fact that the global
	inexact flag wasn't set).

	tsqrt.c: added generic tests (shows that the inexact flag isn't set,
	which is a bug reported by Guillaume Revy).

2007-09-17  Philippe Théveny  <philippe.theveny@laposte.net>

	modf.c: take care of user exponent range (possible underflow/overflow)

2007-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	tsin_cos.c: fixed the tiny() test.

	sin_cos.c: fixed the overflow and cancellation problems by using
	MPFR_FAST_COMPUTE_IF_SMALL_INPUT from the mpfr_sin and mpfr_cos
	functions (I'll fix the test later).

	tsin_cos.c: added test on tiny values.

2007-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	Put back previous patch, now avoids overflow, and added more explanations.
	This is still not a definitive solution, but more efficient than 2.3.0
	in the case x is small.

2007-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	Efficiency regression wasn't fixed correctly -> commented out the code.

2007-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed efficiency regression pointed out by Andreas Enge

2007-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_sin_cos found by Philippe: z (to save the cosine) was not
	allowed to be identical to the input x

2007-09-13  Philippe Théveny  <philippe.theveny@laposte.net>

	new function mpfr_modf and add restrictions on mpfr_sin_cos' variables

2007-09-11  Philippe Théveny  <philippe.theveny@laposte.net>

	add some simple test cases in tadd_d.c and friends

2007-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	prepare: output a message saying that this script is obsolete.

2007-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added restrictions to mpfr_add_d and friends

2007-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed functions mpfr_add_d ... which are done

2007-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added Philippe Theveny

2007-09-07  Philippe Théveny  <philippe.theveny@laposte.net>

	new arithmetic functions with a double argument

2007-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	tacosh.c: added generic tests for the overflow case.

	acosh.c: reduce the precision for ln(2); smaller error bound.

	tgeneric.c: undefine some macros at the end.

	acosh.c: fixed overflow bug.

	acosh.c: mentioned bug due to overflow in mpfr_mul.
	tests/tacosh.c: added corresponding testcase (for 32-bit machines).

	tacosh.c: use tests_default_random().

	tests.c: improved tests_default_random().

2007-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Makefile.am: fixed get_patches rule.

	Makefile.am: cd $(srcdir) before executing get_patches.sh (thanks to
	Daniel Jacobowitz for noticing this); for more information, see the
	note just before the get_patches.c rule.

2007-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	acosh.c: added MPFR_UNLIKELY.

	Added generic bad case tests.

	algorithms.tex: deleted trailing spaces.

	algorithms.tex: correction in section on mpfr_asinh: acosh -> asinh.

	Fixed bug in mpfr_acosh for arguments slightly larger than 1;
	updated algorithms.tex; fixed testcase.

	tacosh.c: added testcase for bug in mpfr_acosh (assertion failure).

	tasin.c: increased the number of generic tests.

	Improved generic tests by limiting the exponent range of the random
	numbers for some functions.

2007-08-30  Vincent Lefèvre  <vincent@vinc17.net>

	Generic tests: adjust the proportion of negative numbers returned
	by the random function in order to get fewer NaN cases.

	tgeneric.c: output a warning when too few normal cases are tested
	(so that the random function can be improved...).

	tests.c: function split (for future addition).

	configure.in: updated copyright notice (for consistency).

	Bug fix: added missing _MPFR_PROTO in mpfr-test.h.

	tgeneric.c: updated description line.

2007-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	Updated copyright notice (for an unknown reason, some files were missing
	from the change done in r4350).

2007-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	atan2.c: as we supposed some property, let's add an assertion (which
	can be evaluated at compile time).

	atan2.c: improved comment.

	atan2.c: completed the underflow case.

	atan2.c: fixed the underflow case except in GMP_RNDN with
	2^(-emin-2) < |y/x| < 2^(-emin-1).

	tatan.c: added small-value tests in the other rounding modes.

	atan2.c: implemented the special case where x is positive and y/x is
	computed exactly (solving the underflow problems in this case).

	tatan.c: added a similar test, but with an exact division result.

	tatan.c: fixed test.

	README.dev: added a paragraph concerning Ziv loops.

	tatan.c: updated comment.

	tatan.c: extended the latest testcase to any platform (e.g. 64 bits).

	tatan.c: added testcase from a bug reported by Christopher Creutzig.

2007-08-27  Vincent Lefèvre  <vincent@vinc17.net>

	Updated svn:ignore properties.

	FAQ update:
	  * The question numbers are now hardcoded instead of being generated
	    with CSS rules.
	  * Added the list of questions at the top.
	  * CSS styles: a grey bar is displayed on the left of the target answer
	    (if the browser supports the ":target" pseudo-class from CSS3).

	faq.xsl: added a comment.

	FAQ update.

2007-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: added another warning concerning the --with-gmp options.
	For instance, under Linux, "cpp -I/usr/include -v < /dev/null" says:
	  ignoring duplicate directory "/usr/include"
	    as it is a non-system directory that duplicates a system directory
	and does not modify the include search path as wanted.

2007-08-15  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: improved description of mpfr_setsign.

2007-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	Added to NEWS: Thread-safe support with Microsoft Visual compiler.

	mpfr-impl.h: if MPFR_USE_THREAD_SAFE is defined (--enable-thread-safe):
	  * Added support for MSC (thanks to Brian Gladman).
	  * Define MPFR_THREAD_ATTR even after #error to make the error more
	    visible (see comment in the source).

2007-08-13  Vincent Lefèvre  <vincent@vinc17.net>

	tstckintc.c: fixed bus error on Solaris (the address of Buffer was not
	a multiple of 4).

	NEWS: new functions mpfr_signbit, mpfr_setsign, mpfr_copysign.

	Implemented changes suggested in
	<https://sympa.inria.fr/sympa/arc/mpfr/2007-07/msg00123.html>.
	* Made mpfr_copysign() like the corresponding function in IEEE 754
	  (was an internal function until now).
	* Added mpfr_signbit() and mpfr_setsign().
	* Documented these three functions.
	* Updated TODO.

2007-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed mpfr_inits and mpfr_clears calls in tests/tatan.c.

	Added check_inits_clears Perl script to check that a cast is performed
	for the last argument of mpfr_inits, mpfr_inits2 and mpfr_clears.

2007-08-10  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 2.4.0-dev.

	NEWS update.

	ChangeLog update with "TZ=UTC svn log -v".

	asinh.c: fixed assertion failure (see test 4 in tasinh.c, added
	in r4740), that was due to an exception.

	tasinh.c: fixed test.

	tasinh.c: added worst case that yields an assertion failure.

2007-08-09  Vincent Lefèvre  <vincent@vinc17.net>

	Added data_check support to cbrt.

	log.c: fixed assertion failure (see test x_near_one in tlog.c, added
	in r4736), that was due to an exception.

	pow.c: added MPFR_SMALL_INPUT_AFTER_SAVE_EXPO for the case where
	|y * log(x)| is very small (I can't really test because this code
	currently fails due to a bug in mpfr_log: see test x_near_one
	added to tlog.c as changeset 4736; this bug is also present in
	the 2.2 branch).

	tlog.c: added a test leading to an assertion failure in mpfr_log.

	tpow.c: added a test where x is close to 1.

	Added empty file tests/data/exp10 to avoid an error with -dev versions.

	Added a TODO concerning the description of mpfr_round_near_x.

	Added empty files in tests/data to avoid errors with -dev versions.

	mpfr_ui_pow fix: added a MPFR_SAVE_EXPO_UPDATE_FLAGS.

	Added texp10.c (texp10 currently fails).

	texp2.c: reformat and added some tests which were missing.

2007-08-08  Vincent Lefèvre  <vincent@vinc17.net>

	Added data_check calls to texpm1, tlog1p and tlog2.

	tests/tests.c: in data_check(), mode 'Z', do not test GMP_RNDN if
	the precision for the directed rounding modes is MPFR_PREC_MIN.

2007-08-04  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: more on mpfr_sin (and mpfr_cos).

	TODO: update concerning sin/cos/tan.

2007-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c: in data_check(), check the 4 rounding modes if rnd is 'Z'
	(in order to test the worst cases).

	Fixed coding style (for ansi2knr in particular).

2007-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	Makefile.am: added a comment about "get_patches.c".

	No longer set "CLEANFILES = get_patches.c" in Makefile.am so that a
	"make clean" doesn't remove the get_patches.c file, as rebuilding it
	needs a Unix shell (and some standard utilities). Anyway the update
	of this file should be regarded as part of the patch process, then
	this file is just like any other .c files. Note: "make dist" includes
	this file in the archives, so that concerning the build, everything
	is like before as long as no patches are applied.

2007-08-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item about sNaN/qNaN

2007-07-31  Vincent Lefèvre  <vincent@vinc17.net>

	copysign.c: reformat, updated comment (but this function is still not
	documented in mpfr.texi).

	Updated version back to 2.3.0-dev since the 2.3 branch will be recreated
	from the trunk (too many changes!).

	tl2b.c: enable output even when the constants are correct.

	Added get_patches.c to the svn:ignore property, as this file is
	generated.

	Replaced l2b cache by constants, as suggested by Patrick Pelissier,
	to avoid efficiency problems with the stack interface and heavily
	threaded applications.
	  * Added tests/tl2b.c to generate / check the constants.
	  * tests/Makefile.am: added tl2b to check_PROGRAMS.
	  * tests directory: added tl2b to the svn:ignore property.
	  * mpfr-impl.h: updated the __gmpfr_l2b declaration.
	  * free_cache.c: disabled free_l2b (since there's no longer a cache).
	  * get_str.c: added the code generated by tl2b; for the bootstrap, one
	    can just write:
	      const __mpfr_struct __gmpfr_l2b[BASE_MAX-1][2] = { { { 0 } } };
	    Removed the code (in ceil_mul) that computed these constants.

2007-07-30  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated the documentation of the mpfr_get_d function family.

	Patch tracking: updated README.dev and TODO files.

	Added support for tracking applied patches with new function
	mpfr_get_patches().

	mpfr.texi: updated the example concerning mpfr_get_version() vs
	MPFR_VERSION_STRING ("Warning" instead of "Error", make sure that
	the example fits on 80 columns in the info file).

	mpfr.texi: updated description of mpfr_get_version().

	mpfr.texi: updated description of mpfr_get_version().

2007-07-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added files that are not 100% covered by tests

2007-07-27  Vincent Lefèvre  <vincent@vinc17.net>

	coverage: added --disable-shared --enable-static to configure.

	mpfr-impl.h: added more casts for g++.

	Reformat.

	Applied patch from Patrick to be able to build MPFR with g++.

2007-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added default thresholds for Core 2

2007-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	No longer use MPFR_CHECK_ALL in tests. In '-dev' versions, assume
	that the data files exist and return an error whenever a file cannot
	be opened. In the other versions, return silently if the file cannot
	be opened.

	Moved mpfr-test.h into the tests directory.

2007-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed "efficiency bug" (argument reduction was broken)

2007-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	tests.c: in data_check(), made whitespace skipping consistent and
	check that the result value is immediately followed by a \n.

	[tests.c] Fixed some types (the result of getc() is not necessarily
	representable in a char).

	tests.c: changes in the error messages (BTW, we decided to output
	everything to stdout for consistency, even though messages for
	assertion failure are written to stderr) and replaced an abort ()
	by an exit (1).

	Delete trailing spaces.

2007-07-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	jyn_asympt.c: new common file for asymptotic expansion in jn/yn
	tests/tests.c: print precisions in case of failure
	jn.c: now use jyn_asympt.c
	yn.c: now implement asymptotic expansion (jyn_asympt.c)

	fixed more wrong entries in Gonnet's test suite

2007-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	contribution of first neglected term to error was wrong

	fixed wrong entry (not enough precision was used in Maple)

	implemented asymptotic expansion for large argument in j0/j1/jn

2007-07-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	define MPFR_CHECK_ALL for nightly tests

	Added code to check mpfr against Gonnet's tables when the environment variable
	MPFR_CHECK_ALL is defined (some table entries were checked by MuPAD)

	added comment

	test data files mpfr mpfr_y0 and mpfr_y1, ***not*** checked with MuPAD

	added auxiliary MuPAD functions
	improved Ziv's strategy: add half of DIGITS each time

	test data file for mpfr_tanh, checked by MuPAD

	test data file for mpfr_tan, checked with MuPAD (except 3 indicated entries)

	test data file for mpfr_sqrt, checked with MuPAD

	test data file for mpfr_sinh, checked by MuPAD (except indicated lines)

	test data file for mpfr_sin, checked by MuPAD (except tiny inputs indicated
	in file)

	test data file for x^(11/4), checked with MuPAD

	finally, I was able to check it with MuPAD

	test data file for 2^x, checked with MuPAD

	test data file for Pi*x, checked with MuPAD

	test data file for mpfr_log, checked with MuPAD

	test data files for mpfr_j0, mpfr_j1, mpfr_lgamma, mpfr_log10,
	***not*** tested with MuPAD (not Dom::Interval interface)

	test data file for 1/x, i.e., mpfr_ui_div(1,x), checked with MuPAD

	test data file for mpfr_gamma, ***not*** checked by MuPAD

	test data file for mpfr_exp, checked with MuPAD

	test data files for erf and erfc (not checked by MuPAD, since Dom::Interval
	does not have an interface for those functions in MuPAD 3.2.0)

	test data file for mpfr_cosh, checked with MuPAD

	test data file for mpfr_cos, checked by MuPAD

	test data file for mpfr_atanh, checked with MuPAD

	test data file for atan, checked with MuPAD

	test file for mpfr_asinh, checked with MuPAD

	data file for mpfr_asin, checked with MuPAD using CheckData.mu

	data file for mpfr_acosh, checked with MuPAD using CheckData.mu

	improved output

	MuPAD file to check a data file

2007-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	Renamed mpfr_l2b as __gmpfr_l2b for consistency.

2007-07-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch from Brian Gladman to build mpfr.dll

	added copyright information about Gonnet's package

	modified data_check() to allow comment lines starting with #

	new (experimental) mechanism to check data files (see example in tacos.c)

	new directory for test data

	added test for inexact flag (bug fixed in r4630)

2007-07-18  Vincent Lefèvre  <vincent@vinc17.net>

	erfc.c, atan2.c: added missing "MPFR_SAVE_EXPO_FREE (expo);" before
	  "return mpfr_underflow (...);".
	erfc.c: replaced a goto by an else.

2007-07-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now deal with underflow in y/x (remains to deal with overflow)

	now can specify output base when argc > 1

	MPFR_EQUAL -> mpfr_equal_p

	fixed problem with erfc() near underflow region

	atan2.c: quick-and-dirty fix for atan2(y,1)
	tests/tatan.c: fix tests from Christopher [x and y were interchanged]

	added test from Ch. Creutzig

	apply patch suggested in bug #3604

2007-07-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	previous bug fix for tiny negative inputs in mpfr_lgamma was incorrect:
	result was NaN, but this was not detected by the tests since mpfr_cmp (y, NaN)
	is always true!

2007-07-17  Vincent Lefèvre  <vincent@vinc17.net>

	Added comments and fixed an indentation bug.

2007-07-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	in reconstruction after computation of cos(x/2^k) for reduced argument,
	it may be that cos(x) is zero to the working precision. Then restart Ziv's
	algorithm with a larger precision.

2007-07-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	lngamma.c: fix for small inputs
	tlgamma.c: added more tests from Kaveh Ghazi

	sin_cos.c: 2nd arg of 1st mpfr_can_round call was wrong
	ttan.c: fixed wrong reference value

	added comment about sinpi, etc.

2007-07-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test, and re-enabled test that was too slow

2007-07-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed MPFR_CHECK_TINY, added MPFR_CHECK_MAX

2007-07-10  Vincent Lefèvre  <vincent@vinc17.net>

	terf.c: added testcase for bug reported by Christopher Creutzig.

2007-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	Removed a #include that was probably added by mistake in r2590.

	<stdio.h> and <limits.h> are now included unconditionally in mpfr-impl.h
	(removed their inclusion from the C files for consistency).

2007-07-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	ternary flag was wrong in case s=1 or -1 and rounding up/nearest

	updated algorithms.tex with new additive argument reduction for sin/cos/tan

2007-07-03  Vincent Lefèvre  <vincent@vinc17.net>

	lngamma.c: reformat and replaced mpfr_cmp(...) == 0 by mpfr_equal_p.

2007-07-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed stdlib to stdio for NULL (see README.dev)

	fixed bug in tlgamma and added test (need to implement Ziv's strategy in
	tiny case)

	added missing include

2007-07-03  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed the bug reported by David Billinghurst to the MPFR mailing-list
	on 2007-07-03 (memory leaks under some conditions):
	  * moved the free_l2b() function from tests/tests.c to free_cache.c;
	  * mpfr_free_cache() (from free_cache.c) now calls free_l2b();
	  * as a consequence, no longer call free_l2b() in tests_end_mpfr();
	  * documented the behavior in mpfr.texi (under mpfr_free_cache).

	tj0.c: added testcase from Sisyphus (assertion failed).

	README.dev: explain how to test the library interface compatibility.

2007-07-02  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: mentions patch-libtool and how to apply it.

	Added patch-libtool (patch for aclocal.m4 and configure that comes from
	<https://lists.gnu.org/archive/html/bug-libtool/2007-07/msg00007.html>
	or gmane.comp.gnu.libtool.bugs:5776).

	NEWS: mention that the shared library is now enabled by default on 2.3.

	README.dev: updated item 2 of "To make a release".

	Reformat.

	Updated version to 2.4.0-dev.

	ChangeLog update.

	NEWS: update.

2007-07-01  Vincent Lefèvre  <vincent@vinc17.net>

	Makefile.am: updated comment concerning -version-info.

	Added mpfr_fms based on mpfr_fma.

	tfma.c: added a space.

	tfma.c: typo.

	Reformat.

	fma.c: minor changes for consistency with the future fms.

	Completed the implementation of mpfr_fma (except in some corner cases
	where overflows/underflows and huge precisions are involved at the
	same time). Added underflow tests. Removed item from the BUGS file
	(the remaining problems more or less correspond to the first item).

	Untabified.

	tfma.c: added overflow test to test_underflow.

	fma.c: implemented the main cases where x * y underflows.
	tests/tfma.c: fixed overflow tests and added underflow tests.

2007-06-30  Vincent Lefèvre  <vincent@vinc17.net>

	NEWS: update.

2007-06-29  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: updated item on mpfr_fma.

	fma.c: completed the cases where x*y/4 needs to be used, except the very
	particular cases where an underflow occurs, that remain to be done.

	tfma.c: fixed a printf.

	fma.c: added an assertion.

	tfma.c: fixed overflow tests.

	tfma.c: check NaN in test_overflow2.

	fma.c: updated a comment.

	tfma.c: added more overflow tests (needed to distinguish the cases
	where z/4 underflows or not -- see fma.c).

	tfma.c: added tests (-> assertion failed because mpfr_fma implementation
	isn't complete).

2007-06-28  Vincent Lefèvre  <vincent@vinc17.net>

	acos.c: disabled change from r3145 ("Optimize mpfr_acos by choosing
	a better initial precision.") that was buggy.
	BUGS: removed mpfr_acos bug.

	BUGS: updated item on the mpfr_acos bug.

	BUGS: updated item on the mpfr_acos test (the bug wasn't visible on
	32-bit machines due to an integer overflow, but the result should
	have been correct anyway).

	acos.c: fixed integer overflows; to avoid undefined behavior, I had
	to add an assertion that is not always satisfied (the code needs to
	be rewritten to take tiny arguments into account).

	BUGS: update (mpfr_cot has just been fixed).

	cot.c: implemented the case |x| = 2^emin.
	tests/tcot.c: added tests for this case, in 3 exponent ranges
	(as this is an overflow limit).

	Fixed bug in div.c: rnd_mode could be modified (MPFR_INVERT_RND), but
	the original value was assumed in case of underflow or overflow.

	tdiv.c: added a test showing another bug in mpfr_div.

	cot.c: use MPFR_SAVE_EXPO_UPDATE_FLAGS, but the case +/- 2^emin could
	still be buggy with the current code; added a MPFR_ASSERTN (0) until
	it is implemented.
	BUGS: updated item on mpfr_cot.

2007-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed several problems with huge arguments in periodic functions
	mpfr_sin: complete rewrite, using mpfr_remainder for argument reduction
	mpfr_sin_cos: ditto

2007-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed stupid bug (subtraction of unsigned longs)

	cos.c: implemented argument reduction by 2Pi
	tcos.c/tgeneric.c: reduce large exponent used when MPFR_CHECK_MAX is defined

2007-06-22  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: added bugs.

	coth.c, sech.c: a rounding mode was incorrect.
	tests/tcoth.c: added underflowed_cothinf test.
	tests/tsech.c: added overflowed_sech0 test.

	* gen_inverse.h: ACTION_TINY must be called after MPFR_SAVE_EXPO_MARK
	  (this is necessary for some functions). Moved MPFR_SAVE_EXPO_FREE
	  after the "end:" label.
	* coth.c, csc.c, csch.c: as a consequence, MPFR_SAVE_EXPO_UPDATE_FLAGS
	  had to be added before "goto end;".
	* sec.c: a rounding mode was incorrect.
	* tests/tsec.c: added overflowed_sec0 test.

2007-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	sin_cos.c: fixed a bug for x = 0 in reduced exponent range.
	tests/tsin_cos.c: added overflowed_sin_cos0 test.

	BUGS: Some functions do not use MPFR_SAVE_EXPO_* macros, thus do not
	behave correctly in a reduced exponent range.

	factorial.c: a rounding mode was incorrect.
	tests/tfactorial.c: added overflowed_fac0 test.

	exp2.c: use MPFR_SMALL_INPUT_AFTER_SAVE_EXPO instead of
	MPFR_FAST_COMPUTE_IF_SMALL_INPUT since 1 (__gmpfr_one) isn't
	necessarily representable.
	tests/texp2.c: added overflowed_exp2_0 test.

	exp.c: fixed problems in reduced exponent range.
	tests/texp.c: added overflowed_exp0 test.

	exp.c bug fix: a rounding mode was incorrect.

	tcos.c: fixed error message in overflowed_cos0 test.

	tcos.c: removed an obsolete comment from the overflowed_cos0 test.

	tcos.c: improved overflowed_cos0 test.

	get_str.c: use MPFR_SAVE_EXPO.
	tests/tget_str.c: enabled the test with a reduced exponent range.

	tget_str.c: added a test (disabled by default) with emax = 0.

	Corrected mpfr_inits, mpfr_inits2 and mpfr_clears calls with NULL
	argument (-> (void *) 0).

	tget_str.c: reformatted/corrected a function.

	Tests: when restoring the exponent range, save emin/emax first instead
	of using MPFR_EMIN_MIN/MPFR_EMAX_MAX (which have no longer corresponded
	to the default exponent range since quite a long time).

	BUGS: update.

2007-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	Untabified and removed trailing spaces.

	Bug fix: preprocessor # must be in the first column.

	remquo.c bug fix: preprocessor # must be in the first column.

	tcos.c: fixed and improved the overflowed_cos0 test.

	cos.c bug fix: a rounding mode was incorrect.

	cos.c: use MPFR_SMALL_INPUT_AFTER_SAVE_EXPO instead of
	MPFR_FAST_COMPUTE_IF_SMALL_INPUT.

	cos.c: untabified.

	tcos.c: added tests for x very small and emax = 0 (some of them
	currently fail).

	Added a comment concerning the MPFR_SMALL_INPUT_AFTER_SAVE_EXPO macro.

	Added MPFR_SMALL_INPUT_AFTER_SAVE_EXPO macro; updated expm1.c to use
	this variant (and moved MPFR_SAVE_EXPO_MARK after the test ex < 0).

2007-06-19  Vincent Lefèvre  <vincent@vinc17.net>

	Documented log(-0).

	Added a few tests of log functions.

2007-06-18  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated Section "Floating-Point Values on Special Numbers".

2007-06-12  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: allow generic tests to run with a restricted exponent range.

	expm1.c: fixed bug for x = -max_value due to an intermediate overflow
	(flags were incorrect); at the same time, potential problems due to a
	restricted exponent range are also fixed.

	tgeneric.c: check the function on large arguments (±maximum_value)
	when the MPFR_CHECK_MAX environment variable is defined.

2007-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tlgamma.c: re-enabled sign checking.

2007-06-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem with mpfr_lgamma for tiny negative input (and fixed use of
	generic test)

2007-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	[mpfr.texi] Small change in new Section "Floating-Point Values on
	Special Numbers" (suggested by Paul).

2007-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for tiny negative input (and added corresponding test)

2007-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	algorithms.tex: Mulder -> Mulders.

2007-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for "Witty's bug" on 64-bit machines

2007-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	div.c: GNU coding style.

2007-06-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	tdiv.c: added missing mpfr_clear's, and spaces before function calls
	div.c: fixed bug found by Carl Witty, and added more comments

2007-06-04  Vincent Lefèvre  <vincent@vinc17.net>

	tdiv.c: oops... the result should be 1.

	tdiv.c: added test from Carl Witty's bug report on 2007-06-03.

2007-06-01  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated Section "Floating-Point Values on Special Numbers".

	mpfr.texi: updated Section "Floating-Point Values on Special Numbers".

	mpfr.texi: updated month.

	mpfr.texi: added @: after "resp." (when it was missing).

2007-05-31  Vincent Lefèvre  <vincent@vinc17.net>

	Started a new section "Floating-Point Values on Special Numbers".

	mpfr.texi: inf -> Inf for consistency.

	mpfr.texi @deftypefun correction: void * -> {void *} (for the PDF).

	mpfr.texi: consistency changes in section titles; made titles unique.

	set_d64.c: replaced an "if" by a "#if" to avoid a gcc warning.

	get_d64.c: use BITS_PER_MP_LIMB instead of GMP_BITS_PER_LIMB (which
	does not seem to exist).
	set_d64.c: use BITS_PER_MP_LIMB instead of mp_bits_per_limb.

	get_d64.c, set_d64.c: improved code to avoid some warnings.

	Untabified get_d64.c and set_d64.c.

	get_d64.c: added missing #include.

	BUGS: update.

	mpfr-impl.h: improved error message when thread safe is not supported.

2007-05-30  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: say that relative paths in configure options are not supported
	(autoconf doesn't seem to have support for them).

	Documented the new behavior of mpfr_sgn (in fact, it was already partly
	required by the tsgn.c tests!) and added new mpfr_sgn tests.

	TODO: added an item about the behavior of mpfr_sgn on NaN.

	tgeneric.c: no longer check the MPFR_CHECK_TINY environment variable
	as all the bugs related to tiny arguments have been fixed.

	mpfr.texi: corrections following the remarks by Nathalie Revol.

2007-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	yn.c: untabify.

2007-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fix for small inputs in y1

2007-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	Defined new macros SIGN and SAME_SIGN in mpfr-impl.h to canonicalize
	the ternary value and to compare such values. Use SAME_SIGN in erf.c
	and lngamma.c.

2007-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem of tiny arguments for y0

	lngamma.c: fixed problem of tiny inputs in lngamma (still remains lgamma
		   to deal with)
	erf.c: small correction (inexact flags might have been inexact :-)

	fixed tiny input problem with csch, j0, j1

	added special code for tiny inputs

2007-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	tgeneric_ui.c: no longer check the MPFR_CHECK_TINY environment variable.

	erf.c: removed workaround to mpfr_div_ui bug, as the bug is now fixed.

	div_ui.c:
	  * Cleaned up the use of the sh variable (there was a useless sh = 0,
	    so I'm not sure that there isn't a bug...).
	  * Added underflow check.

	Added check of tiny arguments to tgeneric_ui.c (if MPFR_CHECK_TINY is
	defined, like in tgeneric.c); mpfr_div_ui currently fails due to the
	lack of underflow checking.

2007-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	README.dev: fixed typo
	erf.c: implemented special case for tiny x, and partially get rid of double
		usage
	implemented

2007-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR_RET (mpfr_check_range (...)) -> return mpfr_check_range (...)
	as mpfr_check_range already handles the inexact flag.
	Reformatting (removed trailing spaces, untabified).

2007-05-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem of tiny input

	fixed problem of tiny input for coth (and new fix again for csc, which
	takes into account the sign of the input)

	fixed problem of tiny inputs in mpfr_sec and mpfr_csc,
	by adding a SPECIAL_TINY macro in gen_inverse.h

	the test for the tiny input case was too optimistic: fixed and added test.

	fixed case of tiny input

	fixed problem for tiny arguments

	added MPFR_FAST_COMPUTE_IF_SMALL_INPUT call

	changed 1st-order Taylor term from x to v to avoid confusion with the
	argument x of the function f(x), and fixed some typos

	fixed direction of rounding for MPFR_FAST_COMPUTE_IF_SMALL_INPUT
	(was wrong for x < 0)

	fixed typo

	added call to MPFR_FAST_COMPUTE_IF_SMALL_INPUT in exp2

	re-enabled MPFR_CHECK_TINY

	improved documentation of mpfr_set/get_decimal64 functions
	fixed problem in configure.in (_Decimal64 was tested too early)

2007-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c: fixed two bugs concerning the timeout (including an
	old one: we need to call getrlimit to initialize rlim_max).

2007-05-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new syntax for timeouts

	fixed typo

2007-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added mkinstalldirs to svn:ignore property.

	Changed --with-tests-timeout into --enable-tests-timeout as documented
	in the autoconf manual (--with-* are for external packages only). When
	this is enabled, environment variable MPFR_TESTS_TIMEOUT allows to
	override the default timeout (use the value 0 to disable timeouts).

	Updated NEWS file.

	mpfr.texi: small improvement.

	Fixed a bug in the mpfr_cmp_ui macro occurring on NaN and the constant 0
	by specifying the behavior of mpfr_sgn on NaN.

	mpfr.texi: typography corrections concerning "i.e.".

	mpfr.texi: consistency changes.

	mpfr.texi: more details in Section "Exceptions".

	tgeneric.c: check the function on tiny arguments (±2^(emin-1)) when
	the MPFR_CHECK_TINY environment variable is defined.

	Typo.

	Avoid integer overflow in MPFR_FAST_COMPUTE_IF_SMALL_INPUT.

2007-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	completed implementation of Vincent's algorithm for mpfr_remquo
	all tests now pass again

2007-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new version of mpfr_remainder, using Vincent's algorithm
	(still remains to deal with special arguments, and make mpfr_remquo call it)

2007-05-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added note about fms

	fixed typo

	fixed problem for x integer and rounding to nearest

	workaround for bug when x is very small (check_tiny in tsin)

2007-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	Updated BUGS (again).

	Updated BUGS and TODO (mpfr_lgamma has been implemented, but see BUGS,
	and gamma(-integer) with integer >= 1 is defined as NaN).

	tsin.c: check sin on +/- 2^(emin-1) (test by Christopher Creutzig).

	tgamma.c: added test of gamma on some integral values (from Christopher
	Creutzig); this test is enabled only when an argument is provided.

	fma.c: improved comments and simplified the code.

	fma.c: implemented exponent range expansion and the main part when the
	multiplication overflows. The following remains to do:
	  * when the multiplication overflows: some corner cases;
	  * when the multiplication underflows: everything.

2007-05-21  Vincent Lefèvre  <vincent@vinc17.net>

	tlgamma.c: I re-enable the generic tests of mpfr_lgamma now, to make
	sure that it is fixed before the 2.3.0 release candidate.

	tfma.c: added an overflow test (currently fails).

	tfma.c: whitespace change.

	tfma.c: added tests on special and exact values.

2007-05-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed error analysis in mpfr_lngamma
	added mpfr_inp_raw/mpfr_out_raw in TODO

2007-05-16  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: fixed mpfr_fms formula to match the one on Itanium and PowerPC.

2007-05-07  Vincent Lefèvre  <vincent@vinc17.net>

	algorithms.tex: improved the description of mpfr_remquo.

2007-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved description of remainder and remquo

2007-05-06  Vincent Lefèvre  <vincent@vinc17.net>

	My latest change was not completely correct...

	Updated description of algorithm for mpfr_remainder.

2007-05-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added description of algorithm for mpfr_remainder

2007-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	remquo.c: suggest to use mpz_powm.

	remquo.c: added a comment (idea to compute the remainder much more
	efficiently in the case x much larger than y).

2007-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added assert and ideas for native implementation

	put back test (disabled for test)

	fixed problem when rem and x are the same variable

2007-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	tremquo.c: added a test that leads to a segmentation fault.

	tremquo.c: fixed tests (= -> ==).

2007-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed two issues found by Kaveh Ghazi:
	* remainder was wrong for |x/y| < 1
	* remainder had wrong sign when zero

	more details of error analysis

2007-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	Updated svn:ignore property.

	Updated svn:ignore property.

2007-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed precision for command-line usage

2007-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: added mpfr_lgamma.

2007-05-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added code to use tremquo with command-line arguments (tremquo x y)

2007-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: improved comment.

	configure.in: added a comment on the AC_ARG_ENABLE(decimal-float...)
	part. The addition of this code was the cause of the test_CFLAGS problem
	(see r4425 log), but this code is still wrong.

2007-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	modified test (2147483648 is not representable as 32-bit long in C90)

2007-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	Removed unused variables.

	get_str.c:
	  * Removed useless prototype declaration (function no longer defined).
	  * Fixed initializer.

	configure.in: moved the definition of test_CFLAGS upward (it was
	always set to "set", either because of things added to configure.in
	or because of new autoconf).

	mpfr.h: added mpfr_lgamma prototype.

2007-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	argument quo of remquo is now a pointer to long instead of int
	added new functions in NEWS

	changed order of arguments: now mpfr_remquo (r, q, x, y, rnd).

2007-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	remquo.c: fixed variable name for MPFR_LOG_FUNC.

2007-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_remquo and mpfr_remainder

2007-04-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed error analysis (error was over-estimated)

2007-04-26  Vincent Lefèvre  <vincent@vinc17.net>

	lngamma.c: a bit more details in the error analysis for z0 < 1.

	lngamma.c: a bit more details in the error analysis for z0 < 1.

2007-04-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	u was used for two different meanings in the error analysis for z0 < 1

2007-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	Updated svn:ignore property.

	Added preliminary support for mpfr_lngamma and tests.
	TODO: add support for negative numbers with small exponent.
	Re-enable the generic tests when this is done.

	lngamma.c: There was an assertion failed, probably because the error
	was too large; fixed that by restarting with a larger precision.

	lngamma.c: fixed -2k-1 <= x <= -2k test.

	tests/tlngamma.c: added a test showing a bug in lngamma (due to the
	use of mpfr_get_si even when the number doesn't fit in a long).

2007-04-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for negative even index in mpfr_jn (wrong sign)

2007-04-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added warning

	added Bit Twiddling Hacks

2007-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR manual: added a brief description of mpfr_t (this may be needed
	to write correct code) and mpfr_ptr (used by mpfr_sum).

2007-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	Changed mpfr_{jn,yn}_si (mpfr_t res, mpfr_t x, long n, ...) into
	mpfr_{jn,yn} (mpfr_t res, long n, mpfr_t x, ...), as discussed by
	mail; fixed a typo in mpfr.texi in mpfr_{y0,y1,yn} description.

2007-03-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added url of GSL manual

	fixed misunderstanding about definition of Bessel functions

	removed Bessel functions J_n and Y_n

	added Bessel functions of second kind (y0, y1, yn_si)

	now test_generic calls respectively j0 and j1, not zeta!

2007-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: INF -> Inf for consistency.

	mpfr.texi: PI -> Pi for consistency.

2007-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: -0 -> @minus{}0.

	mpfr.texi: fixed bug introduced in rev 4377, which made TeX fail.

	Added tj0, tj1 and tjn to svn:ignore property of "tests" directory.

2007-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_jn -> mpfr_jn_si

2007-03-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now check underflow for large n in mpfr_jn_si
	added more tests

	added more tests (large values of n)

	fixed another stupid bug

	mpfr_jn -> mpfr_jn_si, with 'int' argument changed to 'long'
	fixed bug in mpfr_jn_si (forgot to increase working precision)

2007-03-23  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: added a warning about the meaning of the output "inexact"
	value in the function logging code.

	Added log support for mpfr_add and mpfr_sub.

2007-03-23  Laurent Fousse  <laurent@komite.net>

	Correction: added missing $b_n$.

2007-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added Bessel functions of first kind: j0, j1, jn

2007-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR manual: improved description of mpfr_get_str.

2007-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typos in comments

2007-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	documented restriction to n in mpfr_get_str

2007-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	Updated INSTALL based on AIX/PowerPC tests and results from Julie Kurpa
	and information on <http://www.ess.uci.edu/esmf/FAQ.html#gcc-errors>.

2007-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated "To make a release" section.

2007-03-02  Vincent Lefèvre  <vincent@vinc17.net>

	Made modified paragraph on mpfr_get_str more correct from a logical
	point of view.

2007-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	modified paragraph on mpfr_get_str (size of allocated string)

2007-02-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tentative implementation of fmod

2007-02-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added suggestion about remquo

2007-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment

	added C99 rationale for remquo

	fixed error in generic error for the logarithm, and propagated new bound
	in algorithms.tex and source files

2007-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new item

2007-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	Added update-patchv script to update some files before a patch is built
	(script from 2.2 branch).

2007-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated paragraph on the underflow before/after rounding.

2007-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference

2007-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: added Exceptions section.

	mpfr.texi: updated month.

	Note that the mpfr.info file is now installed in the share subdirectory.

2007-02-10  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tpow.c: removed comment since there are other <limits.h> macros
	in the file (and this is an old bug: the first one was introduced in
	rev 2783).

2007-02-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing include

2007-02-09  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed an integer overflow in pow_si.c (detected with -ftrapv) and
	added a corresponding testcase in tests/tpow.c.

	pow_si.c: another comment about the overflow detection.

	pow_si.c: added the proof of overflow checking.

	mpfr-impl.h: added a comment about the exponent limits for MPFR numbers.

2007-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	Reimplemented mpfr_set_si_2exp and mpfr_set_ui_2exp, and mpfr_set_si
	and mpfr_set_ui using the 2exp versions with e = 0. This fixes a bug
	in corner cases (emin >= 4 and some other constraints) in mpfr_set_si
	and mpfr_set_ui that incorrectly lead to an underflow flag set, and
	fixes mpfr_set_si_2exp and mpfr_set_ui_2exp in case of overflow or
	underflow (replacing the r4346 fix). Added corresponding testcases.

2007-02-07  Vincent Lefèvre  <vincent@vinc17.net>

	Added "Contributed by the Arenaire and Cacao projects, INRIA." to the
	copyright notices and removed a few old things.

2007-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing macro (thanks to Izhar Wallach <izharw@keddem.com>)

2007-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed mpfr_set_si_2exp in case of overflow or underflow.

2007-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	pow_si.c: fixed the overflow detection for x power of 2 and n negative.

	tests/tget_f.c: fixed a test that had an integer overflow (detected
	with -ftrapv).

	pow_si.c: Before fixing the bug corresponding to the testcase added in
	rev 4342, let's fix another one that can be detected with -ftrapv when
	n = LONG_MIN (since -n is not representable in this case).
	With wrapping, we always got the correct result because mp_exp_t is
	currently at most a long *and* because of side effects!

	tests/tpow.c: added a test which fails (undetected integer overflow).

	tests/tpow.c: new test was wrong; fixed.

	tests/tpow.c: corrected tests and added another test.

	tests/tpow.c: added tests.

	pow_si.c: added an assertion.

2007-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: merged both requests for mpfr_sinh_cosh.

2007-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added documentation for mpfr_dim (was missing)

	added item

2007-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced some computations using the type double by computations using
	MPFR, for mpfr_get_str, allowing it to work with an x86 processor set
	up in single-precision mode.

2007-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	Updated comment concerning LONG_MIN / 1.

2007-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated "To make a release" section.

2007-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	Removed mpzroot.c and rootrem.c from the repository.

	Removed log_b2.h (has never been used) from the repository and from
	libmpfr_la_SOURCES in Makefile.am.

	FAQ.html: Added details to MPF-related Q&A's.

	Copyright notice update: added 2007.

	* tests/tests.c: under Linux/x86, the FPU precision can be set before
	doing the tests (see MPFR_FPU_PREC), so that MPFR can be tested under
	various FP environments (2 tests currently fail with _FPU_SINGLE).
	* README.dev: updated "To make a release" section.
	* BUGS: mentioned the above bug.

2007-01-08  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi -> January 2007.

2007-01-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added support from LIP, and different INRIA project-teams

2007-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	Minor change.

2006-12-29  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: macros/functions to get/set the sign of a MPFR number.

2006-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	remove new rootrem implementation (unclear copyright status)

2006-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced mpfr_mul_2exp and mpfr_div_2exp by mpfr_mul_2ui and
	mpfr_div_2ui respectively (when this makes sense, of course).

2006-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_div_2exp -> mpfr_div_2ui

	improved efficiency of zeta_ui(s) for 3^(-s) < 1/2*ulp(1)

2006-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: update concerning MPFR_USE_EXTENSION.

2006-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added copyright header

	added item

2006-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	Implemented MPFR_USE_EXTENSION support.

2006-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved efficiency for zeta(m) in precision p when m is large
	but still smaller than p, for example m=1024 and p=2048 gives a
	speedup of about 23 (thanks to Jim White for reporting the problem)

2006-12-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added MPFR_ZIV_INIT stuff

2006-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

2006-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: to be added: MPFR_USE_EXTENSION macro.

2006-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: update.

	INSTALL: update of the "Notes on Windows 32" section.

2006-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment about last change

	fixed warning on 64-bit machines

2006-11-26  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tpow.c: added worst cases.

	tests/troot.c: two more worst cases.

2006-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	tests/troot.c: added a worst case.

	BUGS: removed obsolete "compiler bugs" section.

2006-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added worst case

2006-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	Partially rewrote the INSTALL file.

2006-11-24  Vincent Lefèvre  <vincent@vinc17.net>

	Makefile.am: fixed libtool's -version-info flag (and comment).

	configure.in: check for gmp.h a bit earlier.

2006-11-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added --with-tests-timeout=60 for nightly tests

	test timeout is now a configure option (e.g. --with-tests-timeout=60)

	replaced set_d by set_str_binary (more portable)

2006-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: several additions.

2006-11-22  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: small update.

	FAQ update (added a CSS counter).

	update-faq: added a workaround for the libxslt bug 377440.

	TODO: update concerning the patches information.

2006-11-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	set GMP_CHECK_RANDOMIZE to get random tests

2006-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	Updated README file.

2006-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: mention the version suffix.

	Updated version to 2.3.0-dev.

	Added version suffix support (useful for dev and rc versions).

	Rewrote nightly-test in sh and fixed a security hole.

2006-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added cpu time limit of 60 seconds in tests

2006-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: update.

2006-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added an argument to give the branch (use trunk or branches/2.2 for example)

2006-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tgamma.c: restore emin and emax to their default values.

2006-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in overflow test

	fixed bug in mpfr_gamma for exact result

	added two configure options

	simplified test :-)

2006-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: unset GMP_CFLAGS and GMP_CC in case the user has set such
	environment variables for another use.

	tests/texp2.c: fixed a problem with a value that is not necessarily
	representable (on platforms without long long).

	BUGS: removed item on mpfr_eint (now fixed).

	Untabify.

2006-11-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced double by mpfr_t (problem on 64-bit machines)

	added more tests

	script for nightly tests

	fixed bug in pow (isodd -> assertion failed)
	fixed problem in erfc for large input
	reduced tests that took too much time

2006-11-19  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: updated description of mpfr_eint, as the whole input domain
	is now supported.

	Untabify.

	mpfr-impl.h: added a comment about MPFR_WARNING.

2006-11-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in erfc (forgot to compare result of cmp_si)
	fixed infinite loop in eint (test for use of asympt was not tight enough)

	added asymptotic expansion for mpfr_eint (don't need MPFR_WARNING any more)

2006-11-18  Vincent Lefèvre  <vincent@vinc17.net>

	Added a mpfr_erfc test that shows a bug and updated BUGS file.

2006-11-17  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: Added a comment concerning GMP version checking.

	configure.in: Before testing GMP header and library versions, set
	LD_RUN_PATH locally if a --with-gmp* option is used, so that the
	right version of the GMP library is used. There is no need to do
	something similar for "make check" as libtool does the job.

	Updated mpfr_erfc documentation (now supported in whole domain).

	BUGS: removed mpfr_pow_z bug.

2006-11-17  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the new generic tests.

	[Added during the Subversion to Git conversion]
	A merge commit could not be generated for Git.
	Branch in Git: refs/deleted/r4290/heads/new-generic-tests

2006-11-17  Vincent Lefèvre  <vincent@vinc17.net>

	Partially fixed a bug in mpfr_pow_si (overflow/underflow detection for
	n < 0).

	tests/tpow_z.c: various corrections.

	Partially fixed another bug in mpfr_pow_z (overflow/underflow detection
	for z < 0) and added corresponding testcases.

	Fixed a bug in mpfr_pow_z concerning the underflow flag and added the
	corresponding testcase (but the case z < 0 is still buggy concerning
	the flags).

2006-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	implemented asymptotic formula for erfc (fixed both slowness for large
	arguments, and call to MPFR_WARNING with return value NaN for huge arguments)

	added new test

2006-11-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem for large negative input

2006-11-14  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: slight change in the proposed mpfr_lgamma prototype (arg order).

2006-11-13  Vincent Lefèvre  <vincent@vinc17.net>

	About mpfr_lngamma/mpfr_lgamma: added mpfr_lgamma to TODO and updated
	mpfr_lngamma description in mpfr.texi.

	BUGS: update.

	tests/terf.c: added a test that yields a segfault (execute "terf 1").

2006-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved the [gs]et_decimal64 functions after the [gs]et_ld functions

2006-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr.texi: changed @code{--enable-decimal-float} into @samp{...}
	for consistency with the other configure options.

	mpfr.texi: updated the note concerning mpfr_eint and mpfr_erfc.

2006-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added warnings support.
	  * configure.in: added --enable-warnings configure option.
	  * mpfr-impl.h: defined MPFR_WARNING(W) macro.
	  * eint.c, erfc.c: use MPFR_WARNING instead of fprintf.
	  * tests/Makefile.am (new-generic-tests branch): run the tests with
	    MPFR_QUIET=1 to avoid output of useless warnings, as some tests
	    (with large arguments) can generate such warnings, which are all
	    expected.

	[[Split portion of a mixed commit.]]

2006-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added tget_set_d64 to svn:ignore property of "tests" directory.

	TODO: "add a configure test for --enable-logging..."

	More information for --enable-logging configure option.

	Fixed test of logging support.

	Removed --with-irix64 configure option and "case $OS_TYPE" code from
	configure.in; see
	  https://sympa.inria.fr/sympa/arc/mpfr/2006-11/msg00009.html
	for the reasons.

2006-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more checks with native format

	added detection of decimal format in configure (DPD or BID)

2006-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	strtofr.c: removed a useless cast (ISO C99 standard 6.2.5#3) and updated
	a comment as isdigit is no longer used.

	strtofr.c fix: no longer use isdigit, as MPFR requires non-localized
	digits.

2006-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	modified to work on 64-bit machines too

2006-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	get_d64.c: fixed problems related to signed/unsigned values.

	strtofr.c: fixed a bug that could occur on platforms with signed chars,
	when the user provides a string with negative characters (e.g. accented
	characters, in practice).

2006-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	complete rewrite of mpfr_set_decimal64 and mpfr_get_decimal64: now use
	internal string <-> _Decimal64 conversion functions, which perform native
	conversion from/to BID or DPD

2006-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_set_decimal64 and mpfr_get_decimal64

2006-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr-impl.h: fixed a compile error if _Decimal64 is unknown.

2006-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new configure option --enable-decimal-float to build mpfr_set_decimal64
	and mpfr_get_decimal64 (checks _Decimal64, and _GMP_IEEE_FLOATS is defined)

2006-11-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added --enable-decimal-float in configure, and corresponding macro
	WANT_DECIMAL_FLOATS

2006-11-07  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tversion.c: improved error message and added gmp.h/libgmp test.

	Fixed a small bug in tests/tversion.c (should never occur anyway).

2006-11-06  Vincent Lefèvre  <vincent@vinc17.net>

	logging.c: clean-up.

2006-11-05  Vincent Lefèvre  <vincent@vinc17.net>

	README.dev: updated things to do before a release.

2006-11-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new (preliminary) conversions functions to/from decimal64

	changed header file: stdlib.h -> stdio.h

2006-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug related to signed/unsigned types.

	tgamma.c: avoid useless mpfr_get_d.

	tpow.c: replaced a mpfr_cmp_d by a mpfr_cmp_str1.

	lngamma.c: added a comment.

	tlngamma.c: avoid useless mpfr_get_d.

2006-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	eint.c: better overflow checking; fix: all allocated memory now freed.

	eint.c: forgot 2 mpfr_clear's.

	eint.c fix: and changed the #if into if.

	eint.c fix: replaced BITS_PER_MP_LIMB by sizeof(mp_exp_t) * CHAR_BIT.

	The current implementation of mpfr_erfc cannot compute the result for
	large inputs. Return NaN with the erange flag set instead of aborting.
	Documented this behavior in mpfr.texi.

2006-10-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved bound for x with BITS_PER_MP_LIMB=32
	   added bound for BITS_PER_MP_LIMB=64

2006-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	The current implementation of mpfr_eint cannot compute the result for
	large inputs. Return NaN with the erange flag set instead of aborting.
	Documented this behavior in mpfr.texi.

	tzeta.c patch 4166 should have been committed to the trunk. Fixing...

2006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for overflows or underflows

2006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem for large negative s (return +Inf or -Inf)

	[[Split portion of a mixed commit.]]

2006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed dummy error in last commit

2006-10-26  Vincent Lefèvre  <vincent@vinc17.net>

	In latest change, replaced exit(1) by abort().

2006-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for eint()
	added error message when input is too large in eint(), waiting for asymptotic
		expansion

2006-10-26  Vincent Lefèvre  <vincent@vinc17.net>

	Untabified and added a FIXME.

2006-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed overflow/underflow problems in csch and sech
	fixed problem for huge argument in coth

2006-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ-related updates:
	  * faq.xsl: Include styles from http://www.mpfr.org/styles/visual.css
	    by using a system entity (but GNOME libxslt bug 345147 is still
	    present in Debian, so don't use /*<![CDATA[*/ and /*]]>*/ yet).
	  * update-faq: add /*<![CDATA[*/ and /*]]>*/ after calling xsltproc.
	  * FAQ.html: update from the MPFR web site: various changes, including:
	      + added id attributes on dt elements (FAQ items) to allow anchors;
	      + updated FAQ for undefined references.

	INSTALL: mention the MPFR FAQ.

2006-10-23  Vincent Lefèvre  <vincent@vinc17.net>

	Added a comment about a warning (this confused a user).

2006-10-11  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: added an item about version information.

2006-10-05  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: updated item.

2006-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item

2006-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed wrong emax in example for mpfr_subnormalize

2006-09-07  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR manual: say that errno may be set to non-zero.

2006-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	tests/tests.c: typo.

2006-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed texp2 overflow tests on 64-bit machines.

	tests/reuse.c: avoid a warning; code reformatted (GNU style).

2006-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: minor update.

2006-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS: updated "known bugs" section.

	Fixed an exponent/flags-related bug in lngamma.c.

	Updated svn:ignore property.

2006-08-20  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed several problems in pow.c concerning underflows, overflows and
	flags (including the inexact flag, which could be incorrectly set in
	case of NaN), and added some testcases. Problems in pow_z.c have not
	been fixed yet.

	Partial fix: The inexact flag was not always set in some functions.
	In particular, it is now set by mpfr_check_range (if t is not zero)
	since mpfr_check_range usually comes just after MPFR_SAVE_EXPO_FREE
	(which restores the previous flags).

2006-08-19  Vincent Lefèvre  <vincent@vinc17.net>

	Added an assertion for mpfr_exp2 and a test.

2006-08-16  Vincent Lefèvre  <vincent@vinc17.net>

	Optimized mpfr_expm1 for large (in absolute value) negative values in
	order to avoid the TMD (the result is very close to -1). Without this
	patch, mpfr_expm1 could take dozens of MBs and the new generic tests
	for texpm1 could take several hours instead of less than 1 second.

	Fixed a bug in expm1 for very small negative arguments (and perhaps
	some very small positive arguments too); this bug is similar to the
	one in log1p that was recently found and fixed. It was detected by
	the new generic tests (not committed yet), therefore no testcases
	are provided. Note: the mpfr_expm1 function is still buggy (freezes
	on -0.10E18, prec 2 -> prec 13); this is a different bug.

	In mpfr_exp2, the overflow flag was not set if mpfr_exp2 overflowed
	with x < emax. Added testcase.

2006-08-15  Vincent Lefèvre  <vincent@vinc17.net>

	The latest mpfr_exp2 fix contained a bug. Partially rewrote mpfr_exp2
	to fix this bug and another one (and added a corresponding testcase:
	exp2(10000000000.5), which was freezing).

	Better fix for exp2 exponent range bug.

	Fixed bug in mpfr_exp2 when the argument is an integer and emin > 1.
	Added a testcase to texp2.

2006-08-14  Vincent Lefèvre  <vincent@vinc17.net>

	Added tget_ld_2exp to svn:ignore property of "tests" directory
	(should have been done in rev 4028).

	Fixed bug in log1p for small negative values of x and added testcase.

	Code style correction for ansi2knr.

2006-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: more information.

	INSTALL: added a note about include/library paths.

2006-07-21  Vincent Lefèvre  <vincent@vinc17.net>

	INSTALL: added information about setup after the library installation.

2006-07-20  Vincent Lefèvre  <vincent@vinc17.net>

	Improved linker flag settings on darwin.

2006-07-18  Vincent Lefèvre  <vincent@vinc17.net>

	configure.in: fixed a linking problem on darwin.

2006-07-16  Vincent Lefèvre  <vincent@vinc17.net>

	One needs automake 1.6; autoreconf fails with automake 1.4. Adding
	the 1.6 automake option will make the error message less obfuscated,
	but unfortunately, one won't have the necessary automake version
	automatically called, even if it is installed.

2006-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item

	fixed wrong comment (thanks Keith Briggs)

	new mpn_rootrem is still not in gmp-4.2

2006-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced <= by =

2006-06-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed <= into =

	comments from Keith Briggs

2006-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	algorithms.tex: corrected several English mistakes and typography.

2006-06-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

	replaced error() by \error()

2006-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	algorithms.tex: another fixed notation for roundings.

2006-06-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added section on Notations
	fixed notations for roundings

2006-06-09  Vincent Lefèvre  <vincent@vinc17.net>

	algorithms.tex: changed the page style to plain (for page numbers).

2006-06-07  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ update.

2006-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	Define HAVE_ATTRIBUTE_MODE if supported; useful for s390, but incomplete
	and will fail on platforms with gcc and CHAR_BIT != 8.

2006-05-19  Vincent Lefèvre  <vincent@vinc17.net>

	Add compiler flags (CPPFLAGS, LDFLAGS) in a consistent order.

2006-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR manual consistency: Custom interface -> Custom Interface.

2006-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: added a note about the change 4049 in div.c.

2006-04-18  Vincent Lefèvre  <vincent@vinc17.net>

	Removed the #ifndef __hpux from mul.c (after a test on a HP-UX machine,
	I got no failures, even with the old mpfr-longlong.h).

	README.dev: added a point on mpfr-longlong.h in "To make a release".

	Updated mpfr-longlong.h from the GMP 4.2 longlong.h file.

	mpfr.texi: removed dot from a section title.

2006-04-11  Vincent Lefèvre  <vincent@vinc17.net>

	FAQ update.

2006-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	div.c: removed the bad use of MPFR_LIMB_ZERO.

	In get_f.c, updated the case precy + sh > precx: this one was correct,
	but added a comment, assertions and simplified a MPN_ZERO.

2006-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	tget_f.c: test that there is no lost of accuracy when converting
	a mpfr_t number into a mpf_t number (test with various precisions
	and exponents).

	The fix of get_f.c was wrong. This should be now OK for the case
	precy + sh <= precx.

	Fixed bug in mpfr_get_f (reported by Yury Lukach) and added test.

2006-03-31  Vincent Lefèvre  <vincent@vinc17.net>

	Updated FDL to version 1.2.

	Updated FSF address.

	Fixed FSF address.

2006-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	Another FAQ update (taking GMP 4.2 into account).

	FAQ update.

2006-03-24  Vincent Lefèvre  <vincent@vinc17.net>

	Removed all code related to mpn_sub_nc (no longer used).

	div.c: fixed a bug and no longer use mpn_sub_nc.

	Some clean-up in div.c; do not steal GMP's namespace (could lead to
	clashes if future GMP versions define the corresponding macros).

	Build shared libraries by default.

2006-03-23  Vincent Lefèvre  <vincent@vinc17.net>

	random2.c: minor change suggested by Patrick.

	configure.in: typography consistency.

	Mention --enable-thread-safe and --enable-shared in the INSTALL file
	since users may need them and could be confused otherwise (just seen
	that). Untabified the file.

2006-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	TODO: new exception "division by zero" / "pole".

	README.dev: added "Do not use C99-only features, such as...".

2006-03-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced 6th empty argument of MPFR_FAST_COMPUTE_IF_SMALL_INPUT by {}

2006-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	In random2.c, replaced NULL by 0 (more general) and removed the
	now unnecessary #include <stdio.h>.

2006-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing include file

2006-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	Tests: added new worst case for x^(3/2).

2006-03-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added reference to INRIA report for Zeta

	added another reference

	added reference

2006-02-28  Vincent Lefèvre  <vincent@vinc17.net>

	More details concerning mpfr_eq.

2006-02-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed "but does not make much sense"

	added contribution from Damien

	new test file for mpfr_get_ld_2exp

2006-02-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_get_ld_2exp (contributed by Damien Stehle)

2006-02-20  Vincent Lefèvre  <vincent@vinc17.net>

	Updated mpfr_random2 user documentation.

	Fixed bug in mpfr_random2 when size == 0 and added testcase.

	trandom.c: reformat.

	trandom.c: use calloc instead of malloc and check return value.

	mpfr_random2_raw -> static.

2006-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	Added mpfr_remainder to TODO.

2006-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed wrong url

2006-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed various spelling mistakes, typos... in algorithms.tex.

	In algorithms.tex, \em -> \emph.

	Typography corrections in algorithms.tex.

	In algorithms.tex, added a missing blackslash.

	In algorithms.tex, removed \date (was incorrectly used) and added the
	web site as a footnote.

2006-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	Code reformatted. C99 comment replaced by traditional comment.

2006-02-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	* Added comments on all random number generator functions ;
	* Inlined the mpn_random2 code in mpfr_random2, to avoid the use of the
	same internal randstate ; added a mpfr_random2_raw (not exported at the
	time) to allow specification of a randstate ;
	* Checked normalization of the result of random2 in trandom.c

2006-01-31  Vincent Lefèvre  <vincent@vinc17.net>

	Changed a part of the documentation of mpfr_get_d_2exp, introduced in
	rev 4008, to specify a behavior very similar to the ISO C standard.

2006-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed documentation bug

2006-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted comments on <float.h> (that were added in r3976).

	Replaced -0.0 by a new macro DBL_NEG_ZERO. With MSVC, the negative zero
	no longer depends on the non-standard _chgsign function, as
	  static double double_zero = 0.0;
	  # define DBL_NEG_ZERO (-double_zero)
	has been reported to work.

2006-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	Added comments.

2006-01-13  Vincent Lefèvre  <vincent@vinc17.net>

	Type clean-up.

	The problem with the conversion was not completely fixed... Now OK.

	Fixed conversion with a non-representable value.

	Untabify.

2006-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	More reliable tests for mpfr_set_f (x, y, GMP_RNDN) for
	y = 2^emax and y = 2^(emax-1).

	Use mpfr_get_emax() instead of obsolete __mpfr_emax.

	More reliable test for mpfr_set_f (x, y, GMP_RNDN) for y=2^ULONG_MAX.

	Untabified.

	Fixed a bug related to exponent range.

	Replaced obsolete __mpfr_emax by __gmpfr_emax.

2006-01-11  Vincent Lefèvre  <vincent@vinc17.net>

	Removed add_one_ulp.c and sub_one_ulp.c (no longer used).

2006-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR manual: changes from Paul concerning the ulps.

	In the manual, replaced "exact rounding" by "correct rounding",
	and added a sentence on the consequence of correct rounding (as
	suggested by Paul).

2006-01-05  Vincent Lefèvre  <vincent@vinc17.net>

	Added ', Inc.' when missing after 'Free Software Foundation'.

	README.dev: Added a note about copyright notices.

	Updated the copyright notices according to the new GNU rules on:
	  https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
	i.e. added 2006 to every MPFR file.
	Note: the copyright notices (currently 336) should match the regexp
	  Copyright.* 2006 Free Software
	so that it will be easier to update them for the next year...

2006-01-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added suggestion from K. Briggs

2006-01-01  Vincent Lefèvre  <vincent@vinc17.net>

	Updated copyright line (we are now in 2006!).

2006-01-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use mpfr_overflow

2005-12-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_set_f for huge argument

2005-12-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	bug fix in mpfr_get_f

2005-12-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated comment for float.h (_chgsign)

	fixed bug found by Vincent (worst-case)

	patch for Visual C (does not compile -0.0 properly)

	patch for Visual C (-0.0)

2005-12-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed typo

2005-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	Better definition for mpf_set_prec_raw (so that the value is kept).

2005-12-08  Vincent Lefèvre  <vincent@vinc17.net>

	Updated a comment.

	Added test cases for a bug introduced on 2005-01-29 in sin.c rev 3248.

	README.dev: remember to test MPFR on the worst cases.

2005-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added lemma + reference

2005-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	Removed mpfr_div bug from BUGS (as it has been fixed).

	Added consistency tests for mpfr_div (e.g. to test small-size divisors).

2005-11-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed efficiency bug for small divisor (division had same cost than for
	divisor of the same size than the result)

2005-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	Updated FAQ.

	faq.xsl: add copyright information to the downloaded FAQ.

	Added information about the patches to the INSTALL file.

	BUGS: Noted the slow division when the precision of the divisor
	is small compared to the precision of the target.

2005-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug preventing the compilation of MPFR with GMP 4.1.90
	(non-public development version) without the build directory.

	Fixed memory leak in mpfr_mpn_rootrem().

2005-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	Added a note about running the trunk tests in a branch.

	Make trunk tests work with MPFR 2.2 (branch), by testing the version.

	Removed .cvsignore file (useless after the switch to Subversion).

	Added a MPFR_UNLIKELY.

	In mpfr_round_near_x, use the new MPFR_RNDRAW_GEN with a correct middle
	handler instead of MPFR_RNDRAW_EVEN so that the correction of the wrong
	rounding is no longer necessary (BTW, the wrong rounding could have lead
	to problems in case of intermediate underflow/overflow -- not checked).

	mpfr_round_near_x test completed.

	Added a test for mpfr_cbrt, from the following failure with MPFR 2.2
	and gcc 4.0.2 under Linux/m68k:
	  Seed GMP_CHECK_RANDOMIZE=1131612275 (include this in bug reports)
	  results differ for x=1.1000e-2 prec=5 rnd_mode=GMP_RNDN
	  got      1.1000e-1
	  expected 1.0111e-1
	  approx  0.101110001001100E0
	  FAIL: tcbrt

2005-11-04  Vincent Lefèvre  <vincent@vinc17.net>

	Improved note r3493 concerning mpfr_set_d/ld.

	More information in the "Reporting Bugs" section.

	Added a comment about the macros MPFR_RNDRAW* and the labels.

	Moved definitions of struct __gmpfr_cache_s and mpfr_cache_t, and
	declarations of mpfr_init_cache, mpfr_clear_cache and mpfr_cache
	from mpfr.h to mpfr-impl.h as they are internal (not documented).

2005-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	Eliminated the case inex == 0.

	Started to write code to test mpfr_round_near_x.

	Typos & English usage.

	Fixed typos.

2005-11-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added hint on forbidden variable name

	added "tune" item for new releases

	done make tune for amd64 with gmp-4.1.4

2005-11-02  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the changes from branch vlefevre:
	  * mpfr-impl.h: Added MPFR_RNDRAW_GEN based on MPFR_RNDRAW and
	    MPFR_RNDRAW_EVEN codes, but taking an additional argument: a
	    handler executed in rounding to nearest mode when the value
	    is the middle of two consecutive numbers in dest precision.
	    MPFR_RNDRAW and MPFR_RNDRAW_EVEN are now defined by a "call"
	    to MPFR_RNDRAW_GEN.
	  * cache.c: Clean-up and use MPFR_RNDRAW_GEN instead of
	    MPFR_RNDRAW_EVEN to avoid an unnecessary correction in the
	    halfway case.
	  * hypot.c: Fixed mpfr_hypot when the rounding mode is to nearest,
	    x is "much larger" than y, and x is the middle of two consecutive
	    numbers in the target precision.
	  * tests/thypot.c: Added the corresponding testcase.

	[Added during the Subversion to Git conversion]
	A merge commit could not be generated for Git.
	Branch in Git: refs/deleted/r3930/heads/vlefevre

2005-11-02  Vincent Lefèvre  <vincent@vinc17.net>

	Updated svn:ignore property.

2005-11-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed remaining problems

	declared variables as mp_prec_t instead of int
	use MPFR_MPZ_SIZEINBASE2 instead of mpz_sizeinbase

2005-11-02  Vincent Lefèvre  <vincent@vinc17.net>

	Reverted the latest change to constant.c: removed MPFR_THREAD_ATTR as
	these constants can be shared. Removed MPFR_THREAD_ATTR from mpfr-impl.h
	too (this should have been the right correction for rev 3838 concerning
	the type mismatch). Thanks to Patrick for noticing this.

2005-10-31  Vincent Lefèvre  <vincent@vinc17.net>

	Added an MPFR_UNLIKELY (suggested by Patrick) and an MPFR_ASSERTN.

2005-10-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	factored calls to gmp_alloc
	removed unused variables

	improved atan (now can cut series before 2^m)
	revised error analysis and code of tanh

2005-10-31  Vincent Lefèvre  <vincent@vinc17.net>

	Reformat (GNU coding style).

	Fixed MPFR_INT_CEIL_LOG2 (in mpfr-impl.h) and __gmpfr_int_ceil_log2
	(in int_ceil_log2.c) when the argument is a power of 2, and added a
	test (new test file tests/tinternals.c). This made a bug appear in
	div_ui.c and mul_ui.c; fixed that too.

	Added a test that fails after fixing MPFR_INT_CEIL_LOG2.

2005-10-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved exp_3 (binary-splitting algorithm)

2005-10-30  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed padding-bit test.

	3 corrections in cos.c concerning maxi:
	  * corrected a comment;
	  * failed if sizeof(int) <= sizeof(long) / 2;
	  * now take possible padding bits into account.

2005-10-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patched root.c to use rootrem.c with gmp-4.1.90
	added comment in exp3.c
	added more initial guard bits in agm

	now tune Mulders short square (not yet used)
	improved mpfr_cos

2005-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated code for gmp-dev

2005-10-26  Vincent Lefèvre  <vincent@vinc17.net>

	Removed .cvsignore file (useless after the switch to Subversion).

2005-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	More portable update-version script (use perl instead of sed).

2005-10-24  Vincent Lefèvre  <vincent@vinc17.net>

	First revision after the switch to Subversion:
	  * Removed fixperm as it is now useless.
	  * Updated README and README.dev files.

	Update.

2005-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	documented algorithm used in mpfr_agm and fixed code accordingly

2005-10-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added efficiency item

	now mpzroot/rootrem compile without gmp internal headers

2005-10-07  Vincent Lefèvre  <vincent@vinc17.net>

	Disabled new rootrem/mpz_root as compilation fails (headers can't
	be found).

	Temporary optimization (patch from Patrick Pelissier).

2005-10-06  Vincent Lefèvre  <vincent@vinc17.net>

	One of the tests was using the fabs function, but -lm isn't given when
	generating the executable, making the linking fail under HP-UX. Fixed
	by not using this fabs function.

2005-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	small improvement in sign detection

	improved mpfr_root, using the new mpn_rootrem code written with Torbjo"rn

2005-09-29  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Fixed bug in mpfr_set_ui macro when parameters are expressions
	with side effects.

2005-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed missing accent

2005-09-28  Vincent Lefèvre  <vincent@vinc17.net>

	Small optimization.

	Test the sign of 0.

2005-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed infinite loop for lngamma(2)

2005-09-28  Vincent Lefèvre  <vincent@vinc17.net>

	Updated libmpfr_la_LDFLAGS (note: it shouldn't be incremented again
	before the 2.3.0 release).

2005-09-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new function: Zeta with integer argument

2005-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new function mpfr_zeta_ui for integer argument

2005-09-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added brief description of algorithm for mpfr_zeta

2005-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	Mentioned problems with the Tru64 make and other minor changes.

2005-09-17  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed the GMP linking test: replaced __gmp_version, which corresponds
	to a variable, by __gmpz_init (suggested by the GMP documentation),
	which corresponds to a function, as the auto tools assume the symbol
	corresponds to a function. It was failing with the AIX linker.

2005-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	Untabify.

	Update.

	Untabify.

2005-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing documentation for mpfr_get_f and mpfr_pow_z

2005-09-16  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed typos found by Tomonori Kouya.

2005-09-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed stupid bug (coth was computing 1/tan instead of 1/tanh)

2005-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed overflow problem for large precision

	added log(precz) in initial precision

2005-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in exp(-eps) for rounding toward zero (test was also wrong...)

2005-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	Updated "To make a release".

	Minor update.

	Added missing MPFR_THREAD_ATTR.

2005-09-11  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid a conflict with GMP.

	Reverted to previous mparam_h.in and mul.c, and applied Patrick's
	patch instead.

	Update.

	Added #include <string.h> for memmove (see ISO C99 standard).

	Minor change.

	Fixed uninitialized variable (with gcc -std=c99).

	Fixed a #ifdef (when --enable-assert isn't used).

	Update.

	Changed the MPFR_ASSERTD into a MPFR_ASSERTN for MPFR_INT_CEIL_LOG2
	since the assertion cannot be guaranteed for every C implementation.

2005-09-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix spelling mistake.

	Add new note about MPFR_TMP_DECL

2005-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reduced default of MPFR_MUL_THRESHOLD by 1, since now MPFR_MUL_THRESHOLD+1
	is considered in mul.c

2005-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed another LaTeX error.

	Update.

	Updated "To make a release".

	Use (mpz_t *) 0 instead of NULL (this is not less clear and this
	works with the native SunOS 4 C compiler).

2005-09-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	avoid . in mpf_set_str (locale-sensitive)

	cleanup of gamma and lngamma

2005-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	MUL_THRESHOLD -> MUL_THRESHOLD+1 (to allow MUL_THRESHOLD=0, needed for
	tuneup.c)

	fixed LaTeX error

2005-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	Fix.

	Update.

	Added fixperm script to fix the file permissions broken by CVS.

	Update.

2005-09-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one item

2005-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Fix: readded dependencies.

2005-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	More detailed error message.

	Change for ansi2knr.

	Code clean-up (again).

	Use GMP's allocate functions instead of C's. Code clean-up.

	Reformat.

2005-09-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	missing set_emin

	added missing call to MPFR_TEST_USE_RANDS() [3 blocks non-freed]

2005-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug (detected after mpfr_set_str_binary has been fixed)
	in tests/tsub.c introduced in 1.6 (2001-10-19).

	mpfr_set_str_binary was buggy and inefficient. Let's use mpfr_strtofr.

	Replaced unsigned long bit-fields (GCC extension) by insigned int
	bit-fields.

2005-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	MPN_COPY now calls memcpy only if dst != src (otherwise this is an
	undefined behavior), and if WANT_ASSERT is defined, it checks that
	there is no overlap.

2005-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid MIPSpro / IRIX64 (incorrect) optimizations for DOUBLE_ISNAN.

	More portable DOUBLE_ISNAN (useful for MIPSpro under IRIX64).

2005-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved trade-off between fac_ui and gamma when argument is integer

2005-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Reformat.

2005-09-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed remaining problem in gamma
	removed LogGamma from TODO

2005-09-02  Vincent Lefèvre  <vincent@vinc17.net>

	Do not put expressions with side effects in MPFR_ASSERTN.

2005-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now uses lngamma code for x < 1 too
	added new tests from Kenneth Wilder

	added another test

	removed useless prototype

2005-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed memory leak (missing MPFR_TMP_FREE in a particular case).

	Fixed the code formatting.

	Updated Point 6 of "To make a release".

	Fixed memory leak (missing MPFR_TMP_FREE in a particular case).

2005-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added lngamma

	added new test (emax)

	now random tests also use x >= 1

	added SAVE_EXPO stuff

	new function lngamma

	now uses lngamma code for x > 1

	added lngamma

2005-08-31  Vincent Lefèvre  <vincent@vinc17.net>

	Updated version to 2.3.0.

	Fix for the following problem: #error is not sufficient with cc
	on IRIX64, and autoconf 2.59 doesn't cope with that.

2005-08-30  Vincent Lefèvre  <vincent@vinc17.net>

	Added .cvsignore files.

	Unobfuscated 2 assertions.

	Fixed indentation and some comments.

	Recommitted the patch (without discarding previous modifications).

	Reverted to the previous version, as the patch discarded previous
	modifications.

2005-08-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two new tests

	patch from Patrick to solve efficiency problem when one operand is sparse
	(e.g. from ui_pow_ui)

2005-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check for overflow/underflow in pow and gamma

2005-08-24  Vincent Lefèvre  <vincent@vinc17.net>

	When WANT_ASSERT >= 2: the corresponding messages are now output
	to stderr instead of stdout.

	Update.

	Improved C compliance when mp_limb_t and uintmax_t have the same size
	(concerning >> BITS_PER_MP_LIMB); some other small improvements.

	No longer assume that a mp_limb_t fits in an unsigned long (this
	is not true under IRIX, where a mp_limb_t has 64 bits and a long
	has 32 bits by default). In round_p.c, error messages are output
	to stderr instead of stdout.

2005-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	This was wrong. Let's do it even more like the 2.1 branch.

	Update.

	Patch 1.25 didn't work under OSF1 with cc. Let's do it like
	the 2.1 branch (it now does work under OSF1 with cc).

2005-08-21  Vincent Lefèvre  <vincent@vinc17.net>

	Better locale support (for the decimal point in string conversions
	and input/output).

2005-08-18  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Misc changes (spelling, typography...).

	Removed trailing spaces (better for future patches, as such spaces
	are sometimes stripped).

	Converted tabs to spaces with expand.

	Updated copyright line.

	Support C implementations giving an incorrect value for the precision
	of long double or where long doubles are implemented with FP expansions
	(like under Mac OS X), as in the 2.1 branch.

	Updated mpfr_get_ld: removed useless and non-portable hacks, fixed
	bugs, and slightly changed the behavior for the x87 extended format
	(we shouldn't return long double's with more precision than really
	supported, e.g. on FreeBSD and NetBSD).

	Added an assertion.

2005-08-17  Vincent Lefèvre  <vincent@vinc17.net>

	Reformatted (GNU style).

2005-08-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve the warning message by adding the lines:
	"we cannot run a program linked with GMP (if you cannot
	see the version numbers above)."

2005-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added pointer for gamma

	fixed comments (code did not change)

	added formula for gamma function

	fixed last test (expected result was wrong)

	fixed bug for tiny input

	added test case

2005-08-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reintroduce the computing of the dependencies.

2005-08-11  Vincent Lefèvre  <vincent@vinc17.net>

	Added MPFR_DOUBLE_SPEC (not used yet, except for warning messages).

2005-08-10  Vincent Lefèvre  <vincent@vinc17.net>

	Completed the documentation of mpfr_strtofr (concerning the exponent).

	Removed double spaces in mpfr_strtofr description (this matters
	for the info format).

	Added a temporary test for non-IEEE-754 double's.

2005-08-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug for pre-ansi compiler.

	Remove redundant entries.

2005-08-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_sin (possible wrong inexact flag for rounding to nearest)
	added items in NEWS and TODO

2005-08-05  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update information

	Rename mpfr_stack to mpfr_custom_

2005-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	Added/updated copyright information.

2005-08-03  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	[[Split portion of a mixed commit.]]

2005-08-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove "Stack Interface" from TODO.

2005-08-01  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add test file for mpfr_subnormalize

	Add documentation for MPFR stack interface

	Add a new test to avoid potential problems if mp_limb_t != long.

2005-08-01  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2005-07-26  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add first version of MPFR stack interface.
	Need to check if everything is ok, specially the test.

	Fix and clean up logging for GCC 4.0.x

	Clean up code.

	Improve logging:
	 + The file is not created if there is nothing to log.
	 + Add new ENVIRONMENT variables: MPFR_LOG_ALL and MPFR_LOG_STAT.

	Add experimental code (Disabled).

	Fix comment

	Add a new regression test (to fix).

2005-07-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug for high values of input (assertion failed)
	because erf(x) ~ 1, so 1-erf(x) ~ 0, and we can't
	get the EXP of tmp.

2005-07-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug (AC_INIT version wasn't updated).
	Display a note about libtool version before quitting.

	Clean up.
	Add comment.
	Add a new test: check if the charset has consecutive values.

2005-07-12  Vincent Lefèvre  <vincent@vinc17.net>

	Updated documentation of mpfr_strtofr.

2005-07-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix an overflow bug (use of int instead of unsigned long).
	Optimize code (5% faster).

2005-07-11  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed locale bug. Function strncasecmp is no longer used.

2005-07-09  Vincent Lefèvre  <vincent@vinc17.net>

	In the tests, set the locale to the current one. This allows to test
	MPFR under various locales, showing a bug in the parse_string function
	due to the use of the strncasecmp function ('i' and 'I' don't match
	with LC_ALL="tr_TR.ISO8859-9").

2005-07-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve displayed warning if GMP versions differ.

2005-07-06  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a solution for a problem.

2005-07-05  Vincent Lefèvre  <vincent@vinc17.net>

	Added in-place tests for atan(+/-0).

2005-07-05  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug of signed 0.
	Optimize code. (20% for 53 bits).

	Improve test for signed 0.

2005-06-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Simplify a condition which was always true.
	(p is always negative).

	Add assertion.

	Simplify code for final step (when i== n0):
	since we do n0-i=0 steps, atan(Ak/2^k) ~= Ak/2^k.
	So we could speed up the final computation (9% faster).

	Optimize: when computing arctan(p/2^r) simplify
	p/2^r if p is even.
	Clean up and remove tabi table. It was useless.

2005-06-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Clean up configure and acinclude:
	 + Remove useless test in MPFR_CONFIGS (Check for valid NAN).
	   Its result is not use by MPFR.
	 + Remove useless macros (AC_CHECK_OS, AC_CHECK_MACH and AC_MY_HEADERS).
	 + Move detection of math/rint,round,floor,ceil to MPFR_CONFIGS.

2005-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	GNU coding style.

2005-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved m=0 case when b is a power of 2

2005-06-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace mpfr_div_2ui call by SET_EXP/GET_EXP
	since it can't overflow.

	Speed up a few (from 10822 to 10600).

	Update

2005-06-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace check for a power of 2 for the high limb by a check
	for "high bit limb" for the high limb.

	Fix bug in mul_ui (always alloc buffer instead of trying to reuse it).

	Add new test (failed).

	Add Fast case for u==1
	Add Fast case for u a power of 2 (Call mul/div_2si).

	Fix bug (use of GCC specific attribute).

2005-06-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Rechnage the meaning of root for k=0.

	Fix bug with x<0 and k even

	Add special case for k==0
	Add test for special case k==0

2005-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added assertion

2005-06-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve efficiency of initial call to mpfr_cache.

	Add new check (+INF -INF --> NAN).

2005-06-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug of NAN and INF.
	Fix bug in documentation (mpfr_sum wasn't exactly what is described).
	Improve test.
	Change internal names.
	Clean up.

	Fix bug: check if mpfr_log returns 0.

2005-06-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace MPFR_EXP to MPFR_GET_EXP
	Use GROUP function
	Use MPFR_MPZ_SIZEINBASE2
	Factorize the mpfr_mul_2exp chain.

	Replace int to mp_prec_t for precision...

	Fix warning due to comparison of unsigned and signed integers.

	Fix warnings due to comparison between signed and unsigned.
	Reinclude string.h for strtofr.

2005-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed bug introduced with the new internal format on 2003-10-27.

	Updated comments.

2005-06-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix introduced bug due to missing NULL.

	Fix introduced bug (NULL not defined).

	Clean up use of stdio.h:
	 it is now included by mpfr-impl iff DEBUG is defined or WANT_ASSERT is
	defined.

	Fix warnings.

	Clean up code.

	Improve checking if WANT_ASSERT >= 2

2005-06-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix wrong assertion.

	Improve test by adding special cases.

	MPFR_GET_EXP was wrongly defined and does nothing due to recursive
	macro (mpfr_get_exp is also defined to be a fast macro). Fix this
	by removing the macro call in MPFR_GET_EXP in case of ASSERT >= 1.
	2 tests failed now!

	Clean up and improve check.

	Handle case n==0 and n==1 as special cases.

	Simplify test to use tgeneric.
	Add note about Worst Case of const_catalan up to 100,000,000

	Use GROUP functions.

	Improve coverage.

	Fix bug in MPFR_GROUP_REPREC_3.

2005-06-06  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve coverage

	Improve coverage test

	Remove mpfr_sub_one_ulp from MPFR library.
	Keep the C file until we are sure it not needed anymore.

	Improve coverage.

	Remove mpfr_add_one_ulp from MPFR library.
	The function is still in the CVS.

	Add experimental code (disabled).
	For 5000 bits, gamma(12.5) takes 4s instead of 18s.
	But it changes the error analysis...

	Reduce use of intermediary variables.

	Improve comment of previous change.

	Use FastCompute if x is positive and big, ie it uses
	Zeta(x)=1+1/2^X+O(1/3^x)

2005-06-03  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new and faster trivial case for y <= 1 and n <= 1

2005-06-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Forget those two. Update from FSF site.

	Finish updating files.

	Change the address of the FSF.

	Optimize it a few by avoiding calling fac_ui for each iteration
	of the main loop.

	Reduce # of vars inside the main loop.
	Use GROUP function.
	Improve overflow problems (Use of int instead of mp_prec_t).

	Improve efficiency by removing 2 variables (Loop uses only 4 vars).
	Use GROUP.

	Add support for MPFR_GROUP functions.

	Add attribute const and noreturn for function (via macros).
	Add new macros GROUP_INIT_6 and GROUP_REPREC_6 for zeta and gamma.

2005-06-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing functions from gnumeric

2005-06-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update stack-interface.
	Remove round_near_x item.
	Add new functions to implement.
	Reformat file.

	Fix input precision of mp_prec_t.
	May be outside 'int' range. So it uses 'long' instead and
	a proper check.

2005-05-25  Vincent Lefèvre  <vincent@vinc17.net>

	Added coding recommendations concerning C++ compilers.

2005-05-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Final version of MPFR_GROUP macros.

	Improve coverage test.

2005-05-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove variable t which wasn't used!

2005-05-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace TMP_ALLOC by MPFR_TMP_ALLOC
	Replace TMP_DECL by MPFR_TMP_DECL
	Replace TMP_MARK by MPFR_TMP_MARK
	Replace TMP_FREE by MPFR_TMP_FREE
	Add support for GMP's TMP_SALLOC.

	New way of handling exact value.
	Fix bug of wrong rounding and wrong ternary value if the power
	is exact, but at an upper precision than the working precision.
	Now it computes the power exactly if it detects it is exact.

	Precise that 1 is not the only value.

2005-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	an 1 -> a 1.

2005-05-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a note about special case 1

	Add assertions
	Remove useless function is_odd_even.

	Fix bug: returning 1 didn't take the rounding mode into account.
	Simplify dependencies of mpfr_pow.

	Fix bug of overflow
	Fix bug of wrong ternary value in case of overflow
	Add test cases.

	Fix bug of overflow.
	Fix bug of ternary value in case of overflow.

	Clean up previous patch.

	Fix bug of overflow.
	Fix bug of ternary value in case of overflow.
	Still some bugs...

2005-05-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Rewrite the way of handling overflow.
	Fix bug due to overflow.
	Fix bug due to wrong ternary value.

	Typo.

	Fix bug of overflow.
	Still a problem if exp(x) is near the limit of EMAX_MAX.

	Add new macro MPFR_SAVE_DECL_UPDATE_FLAGS

	Improve way of handling overflow (still not perfect but far better).
	Improve coverage test.

	Improve coverage test.

2005-05-17  Vincent Lefèvre  <vincent@vinc17.net>

	hypot(±oo, NaN) now returns +oo, as in ISO C99 (wasn't documented).

2005-05-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve coverage test.

	Remove useless test.

	Improve coverage test.

	Improve coverage

	Improve coverage test.

	Add CFLAGS -g.

	Clean up

	Improve coverage tests.

	Improve coverage test.

	Special a condition by the simplified one.

	Improve coverage test (Forget to test tiny functions).

	Typo

	Add 'coverage' script.

	Add 'static'

	Reformating code.
	Fix potential (?) overflow for very large precision.
	Various tiny optimizations
	Improve the initial estimation of the needed precision.

	Extract constants (__gmpfr_one, two and four) from log.c to constant.c
	Fix bug in MPFR_SET_ONE.

	Remove a space.

2005-05-16  Vincent Lefèvre  <vincent@vinc17.net>

	Typography + spelling.

	Note that mpfr_out_str has slightly changed.

2005-05-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	asin, atan, atanh are not slow anymore for small input.
	Remove it in the TODO.

2005-05-14  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug due to a typo on a variable name. It produced a
	segmentation fault in the tests on Linux/ppc (uninitialized data were
	read), not always reproducible when stepping with gdb.

2005-05-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add support for MPFR_FAST_COMPUTE_IS_SMALL_INPUT

	Add support for FAST_COMPUTE_IS_SMALL_INPUT.

	Add round_near_x support for small arguments.

	Add new internal function mpfr_round_near_x.

2005-05-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added missing documentation for mpfr_hypot

2005-05-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a \n for all error strings.

	Fix copyright date.

	Fix some problems when you define mpfr_prec_t to be an unsigned short.
	Now all tests passed when mpfr_prec_t is defined to be an unsigned short
	on a 32 bit CPU!

2005-05-12  Vincent Lefèvre  <vincent@vinc17.net>

	Detect/avoid potential integer overflows.

2005-05-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix typos.

2005-05-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Same patch for exp_3.

	Fix bug when exp(x) is near the limit of an overflow or an
	underflow (mpfr_exp_2 didn't allow an overflow/underflow in its
	internal loop).
	Add corresponding test case. exp_3 may need similar patchs.

2005-05-11  Vincent Lefèvre  <vincent@vinc17.net>

	Update (with reformatting so that the logs are readable on 80 columns).

2005-05-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug due to wrong assertion.

2005-05-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	1. Change the prototype of mpfr_can_round to use const.
	2. Change the prototype of mpfr_round_raw_2 (remove first argument since it is
	   useless).
	3. Change round_raw_generic to use preprocessor if rather than compiler
	   to detect if flag == 1 or 0
	4. mpfr_round_raw_xxx use const attribute too.
	5. Remove mpfr_round_raw_3 since it is unused by MPFR.
	6. Add first prototype of MPFR_FAST_COMPUTE_IF_SMALL.

	Update.

	Fix a bug in the product of 2limbs per 2 limbs.
	Add new regression test.

	Fix problem with mingw: if the configure detects MS-Windows, it skips the
	tests which try to link against GMP within the configure, hoping the Makefile
	works. The main problem is that we need libtool inside the configure to link
	against GMP.

2005-05-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve random tests.

2005-05-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace initial estimation of K0 from sqrt (p/2)
	to sqrt(p/16). It seems to be 30% faster for 5000 bits, and 5% faster
	for 50 bits.

2005-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	Reformatted the code.

2005-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed dummy init2 followed by set_prec

2005-05-04  Vincent Lefèvre  <vincent@vinc17.net>

	Added LIA-2 functions to implement.

2005-05-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add functions mpfr_sech, mpfr_coth and mpfr_csch.

	init2 alloc what is needed, not 2 (more efficient).

2005-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved const_euler and eint
	removed dependency from input precision in several functions
	fixed two bugs in pow (detection of exact cases)

2005-05-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update to reflect the current state.

2005-05-03  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix computing of `sup` to reflect what is described in algorithms.tex.

	Tiny optimization of mpfr_atan.
	On opteron with p=53, from 9231 / 18049.89 / 81758 to 9004 / 17522.76 / 78601.

2005-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a problem in test_small (already done in the 2.1 branch)
	when long double = double.

2005-05-03  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve detection again (use callback).

	Improve previous change.

	Add detection of function round, rint, ceil, floor and nearbyint at configure
	time so that spe206 which defines itself as C99 compliant can build the
	trint test.

	Update (Move bugs to potential).

2005-05-03  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed the mpfr_hypot bug, and re-enabled the test_large_small test.

2005-05-02  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Mention the mpfr_hypot bug.

	Added a test showing a bug, enabled when TEST_LARGE_SMALL is defined
	(to avoid a freeze with make check).

2005-05-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug.

	Remove useless function f.

	Fix a bug: the test to detect EVEN_rounding was wrong.

	Update example of use of mpfr_subnormalize.

	mpfr_cmp_str checks for NAN.
	Add macro mpfr_cmp0 in mpfr-test.

	Undo previous change for tgeneric.
	troot uses tgeneric_ui instead.

2005-05-01  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new functions in reuse test.

2005-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added efficiency item

	added mpfr_eint

2005-04-29  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add something to do :)

2005-04-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment about efficiency of atan

2005-04-29  Vincent Lefèvre  <vincent@vinc17.net>

	The FAQ is now distributed with MPFR. Use update-faq to update it
	from the MPFR web site.

2005-04-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	commented out argument reduction analysis for arctan (was wrong)

2005-04-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	wrong commit, put revision 1.37 back

	wrong commit, put back revision 1.47

	added error analysis for Geoff's argument reduction for arctan

2005-04-27  Vincent Lefèvre  <vincent@vinc17.net>

	Added a note about mpfr_set_d and mpfr_set_ld.

	Define MPFR_VERSION_STRING using the update-version script
	(works with any compiler).

2005-04-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added internal interface

	added suggestion from Geoff

	added MPFR_VERSION_STRING

2005-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new item

	improved expm1/log1p for small argument

	improved to taken account of case |x| small (reported by Keith Briggs)

2005-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	Added a missing "-" and replaced a few "-" by @minus{}.

	Added a note for mpfr_cmp functions.

2005-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug with tiny number

2005-04-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed done item

2005-04-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a macro for mpfr_const_catalan for internal use.

	Fix typos.

2005-04-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed Root, updated eint*

	added sec, csc, cot

	proposal for exponential integral definition

	added mpfr_root, removed from TODO

	added mpfr_root

2005-04-21  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Added the ability to change the control word when compiling tset_ld
	with -DWITH_FPU_CONTROL=1 and executing tset_ld with an argument
	(not used in the automatical tests yet).

	Added test_small (the same as in the 2.1 branch).

	Updated a comment and reformatted the code.

2005-04-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added explanation

2005-04-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	adjusted initial guard digits for const_catalan to avoid failure for prec<=10^4

	updated documentation and improved tests for mpfr_const_catalan

	removed Catalan's constant (done)

	added Catalan's constant

	added efficiency items suggested by Geoff Bailey

	fixed minor problem (wrong rounding mode for x=0, y<0), thanks Geoff Bailey

2005-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one efficiency item

	completely rewritten algorithm and error analysis for acosh
	(did not match those in acosh.c)

	algorithm and error bound did not match those of algorithm.tex!!!

	added missing functions for Magma

	changed semantics of mpfr_get_str for ndigits=0

2005-04-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one item (efficiency)

2005-04-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix atan2 to fit C99 semantic.

	Fix typos.

	Add TODO.

	Add documentation for mpfr_subnormalize.

	Fix bugs.

2005-04-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Apply Guillaume's patch about mpfr_div_ui.
	Fix a bug in tsi_op (forget to clean memory).

	Add function mpfr_subnormalize (To Test!!!!!)

	Add TODO.

	Fix wrong comment.

2005-04-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reenable tests.

	Add documentation about mpfr_atan2.

	Improve test suite by adding new random values.

	Add random tests (tgeneric + random2).

2005-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	Test with -ansi when making a release.

	Typo.

2005-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced // comments by /* ... */

2005-04-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add note about mpfr_neg

	Add function mpfr_atan2

2005-03-31  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Change to add future function mpfr_sqrhigh_n.

	Add documentation for mpfr_erfc.

	Add items.

	Add function mpfr_erfc.
	Add a note about auto-checking correctness of MPFR.

2005-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	Added a testcase (the one added to the 2.1 branch).

2005-03-30  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Use random2 instead of random.

2005-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	Weaker conditions for return 0 in mpfr_round_p.

2005-03-30  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add generic test for functions which looks
	 inexact = MPFR_TOTO (rop, op, INTEGER, RND);

	Add ceil(log2(size)) bits to initial precision to avoid
	committing in error for huge operands.

2005-03-30  Vincent Lefèvre  <vincent@vinc17.net>

	Added a test (corresp. to the one added on 2005-03-25 in tpow_z.c).

2005-03-29  Vincent Lefèvre  <vincent@vinc17.net>

	Reformatted code (GNU style, untabify...).

2005-03-29  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Tiny update.
	Add group functions macros.

	Replace test ('p <= i') by assertion ('p > i).

2005-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in pow_ui (and pow_z): missing factor 2 in error bound
	fixed bug in gamma of negative integer

2005-03-25  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add info.

	Add new internal function for debugging reasons.

	Forget to free x and y

	Add failed regression test.

	Improved version.

	Undo previous change (I was wrong).
	Add new regression test.

2005-03-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix wrong extimated precision.
	It is log2(n+2) ulps so that log2(log2(n+2)) bits!

	Add checking.

2005-03-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test

2005-03-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove an signed integer trap overflow (GCC 4 + '-ftrapv').

	Don't use Mulder at n+1 for MPFR_MUL_THRESHOLD+1

	Reduce the threshold for AMD64.

2005-03-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Initial version of Short Division.

	Fix bug on HP-UX.
	longlong's umul_ppmm seems to be buggy on such a system.
	Don't use it under HP-UX.

2005-03-21  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add case where bn == 1 and bn == 2 by using longlong.h.
	Modify tuneup to start with prec=2*BITS_PER_MP_LIMB+1
	Fix bug in computing the estimated precision when you switch from N limbs to N+1 limbs.
	Add regression tests.

2005-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	Typo.

2005-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one efficiency item

2005-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two property-tests

2005-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug for mpfr_atanh(x) with 1 < |x| < 2 (found by Matt Reddick).

2005-03-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update

	Improve test: compare between mpfr_round_p and mpfr_can_round.

	Replace mpfr_can_round (..., GMP_RNDN, GMP_RNDZ, ...) to fast replacement
	mpfr_round_p.

	Remove a FIXME.

	Add new internal function mpfr_round_p which is a fast replacement
	to mpfr_can_round (x, y, GMP_RNDN, GMP_RNDZ, ...)

	Improve an error message.

2005-03-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug: tmp may have changed in mulhigh code.
	Restore it before calling mpn_mul.

2005-03-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Better defaults threshold.

	Handle case where Prec(a) ~ estimated prec of mulhigh.
	Add one extra limb, and still uses mulhigh.

	Fix bug: compute Mulder Threshold from n/2+1 instead of (n+1)/2

	Forget ';;' in switch.

	Add '-v' for tuneup.

	Add assertion.

	Improve checking
	Add test. Short Mulder product failed for this.

	Improve full assertion mode (Check mpfr_mul).

2005-03-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Move GLIBC detection from mpfr-impl to logging.c

	Add log info.

	Improve default threshold.

	Add Mulder Short product for mpfr_mul.
	Update algorithm.tex to describe the estimated error.

	Add an assert.
	Cosmetic change.

	Update default values.

	Clean up macro namespace.

	Cosmetics change.

2005-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new function mpfr_get_f

2005-03-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug in case of reuse of variable (a,b,a) with Exp(b)=Exp(a)+Prec(b).
	Move copy of mantissa after test.

2005-03-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add tune for mpfr_mulhigh
	Add --with-mulhigh-size option at configure time.

2005-03-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug due to wrong estimation of (get_d (x) / LOG2).
	TODO: Rexamine the algorithm of mpfr_exp_2!

	Transform DEBUG message to LOG message.

	Improve it.

	Tune mpfr_exp_2 now!

2005-03-03  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bugs.

	Update it.
	New code for mpfr_mul.

2005-03-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new default threshold for different CPU.

	Update for tune.

	Fix bug in estimated error (See previous ChangeLog).

2005-02-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add tune program for MPFR.
	Do make tune instead of make.
	BUT you need to have configure MPFR with --with-gmp-build=...
	(It uses internal libspeed.la of GMP).
	Tuning is slow...

	Add note.

2005-02-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Tiny optimization

	Update

	Add logging.

	Reduce InterObject dependency by moving mul_si, div_si and si_div
	to the unique function they used.
	Improve mul_ui by inlining the rounding.

2005-02-21  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve test to 1.

2005-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	Updated copyright lines.

	Code reindented / reformatted.

	Fixed a bug for u == 0 and x == +0 introduced in ui_sub.c 1.23,
	when 0 was taken into account as a special case: the sign of the
	result 0 was incorrect. -> Consider the case u == 0 first.

2005-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added generic tests in tpow

2005-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug (variable used twice for different things)

	more changes for interface with NTL

2005-02-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Likely a test.

	Update

2005-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added interface for NTL

2005-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Suppress some spaces.

2005-02-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reenable underflow tests.

	Update

2005-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Removed texinfo.tex, as it can be installed by autoreconf -i.

2005-02-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix LOADLIBES so that it works (it doesn't due to libtool change). But it
	still needs to have s static version of MPFR.

2005-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	autoreconf -> autoreconf -i

2005-02-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix wrong integer types.

2005-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Spelling mistakes & reformatted code.

2005-02-15  Vincent Lefèvre  <vincent@vinc17.net>

	Reformatted code.

2005-02-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve initial prec.

	Remove code.
	Add special case if t=1.

	mpfr_set doesn't produce an EVEN inexact flag.
	Fix this.

	USe of mpfr_nexttozero.

	Fix bug: use x instead of xf in LOG.

	Log input and output of functions.

	Fix bug of overflow in tan.

	Use of MPFR_LOG_FUNC.

	Do not print final log message if there was no call.

	Add ZivLoop for sign

2005-02-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug: during the display of a logged var, logging is turn off.

	Add MPFR_LOG_FUNC
	Use mpfr_cos as testing example.

	Add ZivLoop controller for constantes.
	Augment exponent range in the cache.
	Remove it in const_pi.

	Add generic ZivLoop controller.

2005-02-14  Laurent Fousse  <laurent@komite.net>

	Document mpfr_sum returned int value.

2005-02-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Clean up code.
	Add generic ZivLoop controller.

2005-02-14  Laurent Fousse  <laurent@komite.net>

	Consider return value's precision for rounding in mpfr_sum.

2005-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed garbage

2005-02-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Clean up
	Add ZivLoop

	Remove malloc/free.
	Use of MPFR_INT_CEIL_LOG2
	Add ZivLoop controller.

	Clean up code.
	Fix bug with Exponent range.
	Add ZivLoop controller.

	Cleanup code.

2005-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	further efficiency improvement (avoid mpz_init/mpz_clear)

2005-02-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add ZivLoop controller.
	Clean up code.
	Optimize it by removing the # of used vars.

	Add ZivLoop controller.

2005-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new faster algorithm for log(2)

2005-02-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove detection of C++ and Fortran due to libtool.
	----
	Note (VL, 2010-02-08): this removal by an always false test was working
	with libtool 1.5.26, but doesn't work with libtool 2.2 to 2.2.6b (used
	by the MPFR 2.4.{0,1,2} tarballs).
	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568520

	Clean up configure (simpler).
	Still a bug with CXXCPP to solve.

	Clean up const_log2 code.

2005-02-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add log for other functions.
	Add ZivLoop too.
	Cleanup exp3.

2005-02-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update for ICC (disable shared since it doesn't work).

	The previous fixs don't work. New one which works but is VERY ugly.

	Fix again to avoid fail on laurent5...

	Set CXXCPP to "g++ -E" to avoid detection (which may fail on some systems).

	Reduce the tested compiler for C++ and Fortran to the minimum.

	Update GMP detection to be much more libtool compatible.
	As a consequence some tests using AC_RUN_IFELSE may fail due to ugly things
	like LD_LIBRARY_PATH no set or wrong selection of libgmp.
	So they just produce a warning, not a fatal error.
	TODO: Check if we can avoid those problems...

2005-02-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove automake and libtool files.
	Use `automake --add-missing --copy -i` to generate them.

	Add support for ansi2knr

	Add support for Shared Library in MPFR (both Unix and Windows) by using libtool.
	Improve configure (remove unused macros, make dist produce .zip and .bz2)
	Update update-version to modify configure.in too.

	Update NEWS.

2005-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2005-02-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add forgotten functions to reuse test.

	Improve reuse tests (Include 1, -1, 1/2, 2, PI and PI/2 now).

	Fix bug of atan(-1) (wrong sign).

2005-02-03  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove unused option --disable-cache.

	Add option "thread-safe" to configure.
	Limited to use with GCC and ICC (using extension __thread).

	Add description of added functions.

	mpfr.h doesn't export anymore any globals.
	It doesn't define MPFR_FLAGS too.

	Change user interface for mpfr_const_pi, mpfr_const_log2 and
	mpfr_const_euler. No more access to the cache itself.
	Create dummy functions which call the cache, and rename old
	functions to "_internal".
	Internally, it doesn't change at all (You still call directly
	the cache instead of the dummy function which calls the cache).

	Add functions mpfr_set_overflow, mpfr_set_underflow, mpfr_set_erangeflag,
	mpfr_set_inexflag, mpfr_set_nanflag

	Rename internal functions mpfr_set_overflow in mpfr_overflow and
	 mpfr_set_underflow in mpfr_underflow so that we can add new functions
	mpfr_set_underflow and mpfr_set_overflow (which set the global flags).

	Add support for logging.
	Add support for ZivLoop.
	Improve efficiency if prec(op) >> prec(rop), and rop ~= 0

	Fix wrong place for MPFR_LOG_BEGIN.

	Rename MPFR_LOG_BADCASE in MPFR_LOG_ZIV

	Reduce the size of some lines (more than 80 chars).

2005-02-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix again. My previous fix was incorrect.

	Fix wrong order of include system files.
	(printf.h is not available everywhere).

2005-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	inexact flag was inexact :-)

2005-02-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Move mpfr_nexttozero and mpfr_nexttoinf from static to mpfr-impl.
	Use them in sub1 and sin.

	Add forgotten logging file.
	Add description of new macros in README.dev

	Add support for ZivLoop controller and logging.

	Add experimental logging feature.
	Add ZivLoop controller.

	Forget that mpf doesn't have mpf_free_str.
	Fix this.

	Fix bug of sub1 if dest=src2 and src1 >> src2
	=> Fix problem of mpfr_sin

2005-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests

2005-02-01  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Now MPFR tries to get GMP's CC and CFLAGS from its build directory.

	Add AC_COPYRIGHT
	Clean up AC_ARG_ENABLE handling
	Add `--enable-logging` option.

2005-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item

2005-01-31  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a wrong assertion when double == long double.

	Add loop counter
	Check if the result is 0 (Due to new algorithm, it may be 0)
	and in that case, increase a lot the precision.

2005-01-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed algorithm for mpfr_sin (to get inexact flag)

2005-01-29  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a sign bug in mpfr_exp (found by Mark J Watkins).

2005-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	solved efficiency problem in mpfr_sin_sign for x near Pi

2005-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	Removed tests/tdump.c (was no longer used and mpfr_dump is already
	tested in toutimpl.c).

	Updated copyright line.

2005-01-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Clean up code (due to mix with Paul changes).

	Improve inexact code since sin & cos can't be exact if x != 0

2005-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	Removed a useless test in macro MPFR_UNSIGNED_MINUS_MODULO.

2005-01-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Much faster worst case (ie result near 0 or 1).

2005-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	speed-up special case where approximation is 1 or -1

2005-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	Updated comments about the rounding modes.

2005-01-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug and optimize code.

	FIx a warning (Wrong proto between declaration and implementation :
		forget some const).

2005-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	Updated copyright line.

	Updated copyright lines.

2005-01-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed efficiency problem in case of cos(Pi)

2005-01-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug if dest==src.
	Transform some MPFR_ASSERTN to MPFR_ASSERTD.

2005-01-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a buffer overflow.

	New version of mpfr_set_ld and mpfr_get_ld for IEEE Extended Little Endian.
	(Due to problem on x86 with extended precision).

2005-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	partially fixed memory leak

	test for huge cancellation was misplaced

	fixed memory leak

	fixed inefficiency problem for x near from Pi

	casts to allow compilation with g++

	added missing cast

	added missing casts

2005-01-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug (overlap in mpn_divrem)

2005-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Removed tests/Makefile.in from CVS.

2005-01-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug reported by Eric Buchlin by using new function
	mpfr_pow_z.

	Add new function mpfr_pow_z and its test file.

	Fix overflows problems.
	Clean up overflow handling.
	Maybe some bugs remain...

2005-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2005-01-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add an explicit reference to mpfr_dump so that
	you can use this function inside the tests with GDB, even if
	you don't use it in the tests.

2005-01-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added check before mpz_get_si() call

2005-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Corrections on the typography.

	Corrected English usage.

	Typos.

2005-01-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added LOADLIBES=...

2005-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	Updated Copyright line.

2005-01-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix again this previous patch!

2005-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problems in get_str for huge exponent

2005-01-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update longlong from GMP 4.1.4 (problem with opteron).

2005-01-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug in case n==0 or n==1 (Reported and fixed by Laurent Fousse).

2005-01-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add comments
	Fix bug in my patch (Need tests).

	Optimize mpfr_atan_aux by removing all power of 2 in the sum to
	reduce the size of the multiplication, normalize the input to extract
	as many zeros as possible and add a special case if the input is 1
	(after normalisation). But it doesn't optimize too much...
	I need to invertigate a few more too understand what is still costly.
	It seems that mpz_mul is the most called function.

	Improve and fix tanh for big floats.

	Fix bug in some corner case (Just hope it doesn't add new bugs).
	It should be much faster in these cases too.

	Remove warning

	Tiny update

	Fix bug (Forget a debug line).

2005-01-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix overflow bug
	Optimize code

	Fix bug in mpn_sub_nc in case the compiler optimize too much.

2005-01-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add forgotten 2005 copyright line.

	Fix problem of `mpn_sub_nc' which may or may not be defined in libgmp.a
	 (Add a test in the configure and a new macro MPFR_HAVE_MPN_SUB_NC)
	Add MPFR_LOG2_BIT_PER_MP_LIMB macro

	Massive optimization of mpfr_atan (20x faster than 2.1.0 at 53 bits!)
	Minor optimization of mpfr_acos

2005-01-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix typo

	Reduce size of code
	Optimize a few too.

	Forget 2005 !

	Improve and fix detection of NAN and GCC bug.

2005-01-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	new version (completely rewritten) by Paul Zimmermann.

	Fix forgotten '2005' Line.

	Fix wrong inexact value (regression).
	FIXME: It seems that adding MPFR_GET_EXP (xp) bits is too much
	 (since previously it always add 0, but the results were quite
	  always exact - this bug was only discovered under rare case).

2005-01-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item (mpfr_printf)

2005-01-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize mpfr_exp2 by inlining some code, and by avoiding using
	mpz_sizeinbase.

	Remove unused code.
	Remove _MPFR_PROTO for static functions.
	Other cosmetic change.

	Remove _MPFR_PROTO for static functions.

	Remove unused code.

	Optimize mpfr_get_d.

	Add a new configuration to check before releasing MPFR.

	Fix problem of tab with ncurses.

	Likely some tests

	Fix bug if not gmp-impl.h (mpn_sub_nc is internal).
	Move MPFR_SET_EXP after checking the exponent range.
	Minor change in the way to return the ternary value.

2005-01-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed tab[] into *tab (and removed 'tab' in mpfr.h)

2004-12-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new version (completely rewritten)

	improved coverage (and fixed bug)

2004-12-21  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fixed errors reported by Nelson H. F. Beebe
	(forget to include sys/fpu.h if defined and math.h if std=c99).

2004-12-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix wrong integer type and a test.

	Add some assertion.

	Unlikely one test.
	Fix wrong integer type

	Reindent the code.

2004-12-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize mpfr_tan

	Optimize the computing of the sign of sinus if GET_EXP(x) < 0

	Optimize mpfr_cos.
	From 3363 / 21663.99 / 79727 to 3139 / 18920.58 / 69624 (opteron).

	Fix precision used to test long double.
	Now it is sizeof(long_double)*CHAR_BIT instead of fixed 113.

	FIx wrong integer types
	Add an assertion.

	Likely / Unlikely some code.

	Fix problem with long double with ICC (Wrong x86 processor flag).

2004-12-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix wrong integer types.

	Fix bug.

	Optimize mpfr_acos by choosing a better initial precision.

	Optimize mpfr_asin by improving the choice of the initial precision.

	Optimize mpfr_atan.

2004-12-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix problem with GCC 4.0 20041212.

	Remove thread attribute until I found a good way to use it.

	Test

	Add 'const' attribute to table.

	Remove unused file.

	New way of detecting GMP libraray, which should be more portable.

2004-12-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove useless assembly code.

	Add "MPFR_USE_NO_MACRO" user macro: it allows the user to link
	directly with MPFR functions rather than using Macros to access
	them. It doesn't define MPFR variable inside mpfr.h too.
	Fix set.c and cmp.c in consequences.
	Fix mpf2mpfr.h to use mpfr_get_default_rounding_mode () if needed.

2004-12-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improved prototype.

	Fix bug of overflow (I hope).

	Update mpfr_set_q overflow problem.

	Fix wrong integer types.

2004-12-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize by increasing with BITS_PER_MP_LIMB instead of log2(prec)

	Clean up code (Fix integer types + rewrite some code).
	Optimize the code by reducing the number of used variables inside the loop.

	Replace mpfr_neg to MPFR_CHANGE_SIGN.

	Cosmetic changes.

	Clean the code.
	Avoid mixing integer types.
	Fix bug of overflow if Pi is in the range but not Pi/2.

	Clean up the code (Removing useless variables and avoid mixing wrong integer types).
	Optimize the code by improving memory allocation scheme and by incrementating by
	BITS_PER_MP_LIMB in case of an error instead of MPFR_INT_CEIL_LOG2 (prec).
	Fix an overflow bug for X=+/-1 (If PI is inside the exponent range, but not PI/2).

2004-12-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Simplify MPFR_SIGN by removing unnecessary ( ).

	Add support for new attribute sentinel in incoming GCC 4.0

	Optimize initial precision in case of EXP(x) < 0.

	Optimize mpfr_set4.
	Inline rounding in mpfr_set4 and mpfr_cache
	mpfr_set4 doesn't return MPFR_EVEN_INEX (It was undocumented before).
	Fix problems with tests (Avoid mixing MPFR_EVEN_INEX and 1).
	Add MPFR_RNDRAW_EVEN for rounding with MPFR_EVEN_INEX inexact support

2004-12-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize mpfr_mul by inlining and rewriting the rounding.
	It seems that GCC option `-frename-registers` for mpfr_mul / Athlon XP
	improves its performance (But it decreases it on Pentium4)...

2004-12-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	first try to implement Mulders' algorithm

2004-11-29  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update TODO.

2004-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new tests for corner cases

	added algo for pi

2004-11-25  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Change initial term if exp(a)<0.

	Simplify the inner loop.

	Change initial precision if EXP(op) < 0.

2004-11-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize code and rewrite the rounding part.
	FIXME: It seems that the previous rounding code was buggy. Still I am not sure.

	Improve tests.

2004-11-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve the initial value of prec: 10% improvement (?) on average.

	Improve coverage test.

	Fix bug for mpfr_ui_pow_ui (Wrong inexact flag).

	Improve coverage tests.

	Fix typos in INSTALL.
	Sort README.dev, and add a new section about How to write a MPFR function.
	Add a link to README.dev in mpfr-impl.h.

	Fix a bug on some compilators:
	 First MPFR_SAVE_EXPO_DECL, then TMP_DECL.

2004-11-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix an overflow bug.

	Fix bug with inexact flag.
	FIXME: Maybe still a bug with inexact flag if overflow in mpfr_mul_2exp ?

	Remove mpfr_save_emin_emax and mpfr_restore_emin_emax
	from MPFR library since they are useless.

	Forget to remove rndraw.c test.

	Replace use of mpfr_save_emin_emax () / mpfr_restore_emin_emax()
	by MPFR_SAVE_EXPO macros (DECL, MARK and FREE) which are faster
	and thread safe.

	Enable fast computing.

2004-11-18  Vincent Lefèvre  <vincent@vinc17.net>

	Fix: GMP -> MPFR Copying Conditions (noted by Patrick).

2004-11-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reorder the file and put sections to make it cleaner and more readable.

	Reduce number of used variables.
	Optimize code and clean it.

2004-11-18  Vincent Lefèvre  <vincent@vinc17.net>

	In HTML, suppress the non-existing link to GMP.

2004-11-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a prototype of own TMP_ALLOC. Don't know if it is a good idea.
	To enable it, just build MPFR with MPFR_USE_OWN_TMP_ALLOC.

2004-11-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug with TMP_MARK.

2004-11-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize the code:
	 + Special case for n == 2
	 + The first squaring is done using the original input.

	Add new assertion to check.

	Likely / Unlikely some tests.

2004-11-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add unused code (Still needs a proof).

	Add macro version for small functions:
	  mpfr_get_prec, mpfr_get_exp, mpfr_get_default_rounding_mode,
	  mpfr_get_default_prec and mpfr_set_ui

	Refix another bug (The same).

	Fix a bug (Use __gmpfr_ceil_log2 instead of MPFR_INT_CEIL_LOG2).

2004-11-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added algorithm for mpfr_sqrt
	improved algorithm for mpfr_div

	use MPFR_SET_EXP/MPFR_GET_EXP instead of MPFR_EXP(r)++

2004-11-12  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fix: delayed all the initializations after the singular test.

2004-11-11  Vincent Lefèvre  <vincent@vinc17.net>

	Untabified the source.

	The test MPFR_GET_EXP(u) != MPFR_EMAX_MAX is no longer necessary
	since we decided to lower MPFR_EMAX_MAX to avoid such tests.

2004-11-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove use of CNST_LIMB and TMP_ALLOC_LIMB which are GMP internal.
	Add MPFR_LIMB_ZERO.

2004-11-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new simpler and faster code

2004-11-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace __gmpfr_ceil_log2 by MPFR_INT_CEIL_LOG2 when possible.

	Add __extension__ to avoid warning useless in GCC.

2004-11-03  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2004-11-03  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix wrong Visual C++ code.

2004-11-02  Vincent Lefèvre  <vincent@vinc17.net>

	Code checking for GMP library wasn't working (always returning "yes"?).

2004-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	Updated copyright line.

	Added a bug and updated copyright line.

	Update.

	Removed the definitions of DBL_POS_INF/DBL_NEG_INF/DBL_NAN for
	Visual C++ as they were incorrect. Modified DOUBLE_ISINF(x) so
	that infinities are no longer used (this should fix a part of
	the problem for Visual C++). If IEEE 754 is not supported, one
	should probably use the standard INFINITY macro instead of
	(1.0/0.0), since (1.0/0.0) is specific to IEEE 754.

	Applied patch by Steve M. Robbins for non-IRIX MIPS systems
	(originally for MPFR 2.0.3).

2004-10-26  Vincent Lefèvre  <vincent@vinc17.net>

	Reformatted the code.

	Replaced mpfr_set_emin/emax by set_emin/emax in tests to check
	the return value; defined set_emin/emax in "tests/tests.c".
	Fix: added missing #include <string.h> in "tests/tests.c".
	Removed variable names in prototypes in "mpfr-test.h".

2004-10-22  Vincent Lefèvre  <vincent@vinc17.net>

	Reformatted the code -> GNU style.

	Update.

2004-10-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Declaration of "tests_rand_start" and "tests_rand_end" with the same storage class specifier
	in tests.c (static missing line 65 and 109).

2004-10-21  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed: cast to unsigned char instead of int for isspace (no,
	these are not "psycho" systems, just systems with signed chars).
	Untabified the source.

2004-10-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve ICC CFLAGS by removins meaningless warnings.

	Remove some warnings on some "psycho" systems.

	Update the chapter "Make a release".

	Fix bug when you build MPFR outside source directory.
	Add function src_fopen to open a file in the source directory, which
	may be different from the current directory.

	Fix a typo.

2004-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	Another correction (English).

	Minor correction.

2004-10-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update NEWS to reflect the change in mpfr_set_str.

	Update mpfr_set_str to be much more like strtofr.
	Update the documentation to reflect the changes.

2004-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed contributors section

2004-10-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a line about binary compatibility.

2004-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed "contributors" section

	changed rights (remove executable permission)

2004-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	Misc corrections:
	  + spelling mistakes
	  + consistency: in direction @var{rnd} -> in the direction @var{rnd}
	  + @code{NULL} pointer -> null pointer (as in the C standard)
	  + in the example for mpfr_inits2 / mpfr_clears: NULL -> (void *) 0
	    as NULL isn't necessarily a pointer.

2004-10-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update

	Change "unsigned int" to "int" for base in proto of strtofr.
	Change set_str to use strtofr (Fix a bug too).
	Limit base to 36 in strtofr (since get_str is limited to 36).
	Update documentation to reflect the changes.
	mpfr_get_d1 is moved to section internal in the documentation.
	Update the tests.

	Hard code NAN, +INF and -INF values for MVC.

	Fix problem on systems where "/dev/null" doesn't exist.

2004-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	Misc corrections.

2004-10-15  Vincent Lefèvre  <vincent@vinc17.net>

	Updated the section "To make a release".

	Updated the version on the trunk.

	Update.

	Update for 2.1.0.

2004-10-13  Vincent Lefèvre  <vincent@vinc17.net>

	Added a comment about autoreconf and a bug in Debian (now fixed).

2004-10-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a note about Windows 64.

2004-10-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update documentation.

	Improve Windows installation.

	Add a line about "near" and "far".

2004-10-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add support for ".lib" since it seems to work.
	Display GMP version inside the configure.

2004-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one new test

2004-10-04  Vincent Lefèvre  <vincent@vinc17.net>

	Added worst cases.

2004-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new tests (worst-case)

2004-10-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new worst-cases (directed rounding)

	added new function to implement (dilog)

2004-09-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in get_str_aux when one extra digit

2004-09-30  Vincent Lefèvre  <vincent@vinc17.net>

	Added functions mpfr_rint_round, mpfr_rint_trunc, mpfr_rint_ceil,
	mpfr_rint_floor.

2004-09-30  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new test (One failed).

2004-09-30  Vincent Lefèvre  <vincent@vinc17.net>

	The cast to uintmax_t wasn't really useful, so I removed it.
	Added a comment.

	The real fix for sizeof(intmax_t) == sizeof(mp_limb_t).

2004-09-30  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug if sizeof(intmax_t) == sizeof(mp_limb_t)

2004-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added worst-case

2004-09-29  Patrick Pélissier  <patrick.pelissier@gmail.com>

	cmp(x,y) if x=NAN or y=NAN returns 0 and erange flag.

	Update documentation and NEWS to reflect new functions
	and functionality.

	Improve assertion.

	Add mpfr_clear_erangeflag and mpfr_erangeflag_p.
	Add test for theses two functions.
	mpfr_get_[s/u][i/j] have a deterministic behavior in case of OVERFLOW.
	(Return the MINIMUM or the MAXIMUM in the current type, and set
	ERANGE_flag).

	Add mpfr_uintmax_p and mpfr_intmax_p.

	Update INSTALL about C++
	Update TODO and VERSION.

	Move mpfr_inits from mpfr-impl to mpfr.h.
	Add doc too.

2004-09-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reindent the sources (again).

	Fix how to detect overflow so that it can be build with GCC -ftrapv
	option without any bugs (In the previous code, the overflow was
	detected afterwards, whereas, now, it is detected before).
	Fix also another real problem of overflow (Addition of two signed integers).

	Rename this variable again.

	Replace variable 'near' to 'the_real_near' since MSVC incorrectly
	recognize "far" and "near" as obsolete keywords (100% incorrect, and
	clearly MSVC fault but it doesn't cost many things to change the name).

2004-09-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix typo in the documentation about get_ functions.

	Retab the sources.

2004-09-27  Vincent Lefèvre  <vincent@vinc17.net>

	Added mpfr_get_uj and mpfr_get_sj in the changes 2.0.3 -> 2.1.0.

	Added an item about the future MPFR_FLAGS_ERANGE flag.

	New functions mpfr_get_sj and mpfr_get_uj, with tests.

2004-09-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove MPFR_NEED_LONGLONG_H macro.

2004-09-26  Vincent Lefèvre  <vincent@vinc17.net>

	Added a cast to avoid an integer overflow.

2004-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed integer overflow.

	Fixed bugs (like those in mpfr_get_ui).

	The standard autoreconf script should now be used instead of prepare.

2004-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	forgot to check for 0

	now use mpfr_rint()

2004-09-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update doc of mpfr_get_str (Minimum space is 7).

2004-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed double-rounding bug in get_ui

2004-09-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Prevent from multiple inclusion.
	mpf_init inits to 0 rather than NAN.

	Fix some tiny problems.

2004-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added item on rounding to odd

2004-09-21  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug in FreeBsd 5.20 / Alpha / Gcc 3.3.3.
	Not a MPFR bug, but add some code to avoid it.
	Reference: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=72024

	Add a new test and clarify a comment.

	Update Assertion for pow2.

2004-09-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update NEWS.

	Update TODO due to new function mpfr_strtofr

	Add ICC detection && support.
	Remove some potential warnings in the test files.

	Add mpfr_strtofr function.
	Add mpfr_strtofr test file.
	Add mpfr_strtofr documentation.

	Improve GMP.h vs libgmp.a version checking.

2004-09-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one entry (new function 1/sqrt(x))

2004-09-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Use LIBS instead of LDADD for libraries (GMP).

	Min GMP version is 4.1.0 now.

2004-09-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a check if both gmp.h and libgmp.a have the same version.

	Fix a typo.

2004-09-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a forgotten regression test "1.2.3"

2004-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	Update from the autotools-dev Debian package.

	Update.

2004-09-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add 2 new macros for handling correctly overflow.

2004-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug (several '.' allowed in mantissa)

2004-09-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added notes for Windows

2004-09-02  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a line about Dynamic Version of MPFR.

2004-09-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added warnings about init functions (mpf wrt mpfr)

2004-08-31  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update documentations.

	Rename mpz_set_fr to mpfr_get_z.
	Provide a conditionnal macro for mpz_set_fr.

	Add doc for mpfr_sqr.

	Fix month.

2004-08-26  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a new test to check overflow.

2004-08-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Try to retype correctly the functions (replace int by the correct type).
	Still some works to do.

2004-08-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add description of what does MPFR_INT_CEIL_LOG2.

	Move __gmpfr_isqrt and __gmpfr_cuberoot to another file.
	Clean up the code of mpfr_exp_2: remove DEBUG condition to use TRACE, ASSERT and DUMP.
	Use MPFR_INT_CEIL_LOG2 instead of __gmpfr_ceil_log2.

	Improve a comment.

	Add MPFR_INT_CEIL_LOG2 macro and __gmpfr_int_ceil_log2 function
	(don't use function but macro).

	Fix 2 typos.

2004-08-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug on 64-bits introduced due to huger MPFR_EMAX_MAX.

	Add new functions: mpfr_get_emin_min, mpfr_get_emax_max, mpfr_get_emin_max and
	mpfr_get_emax_min.
	Add documentation and explanation about potential portability problem when
	you mpfr_set_emin and mpfr_set_emax.

2004-07-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added mpfr-longlong.h to libmpfr_a_SOURCES so that it is distributed
	with make dist.

	Added mpfr-gmp.h to libmpfr_a_SOURCES so that it is distributed
	with make dist.

2004-07-26  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a new section.

2004-07-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add function mpfr_sqr (TODO: Make doc)

2004-07-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix an unsigned/signed comparison.

	Improve the emulation of mpn_sqr_n and fix some typos.

2004-07-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove unused item "rnd_mode" in cache struct.

	Renamme mpfr_version to mpfr_get_version to be more GMP compatible.
	Add macro mpfr_version.

	Likely some tests.

2004-07-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a speciliation for set_si for GCC.

2004-07-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Try to optimize a few agm by rewriting a few the loop.

	Likely / Unlikely some tests using gcov.

2004-07-06  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove some unused code.
	Add MPFR_LMIB_PER_DOUBLE
	Add MPFR_DUMP
	Add MPFR_TRACE

	Likely some tests.

	Used static precision for the array of limb for double.

	Likely some tests / Other minor optimisations.

	Minor modifications.

	Unlikely a test so that it is faster when you call theses functions
	with the same dest and source which is the common case in MPFR.

	Likely a test to optimize when dest and src are the same
	(which is very likely inside MPFR).

	Likely a test (since cache should always work fine).

2004-06-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add some likely, and use a static table instead of a dynamic one.

2004-06-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Unlikely some tests.

2004-06-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Likely / Unlikely the code.

	Respace some macro.

	Retab some lines.

	Optimize a bit.

	Fix an overflow bug.

2004-06-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_exp_3 (wrong assert)

2004-05-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix typos.

	Update doc.

2004-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem for x near from Pi/2 (the internal precision should take
	into account the cancellation)

2004-05-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve tests for sin.

2004-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_sin_sign() should use at least MPFR_GET_EXP() bits

2004-05-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove an item.

2004-05-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a potential test (Too slow).

	Simplify the code.

2004-05-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove a C++ comment.

2004-05-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove a forgotten "assertd" which isn't useful anymore.

2004-05-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize cos.

2004-05-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved initial value of working precision (did not take into account
	2K lost bits for large  arguments)

2004-05-06  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix overflow and add corresponding tests.

	Fix a bug in a formula.

	Optimize it a bit.

	Fix overflow problems.

	Fix overflow bug.

2004-05-05  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove the double vars. (Use fixed instead).

	Add a note about tanh.

	Fix a bug in cas of overflow in tanh.

	Optimize a few by reducing the # of used vars.

	Fix critical bugs due to different kind of overflow in cosh.

	Add MPFR_TMP_INIT_ABS macro.

	Optimize cosh a few by removing an unused intermedary var.

	Fix a critical bug in case of overflow.

2004-05-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a critical bug in cos in case you have set the float range for the exponents.

	Optimize a few cos.

	Optimize the way of computing initial precision.

	Add a test to check an overflow in const_pi (called by log in case of emulation of the float type).

	Move to ASSERT mode some code.

	Push/Pop emin/emax so that an overflow can't occur in mpfr_set_z(x,pi,r)
	Add test too.

	Add some UNLIKELY to the while.

	Add some UNLIKELY to the tests.

	Fix an overflow bug in add1sp.

2004-04-29  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a typo in AC_MY_LIBS.

2004-04-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add mpfr_cmp as a real function, not only a macro.

	Add mpfr_set and mpfr_abs as real functions.

2004-04-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	When using GCC, optimize certain common comparisons.

2004-04-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one item

2004-04-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Minor Optimizations.

	Fix a bug (Use nextbeloz instead of sub_one_ulp).

2004-04-21  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add option in configure: --disable-cache
	to disable the use of the cache for the const.

	Fix a typo.

	Add preliminary generic code to handle cached const.
	Move const_pi, const_log2 to use this generic cache,
	which fix bugs of the previous implementation.
	const_euler is now cached too.

	Fix a bug (If x = Nan, the new new precision wasn't set).

	Fix a typo bug.

2004-04-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new test about the cache: new bug to fix.

	Add forgotten file for mpfr_zero_p.

	Add mpfr_zero_p.
	Add macros for mpfr_inf_p, mpfr_nan_p and mpfr_zero_p.
	Add macro for mpfr_sgn.
	Update doc.
	Add new tests.

	Fix a bug in a proto.

	Fix a bug when both op are < 0 (It seems it was my fault).
	Add a test to check it.

2004-04-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug (Remove useless function).

2004-04-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix another bug (Maybe the last?).

	Fix a tiny bug.

	Update memory allocations scheme without gmp-impl.h.
	Now the semantic of the memory allocation scheme is the same
	with and without gmp-impl, as it should be.

2004-04-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	For add/sub_type functions where type is a type without signed zeros,
	specify the expected result when both operands are 0.

	Modify a few the allocation scheme without gmp-impl.h
	Add pseudo-constants __MPFR_EXP_NAN, __MPFR_EXP_ZERO and __MPFR_EXP_INF
	for future (?) inlining of some functions.

2004-04-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem when overflow in destination exponent happens

2004-04-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug in case a mpz_t == 0 (mpz_sizeinbase(0Z,2)==0 and MPFR_PREC_MIN=2).

	Fix a bug in case of pow(2E1000000,-10);

2004-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem (cmpabs doesn't work for x=0)

2004-03-26  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Change from MP_LIMB_T_ONE to MPFR_LIMB_ONE and/or MPFR_LIMB_MASK.

	Improve comments.

	Fix a bug.

	Move detecting macros (__MPFR_GCC, __MPFR_STDC, __MPFR_GLIBC and __MPFR_GMP) from mpfr to mpfr-impl

2004-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed blank

2004-03-22  Vincent Lefèvre  <vincent@vinc17.net>

	Test write access to CVS.

2004-03-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug in a string.

2004-03-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add documentation of 'j' functions.

	Fix (?) definition of MPFR_PREC_MAX.

	Change the order of the tests.

	Rename mpfr_exp3 in mpfr_exp_3.
	Update THRESHOLD for mpfr_exp.
	Add MPFR_EXP_THRESHOLD.

2004-03-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new option "--with-gmp-build="

	Update INSTALL

	Fix a bug (Forget to cast to mp_exp_t).

	Update comment

	Add mpz_set_fr function and its test.

2004-03-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add new functions:
	 mpfr_set_sj_2exp, mpfr_set_sj
	 mpfr_set_uj_2exp, mpfr_set_uj

	Fix a compiler bug (limb !=0 instead of limb).

	Fix a cast problem on some systems (sizeof(mp_limb_t) > sizeof(unsigned long)).

2004-03-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove use of abort (They can create core dump on some systems).

	Fix bug of inexact flag for acos(0).

	Update.

2004-03-11  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug about forgotten MPFR_INVERT_RND.
	Add test too.

	Add doc about HAVE_STDINT_H

2004-03-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix doc about MPFR_DECL_INIT.

	Fix the declaration of 'MPFR_DECL_INIT'

	Add 'MPFR_DECL_INIT' macro.

	Rename NEAREST_AWAY in GMP_RNDNA.

	Add the description of mpfr_set_ui_2exp and mpfr_set_si_2exp.

2004-03-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add mpfr_set_si_2exp and mpfr_set_ui_2exp and their tests.

	Add doc about mpfr_cmp_f function

	Add mpfr_cmp_f and its test.

	Add mpfr_cmp_ld and its test

	Add doc of 2 macros.

	Add mpfr_cmp_ui and mpfr_cmp_si as real functions
	(The macros are still defined and used).

	Add mpfr_add_si, mpfr_sub_si, mpfr_si_sub, mpfr_mul_si, mpfr_div_si and
	mpfr_si_div.
	Add the corresponding test.

	Add `mpfr_cmp_q` and `mpfr_cmp_z`.

	Clean up configure

	Add ASSERT for NAN.

2004-02-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add documentation for MPFR_VERSION

2004-02-26  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize a few mpfr_mul.

	Add Laurent Fousse in the AUTHORS file.

2004-02-26  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug in check2b and added a test; add1.c coverage is now
	complete.

2004-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	Improved coverage.

	Improved coverage.

	Bugs fixed in a test function -> improved coverage.

2004-02-25  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize mpfr_round_raw_?

	Simplify the code.

2004-02-24  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid integer overflow.

	Ported code clean-up to trunk.

2004-02-24  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove some warnings.
	MPFR can be compiled (but not checked!) with a C++ compiler.

	Improve test coverage.

2004-02-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	further simplification of the code (replaced one in-place shift and copy
	by out-of-place shift or copy)

2004-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use GMP_RND_MAX instead of hard-coded constant

	simplified the code of div.c and improved coverage

2004-02-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Rename 'longlong.h' in 'mpfr-longlong.h' so that when MPFR is built
	within GMP it uses GMP's 'longlong.h' rather than MPFR's copy.

2004-02-23  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2004-02-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add mpfr_free_cache (2).

	Add mpfr_free_cache.

	Add mpfr_free_str function.

	Remove a warning.

	Reorder the declarations of the functions.
	Remove duplicate declarations.
	Remove mpfr_factorial.

2004-02-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch from Guillaume Hanrot

2004-02-23  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve coverage tests.
	Fix 2 underflow bugs.

	Update comment

	Improve comments.

	Add a comment.

2004-02-22  Vincent Lefèvre  <vincent@vinc17.net>

	Added tests.

2004-02-20  Laurent Fousse  <laurent@komite.net>

	Changed mpfr_sum to use unsigned long instead of unsigned int. More tests.

2004-02-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	mpfr_neg (b, b, r) for b=NAN didn't set NAN flag.

	mpfr_sgn is no longer a macro.

2004-02-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug with exact rationnal arguments (0.5+3/2 freezes).

2004-02-18  Vincent Lefèvre  <vincent@vinc17.net>

	Update from the autotools-dev Debian package (2004-01-05).

	Fixed a bug in mpfr_set_f for 0 (wrong sign) and added the test.

2004-02-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug if you build MPFR with ASSERT.

2004-02-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reduce the number of used variables.

2004-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved again documentation

	simplified rounding

	improved documentation of *inexp

2004-02-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Simplify the random code.

	Optimize it a few.

	Add 2004 in copyright line.

	Add a section which describes the needed macros for building MPFR.

2004-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment about probability of normalized product

2004-02-17  Vincent Lefèvre  <vincent@vinc17.net>

	Added a note about the ternary value, important in practice.

2004-02-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed 2 bugs and added test

	added comment about return value

2004-02-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Try so support GMP as a Shared Library.

2004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved error message

2004-02-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix the computing of the error for mpq_add and mpq_sub.

2004-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Added more tests (improved tadd1.c coverage).

2004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added cancellation test for add_q

2004-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Added tests (improved tadd1.c coverage).

2004-02-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix bug of add_q and sub_q with special values (NAN, INF and ZERO).

2004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	deal with overflow/underflow in mpfr_div

	added hard-coded tests

2004-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	When the precisions are the same, test both mpfr_add1sp and mpfr_add1.

	Added overflow check.

2004-02-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize add1sp, sub1sp and div.
	Improve coverage test for sub1sp.

2004-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Removed unused label.

	Really reverted to rev. 1.54 + kept optimization + commented out
	is_odd_even.

2004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	take into account possible out-of-range exponent

	revert to rev 1.54 code for case x infinite
	(was less efficient but simpler)

	fixed bug with in-place computation

2004-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up and fix to avoid warnings.

2004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed back to C99 standard for special values of x^y

	added test for *function* mpfr_round

	check return value of fopen

2004-02-16  Vincent Lefèvre  <vincent@vinc17.net>

	Removed the no longer used label "fin" and fixed the indentation.

	Fix: MPFR_NOT_ZERO -> MPFR_NOTZERO.

	Commented out the now useless "double uo, vo;".

2004-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved coverage tests

2004-02-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new coverage tests

	improved coverage test

2004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved coverage test

	improved test coverage

	improved test coverage

	improved test coverage

2004-02-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a bug in taddsp (Forget to check if random does not generate zero).

2004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved editing style

	improved test coverage

	partly rewritten, and improved test coverage

2004-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	Added tests for mpfr_mul_2si and mpfr_div_2si + corrections.

	Replaced mpfr_mul_2exp and mpfr_div_2exp by mpfr_mul_2ui and
	mpfr_div_2ui as the 2exp form is obsolete.

2004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed warnings

2004-02-13  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add test for mpfr_cmpabs
	Add test for mpfr_fits_
	Add test for internal dumping functions.
	Improve coverage test for exceptions / set / check.

2004-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved coverage

	removed Kevin, added missing accent

	improved coverage test

2004-02-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Rewrite (simplify) mpfr_dump.
	Change its proto.
	Fix mpf_dump macro in mpf2mpfr.

	Remove MPFR_ASSERTN(0) and add MPFR_ASSERTD(last condition) instead.

2004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved coverage

	improved coverage

	improved cov. test

	improved cov. test

	improved coverage test

	improved coverage test

	improved test coverage

2004-02-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Improve coverage of const_pi and const_log2 (Test for prec > 20000).

2004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed tiny bugs for corner cases
	improved test coverage

2004-02-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Add mpfr_add1sp which provides addition when all the operands have the same precision.
	+ Add new test files for mpfr_copysign and mpfr_min and mpfr_max.
	+ Add test for mpfr_exp10 in tests/texp.c
	+ Improve coverage of div_2ui.c and mul_2ui.c
	+ Add a forgotten ASSERT in mpfr_sqrt

2004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved test coverage
	replaced mpfr_get_d1 by mpfr_get_si

	improved coverage test

	added new coverage test

2004-02-12  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix some mistakes.

	Add a description of the gcov tool.

2004-02-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now 100% of coverage of sub1.c

	new test file for mpfr_dim

2004-02-06  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Replace AS_HELP_STRING to AC_HELP_STRING (obsolete)

	Add forgotten copyright 2004 line.
	Add a small documentation about mpfr_sum.

	Added mpfr_sum function.

	+ Better support of non IEEE doubles.
	+ You can compile MPFR without gmp internal files (ie gmp-impl.h, gmp-mparam.h, and config.h). You only need gmp.h and libgmp.a. But you can still compile with GMP internal files (configure detects them).

2004-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Updated MPFR URL.

	Added the changes from version 2.0.1 to version 2.0.2.

	Added: "3) Update the NEWS file.".

2004-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in get_str (case pow2, rnd=up or down)

2004-01-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem (s1 = s-1 inexact)

	fixed problem in gamma/factorial

	added new tests for agm and hypot (+ fixed bugs)

2004-01-29  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add GMP_RND_MAX so that a for loop of the rounding modes looks like:
	 for(int r = 0 ; r < GMP_RND_MAX ; r++)

2004-01-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Better supports of non IEEE-754 floats (don't use anymore ieee_double_extract if _GMP_IEEE is not set).

2004-01-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added comments and a temporary fix.

2004-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bugs in atan cbrt erf
	added new hard-coded tests

2004-01-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed argument reduction in sin(Pi*s/2) [delegated to mpfr_sin]

	print inputs of test2 in binary form
	commented out test for 0.8 (input is not exactly representable)

2004-01-26  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Internal functions of zeta are now declared as static.
	+ Add new tests which fail.

2004-01-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added several hard-coded tests (and fixed bugs found)

2004-01-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix tiny bug of Concept Index / Rounding Modes.

	Update minor things.

2004-01-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	minor change in contributions

	added Patrick in the main contributors

2004-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed spelling mistake.

2004-01-20  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Reorder the documentation.

2004-01-19  Kevin Ryde  <user42@zip.com.au>

	# Add a remark to mpf_strto.

	# Drop my thought about addmul instead of fma.  The latter takes a
	# separate destination and is hence not the same as what mpn and mpz
	# addmul do.

2004-01-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update tests to remove the use of double when possible.

	Reenable the cmp between inexact flags.

	Add mpfr_get_default_rounding_mode.
	Add the tests for mpfr_get/set_default_rounding_mode.
	Fix mpfr_set_default_rounding_mode.

2004-01-19  Vincent Lefèvre  <vincent@vinc17.net>

	_mpfr_ceil -> mpfr_ceil_double + check for overflow.

	Moved the mpfr_mpn_exp function to a new file "mpn_exp.c" as it is
	used by both "get_str.c" and "set_str.c".

2004-01-16  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update it to remove the use of float/double.

2004-01-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a new check in tget_str.c.

	Add new macros.

	Readd stdio.h in case of DEBUG mode.

	Optimize a few sub1sp by removing the normalisation in case of exact rounding and by removing the calcul of the rounding mode in case of exact rounding.

2004-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem in case m=0 and b=2^k (lost bits from 1st digit were not taken
	into account)

	mpn_exp -> mpfr_mpn_exp

2004-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	Removed gammaPiAGMformula.c (old version, no longer used).

2004-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	Changed some error messages into assertions.
	Removed some useless #include's.

2004-01-14  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Continue to port tests so that they don't use double.

2004-01-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update the tests to reduce the use of floats.

	Remove unused files mpfi.c and mpfi.h

	Update test.
	Don't use floats anymore.

	Add RND_RAND
	Add SIGN_RAND

	+ Simplify the singular code.
	+ Fix potential type errors. (Used mpfr_prec_t instead of mpfr_uexp_t).

2004-01-08  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Add a new test file for checking functions mpfr_add/sub/mul/div_q/z (from gmp_op.c).
	+ Fix bugs of mpfr_add/sub/mul/div_q/z.

2004-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	-0 -> @minus{}0.

	Specifications for mpfr_min and mpfr_max.

	Updated MPFR_INTPREC_MAX definition, as mpfr_prec_t has changed.

2004-01-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Add a new test between sub1 and sub1sp.

	Fix copyright line.

2004-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed wrong sign of inexact flag

2004-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	Added casts to size_t so that integers representing a size get
	this type as soon as possible.

2004-01-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Use MPFR_ASSERTN(0) instead of abort.

	Fix the definition of MPFR_PREC_MAX

2004-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test to check bug repair

	fixed bug (wrong inexact flag) for rounding to nearest when sh=0 and
	first trailing limbs coincide

2004-01-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix copyright lines (2004).

	Fix bug of sub1sp.c on sparck.
	Add new tests for sub1sp.
	Reenable sub1sp for mpfr_add / mpfr_sub.

	Change output format of mpfr_print_mant_binary.

2004-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	Clarified comment.

2004-01-06  Vincent Lefèvre  <vincent@vinc17.net>

	Updated copyright line.

	Added mpfr_version function and test.

	The mpfr_print_rnd_mode return type is const char *, not char *.

2004-01-06  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update the copyright line of the source files to 2004.

	Add the tests to check if 0 for signed class with unsigned 0 is set to 0+.

2004-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	specified sign of zero in mpfr_set_*

	removed test using denorms

2003-12-22  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Disable sub1sp in add.c and in sub.c since it provides some bugs on spark (Log/acos/asin and atan tests failed but not tsub or tsub1sp).

	Change comment.

	+ Rearrange the code to be more "compatible" with broken systems.
	+ Preprocessing checks are done in init2.c since GMP constants can't be used in preprocessing #if.

	Use MPFR_UNSIGNED_MINUS_MODULO when needed.

	Explicit support for K&R C since ansi2knr can't be used.

2003-12-20  Kevin Ryde  <user42@zip.com.au>

	(tests_rand_start): Use gmp_randinit_default not the
	RANDS macro, to cope with new non-seeding MT setup by RANDS.

2003-12-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Support of MPFR_PREC_FORMAT.
	Fix a bug in case mp_prec_t = unsigned short.

2003-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	Update due to a change in mpfr.h.

2003-12-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Modify Version to 2.1.0.
	+ Add MPFR_VERSION_MAJOR, MPFR_VERSION_MINOR and MPFR_VERSION_PATCHLEVEL in mpfr.h
	+ Add MPFR_VERSION_NUM and MPFR_VERSION to check Mpfr version.

	Remove one warning in mpf_compat.h
	Create a new macro: MPFR_RET_NEVER_GO_HERE
	Modify ui_sub/div to use it to make Insure++ happy.

2003-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated mpfr_root entry

2003-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	Added update-version script to update the MPFR version.

2003-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed one item, added one

2003-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed unused target "tests"

	removed AC_DEFINE(hpux) [not used any more]

2003-12-15  Kevin Ryde  <user42@zip.com.au>

	(EXTRA_DIST): Add round_raw_generic.c.

2003-12-15  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Optimize a few div.c
	+ Remove some warnings in asin.c, atan.c.
	+ Include limits.h before gmp-impl.h in mpfr-impl.h
	+ mpfr-tests.h doesn't include anumore standard include files.
	+ Test files include only standard includes and mpfr-tests.h.
	+ Add some forgotten mpfr_clear in mpf[r]_compat.
	+ Remove some warnings in the tests.

2003-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed unused arguments

	removed AC_DEFINE(__STDC__) for OSF

	removed MISCFLAGS (not used any more)

2003-12-14  Kevin Ryde  <user42@zip.com.au>

	Quote AC_DEFUN names, for automake 1.8.

2003-12-10  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Add a new test in case of underflow.
	+ Fix bug in case of underflow for sub1 / sub1sp (mpfr_powerof2 could be called with invalid numbers).

2003-12-09  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Fixed bugs of mpfr_print_mant_binary on 64 bits CPU (1L instead of 1).
	+ Fixed bugs of mpfr_sub1sp on 64-bits CPU (mp_limb_t instead of int).

	+ Add function mpfr_print_mantissa_binary, for debugging reason.
	+ Rename MPFR_ALLOC_SIZE in MPFR_MALLOC_SIZE.
	+ Add conditionnal -DSMALL directive in mpfr-impl.h.
	+ Add new function: sub1sp.
	   Subtraction in case of all the ops have the same prec.
	+ Add its test (tsub1sp).
	+ Modify a few the tests to avoid comparing mpfr results with double, for portability reason.

2003-12-05  Vincent Lefèvre  <vincent@vinc17.net>

	Added mpfr_exp10 function.

2003-12-01  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Port all the IEEE dependent remaining functions so that it uses a generic way to compute the result if it detects that the double is not in IEEE format ( _GMP_IEEE_FLOATS == 0).
	MPFR now should work well on non-IEEE machines.

2003-12-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added suggestion for 2 new functions

	added entry (portability)

2003-11-25  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Optimize a few add1.c/sub1.c by using MPFR_LIKELY / MPFR_UNLIKELY.

2003-11-21  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Remove some warnings and potential errors (Comparison between signed and unsigned).

	+ Add new internal function: mpfr_check.
	+ Add the corresponding test file.
	+ Translate mpfr_set_d to mpfr_set_str / mpfr_set_ui in the tests for portability reasons.

2003-11-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use integers instead of double's

2003-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	Notes about not using mpfr_set_d in the tests.

2003-11-19  Patrick Pélissier  <patrick.pelissier@gmail.com>

	 Optimization of mpfr_mul.
	 Tiny optimization of mpfr_pow (The case y=0 has been put inside the MPFR_ARE_SINGULAR block).
	 Tiny optimisation of mpfr_set_ui.

2003-11-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in case exact result

	added new tests

2003-11-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	 Optimize round_raw_generic by reducing the number of redundant tests.

2003-11-17  Patrick Pélissier  <patrick.pelissier@gmail.com>

	* Optimize a few div.c and mul.c.
	* Reorder the tests.
	* Remove mpfr_round_raw_generic and create 4 new functions which replace it, for efficiency reasons.
	* Add round_raw_generic.c which is the generic file to create the 4 new functions.
	* Add new MACRO: MPFR_RNDUTEST_OR_RNDDNOTTEST which is a faster way to check if (rnd_mode==GMP_RNDU && test) || (rnd_mode==GMP_RNDD && !test).
	* Add new MACRO: MPFR_UNSIGNED_MINUS_MODULO.
	* Optimize mpfr_can_round_raw.
	* Some new defines in mpfr.h to increase compatibility with MPFR v2.0.1 and above.

2003-11-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in pow_si (exact result, case z = x)

	added test to check bug fix (bug was in mpfr_pow)

	added new test to check for bug fix (output precision > input precisions)

	just improved editing style

	fixed bug for output precision > max(input precisions)

2003-11-14  Vincent Lefèvre  <vincent@vinc17.net>

	Ported the gcc-3.3 bug detection patch to the trunk.

2003-11-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix a stupid bug (diff_exp is not equal to the difference of prec)

2003-11-07  Vincent Lefèvre  <vincent@vinc17.net>

	Initialize the exp field.

2003-11-07  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Some minor optimizations.
	Optimization of mul.c / sub1.c.
	Some clean up in the header files.

2003-11-05  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Fix some bugs (Use MPFR_ASSERT(1) instead of MPFR_ASSERT(0))
	Optimize swap.c and copysign.c.

	Optimize mpfr_prec_round.
	Optimize mpfr_set (Case of both src & dest have the same precision).
	Start optimizing mpfr_sub1.

	Add a real function for mpfr_sgn (not a call to mpfr_cmp_ui_2exp).
	Add a test for mpfr_sgn.
	Change the proto of mpfr_add1 and mpfr_sub1 by removing the last arg.
	Simplify the logic of the sign in mpfr_sub1.
	Tiny speed up for cmp/set/sqrt.
	mpfr-impl auto include all the needed local header files (gmp, gmp-impl, mpfr).

2003-11-04  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the mpfr-2-0-2-branch pow_ui.c changes to the trunk.

	The check_inf test wasn't called. Added 2 missing mpfr_clear and \n.

2003-11-04  Patrick Pélissier  <patrick.pelissier@gmail.com>

	+ Remove MPFR_CLEAR_NAN and MPFR_CLEAR_INF. Only use MPFR_CLEAR_FLAGS.
	  MPFR_SET_INF, MPFR_SET_ZERO and MPFR_SET_ZERO must clear the flags before setting them.
	+ Add a new test in tacosh.c : check Inf / Nan flags.
	+ Use MPFR_IS_SINGULAR in all the remaining files.
	+ Fix the use of MPFR_CLEAR_FLAGS.
	+ mpfr-impl.h auto include gmp.h, gmp-impl.h, mpfr.h and limits.h.
	+ Rename _PROTO to _MPFR_PROTO, and remove _GMP_PROTO.
	+ Add MPFR_INT_SIGN macro.
	+ Encapsulate a few more the sign.

2003-10-30  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR_RET_NAN -> MPFR_RET(0).

2003-10-28  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Use of MPFR_UNLIKELY and MPFR_IS_SINGULAR for fast detection of special values (Nan, Inf or Zero).
	Start to encapsulate the sign to be independent of the representation (Must be 1 or -1).

2003-10-27  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Change the internal format of MPFR: ZERO, INF and NAN have special values of exp.
	Rename MPFR_ESIZE in MPFR_LIMB_SIZE.
	Rename MPFR_ABSZISE in MPFR_ALLOC_SIZE.
	Rename MPFR_INIT in MPFR_TMP_INIT (INIT1 too).
	"mpfr.h" includes <gmp.h> if GMP isn't detected.
	Change the way of detecting stdio.h (To check).
	Use mpfr namespace for new definitions in "mpfr.h".

2003-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	Another fix, for acosh(-INF).

	Fixed exit status.

2003-10-21  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the mpfr-2-0-2-branch changes to the trunk.

2003-10-20  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the mpfr-2-0-2-branch changes to the trunk.

2003-10-17  Vincent Lefèvre  <vincent@vinc17.net>

	Merged the mpfr-2-0-2-branch changes to the trunk.

2003-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Updated version on trunk.

	Update.

	Fixed several bugs.

	Added XDEBUG support (like in set_d.c).

2003-10-15  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced all non-ASCII characters by an equivalent 7-bit sequence
	to support unpatched texinfo.tex files.

2003-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed #define DEBUG (turned on accidentally)

2003-10-15  Vincent Lefèvre  <vincent@vinc17.net>

	Bug on the ternary value was fixed by Paul Zimmermann on 2003-10-14.

2003-10-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added preamble about ternary flag for special functions

	now uses #include "tgeneric.c" everywhere
	(and modified test_generic to check also the inexact flag)

	check_nan() is back

	removed old unused code

	fixed tests for x=0
	removed composition tests (were already in-between #if 0 ... #endif)

	replaced mpfr_can_round (approx, err, rnd1, GMP_RNDN, prec)
	by       mpfr_can_round (approx, err, rnd1, GMP_RNDZ, prec + 1)
	which in addition guarantees a correct inexact flag

	added new items (version number, rounding modes)

	added comment about --enable-alloca=debug

2003-10-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added section "Problems due to compiler bugs"

	change in can_round calls to get correct inexact flag for rounding to nearest

2003-10-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_pow found by Ming J. Tsai (overflow)

2003-10-08  Vincent Lefèvre  <vincent@vinc17.net>

	Removed useless inclusion of standard headers and some #ifdef DEBUG
	code. Partial reindentation.

	Added a #include <stddef.h> because size_t is used.

2003-10-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reduced test time

	reduced test time

	reduced test time

2003-10-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed comment of mpfr_round_raw_generic

	replaced ABSSIZE by ESIZE (ABSSIZE is the allocated size, and should be
	used only in functions init, set_prec, round_prec)

	fixed bug in allocation for in-place operation

	inexact flag should now be correct for directed rounding
	fixed a bug for mpfr_atan(-Inf) [gave +Pi/2 instead of -Pi/2]

	added test for atan(-Inf)

	use macros to avoid possible problem with float input

	new proposal for mpfr_can_round

	mpfr_mul_2exp/mpfr_div_2exp are not obsolete

2003-10-05  Vincent Lefèvre  <vincent@vinc17.net>

	Clearer mpfr_eq documentation (thanks to Kevin Ryde for the remark).

2003-10-03  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR_ASSERTN rewritten to avoid "statement with no effect" warnings
	with gcc when the assertion is always true.

	Optimization (thanks to Patrick Pelissier), as the allocated size
	may be larger than the size used by the significant bits.

	Updated installation notes.

	Infinities are now accepted in mpfr_cmpabs. Updated its definition
	in the source (no longer sign(abs(b) - abs(c))).

2003-10-02  Vincent Lefèvre  <vincent@vinc17.net>

	Use @url{} for URLs.

	As suggested by PZ:
	  o documentation of mpfr_fits_* functions moved to the section
	    on conversions;
	  o grouped some mpfr_pow special cases;
	  o explanation concerning the meaning of rnd in mpfr_frac.

	Updated documentation. In particular, mpfr_set_str_raw renamed
	as mpfr_set_str_binary. This function and mpfr_print_binary are
	now internal functions. mpfr_print_binary no longer prints the
	non-significant 0 bits. Updated the source to match the manual.
	mpfr_print_binary has been completely rewritten (now directly
	prints to stdout, without using an intermediate string). In
	mpfr_set_str_binary, replaced atol by strtol + error checking.

2003-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added paragraph on support/grants
	added help for mpfr_erf

2003-10-02  Vincent Lefèvre  <vincent@vinc17.net>

	Make node titles match section titles, and updated menus and xrefs.
	Added a line break after @samp{uninstall}.

2003-10-01  Vincent Lefèvre  <vincent@vinc17.net>

	Corrections in the MPFR manual (PZ & VL). Functions mpfr_const_pi,
	mpfr_const_log2 and mpfr_zeta now return a ternary value. Updated
	TODO file.

2003-09-30  Vincent Lefèvre  <vincent@vinc17.net>

	Added a bug related to the ternary value and worst cases.

	Added exponent range support.

	Corrections up to Section 5.6 (PZ & VL).

	Re-added the assert on the exponent, but replacing MPFR_EMIN_MIN by
	MP_EXP_T_MIN (this makes more sense): an assertion failed would mean
	that the exponent is not representable (an undefined behavior in the
	ISO C standard). If need be, we could choose to return MP_EXP_T_MIN
	in such a case, or perhaps MP_EXP_T_MAX to signal an error. The
	mantissa would still be meaningful.

2003-09-30  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Update TODO & mpfr_set_prec.

2003-09-29  Vincent Lefèvre  <vincent@vinc17.net>

	Corrections up to Section 4.

	Added authors Kevin Ryde and Patrick Pelissier.

	Removed "known problems" that are no longer problems.

2003-09-26  Vincent Lefèvre  <vincent@vinc17.net>

	Removed bugs related to the tests and to the exponents
	as they no longer occur. Updated some potentials bugs.

2003-09-25  Vincent Lefèvre  <vincent@vinc17.net>

	Removed mpfr_inits, mpfr_inits2, mpfr_clears from the documentation.
	Moved their prototypes to mpfr-impl.h (internal functions until
	decided otherwise).

2003-09-25  Patrick Pélissier  <patrick.pelissier@gmail.com>

	Modify 'r' arg of GENERIC from int to long (min 32 bits).

2003-09-25  Vincent Lefèvre  <vincent@vinc17.net>

	8-bit ISO-8859-1 characters + consistent spelling.

	Update.

	Changed the remaining stderr to stdout.

2003-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	Changed some stderr to stdout.

	Added documentation for mpfr_greater_p, mpfr_greaterequal_p,
	mpfr_less_p, mpfr_lessequal_p, mpfr_lessgreater_p, mpfr_equal_p
	and mpfr_unordered_p.

	Added tests for mpfr_greater_p, mpfr_greaterequal_p, mpfr_less_p,
	mpfr_lessequal_p, mpfr_lessgreater_p, mpfr_equal_p, mpfr_unordered_p.

	Added a few more tests (involving mpfr_nexttoward). The tests for
	the mpfr_nextabove, mpfr_nextbelow and mpfr_nexttoward functions
	should now be sufficient.

	Added generic tests for mpfr_nextabove and mpfr_nextbelow.
	Fixed a bug in next.c related to assertion checks.

	Accept (case-insensitive) NaN and Inf in input for bases <= 16 for
	backward compatibility in these bases (for bases > 16, we cannot
	guaranty backward compatibility with the current wanted behavior).
	Added tests.

2003-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one item from Kevin

2003-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	Added support for some top-bit-set characters in the .texi source.

	Added information on special values for mpfr_pow.

2003-09-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added MAKEINFOFLAGS = --enable-encoding to get 8-bit characters in mpfr.info

	used ISO-8859-1 in AUTHORS
	and @`e, @"o in mpfr.texi (waiting for code for ISO-8859-1 compatibility)

2003-09-24  Kevin Ryde  <user42@zip.com.au>

	(MPFR_C_LONG_DOUBLE_FORMAT): Remove conftest* temporary
	files.

2003-09-24  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed comparisons (cases @NaN@ and @Inf@).

2003-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	two updates

2003-09-22  Vincent Lefèvre  <vincent@vinc17.net>

	Updated mpfr_pow description.

2003-09-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed __gmp_const into const in *.c
	[Torbjo"rn: Please use __gmp_const just in user header files, plain C const in other files.]

2003-09-22  Vincent Lefèvre  <vincent@vinc17.net>

	Removed

	- allow the ISO C "P" exponent separator for base 16 in input functions

	(already done).

2003-09-22  Vincent Lefèvre  <vincent@vinc17.net>

	Implemented the following:
	- use (LDBL_MAX/2)+(LDBL_MAX/4*LDBL_EPSILON) instead of loop in tset_ld
	       to get largest power of 2 that fits in a long double

	Added some MPFR_ASSERTN and improved a comment.

	Avoid string literals longer than 509 characters (ISO C89 limit).

	(test_set_underflow, test_set_overflow): Cleaner fix (for pre-C99
	compilers).

2003-09-22  Kevin Ryde  <user42@zip.com.au>

	(test_set_underflow, test_set_overflow): Use
	"static" on "r" to allow non-constant initializers.

2003-09-21  Kevin Ryde  <user42@zip.com.au>

	(Converting Floats): In mpfr_get_d_2exp, the rounding mode
	is given, it doesn't use the default mode.

	(Assigning Floats): In mpfr_set_str and mpfr_set_str_raw,
	show "const" not "__gmp_const".
	(Simultaneous Float Init & Assign): In mpfr_init_set_str, ditto.

	(Rounding Modes): Add blank line around @itemize.

	(Miscellaneous Float Functions): In mpfr_urandomb and
	mpfr_random, use @math and @le.

2003-09-20  Kevin Ryde  <user42@zip.com.au>

	(Assigning Floats): In mpfr_set_*, remove remarks about
	long being rounded (this should be clear already), about rounding of
	decimal double constants like 0.1 (too basic to appear here),
	(Converting Floats): In mpfr_get_d_2exp, remove remark about exp
	exceeding IEEE exponent range (should be clear already).

2003-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated items: removed conversion from/to float (obsolete)

	got rid of <math.h> dependency in mpfr_zeta

	mpfr_round_prec is now obsolete
	new function mpfr_prec_round replaces it

2003-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	Fix for C implementations with 16-bit int.

2003-09-18  Patrick Pélissier  <patrick.pelissier@gmail.com>

	 Optimization of macros MPFR_IS_INF, MPFR_IS_NAN and MPFR_IS_FP

2003-09-18  Vincent Lefèvre  <vincent@vinc17.net>

	Removed a comment that should have been removed in revision 1.8.

2003-09-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	No longer perform the pre-check for exactness when first division step was
	actually a complete division. This introduced way too much overhead.

	replaced test stream==0 by stream==NULL

2003-09-15  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed a bug in mpfr_can_round_raw and added other mpfr_can_round
	tests.

	Added a test to tests/tcan_round.c and assertions to round_prec.c.

2003-09-14  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed mpfr_set_overflow, added tests for mpfr_set_underflow
	and mpfr_set_overflow, and reverted exp.c.

2003-09-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	overflow with round to zero was incorrect

2003-09-11  Vincent Lefèvre  <vincent@vinc17.net>

	New functions mpfr_inits, mpfr_inits2 and mpfr_clears to initialize or
	free several floating-point numbers (written by Patrick Pélissier).

2003-09-09  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced malloc/free by __gmp_allocate_func/__gmp_free_func in
	mpfr_zeta_pos. zeta.c still uses math (libm) functions -> TODO:
	remove this dependence.

	Added a test that makes MPFR crash (coming from the mpfr_zeta crash).

	Case that crashes MPFR (coming from test_generic) -> function test1.

	Ended up by simplifying mpfr_ui_pow to fix it completely (with a
	call to mpfr_pow, in a way similar to other ui functions). There
	isn't significant differences with the old code anyway, and the
	case integer^integer wasn't optimized like in mpfr_pow.
	The test tui_pow now passes, but the test tzeta now fails!

	Code clean-up and reindented. Replaced a 8 by CHAR_BIT,
	as CHAR_BIT isn't necessarily equal to 8. The bug seems
	to occur on all machines.

2003-09-08  Vincent Lefèvre  <vincent@vinc17.net>

	Added a test to reproduce a bug (to be fixed later) on all 64-bit
	machines.

	Added a cast (useful under Linux/alpha).

2003-09-01  Vincent Lefèvre  <vincent@vinc17.net>

	Changes (Patrick Pelissier's suggestions):
	  _ mpfr_print_rnd_mode now has __gmp_const char * return type;
	  _ some corrections in mpfr.texi, documentencoding set.

2003-08-30  Kevin Ryde  <user42@zip.com.au>

	#Corrections to initial checkin.

	(EXTRA_libfrtests_a_SOURCES): Add amd64.asm.

	New file.

	Correction to:
	(MPFR_CONFIGS): Add amd64-*-* to x86 test objects.

	(tests_machine_prec_long_double): Add amd64 to the
	comments.

	(MPFR_CONFIGS): Add amd64-*-* to x86 test objects.

	(check_set_get): Improve error messages.

	(ld_trace): New function.

	(ldbl_max_struct): Use octal character constants, since hex
	is an ANSI-ism.

2003-08-07  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid a potential overflow.

2003-08-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb found by Damien Fisher

2003-07-24  Vincent Lefèvre  <vincent@vinc17.net>

	If the exponent of the number is meaningless (src = NaN, inf or 0),
	0 is stored in expptr (behavior similar to the ISO C frexp function).

2003-07-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one item

2003-07-19  Kevin Ryde  <user42@zip.com.au>

	(check_PROGRAMS): Add tget_d_2exp.c.

	New file, partly derived from tget_d.c.

	(mpfr_get_d_2exp): Ensure 0.5 <= abs(ret) < 1.0 is respected
	when rounding away from zero.

	(d_trace): New function.

	(Converting Floats): mpfr_get_d_2exp stores to a long.

	(mpfr_get_d_2exp): Store exp in a long, same as
	mpz_get_d_2exp and mpf_get_d_2exp.

2003-07-15  Vincent Lefèvre  <vincent@vinc17.net>

	Updated comment.

2003-07-08  Vincent Lefèvre  <vincent@vinc17.net>

	Correction in a comment (patch by Torbjorn).

2003-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	can_round returns 0 for NaN/Inf

	fixed Uninitialized memory read in mpfr_can_round
	(when b is NaN or Inf)

2003-06-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed array bound write (need 6+1 characters in s1 to represent -@inf@ + \0)

2003-06-28  Kevin Ryde  <user42@zip.com.au>

	Add "const" to IEEE byte sequence data.

	(tests_rand_end): Remove explicit __gmp_rands
	clearing, it's what RANDS_CLEAR does already.

2003-06-26  Kevin Ryde  <user42@zip.com.au>

	# Clarify nan/inf bits under efficiency.
	# Add mpfr_get_d3 ieee portability.
	# Add mpfr_random not wanted in mpf integration.

2003-06-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved macros for [L]DBL_MANT_DIG in mpfr-impl.h

2003-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed several problems noticed by Kevin

	changed test for 2^1024, using LDBL_MAX_EXP

2003-06-25  Kevin Ryde  <user42@zip.com.au>

	# Add efficiency of separate flag bit operations.

2003-06-24  Kevin Ryde  <user42@zip.com.au>

	Remove file, no longer used.

	(libmpfr_a_SOURCES): Remove mpfr-math.h.

	(MPFR_DBL_INFP, MPFR_DBL_INFM, MPFR_DBL_NAN): Make private
	definitions based on IEEE byte sequences, in particular avoid HUGE_VAL
	from mpfr-math.h since that's not infinity on hppa1.1-hp-hpux10.
	Remove includes of mpfr-math.h, math.h and stddef.h.

	(check_inf_nan): New test.

	(MPFR_C_LONG_DOUBLE_FORMAT): Use octal char constants,
	'\xHH' is an ANSI-ism.

2003-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check 2^1024 only when sizeof(long double) > sizeof(double)

	correction to previous patch

	correction to previous patch: problem was that x and u can be 0,
	then MPFR_PREC() undefined

2003-06-24  Kevin Ryde  <user42@zip.com.au>

	(tests_start_mpfr): Make stdout and stderr unbuffered.

	(check_inexact): For pz, use at least MPFR_PREC_MIN
	since this is required by mpfr_set_prec.

	# Correction to:
	# (check_inexact): For pz, use at least MPFR_PREC_MIN
	# since this is required by mpfr_set_prec.

	(check_inexact): For pz, use at least MPFR_PREC_MIN
	since this is required by mpfr_set_prec.

2003-06-23  Kevin Ryde  <user42@zip.com.au>

	Remove mingw portability of random/rand48, no longer used.

	Remove __setfpucw, no longer used.
	Remove mpfr_integer_p, done.
	Remove gmp rand functions in test programs, done.
	Remove MPFR_CHECK_RANDOMIZE, done (as GMP_CHECK_RANDOMIZE).

2003-06-21  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_random is deprecated.

2003-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed since mpfr_random now can return 0

2003-06-20  Vincent Lefèvre  <vincent@vinc17.net>

	The distribution should now be uniform (mpfr_random implemented
	by calling mpfr_urandomb).

	Take the current exponent range into account in mpfr_urandomb
	(which now returns an int).

	Bug fix.

2003-06-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved _gmp_rands_initialized stuff from tests_end_mpfr() to tests_rand_end()

	reduced default number of tests
	improved style

	reduced default number of tests
	improved style

2003-06-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_exp2_aux2 (spe175.testdrive.hp.com)

	improved style

	added more information in case of failure

	removed randseed() stuff [obsolete now we use the GMP mechanism]

	added memory test mechanism

	added new test from Parks

	fixed allocation problem (forgot to clear)

2003-06-19  Vincent Lefèvre  <vincent@vinc17.net>

	Removed drand48/lrand48/srand48 prototypes.

2003-06-18  Kevin Ryde  <user42@zip.com.au>

	Don't use mpz_get_d1, since a 53-bit double is not
	enough when long is 64-bits.

	Don't use mpz_get_d1, since a 53-bit double is not
	enough when long is 64-bits.

2003-06-13  Kevin Ryde  <user42@zip.com.au>

	Use autoconf recommended style for time.h with
	sys/time.h.

	(MPFR_CONFIGS): Require AC_HEADER_TIME, add
	AC_CHECK_HEADERS of sys/time.h.

	(MPFR_CONFIGS): Add AC_CHECK_FUNCS of gettimeofday.

2003-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved disabled test to "special" code

	added reference to Higham

	improved error analysis on erf

	improved indentation

2003-06-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added support for random see
	(when env. variable GMP_CHECK_RANDOMIZE set)

2003-06-12  Vincent Lefèvre  <vincent@vinc17.net>

	Replaced misc random functions by GMP ones.

	Added function randlimb().

	Fixed a few bugs concerning special values, code simplified.

2003-06-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added error function

2003-06-11  Vincent Lefèvre  <vincent@vinc17.net>

	Make x positive + some minor changes.

	New version written by Torbjorn Granlund.

2003-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated formular for erf
	added url for Abramowitz & Stegun

2003-06-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added a comment concerning NO_MATH_DEFS.

2003-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	made test faster

	reduced test time

	reduced time of test

	reduced time

2003-06-09  Kevin Ryde  <user42@zip.com.au>

	Patch by Torbjorn: use puts not putchar, to avoid GNUPro compiler bug.

2003-06-08  Kevin Ryde  <user42@zip.com.au>

	Disable "8093416094703476*2^(-1075)" because mips64
	SGI cc doesn't seem to like the value (a denorm).

	Include <stddef.h> before <math.h>, to avoid problems with
	gcc 3.2 on hppa2.0w-hp-hpux11.11.

	(random): Remove prototype, since it conflicts with
	stdlib.h on osf4.

2003-05-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added prototypes of non-standard functions that weren't always defined.

	MPFR_EXP_CHECK is now defined when WANT_ASSERT is defined.

2003-05-26  Vincent Lefèvre  <vincent@vinc17.net>

	The special case s = 1 is taken into account (the previous code
	seemed to work, but perhaps not for rigorous reasons).

	Added test for case s = 1.

	(mpfr_round_prec): Bug fixed (case zero wasn't taken into account)
	and 'assertion failed' avoided.

	Update related to MPFR_GET_EXP and MPFR_SET_EXP.

	MPFR_GET_EXP (r) -> exp.

	Function mpfr_swap rewritten using memcpy.

	Updates/optimizations related to MPFR_GET_EXP and MPFR_SET_EXP.

	Updates/optimizations related to MPFR_GET_EXP and MPFR_SET_EXP.

2003-05-23  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up. Assertion failed avoided.

2003-05-22  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Macros MPFR_EXP_INVALID (invalid exponent value) and MPFR_EXP_CHECK
	added. Code update to use MPFR_GET_EXP and MPFR_SET_EXP instead of
	MPFR_EXP to allow more bug detection related to special values.
	Macros MPFR_SET_NAN, MPFR_SET_INF, MPFR_SET_ZERO and MPFR_INIT set
	the exponent of the number to MPFR_EXP_INVALID if MPFR_EXP_CHECK
	is defined. Compile with -DMPFR_EXP_CHECK and make check to see
	the potential problems; currently, 40 of 76 tests fail.

2003-05-21  Vincent Lefèvre  <vincent@vinc17.net>

	#include "gmp-impl.h" added.

	MPFR_ASSERTD: use MPFR_ASSERTN instead of ASSERT_ALWAYS so that
	it can be used as an expression.
	New macros MPFR_GET_EXP and MPFR_SET_EXP (they should almost
	completely replace MPFR_EXP).

2003-05-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test 'special'

	fixed bug when n_bits larger than size*BITS_PER_MP_LIMB

2003-05-18  Vincent Lefèvre  <vincent@vinc17.net>

	Bugs fixed (special cases).

2003-05-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed dummy test tdump

	compatibility with mpf is done

	updated mpfr_cmp_d
	added mpfr_cmp_d in mpf2mpfr.h and mpfr.texi

2003-05-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added cmp_d.c, tcmp_d.c.

	Added cmp_d/tcmp_d.

2003-04-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved test for NaN/Inf

	added Riemann Zeta function (contribution from Jean-Luc Re'my)

2003-04-08  Kevin Ryde  <user42@zip.com.au>

	Move macros down below @copying.

	Add @: after various abbreviations.

2003-04-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb with count_leading_zeros (n=0)

	added test for bug found by Franky Backeljauw

	fixed bug found by Franky

2003-03-28  Vincent Lefèvre  <vincent@vinc17.net>

	Added some asserts.

2003-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb found by Will Galway <galway@pims.math.ca> (continued)

2003-03-28  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patches from W. Galway.

2003-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed reference to Plouffe/Bailey/Borwein formula

2003-03-27  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Credits for the pi formula modified.

2003-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed back "unsigned char *" to "char *"

2003-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	char * -> const unsigned char * for mpfr_set_str, mpfr_set_str_raw,
	and mpfr_init_set_str

2003-03-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed unused variable

2003-03-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed documentation bug in mpfr_log2 (exact results)

	changed new test in 'check4' style

2003-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	Update concerning underflow problems.

2003-03-17  Kevin Ryde  <user42@zip.com.au>

	(main): Comment out underflows(), until it works.

	Comment out an assert tickled for an f with exponent
	near MPFR_EMIN_MIN.

2003-03-16  Kevin Ryde  <user42@zip.com.au>

	(LONGDOUBLE_NAN_ACTION): New version for IEEE quad big
	endian, fixing HP cc.
	(WANT_LONGDOUBLE_VOLATILE): New define for when LONGDOUBLE_VOLATILE is
	wanted.
	(WANT_GMPFR_LONGDOUBLE_VOLATILE): New define for when
	__gmpfr_longdouble_volatile is wanted.

	Use WANT_GMPFR_LONGDOUBLE_VOLATILE.

	(MPFR_C_LONG_DOUBLE_FORMAT): Add IEEE quad big endian,
	check long double exists before testing.

2003-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	Added underflow test showing a bug in mpfr_pow.

2003-03-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for x=1

2003-03-14  Vincent Lefèvre  <vincent@vinc17.net>

	This wasn't a compiler bug; mpfr_pow is really buggy.
	Added some asserts to show that.

	The infinite loop concerning 1^0.5 was probably due to a bug in the
	compiler [cc (GCC) 3.2.3 20030309 (Debian prerelease)]: adding some
	printf's changes the values of the variables and the correct result
	is returned.

2003-03-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed sign problem in particular_cases()

	declared mpfr_ui_pow_is_exact as static

	gnu-style

2003-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	Removed some useless and inaccurate tests on NaN, infinities, zeros
	(as the behavior of mpfr_pow on such particular cases has changed);
	similar tests were added to "tests/tpow.c".

	Test of mpfr_pow: particular cases. Bugs.

2003-03-12  Vincent Lefèvre  <vincent@vinc17.net>

	Special cases for mpfr_pow().

2003-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	when stream=NULL, use stdout (as indicated in the documentation)

2003-03-03  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_sin_sign -> static.

	Useless declaration removed.

	Special cases for mpfr_pow: like Section F.9.4.4 of the
	ISO C99 standard.

	Prototype fixed.

2003-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_set_str now accepts a binary exponent for base 16
	(as defined by the ISO C99 standard).

	Comment concerning the installation of MPFR: done.

	New recommendation to install MPFR.

2003-02-24  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Replaced NaN, Inf by @NaN@, @Inf@ [for bases > 24].

2003-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

2003-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed cast (though unnecessary).

2003-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

2003-02-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpf_compat, mpfr_compat

	test files for mpf-mpfr compatibility

	added mpfr_init_set_str

	added "const" to char* arg. of mpfr_init_set_str

	added macros for new mpfr functions
	changed some old macros

	mpfr_isinteger -> mpfr_integer_p

	document new functions (fits_*, get_ui, get_si, get_d_2exp)
	added integer_p that was not documented

	mpfr_isinteger -> mpfr_integer_p
	new functions: mpfr_fits_*, mpfr_get_ui, mpfr_get_si, mpfr_get_d_2exp

	added mpfr_get_d_2exp

	new functions mpfr_fits_* and mpfr_get_ui/si

	new functions mpfr_fits_* and mpfr_get_[us]i

2003-01-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check for +/-0.0 after variable set to NaN

2003-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	Suppressed the underscores of AC_CHECK_LIBM in comments, otherwise
	aclocal 1.4-p6 includes libtool code in aclocal.m4 and this leads
	to compilation problems.

2003-01-25  Kevin Ryde  <user42@zip.com.au>

	(_MPFR_H_HAVE_FILE): Copy FILE define tests from gmp.h, adds
	Borland, Microsoft and Apple MPW.

	(libmpfr_a_SOURCES): Add volatile.c.

	New file.

	(Isnan_ld): New function based on LONGDOUBLE_NAN_ACTION, use it
	instead of LONGDOUBLE_ISNAN.

	(LONGDOUBLE_ISNAN): Remove.

	(LONGDOUBLE_ISNAN): Remove this, use LONGDOUBLE_NAN_ACTION instead.

	(LONGDOUBLE_NAN_ACTION): New macro.

2003-01-24  Kevin Ryde  <user42@zip.com.au>

	Allow "e" exponent in base<=10 not <10.  Restrict "E"
	exponent to base<=10 too, since digits are not case sensitive.

2003-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Prototypes: use static. Some code reformatting.

	The sign wasn't set when the result was zero.

2003-01-24  Kevin Ryde  <user42@zip.com.au>

	Reject "", "+" and "-", also fixing an attempt to allocate a 0 length
	block in these cases.

	Clear NAN and INF flags when setting result to zero.

2003-01-24  Vincent Lefèvre  <vincent@vinc17.net>

	Fixed prototypes (use static...).

	Missing #include.

2003-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	workaround for gcc bug on m68040-unknown-netbsd1.4.1

	added cast to double

2003-01-23  Kevin Ryde  <user42@zip.com.au>

	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
	not "double" nans and infs.

2003-01-22  Kevin Ryde  <user42@zip.com.au>

	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
	not "double" nans and infs.

	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
	not "double" nans and infs.

	Use tests_start_mpfr / tests_end_mpfr.

	Use tests_start_mpfr / tests_end_mpfr.

	Use tests_start_mpfr / tests_end_mpfr.
	(check_large): Use __gmp_free_func to free mpfr_get_str result.

	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
	not "double" nans and infs.  Use tests_start_mpfr / tests_end_mpfr.

	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
	not "double" nans and infs.

	Remove tests involving "double" nans and infs, covered by check_nan.

	Use mpfr_set_nan and mpfr_set_inf for NaN and Inf tests,
	not "double" nans and infs.

2003-01-18  Kevin Ryde  <user42@zip.com.au>

	Move log_b2.h from include_HEADERS to libmpfr_a_SOURCES, it doesn't
	want to be installed.

	Correction to memory leak fix, need "result" for final rounding.

2003-01-17  Kevin Ryde  <user42@zip.com.au>

	Fix two memory leaks.

	(LDADD): Add $(MPFR_LIBM).

	Remove -lm setups, now handled by MPFR_CHECK_LIBM.

	(MPFR_CHECK_LIBM): New macro.
	(MPFR_CONFIGS): Use it.

2003-01-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added copyright notices and license statements

	now use __gmpfr_floor_log2 instead of floor/log to get rid of math.h

	removed unused function dagm(), and get rid of math.h
	added tests for NaN, Inf's

2003-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	Re-added $OBJEXT, using AC_REQUIRE([AC_OBJEXT]) for old autoconf.

2003-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	put back math.h

	added back math.h (for sqrt)

	added log_b2.h in include_HEADERS

	added tsin_cos

	added #ifdef HAVE_DENORMS for denormalized test

	removed math.h

	added year 2003 in copyright line
	removed math.h

	added 2003, removed math.h

	added 2003

	removed math.h

	added year 2003
	removed math.h

	patch for compiler bug on hppa2.0w-hp-hpux11.11

2003-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	Macro LONGDOUBLE_ISNAN wasn't defined.

2003-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now always define Isnan

	moved LONGDOUBLE_ISNAN to mpfr-test.h

	removed check from isnan

	replaced isnan() by Isnan()

2003-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	AC_PREREQ(2.50) added (useful when both autoconf 2.13 and autoconf
	2.50 are installed, with a wrapper to select the required version).

	Comment in mpfr_test_init: s/preprocessor/compiler/.

2003-01-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb in mpfr_test_init with the compiler optimizing too much
	(this happened on Alpha with -O1 or higher)

2003-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	Standard prototype only. Particular cases added.

2003-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved common prototype for mpn_exp in mpfr-impl.h

	removed spurious ; after MPFR_ESIZE
	added prototype for mpn_exp

	removed items done

	new tests from Alain Delplanque

	new version using mpn_set_str
	[written by Alain Delplanque, edited by Paul Zimmermann]

2003-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	Replace $OBJEXT by o (as $OBJEXT isn't defined everywhere).

	A ` must be quoted to avoid an error with Autoconf 2.13.

	Use type mp_prec_t for precisions.

	Source re-indented.

	Several bugs fixed concerning the particular cases.
	<stdio.h> and <stdlib.h> not included by default.
	int mpfr_gamma _PROTO ... removed (was useless).

2003-01-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	get rid of ceil() call, that requires -lm

2003-01-14  Kevin Ryde  <user42@zip.com.au>

	Force LDBL_MANT_DIG on IEEE extended, to avoid problems with
	some i386 gcc.

	Avoid problems with bad LDBL_MAX and LDBL_MANT_DIG on some i386 gcc.

	(MPFR_C_LONG_DOUBLE_FORMAT): New macro.
	(MPFR_CONFIGS): Use it.

2003-01-11  Vincent Lefèvre  <vincent@vinc17.net>

	Required casts added (and switch from uint to ulong);
	in particular, useful on Alpha.

2003-01-10  Kevin Ryde  <user42@zip.com.au>

	# Add a copyright year.

	Tolerate empty argv[1], which can arise from ancient bash executing
	the libtool shared library wrapper script.

	Tolerate empty argv[1], which can arise from ancient bash executing
	the libtool shared library wrapper script.

	Avoid unnecessary extra power of 2 squaring, so as not to provoke an
	overflow exception when result is in range.

2003-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	Extended precision detection fixed.

2003-01-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed possible overflow when EXP=1024

	rewritten to avoid overflows

	added one test

2003-01-08  Kevin Ryde  <user42@zip.com.au>

	# Add a copyright year.

	#Add a copyright year.

	(mpn_exp): Don't store -1 in a uint then return it as a long.
	Fixes systems such as alpha where sizeof(uint)!=sizeof(long).

	(AC_CHECK_HEADERS): Remove fpu_control.h, no longer required.

	Use tests_machine_prec_long_double.
	Use LDBL_MAX for largest value and to find largest power of 2.

	(__setfpucw, _FPU_EXTENDED, etc): Remove these setups.
	(tests_machine_prec_double, tests_machine_prec_long_double,
	x86_fstcw, x86_fldcw): Add prototypes.

	(tests_machine_prec_double, tests_machine_prec_long_double): New functions.
	(mpfr_test_init): Replace __setfpucw with tests_machine_prec_double.

	(MPFR_CONFIGS): Add tests/x86.asm support.

	(X86_PATTERN): New define, supporting acinclude.m4.

	Add x86.asm support.

	New file.

2003-01-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb for underflow and rounding to nearest

	added macro LONGDOUBLE_ISNAN
	use LONGDOUBLE_ISNAN in set_ld instead of cast to double and DOUBLE_ISNAN
	(did raise exception under freebsd)

2003-01-07  Vincent Lefèvre  <vincent@vinc17.net>

	Added assertions that can be resolved at compile time: the exponents
	must be representable in a long int (IMHO, this limitation should be
	avoided in a clean way).

2003-01-06  Kevin Ryde  <user42@zip.com.au>

	Remove mpfr_get_ld, done.

	Remove mpfr_set_machine_rnd_mode, done.

2003-01-06  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fix: __mpfr_emax -> __gmpfr_emax.

2003-01-06  Kevin Ryde  <user42@zip.com.au>

	Use separate function calls to second strncasecmp and strncmp
	for consistency and to avoid gcc warnings.

2003-01-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed infinite loop for 2^integer

2003-01-06  Vincent Lefèvre  <vincent@vinc17.net>

	Use digit_value_in_base for the part after the '.'.

	Static function digit_value_in_base is now compatible with any locale.

2003-01-03  Kevin Ryde  <user42@zip.com.au>

	(<sys/fpu.h>) [__mips]: Move from mpfr-test.h to tests/tests.c,
	and conditionalize with HAVE_SYS_FPU_H.

	(AC_CHECK_HEADERS): Add sys/fpu.h.

	(HAVE_DENORMS) [__mips]: Remove this, let the configure test decide.

	Use separate function calls to strncasecmp and strncmp, rather than
	?: on function pointers, since the latter demands declarations not
	present on SunOS.  Both forms are optimized the same by gcc.

2003-01-03  Vincent Lefèvre  <vincent@vinc17.net>

	Added some potential bugs (mpfr_exp2 is known to have such a bug).

2003-01-02  Kevin Ryde  <user42@zip.com.au>

	Add gmp-impl.h for __gmp_free_func.

2002-12-16  Vincent Lefèvre  <vincent@vinc17.net>

	Suppress some #define and fix symbol names (makes code cleaner):
	perl -pi -e 's/__mpfr_flags/__gmpfr_flags/g' **/*.{c,h}
	perl -pi -e 's/__mpfr_emin/__gmpfr_emin/g' **/*.{c,h}
	perl -pi -e 's/__mpfr_emax/__gmpfr_emax/g' **/*.{c,h}
	perl -pi -e 's/__mpfr_default_fp_bit_precision/__gmpfr_default_fp_bit_precision/g' **/*.{c,h}
	perl -pi -e 's/__gmp_default_rounding_mode/__gmpfr_default_rounding_mode/g' **/*.{c,h}
	perl -pi -e 's/__mpfr_const_log2_prec/__gmpfr_const_log2_prec/g' **/*.{c,h}
	perl -pi -e 's/__mpfr_const_pi_prec/__gmpfr_const_pi_prec/g' **/*.{c,h}
	perl -pi -e 's/_mpfr_ceil_log2/__gmpfr_ceil_log2/g' **/*.{c,h}
	perl -pi -e 's/_mpfr_floor_log2/__gmpfr_floor_log2/g' **/*.{c,h}
	perl -pi -e 's/_mpfr_ceil_exp2/__gmpfr_ceil_exp2/g' **/*.{c,h}
	perl -pi -e 's/_mpfr_isqrt/__gmpfr_isqrt/g' **/*.{c,h}
	perl -pi -e 's/_mpfr_cuberoot/__gmpfr_cuberoot/g' **/*.{c,h}
	perl -pi -e 's/^#define __gmpfr_.*\n//' *.h

2002-12-13  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	IEEE 754 / IEEE P754 -> IEEE 754-1985.

	Correction.

	Added a note about the signed zero.

	Assertion re-added.

	Update for new version of automake/autoconf.

	depcomp script added for new version of automake.

2002-12-12  Kevin Ryde  <user42@zip.com.au>

	Don't -D define PACKAGE_VERSION etc, to avoid conflict with gmp config.h.

2002-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added paragraph about accuracy

	rewritten unclear paragraph about precision

	added one item

	use MPN_NORMALIZE_NOT_ZERO instead of loop

2002-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	Added #include "mpfr.h" (needed by mpfr-test.h as it uses
	mp_rnd_t in one of the prototypes).

2002-12-10  Vincent Lefèvre  <vincent@vinc17.net>

	Patch by Torbjorn Granlund <tege@swox.com>: Don't use TMP_ allocation
	mechanism for fixed size objects. Resulting streamlining. Misc
	addressing changes to work around GNUPro bugs.
	Patch by VL: Some other changes in mpfr_set_d.

2002-12-07  Vincent Lefèvre  <vincent@vinc17.net>

	(mpfr_const_euler_S, mpfr_const_euler_R)
	Make declaration match prototype (patch by Torbjorn Granlund).

2002-12-04  Vincent Lefèvre  <vincent@vinc17.net>

	Update from ftp://ftp.gnu.org/pub/gnu/config/

2002-12-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	Use @ifnottex/@end iffnotex instead of @ifinfo/@end ifinfo

2002-12-02  Vincent Lefèvre  <vincent@vinc17.net>

	Fix rnd_mode.c (again).

2002-12-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	put redefinitions of external symbols just before prototypes

	updated

	added new known bugs

2002-11-29  Kevin Ryde  <user42@zip.com.au>

	Add notes on mpf_t maintaining actual size for efficiency.

	Remove mpfr_set_machine_rnd_mode task.

	Tweak some math formatting for tex.

	(mpfr_set_machine_rnd_mode): Move prototype to mpfr-test.h.

	(libfrtests_a_SOURCES): Add rnd_mode.c.

	(libmpfr_a_SOURCES): Remove rnd_mode.c.

	Remove file, moved to tests directory.

	New file, moved from top-level directory.

	(Rounding Modes): Remove mpfr_set_machine_rnd_mode.

	Use GNU style code layout.

	Use GNU style code layout.

2002-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	redefined external symbols in the __gmpfr namespace

2002-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one fprintf in case of error

2002-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_set_machine_rnd_mode fixed to compile on some architectures
	(e.g. ARM). Now returns an int.

	Bug fixed.

2002-11-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed all tests that compare to libm

	changed to distinguish mpfr failures from libm failures

	added 3 tests that make libm fail under HP-PA

2002-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2002-11-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	forgot to remove debug statement

	fixed bug (infinite loop) for exact powers

2002-11-21  Kevin Ryde  <user42@zip.com.au>

	More on tuned thresholds, more on config.h etc, new section on mpf/mpfr
	integration.

2002-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up.

2002-11-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed some problems found by insure

	forgotten fclose() call

	fixed array bound write

2002-11-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed non-ansi features

	added explicit cast

2002-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_cbrt

2002-10-20  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2002-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug with wrong sign detection

2002-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	Some fixes to avoid overflows.

2002-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for large arguments

	improved code for rounding to nearest

	fixed bug for EXP(x) > EMAX/2

	modified description of hypot and cbrt

2002-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Added test showing bug in sign detection.

	Added newline.

	Bug in mpfr_hypot.

	Added test that makes mpfr_hypot fail.

	Precision Nt: int -> mp_prec_t.

	Added some tests.

	main () -> main (void).

2002-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tcbrt.c, test file for mpfr_cbrt

	fixed overflow problem

	completely rewritten using mpz_root

	added cbrt

2002-10-17  Vincent Lefèvre  <vincent@vinc17.net>

	C9X -> ISO/IEC 9899:1999 (ISO C99).

	Cases NaN and -0.0 taken into account.

2002-10-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added check for +0 and -0

	added one test (2^1024)

	fixed bug when overflow for double type

	added mpfr_set_ld and mpfr_get_ld

2002-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	Fix for -0.0.

2002-10-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	constants for mpfr_get_str and mpfr_set_str

2002-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	Obsolete comment removed.

	Removed log_b2.h as it doesn't seem to be necessary.

2002-10-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added prototype for mpfr_get_ld

	added mpfr_get_ld and tests for set_ld/get_ld

	added cast to long double

2002-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	Update (tset_ld).

	Test removed as the minimal precision for a long double is something
	like 10 decimal digits. Anyway, there are implementations for which
	long double = double = IEEE double precision.

	DBL_MANT_DIG and LDBL_MANT_DIG are normally defined by <float.h>.

2002-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_set_ld and test file

2002-10-13  Vincent Lefèvre  <vincent@vinc17.net>

	Bug in mpfr_sin (and perhaps other functions): error analysis.

	Bug fixed (found by Dmitrii Baksheyev): atan(1) cannot be exact.

2002-10-08  Kevin Ryde  <user42@zip.com.au>

	Remove mpfr_get_str using mpn_get_str (done).
	Remove no grepping for __setfpucw, done (near enough).
	New thread-safety section, add const_pi and const_log2 caching.
	New portability section, add mingw random and _mpfr_ceil_log2 IEEE-ism.

	(AC_MY_LIBS): Show the filename in the error message.

2002-10-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_get_default_prec was missing (thanks to F. Morain)

2002-09-30  Vincent Lefèvre  <vincent@vinc17.net>

	Removed get_str.c bug, as the mpfr_get_str function has
	completely been rewritten.

2002-09-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed wrong inexact flag for a - b where a and b are of different signs
	and EXP(a) < EXP(b)

	added test for inexact flag (bug found by Andreas Enge)

2002-09-23  Kevin Ryde  <user42@zip.com.au>

	(mpfr_init, mpfr_init2, mpfr_set_prec): Make void return, these always
	succeed.

2002-09-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed various tiny problems

	added more tests for mpfr_urandomb, and for small precision

	fixed bugs in mpfr_random2 (wrong exponent, invalid numbers)

	added checks for mpfr_random2

	cmp_abs -> cmpabs (for compatibility with mpz)

2002-09-21  Kevin Ryde  <user42@zip.com.au>

	(Converting Floats): Don't refer to the internal _mp_free_func with
	mpfr_get_str.

	(Special Functions, Internals): Make these into nodes.

2002-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now accept uppercase letters too

	added test for uppercase letters

2002-09-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now mpfr_agm returns an int (inexact flag)

2002-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	Some more information.

2002-09-12  Vincent Lefèvre  <vincent@vinc17.net>

	On HP-UX, use the +allowunsats switch for ld, otherwise ld complains
	that some GMP symbols are unsatisfied.

2002-09-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in reflection formula for x<1

2002-08-23  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR now needs GMP 4.1 or higher.

2002-08-22  Kevin Ryde  <user42@zip.com.au>

	(__mpfr_nan): Clarify comments about HP C and alpha.

	(_MPFR_NAN_BYTES, _MPFR_INFP_BYTES, _MPFR_INFM_BYTES):
	Use HAVE_DOUBLE_IEEE_LITTLE_ENDIAN etc to select endianness, not a big
	block of #ifdefs.

2002-08-12  Vincent Lefèvre  <vincent@vinc17.net>

	strcasecmp.c -> strcasecmp.c & strncasecmp.c

2002-08-07  Kevin Ryde  <user42@zip.com.au>

	Use $(top_builddir) consistently with libmpfr.a, for the benefit of
	srcdir!=builddir.

2002-08-02  Vincent Lefèvre  <vincent@vinc17.net>

	Don't touch user specified flags (CFLAGS). [patch by Kevin Ryde]

2002-07-30  Vincent Lefèvre  <vincent@vinc17.net>

	Better check for strcasecmp and strncasecmp. Bug fixed.

2002-07-28  Vincent Lefèvre  <vincent@vinc17.net>

	Functions mpfr_greater_p, mpfr_greaterequal_p, mpfr_less_p,
	mpfr_lessequal_p, mpfr_lessgreater_p, mpfr_equal_p, mpfr_unordered_p.

	Use AUTOMAKE_OPTIONS = gnu [suggested by Kevin Ryde]

	check target -> TESTS = $(check_PROGRAMS) [suggested by Kevin Ryde]

	strcasecmp and strncasecmp -> mpfr_strcasecmp and mpfr_strncasecmp
	if they are provided by MPFR.

	TMP_MARK missing (patch by Kevin Ryde).

2002-07-26  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Update (mainly concerning CVS use).

	Prototype of mpfr_setmax and mpfr_setmin changed (exponent given).
	In mpfr_exp for x ~= 0, add_one_ulp and sub_one_ulp are no longer
	used (sub_one_ulp was incorrect). These cases should now be faster.
	Small fix in mpfr_nextabove, mpfr_nextbelow and mpfr_nexttoward.

	New internal functions mpfr_setmin and mpfr_setmax.
	New functions mpfr_nextabove, mpfr_nextbelow, mpfr_nexttoward.
	Small fix in mpfr_sub_one_ulp.

2002-07-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved the computation of g = ceil((e-1)/log_2(beta)), using two tables

2002-07-25  Vincent Lefèvre  <vincent@vinc17.net>

	Function mpfr_check_range now propagates the inexact ternary value.
	Function mpfr_restore_emin_emax OR's the saved flags with the current
	flags, as this is more useful in general.
	Macro MPFR_RESTORE_RET removed (no longer useful).

2002-07-24  Vincent Lefèvre  <vincent@vinc17.net>

	Change concerning an assertion, due to GMP limitation.

2002-07-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	gnu indentation

	reduce range of tests (did take too much time)

	added plenty of new cases, now covers all lines of get_str.c

	updated documentation of mpfr_get_str

	completely new version, written by Alain Delplanque and Paul Zimmermann.
	It now directly uses mpn_get_str, with subquadratic complexity.
	About 3 times faster than previous version in most cases.

2002-07-24  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed: unsigned int variables changed to int to avoid operations
	with mixed signed/unsigned variables and unwanted casts.

	Function mpfr_frac and tests added.

	Bug fixed (0 was forgotten).

	Optimization: mpfr_trunc no longer used!

	mpfr_isinteger extended to non-fp numbers and to zero.

	Simpler test.

2002-07-23  Vincent Lefèvre  <vincent@vinc17.net>

	Re-adding mul.c with fixed permissions.

	Temporarily removing mul.c in order to try to fix its permissions.

	Function mpfr_check_range improved in the underflow case.

2002-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

2002-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now dump in base 2

	forgot one free() call

2002-07-22  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_pow bug removed.

	Reindentation.

	pow.c: bug fixed (in the call to mpfr_can_round).
	tpow.c: mpfr_clear added.

	Modified the two tests to make the bug appear.

2002-07-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests

2002-07-19  Vincent Lefèvre  <vincent@vinc17.net>

	Updated note concerning rcs2log.

	Line mpfr_get_exp / mpfr_set_exp removed.

2002-07-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added function check_large

2002-07-15  Vincent Lefèvre  <vincent@vinc17.net>

	Update from ftp://ftp.gnu.org/pub/gnu/config/

2002-07-14  Vincent Lefèvre  <vincent@vinc17.net>

	Add __sparc__ (patch by Nix <nix@esperi.demon.co.uk>).

	Note about randomized tests.

2002-07-04  Vincent Lefèvre  <vincent@vinc17.net>

	Bug concerning the rounding of pow().

	mpfr_pow() didn't work when the exponent was a negative integer.

	mpfr_get_z_exp() didn't work when the MPFR number was negative.

	New functions mpfr_get_exp and mpfr_set_exp.

2002-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed duplicated entry (thread-safe)

	added new items

	added special cases

	added one reference (nocite)

	added one reference

	fixed bug in return value

	new additions

	added pointer to mpfr_inp_str in mpfr_set_str

2002-06-26  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	MP_LIMB_T_HIGHBIT -> MPFR_LIMB_HIGHBIT.
	MPFR is now compatible with GMP 4.1.

2002-06-15  Vincent Lefèvre  <vincent@vinc17.net>

	Added: make MPFR thread-safe.

2002-06-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug found by Gerardo Ballabio

	added one test (bug in mpfr-2.0.1 found by Gerardo Ballabio)

2002-06-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_modf

2002-06-12  Vincent Lefèvre  <vincent@vinc17.net>

	Added modf (to implement).

2002-06-08  Vincent Lefèvre  <vincent@vinc17.net>

	check: Apply a hack to the parameter order to make sparc gcc 2.95.2
	happy (patch by Kevin Ryde) + static added.

	Patch by Kevin Ryde.

	Suppress tests if sqrt is not affected by mpfr_set_machine_rnd_mode
	(patch by Kevin Ryde).

	Update.

	fdl.texi added.

	Patch by Kevin Ryde (and Vincent Lefevre).
	mpfr.texi: Change license to FDL, use @copying per texinfo 4.2.
	Use @dircategory, @direntry, @documentdescription.
	Move @contents to start of file.
	(VERSION, UPDATED): New variables.
	(m, GMPtimes, times): New macros.
	(Float Arithmetic): Fix html output.  Reported by Richard Dawe.
	(GNU Free Documentation License): New appendix.

2002-06-06  Vincent Lefèvre  <vincent@vinc17.net>

	Use gmp-impl.h to get MPFR_HAVE_FESETROUND (reported by Kevin Ryde).

2002-06-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	patch for mpfr.texi

	patch from Richard Dawe <richdawe@bigfoot.com> to generate HTML

	added mpfr_gamma in libmpfr

2002-06-05  Vincent Lefèvre  <vincent@vinc17.net>

	Check for isnan.

2002-05-29  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed (possible integer overflow).

	Bug fixed (possible integer overflow).

	Bug fixed (possible integer overflow).

	Note added for mpfr_check_range. Bug fixed.

	Sign wasn't set (reported by Dmitrii Baksheyev).
	Types fixed and code clean-up.

	Types fixed and code clean-up.

2002-05-27  Vincent Lefèvre  <vincent@vinc17.net>

	Patch by Kevin Ryde for memory leak checking + misc declaration fixes.
	Code moved from mpfr-test.h to tests.c.

2002-05-14  Vincent Lefèvre  <vincent@vinc17.net>

	Ternary flag for mpfr_agm.

	Copyright line updated.

2002-05-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	ternary flag for mpfr_agm?

	update wrt mpfr_set_machine_rnd_mode

	added mathematical description of arithmetico-geometric mean

2002-05-08  Vincent Lefèvre  <vincent@vinc17.net>

	The problem on a G4 PowerPC was a bug in gcc; this is now tested
	in configure (float-conversion bug) and -ffloat-store is used if
	need be.

2002-05-06  Vincent Lefèvre  <vincent@vinc17.net>

	Problem on the G4 PowerPC.

2002-04-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem (infinite loop) in mpfr_pow for exact powers

	fixed errors found by Sylvain Pion

2002-04-27  Vincent Lefèvre  <vincent@vinc17.net>

	not relevant -> undefined.

	Some changes concerning the internals and zeros
	(including remarks by Kevin Ryde).

2002-04-25  Vincent Lefèvre  <vincent@vinc17.net>

	Check if HUGE_VAL is supported.

	Changes in mpfr_set_str.

2002-04-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	update

	mpfr_set_str doesn't require any more a final '\0'
	             and return the number of characters read

	modified tests for special values

2002-04-24  Vincent Lefèvre  <vincent@vinc17.net>

	Description updated.

	mpfr_cmp_abs no longer an internal function and described in mpfr.texi.
	In mpfr.texi, a @var{} was forgotten.

	mpfr_cmp_abs can now be called on zero numbers.

	Structures are used to get correct alignment.

2002-04-23  Vincent Lefèvre  <vincent@vinc17.net>

	_MPFR_INF*_BYTES fix. On alpha, use a "double" for the bytes,
	to avoid a mis-conversion on alpha gcc 3.0.2. (Kevin Ryde)

	Underflow semantics changed (not tested).

	Code simplified due to change in the maximum exponent range.

2002-04-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	modifs from Andreas

2002-04-22  Vincent Lefèvre  <vincent@vinc17.net>

	Union -> array + cast because of the HP compiler.

2002-04-20  Vincent Lefèvre  <vincent@vinc17.net>

	Avoid constant floating expression, as this doesn't give the correct
	result with gcc on some Alpha machines. (patch by Paul Zimmermann)

2002-04-19  Vincent Lefèvre  <vincent@vinc17.net>

	RAND_MAX defined if not already defined (as it should be).

	Include config.h, for the benefit of test programs not using
	gmp-impl.h (Kevin Ryde).

2002-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests in mpfr_test_init for denorms and extended precision

	mpfr_init and mpfr_init2 now return an int

2002-04-19  Vincent Lefèvre  <vincent@vinc17.net>

	Exponent range saved/restored. Returns NaN when the numerator
	or the denominator is too large for MPFR.

	Added some assertions (any unsigned long must be representable
	in a mp_limb_t).

	SAFE_ABS changed so that it can be used for any unsigned type.

2002-04-18  Vincent Lefèvre  <vincent@vinc17.net>

	Added code to prevent possible integer overflow when the input number
	is very large.

	New values for exponent range.

2002-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	call get_d with rounding mode in check2, to avoid problems near +Inf

	2147483647 -> INT_MAX

	improved ulp() to deal with infinities
	and fixed tadd/check2 to deal with infinities

2002-04-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved documentation of mpfr_set_precset_prec.

2002-04-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed documentation of cosh/sinh/tanh

2002-04-16  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_cmp_ui_2exp and mpfr_cmp_si_2exp rewritten.
	Prototype changed.

	Use AC_CANONICAL_HOST and $host instead of $OS_TYPE and $MACHTYPE
	(patch suggested by Kevin Ryde).

	Added files from ftp.gnu.org for automake and AC_CANONICAL_HOST.

2002-04-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced 2.2e-307 by DBL_MIN

2002-04-15  Vincent Lefèvre  <vincent@vinc17.net>

	Typo: Gnu -> GNU.

	Update for future 2.0.2.

	Update for mpfr 2.0.1.

	Back to version 2.0.1, updated documentation.

	Post-release commit.

	Update for mpfr 2.0.1.

	mpfr_cmp_ui_2exp and mpfr_cmp_si_2exp can no longer be called with a NaN.
	Misc bugs fixed.

2002-04-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added main changes in version 2.0.1

2002-04-15  Vincent Lefèvre  <vincent@vinc17.net>

	Update for "make dist".

	COPYING -> COPYING.LIB and GPL re-added.

	Update.

	Removed switches -g -O2 as already done by configure.

2002-04-14  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Removed useless @iftex...

	Update.

	When q = 0, +0 is returned.

2002-04-13  Vincent Lefèvre  <vincent@vinc17.net>

	Update for the next pre-release.

	Support for NaN and Inf (case insensitive) in mpfr_set_str. Tests.

	Bug fixed.

	Update for the next pre-release.

	Misc changes. Use of AC_CACHE_CHECK.

2002-04-12  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up.

	Update for the next pre-release.

	New tests.

	mpfr_get_d* fixed.

	Types fixed in const_log2.c (this fixes the tconst_log2 crash).

	Added a note about the native SunOS 4 C compiler.

2002-04-11  Vincent Lefèvre  <vincent@vinc17.net>

	Type fixed.

	mpfr_set_d bug fixed, but other bugs still remain...

	NULL was undeclared on some architectures (reported by Torbjorn Granlund).

	#include ordering changed for Windows + Cygwin 32.

	LDFLAGS changed on HP-UX.

	Update for the next pre-release.

	Subnormal test in different rounding modes + fix.

	Function MPFR_CONFIGS.

	Tests added.

	get_d.c partly rewritten (Paul Zimmermann).

	#include ordering fixed.

	Check for gcc float-conversion bug.

2002-04-10  Vincent Lefèvre  <vincent@vinc17.net>

	Added comment for mpfr_round_raw_generic (about using 1-bit precision).

	Update (thanks to Nathalie Revol).

	Update for the next pre-release.

	HAVE_FESETROUND renamed to MPFR_HAVE_FESETROUND to avoid possible
	name conflict.

	Added missing headers in libmpfr_a_SOURCES.

2002-04-09  Vincent Lefèvre  <vincent@vinc17.net>

	Update for the next pre-release.

	Possible tconst_log2 crash under Solaris.

	Under OSF, use option -ffloat-store only when the compiler is gcc.

	include_HEADERS should contain only mpfr.h and mpf2mpfr.h.

	Added code to support fesetround under Solaris.

	"In case of problem" update.

	Old URL removed.

	Renaming: DIR -> GMPINSTALL, GMPDIR -> GMPBUILD. Bug on IRIX updated.

	Removed note about stack-alloc.h.

	Check for fenv.h -> check for fesetround.

	Added note concerning patch submission.

2002-04-08  Vincent Lefèvre  <vincent@vinc17.net>

	Note about overflows. Functions mpfr_{div,mul}_{si,ui} described.

2002-04-07  Vincent Lefèvre  <vincent@vinc17.net>

	Update for the next (and last?) pre-release.

	Stricter test for HAVE_INFS.

	Update.

	Added note about IRIX.

	Update for the next pre-release.

	mpfr_get_d -> mpfr_get_d1 and mpfr_get_d2 -> mpfr_get_d.

2002-04-06  Vincent Lefèvre  <vincent@vinc17.net>

	Update for the next pre-release.

	Update.

2002-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	New file from Paul.

	COPYING.LIB removed.

	COPYING.LIB -> COPYING.

	README.dev added.

2002-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	put back label removed by error

	removed _FPU_RC_NEAREST ... for x86 (not used any more, now use fenv.h)

	removed nested TMP_MARK's (problems when configuring gmp with --disable-alloca)

	fixed pb with two markers (with --disable-alloca)

2002-04-05  Vincent Lefèvre  <vincent@vinc17.net>

	Removed (not used).

2002-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use AC_CHECK_HEADERS to check for fenv.h
	and AC_CHECK_FUNCS to check for lrand48

2002-04-04  Vincent Lefèvre  <vincent@vinc17.net>

	Added "VERSION" and "prepare" descriptions.

2002-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bugs found by Nathalie

2002-04-04  Vincent Lefèvre  <vincent@vinc17.net>

	Update for the next pre-release.

	Removed check for extended precision, as no longer used.

2002-04-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added check for denormalized numbers

	added new functions to implement

2002-04-03  Vincent Lefèvre  <vincent@vinc17.net>

	Update for the next pre-release.

	-ffloat-store is a gcc option.

	Added 4th argument to AC_TRY_RUN.

	Re-fix.

2002-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added check for fpu_control.h

	added missing cast to double

2002-04-02  Vincent Lefèvre  <vincent@vinc17.net>

	[ ] used around error message.

	Update.

	Check BITS_PER_MP_LIMB and BYTES_PER_MP_LIMB.

	sqrtrem.c removed.

	New ChangeLog file (generated by rcs2log).

	Suppress PACKAGE and VERSION definitions for the compiler.

2002-04-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	old file

2002-03-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more "internal" changes suggested by Vincent

	added suggestions from Kevin in "internals"

2002-03-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for denorms

	on a 32-bit machine, denormalized numbers with high 32 bits to 0
	were flushed to zero

2002-03-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	sign of sin(-1) was not set

	added check for asin(-1)

	added one test

	previous fix was completely wrong

	fixed pb in cmp_si when i = -2^31 (then beware that -1 * i < 0 !!!)

	added check for underflow

2002-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	- use mpfr_test_init to initialize hardware floats
	- use #ifdef HAVE_INFS when using DBL_NAN, ...
	- fixed some problems with wrongly converted f-p values (esp. under IRIX)

	use AC_TRY_CPP instead of AC_TRY_RUN for fenv.h
	(otherwise fails on Itanium)

	added function mpfr_test_init to initialize full IEEE behaviour

	put back simple algorithm that computes x*y exactly and then
	directly calls mpfr_add, to avoid wrong inexact flags

	added 2002 in copyright line

	fixed problem on x86 (set precision to double to avoid double rounding)

	added check for valid 1/0, denormalized, and extended precision

2002-03-26  Vincent Lefèvre  <vincent@vinc17.net>

	New-style comment removed.

2002-03-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added a description of the mpfr_t type in "Internals"

2002-03-26  Vincent Lefèvre  <vincent@vinc17.net>

	#include <unistd.h> removed. Redefined macros ABS removed.

	Patch by Kevin Ryde + misc fixes.

2002-03-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced getpid() by time(NULL)

	MPFR_SIZE and sign were incorrectly set [thanks Kevin]

	added check_nan (from Kevin)

	fixed bug for sqrt(-0) found by Kevin [NaN flag not cleared]

2002-03-22  Vincent Lefèvre  <vincent@vinc17.net>

	Error message now copes with extended precision.

2002-03-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test in configure for checking rand48 functions (HAVE_RAND48)
	and fenv.h (HAVE_FENV)
	added mpfr_set_machine_rnd_mode (if fenv.h exists)
	replaced TEST by HAVE_FENV

2002-03-22  Vincent Lefèvre  <vincent@vinc17.net>

	Missing #include.

	MPFR_RETNAN shouldn't be used as no value is returned.

	Regarde 0 as positive rather than negative (though it's better not to use it).

	Memory leak (patch by Kevin Ryde).

2002-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced rand/lrand48, drand48, srand/srand48 by macros
	         LONG_RAND, DBL_RAND, SEED_RAND
	and time(NULL) by getpid()

	added macros LONG_RAND, DBL_RAND, SEED_RAND

	added VERSION and mpfr-math.h for "make dist"

2002-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new functions

	now use macros DBL_NAN, DBL_POS_INF, DBL_NEG_INF,
	and functions mpfr_set_nan, mpfr_set_inf

	defined macros for 0/0, 1/0, -1/0

	added new functions mpfr_set_nan and mpfr_set_inf

2002-03-19  Vincent Lefèvre  <vincent@vinc17.net>

	File VERSION added. Contains the next version (currently 2.0.1).
	configure.in updated accordingly.

	Macros MPFR_DBL_NAN, MPFR_DBL_INFP and MPFR_DBL_INFM.

2002-03-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	MP_LIMB_T_HIGHBIT -> ULONG_HIGHBIT

	moved code under #ifdef

	moved code under #ifdef TEST

	remove variable sizer (not used)

	Library GPL -> Lesser GPL

	updated

2002-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	Some changes in the types.

2002-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed Nt variable to signed

2002-03-17  Vincent Lefèvre  <vincent@vinc17.net>

	Bugs fixed.

2002-03-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added back mpfr_sin_cos

	new version (adapted from sin.c)

	added tests for tan(3*Pi/4) and tan(7*Pi/4)

	fixed bug for tan(3*Pi/4) [wrong sign]

	added test for log(10^n)

	fixed infinite loop problem for log(10^n)

2002-03-13  Vincent Lefèvre  <vincent@vinc17.net>

	Fix (patch by Kevin Ryde).

	Do not read the exponent if it has no meaning.

2002-03-12  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_random update (patch by Kevin Ryde).

	2 more known bugs.

	mpfr_a{cos,sin,tan} documentation at a better place.

	Some mpfr_clear added (patch by Kevin Ryde).

2002-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_get_d3 partially rewritten (to follow the new specifications).
	tget_d.c updated because of changes in get_d.c.

	Return a null pointer if rnd_mode is an invalid rounding mode.

2002-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	set sign before calling mpfr_check_range

	stupid typo in previous commit

	removed expx (not used)

	fixed typo (ai [potentially unsigned] replaced by i)

2002-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	New mpfr_get_d, mpfr_get_d2, mpfr_get_d3.

2002-03-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added return

2002-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	set_d.c split into get_d.c and set_d.c

2002-03-11  David Daney  <david.daney@inria.fr>

	add cbrt in fonctionnality

2002-03-11  Vincent Lefèvre  <vincent@vinc17.net>

	Bug removed.

	#include changes.

2002-03-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed problem when te=ti=1 (i.e. t=0) found by Kevin Ryde

	simplified test4()

2002-03-06  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Update.

	Patch by Kevin Ryde concerning nodes/menus.

2002-03-05  Vincent Lefèvre  <vincent@vinc17.net>

	Casts fixed.

2002-03-04  Vincent Lefèvre  <vincent@vinc17.net>

	File renaming.

	Copyright line changed.

2002-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	updated

	changed name of mpz_set_fr to mpfr_get_z_exp

2002-02-28  Vincent Lefèvre  <vincent@vinc17.net>

	Removed some <math.h> dependencies.

	Fixed.

	mpfr_get_d rewritten (still needs to be fixed when the result is a subnormal).

2002-02-27  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_get_d2 tested.

	Update.

	New tests.

	Additional flags for gcc + minor changes.

	Minor update.

2002-02-25  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_get_d2 prototype changed (mp_exp_t instead of long).
	__mpfr_scale2 fixes: checks for integer overflows, signed zeros, exact
	rounding for subnormals in the rounding to the nearest mode (problems
	due to multiple roundings avoided).
	mpfr_get_d2: signed zeros taken into account. This function still needs
	to be rewritten (because of multiple roundings).

2002-02-21  Vincent Lefèvre  <vincent@vinc17.net>

	_mpfr_ceil_log2, _mpfr_floor_log2, _mpfr_ceil_exp2 in separate files.

2002-02-19  Vincent Lefèvre  <vincent@vinc17.net>

	Fixes, code clean-up and some asserts against integer overflows.
	Code need to be checked.

2002-02-14  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_{div,mul}_2exp -> mpfr_{div,mul}_2ui.

	Partial code clean-up and some asserts against integer overflows (2).

2002-02-13  Vincent Lefèvre  <vincent@vinc17.net>

	Partial code clean-up and some asserts against integer overflows.

	MP_EXP_T_MAX and MP_EXP_T_MIN defined.

	Macros IS_POW2 and NOT_POW2.

2002-02-12  Vincent Lefèvre  <vincent@vinc17.net>

	Use mpfr_save_emin_emax and MPFR_RESTORE_RET.

	Update due to changes in mpfr_get_str.

	mpfr_get_str: the returned exponent for 0 is 0 (like in frexp()).
	mpz_set_fr.c: comment added.
	out_str.c: minor changes.

	Update.

	Bug fixed and other changes.

	NULL -> null pointer and other small changes.

	mpfr_get_str: null pointer returned in case of error, NaN taken into account.

2002-02-11  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_set_str partially rewritten to cope with integer overflows.
	The rounding code hasn't been fixed yet.

2002-02-08  Vincent Lefèvre  <vincent@vinc17.net>

	Typo.

	mpfr_set_str: base must be between 2 and 36.

2002-02-06  David Daney  <david.daney@inria.fr>

	change the return values

	Change the test return values

2002-02-06  Vincent Lefèvre  <vincent@vinc17.net>

	Some optimizations.

2002-02-04  Vincent Lefèvre  <vincent@vinc17.net>

	Misc bug fixes and code clean-up.

	Misc bug fixes and code clean-up.

2002-02-03  Vincent Lefèvre  <vincent@vinc17.net>

	For the value 0, return __mpfr_emin instead of 0.

2002-02-01  Vincent Lefèvre  <vincent@vinc17.net>

	Misc bug fixes and code clean-up.

2002-02-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch.

2002-01-30  Vincent Lefèvre  <vincent@vinc17.net>

	Bux fixed.

	mpfr_set_z rewritten.

	Update concerning mpfr_round_prec, mpfr_rint, mpfr_ceil, mpfr_floor,
	mpfr_round and mpfr_trunc.

	Tests added (mpfr_trunc, mpfr_floor, mpfr_ceil, mpfr_round).

	mpfr_rint, mpfr_trunc, mpfr_floor, mpfr_ceil, mpfr_round rewritten.

2002-01-25  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_round -> mpfr_round_prec.

	Code reformatted.

2002-01-23  Vincent Lefèvre  <vincent@vinc17.net>

	MAX, MIN, ABS macros undefined before being redefined.
	Fix in ABS macro.

2002-01-22  Vincent Lefèvre  <vincent@vinc17.net>

	Example with high bit set.

	Fix (Kevin Ryde).

	MPFR_PREC_MAX redefined.
	MPFR_INTPREC_MAX defined (internal maximum precision).
	Some integer overflow detection.

2002-01-21  Vincent Lefèvre  <vincent@vinc17.net>

	Set sign of sqrt(0).
	Support for exponent range.

	can_round type changed: char -> int.
	Case sqrt(0) improved.

	Bug fixes:
	  * return 1 -> MPFR_RET_NAN
	  * a MPFR_CLEAR_INF was missing.

2002-01-20  Vincent Lefèvre  <vincent@vinc17.net>

	New macro MPFR_RESTORE_RET.

2002-01-18  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up (goto suppressed).

	Cases 0 * 0 + 0.

	Nt: int -> mp_prec_t

	<> changed back to "".

2002-01-18  David Daney  <david.daney@inria.fr>

	change "" -> <> in headers

	Change indentation + replace "" -> <> in header

2002-01-17  Vincent Lefèvre  <vincent@vinc17.net>

	Particular cases rewritten.

	Test "__hpux", not "hpux".  Mask off mrand48 return value to 31 bits
	to work around sloppy mpfr #include practices. (Torbjorn Granlund)

	#include fixes (Torbjorn Granlund).

2002-01-16  Vincent Lefèvre  <vincent@vinc17.net>

	Comments were incorrect.

2002-01-15  Vincent Lefèvre  <vincent@vinc17.net>

	Note concerning mpfr_trunc, mpfr_floor and mpfr_ceil.

2002-01-14  Vincent Lefèvre  <vincent@vinc17.net>

	Special cases.

2002-01-12  Vincent Lefèvre  <vincent@vinc17.net>

	Patches by Kevin Ryde for K&R compilers
	and other fixes in prototypes.

2002-01-10  Vincent Lefèvre  <vincent@vinc17.net>

	Test check_min added.

	Test check_max added.

	Spelling: "canceled"

2002-01-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	GMP_PROTO change was already done by Vincent

	prepare change PROTO -> GMP_PROTO

2002-01-04  Vincent Lefèvre  <vincent@vinc17.net>

	The precision can no longer be 1.

	__GMP_PROTO defined if not already defined.

	Optimization: mpfr_cmp2 now accepts any combination of real arguments
	and computes the sign of |b| - |c| (in addition to the number of
	cancelled bits); mpfr_add, mpfr_sub, mpfr_sub1, mpfr_agm and some
	tests updated to take this change into account.

2001-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added check for sin(3*Pi/2)

	fixed bug for sin(3*Pi/2)

2001-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	Global NaN flag set when result is NaN.

2001-12-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	forgot to clear nan flag for Inf

	changed description of mpfr_cmp to correspond to the implementation:
	NaNs are not allowed

	fixed mpfr_cmp2 : there was a bug noticed by Nicolas Magaud and Didier
	Bondyfalat for inputs:
	100 011 111
	100 010 110
	where it gave 8 instead of 5.

2001-12-19  Vincent Lefèvre  <vincent@vinc17.net>

	Better comments.

2001-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added "PI and the AGM"

2001-12-06  Vincent Lefèvre  <vincent@vinc17.net>

	Files renamed (log in base 2 and 10).

	Files renamed (constants).

	File aclocal.m4 removed, as generated by aclocal (called by prepare).

	Files log_base_*.c renamed.

	Functions (constants) renamed.

	Files configure, Makefile.in, tests/Makefile.in removed.
	Use the `prepare' script to generate them.

	Removed 2 bugs.

	Initial release.

2001-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added arc-tangent (from Mathieu)

	added paragraph on asin and acos from Mathieu Dutour

	added tacos

	in check5, test NaNs before calling mpfr_cmp

	added acos

	added acos.c

	added acos (from Mathieu Dutour)

	use now new sqrtrem from gmp-4.0

	improved test (avoid mpfr_get_d)

	removed isnan prototype

	added stdlib.h for exit

2001-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	test NaN before Inf
	changed precision to 2 for test

2001-11-30  Vincent Lefèvre  <vincent@vinc17.net>

	Cast added.

2001-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added a new test (worst case)

	nouvelle version de Mathieu Dutour,
	corrigeant certains bugs avec les pires cas de Vincent

2001-11-30  Vincent Lefèvre  <vincent@vinc17.net>

	#include order changed.

	Misc fixes.

	Unused variables.

2001-11-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	start tests with precision 2 instead of 1

	start from precision 2

	big rewrite to fix problems when the estimate base exponent is too small

	fixed detection of exact cases (in particular 0)

	now use MPFR_PREC_MIN

	exptol is now of type mp_exp_t

	rewritten part with Taylor series

	changed MPFR_PREC_MIN to 2

	updated wrt MPFR_PREC_MIN/MPFR_PREC_MAX

	case x=0 was forgotten

	now use MPFR_PREC_MIN

	added comment

2001-11-30  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_set_z rewritten to support overflows/underflows and ternary value.

	0 -> set to +0.

	Better sign comparison.

2001-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	Use MPFR_SET_POS.

	Bug fixed concerning integer overflows.

2001-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added comment

	fixed bug for small precision, where r can be >= 1

2001-11-29  Vincent Lefèvre  <vincent@vinc17.net>

	Functions mpfr_{mul,div}_2{si,ui} added.
	Functions mpfr_{mul,div}_2exp still exist for backward compatibility;
	they are obsolete and should not be used any longer.

2001-11-28  Vincent Lefèvre  <vincent@vinc17.net>

	Particular cases (NaN and signed zeros).

	Init variables to NaN instead of 0.

	Possible integer overflow fixed.

	Particular cases fixed.

2001-11-25  Vincent Lefèvre  <vincent@vinc17.net>

	Overflow support.

	K&R -> ISO C prototype.

	mpfr_div_2exp rewritten.

	mpfr_mul_2exp rewritten.

	Overflow support.

	Casts to size_t added (safer and could be required in the future).

2001-11-23  Vincent Lefèvre  <vincent@vinc17.net>

	Minor change.

	mpfr_mul partially rewritten:
	  * Integer overflows almost completely avoided.
	  * Now supports signed zeros and overflows.
	Not tested yet.

2001-11-22  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_can_round_raw: integer overflows checked and code duplication avoided.

	More bugs.

	mpfr_can_round and mpfr_can_round_raw: prototypes changed.

2001-11-21  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed.

	mpfr_add_one_ulp and mpfr_sub_one_ulp changed.

	Added MPFR_PREC_MIN and MPFR_PREC_MAX.

	Error test -> assert.
	mp_prec_t -> mp_size_t.

2001-11-20  Vincent Lefèvre  <vincent@vinc17.net>

	Test added.

	mpfr_round rewritten.
	mpfr_round_raw_generic: NULL changed to 0 as not necessarily defined.

	Added macro MPFR_SET_ABSSIZE.

	mpfr_round: Check for overflow.

2001-11-17  Vincent Lefèvre  <vincent@vinc17.net>

	Some type changes.

2001-11-16  Vincent Lefèvre  <vincent@vinc17.net>

	Integer overflows checked.

	MPFR_ASSERTN instead of fprintf + exit.

	GMP assert mechanism: macros changed until GMP is fixed.

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	version -> 2002
	removed executable flag

	mpfr_print_raw -> mpfr_print_binary

	split from init.c

2001-11-16  David Daney  <david.daney@inria.fr>

	remove math.h

	remve math.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

2001-11-16  David Daney  <david.daney@inria.fr>

	remove math.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	init -> init + init2.

2001-11-16  David Daney  <david.daney@inria.fr>

	remove math.h

2001-11-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Ajoute retours chariots dans div.c, etc.

	if () remplace par if ( ==0) ou if ( != 0)

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed K&R function headers

2001-11-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Beuh ?

	return -> MPFR_RET, patch d'un leak dans inp_str.c

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed to use GMP assert mechanism

2001-11-16  David Daney  <david.daney@inria.fr>

	remove stdio.h math.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	assert -> MPFR_ASSERT

2001-11-16  David Daney  <david.daney@inria.fr>

	remove stdio math .h

	remove stdio.h math.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	ASSERT_ALWAYS -> MPFR_ASSERTN

	added COPYING.LIB

	replaced by GPL

2001-11-16  David Daney  <david.daney@inria.fr>

	remove limits.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed Library GPL to Lesser GPL

	GNU Lesser General Public License, version 2.1

2001-11-16  David Daney  <david.daney@inria.fr>

	remove limits.h math.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now treats all *.h

2001-11-16  David Daney  <david.daney@inria.fr>

	remove the proto, remove math.h

2001-11-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed DEBUG's

	removed old patch for GMP 2.xx

	GNU MP -> MPFR

	added year 2001 in copyright line

	added year 2001 in copyright line

	added year 2001 in copyright line
	removed #if __STDC__

	now two separate files cos.c and sin.c

	added year 2001 in copyright line

	updated

	old version, removed

	added isinf and isnum (split from isnan)

	new files (split from isnan.c)

	removed prototype already in mpfr.h

	translated french comments to english

	added mpfr_sub

	added static to local functions

	1 -> MP_LIMB_T_ONE

	1 -> BITS_PER_MP_LIMB

	added static to local functions
	removed prototype already in mpfr.h

	removed mpfr_exp2_si (not used)

	added static to local functions
	translated french comments to english

	translated french comments to english
	removed prototype already in mpfr.h

	initialized inexact to 0

	used TMP_ALLOC
	translated french comments to english

	simplified test

	moved inf_p and number_p to different files

	added static to local functions
	explained threshold

	removed prototypes already in mpfr.h

	does not include stdio.h any more

	added stdio.h

	1 -> BITS_PER_MP_LIMB
	1 << (BITS_PER_MP_LIMB - 1) -> MP_LIMB_T_HIGHBIT

	removed french comment

	added static to local functions

	removed prototype already in mpfr.h

	1 -> BITS_PER_MP_LIMB
	translated french comments to english
	added static to local functions

	1 -> BITS_PER_MP_LIMB

	1 -> BITS_PER_MP_LIMB
	translated french comments to english

	1 -> BITS_PER_MP_LIMB
	added static to local functions

	removed proto already in mpfr.h

	1 -> MP_LIMB_T_ONE

	added stdio.h

2001-11-15  Vincent Lefèvre  <vincent@vinc17.net>

	add.c -> add.c & add1.c
	sub.c -> sub.c & sub1.c + some changes.

2001-11-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	iff the results are exact -> iff the result is exact

2001-11-10  Vincent Lefèvre  <vincent@vinc17.net>

	GNU coding style. K&R function headers removed.

	MP_LIMB_T_ONE defined.
	mp_size_unsigned_t defined.
	Important bugs fixed (in particular when int has fewer than 32 bits).
	Still unavoidable possible bugs due to the fact that mp_size_t is signed.

2001-11-09  David Daney  <david.daney@inria.fr>

	add tests file for gamma

	add gamma function an other version

	add gamma function

2001-11-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mis a` jour valeur de retour de mpfr_tan

2001-11-09  Vincent Lefèvre  <vincent@vinc17.net>

	Some -'s missing in floating-point.

2001-11-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	modifs suite aux remarques de Nathalie

2001-11-08  David Daney  <david.daney@inria.fr>

	remove some name of variables

2001-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	cmp2.c: Integer overflows checked.

	Update.

	Fix.

2001-11-08  David Daney  <david.daney@inria.fr>

	suppress variable name in dim min max

	export isinteger in the file isinteger.c

	exporte pow_si from pow2.c to pow_si.c

	rename pow2.c in pow.c (source for mpfr_pow)

	add ui_pow_ui.c (initially in pow.c)

	add pow_ui.c file (initially in pow.c)

2001-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_cmp2: return type changed to mp_prec_t.

2001-11-08  David Daney  <david.daney@inria.fr>

	add function test4 for 3 input test + fma tests

2001-11-08  Vincent Lefèvre  <vincent@vinc17.net>

	Macros added.

	MP_LIMB_T_MAX instead of (mp_limb_t) -1 (a little nicer...).

2001-11-06  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up.

2001-11-05  Vincent Lefèvre  <vincent@vinc17.net>

	Prototypes for K&R C.

	mpfr_round_raw_generic prototype fixed.

2001-11-01  David Daney  <david.daney@inria.fr>

	clear xp for Nan Inf or 0 are returned

	clear variable if an error is return

	clear x for Nan inf 0 return

	clear x for Nan Inf 0 return

	clear te

2001-11-01  Vincent Lefèvre  <vincent@vinc17.net>

	Added prototype.

	Bug fixed.

2001-11-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed MLK's

	fixed MLK's in mpfr_isinteger

	fixed MLK's

	fixed missing mpfr_clear's

	added missing mpfr_clear

	added clear's in bug_ddefour

	added mpfr_clear's

	fixed MLK's

2001-10-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed MLK for Inf or Nan

	fixed MLK in check_case_2

2001-10-31  David Daney  <david.daney@inria.fr>

	rename factorial -> fac_ui

2001-10-30  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>

	Change mpfr_<op>_mpz to mpfr_<op>_z
	Change mpfr_<op>_mpq to mpfr_<op>_q
	where <op> is mul,div,add,sub

2001-10-30  David Daney  <david.daney@inria.fr>

	correct factorial -> fac_ui in comments

	rename tfactorial -> fac_ui

	rename factorial -> fac_ui

2001-10-27  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed.

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	drand -> drand48

	put MAX_PREC back to 100

	added test for inexact flag

	use MPFR_RET_NAN and MPFR_RET

	removed MPFR_DEBUG_LEVEL definition

	mpfr_set_q and mpfr_abs now return an int
	mpfr_pow_ui and mpfr_ui_pow_ui now implement exact rounding
	updated the documentation of the mpfr_*pow* functions
	removed some internal functions

	implemented exact rounding (but no ternary flag)

2001-10-26  David Daney  <david.daney@inria.fr>

	add some flags

	mixed version between DD and Pau => (gestion des flag inexacte dirige)

	rien

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	MAX_PREC included

	implemented inexact flag

2001-10-26  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Clearing high part of rem2.

2001-10-26  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>

	adds gmp_op.c

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_set_q now returns an int

	added test for inexact flag

2001-10-26  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>

	Adds the file gmp_op.c containing the implementations of operations between
	mpfr and mpz/mpq data

2001-10-26  David Daney  <david.daney@inria.fr>

	err <0 => is now tester

2001-10-26  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch for bits shifted out when the high word of the quotient is nonzero.
	Induced error on inexact flag (and hence on rounding in some cases).

2001-10-26  David Daney  <david.daney@inria.fr>

	add copysign.c

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

2001-10-26  David Daney  <david.daney@inria.fr>

	simplify dim

	add exact flag

	err => long int

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

	cosmetic changes

	can_round return 0 for b=0

2001-10-26  David Daney  <david.daney@inria.fr>

	add thypot

	add coopysign

	add copysign

	correct mp_prec_t err => long int

	correst mp_prec_t err => long int

2001-10-26  Fabrice Rouillier  <Fabrice.Rouillier@inria.fr>

	Add multiplication/division/addition/subtraction by mpz and mpq

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests
	fixed bug in generic tests (one more bit is needed to get an exact result)

	fixed pb with exact results not detected (ck was < 0)

2001-10-26  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Rien.

	Patch for the computation of the u_lo + r part of the remainder when u_lo = 0.

2001-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for inexact flag

	fixed pbs with inexact flag

	now mpfr_div and mpfr_ui_div return an int

	implemented ternary flag in mpfr_ui_div

	removed unnecessary CLEAR_FLAGS
	used MPFR_RET_NAN

	reduced number of tests

	removed unnecessary CLEAR_FLAGS

	improved mpfr_compare
	fixed wrong function name for mpfr_log2

	rewritten to implement ternary inexact flag

	fixed generic test (pb with double rounding)

	increased MAX_PREC

2001-10-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Changed the type of err from mp_prec_t (unsigned) to int.

	Added tests for inexact flag.

	Patch for even rounding.

2001-10-25  David Daney  <david.daney@inria.fr>

	rien

	rien

2001-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	Warning avoided.

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tfma

	slong -> t

	nouvelew version (without loop)

2001-10-25  David Daney  <david.daney@inria.fr>

	rien

	rien

	change

2001-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed.

2001-10-25  David Daney  <david.daney@inria.fr>

	correct bugs with reuse

	test for log2 log10 pow

2001-10-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	La division nouvelle est arrivee.

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	ajoute' nouveau test

2001-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed.

2001-10-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	round_raw, round_raw2 -> round_raw_generic. Macros to simulate previous
	behaviour. Even rounding returns +- MPFR_EVEN_INEX.

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb with mpfr_log10(a, a) with a=-Inf

	added two tests

	added one test

2001-10-25  David Daney  <david.daney@inria.fr>

	add log2 and log10

	correction for reuse

	coorection for reuse

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	test file for testing exceptions

2001-10-25  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_add1 completely rewritten. Overflows are checked.
	The ternary value should now be supported (but it hasn't been tested yet).

2001-10-25  David Daney  <david.daney@inria.fr>

	new version

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

	add possibility to define a random function (default is mpfr_random)
	to get random variables in specific ranges

	now use tgeneric.c

	added texceptions

	documented exception mechanism (with Vincent Lefe`vre)

	changed stupid test (was computing only 200!)

	implemented inexact flag

	1999 -> 2001

	check overflow

	added two tests

	implemented overflow/underflow

2001-10-25  David Daney  <david.daney@inria.fr>

	correct atanh(INF)=INF exact

	correct test inf for atanh

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added warning for mpfr_set_d

2001-10-25  David Daney  <david.daney@inria.fr>

	correct bug in tests file (test of atanh for + or - Inf)

2001-10-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tadd_ui (forgotten?)

	added special test

	fixed bug in rounding part when rounding towards 0 (infinite loop due to bn<an)

	added one special test

2001-10-24  David Daney  <david.daney@inria.fr>

	correct the Nan case

	add the function mpfr_dim

	add function mpfr_min and mpfr_max

	correct these tesats files

	correct some bugs

2001-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added EXTRA_DIST= tgeneric.c

2001-10-24  David Daney  <david.daney@inria.fr>

	remove tfma

	add tfma

	acosh revue et corrige...+beau

2001-10-23  David Daney  <david.daney@inria.fr>

	add mpfr_log10

	add log_base_10

	add tlog_base_10

	add test file for log_base_10 function

	correct a bug in mpfr_log10 section

	add help of log10 + fma

	correct particular cases

	improve the clear flags

	correction dans l'entete

2001-10-21  Vincent Lefèvre  <vincent@vinc17.net>

	Some changes to avoid warnings.

	Bug fixed (char -> int).

2001-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	Update.

	Bugs fixed concerning the "inexact" ternary value.

2001-10-19  David Daney  <david.daney@inria.fr>

	suppress thypot tgeneric

	suppress sample

2001-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	void -> int as return value for mpfr_add_ui

	added ternary flag

	void -> int for mpfr_add and mpfr_add_ui

2001-10-19  David Daney  <david.daney@inria.fr>

	add test for hypot

	add some test

	add some functions

	add some proto

	add test file for pow

	add the help for pow and pow_si

	add the function pow and pow_si

2001-10-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests for 0-c and c-0 with prec(c) > prec(a)

2001-10-19  Vincent Lefèvre  <vincent@vinc17.net>

	Removed #include <stdio.h>, "return 0;" replaced by "MPFR_RET(0);".

	mpfr_add1 and mpfr_sub1 prototypes moved to mpfr-impl.h (to detect clashes).
	Bug fix concerning the inexact ternary value in mpfr_sub.
	mpfr_add now returns an int (inexact ternary value unsupported if true add).

	Update.

	Underflow/overflow check.

	Documentation updated.

	Comment added.

	MPFR_RET(0) replaced by MPFR_RET_NAN.

	Macro MPFR_RET_NAN.

2001-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	Code clean-up in mpfr_round_raw (well... IMHO).

2001-10-18  David Daney  <david.daney@inria.fr>

	take in account of CHAR_BIT in ui_pow

2001-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	cast to mp_limb_t was missing

2001-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	BITS_PER_CHAR replaced by the standard CHAR_BIT.

2001-10-18  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	*** empty log message ***

2001-10-18  David Daney  <david.daney@inria.fr>

	add test of ui_pow

	add the help of ui_pow

	add the function pow(unsign long int, mpfr_t)

2001-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	Improved configure.in.
	configure generated by Autoconf 2.52.

2001-10-18  David Daney  <david.daney@inria.fr>

	ajout du flag inexact

2001-10-18  Vincent Lefèvre  <vincent@vinc17.net>

	fixed and improved check for gmp.h/gmp-impl.h/config.h/gmp-mparam.h/longlong.h
	and corresponding error message

2001-10-18  David Daney  <david.daney@inria.fr>

	add the help on log2

	add the test file of the log2 (log in base 2)

	ajout de log2 (log en base 2)

	correst tanh(0)

2001-10-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two more tests

	wrong sign passed to mpfr_can_round (mp_limb_t may be unsigned)

2001-10-18  David Daney  <david.daney@inria.fr>

	correct a bug for sinh(Inf)

2001-10-17  David Daney  <david.daney@inria.fr>

	correct syntax of tanh.c

	correct an error

	correct few things

	little patch for cosh

	add the test function of expm1

	add the test of the function log1p

	add the function expm1

	add the function log1p

	add to mpfr.texi log1p and expm1

	actualisation de exp2.c

	actualisation de exp2

2001-10-17  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	New tests in tdiv.c.

	New division in div.c, old one renamed in mpfr_div2. Remains to implement
	exact/inexact flag. Should not be *that* hard.

2001-10-16  David Daney  <david.daney@inria.fr>

	ajout de functions pow, fma, hypot etc etc

2001-10-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added fma.c

	added prototypes for mpfr_fma and mpfr_hypot

	small changes for inexact flag

	added some cases for Inf
	implement (partly) inexact flag

2001-10-16  David Daney  <david.daney@inria.fr>

	ajout hypot

	ajout de fma

2001-10-16  Vincent Lefèvre  <vincent@vinc17.net>

	Comment: // --> /* ... */

2001-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	generic test file

	added cast to (void*) for new functions returning an int

	added test for inexact flag

	now use tgeneric.c
	added more tests

	now use tgeneric.c

	fixed test of return values for infinities: foo(+/-Inf) is *exact*

	now also try with negative numbers

	implement ternary inexact flag

	implement inexact flag

	return type is now int for mpfr_mul_2exp and mpfr_div_2exp

	return type is now int for more functions

	sign was not set

	rewritten completely mpfr_can_round_raw

	documented mpfr_set4

	return non-zero if malloc failed

	cosmetic changes

	implement ternary inexact flag

	avoid one variable

2001-10-12  David Daney  <david.daney@inria.fr>

	correction d'erreurs sur les notations + correction de la regle 9

2001-10-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed MPFR_ASSERT
	documented MPFR_ASSERTN and MPFR_ASSERTD

	added test for mpfr_init_set_f prototype

	added test for inexact flag
	corrected a wrong test

	cosmetic change

	added tsub_ui (did exist but forgotten in Makefile) and tset (new file)

	test file for mpfr_set, initial version

	void -> int as return value for several functions
	and explained the ternary return value

	implemented inexact flag

	void -> int as return value for new functions implementing inexact flag

	implemented inexact flag in mpfr_set_d

	implemented inexact flag in mpfr_round

	completely rewritten

	computation of inexact flag now directly uses mpfr_round_raw

	added 'if' in MPFR_ASSERT to avoid compiler warning

	put initial value in variables which may be used without being initialized

	updated things done, added Rounding section

2001-10-11  David Daney  <david.daney@inria.fr>

	ajout de log1p et expm1

2001-10-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	reduced number of random tests (took too much time)

	added random tests for inexact flag

	implemented inexact flag

	added random tests for inexact flag

2001-10-11  David Daney  <david.daney@inria.fr>

	ajout du log generic et de fma

2001-10-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	inexact flag was wrong in some cases

	added random tests for inexact flag

	reduced number of loops per precision from 100 to 10
	(test was too long)

	improved check for gmp-impl.h/config.h/gmp-mparam.h/longlong.h
	and corresponding error message

	stack-alloc.h no longer needed (will be included in gmp-impl.h)

	stack-alloc.h is no longer needed (will be included in gmp-impl.h)

2001-10-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added proof of rules

	fixed buggy test

2001-10-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for b + d where b=2^900+2^500+2^110, d=2^900-2^500-2^110

2001-10-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_set_d on 64-bit machines

2001-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed a few problems in mpfr_set_d for sizer < MPFR_LIMBS_PER_DOUBLE

	added paper of Brent and McMillan

	does not call compare_exp2_exp3 when argc=4

	added one item

	now mpfr_set_prec returns 1 instead of producing an error in case prec=0

2001-09-27  David Daney  <david.daney@inria.fr>

	New version with new generic function + / * etc

2001-09-20  Vincent Lefèvre  <vincent@vinc17.net>

	BUGS updated.

2001-09-13  Vincent Lefèvre  <vincent@vinc17.net>

	Prototype changes.

	<strings.h> -> <string.h> (ISO C).

	#include added.

	#include added/removed.

	GCC option -Wno-implicit removed and prototype added to mpfr-impl.h

2001-09-12  Vincent Lefèvre  <vincent@vinc17.net>

	INCLUDES in Makefile.am: -I$(top_srcdir) and @INCLUDES@ swapped.
	This defines the following precedence for the tests:
	  1) MPFR directories
	  2) User-defined directory
	  3) GMP include directory
	This allows the user to override the GMP longlong.h file with the
	gcc-3 one, by using: INCLUDES="-I.../include" ./configure ...

	#include order fixed.

	Tests added (in particular, inex value).

	Bug fixed.

2001-09-11  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR_RET: definition changed to avoid warning.

	Inexact ternary value for mpfr_set4, mpfr_set_ui and mpfr_set_si.

	Macro SAFE_ABS.

	Inexact ternary value and flag for mpfr_set_underflow, mpfr_set_overflow
	and mpfr_check_range.

	Macro MPFR_RET added. Ternary value for mpfr_set4.

	New flags.

2001-09-10  Vincent Lefèvre  <vincent@vinc17.net>

	Parameter added to mpfr_round_raw: pointer to inexact ternary value.

2001-09-10  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Zqwiuyt

	Zorgs.

	Gleurbs.

	Patch grotesque.

	Patch for the case SIZE(r) < MPFR_LIMBS_PER_DOUBLE.

2001-09-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	test file for mpfr_tan

	fixed a few typos

	added mpfr_tan

	added ttan

	added the tangent

	added tan.c

	tangent function

2001-09-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed mpfr_sin and mpfr_cos (now separate implementations)

	removed sin_cos

	added sine and cosine

	removed sin_cos, added sin and cos

	removed mpfr_sin_cos

	removed sin_cos, added sin and cos

	removed tsin_cos, added tsin and tcos

	test files for mpfr_cos and mpfr_sin

	new implementation of mpfr_sin, using mpfr_cos

	new (faster) implementation of mpfr_cos

2001-09-06  Vincent Lefèvre  <vincent@vinc17.net>

	Fix: flags set in mpfr_set_{under,over}flow().

	Cases where the result is 0 fixed.
	Integer overflow checked in mpfr_sub.

	In add.c: use mpfr_cmp_abs instead of mpfr_cmp3; x - x fixed for GMP_RNDD.

	Compare the absolute values of two nonzero FP numbers.

2001-09-05  Vincent Lefèvre  <vincent@vinc17.net>

	mpfr_cmp3 changed and integer overflows checked.

2001-09-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added efficiency item

2001-09-03  Vincent Lefèvre  <vincent@vinc17.net>

	Cases [+-]0 + [+-]0 fixed (depending on the rounding mode).

2001-08-29  Vincent Lefèvre  <vincent@vinc17.net>

	Optimization + overflow support.

	Case +0 + -0 fixed.

2001-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

	another test from Norbert

	another fix (final copy when xsize > ysize was wrong)

2001-08-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added several tests for case (1b)

	another fix (previous one was incomplete)

	added one more test (from Norbert)

2001-08-28  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed.

	Bug fixed and update to check the exponents.

2001-08-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for 53 <= xprec, yprec <= 128

	added multiple tests for 53 <= xprec, yprec <= 128

	was completely wrong for ysize > xsize

	added faster formula in exp(-8*n) for Euler's constant

2001-08-25  Vincent Lefèvre  <vincent@vinc17.net>

	Assertion support with debug level.

	Some support for exponent change and exceptions.

2001-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added constant ALPHA (for mpfr_const_euler)

	added euler/teuler

	added teuler

	added euler.c

	fixed pb with c2 = c2old << dif with dif negative

	fixed bug for (2^53+4) - 1

	added new test from Norbert Mueller

	fixed pb: sh becomes "negative"

	included Euler's constant

	bibtex file for algorithms.tex

	test file for mpfr_const_euler

	computation of Euler's constant 0.577...

	added missing prototype

	mpfr_const_euler returns an int

	added mpfr_const_euler

2001-08-22  Vincent Lefèvre  <vincent@vinc17.net>

	Tests added.

	Bugs fixed (particular cases).

	"mant(c) != 1/2" test was broken.

	check fixed. Check added: 2^53 + 1 --> 2^53.

	Update.

2001-08-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

	fixed stupid bug when dif < 0

2001-08-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_asin

	added missing cast

	test file for mpfr_asin

	arc-sine, contributed by Mathieu Dutour

	added mpfr_asin

	new name for file tarctan.c

	renamed to tatan.c

	renamed tarctan.c into tatan.c
	added tasin.c

	renamed arctan.c to atan.c
	added asin.c

	new name for file arctan.c

	moved to atan.c

	low significant bit is in ap[0] and not in ap[an-1] !!!

2001-08-13  Vincent Lefèvre  <vincent@vinc17.net>

	Cleaner MPFR_SET_SAME_SIGN.

	Macros MPFR_SET_SAME_SIGN, MPFR_INIT and MPFR_INIT1 changed to expressions.

2001-08-10  Vincent Lefèvre  <vincent@vinc17.net>

	Bugs fixed (wrong types).

	Macros mpfr_init_set_* changed to expressions.

	Makefile.in update.

2001-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	edited wrt GNU style

	fixed stupid bug: ceil(a/b) isn't (a+b-1)/a but simply a/b for a negative!

	fixed array bound write (bn < an + cancel1 + 1)

	macros MPFR_NOTZERO and MPFR_ISZERO did not work properly with 64-bit words

2001-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for output base 2^k

	added one test

	added a section for the exponential

	fixed bug when dividend is 0

2001-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved TMP_FREE

	added 2 things

2001-06-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr.info to files to remove for "make distclean"

2001-06-23  Vincent Lefèvre  <vincent@vinc17.net>

	Non-existent C source references removed.

	Macros MPFR_INIT and MPFR_INIT1 fixed.

2001-06-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	nested double TMP_DECL's

2001-06-14  David Daney  <david.daney@inria.fr>

	A few patches.

2001-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_sin and mpfr_cos
	corrected in the documentation some exact values

2001-06-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed 2 tabs

	added change explaining the LGPL with non-free programs

2001-05-31  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch for the case b = 0 or c = 0.

2001-05-23  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added DDefour's bug.

2001-05-22  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch in the case MPFR_PREC(b) > MPFR_PREC(a)+cancel.

2001-05-10  Vincent Lefèvre  <vincent@vinc17.net>

	fixed bug in mpfr.texi

2001-05-10  David Daney  <david.daney@inria.fr>

	correction du bug donne par vincent + ajout des aides des fonctions hyperbolic

2001-05-09  David Daney  <david.daney@inria.fr>

	*** empty log message ***

2001-04-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	log(0) now returns 0 (exact infinity)

2001-04-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pbs with NaN/Inf

	fixed new bug found by Nathalie Revol (case when add_one_ulp produces a carry)

	added new bug found by Nathalie Revol

	fixed bug for 1.0000... - 0.000001 for rounding up or nearest

2001-04-17  Nathalie Revol  <Nathalie.Revol@inria.fr>

	Case where argument < 0 included, NR 17-04-2001

2001-04-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new (special) tests

	test file for mpfr_sub

	added tsub

2001-04-06  David Daney  <david.daney@inria.fr>

	change old exp2 (conflict with 2^x) to exp_2

2001-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	0 -> GMP_RNDN

	check apart the case c=0 (otherwise some low significant limbs may be
	non zero, which may produce a wrong result)

	mpfr_exp2 -> mpfr_exp_2

	mpfr_exp2 -> mpfr_exp_2

2001-04-05  David Daney  <david.daney@inria.fr>

	reactualise .h

	change header

	change reuse to suppress factorial

	suppress of timing in makefile

	add the old exp2 function and file renamed by exp_2

	change makefile for new functions

	change make file test for hyperbolic function exp2 and factorial

	add new test file for hyperbolic function

	add test file for new function

	add function

	new file function

	new function file

2001-04-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new version with cmp2.c

	fixed pb with inexact flag when 'int' and 'mp_limb_t' has different sizes

2001-04-05  David Daney  <david.daney@inria.fr>

	fixed bug for mpfr_cmp_ui (Inf, 0)

	fixed bug for mpfr_set_ui (x, 0) [was giving -0]

2001-04-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added algorithm for mpfr_cmp2

	added cmp2.c

	fixed bug when diff_exp >= BITS_PER_MP_LIMB

	added new test for worst cases: 1 - 1/2^i and (1 + 1/2^i) - 1/2^i

	changed return value of mpfr_cmp2

	new file for mpfr_cmp2

	moved mpfr_cmp2 to separate file cmp2.c

	added several tests, and a routine that generates worst cases

	two changes suggested by Kevin Ryde

2001-04-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	new version from new Makefile.am

2001-03-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test

	fixed new bug in mpfr_cmp2 found by Fabrice

2001-03-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test

	fixed bug found by Nathalie Revol

2001-03-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added 2 items

	added test for mpfr_cmp_ui (-0, 0)

	now prints -0 for -0

2001-03-19  Nathalie Revol  <Nathalie.Revol@inria.fr>

	Comparison between 0- and 0 now returns 0, NR 19-03-2001

2001-03-16  Vincent Lefèvre  <vincent@vinc17.net>

	added cast to avoid a warning

2001-03-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for inexact return value

	tiny bug in inexact value determination

	mpfr_mul now returns an int

2001-03-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	description of algorithms

	reorganized

2001-03-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added few things

	added arc-tangent

	added tarctan

	added test to mpfr_arctan

	added header

	test file for mpfr_arctan

	removed math.h

	arctangent function (contributed by Mathieu Dutour, done slight changes)

	added Mathieu Dutour in contributors

	added mpfr_arctan

	added one test

	fixed bug in mpfr_can_round_raw, when err > bn*BITS_PER_MP_LIMB

	now tset_str <number> <prec> is possible

2001-03-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for Infinity (was testing zero before)

2001-03-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced (mp_limb_t) 4294967295 by CNST_LIMB(0xFFFFFFFF)

2001-02-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	forgot to declare q in mpfr_get_d2 when BITS_PER_MP_LIMB=64

2001-02-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed fprintf() when unexpected end of string

	added undef's to avoid warnings at compilation

2001-02-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed mpfr_set_machine_rnd_mode

2001-02-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed "int main(..)" to two lines

	now initialize str_is_null correctly

	added more tests

	don't change MPFR_SIZE when allocated size is enough

	updated specification of mpfr_sgn

	changed definition of mpfr_sgn to get rid of MPFR_NOTZERO

	size of freed block by __gmp_free_func was wrong

	added tisnan and tget_d

	fixed bug for Inf (recognized as an ordinary number)

	new test file

2001-02-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check overflow in _mpfr_ceil_exp2

2001-02-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added prototype for Ulp

	changed _d to _p, added mpfr_number_p

	changed MPN_COPY into MPN_COPY_INCR/MPN_COPY_DECR in mpfr_round_raw

	added tests for one of arguments NULL

	moved mpfr_sgn to mpfr.h (defined in manual)

	use MPZ_REALLOC

	added const to 2nd argument of mpfr_set_str

	added set_ui.c

	added cast to "unsigned long" for ai = ABS(i)
	moved mpfr_set_ui to separate file

	now when str==NULL return a block which is exactly strlen(str)+1 bytes long

	fixed problems with old K&R compilers (_PROTO missing)

2001-02-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more items

2001-01-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed ulp computation

2001-01-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed behaviour for "tlog N": prints only differences with increasing ulps

	fixed pb in mpfr_get_d2 for 64-bit machines: in q + res/MP_BASE_AS_DOUBLE,
	q seems first to be cast into a double, which gives more than one ulp of
	error

2001-01-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added guard to prevent multiple inclusion

	fixed bug in mpfr_cmp2 (found on the IA64)

2001-01-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for 0 in mpfr_set_str_raw

	fixed bug for +0000E0

	incorporated changes from Kevin/Torbjorn for GMP 3.2

	truncate the last uk (when the precision is not a power of 2)

	_mp_allocate_func -> _gmp_allocate_func

	_mp_reallocate_func -> _gmp_reallocate_func

	__gmp_default_fp_bit_precision -> __mpfr_default_fp_bit_precision

	_mp_xxx_func -> _gmp_xxx_func

	removed mpfr_srandom

	sprintf -> fprintf
	_mp_free_func -> _gmp_free_func

	_mp_reallocate_func -> __gmp_reallocate_func

	added paragraph on NaN and infinities, docu on mpfr_nan_d and mpfr_inf_d
	removed mpfr_srandom
	some renamings

	removed srandom
	__gmp_default_fp_bit_precision -> __mpfr_default_fp_bit_precision
	added protocols for mpfr_get_default_prec, mpfr_nan_d and mpfr_inf_d

	removed superfluous TMP_FREE(marker)

	_mp_xxx_func -> _gmp_xxx_func

	_mp_free_func -> _gmp_free_func

	functions to check for NaN and infinities

	added isnan.c, removed srandom.h

	added two items from Kevin

	add 2 items

	0.4 -> 1.0

2001-01-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test for large operands

	fixed bug in _mpfr_ceil_exp2 (underflow when exp < -1022)

2000-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	remove what was done

	added mpfr-test.h

	added Vincent

	1.1 -> 2001

	cast for _mpfr_floor_log2 was on the wrong side

	added one test

	simplified _mpfr_floor_log2

	code was wrong for infinity

	only editing

	added special() cases

	removed #if 0 (on Alpha with cc the enclosed code was still used
	since the # was not in the first column)

	changes for version 1.1

	added one test (exp2 vs exp3)

	changed c from mp_limb_t into unsigned long in mpfr_exp2_aux2
	(otherwise bugs on IRIX -n32)

	added one test

	fixed wrong combination of conditions for Infinity

	added mpfr-test.h for MIPS

2000-12-22  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Modified macro calls

2000-12-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added cast (int) to random() to avoid warning on Solaris

	added <string.h>

	tiny change at the end of main routine (suggested by Guillaume)

	added one test

	added two more tests

	fixed bug when c does not overlap with a, b is negative and GMP_RNDN

	moved prototypes for mpfr_set4 and mpfr_cmp3 to mpfr.h

	fixed bug in mpfr_cmp2 when d=0 and lots of bits match

	updated for version 1.1

2000-12-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	test file for power functions

	test file for in-place operations

	unsigned char (or int) -> mp_rnd_t

	unsigned char -> mp_rnd_t

	unsigned int -> mp_rnd_t

	k2r -> ansi style
	removed #include <math.h> by defining auxiliary functions
	fixed several tiny remaining bugs with NaN/Inf

	updated description of mpfr_cmp* and mpfr_sin_cos

	added MPFR_SIGN

	added MPFR_CLEAR_NAN
	MPFR_RESET_INF -> MPFR_CLEAR_INF
	moved MPFR_SIGN to mpfr.h
	added prototypes for log2/isqrt/cuberoot functions

	added reuse, tcmp2, teq, tpow, trandom, ttrunc

	removed isnan(), ...

	removed gmp-impl.h, isnan(), ...

	removed gmp-impl, isnan(), ...

	removed cputime stuff

	k&r -> ansi style

	removed isnan() decl.

	MINNORM -> mpfr-test.h

	ulp -> mpfr-test.h

	removed isnan() declaration

	now use MINNORM and MAXNORM

	max, min -> macros

	added new tests

	added MINNORM, MAXNORM, MIN, MAX, ABS

2000-12-20  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	A few basic patches.

	Added support for PPC/Linux

	Patch for wrong prototype.

	Added prototypes for all test files.

2000-12-18  Vincent Lefèvre  <vincent@vinc17.net>

	Warnings suppressed on Alpha/OSF1.

2000-12-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr-test.h

	back to 1.3

	auxiliary test files

	moved to main directory

	auxiliary test functions

	changed name of mpfr struct fields: _mp_d -> _mpfr_d
		(to detect conflicts with mpf)
	fixed a few problems in non-STDC headers
	moved definitions of mpfr-impl.h to mpfr-test.h and created a real mpfr-impl.h

2000-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed tzeta

	explained how to enter NaN/Inf with mpfr_set_str_raw

	removed zeta.c

	added 'to do' for NaN/Inf flags

	clear NaN/Inf flags of result

	improved indentation

	adapted to NaN/Inf

	nothing (only better indenting)

	adapted to NaN/Inf
	removed warnings

	adapted to NaN/Inf

	removed warnings

	clear NaN/Inf flags in normal case

	adapted to NaN/Inf

	added prototype for mpfr_srandom

	now uses directly mpn_random, to avoid all problems with include files

	added 4 tests

	_mp_d -> MPFR_MANT

	added error message when memory allocation fails

	added error message when memory allocation fails

	_mp_d -> MPFR_MANT

	0 -> NULL

	added error message if memory allocation fails

	_mp_d -> PTR

	_mp_prec -> MPFR_PREC
	_mp_d -> MPFR_MANT

	added mpfr_swap

	removed MPFR_SET_IS_FP (not used)

2000-12-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	A few patches.

2000-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	MPFR_CHANGE_SIGN modified to avoid a possible side effect.

2000-12-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	warning: x is a MPF not a MPFR!

2000-12-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Modification of the order of includes in random.c

2000-12-15  Vincent Lefèvre  <vincent@vinc17.net>

	Added some warning flags for GCC.

2000-12-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Header file for srandom()

	Patches for compiler warnings.

	Yet another patch for include files.

	Permutation of includes to avoid warnings due to careless multiple definition
	of ULONG_MAX.

2000-12-14  Vincent Lefèvre  <vincent@vinc17.net>

	Bug fixed concerning the flags.

	Bugs fixed (in case char is signed and accented characters are given).

	Include "urandom.h". Old code removed.

	Take into account Inf, Nans ; clear the flags of the return variable
	in most function calls.

	Use urandom().

	Take into account Inf, Nans ; clear the flags of the return variable
	in most function calls.

2000-12-14  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Yet another random patch.

	Replaced random by rand.

2000-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed pb with mp_ptr vs mp_srcptr

2000-12-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Take into account Inf, Nans ; clear the flags of the return variable
	in most function calls. Tests updated accordingly

	Take into account Inf, Nans ; clear the flags of the return variable
	in most function calls.

2000-12-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	check that we can round the cosine too

2000-12-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed TIMING stuff
	ensures prec_x >= 0

	we need m >= 2 in mpfr_exp2_aux2

	forgot TMP_MARK(marker)

	forgot TMP_MARK(marker) or free'd in wrong order

	forgot TMP_MARK(marker)

	fixed mpf_reldiff, mpf_urandomb and mpf_t

	added stack-alloc.h when --disable-alloca

2000-12-11  Vincent Lefèvre  <vincent@vinc17.net>

	out_str.c: <string.h> included
	set_d.c: (0./0.) instead of sqrt(-1) for NaN (doesn't need <math.h>)
	set_d.c: () added for macros Infp and Infm

2000-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	shortened string in mpfr_set_str_raw which was greater than precision

	replaced isnan/isinf/math.h (not portable, for example isinf does not exist
	on Sparc) by new macros from mpfr.h

	added an error message when the mantissa is larger than the precision
	(in mpfr_set_str_raw)

	added macros to recognize doubles that are NaNs and infinities
	(isinf is not portable and requires math.h)

	in case the destination precision is less than that of the operands,
	and the 1st iteration fails, increase directly the precision to the maximum
	of that of the operands, otherwise divisions by 1.0 may need lots of
	iterations

	added 'return' after dealing with infinities

	added wish from JC Fauge`re

2000-12-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_init/mpfr_init2 initialize to 0 (compatibility with mpf)

	fixed bug in mpfr_cmp2 when return value is k*BITS_PER_MP_LIMB-1

	added new test for mpfr_cmp2

	now ABSSIZE uses only 29 bits

2000-12-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added some explanations how to free the memory space allocated by mpfr_get_str

	fixed one bug found by N. Mueller (MPFR_ABSSIZE(u) was used instead of usize)

	added one more test from N. Mueller

2000-12-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	cleaned calls to mpfr_extract

	added new line

	added error message when _mp_allocate_func returns 0

	added header for mpfr_extract

	- documented what function does
	- cleaned code
	- added header about license...

	replaced log(2.0) by LOG2 [first step in getting rid of math.h]

	added extern "C" { ... } for inclusion in C++
	removed old KARATSUBA threshold for gmp 2.0.2

	fixed bug in mpfr_cmp3 (when b=0, s not taken into account)

	added swap/tswap

	test file for new function mpfr_swap

	added new function mpfr_swap

	changed copyright to Free Software Foundation

	added possible bug in mpfr_get_str

	now all is in mpfr.h

	return value was wrong for input non-zero (should return 1 = inexact)

	fixed/improved doc. of mpfr_sin_cos and mpfr_urandomb

	removed macro for mpfr_init_set_str_raw

	added prototype for mpfr_sin_cos

	sign of result was not correctly (re)set

	added test to check sign of square root

2000-11-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	gained a factor of 2 in most cases (replaced initial constant factor=2
	for additional bits for cos(x) by log(n))

	added tsin_cos

	fixed potential problem in mpfr_sub1 (k=0 and kc<0)

	test file for sin/cos

2000-11-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	forgot cast to int before comparison between imax (can be negative) and an

	returned value was one too small in case d=1

	added new test from N. Mueller

	added return for case of infinities

	added macro MPFR_RESET_INF

	don't forget to reset infinity flag if set!

	fixed bug in mpfr_cmp2: wrong limb considered after cp[cn--] when
		cp[cn] was not 111...111

	fixed bug when imax>an

2000-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added macro MPFR_IS_ZERO

2000-11-21  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Infinis, premiere tentative (tests)

	Infinis, premiere tentative.

2000-11-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one remark from GH

	removed mpfr_cmp2

2000-11-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added support for Inf. Modified zeta.

2000-10-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	protection of macros done

	shell-script to replace xxx by yyy in all source files

	protected macros: xxx -> MPFR_xxx

	protected all macros: xxx -> MPFR_xxx

2000-10-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fichier d'include pour mpfi.c

	interval arithmetic level (1st version)

	added two suggestions from Ben Hinkle

2000-10-19  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Bof.

	Suppression de vieilleries.

	1 << 31 -> ((unsigned int)1) << 31.

	Correction de prototypes faux dans le cas ou on n'est pas -D__STDC__.

2000-10-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	malloc -> *_mp_allocate_func or TMP_ALLOC

	mpfr_t -> mpfr_ptr or mpfr_srcptr

2000-09-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed -> all is in texp.c

	added comparison between exp2 and exp3

	take also the target precision into account for the guard bits

	new faster version with O(n^(1/3)*M(n)) algorithm

	adjusted exp2-exp3 threshold for new faster version of mpfr_exp2

	added mpz_set_fr.c

	added tdump

	fixed pb for op=0 (added \0 at the end of string)

	use strlen to determine memory to free

	test file for mpfr_dump

	removed karasqrt.c, added sqrtrem.c

	kara_sqrtrem -> mpn_sqrtrem_new

	now replaced by new code in sqrtrem.c

	now uses new code mpn_sqrtrem_new

	new version of fast MPN square root
	(should be integrated in a future release of GNU MP)

2000-09-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added another example from N. Mueller

	fixed another ABW bug

	fixed two Array Bound Writes

	fixed one Array Bound Read (to_nearest, bp=cp and k>=cn)

	added 2 new tests from Norbert Mueller

2000-09-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test

	fixed Array Bound Write

2000-09-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added some words about the inclusion of mpfr.h

	we need to better protect macros

	removed MPFR_OBJECTS (does not work)

	added $(MPFR_OBJECTS) in libmpfr_a_LIBADD

	added $(MPFR_OBJECTS) in libmpfr_a_DEPENDENCIES

	added contributions from Emmanuel Jeandel and Thom Mulders

	added Thom Mulders

	routines for naive/fast short multiplication,
	contributed by Thom Mulders (ETH Zu"rich)

2000-09-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new test for overlapping x, y

	fixed problem when x=y

2000-09-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added pb from Norbert Muller

	fixed SEGV (mpn_lshift doesn't seem to like src_size=0)

	now prints "failed" when test file doesn't return 0

2000-08-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced mpn_divrem by mpn_tdiv_qr for gmp 3 or later
	and avoid copy of one operand when possible

	updated (make check, make install)

	described each file

	News for version 1.0

2000-08-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug for 0.9999999999...

	added test for 0.99999999999999999

2000-08-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_swap

	now store last computed value together with last rounding mode

2000-08-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	target ps -> mpfr.ps

	added $(srcdir) to trunc.c for sub-directory compilation

2000-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed some memory leaks

	solved memory leaks with T[i] and qtoj[i]

	updated (done autoconf, faster mpfr_exp, sin/cos)

	updated for version 1.0

	COPYING.LIB -> COPYING

	renamed back (wanted for "make dist")

	renamed back to COPYING (wanted for "make dist")

	GNU Library General Public License

	renamed to COPYING.LIB, according to mpfr.texi

	result was free'd twice when good=1

	put information about authors

	PACKAGE and VERSION are not defined any more

	gmp-mparam.h is required too

	IRIX make does not recognize $< (MISCFLAGS)

	do not define PACKAGE and VERSION in AM_INIT_AUTOMAKE,
	this avoids conflicts with GMP 3.1 config.h
	[thanks to Kevin Ryde]

	updated for GMP 3.1

	MP_BASE_AS_DOUBLE already defined in gmp-impl.h

	nb_terms[0] was not initialized

	fixed some FNH (free not in heap) problems for binary splitting method
	(prec >= 30000)

	gmp.info -> mpfr.info

	set_dfl_rnd.* -> set_rnd.* (to avoid conflict with set_dfl_prec.* on DOS 8.3)

	now automatically generated by configure

	added if (__GNU_MP_VERSION < 3) for mpn_divrem_1-bug patch

	set_dfl_rnd -> set_rnd

	new name of set_dfl_rnd.c (avoids clash with set_dfl_prec.c on DOS 8.3)

	renamed to set_rnd.c (otherwise truncates like set_dfl_prec.c on
	a DOS 8.3 filesystem)

	setfilename: gmp.info -> mpfr.info

	replaced path for libmpfr.a by $(top_builddir)
	test files are now in check_PROGRAMS instead of bin_PROGRAMS (they don't need
		to be installed)

	replaced back BITS_PER_MP_LIMB by mp_bits_per_limb
	(not important in test files)

2000-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced macros for mpfr_init_set_si by "do { ... } while (0)" so
	they'll work in an if/else like

	        if (foo)
	          mpfr_init_set_si (f, -123, GMP_RNDN);
	        else
	          bar ();

	[thanks to Kevin Ryde]

2000-08-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced mp_bits_per_limb by BITS_PER_MP_LIMB (constant)

2000-08-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpf2mpfr.h

	define check2 only with -DTEST

	updated for new configure from Emmanuel Jeandel, to GMP 3.xxx
	and removed errors with texinfo

	solaris --> __sparc__

	ifdef IRIX64 -> ifdef __mips

	IRIX/make does not understand $< : expanded to trunc.c

	use standard macro for Alpha

2000-07-13  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>

	autoconf options described

	timestamp modified

	timestamp changed

	nothing to say

	Timestamp

	Small bug fixed

	Timestamp modified ?

	Timestamp modified

	Nothing

	New release

	Bugs fixed

	Bug fixed

	sin_cos added

	New algorithm, new wrapper

2000-07-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced 0 by GMP_RNDN

	fixed (hopefully) bug for 1/1 in precision 32, 64, ...

	added test for 1/1 in precision 32 or 64

2000-07-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use mpfr_print_rnd_mode now

2000-07-11  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>

	Bug Fixed, and installation guide made

	Fixed bug

	Bug Fixed with Solaris make

	strings.h added

	Deps included

	Bug Fixed

	Bug fixed

	Bug Fixed

	First Release

	*** empty log message ***

	First Release

	First release

	Added sin_cos

	First Release

2000-06-29  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>

	Memory problems fixed

	Memory Leaks Fixed

2000-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added prototype for mpfr_sub_ui

	now use mpfr macros

	be careful not to call mpn_sub_n/mpn_sub_1 with a size 0

	fixed to free an entire number of limbs

	test file for sub_ui

2000-06-28  Emmanuel Jeandel  <emmanuel.jeandel@loria.fr>

	mpfr_exp3 and mpfr_extract added to Makefile

	First Release

2000-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	distinguish between mpfr failure and difference with sqrt()

	ensures random numbers given to sqrt() are positive

	adapted for freebsd

	modified drand to avoid false NaNs (makes SEGV under FreeBSD)

	added entry for FreeBSD, removed -pedantic option

	added one test

	added new tests

	added prototype for mpfr_set_prec_raw

	removed work done

	fixed several bugs

	merged different roundings in case diff_exp<PREC(a), dif<=PREC(c)

	removed printf for argc=1

	added one test

	make ceil.o,floor.o,trunc.o depend on trunc.c

2000-06-20  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Various patches for leaks, UMR and (one) BUS.

2000-06-19  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	This patch suppresses a few mem leaks.

	Suppressed memory leaks.

	Patch for 1 << (BITS_PER_MP_LIMB - x) when x is 0 (produces inexact results
	on PPCs).

2000-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	arguments of gmp_randinit were in wrong order

2000-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch in the case when n_bits is a multiple of 32.

2000-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added patch to get denorms on IRIX64

	put instruction to get denormalized numbers on IRIX64 out of #ifdef TEST

	fixed bug occurring on LinuxPPC (1 << 32)

	added one test (bug on LinuxPPC)

	added one test

	fixed several problems

	added more tests

2000-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patches for the case where the precision is a multiple of the word size.

2000-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed another bug

	added one test

	added prototype for mpz_set_fr

	improved choice of initial precision

	added mpz_set_fr (conversion from mpfr to mpz)

	added return type 'int' for main

2000-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added TESTFLAGS to the main Makefile. Added ttrunc.

	Minor patch (put to 0 the nonsignificant bits).

	Added declaration of trunc, ceil, floor.

	Tests for trunc, ceil, floor.

	Added TESTFLAGS variable to the compile instruction, for use as
	make "TESTFLAGS=-DTEST"

2000-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	1 -> (mp_limb_t) 1 [pb on 64-bit machines]
	reduced number of tests to 1000

2000-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Display of statistics is only toggled if a number of tests to be performed
	is given. Shameful hack, but is getopt really portable ?

	Added trandom, teq

	Added random2, urandomb

	Added div_2exp to the (very rough) test.

	Very basic statistical tests for random, random2, urandomb.

	Patch for random (libc's random() is on 31 bits only)

	Test for mpfr_eq.

	Patch a few incoherences of eq.c wrt the manual + adapt to mpfr usual semantics

2000-06-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	header file providing cputime() function

	test file comparing mpfr_exp and mpfr_exp2

	O(n^(1/3)*log(n)) algorithm using Brent's method
	and Brent-Kung's O(sqrt(t)) algorithm to evaluate
	a power series of order t [exact rounding not yet finished]

2000-05-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_round (wrong sign)

	fixed bug in mpfr_round: did not check allocated space was large enough

	main -> int main

	added #ifdef TEST: if not defined (default), then function
	mpfr_set_machine_rnd_mode is not defined

	added #ifdef TEST to disable comparison with machine arithmetic
	by default (i.e. calls to mpfr_set_machine_rnd_mode)

	removed longlong.h (not needed)

	now deals with NaN

	RND_MODE -> rnd_mode

	mpfr_init is now a function (no more a macro)

	printf -> fprintf
	added mpfr_init as function

	changed (x) -> x
	fixed several typos

	removed printf

2000-05-26  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added ifdef TEST

	removed debug line

	added one test

	added 2 new tests

	little change

	more changes

	added ifdef TEST

	does not use machine rounding mode any more

	added 7 new tests

	fixed typo in printf format

	fixed several rounding problems

	rewritten case dif<=0 and PREC(b)>PREC(a) (merged all roundings)

	removed DEBUG, VERBOSE ifdef's

	fixed (hopefully) the case dif<=0, PREC(b)>PREC(a), directed rounding

	replaced (mp_limb_t)1 by macro ONE
	fixed bug for GMP_RNDN with overlap=1

	removed misplaced comment

	added one test

	does not use rnd_mode.c by default

	removed unused label

	fixed more tiny bugs

2000-05-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	use mpfr_print_rnd_mode now

	added one test

	added more tests

	removed TMP_ALLOC stuff

	fixed new bug when a <- b - c with tiny c

	fixed bug in a <- b-c when c very small but does not overlap with a

	removed 'inline' (does not compile on Alpha with gcc 2.8.1)

	added include file unistd.h

	fixed warning with long arguments

	initial version

	added tests for mpfr_set_str

	now returns 0 if all works

	changed to return the error in ulps

	added new functions mpfr_set_str and mpfr_inp_str

	added prototypes for set_str, inp_str
	changed return value for mpfr*pow*

	separated functions with/without rounding argument

	added tabs

	added set_str.o and inp_str.o

2000-05-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	initial version

	added rule for sub_ui.o

	use only one file (trunc.c) for ceil, floor, trunc

	now use trunc.c for all 3 functions (ceil, floor, trunc)

	added ifdef to avoid warning at compilation

	removed unused variable

	fixed output type for mpfr_ui_div

	removed 3rd argument (use PREC(rop) instead)
	added include longlong.h

	stupid typo: ABSSIZE -> ABSSIZE(x)

	change due to new semantics of mpfr_init_set* macros

	now makes an error when precision too large wrt allocated space

	added new implemented functions

	- added macro for mpfr_sgn
	- removed argument 'p' in mpfr_init_set* macros for compatibility with mpf

	updated wrt new functions

	added sub_ui

	added new test files

	new test files

	added new tests

	improved tests

	new functions (compatibility with mpf)

	added 4th arg (was missing in non-stdc def)

	added new functions (compatibility with mpf)

	added several prototypes

	fixed remaining bug (case overlap=5, dif>0)

	added add_ui, sqrt_ui, ui_div, ui_sub, reldiff

2000-05-21  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Compatibility mpf/mpfr, second part. Ceil, floor, trunc. Yet untested.

	Include file for compatibility module mpf -> mpfr.

	Compatibility with mpf. WARNING: THESE FUNCTIONS ARE UNTESTED IN THEIR PRESENT
	FORM. THEY *DO* COMPILE HOWEVER.

2000-05-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed unused variables

	removed ';'

	added return

	added calls to mpf[r]_clear, and rewrote to avoid memory leaks

	added calls to free

	corrected comment about field mp_size

2000-05-12  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for negative numbers

	added one test

	fixed pb with rounding of negative numbers

2000-05-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added mpfr_abs

	test file for mpfr_abs

	added mpfr_abs (macro using mpfr_set4)

	updated wrt done/new tasks

2000-05-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests

	split mpfr_init2 into mpfr_init and mpfr_set_prec

	removed karadiv.o

	replaced mpn_divrem_n by mpn_divrem (efficient in GMP 3.0)

	not needed any more with GMP 3.0

	removed mpn_divrem_n stuff, now that Burnikel/Ziegler algorithm is in GMP 3.0

	added one test

2000-05-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	completely rewritten (changed semantics)

	initialized variable bh to avoid warning at compilation

	added prototype for mpfr_set_default_rounding_mode

	fixed pb in mpfr_cmp_ui_2exp for i=0

	updated according to meeting from May 4, 2000

	updated for AIX

	updated for AIX (thanks to Gerardo Ballabio)

2000-05-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

	fixed bug found by G. Ballabio for b=0 and 0<c<1

	added info for GMP2 vs GMP3

2000-04-19  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added -ffloat-store for Alpha/OSF

	added cast to mp_limb_t (bug on Alpha in tadd with -O2)

	added one test

	removed #if 0

	swapped gmp-impl.h and longlong.h for GMP 3.0

2000-04-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added more tests

	fixed pb when target precision is less than integer length

	fixed problem not solved so far, i.e. when adding round bit
	produces a change of exponent

2000-04-13  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed computation of ulps

	removed variable xrw in mpfr_round_raw (not used)

	replaced 1st my by my+sh in mpfr_round_raw call

	added 2 more tests

2000-04-13  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Correction d'un bug quand le carry contient tous les bits significatifs.

2000-02-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	improved indentation
	mpfr_pi -> mpfr_const_pi

	added one test

	mpfr_pi -> mpfr_const_pi

	use mpfr_cmp_ui instead of SIGN

	mpfr_log2 -> mpfr_const_log2

	added -O2 compilation flag
	added set_q

	convert rational (mpz_q) to floating-point (mpfr_t)

	removed things which were done

	unsigned char -> mp_rnd_t
	SIGN -> MPFR_SIGN

	use PREC() macro instead of _mp_prec, and corrected size to free

	SIGN -> MPFR_SIGN

	unsigned char -> mp_rnd_t
	SIGN -> MPFR_SIGN
	added non standard C header

	unsigned char -> mp_rnd_t

	unsigned long int -> mp_prec_t

	renamed to mpfr_const_log2
	unsigned char -> mp_rnd_t

	unsigned char -> mp_rnd_t
	SIGN -> MPFR_SIGN
	unsigned long int -> mp_prec_t

	unsigned char -> mp_rnd_t
	unsigned long int -> mp_prec_t

	unsigned char -> mp_rnd_t

	renamed to mpfr_const_pi
	unsigned char -> mp_rnd_t

	unsigned char -> mp_rnd_t
	added non standard C header

	SIGN -> MPFR_SIGN

	added non standard C header

	unsigned char -> mp_rnd_t
	SIGN -> MPFR_SIGN
	unsigned long int -> mp_prec_t

	unsigned char -> mp_rnd_t
	SIGN -> MPFR_SIGN

	unsigned long int -> mp_prec_t

	har -> mp_rnd_t

	changed rounding mode to mp_rnd_t

2000-02-04  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now distinguish between true mpfr errors and possible errors from libm.a

	now use print_rnd_mode

	added suggestion from JP Merlet

	added print_rnd_mode.c

	added more tests

	fixed bug(s) found by Jean-Pierre Merlet

	changed prototype of mpfr_set_f (takes now only 3 arguments)

2000-02-03  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added karasqrt.o

	added prototype for kara_sqrtrem
	added redefinition of KARATSUBA_MUL_THRESHOLD (if not defined)
	removed definition of LOG_MP_BITS_PER_LIMB (was not used)

	changed return type to mp_size_t and included mpfr.h

	moved definition of KARATSUBA_MUL_THRESHOLD (if not defined) to mpfr.h

	implements Katatsuba square root

	now use kara_sqrtrem instead of mpn_sqrtrem

	fixed bug when high limb of quotient is zero

2000-02-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test [did fail on alpha]

	added cast to mp_limb_t in front of 1<<sh

	modified to be compatible with gmp-2.0.2

	added further sqrt pb on alpha

	swapped longlong.h and gmp-impl.h (pb on alpha)

	added test for bug in sub.c found by JP Merlet on Solaris

	fixed mpn_rshift which could have 0 as shift argument
	(caused bug in exp on Solaris found by JP Merlet)

	moved debug messages to stdout

2000-02-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added prototype for mpn_divrem_n (Burnikel-Ziegler algorithm)

	use mpn_divrem_n (Burnikel-Ziegler algorithm) instead of mpn_divrem
	when rsize=rrsize

	added karadiv.c (to be removed when incorporated in GMP)

	Burnikel-Ziegler division

2000-01-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added further examples from V. Lefe`vre

1999-12-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added macri VERSION for target dist

	added new tests from V. Lefe`vre

	improved interface: tdiv N for doing N random tests

	added one test

	DEBUG2 -> DEBUG

	added debug instructions

	fixed nasty bug in mpfr_cmp2 (case cc=1)

	replaced printf by fprintf for error

1999-12-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new tests for large input

	fixed bug for large input

	rewritten the error analysis:
	- now analyzes the cancellation a posteriori
	- takes into account errors from rounding and initial approximation

	added tests from Vincent Lefe`vre

	no warning any more for negative exponent (thanks to V. Lefe`vre)

1999-12-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug found by V. Lefe`vre (when n<0, we have to compute
	an upper bound of log(2) instead of a lower bound)

	added new test (bug found by V. Lefe`vre)

1999-12-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added suggestion from V. Lefe`vre

	added several remarks from Vincent Lefe`vre

	corrected many typos found by Vincent Lefe`vre

1999-11-27  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed executable rights

	improved GMP link (thanks to Vincent Lefe`vre)
	added pointer to Alpha-Linux f-p problems

	removed executable right on file

1999-10-20  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	put back test for x=y

	modified to avoid y=-0.0

	modified test procedure to return 53 when x=y

	mpfr_cmp2(b,c) now returns PREC(b) if b=c, even if c=0

	added one test

	added test under Cygwin

	$make -> $MAKE

	removed *rand48 prototypes (pb under Cygwin)

	removed *rand48 prototypes

	removed lrand48 prototype (pb under Cygwin)

	added rounding instructions for Cygnus compiler under Windows

	added dummy *rand48 functions for CYGWIN

	added info about gmp-mparam.h

	incorporated data for CYGWIN

1999-10-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test

	added boundary cases from paper from Michael Parks

1999-10-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now set sign correctly

	added test to check sign is correctly set

	added worst case for arg. reduction

	fixed bug when initial approx. floor(x/log(2)) is too large

1999-10-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now use macros for Linux case, and added ifdef for _ISOC9X_SOURCE

	changed target dist to create archive in a directory

1999-10-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added targets doc and dist

	added documentation and contact for problems

	file for installation of mpfr

	added more tests

	now deal with 0 and fixed bug on 64-bit machine

	moved to sqrt.c

	now use directly mpn_sqrtrem (previously sqrt3.c)

	updated prototypes of mpfr_div/mpfr_sqrt

	removed div3 and sqrt3

	div3 -> div

	moved to div.c

	replaced implementation using Goldschmidt's algorithm
	by that using directly mpn_divrem (previously div3.c)

	sqrt3 -> sqrt

	GNU Library Public License

1999-08-31  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed printf statement

	added ABS for SIZ(z) when z<0

	removed special 'exact' stuff for n=0

	fixed prototype of random

1999-07-30  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced GNU MPFR by MPFR (not yet the GNU label)

	added copyright notice

1999-07-09  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test with prec=160

	error term is N+1 and not N

	fixed bug in case sh=0

1999-07-08  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	completely rewritten mpfr_can_round_raw, which costs now O(1)
	--- or more probably O(log n) --- instead of O(n)

1999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed mpfr_init2 to mpfr_set_prec

	added one test

	added prototype for mpfr_add1

	added mpfr_clear

1999-07-07  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	sqrt3 now returns an exact / inexact flag.

	sqrt3 now returns an exact/inexact flag.

1999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fix UMR (missing 0 terminating string)

	put initialization of exponent back (avoids some UMRs)

	fixed array bound write bug

	added one test

	added several tests, and does not print on stdout when no argument

	fixed several bugs

1999-07-07  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added an example which causes an ABW in mpz_get_str.

1999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	moved drand to mpfr-impl.h and added test in large precision

	added tout_str

1999-07-07  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Problem with the exponents in the destructive case.

1999-07-07  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	more changes from G. Hanrot

	use now drand48 instead of drand

	simply set to zero the non-significant bits, don't call mpfr_round_raw

	upgrade from bug fixes from Guillaume Hanrot

	stores now last computed value together with its rounding mode

	checks now destructive version

1999-07-07  Sylvie Boldo  <sylvie.boldo@inria.fr>

	changes on random

	using div3

	using sqrt3

1999-07-06  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	HPUX support, 2nd try.

	Patch for the (very seldom encountered) case of even rounding.

1999-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added def. for random/srandom, which do not exist under HPUX

	store now computed values

	_mpfr_log2_* -> __mpfr_log2_*

	merged machine rounding instructions for Sun and HP

	patch for HPUX (no random function)

	added print_rnd_mode

	fixed prototype of mpfr_print_rnd_mode

	improved ulp to deal with case a=0.0

	added return 0 to main

1999-07-06  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Forgotten casts.

	Added sqrt3 + tentative support for Alpha linux.

	The word added when the exponent is odd was sometimes uninitialized.

	Initial version.

	Added mpfr_sqrt3.

1999-07-06  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added several functions, and updated others

	changed prototype of mpfr_log

	returns now an int instead of void

	removed initialization of exponent

	special case for exp(0)

	added test for exp(0)

1999-07-06  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	config.in -> ./config.in

1999-07-05  Sylvie Boldo  <sylvie.boldo@inria.fr>

	new, quick & clean

1999-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests and converted to double's

1999-07-05  Sylvie Boldo  <sylvie.boldo@inria.fr>

	more checking ways

1999-07-05  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	distinguishes now between true errors and differences with libm.a
	(which may fail too)

	removed mpf stuff in check

	added some mpfr_clear's

	changed defs of random/srandom to work on Alpha

	mpfr_init2 -> mpfr_set_prec in check64

	added function dbl

	added prototypes for mpfr_cmp3 and mpfr_set4

	use mpfr_set4 now (no modification of const parameters any more)

	return 0 in mpfr_can_round_raw

	introduced auxiliary function mpfr_set4

	fixed possible bug (testing sign of unsigned long) in mpfr_mul_ui

	replaced PREC(r) by prec (which was defined but not used)

	moved drand and ulp to mpfr-impl

	moved ulp to mpfr-impl.h
	and used input routine 'dbl' in some tests

	modified one test to avoid rounding from double input routines

	introduced auxiliary function mpfr_cmp3(x,y,sign) to compare x and sign*y

	moved drand and ulp to mpfr-impl.h

	mpfr_sub now calls directly mpfr_add1/mpfr_sub1 (no modification of
	const parameters any more)

	moved drand to mpfr-implh.h

	use mpfr_cmp3 instead of mpfr_cmp (avoids warning due to modification of
	const parameters)

	moved drand to mpfr-impl.h and removed warnings

	use the result of mpfr_can_round

	moved drand and ulp to mpfr-impl.h

	moved drand to mpfr-impl.h

	moved drand to mpfr-impl and removed warnings

	added include of math.h

	moved drand and ulp to mpfr-impl.h

	include file for mpfr developers only

	long -> int in drand

	adapted drand to sizeof(long)=64

	config.in -> ./config.in (otherwise don't work under IRIX)

	removed warnings

	patch for GMP bug when UDIV_NEEDS_NORMALIZATION=1

1999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Correction of a typo.

1999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed horrible hack yp[-1]

1999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Support of IRIX64 (n32/64 modes) plus cosmetic modifications.

1999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test, and adapted to ANSI C

1999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Yet Another Backslash Forgotten...

	Bug le plus stupide de tous les temps corrige. Ca marchait sous Solaris...

1999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test and removed warnings

1999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added mpfr_div3.

	Added div3.c

1999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug when sizeof(long) <> sizeof(mp_limb_t)
	and removed DEBUG2 stuff

	added one test, and removed warnings

1999-07-02  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Added div3.c, initial release.

	Patch of the patch :)

	Pattern matching rules in tests Makefile for non-GNU make (eg Solaris)

1999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	adapted to enable denormalized numbers on IRIX64, added one test and
	removed warnings

	changed type of 3rd arg. 'neg' of mpfr_can_round_raw from char to int
	(pb with signed char's on some machines, e.g. IRIX64)

	adapted to IRIX64 (enable denorm. numbers) and removed warnings

	adapted to IRIX64 (enable denormalized numbers) and removed warnings

	adapted to IRIX64 (no denormalized by default) and removed warnings

	unsigned long -> mp_limb_t

1999-07-02  Sylvie Boldo  <sylvie.boldo@inria.fr>

	unused variables

	unused variable

1999-07-02  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added ifdef to avoid warning "unused variable" on 64-bit machine

	added def. of swapRM to avoid warning on IRIX64

	1UL -> ((mp_limb_t) 1)

	changed type of mask to mp_limb_t in mpfr_round_raw2

	adapted for denormalized on IRIX64
	now test NaNs too

1999-07-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Due to the representation of 0 it might have happened that 0 != 0.

	Patch mpfr_set -> MPN_COPY

	Patch when prec < 32.

1999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bugs for 64-bit machines

	added casts to mp_limb_t

	added cast to mp_limb_t for shifts

1999-07-01  Sylvie Boldo  <sylvie.boldo@inria.fr>

	prints nothing is everything is allright

	memory gestion

	one single bug

	more bad cases

1999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added some certified tests

	added one test to check that 1*y = y

1999-07-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch of an MLK due to multiple initialization of the same variables without
	freeing them in-between.

	Same as in sqrt (allocation problem).

1999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug due to shift=0 in mpn_rshift

1999-07-01  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	(Temporary) patch for memory gestion in sqrt.c

1999-07-01  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	mpfr_init -> mpfr_init2

	initialize temporary variables with current precision

1999-06-30  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Unbelievably stupid bug fixed.

	Two patches : one for an UMR which actually had no effect, one for an FNH in
	old code..

1999-06-30  Sylvie Boldo  <sylvie.boldo@inria.fr>

	new bug

	there were some conflicts

	there were some conflicts

	memory gestion

1999-06-29  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	replaced outputs by direct comparison when no argument

	modified to do only certified test when no argument

	modified to do only tests with precomputed values when no argument

	does exact rounding only for n=0

1999-06-29  Jean-Luc Rémy  <Jean-Luc.Remy@loria.fr>

	added zeta/tzeta

	added prototypes for mpfr_exp and mpfr_zeta

	computes Riemann function Zeta(s)
	first version: only works for s=2 with PREC(result)=53 and rnd_mode=nearest

	test file for mpfr_zeta

	added prototype for mpfr_set_default_prec

	file renamed zeta.c

	first version: computes Zeta(2) with fixed precision 53 bits and round
	to nearest

1999-06-29  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch in the case when the number of bits is a multiple of the word size.

	Patch in the case when the low words of the product are zero.

1999-06-28  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	changed arguments of mpfr_round_raw (continued)

	changed arguments of mpfr_round_raw (now uses precision instead of size)

	modified wrt warnings at compilation

	modified description of mpfr_get_str for n_digits=0

	now performs an exact output when n_digits=0

1999-06-28  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Yet another corrected prototype.

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Prototypes et quelques causes de warnings corriges.

	Modifs cosmetiques.

	Fichier vide.

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	do not print anything when no argument

	use GMP allocate/free functions instead of malloc/free

	do not print anything on stdout

	put correctly sign with macro CHANGE_SIGN

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Ajoute la dépendance de libmpfr.a pour le Makefile des tests.

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	correctly handle case sizer=1 in mpfr_set_d

	corrected allocated size in mpfr_round

	make clean does not remove config.in any more

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Correction d'un UMR en inversant le while (sans incidence tres probablement).

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added four tests

	adapted mpfr_set_d to case where allocated limbs > significant limbs

	fixed bug for b=2^n and c very small

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Some limbs of the result where not set to zero as they should.

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added prototypes, and errors to stderr

	binary file -> remove it

	use PREC(x) instead of ABSSIZE(x) to get number of significant limbs
	adapted to different numbers of significant limbs for x and y

	fixed pbs with ABSSIZE(x) wrt PREC(x) in mpfr_round

	added pointer to exponent, removed test with sprintf

	removed DEBUG stuff

	use PREC(x) instead of ABSSIZE(x) to get the number of significant limbs

	do 10^6 tests if no argument

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	J'avais oublie -g...

	Ajoute des flags de paranoiaque schizophrene.

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now prints nothing with no argument

	added texp and tdiv_ui

	test file for div_ui, initial revision

	commented out "avant arrondi..."

	clear res1/res2

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patches an ABR.

	Patch of an ABR.

	Patch in the case n = 0.

	Patch for a memory leak.

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added two tests for exact roots

	removed DEBUG stuff and fixed pb with exact root and GMP_RNDZ

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Correction d'un ABR.

1999-06-25  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test for prec=53 bits, removed output for argc==1

1999-06-25  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Initial revision.

1999-06-24  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patched an Array Bound Read.

	Corrected an Array Bound Read when all the bits are significative.

1999-06-24  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	i -> s in tests on mpfr_cmp_si

	fixed pb in mpfr_cmp_si_2exp (case b=0 or i=0)

	& -> &&

	removed 3rd arg. of mpfr_set_prec

	treats case b=c in mpfr_sub(a,b,c)

	removed 3rd argument in mpfr_set_prec
	reallocates only when more limbs are needed

	removed 3rd arg. of mpfr_set_prec

	added some mpfr_clear's that were missing

	removed 3rd argument from mpfr_set_prec

	removed 3rd argument of mpfr_set_prec

	changed prototype of mpfr_set_prec (no rounding mode needed any more)

	added test for case of missing exponent
	and if one argument, print it as a double

	fixed bug when exponent was missing (wrong result when part before
	binary point is not zero)

	added tests from JM Muller and V Lefevre

1999-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	corrected bad case in mpfr_can_round_raw where rnd1=GMP_RNDN
	and err is a multiple of BITS_PER_MP_LIMB (was modifying an
	extra limb perhaps not allocated)

1999-06-23  Sylvie Boldo  <sylvie.boldo@inria.fr>

	qq bugs d'arrondis

1999-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added exp and div_ui

	added test of exp(Pi*sqrt(163)/3)-640320 [texp 0.0 prec]

	test file for mpfr_exp, initial revision

	added two tests

	removed printf's and added one test for leading '+'

	now allows leading '+'

1999-06-23  Sylvie Boldo  <sylvie.boldo@inria.fr>

	nettoye

1999-06-23  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	removed printf

	removed printf's

	added tests for large precision (tlog x prec rnd)

	added test for exact division

	mpfr_cmp -> mpfr_cmp2

	removed printf, added exit on error

	initial revision

	cleaned local variables

	changed prototype of mpfr_div (now returns int)

	now deals correctly with exact division
	removed DEBUG stuff
	returns 0/1 according to exact division

1999-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug found by F. Rouillier: x * Z(2/x) -> 0 [carry from mpfr_round_raw]

1999-06-22  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Fill with 0 the part added in case of a larger reallocation.

	Rajoute le bug report de Fabrice.

1999-06-22  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed bug in mpfr_can_round when prec or err are multiples of BITS_PER_MP_LIMB

	added test to check sign of result

	fixed bug: wrong sign when SIGN(a)<0 at beginning

1999-06-22  Sylvie Boldo  <sylvie.boldo@inria.fr>

	avec plein de cas d'erreurs

	marche bien

	Marche bien

1999-06-21  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Corrected prototype of mpfr_can_round_raw.

	Various patches.

	Added prototype for mpfr_can_round_raw

	Added mpfr_can_round_raw ; mpfr_can_round just calls it.

	Declaration mpfr_print_rnd_mode.c

	print_rnd_mode.c -> mpfr_print_rnd_mode.c

	Print the rounding mode.

	Changement de semantique (plus d'arrondi) et alloc + free -> realloc.

1999-06-21  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	initial revision

	added one test

	now deal with carry from mpfr_round_raw

	fixed problem with count_leading_zeros undefined for 0

	store computed value and try to reuse it for next calls

	added test cn>= in mpfr_cmp2

	added mpfr_sub_one_ulp

1999-06-18  Sylvie Boldo  <sylvie.boldo@inria.fr>

	tests par rapport aux doubles

	pour decouvrir les erreurs

	version qui marche

1999-06-18  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	special cases NaN and 0

	fixed a few errors

1999-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tests for n=0 and d=0

	added test for 0.0/1.0

	SET_NAN(q) -> SET_NAN(Q)

	added one exact root with rounding towards zero

	added one test

	added two tests

	patch to detect exact roots (otherwise problem with rounding to zero)

	changed way zero is represented : most sign. limb is zero

	added special case for zero

	special case for zero

	special cases for NaN and zero

	special case when one of the arguments is zero

	added bug found by S. Boldo and fixed (pb in mpfr_round_raw2)

	fixed bug in mpfr_round_raw2 which was returning other values than 0 or 1

1999-06-17  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Corrected a potential problem in add(a, a, a);

	Corrected a potential problem in sub(a, a, a);

1999-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	SET_NAN(x) -> SET_NAN(X)

1999-06-17  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch in cmp2 for some dirty cases (2^a + 2^b <-> 2^a + z, z << 2^a, b << a)

1999-06-17  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added test to check bug found by JL Remy

	added TMP_DECL/TMP_MARK/TMP_FREE in mpfr_sub1 to deal with case
	where destination=source

1999-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Bug dans set_d(0) ; la mantisse n'est pas initialisee a 0 correctement.

	Gere differemment les problemes d'egalite entre destinations et arguments.

	Rajoute log.o et tlog

	Vire fichier inutile.

1999-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added new tests

	fixed bug for overlap=k*mp_bits_per_limb, k>=1

1999-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Vire Makefile de CVS.

	Vire les Makefile de CVS.

1999-06-16  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added one test and random init.

	added one test

	added tests for cases where destination = source

	cases NaN and destination=source

	now iterates if one cannot round after 1st try,
	and deals with case destination = source

	mpfr_can_round again and again

	added case of NaN

	added macro SET_ZERO

	now allows destination = source

1999-06-16  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Vire les tests de cvs.

1999-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	printf -> fprintf

	error message when destination equals source (case not yet treated)

	now uses the given rounding mode internally instead of always GMP_RNDZ

	now rounding to nearest should be correct

1999-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Encore et toujours mpfr_can_round...

	Nettoyage.

	Patch pour mpfr_can_round.

1999-06-15  Sylvie Boldo  <sylvie.boldo@inria.fr>

	sans instructions de debuggage

	rajout de log.o et tlog

	rajout de tlog

	ajout du log

	*** empty log message ***

	premiere version du log

1999-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	now recognizes division by exact power of 2

	added mpfr_cmp_[us]i_2exp

	added mpfr_[us]i_2exp

	added mpfr_cmp_[us]i_2exp

1999-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Correction de bug (pas msb normalise).

1999-06-15  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	fixed mistake in error analysis (does not change code)

1999-06-15  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Ajout de random.o dans les objets.

	random.c : engendre un mpfr_t dans [0, 1[. GH, 15/06
	TODO : un random qui engendre un mpfr_t avec exposant gaussien centre.

1999-06-15  Jean-Luc Rémy  <Jean-Luc.Remy@loria.fr>

	changed return value to void

1999-06-14  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Ajoute les modes d'arrondi RNDN et RNDD.

	Correction du prototype de mpfr_mul_ui

	Correction du prototype de mpfr_mul_ui

1999-06-14  Sylvie Boldo  <sylvie.boldo@inria.fr>

	*** empty log message ***

1999-06-14  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added several files

	added several prototypes

	added set_z, add_one_ulp

	added mpfr_get_d2 which only considers the mantissa

	now uses mpfr_get_d2 (no side effect on arguments)

	test file for mpfr_log2

	test file for mpfr_set_z

	test file for mpfr_pi

	computes log(2)

	add one ulp

	set a mpfr from an integer

	computes Pi to n bits

1999-06-14  Sylvie Boldo  <sylvie.boldo@inria.fr>

	*** empty log message ***

1999-06-11  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	Initial revision of mpfr documentation

1999-06-10  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	Patch d'un mpfr_set_d dans tsqrt.c ; GH, 100699

	Patch d'un mpfr_set_d dans get_str.c ; GH, 100699

	Tentative de configuration automatique, v. initiale. GH, 100699

1999-06-10  Sylvie Boldo  <sylvie.boldo@inria.fr>

	*** empty log message ***

1999-06-10  Paul Zimmermann  <Paul.Zimmermann@inria.fr>

	added tout_str

	Initial revision.

	added out_str.c and pow.c

	added proto for mpfr_pow_ui and mpfr_ui_pow_ui

	Initial revision.

	added include <stdio.h> (needed for FILE in mpfr.h)

	added proto for mpfr_out_str

	function to print a mpfr to a stream. Initial revision.

	changed proto of mpfr_get_str: 2nd arg is mp_exp_t*, not char*

	now conforms to the specification

1999-06-09  Guillaume Hanrot  <Guillaume.Hanrot@ens-lyon.fr>

	tset_i -> tset_si dans le Makefile de tests.

	Version corrigee de mmpfr.

	Makefile qui devrait fonctionner pour tous.

	Correction de warnings dans tmul_2exp.c

	Initial revision