Fix C++20 error, Arithmetic between different enumeration types
Reference issue
What does this implement/fix?
While compiling eigen inside my project with C++20, I was seeing following error:
Arithmetic between different enumeration types ('Eigen::internal::gebp_traits<double, double, false, false, 0>::(unnamed enum at /Users/gjha/repos/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h:407:3)' and 'Eigen::internal::gebp_traits<double, double>::(unnamed enum at /Users/gjha/repos/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h:106:3)') is deprecated
Arithmetic between different enumeration types ('Eigen::internal::gebp_traits<float, float, false, false, 0>::(unnamed enum at /Users/gjha/repos/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h:407:3)' and 'Eigen::internal::gebp_traits<float, float>::(unnamed enum at /Users/gjha/repos/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h:46:3)') is deprecated
By grouping multiply operation type promotion will happen automatically. And compiler will not complain about Arithmetic between different enumeration types.