log10 # Name of the function to test # log10.testdata # copyright (C) 2005 Ch. Q. Lauter and V.Lefevre # This file is part of crlibm and is distributed under the GNU Public Licence # See file COPYING for details # The following lines are either comments (beginning with a #) # or give # 1/ a rounding mode : RN|RU|RD|RZ (crlibm syntax) or N|P|M|Z (libmcr syntax) # 2/ The high and low hexadecimal halves of an input # 3/ The high and low hexadecimal halves of the expected corresponding output # Test all positive integer powers of 10 for exponents (to 10) from 0 to 25 # especially in the directed rounding modes # (testing exponents 0 to 17 should suffice in fact) N 3FF00000 00000000 00000000 00000000 P 3FF00000 00000000 00000000 00000000 M 3FF00000 00000000 00000000 00000000 Z 3FF00000 00000000 00000000 00000000 N 40240000 00000000 3FF00000 00000000 P 40240000 00000000 3FF00000 00000000 M 40240000 00000000 3FF00000 00000000 Z 40240000 00000000 3FF00000 00000000 N 40590000 00000000 40000000 00000000 P 40590000 00000000 40000000 00000000 M 40590000 00000000 40000000 00000000 Z 40590000 00000000 40000000 00000000 N 408F4000 00000000 40080000 00000000 P 408F4000 00000000 40080000 00000000 M 408F4000 00000000 40080000 00000000 Z 408F4000 00000000 40080000 00000000 N 40C38800 00000000 40100000 00000000 P 40C38800 00000000 40100000 00000000 M 40C38800 00000000 40100000 00000000 Z 40C38800 00000000 40100000 00000000 N 40F86A00 00000000 40140000 00000000 P 40F86A00 00000000 40140000 00000000 M 40F86A00 00000000 40140000 00000000 Z 40F86A00 00000000 40140000 00000000 N 412E8480 00000000 40180000 00000000 P 412E8480 00000000 40180000 00000000 M 412E8480 00000000 40180000 00000000 Z 412E8480 00000000 40180000 00000000 N 416312D0 00000000 401C0000 00000000 P 416312D0 00000000 401C0000 00000000 M 416312D0 00000000 401C0000 00000000 Z 416312D0 00000000 401C0000 00000000 N 4197D784 00000000 40200000 00000000 P 4197D784 00000000 40200000 00000000 M 4197D784 00000000 40200000 00000000 Z 4197D784 00000000 40200000 00000000 N 41CDCD65 00000000 40220000 00000000 P 41CDCD65 00000000 40220000 00000000 M 41CDCD65 00000000 40220000 00000000 Z 41CDCD65 00000000 40220000 00000000 N 4202A05F 20000000 40240000 00000000 P 4202A05F 20000000 40240000 00000000 M 4202A05F 20000000 40240000 00000000 Z 4202A05F 20000000 40240000 00000000 N 42374876 E8000000 40260000 00000000 P 42374876 E8000000 40260000 00000000 M 42374876 E8000000 40260000 00000000 Z 42374876 E8000000 40260000 00000000 N 426D1A94 A2000000 40280000 00000000 P 426D1A94 A2000000 40280000 00000000 M 426D1A94 A2000000 40280000 00000000 Z 426D1A94 A2000000 40280000 00000000 N 42A2309C E5400000 402A0000 00000000 P 42A2309C E5400000 402A0000 00000000 M 42A2309C E5400000 402A0000 00000000 Z 42A2309C E5400000 402A0000 00000000 N 42D6BCC4 1E900000 402C0000 00000000 P 42D6BCC4 1E900000 402C0000 00000000 M 42D6BCC4 1E900000 402C0000 00000000 Z 42D6BCC4 1E900000 402C0000 00000000 N 430C6BF5 26340000 402E0000 00000000 P 430C6BF5 26340000 402E0000 00000000 M 430C6BF5 26340000 402E0000 00000000 Z 430C6BF5 26340000 402E0000 00000000 N 4341C379 37E08000 40300000 00000000 P 4341C379 37E08000 40300000 00000000 M 4341C379 37E08000 40300000 00000000 Z 4341C379 37E08000 40300000 00000000 N 43763457 85D8A000 40310000 00000000 P 43763457 85D8A000 40310000 00000000 M 43763457 85D8A000 40310000 00000000 Z 43763457 85D8A000 40310000 00000000 N 43ABC16D 674EC800 40320000 00000000 P 43ABC16D 674EC800 40320000 00000000 M 43ABC16D 674EC800 40320000 00000000 Z 43ABC16D 674EC800 40320000 00000000 N 43E158E4 60913D00 40330000 00000000 P 43E158E4 60913D00 40330000 00000000 M 43E158E4 60913D00 40330000 00000000 Z 43E158E4 60913D00 40330000 00000000 N 4415AF1D 78B58C40 40340000 00000000 P 4415AF1D 78B58C40 40340000 00000000 M 4415AF1D 78B58C40 40340000 00000000 Z 4415AF1D 78B58C40 40340000 00000000 N 444B1AE4 D6E2EF50 40350000 00000000 P 444B1AE4 D6E2EF50 40350000 00000000 M 444B1AE4 D6E2EF50 40350000 00000000 Z 444B1AE4 D6E2EF50 40350000 00000000 N 4480F0CF 064DD592 40360000 00000000 P 4480F0CF 064DD592 40360000 00000000 M 4480F0CF 064DD592 40360000 00000000 Z 4480F0CF 064DD592 40360000 00000000 N 44B52D02 C7E14AF6 40370000 00000000 P 44B52D02 C7E14AF6 40370000 00000000 M 44B52D02 C7E14AF6 4036FFFF FFFFFFFF Z 44B52D02 C7E14AF6 4036FFFF FFFFFFFF N 44EA7843 79D99DB4 40380000 00000000 P 44EA7843 79D99DB4 40380000 00000000 M 44EA7843 79D99DB4 4037FFFF FFFFFFFF Z 44EA7843 79D99DB4 4037FFFF FFFFFFFF N 45208B2A 2C280291 40390000 00000000 P 45208B2A 2C280291 40390000 00000001 M 45208B2A 2C280291 40390000 00000000 Z 45208B2A 2C280291 40390000 00000000 # The very worst case N 5ACE12D6 6744FF81 40602d4f 53729e45 P 5ACE12D6 6744FF81 40602d4f 53729e45 M 5ACE12D6 6744FF81 40602d4f 53729e44 Z 5ACE12D6 6744FF81 40602d4f 53729e44 N 403CE41D 8FA665FA 3ff75f49 c6ad3bad P 403CE41D 8FA665FA 3ff75f49 c6ad3bae M 403CE41D 8FA665FA 3ff75f49 c6ad3bad Z 403CE41D 8FA665FA 3ff75f49 c6ad3bad # One in five of the very worst cases computed by Lefevre and Muller. # Rounding these values requires evaluating the function to at least 2^(-100). # These worst cases have been selected thanks to the filterlists 5 script # If you want the full list please contact Jean-Michel Muller N 0x3FE62410 0xEB7B7E10 0xBFC47968 0x1C44DD78 # 6.919025992646670175645340350457e-01 Z 0x3FE2A8E6 0xC238A22E 0xBFCDFBB2 0x4B4D439D # 5.831178468116087199035746380105e-01 N 0x3FEB0CF7 0x36F1AE1D 0xBFB2AE50 0x57CD8C44 # 8.453327248693686124525470404478e-01 N 0x3FF89825 0xF74AA6B7 0x3FC7E646 0xF3FAB0D1 # 1.537145582182729119935515882389e+00 N 0x4011705A 0xF708C532 0x3FE47672 0x4BCF05C3 # 4.359722003851219440662134729791e+00 Z 0x4018070C 0xD731F577 0x3FE8EAB1 0xF62D8E8D # 6.006884920524831805721532873577e+00 N 0x40209732 0xBC3FB6F0 0x3FED6713 0x8D8E1FAB # 8.295308954980527005318435840309e+00 N 0x40081959 0x8B70B769 0x3FDEA673 0xC9A0BC62 # 3.012377824189503616736374169705e+00 N 0x40296C0B 0x463D632E 0x3FF1AAB9 0x31FC4A83 # 1.271102351664884722026727104094e+01 Z 0x4033BA0E 0x5E7C603D 0x3FF4B88C 0xE4490878 # 1.972678175484201190670319192577e+01 Z 0x404F6016 0x5D5BC3E1 0x3FFCC30B 0x915EC8C3 # 6.275068251591415702250742469914e+01 N 0x40602141 0x15C6897E 0x4000E2C2 0x079F4791 # 1.290391949536969491418858524412e+02 N 0x406E5B46 0xCC566C89 0x4003152E 0x63907254 # 2.428523923576324534678860800341e+02 N 0x40B13AED 0xB3538379 0x400D27FF 0x5AE16374 # 4.410928517551038567034993320704e+03 Z 0x40BC8ED3 0x9B9D8A37 0x400EE967 0x4267E65F # 7.310826593252414568269159644842e+03 Z 0x40E5E441 0xB86EB0E5 0x40129B3F 0x213569E3 # 4.483405376371907914290204644203e+04 N 0x41FC9816 0x59F2CA60 0x4023C52D 0xF27C62B2 # 7.675667871174407958984375000000e+09 N 0x421FE67E 0x6C6CEB38 0x402511C3 0x9D418079 # 3.425275778722970581054687500000e+10 N 0x424E16ED 0x4CE49996 0x4026D326 0xD60C8089 # 2.584673386971998901367187500000e+11 N 0x4253F00F 0x03C41303 0x402711C3 0x9D418079 # 3.425275778722970581054687500000e+11 N 0x42751ED9 0x4D282C63 0x402852D5 0x5DCA3530 # 1.451389932162774169921875000000e+12 N 0x43BA275C 0x0B3D6B93 0x40324674 0x679EFEEE # 1.884576172422697728000000000000e+18 N 0x459ACF01 0x97DF0564 0x403B511D 0x58E9BF6E # 2.074216355977599705575063552000e+27 N 0x4722975C 0x05D77D0C 0x40415781 0x73B49D48 # 4.826563905133211468089089063282e+34 N 0x49869181 0x0A4906EB 0x40471A7D 0xFB3F2590 # 1.610533074958623000119510242602e+46 N 0x49C75897 0x6044BFD1 0x4047B680 0xB5DE7EB4 # 2.665648800401707910762303594475e+47 Z 0x4A42822A 0xF2487796 0x4048DDD9 0x7D7481F1 # 5.410031201858834566460604651708e+49 Z 0x4E100ECB 0xFE1C7E24 0x40510232 0xB5BC1921 # 1.082293591137922845086980219250e+68 Z 0x50801DB5 0xEA232CCC 0x4053F1AB 0x6B9840D0 # 5.971558130181310987237296921284e+79 N 0x538AA8CC 0xE883305B 0x40579C6C 0x70A21751 # 2.780472798533127667532607272298e+94 N 0x53D68481 0x81B7571C 0x4057F80F 0x69D57ADE # 7.515203759795911185316596929209e+95 Z 0x61CF5B55 0xDE961A8E 0x406464C8 0x348AF949 # 1.410714456596528386795551901832e+163 N 0x63F4D0F0 0x0313488C 0x4065B03D 0xEAA9ABB2 # 3.217793610610951495377196763253e+173 N 0x6443E238 0x630D4B3B 0x4065DFC5 0x0D1EF669 # 9.835673600325649497978919582662e+174 Z 0x722061D6 0x0C2C0093 0x406E3798 0x45EAA774 # 5.461828085706753538145251018537e+241 Z 0x7B7BD35A 0xE5D5FE52 0x4071ED22 0x539BD8D6 # 6.620343395914844405355705099139e+286