A C++ library of (largely) SystemC compatible compile time fixed point data types for fast simulation and synthesis