# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Thu Aug 17 22:38:49 EET DST 2000 [metaconfig 3.0 PL70]
+# Generated on Fri Aug 18 03:43:53 EET DST 2000 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
uvsize=''
uvtype=''
ivdformat=''
+nvEformat=''
+nvFformat=''
+nvGformat=''
+nveformat=''
+nvfformat=''
+nvgformat=''
+uvXformat=''
uvoformat=''
uvuformat=''
uvxformat=''
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
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
nm_so_opt='$nm_so_opt'
nonxs_ext='$nonxs_ext'
nroff='$nroff'
+nvEformat='$nvEformat'
+nvFformat='$nvFformat'
+nvGformat='$nvGformat'
+nveformat='$nveformat'
+nvfformat='$nvfformat'
+nvgformat='$nvgformat'
nvsize='$nvsize'
nvtype='$nvtype'
o_nonblock='$o_nonblock'
usevfork='$usevfork'
usrinc='$usrinc'
uuname='$uuname'
+uvXformat='$uvXformat'
uvoformat='$uvoformat'
uvsize='$uvsize'
uvtype='$uvtype'
full pathname (if any) of the nroff program. After Configure runs,
the value is reset to a plain "nroff" and is not useful.
+nveformat (perlxvf.U):
+ This variable contains the format string used for printing
+ a Perl NV using %e-ish floating point format.
+
+nvEformat (perlxvf.U):
+ This variable contains the format string used for printing
+ a Perl NV using %E-ish floating point format.
+
+nvfformat (perlxvf.U):
+ This variable confains the format string used for printing
+ a Perl NV using %f-ish floating point format.
+
+nvFformat (perlxvf.U):
+ This variable confains the format string used for printing
+ a Perl NV using %F-ish floating point format.
+
+nvgformat (perlxvf.U):
+ This variable contains the format string used for printing
+ a Perl NV using %g-ish floating point format.
+
+nvGformat (perlxvf.U):
+ This variable contains the format string used for printing
+ a Perl NV using %G-ish floating point format.
+
nvsize (perlxv.U):
This variable is the size of an NV in bytes.
uvxformat (perlxvf.U):
This variable contains the format string used for printing
- a Perl UV as an unsigned hexadecimal integer.
+ a Perl UV as an unsigned hexadecimal integer in lowercase abcdef.
+
+uvXformat (perlxvf.U):
+ This variable contains the format string used for printing
+ a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
vendorarch (vendorarch.U):
This variable contains the value of the PERL_VENDORARCH symbol.
# Package name : perl5
# Source directory : /m/fs/work/work/permanent/perl/pp4/perl
-# Configuration time: Thu Aug 17 02:55:55 EET DST 2000
+# Configuration time: Fri Aug 18 04:57:25 EET DST 2000
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Thu Aug 17 02:55:55 EET DST 2000'
+cf_time='Fri Aug 18 04:57:25 EET DST 2000'
charsize='1'
chgrp=''
chmod=''
nm_so_opt=''
nonxs_ext='Errno'
nroff='nroff'
+nvEformat='"E"'
+nvFformat='"F"'
+nvGformat='"G"'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXformat='"lX"'
uvoformat='"lo"'
uvsize='8'
uvtype='unsigned long'
/*
* Package name : perl5
* Source directory : /m/fs/work/work/permanent/perl/pp4/perl
- * Configuration time: Thu Aug 17 02:55:55 EET DST 2000
+ * Configuration time: Fri Aug 18 04:57:25 EET DST 2000
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
*/
/* UVxf:
* This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer.
+ * as an unsigned hexadecimal integer in lowercase abcdef.
+ */
+/* NVef:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %e-ish floating point format.
+ */
+/* NVff:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %f-ish floating point format.
+ */
+/* NVgf:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %g-ish floating point format.
*/
#define IVdf "ld" /**/
#define UVuf "lu" /**/
#define UVof "lo" /**/
#define UVxf "lx" /**/
+#define NVef "e" /**/
+#define NVff "f" /**/
+#define NVgf "g" /**/
/* Pid_t:
* This symbol holds the type used to declare process ids in the kernel.
*/
/* UVxf:
* This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer.
+ * as an unsigned hexadecimal integer in lowercase abcdef.
+ */
+/* NVef:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %e-ish floating point format.
+ */
+/* NVff:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %f-ish floating point format.
+ */
+/* NVgf:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %g-ish floating point format.
*/
#define IVdf $ivdformat /**/
#define UVuf $uvuformat /**/
#define UVof $uvoformat /**/
#define UVxf $uvxformat /**/
+#define NVef $nveformat /**/
+#define NVff $nvfformat /**/
+#define NVgf $nvgformat /**/
/* Pid_t:
* This symbol holds the type used to declare process ids in the kernel.
theoret = HvKEYS(sv);
theoret += theoret * theoret/pow2;
PerlIO_putc(file, '\n');
- Perl_dump_indent(aTHX_ level, file, " hash quality = %.1f%%", theoret/sum*100);
+ Perl_dump_indent(aTHX_ level, file, " hash quality = %.1"NVff"%%", theoret/sum*100);
}
PerlIO_putc(file, '\n');
Perl_dump_indent(aTHX_ level, file, " KEYS = %"IVdf"\n", (IV)HvKEYS(sv));
I_SYSMMAN
Mmap_t
+ NVef
+ NVff
+ NVgf
+
so that Configure picks them up. */
#endif /* Include guard */
If you edit F<embed.pl>, you will need to run C<make regen_headers> to
force a rebuild of F<embed.h> and other auto-generated files.
-=head2 Formatted Printing of IVs and UVs
+=head2 Formatted Printing of IVs, UVs, and NVs
-If you are printing IVs or UVs instead of the stdio(3) style formatting
-codes like C<%d> you should use the following macros for portability
+If you are printing IVs, UVs, or NVS instead of the stdio(3) style
+formatting codes like C<%d>, C<%ld>, C<%f>, you should use the
+following macros for portability
IVdf IV in decimal
UVuf UV in decimal
UVof UV in octal
UVxf UV in hexadecimal
+ NVef NV %e-like
+ NVff NV %f-like
+ NVgf NV %g-like
-For example: printf("IV is %"IVdf"\n", iv); That will expand
-to whatever is the correct format for the IVs.
+These will take care of 64-bit integers and long doubles.
+For example:
+
+ printf("IV is %"IVdf"\n", iv);
+
+The IVdf will expand to whatever is the correct format for the IVs.
=head2 Source Documentation