mgcpp
A C++ Math Library Based on CUDA
dvec_map.hpp
Go to the documentation of this file.
1 
2 // Copyright RedPortal, mujjingun 2017 - 2018.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 
7 #ifndef _MGCPP_EXPRESSIONS_DVEC_ELEMWISE_HPP_
8 #define _MGCPP_EXPRESSIONS_DVEC_ELEMWISE_HPP_
9 
12 
13 namespace mgcpp {
14 
15 struct dmat_mat_expr_type;
16 
17 template <typename Expr>
18 using dvec_map_expr =
19  generic_expr<dmat_mat_expr_type,
20  0,
21  dvec_expr,
22  typename Expr::result_type,
23  1,
24  typename Expr::result_type (*)(
25  typename Expr::result_type::parent_type const& vec),
26  Expr>;
27 
28 template <typename Expr>
29 inline decltype(auto) abs(dvec_expr<Expr> const& expr) noexcept;
30 
31 template <typename Expr>
32 inline decltype(auto) sin(dvec_expr<Expr> const& expr) noexcept;
33 
34 template <typename Expr>
35 inline decltype(auto) cos(dvec_expr<Expr> const& expr) noexcept;
36 
37 template <typename Expr>
38 inline decltype(auto) tan(dvec_expr<Expr> const& expr) noexcept;
39 
40 template <typename Expr>
41 inline decltype(auto) sinh(dvec_expr<Expr> const& expr) noexcept;
42 
43 template <typename Expr>
44 inline decltype(auto) cosh(dvec_expr<Expr> const& expr) noexcept;
45 
46 template <typename Expr>
47 inline decltype(auto) tanh(dvec_expr<Expr> const& expr) noexcept;
48 
49 template <typename Expr>
50 inline decltype(auto) relu(dvec_expr<Expr> const& expr) noexcept;
51 } // namespace mgcpp
52 
53 #include <mgcpp/expressions/dvec_map.tpp>
54 #endif
decltype(auto) cos(dvec_expr< Expr > const &expr) noexcept
decltype(auto) sinh(dvec_expr< Expr > const &expr) noexcept
decltype(auto) tanh(dvec_expr< Expr > const &expr) noexcept
Definition: adapter_base.hpp:12
generic_expr< dmat_mat_expr_type, 0, dvec_expr, typename Expr::result_type, 1, typename Expr::result_type(*)(typename Expr::result_type::parent_type const &vec), Expr > dvec_map_expr
Definition: dvec_map.hpp:26
decltype(auto) abs(dvec_expr< Expr > const &expr) noexcept
decltype(auto) sin(dvec_expr< Expr > const &expr) noexcept
decltype(auto) tan(dvec_expr< Expr > const &expr) noexcept
decltype(auto) cosh(dvec_expr< Expr > const &expr) noexcept
decltype(auto) relu(dvec_expr< Expr > const &expr) noexcept