check_both_big Class — pytorch Architecture
Architecture documentation for the check_both_big class in vec_test_all_types.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/test/vec_test_all_types.h lines 307–318
template<typename T>
std::enable_if_t<std::is_floating_point_v<T>, bool> check_both_big(T x, T y) {
T cmax = std::is_same_v<T, float> ? static_cast<T>(1e+30) : static_cast<T>(1e+300);
T cmin = std::is_same_v<T, float> ? static_cast<T>(-1e+30) : static_cast<T>(-1e+300);
//only allow when one is inf
bool x_inf = std::isinf(x);
bool y_inf = std::isinf(y);
bool px = x > 0;
bool py = y > 0;
return (px && x_inf && y >= cmax) || (py && y_inf && x >= cmax) ||
(!px && x_inf && y <= cmin) || (!py && y_inf && x <= cmin);
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free