/*
QtWagon: a project about 3D objects.
Science and technology promotion license applied. Third party license automatically cascaded.
Zhikai Wang/ www.heteroclinic.net 2013
You can do anything with this file or any file(s) published as part QtWagon project, given this header is kept.
*/
#ifndef __MATHBASICS
#define __MATHBASICS
#include <math.h>
//#define PI (atan(( long double )1.0)*4.0)
#define PI (atan(1.0)*4.0)
#define OUTPUTWIDTH 16
#define FLOATING_PRECISION 6
#define ZERO_VECTOR_NORMBOUD 0.01
//#define FLOATING_TOLERANCE (1.0/pow(10.0,FLOATING_PRECISION))
#define FLOATING_TOLERANCE (1.0E-FLOATING_PRECISION)
//#define __USE_DOUBLE
template <class T>
bool isAlmost ( T l, T r= 0.0 ) {
	if ( fabs(l-r) <= FLOATING_TOLERANCE)
		return true;
	else 
		return false;
}
#endif