Relax promote_scalar_arg logic to enable promotion to Expr::Scalar if conversion to Expr::Literal fails. This is useful to cancel expression template at the scalar level, e.g. with AutoDiff<AutoDiff<>>. This patch also defers calls to NumTraits in cases for which types are not directly compatible.
Relax promote_scalar_arg logic to enable promotion to Expr::Scalar if conversion to Expr::Literal fails.
This is useful to cancel expression template at the scalar level, e.g. with AutoDiff<AutoDiff<>>.
This patch also defers calls to NumTraits in cases for which types are not directly compatible.

ritsu1228/eigen,ROCmSoftwarePlatform/hipeigen,pasuka/eigen,pasuka/eigen,pasuka/eigen,ROCmSoftwarePlatform/hipeigen,ritsu1228/eigen,ROCmSoftwarePlatform/hipeigen,pasuka/eigen,ROCmSoftwarePlatform/hipeigen,pasuka/eigen,ritsu1228/eigen,ritsu1228/eigen,ritsu1228/eigen