Unary operation taking the logarithmic value.
More...
#include <log.hpp>
|
| template<typename V = default_vec> |
| using | vec_type = typename V::template vec_type< T > |
| |
|
| static constexpr int | complexity () |
| | Estimate the complexity of operator. More...
|
| |
| static constexpr T | apply (const T &x) |
| | Apply the unary operator on x. More...
|
| |
| template<typename V = default_vec> |
| static vec_type< V > | load (const vec_type< V > &x) noexcept |
| | Compute several applications of the operator at a time. More...
|
| |
| template<typename X , typename Y > |
| static auto | gpu_compute_hint (const X &x, Y &y) noexcept |
| | Compute the result of the operation using the GPU. More...
|
| |
| template<typename X , typename Y > |
| static Y & | gpu_compute (const X &x, Y &y) noexcept |
| | Compute the result of the operation using the GPU. More...
|
| |
| static std::string | desc () noexcept |
| | Returns a textual representation of the operator. More...
|
| |
|
|
static constexpr bool | linear = true |
| | Indicates if the operator is linear.
|
| |
|
static constexpr bool | thread_safe = true |
| | Indicates if the operator is thread safe or not.
|
| |
| template<vector_mode_t V> |
| static constexpr bool | vectorizable |
| | Indicates if the expression is vectorizable using the given vector mode. More...
|
| |
| template<typename E > |
| static constexpr bool | gpu_computable |
| | Indicates if the operator can be computed on GPU. More...
|
| |
template<typename T>
struct etl::log_unary_op< T >
Unary operation taking the logarithmic value.
- Template Parameters
-
◆ vec_type
template<typename T >
template<typename V = default_vec>
The vectorization type for V
◆ apply()
Apply the unary operator on x.
- Parameters
-
| x | The value on which to apply the operator |
- Returns
- The result of applying the unary operator on x
◆ complexity()
Estimate the complexity of operator.
- Returns
- An estimation of the complexity of the operator
◆ desc()
Returns a textual representation of the operator.
- Returns
- a string representing the operator
◆ gpu_compute()
template<typename T >
template<typename X , typename Y >
Compute the result of the operation using the GPU.
- Parameters
-
| x | The expression of the unary operation |
| y | The expression into which to store the reuslt |
◆ gpu_compute_hint()
template<typename T >
template<typename X , typename Y >
Compute the result of the operation using the GPU.
- Parameters
-
| x | The expression of the unary operation |
- Returns
- The result of applying the unary operator on x. The result must be a GPU computed expression.
◆ load()
template<typename T >
template<typename V = default_vec>
Compute several applications of the operator at a time.
- Parameters
-
| x | The vector on which to operate |
- Template Parameters
-
- Returns
- a vector containing several results of the operator
◆ gpu_computable
template<typename T >
template<typename E >
Initial value:= (is_single_precision_t<T> && impl::egblas::has_slog) || (is_double_precision_t<T> && impl::egblas::has_dlog)
|| (is_complex_single_t<T> && impl::egblas::has_clog) || (is_complex_double_t<T> && impl::egblas::has_zlog)
Indicates if the operator can be computed on GPU.
◆ vectorizable
template<typename T >
template<vector_mode_t V>
Initial value:
Indicates if the expression is vectorizable using the given vector mode.
- Template Parameters
-
The documentation for this struct was generated from the following file: