1570af302Sopenharmony_ci// log10.testdata 2570af302Sopenharmony_ci// copyright (C) 2005 Ch. Q. Lauter and V.Lefevre 3570af302Sopenharmony_ci// This file is part of crlibm and is distributed under the GNU Public Licence 4570af302Sopenharmony_ci// See file COPYING for details 5570af302Sopenharmony_ci// The following lines are either comments (beginning with a #) 6570af302Sopenharmony_ci// or give 7570af302Sopenharmony_ci// 1/ a rounding mode : RN|RU|RD|RZ (crlibm syntax) or N|P|M|Z (libmcr syntax) 8570af302Sopenharmony_ci// 2/ The high and low hexadecimal halves of an input 9570af302Sopenharmony_ci// 3/ The high and low hexadecimal halves of the expected corresponding output 10570af302Sopenharmony_ci// Test all positive integer powers of 10 for exponents (to 10) from 0 to 25 11570af302Sopenharmony_ci// especially in the directed rounding modes 12570af302Sopenharmony_ci// (testing exponents 0 to 17 should suffice in fact) 13570af302Sopenharmony_ciT(RN, 0x1p+0, 0x0p+0, 0x0p+0, 0) 14570af302Sopenharmony_ciT(RU, 0x1p+0, 0x0p+0, 0x0p+0, 0) 15570af302Sopenharmony_ciT(RD, 0x1p+0, 0x0p+0, 0x0p+0, 0) 16570af302Sopenharmony_ciT(RZ, 0x1p+0, 0x0p+0, 0x0p+0, 0) 17570af302Sopenharmony_ciT(RN, 0x1.4p+3, 0x1p+0, 0x0p+0, 0) 18570af302Sopenharmony_ciT(RU, 0x1.4p+3, 0x1p+0, 0x0p+0, 0) 19570af302Sopenharmony_ciT(RD, 0x1.4p+3, 0x1p+0, 0x0p+0, 0) 20570af302Sopenharmony_ciT(RZ, 0x1.4p+3, 0x1p+0, 0x0p+0, 0) 21570af302Sopenharmony_ciT(RN, 0x1.9p+6, 0x1p+1, 0x0p+0, 0) 22570af302Sopenharmony_ciT(RU, 0x1.9p+6, 0x1p+1, 0x0p+0, 0) 23570af302Sopenharmony_ciT(RD, 0x1.9p+6, 0x1p+1, 0x0p+0, 0) 24570af302Sopenharmony_ciT(RZ, 0x1.9p+6, 0x1p+1, 0x0p+0, 0) 25570af302Sopenharmony_ciT(RN, 0x1.f4p+9, 0x1.8p+1, 0x0p+0, 0) 26570af302Sopenharmony_ciT(RU, 0x1.f4p+9, 0x1.8p+1, 0x0p+0, 0) 27570af302Sopenharmony_ciT(RD, 0x1.f4p+9, 0x1.8p+1, 0x0p+0, 0) 28570af302Sopenharmony_ciT(RZ, 0x1.f4p+9, 0x1.8p+1, 0x0p+0, 0) 29570af302Sopenharmony_ciT(RN, 0x1.388p+13, 0x1p+2, 0x0p+0, 0) 30570af302Sopenharmony_ciT(RU, 0x1.388p+13, 0x1p+2, 0x0p+0, 0) 31570af302Sopenharmony_ciT(RD, 0x1.388p+13, 0x1p+2, 0x0p+0, 0) 32570af302Sopenharmony_ciT(RZ, 0x1.388p+13, 0x1p+2, 0x0p+0, 0) 33570af302Sopenharmony_ciT(RN, 0x1.86ap+16, 0x1.4p+2, 0x0p+0, 0) 34570af302Sopenharmony_ciT(RU, 0x1.86ap+16, 0x1.4p+2, 0x0p+0, 0) 35570af302Sopenharmony_ciT(RD, 0x1.86ap+16, 0x1.4p+2, 0x0p+0, 0) 36570af302Sopenharmony_ciT(RZ, 0x1.86ap+16, 0x1.4p+2, 0x0p+0, 0) 37570af302Sopenharmony_ciT(RN, 0x1.e848p+19, 0x1.8p+2, 0x0p+0, 0) 38570af302Sopenharmony_ciT(RU, 0x1.e848p+19, 0x1.8p+2, 0x0p+0, 0) 39570af302Sopenharmony_ciT(RD, 0x1.e848p+19, 0x1.8p+2, 0x0p+0, 0) 40570af302Sopenharmony_ciT(RZ, 0x1.e848p+19, 0x1.8p+2, 0x0p+0, 0) 41570af302Sopenharmony_ciT(RN, 0x1.312dp+23, 0x1.cp+2, 0x0p+0, 0) 42570af302Sopenharmony_ciT(RU, 0x1.312dp+23, 0x1.cp+2, 0x0p+0, 0) 43570af302Sopenharmony_ciT(RD, 0x1.312dp+23, 0x1.cp+2, 0x0p+0, 0) 44570af302Sopenharmony_ciT(RZ, 0x1.312dp+23, 0x1.cp+2, 0x0p+0, 0) 45570af302Sopenharmony_ciT(RN, 0x1.7d784p+26, 0x1p+3, 0x0p+0, 0) 46570af302Sopenharmony_ciT(RU, 0x1.7d784p+26, 0x1p+3, 0x0p+0, 0) 47570af302Sopenharmony_ciT(RD, 0x1.7d784p+26, 0x1p+3, 0x0p+0, 0) 48570af302Sopenharmony_ciT(RZ, 0x1.7d784p+26, 0x1p+3, 0x0p+0, 0) 49570af302Sopenharmony_ciT(RN, 0x1.dcd65p+29, 0x1.2p+3, 0x0p+0, 0) 50570af302Sopenharmony_ciT(RU, 0x1.dcd65p+29, 0x1.2p+3, 0x0p+0, 0) 51570af302Sopenharmony_ciT(RD, 0x1.dcd65p+29, 0x1.2p+3, 0x0p+0, 0) 52570af302Sopenharmony_ciT(RZ, 0x1.dcd65p+29, 0x1.2p+3, 0x0p+0, 0) 53570af302Sopenharmony_ciT(RN, 0x1.2a05f2p+33, 0x1.4p+3, 0x0p+0, 0) 54570af302Sopenharmony_ciT(RU, 0x1.2a05f2p+33, 0x1.4p+3, 0x0p+0, 0) 55570af302Sopenharmony_ciT(RD, 0x1.2a05f2p+33, 0x1.4p+3, 0x0p+0, 0) 56570af302Sopenharmony_ciT(RZ, 0x1.2a05f2p+33, 0x1.4p+3, 0x0p+0, 0) 57570af302Sopenharmony_ciT(RN, 0x1.74876e8p+36, 0x1.6p+3, 0x0p+0, 0) 58570af302Sopenharmony_ciT(RU, 0x1.74876e8p+36, 0x1.6p+3, 0x0p+0, 0) 59570af302Sopenharmony_ciT(RD, 0x1.74876e8p+36, 0x1.6p+3, 0x0p+0, 0) 60570af302Sopenharmony_ciT(RZ, 0x1.74876e8p+36, 0x1.6p+3, 0x0p+0, 0) 61570af302Sopenharmony_ciT(RN, 0x1.d1a94a2p+39, 0x1.8p+3, 0x0p+0, 0) 62570af302Sopenharmony_ciT(RU, 0x1.d1a94a2p+39, 0x1.8p+3, 0x0p+0, 0) 63570af302Sopenharmony_ciT(RD, 0x1.d1a94a2p+39, 0x1.8p+3, 0x0p+0, 0) 64570af302Sopenharmony_ciT(RZ, 0x1.d1a94a2p+39, 0x1.8p+3, 0x0p+0, 0) 65570af302Sopenharmony_ciT(RN, 0x1.2309ce54p+43, 0x1.ap+3, 0x0p+0, 0) 66570af302Sopenharmony_ciT(RU, 0x1.2309ce54p+43, 0x1.ap+3, 0x0p+0, 0) 67570af302Sopenharmony_ciT(RD, 0x1.2309ce54p+43, 0x1.ap+3, 0x0p+0, 0) 68570af302Sopenharmony_ciT(RZ, 0x1.2309ce54p+43, 0x1.ap+3, 0x0p+0, 0) 69570af302Sopenharmony_ciT(RN, 0x1.6bcc41e9p+46, 0x1.cp+3, 0x0p+0, 0) 70570af302Sopenharmony_ciT(RU, 0x1.6bcc41e9p+46, 0x1.cp+3, 0x0p+0, 0) 71570af302Sopenharmony_ciT(RD, 0x1.6bcc41e9p+46, 0x1.cp+3, 0x0p+0, 0) 72570af302Sopenharmony_ciT(RZ, 0x1.6bcc41e9p+46, 0x1.cp+3, 0x0p+0, 0) 73570af302Sopenharmony_ciT(RN, 0x1.c6bf52634p+49, 0x1.ep+3, 0x0p+0, 0) 74570af302Sopenharmony_ciT(RU, 0x1.c6bf52634p+49, 0x1.ep+3, 0x0p+0, 0) 75570af302Sopenharmony_ciT(RD, 0x1.c6bf52634p+49, 0x1.ep+3, 0x0p+0, 0) 76570af302Sopenharmony_ciT(RZ, 0x1.c6bf52634p+49, 0x1.ep+3, 0x0p+0, 0) 77570af302Sopenharmony_ciT(RN, 0x1.1c37937e08p+53, 0x1p+4, 0x0p+0, 0) 78570af302Sopenharmony_ciT(RU, 0x1.1c37937e08p+53, 0x1p+4, 0x0p+0, 0) 79570af302Sopenharmony_ciT(RD, 0x1.1c37937e08p+53, 0x1p+4, 0x0p+0, 0) 80570af302Sopenharmony_ciT(RZ, 0x1.1c37937e08p+53, 0x1p+4, 0x0p+0, 0) 81570af302Sopenharmony_ciT(RN, 0x1.6345785d8ap+56, 0x1.1p+4, 0x0p+0, 0) 82570af302Sopenharmony_ciT(RU, 0x1.6345785d8ap+56, 0x1.1p+4, 0x0p+0, 0) 83570af302Sopenharmony_ciT(RD, 0x1.6345785d8ap+56, 0x1.1p+4, 0x0p+0, 0) 84570af302Sopenharmony_ciT(RZ, 0x1.6345785d8ap+56, 0x1.1p+4, 0x0p+0, 0) 85570af302Sopenharmony_ciT(RN, 0x1.bc16d674ec8p+59, 0x1.2p+4, 0x0p+0, 0) 86570af302Sopenharmony_ciT(RU, 0x1.bc16d674ec8p+59, 0x1.2p+4, 0x0p+0, 0) 87570af302Sopenharmony_ciT(RD, 0x1.bc16d674ec8p+59, 0x1.2p+4, 0x0p+0, 0) 88570af302Sopenharmony_ciT(RZ, 0x1.bc16d674ec8p+59, 0x1.2p+4, 0x0p+0, 0) 89570af302Sopenharmony_ciT(RN, 0x1.158e460913dp+63, 0x1.3p+4, 0x0p+0, 0) 90570af302Sopenharmony_ciT(RU, 0x1.158e460913dp+63, 0x1.3p+4, 0x0p+0, 0) 91570af302Sopenharmony_ciT(RD, 0x1.158e460913dp+63, 0x1.3p+4, 0x0p+0, 0) 92570af302Sopenharmony_ciT(RZ, 0x1.158e460913dp+63, 0x1.3p+4, 0x0p+0, 0) 93570af302Sopenharmony_ciT(RN, 0x1.5af1d78b58c4p+66, 0x1.4p+4, 0x0p+0, 0) 94570af302Sopenharmony_ciT(RU, 0x1.5af1d78b58c4p+66, 0x1.4p+4, 0x0p+0, 0) 95570af302Sopenharmony_ciT(RD, 0x1.5af1d78b58c4p+66, 0x1.4p+4, 0x0p+0, 0) 96570af302Sopenharmony_ciT(RZ, 0x1.5af1d78b58c4p+66, 0x1.4p+4, 0x0p+0, 0) 97570af302Sopenharmony_ciT(RN, 0x1.b1ae4d6e2ef5p+69, 0x1.5p+4, 0x0p+0, 0) 98570af302Sopenharmony_ciT(RU, 0x1.b1ae4d6e2ef5p+69, 0x1.5p+4, 0x0p+0, 0) 99570af302Sopenharmony_ciT(RD, 0x1.b1ae4d6e2ef5p+69, 0x1.5p+4, 0x0p+0, 0) 100570af302Sopenharmony_ciT(RZ, 0x1.b1ae4d6e2ef5p+69, 0x1.5p+4, 0x0p+0, 0) 101570af302Sopenharmony_ciT(RN, 0x1.0f0cf064dd592p+73, 0x1.6p+4, 0x0p+0, 0) 102570af302Sopenharmony_ciT(RU, 0x1.0f0cf064dd592p+73, 0x1.6p+4, 0x0p+0, 0) 103570af302Sopenharmony_ciT(RD, 0x1.0f0cf064dd592p+73, 0x1.6p+4, 0x0p+0, 0) 104570af302Sopenharmony_ciT(RZ, 0x1.0f0cf064dd592p+73, 0x1.6p+4, 0x0p+0, 0) 105570af302Sopenharmony_ciT(RN, 0x1.52d02c7e14af6p+76, 0x1.7p+4, 0x1.5004e2p-7, INEXACT) 106570af302Sopenharmony_ciT(RU, 0x1.52d02c7e14af6p+76, 0x1.7p+4, 0x1.5004e2p-7, INEXACT) 107570af302Sopenharmony_ciT(RD, 0x1.52d02c7e14af6p+76, 0x1.6ffffffffffffp+4, -0x1.fabfecp-1, INEXACT) 108570af302Sopenharmony_ciT(RZ, 0x1.52d02c7e14af6p+76, 0x1.6ffffffffffffp+4, -0x1.fabfecp-1, INEXACT) 109570af302Sopenharmony_ciT(RN, 0x1.a784379d99db4p+79, 0x1.8p+4, 0x1.0cd0b6p-9, INEXACT) 110570af302Sopenharmony_ciT(RU, 0x1.a784379d99db4p+79, 0x1.8p+4, 0x1.0cd0b6p-9, INEXACT) 111570af302Sopenharmony_ciT(RD, 0x1.a784379d99db4p+79, 0x1.7ffffffffffffp+4, -0x1.fef33p-1, INEXACT) 112570af302Sopenharmony_ciT(RZ, 0x1.a784379d99db4p+79, 0x1.7ffffffffffffp+4, -0x1.fef33p-1, INEXACT) 113570af302Sopenharmony_ciT(RN, 0x1.08b2a2c280291p+83, 0x1.9p+4, -0x1.6ae68ep-7, INEXACT) 114570af302Sopenharmony_ciT(RU, 0x1.08b2a2c280291p+83, 0x1.9000000000001p+4, 0x1.fa5466p-1, INEXACT) 115570af302Sopenharmony_ciT(RD, 0x1.08b2a2c280291p+83, 0x1.9p+4, -0x1.6ae68ep-7, INEXACT) 116570af302Sopenharmony_ciT(RZ, 0x1.08b2a2c280291p+83, 0x1.9p+4, -0x1.6ae68ep-7, INEXACT) 117570af302Sopenharmony_ci// The very worst case 118570af302Sopenharmony_ciT(RN, 0x1.e12d66744ff81p+429, 0x1.02d4f53729e45p+7, 0x1p-1, INEXACT) 119570af302Sopenharmony_ciT(RU, 0x1.e12d66744ff81p+429, 0x1.02d4f53729e45p+7, 0x1p-1, INEXACT) 120570af302Sopenharmony_ciT(RD, 0x1.e12d66744ff81p+429, 0x1.02d4f53729e44p+7, -0x1p-1, INEXACT) 121570af302Sopenharmony_ciT(RZ, 0x1.e12d66744ff81p+429, 0x1.02d4f53729e44p+7, -0x1p-1, INEXACT) 122570af302Sopenharmony_ciT(RN, 0x1.ce41d8fa665fap+4, 0x1.75f49c6ad3badp+0, -0x1.46p-68, INEXACT) 123570af302Sopenharmony_ciT(RU, 0x1.ce41d8fa665fap+4, 0x1.75f49c6ad3baep+0, 0x1p+0, INEXACT) 124570af302Sopenharmony_ciT(RD, 0x1.ce41d8fa665fap+4, 0x1.75f49c6ad3badp+0, -0x1.46p-68, INEXACT) 125570af302Sopenharmony_ciT(RZ, 0x1.ce41d8fa665fap+4, 0x1.75f49c6ad3badp+0, -0x1.46p-68, INEXACT) 126570af302Sopenharmony_ci// One in five of the very worst cases computed by Lefevre and Muller. 127570af302Sopenharmony_ci// Rounding these values requires evaluating the function to at least 2^(-100). 128570af302Sopenharmony_ci// These worst cases have been selected thanks to the filterlists 5 script 129570af302Sopenharmony_ci// If you want the full list please contact Jean-Michel Muller 130570af302Sopenharmony_ciT(RN, 0x1.62410eb7b7e1p-1, -0x1.479681c44dd78p-3, -0x1p-1, INEXACT) // 6.919025992646670175645340350457e-01 131570af302Sopenharmony_ciT(RZ, 0x1.2a8e6c238a22ep-1, -0x1.dfbb24b4d439dp-3, 0x1p+0, INEXACT) // 5.831178468116087199035746380105e-01 132570af302Sopenharmony_ciT(RN, 0x1.b0cf736f1ae1dp-1, -0x1.2ae5057cd8c44p-4, 0x1p-1, INEXACT) // 8.453327248693686124525470404478e-01 133570af302Sopenharmony_ciT(RN, 0x1.89825f74aa6b7p+0, 0x1.7e646f3fab0d1p-3, 0x1p-1, INEXACT) // 1.537145582182729119935515882389e+00 134570af302Sopenharmony_ciT(RN, 0x1.1705af708c532p+2, 0x1.476724bcf05c3p-1, 0x1p-1, INEXACT) // 4.359722003851219440662134729791e+00 135570af302Sopenharmony_ciT(RZ, 0x1.8070cd731f577p+2, 0x1.8eab1f62d8e8dp-1, -0x1.edefp-55, INEXACT) // 6.006884920524831805721532873577e+00 136570af302Sopenharmony_ciT(RN, 0x1.09732bc3fb6fp+3, 0x1.d67138d8e1fabp-1, 0x1p-1, INEXACT) // 8.295308954980527005318435840309e+00 137570af302Sopenharmony_ciT(RN, 0x1.819598b70b769p+1, 0x1.ea673c9a0bc62p-2, -0x1p-1, INEXACT) // 3.012377824189503616736374169705e+00 138570af302Sopenharmony_ciT(RN, 0x1.96c0b463d632ep+3, 0x1.1aab931fc4a83p+0, 0x1p-1, INEXACT) // 1.271102351664884722026727104094e+01 139570af302Sopenharmony_ciT(RZ, 0x1.3ba0e5e7c603dp+4, 0x1.4b88ce4490878p+0, -0x1.f0e37cp-53, INEXACT) // 1.972678175484201190670319192577e+01 140570af302Sopenharmony_ciT(RZ, 0x1.f60165d5bc3e1p+5, 0x1.cc30b915ec8c3p+0, -0x1p+0, INEXACT) // 6.275068251591415702250742469914e+01 141570af302Sopenharmony_ciT(RN, 0x1.0214115c6897ep+7, 0x1.0e2c2079f4791p+1, -0x1p-1, INEXACT) // 1.290391949536969491418858524412e+02 142570af302Sopenharmony_ciT(RN, 0x1.e5b46cc566c89p+7, 0x1.3152e63907254p+1, -0x1p-1, INEXACT) // 2.428523923576324534678860800341e+02 143570af302Sopenharmony_ciT(RN, 0x1.13aedb3538379p+12, 0x1.d27ff5ae16374p+1, -0x1p-1, INEXACT) // 4.410928517551038567034993320704e+03 144570af302Sopenharmony_ciT(RZ, 0x1.c8ed39b9d8a37p+12, 0x1.ee9674267e65fp+1, -0x1.ca0ep-60, INEXACT) // 7.310826593252414568269159644842e+03 145570af302Sopenharmony_ciT(RZ, 0x1.5e441b86eb0e5p+15, 0x1.29b3f213569e3p+2, -0x1.322ep-55, INEXACT) // 4.483405376371907914290204644203e+04 146570af302Sopenharmony_ciT(RN, 0x1.c981659f2ca6p+32, 0x1.3c52df27c62b2p+3, 0x1p-1, INEXACT) // 7.675667871174407958984375000000e+09 147570af302Sopenharmony_ciT(RN, 0x1.fe67e6c6ceb38p+34, 0x1.511c39d418079p+3, -0x1p-1, INEXACT) // 3.425275778722970581054687500000e+10 148570af302Sopenharmony_ciT(RN, 0x1.e16ed4ce49996p+37, 0x1.6d326d60c8089p+3, -0x1p-1, INEXACT) // 2.584673386971998901367187500000e+11 149570af302Sopenharmony_ciT(RN, 0x1.3f00f03c41303p+38, 0x1.711c39d418079p+3, -0x1p-1, INEXACT) // 3.425275778722970581054687500000e+11 150570af302Sopenharmony_ciT(RN, 0x1.51ed94d282c63p+40, 0x1.852d55dca353p+3, 0x1p-1, INEXACT) // 1.451389932162774169921875000000e+12 151570af302Sopenharmony_ciT(RN, 0x1.a275c0b3d6b93p+60, 0x1.24674679efeeep+4, 0x1p-1, INEXACT) // 1.884576172422697728000000000000e+18 152570af302Sopenharmony_ciT(RN, 0x1.acf0197df0564p+90, 0x1.b511d58e9bf6ep+4, -0x1p-1, INEXACT) // 2.074216355977599705575063552000e+27 153570af302Sopenharmony_ciT(RN, 0x1.2975c05d77d0cp+115, 0x1.1578173b49d48p+5, 0x1p-1, INEXACT) // 4.826563905133211468089089063282e+34 154570af302Sopenharmony_ciT(RN, 0x1.691810a4906ebp+153, 0x1.71a7dfb3f259p+5, -0x1p-1, INEXACT) // 1.610533074958623000119510242602e+46 155570af302Sopenharmony_ciT(RN, 0x1.758976044bfd1p+157, 0x1.7b680b5de7eb4p+5, -0x1p-1, INEXACT) // 2.665648800401707910762303594475e+47 156570af302Sopenharmony_ciT(RZ, 0x1.2822af2487796p+165, 0x1.8ddd97d7481f1p+5, -0x1.65c54p-57, INEXACT) // 5.410031201858834566460604651708e+49 157570af302Sopenharmony_ciT(RZ, 0x1.00ecbfe1c7e24p+226, 0x1.10232b5bc1921p+6, -0x1.34878p-58, INEXACT) // 1.082293591137922845086980219250e+68 158570af302Sopenharmony_ciT(RZ, 0x1.01db5ea232cccp+265, 0x1.3f1ab6b9840dp+6, -0x1.6b55p-58, INEXACT) // 5.971558130181310987237296921284e+79 159570af302Sopenharmony_ciT(RN, 0x1.aa8cce883305bp+313, 0x1.79c6c70a21751p+6, 0x1p-1, INEXACT) // 2.780472798533127667532607272298e+94 160570af302Sopenharmony_ciT(RN, 0x1.6848181b7571cp+318, 0x1.7f80f69d57adep+6, -0x1p-1, INEXACT) // 7.515203759795911185316596929209e+95 161570af302Sopenharmony_ciT(RZ, 0x1.f5b55de961a8ep+541, 0x1.464c8348af949p+7, -0x1p+0, INEXACT) // 1.410714456596528386795551901832e+163 162570af302Sopenharmony_ciT(RN, 0x1.4d0f00313488cp+576, 0x1.5b03deaa9abb2p+7, -0x1p-1, INEXACT) // 3.217793610610951495377196763253e+173 163570af302Sopenharmony_ciT(RN, 0x1.3e238630d4b3bp+581, 0x1.5dfc50d1ef669p+7, 0x1p-1, INEXACT) // 9.835673600325649497978919582662e+174 164570af302Sopenharmony_ciT(RZ, 0x1.061d60c2c0093p+803, 0x1.e379845eaa774p+7, -0x1.838ap-59, INEXACT) // 5.461828085706753538145251018537e+241 165570af302Sopenharmony_ciT(RZ, 0x1.bd35ae5d5fe52p+952, 0x1.1ed22539bd8d6p+8, -0x1.e9ap-62, INEXACT) // 6.620343395914844405355705099139e+286 166