Test standard constants and verify accuracy to type-level precision
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module.
	subroutine testConstants
		!! Test standard constants and verify accuracy to type-level precision
		character(41),parameter::cPI = '3.141592653589793238462643383279502884197'
		character(41),parameter::cE  = '2.718281828459045235360287471352662497757'
		
		integer::dPI,dE
		
		dPI = checkPrecision(PI,cPI)
		dE  = checkPrecision( E,cE )
		
		if( any([dPI,dE]<precision(1.0_wp)-2) ) error stop "Failed real constants precision check"
	end subroutine testConstants