add: calculation.hpp