typecast to T, so pow(float,float) is called on systems that don't otherwise call it