?RCS: $Id$ ?RCS: ?RCS: Copyright (c) 1999 Jarkko Hietaniemi ?RCS: ?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:d_PRIfldbl sPRIfldbl d_PRIgldbl d_PRIFUldbl sPRIGUldbl d_PRIEUldbl \ sPRIgldbl d_PRIeldbl sPRIeldbl sPRIFUldbl d_PRIGUldbl sPRIEUldbl \ d_SCNfldbl \ sSCNfldbl: \ d_longdbl longdblsize doublesize test cat rm_try \ Setvar Compile run ?MAKE: -pick add $@ %< ?S:d_PRIfldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to print long doubles. ?S:. ?S:d_PRIgldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to print long doubles. ?S:. ?S:d_PRIeldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to print long doubles. ?S:. ?S:d_PRIFUldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to print long doubles. ?S: The 'U' in the name is to separate this from d_PRIfldbl so that even ?S: case-blind systems can see the difference. ?S:. ?S:d_PRIGUldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to print long doubles. ?S: The 'U' in the name is to separate this from d_PRIgldbl so that even ?S: case-blind systems can see the difference. ?S:. ?S:d_PRIEUldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to print long doubles. ?S: The 'U' in the name is to separate this from d_PRIeldbl so that even ?S: case-blind systems can see the difference. ?S:. ?S:d_SCNfldbl: ?S: This variable conditionally defines the PERL_PRIfldbl symbol, which ?S: indiciates that stdio has a symbol to scan long doubles. ?S:. ?S:sPRIfldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'f') for output. ?S:. ?S:sPRIgldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'g') for output. ?S:. ?S:sPRIeldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'e') for output. ?S:. ?S:sPRIFUldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'F') for output. ?S: The 'U' in the name is to separate this from sPRIfldbl so that even ?S: case-blind systems can see the difference. ?S:. ?S:sPRIGUldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'G') for output. ?S: The 'U' in the name is to separate this from sPRIgldbl so that even ?S: case-blind systems can see the difference. ?S:. ?S:sPRIEUldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'E') for output. ?S: The 'U' in the name is to separate this from sPRIeldbl so that even ?S: case-blind systems can see the difference. ?S:. ?S:sSCNfldbl: ?S: This variable, if defined, contains the string used by stdio to ?S: format long doubles (format 'f') for input. ?S:. ?C:PERL_PRIfldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'f') for output. ?C:. ?C:PERL_PRIgldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'g') for output. ?C:. ?C:PERL_PRIeldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'e') for output. ?C:. ?C:PERL_PRIFldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'f') for output. ?C:. ?C:PERL_PRIGldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'g') for output. ?C:. ?C:PERL_PRIEldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'e') for output. ?C:. ?C:PERL_SCNfldbl: ?C: This symbol, if defined, contains the string used by stdio to ?C: format long doubles (format 'f') for input. ?C:. ?H:#$d_PRIfldbl PERL_PRIfldbl $sPRIfldbl /**/ ?H:#$d_PRIgldbl PERL_PRIgldbl $sPRIgldbl /**/ ?H:#$d_PRIeldbl PERL_PRIeldbl $sPRIeldbl /**/ ?H:#$d_PRIFUldbl PERL_PRIFldbl $sPRIFUldbl /**/ ?H:#$d_PRIGUldbl PERL_PRIGldbl $sPRIGUldbl /**/ ?H:#$d_PRIEUldbl PERL_PRIEldbl $sPRIEUldbl /**/ ?H:#$d_SCNfldbl PERL_SCNfldbl $sSCNfldbl /**/ ?H:. ?T:yyy ?F:!try : Check print/scan long double stuff echo " " if $test X"$d_longdbl" = X"$define"; then echo "Checking how to print long doubles..." >&4 if $test X"$sPRIfldbl" = X -a X"$doublesize" = X"$longdblsize"; then $cat >try.c <<'EOCP' #include #include int main() { double d = 123.456; printf("%.3f\n", d); } EOCP set try if eval $compile; then yyy=`$run ./try` case "$yyy" in 123.456) sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"'; sPRIFUldbl='"F"'; sPRIGUldbl='"G"'; sPRIEUldbl='"E"'; echo "We will use %f." ;; esac fi fi if $test X"$sPRIfldbl" = X; then $cat >try.c <<'EOCP' #include #include int main() { long double d = 123.456; printf("%.3Lf\n", d); } EOCP set try if eval $compile; then yyy=`$run ./try` case "$yyy" in 123.456) sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"'; sPRIFUldbl='"LF"'; sPRIGUldbl='"LG"'; sPRIEUldbl='"LE"'; echo "We will use %Lf." ;; esac fi fi if $test X"$sPRIfldbl" = X; then $cat >try.c <<'EOCP' #include #include int main() { long double d = 123.456; printf("%.3llf\n", d); } EOCP set try if eval $compile; then yyy=`$run ./try` case "$yyy" in 123.456) sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"'; sPRIFUldbl='"llF"'; sPRIGUldbl='"llG"'; sPRIEUldbl='"llE"'; echo "We will use %llf." ;; esac fi fi if $test X"$sPRIfldbl" = X; then $cat >try.c <<'EOCP' #include #include int main() { long double d = 123.456; printf("%.3lf\n", d); } EOCP set try if eval $compile; then yyy=`$run ./try` case "$yyy" in 123.456) sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"'; sPRIFUldbl='"lF"'; sPRIGUldbl='"lG"'; sPRIEUldbl='"lE"'; echo "We will use %lf." ;; esac fi fi if $test X"$sPRIfldbl" = X; then echo "Cannot figure out how to print long doubles." >&4 else sSCNfldbl=$sPRIfldbl # expect consistency fi $rm_try fi # d_longdbl case "$sPRIfldbl" in '') d_PRIfldbl="$undef"; d_PRIgldbl="$undef"; d_PRIeldbl="$undef"; d_PRIFUldbl="$undef"; d_PRIGUldbl="$undef"; d_PRIEUldbl="$undef"; d_SCNfldbl="$undef"; ;; *) d_PRIfldbl="$define"; d_PRIgldbl="$define"; d_PRIeldbl="$define"; d_PRIFUldbl="$define"; d_PRIGUldbl="$define"; d_PRIEUldbl="$define"; d_SCNfldbl="$define"; ;; esac