| 62 | }; |
| 63 | |
| 64 | struct sqrt : public detail::stateless { |
| 65 | template <typename T> |
| 66 | static T forward(T v) { |
| 67 | return std::sqrt(v); |
| 68 | } |
| 69 | template <typename T> |
| 70 | static T inverse(T v) { |
| 71 | return v * v; |
| 72 | } |
| 73 | }; |
| 74 | |
| 75 | // struct cos : public detail::stateless { |
| 76 | // template <typename T> static T forward(T v) { return std::cos(v); } |