long -> double conversions buggy?
    Earl H. Kinmonth 
    cck at deneb.ucdavis.edu
       
    Sat Jun 10 04:51:41 AEST 1989
    
    
  
Under SCO Xenix 286 assignment of a very large unsigned long
value to a double results in a negative value.  The same code on
a SUN and a VAX works properly.  So far the only way I've found
to get a proper assignment is
	char	barf[32];
	double	atof();
	double	d_biggie;
	unsigned	long	l_biggie;
	l_biggie = /* some expression */
	sprintf(barf,"%lu",l_biggie);
	d_biggie = atof(barf);
Am I missing something, or is the compiler generating bad code
for assignments of unsigned large to double?  (Casts don't
help.)
Earl H. Kinmonth
History Department
University of California, Davis
Davis, California  95616
916-752-1636 (2300-0800 PDT for FAX)
916-752-0776 (secretary)
ucbvax!ucdavis!ucdked!cck (email)
cc-dnet.ucdavis.edu [128.120.2.251]
	(request ucdked, login as guest)
    
    
More information about the Comp.unix.xenix
mailing list