summaryrefslogtreecommitdiff
path: root/numeric.c
Commit message (Collapse)AuthorAgeFilesLines
* Replace common Emacs file-local variables with dir-localsDagfinn Ilmari Mannsåker2015-03-221-6/+0
| | | | | | | | | | | | | | | | An empty cpan/.dir-locals.el stops Emacs using the core defaults for code imported from CPAN. Committer's work: To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed to be incremented in many files, including throughout dist/PathTools. perldelta entry for module updates. Add two Emacs control files to MANIFEST; re-sort MANIFEST. For: RT #124119.
* Change some locale manipulation macros in prep for APIKarl Williamson2015-03-191-3/+5
| | | | | | | | | | This changes the way some of the current internal-only macros are named and used in order to simplify things and minimize what gets exposed as part of the API. Although these have not been listed as publicly available, it costs essentially nothing to keep the old names around in case someone was illegally using them.
* grok_atoUV: don't make part of APIHugo van der Sanden2015-03-091-2/+1
| | | | .. but keep available to extensions.
* [perl #123814] replace grok_atou with grok_atoUVHugo van der Sanden2015-03-091-36/+23
| | | | | | | | | | | | Some questions and loose ends: XXX gv.c:S_gv_magicalize - why are we using SSize_t for paren? XXX mg.c:Perl_magic_set - need appopriate error handling for $) XXX regcomp.c:S_reg - need to check if we do the right thing if parno was not grokked Perl_get_debug_opts should probably return something unsigned; not sure if that's something we can change.
* add missing infnan context under thread/quadmath buildsLukas Mai2015-02-211-1/+1
|
* infnan: revert nan payload/signaling changesJarkko Hietaniemi2015-02-111-531/+161
| | | | | | | | | | | | | | | | | | | | | | | | | 4258cf903c752ec19a3aeee9b93020533d923e1a 91e945c051cfcdf499d5b43aa5ac0a5681cdd595 eb254f2672a985ec3c34810f624f36c18fc35fc7 c9a671b17a9c588469bcef958038daaaaf9cc88b 99fcdd4df47515fb0a62a046e622adec0871754d ba511db061a88439acb528a66c780ab574bb4fb0 0d1cf11425608e9be019f27a3a4575bc71c49e6b c2ea8a88f8537d00ba25ec8feb63ef5dc085ef2b b5a6eedc2f49a90089cca896ee20f41e373fb4c9 30419b527d2c5a06cefe2db9183f59e2697c47fc 29b62199cd4c359dfc6b9d690341de40d105ca5f be181dc9d91c84a2fe03912c993c8259fed92641 4de1bcfe1abdaba0a5da394ddea0cc6fd7e36c7b 6e915616c4ccb4f6cc3122c5d395765db96c0a2d b2e3501558a1017eb529be0915c25d31671e7869 bfaa02d55f4ace1571e6fa9e5b47d5e3ac3cecc6 569f27e562618bdddcf4a9fc71612283a73747e9 4f89311dc8de87ddc9a302c6f2d2c844951bbd28 a307a0b0d83c509cc2adaad8cebb44260294bf36 6640aa2c3b93d7ac78e4e86983fe5948b3ca55f2 b74dc0b3c96390d8bf83d8c3ffc0c2c2d1f0a5d3 c3a8e5a5b4bb89a15de642c023dfd5cbc4678938
* infnan: store the nan payload error in an optional SVJarkko Hietaniemi2015-02-111-20/+18
|
* infnan: separate the nan payload overflow and invalid messagesJarkko Hietaniemi2015-02-101-15/+34
| | | | Also: display the payload, and the number of bits
* infnan: change the invalid nan message, add to perldiagJarkko Hietaniemi2015-02-101-5/+5
|
* infnan: "nan(1)cy" should numify to $NaN, but also warnJarkko Hietaniemi2015-02-101-1/+4
| | | | More test cases.
* infnan: the nan quiet/signaling bit is not enoughJarkko Hietaniemi2015-02-081-26/+34
|
* infnan: the x86 80-bit extended precision is specialJarkko Hietaniemi2015-02-081-3/+30
|
* infnan: API context jugglingJarkko Hietaniemi2015-02-081-3/+3
|
* infnan: grok_number* setting the infnan NV directlyJarkko Hietaniemi2015-02-081-161/+46
|
* infnan: add grok_nan and grok_nan_payloadJarkko Hietaniemi2015-02-081-0/+231
|
* infnan: add nan_payload_setJarkko Hietaniemi2015-02-081-0/+83
|
* infnan: add nan_is_signalingJarkko Hietaniemi2015-02-081-0/+35
|
* infnan: add nan_signaling_setJarkko Hietaniemi2015-02-081-0/+46
|
* infnan: add nan_hibyteJarkko Hietaniemi2015-02-081-0/+35
|
* [PATCH] fix PL_nan_u from leaking in every translation object on Win32 VCDaniel Dragan2015-02-041-0/+8
|
* infnan: even more comment tweaksJarkko Hietaniemi2015-01-281-6/+12
|
* infnan: comment tweaksJarkko Hietaniemi2015-01-281-9/+21
|
* infnan: restore 'Infinity' since lln.t expects it.Jarkko Hietaniemi2015-01-281-1/+11
|
* infnan: comment tweaksJarkko Hietaniemi2015-01-281-7/+10
|
* infnan: grok_infnan now needs contextJarkko Hietaniemi2015-01-281-4/+4
|
* infnan: actually use grok_hex() for nan payloadJarkko Hietaniemi2015-01-281-30/+47
| | | | | | And grok_bin() while we are at it. The payload is still unused, but we now at least parse the syntax.
* infnan: move grok_infnan before the grok_numberJarkko Hietaniemi2015-01-281-39/+39
|
* infnan: allow (silently) trailing whitespace.Jarkko Hietaniemi2015-01-281-11/+22
| | | | (Leading whitespace is handled in grok_number_flags.)
* infnan: Simplify inf parsing.Jarkko Hietaniemi2015-01-281-15/+5
| | | | | Accept anything beginning with /^inf/i, but warn if there's trailing stuff.
* infnan: More elaborate nan parsing for C99-y nan(...)Jarkko Hietaniemi2015-01-281-1/+94
|
* infnan: Allow 1.#INF00 and 1.#IND00Jarkko Hietaniemi2015-01-281-2/+10
| | | | | Windowese for inf and nan. The exact number of trailing zeros seems to vary, maybe controlled by printf precision? Or RTL dependent?
* Comment tweak.Jarkko Hietaniemi2014-11-291-1/+1
|
* Fix misparse of "Ind" as NaN (long story...) [perl #122843]Jarkko Hietaniemi2014-10-201-1/+3
| | | | While at it, add more "false nan" parse tests.
* Tru64: S_mulexp10 overflow help.Jarkko Hietaniemi2014-10-121-0/+11
|
* infnan: if the mulexp10 value goes to zero, return it.Jarkko Hietaniemi2014-10-121-0/+2
|
* [perl #12285] Fix str vs num inf/nan treatmentFather Chrysostomos2014-09-271-0/+27
| | | | | | | sprintf, pack and chr were treating 0+"Inf" and "Inf" differently, even though they have the same string and numeric values. pack was also croaking for 0+"Inf" passed to a string format.
* Fix -"-e1".Jarkko Hietaniemi2014-09-201-1/+1
| | | | Was broken by ae776a2c.
* quadmath NV formatted I/O.Jarkko Hietaniemi2014-09-191-19/+45
|
* Comment tweaks.Jarkko Hietaniemi2014-09-091-8/+15
|
* Separate S_my_atof_infnan().Jarkko Hietaniemi2014-09-091-64/+73
|
* modfl emulation via truncl (C99) and copysignl.Jarkko Hietaniemi2014-09-071-1/+11
| | | | | (We've had emulation for broken modfl before, but it used aintl, which is not that common.)
* numeric.c: Comment tweakKarl Williamson2014-09-061-1/+1
|
* =for apidoc wrong apiJarkko Hietaniemi2014-08-311-1/+1
|
* apidoc for Perl_isinfnan.Jarkko Hietaniemi2014-08-301-2/+9
|
* Make sprintf %c and chr() on inf/nan return the U+FFFD.Jarkko Hietaniemi2014-08-271-0/+16
| | | | | %c was made to produce "Inf"/"NaN" earlier, but let's keep with the Unicode way, and make chr() agree with %c.
* Detect false infinities.Jarkko Hietaniemi2014-08-261-4/+3
|
* Only one successful exit from grok_infnan().Jarkko Hietaniemi2014-08-261-7/+2
|
* More robust inf/nan recognition and generation.Jarkko Hietaniemi2014-08-241-61/+84
| | | | | | | | | | | | | | | Drop INFNAN_PEEK, premature optimization and hard to get right (it basically imitates unrolled first half of grok_infnan). Just keep grok_infan fast. (There is one spot in grok_number_flags() where we peek at the next byte to avoid wasted work.) If falling back (from not having NV_INF/NV_NAN) to the native strtod (or similar), fake the input based on the grok_infnan result. Add last-resort ways to generate inf/nan. Recognize explicit unary plus, like "+Inf", and "INFINITE". In tests use cmp_ok(), fix typos, add tests.
* The less-than-zero branch needs to be the default always.Jarkko Hietaniemi2014-08-231-2/+1
|
* Fix the PEEK_INFNAN (wrong macro arg name).Jarkko Hietaniemi2014-08-221-8/+11
| | | | | | | | | Also rename as INFNAN_PEEK, to match HEXFP_PEEK. Add "send" pointer to INFNAN_PEEK to guard againt past-the-buffer peeking. HEXFP_PEEK doesn't easily lend itself to "send" pointer because of it's calling environment doesn't have one.