This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Introduce NVef, NVff, and NVgf, use the middle one.
authorAbigail <abigail@abigail.be>
Tue, 15 Aug 2000 04:06:38 +0000 (04:06 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Fri, 18 Aug 2000 02:02:12 +0000 (02:02 +0000)
(helps for lib/peek + Linux + long doubles)  Reported in
Subject: [ID 20000814.005] Not OK: perl v5.6.0 on i686-linux-64int 2.2.13
Message-Id: <20000815040638.8524.qmail@foad.org>

(note: the lib/complex failure has not yet been addressed)

p4raw-id: //depot/metaconfig@6685

U/perl/perlxvf.U

index 6aa75c8..07431fc 100644 (file)
@@ -5,8 +5,13 @@
 ?RCS: You may distribute under the terms of either the GNU General Public
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
-?MAKE:ivdformat uvuformat uvoformat uvxformat: \
-       ivsize longsize intsize shortsize sPRId64 sPRIu64 sPRIo64 sPRIx64 \
+?MAKE:ivdformat uvuformat uvoformat uvxformat uvXformat \
+       nvEformat nvFformat nvGformat \
+       nveformat nvfformat nvgformat: \
+       ivsize longsize intsize shortsize \
+       sPRId64 sPRIu64 sPRIo64 sPRIx64 sPRIX64 \
+       nvsize doublesize longdblsize \
+       sPRIEldbl sPRIFldbl sPRIGldbl sPRIeldbl sPRIfldbl sPRIgldbl \
        test echo
 ?MAKE: -pick add $@ %<
 ?S:ivdformat:
 ?S:.
 ?S:uvxformat:
 ?S:    This variable contains the format string used for printing
-?S:    a Perl UV as an unsigned hexadecimal integer. 
+?S:    a Perl UV as an unsigned hexadecimal integer in lowercase abcdef.
+?S:.
+?S:uvXformat:
+?S:    This variable contains the format string used for printing
+?S:    a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
+?S:.
+?S:nveformat:
+?S:    This variable contains the format string used for printing
+?S:    a Perl NV using %e-ish floating point format.
+?S:.
+?S:nvfformat:
+?S:    This variable confains the format string used for printing
+?S:    a Perl NV using %f-ish floating point format.
+?S:.
+?S:nvgformat:
+?S:    This variable contains the format string used for printing
+?S:    a Perl NV using %g-ish floating point format.
+?S:.
+?S:nvEformat:
+?S:    This variable contains the format string used for printing
+?S:    a Perl NV using %E-ish floating point format.
+?S:.
+?S:nvFformat:
+?S:    This variable confains the format string used for printing
+?S:    a Perl NV using %F-ish floating point format.
+?S:.
+?S:nvGformat:
+?S:    This variable contains the format string used for printing
+?S:    a Perl NV using %G-ish floating point format.
 ?S:.
 ?C:IVdf:
 ?C:    This symbol defines the format string used for printing a Perl IV
 ?C:.
 ?C:UVxf:
 ?C:    This symbol defines the format string used for printing a Perl UV
-?C:    as an unsigned hexadecimal integer.
+?C:    as an unsigned hexadecimal integer in lowercase abcdef.
+?C:.
+?C:UVXf:
+?C:    This symbol defines the format string used for printing a Perl UV
+?C:    as an unsigned hexadecimal integer in uppercase ABCDEF.
+?C:.
+?C:NVef:
+?C:    This symbol defines the format string used for printing a Perl NV
+?C:    using %e-ish floating point format.
+?C:.
+?C:NVff:
+?C:    This symbol defines the format string used for printing a Perl NV
+?C:    using %f-ish floating point format.
+?C:.
+?C:NVgf:
+?C:    This symbol defines the format string used for printing a Perl NV
+?C:    using %g-ish floating point format.
+?C:.
+?C:NVEf:
+?C:    This symbol defines the format string used for printing a Perl NV
+?C:    using %E-ish floating point format.
+?C:.
+?C:NVFf:
+?C:    This symbol defines the format string used for printing a Perl NV
+?C:    using %F-ish floating point format.
+?C:.
+?C:NVGf:
+?C:    This symbol defines the format string used for printing a Perl NV
+?C:    using %G-ish floating point format.
 ?C:.
 ?H:#define     IVdf            $ivdformat              /**/
 ?H:#define     UVuf            $uvuformat              /**/
 ?H:#define     UVof            $uvoformat              /**/
 ?H:#define     UVxf            $uvxformat              /**/
+?H:#define     UVXf            $uvXformat              /**/
+?H:#define     NVef            $nveformat              /**/
+?H:#define     NVff            $nvfformat              /**/
+?H:#define     NVgf            $nvgformat              /**/
+?H:#define     NVEf            $nvEformat              /**/
+?H:#define     NVFf            $nvFformat              /**/
+?H:#define     NVGf            $nvGformat              /**/
 ?H:.
 
 echo " "
@@ -55,18 +123,21 @@ if $test X"$ivsize" = X8; then
        uvuformat="$sPRIu64"
        uvoformat="$sPRIo64"
        uvxformat="$sPRIx64"
+       uvXformat="$sPRIX64"
 else
        if $test X"$ivsize" = X"$longsize"; then
                ivdformat='"ld"'
                uvuformat='"lu"'
                uvoformat='"lo"'
                uvxformat='"lx"'
+               uvXformat='"lX"'
        else
                if $test X"$ivsize" = X"$intsize"; then
                        ivdformat='"d"'
                        uvuformat='"u"'
                        uvoformat='"o"'
                        uvxformat='"x"'
+                       uvXformat='"X"'
                else
                        : far out
                        if $test X"$ivsize" = X"$shortsize"; then
@@ -74,11 +145,28 @@ else
                                uvuformat='"hu"'
                                uvoformat='"ho"'
                                uvxformat='"hx"'
+                               uvXformat='"hX"'
                        fi
                fi
        fi
 fi
 
+if $test X"$nvsize" = X"$longdblsize" -a "$longdblsize" -gt "$doublesize"; then
+       nveformat="$sPRIeldbl"
+       nvfformat="$sPRIfldbl"
+       nvgformat="$sPRIgldbl"
+       nvEformat="$sPRIEldbl"
+       nvFformat="$sPRIFldbl"
+       nvGformat="$sPRIGldbl"
+else
+       nveformat='"e"'
+       nvfformat='"f"'
+       nvgformat='"g"'
+       nvEformat='"E"'
+       nvFformat='"F"'
+       nvGformat='"G"'
+fi
+
 case "$ivdformat" in
 '') echo "$0: Fatal: failed to find format strings, cannot continue." >& 4
     exit 1