|
| bool | UseDeviceExpressions () |
| | Whether vector expressions are currently evaluated on the device.
|
| |
| void | SetUseDeviceExpressions (bool) |
| |
| template<DeviceAssignOp Op, class Scalar , class T > |
| void | AssignDeviceExpression (Scalar *data, unsigned long size, const CVecExpr< T, Scalar > &expr) |
| |
| template<class U , class S > |
| auto | operator- (const CVecExpr< U, S > &u) -> decltype(minus_< U, S >(u.derived())) |
| |
| template<class U , class S > |
| auto | abs (const CVecExpr< U, S > &u) -> decltype(abs_< U, S >(u.derived())) |
| |
| template<class U , class S > |
| auto | exp (const CVecExpr< U, S > &u) -> decltype(exp_< U, S >(u.derived())) |
| |
| template<class U , class S > |
| auto | sqrt (const CVecExpr< U, S > &u) -> decltype(sqrt_< U, S >(u.derived())) |
| |
| template<class U , class S > |
| auto | sign (const CVecExpr< U, S > &u) -> decltype(sign_< U, S >(u.derived())) |
| |
| int32_t | fmax (int32_t a, int32_t b) |
| |
| int32_t | fmin (int32_t a, int32_t b) |
| |
| int64_t | fmax (int64_t a, int64_t b) |
| |
| int64_t | fmin (int64_t a, int64_t b) |
| |
| uint32_t | fmax (uint32_t a, uint32_t b) |
| |
| uint32_t | fmin (uint32_t a, uint32_t b) |
| |
| uint64_t | fmax (uint64_t a, uint64_t b) |
| |
| uint64_t | fmin (uint64_t a, uint64_t b) |
| |
| template<class U , class V , class S > |
| auto | fmax (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(max_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | fmax (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(max_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | fmax (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(max_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | fmin (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(min_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | fmin (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(min_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | fmin (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(min_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | pow (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(pow_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | pow (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(pow_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | pow (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(pow_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator+ (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(add_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator+ (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(add_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator+ (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(add_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator- (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(sub_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator- (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(sub_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator- (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(sub_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator* (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(mul_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator* (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(mul_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator* (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(mul_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator/ (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(div_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator/ (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(div_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator/ (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(div_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator<= (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(le_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator<= (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(le_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator<= (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(le_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator>= (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(ge_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator>= (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(ge_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator>= (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(ge_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator== (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(eq_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator== (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(eq_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator== (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(eq_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator!= (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(ne_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator!= (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(ne_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator!= (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(ne_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator< (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(lt_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator< (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(lt_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator< (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(lt_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |
| template<class U , class V , class S > |
| auto | operator> (const CVecExpr< U, S > &u, const CVecExpr< V, S > &v) -> decltype(gt_< U, V, S >(u.derived(), v.derived())) |
| |
| template<class U , class S > |
| auto | operator> (const CVecExpr< U, S > &u, decay_t< S > v) -> decltype(gt_< U, Bcast< S >, S >(u.derived(), Bcast< S >(v))) |
| |
| template<class S , class V > |
| auto | operator> (decay_t< S > u, const CVecExpr< V, S > &v) -> decltype(gt_< Bcast< S >, V, S >(Bcast< S >(u), v.derived())) |
| |