| 2 | #include <iostream> |
| 3 | |
| 4 | constexpr double relu(double value) |
| 5 | { |
| 6 | using namespace matchit; |
| 7 | return match(value)( |
| 8 | // clang-format off |
| 9 | pattern | (_ >= 0) = expr(value), |
| 10 | pattern | _ = expr(0) |
| 11 | // clang-format on |
| 12 | ); |
| 13 | } |
| 14 | |
| 15 | static_assert(relu(5) == 5); |
| 16 | static_assert(relu(-5) == 0); |