view run/double_22.d @ 1576:b3e16c86558e

[Issue 1398] New: GDC doesn't generate correct code <mariusmuja@gmail.com> 2007-08-04 http://d.puremagic.com/issues/show_bug.cgi?id=1398
author thomask
date Thu, 21 Feb 2008 15:20:08 +0000
parents eaf0a0d20b60
children
line wrap: on
line source

// $HeadURL$
// $Date$
// $Author$

// @author@	Derek Parnell <derek@psych.ward>
// @date@	2005-04-02
// @uri@	news:5efpfwr0e1l5$.ks45nx0xz2zf$.dlg@40tude.net

// For floating point operations and expression intermediate values,
// a greater precision can be used than the type of the expression.
// Only the minimum precision is set by the types of the operands,
// not the maximum.
 
module dstress.run.double_22;

int main(){
	double f = 0.0000195;
	assert(typeid(typeof(0.0000195)) == typeid(double));

	real diff = (0.5 + f * 1e6) - (0.5 + 0.0000195 * 1e6);


	if(diff < 0){
		diff *= -1;
	}

	if(diff < double.epsilon * 8){
		return 0;
	}
}