fix math::log implementation
support std::hash