The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
?RCS: $Id: doublesize.U,v 3.0.1.1 1994/10/29 16:17:06 ram Exp $
?RCS:
?RCS: Copyright (c) 1991-1993, Raphael Manfredi
?RCS: 
?RCS: You may redistribute only under the terms of the Artistic Licence,
?RCS: as specified in the README file that comes with the distribution.
?RCS: You may reuse parts of this distribution only within the terms of
?RCS: that same Artistic Licence; a copy of which may be found at the root
?RCS: of the source tree for dist 3.0.
?RCS:
?RCS: $Log: doublesize.U,v $
?RCS: Revision 3.0.1.1  1994/10/29  16:17:06  ram
?RCS: patch36: added ?F: line for metalint file checking
?RCS:
?RCS: Revision 3.0  1993/08/18  12:08:06  ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
?MAKE:doublesize: cat rm Myread Compile run i_stdlib
?MAKE:	-pick add $@ %<
?S:doublesize:
?S:	This variable contains the value of the DOUBLESIZE symbol, which
?S:	indicates to the C program how many bytes there are in a double.
?S:.
?C:DOUBLESIZE:
?C:	This symbol contains the size of a double, so that the C preprocessor
?C:	can make decisions based on it.
?C:.
?H:#define DOUBLESIZE $doublesize		/**/
?H:.
: check for length of double
echo " "
case "$doublesize" in
'')
	echo "Checking to see how big your double precision numbers are..." >&4
	$cat >try.c <<EOCP
#include <stdio.h>
#$i_stdlib I_STDLIB
#ifdef I_STDLIB
#include <stdlib.h>
#endif
int main()
{
    printf("%d\n", (int)sizeof(double));
    exit(0);
}
EOCP
	set try
	if eval $compile_ok; then
		doublesize=`$run ./try`
		echo "Your double is $doublesize bytes long."
	else
		dflt='8'
		echo "(I can't seem to compile the test program.  Guessing...)"
		rp="What is the size of a double precision number (in bytes)?"
		. ./myread
		doublesize="$ans"
	fi
	;;
esac
$rm -f try.c try