real_t abstracts double or float computations