Mathematical Objects in C++ by Yair Shapira