00001 00002 00010 EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> 00011 abs() const 00012 { 00013 return derived(); 00014 } 00015 00023 EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> 00024 abs2() const 00025 { 00026 return derived(); 00027 } 00028 00036 inline const CwiseUnaryOp<internal::scalar_exp_op<Scalar>, const Derived> 00037 exp() const 00038 { 00039 return derived(); 00040 } 00041 00049 inline const CwiseUnaryOp<internal::scalar_log_op<Scalar>, const Derived> 00050 log() const 00051 { 00052 return derived(); 00053 } 00054 00062 inline const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> 00063 sqrt() const 00064 { 00065 return derived(); 00066 } 00067 00075 inline const CwiseUnaryOp<internal::scalar_cos_op<Scalar>, const Derived> 00076 cos() const 00077 { 00078 return derived(); 00079 } 00080 00081 00089 inline const CwiseUnaryOp<internal::scalar_sin_op<Scalar>, const Derived> 00090 sin() const 00091 { 00092 return derived(); 00093 } 00094 00102 inline const CwiseUnaryOp<internal::scalar_acos_op<Scalar>, const Derived> 00103 acos() const 00104 { 00105 return derived(); 00106 } 00107 00115 inline const CwiseUnaryOp<internal::scalar_asin_op<Scalar>, const Derived> 00116 asin() const 00117 { 00118 return derived(); 00119 } 00120 00128 inline const CwiseUnaryOp<internal::scalar_tan_op<Scalar>, Derived> 00129 tan() const 00130 { 00131 return derived(); 00132 } 00133 00134 00142 inline const CwiseUnaryOp<internal::scalar_pow_op<Scalar>, const Derived> 00143 pow(const Scalar& exponent) const 00144 { 00145 return CwiseUnaryOp<internal::scalar_pow_op<Scalar>, const Derived> 00146 (derived(), internal::scalar_pow_op<Scalar>(exponent)); 00147 } 00148 00149 00157 inline const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> 00158 inverse() const 00159 { 00160 return derived(); 00161 } 00162 00170 inline const CwiseUnaryOp<internal::scalar_square_op<Scalar>, const Derived> 00171 square() const 00172 { 00173 return derived(); 00174 } 00175 00183 inline const CwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived> 00184 cube() const 00185 { 00186 return derived(); 00187 } 00188 00189 #define EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(METHOD_NAME,FUNCTOR) \ 00190 inline const CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >, const Derived> \ 00191 METHOD_NAME(const Scalar& s) const { \ 00192 return CwiseUnaryOp<std::binder2nd<FUNCTOR<Scalar> >, const Derived> \ 00193 (derived(), std::bind2nd(FUNCTOR<Scalar>(), s)); \ 00194 } 00195 00196 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator==, std::equal_to) 00197 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator!=, std::not_equal_to) 00198 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator<, std::less) 00199 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator<=, std::less_equal) 00200 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator>, std::greater) 00201 EIGEN_MAKE_SCALAR_CWISE_UNARY_OP(operator>=, std::greater_equal) 00202 00203