Skip to content

Commit

Permalink
Simplify param converter since all conditions are mutually exclusive
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesYang007 committed Jun 3, 2020
1 parent b2a913f commit 0f49989
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions include/autoppl/expr_builder.hpp
Expand Up @@ -40,30 +40,24 @@ struct convert_to_param

template <class T>
struct convert_to_param<T,
std::enable_if_t<util::is_var_v<std::decay_t<T>> &&
!std::is_arithmetic_v<std::decay_t<T>> &&
!util::is_var_expr_v<std::decay_t<T>>
>>
std::enable_if_t<util::is_var_v<std::decay_t<T>> >
>
{
using type = expr::VariableViewer<std::decay_t<T>>;
};

template <class T>
struct convert_to_param<T,
std::enable_if_t<!util::is_var_v<std::decay_t<T>> &&
std::is_arithmetic_v<std::decay_t<T>> &&
!util::is_var_expr_v<std::decay_t<T>>
>>
std::enable_if_t<std::is_arithmetic_v<std::decay_t<T>> >
>
{
using type = expr::Constant<std::decay_t<T>>;
};

template <class T>
struct convert_to_param<T,
std::enable_if_t<!util::is_var_v<std::decay_t<T>> &&
!std::is_arithmetic_v<std::decay_t<T>> &&
util::is_var_expr_v<std::decay_t<T>>
>>
std::enable_if_t<util::is_var_expr_v<std::decay_t<T>> >
>
{
using type = T;
};
Expand Down

0 comments on commit 0f49989

Please sign in to comment.