WPILibC++ 2023.4.3-108-ge5452e3
ArrayCwiseUnaryOps.h
Go to the documentation of this file.
1
2
3typedef CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> AbsReturnType;
4typedef CwiseUnaryOp<internal::scalar_arg_op<Scalar>, const Derived> ArgReturnType;
5typedef CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Abs2ReturnType;
6typedef CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> SqrtReturnType;
7typedef CwiseUnaryOp<internal::scalar_rsqrt_op<Scalar>, const Derived> RsqrtReturnType;
8typedef CwiseUnaryOp<internal::scalar_sign_op<Scalar>, const Derived> SignReturnType;
9typedef CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> InverseReturnType;
10typedef CwiseUnaryOp<internal::scalar_boolean_not_op<Scalar>, const Derived> BooleanNotReturnType;
11
12typedef CwiseUnaryOp<internal::scalar_exp_op<Scalar>, const Derived> ExpReturnType;
13typedef CwiseUnaryOp<internal::scalar_expm1_op<Scalar>, const Derived> Expm1ReturnType;
14typedef CwiseUnaryOp<internal::scalar_log_op<Scalar>, const Derived> LogReturnType;
15typedef CwiseUnaryOp<internal::scalar_log1p_op<Scalar>, const Derived> Log1pReturnType;
16typedef CwiseUnaryOp<internal::scalar_log10_op<Scalar>, const Derived> Log10ReturnType;
17typedef CwiseUnaryOp<internal::scalar_log2_op<Scalar>, const Derived> Log2ReturnType;
18typedef CwiseUnaryOp<internal::scalar_cos_op<Scalar>, const Derived> CosReturnType;
19typedef CwiseUnaryOp<internal::scalar_sin_op<Scalar>, const Derived> SinReturnType;
20typedef CwiseUnaryOp<internal::scalar_tan_op<Scalar>, const Derived> TanReturnType;
21typedef CwiseUnaryOp<internal::scalar_acos_op<Scalar>, const Derived> AcosReturnType;
22typedef CwiseUnaryOp<internal::scalar_asin_op<Scalar>, const Derived> AsinReturnType;
23typedef CwiseUnaryOp<internal::scalar_atan_op<Scalar>, const Derived> AtanReturnType;
24typedef CwiseUnaryOp<internal::scalar_tanh_op<Scalar>, const Derived> TanhReturnType;
25typedef CwiseUnaryOp<internal::scalar_logistic_op<Scalar>, const Derived> LogisticReturnType;
26typedef CwiseUnaryOp<internal::scalar_sinh_op<Scalar>, const Derived> SinhReturnType;
27#if EIGEN_HAS_CXX11_MATH
28typedef CwiseUnaryOp<internal::scalar_atanh_op<Scalar>, const Derived> AtanhReturnType;
29typedef CwiseUnaryOp<internal::scalar_asinh_op<Scalar>, const Derived> AsinhReturnType;
30typedef CwiseUnaryOp<internal::scalar_acosh_op<Scalar>, const Derived> AcoshReturnType;
31#endif
32typedef CwiseUnaryOp<internal::scalar_cosh_op<Scalar>, const Derived> CoshReturnType;
33typedef CwiseUnaryOp<internal::scalar_square_op<Scalar>, const Derived> SquareReturnType;
34typedef CwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived> CubeReturnType;
35typedef CwiseUnaryOp<internal::scalar_round_op<Scalar>, const Derived> RoundReturnType;
36typedef CwiseUnaryOp<internal::scalar_rint_op<Scalar>, const Derived> RintReturnType;
37typedef CwiseUnaryOp<internal::scalar_floor_op<Scalar>, const Derived> FloorReturnType;
38typedef CwiseUnaryOp<internal::scalar_ceil_op<Scalar>, const Derived> CeilReturnType;
39typedef CwiseUnaryOp<internal::scalar_isnan_op<Scalar>, const Derived> IsNaNReturnType;
40typedef CwiseUnaryOp<internal::scalar_isinf_op<Scalar>, const Derived> IsInfReturnType;
41typedef CwiseUnaryOp<internal::scalar_isfinite_op<Scalar>, const Derived> IsFiniteReturnType;
42
43/** \returns an expression of the coefficient-wise absolute value of \c *this
44 *
45 * Example: \include Cwise_abs.cpp
46 * Output: \verbinclude Cwise_abs.out
47 *
48 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_abs">Math functions</a>, abs2()
49 */
52abs() const
53{
54 return AbsReturnType(derived());
55}
56
57/** \returns an expression of the coefficient-wise phase angle of \c *this
58 *
59 * Example: \include Cwise_arg.cpp
60 * Output: \verbinclude Cwise_arg.out
61 *
62 * \sa abs()
63 */
66arg() const
67{
68 return ArgReturnType(derived());
69}
70
71/** \returns an expression of the coefficient-wise squared absolute value of \c *this
72 *
73 * Example: \include Cwise_abs2.cpp
74 * Output: \verbinclude Cwise_abs2.out
75 *
76 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_abs2">Math functions</a>, abs(), square()
77 */
80abs2() const
81{
82 return Abs2ReturnType(derived());
83}
84
85/** \returns an expression of the coefficient-wise exponential of *this.
86 *
87 * This function computes the coefficient-wise exponential. The function MatrixBase::exp() in the
88 * unsupported module MatrixFunctions computes the matrix exponential.
89 *
90 * Example: \include Cwise_exp.cpp
91 * Output: \verbinclude Cwise_exp.out
92 *
93 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_exp">Math functions</a>, pow(), log(), sin(), cos()
94 */
96inline const ExpReturnType
97exp() const
98{
99 return ExpReturnType(derived());
100}
101
102/** \returns an expression of the coefficient-wise exponential of *this minus 1.
103 *
104 * In exact arithmetic, \c x.expm1() is equivalent to \c x.exp() - 1,
105 * however, with finite precision, this function is much more accurate when \c x is close to zero.
106 *
107 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_expm1">Math functions</a>, exp()
108 */
110inline const Expm1ReturnType
111expm1() const
112{
113 return Expm1ReturnType(derived());
114}
115
116/** \returns an expression of the coefficient-wise logarithm of *this.
117 *
118 * This function computes the coefficient-wise logarithm. The function MatrixBase::log() in the
119 * unsupported module MatrixFunctions computes the matrix logarithm.
120 *
121 * Example: \include Cwise_log.cpp
122 * Output: \verbinclude Cwise_log.out
123 *
124 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_log">Math functions</a>, log()
125 */
127inline const LogReturnType
128log() const
129{
130 return LogReturnType(derived());
131}
132
133/** \returns an expression of the coefficient-wise logarithm of 1 plus \c *this.
134 *
135 * In exact arithmetic, \c x.log() is equivalent to \c (x+1).log(),
136 * however, with finite precision, this function is much more accurate when \c x is close to zero.
137 *
138 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_log1p">Math functions</a>, log()
139 */
141inline const Log1pReturnType
142log1p() const
143{
144 return Log1pReturnType(derived());
145}
146
147/** \returns an expression of the coefficient-wise base-10 logarithm of *this.
148 *
149 * This function computes the coefficient-wise base-10 logarithm.
150 *
151 * Example: \include Cwise_log10.cpp
152 * Output: \verbinclude Cwise_log10.out
153 *
154 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_log10">Math functions</a>, log()
155 */
157inline const Log10ReturnType
158log10() const
159{
160 return Log10ReturnType(derived());
161}
162
163/** \returns an expression of the coefficient-wise base-2 logarithm of *this.
164 *
165 * This function computes the coefficient-wise base-2 logarithm.
166 *
167 */
169inline const Log2ReturnType
170log2() const
171{
172 return Log2ReturnType(derived());
173}
174
175/** \returns an expression of the coefficient-wise square root of *this.
176 *
177 * This function computes the coefficient-wise square root. The function MatrixBase::sqrt() in the
178 * unsupported module MatrixFunctions computes the matrix square root.
179 *
180 * Example: \include Cwise_sqrt.cpp
181 * Output: \verbinclude Cwise_sqrt.out
182 *
183 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_sqrt">Math functions</a>, pow(), square()
184 */
186inline const SqrtReturnType
187sqrt() const
188{
189 return SqrtReturnType(derived());
190}
191
192/** \returns an expression of the coefficient-wise inverse square root of *this.
193 *
194 * This function computes the coefficient-wise inverse square root.
195 *
196 * Example: \include Cwise_sqrt.cpp
197 * Output: \verbinclude Cwise_sqrt.out
198 *
199 * \sa pow(), square()
200 */
202inline const RsqrtReturnType
203rsqrt() const
204{
205 return RsqrtReturnType(derived());
206}
207
208/** \returns an expression of the coefficient-wise signum of *this.
209 *
210 * This function computes the coefficient-wise signum.
211 *
212 * Example: \include Cwise_sign.cpp
213 * Output: \verbinclude Cwise_sign.out
214 *
215 * \sa pow(), square()
216 */
218inline const SignReturnType
219sign() const
220{
221 return SignReturnType(derived());
222}
223
224
225/** \returns an expression of the coefficient-wise cosine of *this.
226 *
227 * This function computes the coefficient-wise cosine. The function MatrixBase::cos() in the
228 * unsupported module MatrixFunctions computes the matrix cosine.
229 *
230 * Example: \include Cwise_cos.cpp
231 * Output: \verbinclude Cwise_cos.out
232 *
233 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_cos">Math functions</a>, sin(), acos()
234 */
236inline const CosReturnType
237cos() const
238{
239 return CosReturnType(derived());
240}
241
242
243/** \returns an expression of the coefficient-wise sine of *this.
244 *
245 * This function computes the coefficient-wise sine. The function MatrixBase::sin() in the
246 * unsupported module MatrixFunctions computes the matrix sine.
247 *
248 * Example: \include Cwise_sin.cpp
249 * Output: \verbinclude Cwise_sin.out
250 *
251 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_sin">Math functions</a>, cos(), asin()
252 */
254inline const SinReturnType
255sin() const
256{
257 return SinReturnType(derived());
258}
259
260/** \returns an expression of the coefficient-wise tan of *this.
261 *
262 * Example: \include Cwise_tan.cpp
263 * Output: \verbinclude Cwise_tan.out
264 *
265 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_tan">Math functions</a>, cos(), sin()
266 */
268inline const TanReturnType
269tan() const
270{
271 return TanReturnType(derived());
272}
273
274/** \returns an expression of the coefficient-wise arc tan of *this.
275 *
276 * Example: \include Cwise_atan.cpp
277 * Output: \verbinclude Cwise_atan.out
278 *
279 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_atan">Math functions</a>, tan(), asin(), acos()
280 */
282inline const AtanReturnType
283atan() const
284{
285 return AtanReturnType(derived());
286}
287
288/** \returns an expression of the coefficient-wise arc cosine of *this.
289 *
290 * Example: \include Cwise_acos.cpp
291 * Output: \verbinclude Cwise_acos.out
292 *
293 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_acos">Math functions</a>, cos(), asin()
294 */
296inline const AcosReturnType
297acos() const
298{
299 return AcosReturnType(derived());
300}
301
302/** \returns an expression of the coefficient-wise arc sine of *this.
303 *
304 * Example: \include Cwise_asin.cpp
305 * Output: \verbinclude Cwise_asin.out
306 *
307 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_asin">Math functions</a>, sin(), acos()
308 */
310inline const AsinReturnType
311asin() const
312{
313 return AsinReturnType(derived());
314}
315
316/** \returns an expression of the coefficient-wise hyperbolic tan of *this.
317 *
318 * Example: \include Cwise_tanh.cpp
319 * Output: \verbinclude Cwise_tanh.out
320 *
321 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_tanh">Math functions</a>, tan(), sinh(), cosh()
322 */
324inline const TanhReturnType
325tanh() const
326{
327 return TanhReturnType(derived());
328}
329
330/** \returns an expression of the coefficient-wise hyperbolic sin of *this.
331 *
332 * Example: \include Cwise_sinh.cpp
333 * Output: \verbinclude Cwise_sinh.out
334 *
335 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_sinh">Math functions</a>, sin(), tanh(), cosh()
336 */
338inline const SinhReturnType
339sinh() const
340{
341 return SinhReturnType(derived());
342}
343
344/** \returns an expression of the coefficient-wise hyperbolic cos of *this.
345 *
346 * Example: \include Cwise_cosh.cpp
347 * Output: \verbinclude Cwise_cosh.out
348 *
349 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_cosh">Math functions</a>, tanh(), sinh(), cosh()
350 */
352inline const CoshReturnType
353cosh() const
354{
355 return CoshReturnType(derived());
356}
357
358#if EIGEN_HAS_CXX11_MATH
359/** \returns an expression of the coefficient-wise inverse hyperbolic tan of *this.
360 *
361 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_atanh">Math functions</a>, atanh(), asinh(), acosh()
362 */
364inline const AtanhReturnType
365atanh() const
366{
367 return AtanhReturnType(derived());
368}
369
370/** \returns an expression of the coefficient-wise inverse hyperbolic sin of *this.
371 *
372 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_asinh">Math functions</a>, atanh(), asinh(), acosh()
373 */
375inline const AsinhReturnType
376asinh() const
377{
378 return AsinhReturnType(derived());
379}
380
381/** \returns an expression of the coefficient-wise inverse hyperbolic cos of *this.
382 *
383 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_acosh">Math functions</a>, atanh(), asinh(), acosh()
384 */
386inline const AcoshReturnType
387acosh() const
388{
389 return AcoshReturnType(derived());
390}
391#endif
392
393/** \returns an expression of the coefficient-wise logistic of *this.
394 */
396inline const LogisticReturnType
397logistic() const
398{
399 return LogisticReturnType(derived());
400}
401
402/** \returns an expression of the coefficient-wise inverse of *this.
403 *
404 * Example: \include Cwise_inverse.cpp
405 * Output: \verbinclude Cwise_inverse.out
406 *
407 * \sa operator/(), operator*()
408 */
410inline const InverseReturnType
411inverse() const
412{
413 return InverseReturnType(derived());
414}
415
416/** \returns an expression of the coefficient-wise square of *this.
417 *
418 * Example: \include Cwise_square.cpp
419 * Output: \verbinclude Cwise_square.out
420 *
421 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_squareE">Math functions</a>, abs2(), cube(), pow()
422 */
424inline const SquareReturnType
425square() const
426{
427 return SquareReturnType(derived());
428}
429
430/** \returns an expression of the coefficient-wise cube of *this.
431 *
432 * Example: \include Cwise_cube.cpp
433 * Output: \verbinclude Cwise_cube.out
434 *
435 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_cube">Math functions</a>, square(), pow()
436 */
438inline const CubeReturnType
439cube() const
440{
441 return CubeReturnType(derived());
442}
443
444/** \returns an expression of the coefficient-wise rint of *this.
445 *
446 * Example: \include Cwise_rint.cpp
447 * Output: \verbinclude Cwise_rint.out
448 *
449 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_rint">Math functions</a>, ceil(), floor()
450 */
452inline const RintReturnType
453rint() const
454{
455 return RintReturnType(derived());
456}
457
458/** \returns an expression of the coefficient-wise round of *this.
459 *
460 * Example: \include Cwise_round.cpp
461 * Output: \verbinclude Cwise_round.out
462 *
463 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_round">Math functions</a>, ceil(), floor()
464 */
466inline const RoundReturnType
467round() const
468{
469 return RoundReturnType(derived());
470}
471
472/** \returns an expression of the coefficient-wise floor of *this.
473 *
474 * Example: \include Cwise_floor.cpp
475 * Output: \verbinclude Cwise_floor.out
476 *
477 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_floor">Math functions</a>, ceil(), round()
478 */
480inline const FloorReturnType
481floor() const
482{
483 return FloorReturnType(derived());
484}
485
486/** \returns an expression of the coefficient-wise ceil of *this.
487 *
488 * Example: \include Cwise_ceil.cpp
489 * Output: \verbinclude Cwise_ceil.out
490 *
491 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_ceil">Math functions</a>, floor(), round()
492 */
494inline const CeilReturnType
495ceil() const
496{
497 return CeilReturnType(derived());
498}
499
500template<int N> struct ShiftRightXpr {
501 typedef CwiseUnaryOp<internal::scalar_shift_right_op<Scalar, N>, const Derived> Type;
502};
503
504/** \returns an expression of \c *this with the \a Scalar type arithmetically
505 * shifted right by \a N bit positions.
506 *
507 * The template parameter \a N specifies the number of bit positions to shift.
508 *
509 * \sa shiftLeft()
510 */
511template<int N>
515{
516 return typename ShiftRightXpr<N>::Type(derived());
517}
518
519
520template<int N> struct ShiftLeftXpr {
521 typedef CwiseUnaryOp<internal::scalar_shift_left_op<Scalar, N>, const Derived> Type;
522};
523
524/** \returns an expression of \c *this with the \a Scalar type logically
525 * shifted left by \a N bit positions.
526 *
527 * The template parameter \a N specifies the number of bit positions to shift.
528 *
529 * \sa shiftRight()
530 */
531template<int N>
535{
536 return typename ShiftLeftXpr<N>::Type(derived());
537}
538
539/** \returns an expression of the coefficient-wise isnan of *this.
540 *
541 * Example: \include Cwise_isNaN.cpp
542 * Output: \verbinclude Cwise_isNaN.out
543 *
544 * \sa isfinite(), isinf()
545 */
547inline const IsNaNReturnType
548isNaN() const
549{
550 return IsNaNReturnType(derived());
551}
552
553/** \returns an expression of the coefficient-wise isinf of *this.
554 *
555 * Example: \include Cwise_isInf.cpp
556 * Output: \verbinclude Cwise_isInf.out
557 *
558 * \sa isnan(), isfinite()
559 */
561inline const IsInfReturnType
562isInf() const
563{
564 return IsInfReturnType(derived());
565}
566
567/** \returns an expression of the coefficient-wise isfinite of *this.
568 *
569 * Example: \include Cwise_isFinite.cpp
570 * Output: \verbinclude Cwise_isFinite.out
571 *
572 * \sa isnan(), isinf()
573 */
575inline const IsFiniteReturnType
576isFinite() const
577{
578 return IsFiniteReturnType(derived());
579}
580
581/** \returns an expression of the coefficient-wise ! operator of *this
582 *
583 * \warning this operator is for expression of bool only.
584 *
585 * Example: \include Cwise_boolean_not.cpp
586 * Output: \verbinclude Cwise_boolean_not.out
587 *
588 * \sa operator!=()
589 */
591inline const BooleanNotReturnType
593{
594 EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value),
595 THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
596 return BooleanNotReturnType(derived());
597}
598
599
600// --- SpecialFunctions module ---
601
602typedef CwiseUnaryOp<internal::scalar_lgamma_op<Scalar>, const Derived> LgammaReturnType;
603typedef CwiseUnaryOp<internal::scalar_digamma_op<Scalar>, const Derived> DigammaReturnType;
604typedef CwiseUnaryOp<internal::scalar_erf_op<Scalar>, const Derived> ErfReturnType;
605typedef CwiseUnaryOp<internal::scalar_erfc_op<Scalar>, const Derived> ErfcReturnType;
606typedef CwiseUnaryOp<internal::scalar_ndtri_op<Scalar>, const Derived> NdtriReturnType;
607
608/** \cpp11 \returns an expression of the coefficient-wise ln(|gamma(*this)|).
609 *
610 * \specialfunctions_module
611 *
612 * \note This function supports only float and double scalar types in c++11 mode. To support other scalar types,
613 * or float/double in non c++11 mode, the user has to provide implementations of lgamma(T) for any scalar
614 * type T to be supported.
615 *
616 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_lgamma">Math functions</a>, digamma()
617 */
619inline const LgammaReturnType
620lgamma() const
621{
622 return LgammaReturnType(derived());
623}
624
625/** \returns an expression of the coefficient-wise digamma (psi, derivative of lgamma).
626 *
627 * \specialfunctions_module
628 *
629 * \note This function supports only float and double scalar types. To support other scalar types,
630 * the user has to provide implementations of digamma(T) for any scalar
631 * type T to be supported.
632 *
633 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_digamma">Math functions</a>, Eigen::digamma(), Eigen::polygamma(), lgamma()
634 */
636inline const DigammaReturnType
637digamma() const
638{
639 return DigammaReturnType(derived());
640}
641
642/** \cpp11 \returns an expression of the coefficient-wise Gauss error
643 * function of *this.
644 *
645 * \specialfunctions_module
646 *
647 * \note This function supports only float and double scalar types in c++11 mode. To support other scalar types,
648 * or float/double in non c++11 mode, the user has to provide implementations of erf(T) for any scalar
649 * type T to be supported.
650 *
651 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_erf">Math functions</a>, erfc()
652 */
654inline const ErfReturnType
655erf() const
656{
657 return ErfReturnType(derived());
658}
659
660/** \cpp11 \returns an expression of the coefficient-wise Complementary error
661 * function of *this.
662 *
663 * \specialfunctions_module
664 *
665 * \note This function supports only float and double scalar types in c++11 mode. To support other scalar types,
666 * or float/double in non c++11 mode, the user has to provide implementations of erfc(T) for any scalar
667 * type T to be supported.
668 *
669 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_erfc">Math functions</a>, erf()
670 */
672inline const ErfcReturnType
673erfc() const
674{
675 return ErfcReturnType(derived());
676}
677
678/** \returns an expression of the coefficient-wise inverse of the CDF of the Normal distribution function
679 * function of *this.
680 *
681 * \specialfunctions_module
682 *
683 * In other words, considering `x = ndtri(y)`, it returns the argument, x, for which the area under the
684 * Gaussian probability density function (integrated from minus infinity to x) is equal to y.
685 *
686 * \note This function supports only float and double scalar types. To support other scalar types,
687 * the user has to provide implementations of ndtri(T) for any scalar type T to be supported.
688 *
689 * \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_ndtri">Math functions</a>
690 */
692inline const NdtriReturnType
693ndtri() const
694{
695 return NdtriReturnType(derived());
696}
EIGEN_DEVICE_FUNC const LgammaReturnType lgamma() const
\cpp11
Definition: ArrayCwiseUnaryOps.h:620
CwiseUnaryOp< internal::scalar_sin_op< Scalar >, const Derived > SinReturnType
Definition: ArrayCwiseUnaryOps.h:19
EIGEN_DEVICE_FUNC const TanReturnType tan() const
Definition: ArrayCwiseUnaryOps.h:269
EIGEN_DEVICE_FUNC const Log10ReturnType log10() const
Definition: ArrayCwiseUnaryOps.h:158
CwiseUnaryOp< internal::scalar_cosh_op< Scalar >, const Derived > CoshReturnType
Definition: ArrayCwiseUnaryOps.h:32
CwiseUnaryOp< internal::scalar_ceil_op< Scalar >, const Derived > CeilReturnType
Definition: ArrayCwiseUnaryOps.h:38
EIGEN_DEVICE_FUNC const NdtriReturnType ndtri() const
Definition: ArrayCwiseUnaryOps.h:693
CwiseUnaryOp< internal::scalar_log_op< Scalar >, const Derived > LogReturnType
Definition: ArrayCwiseUnaryOps.h:14
EIGEN_DEVICE_FUNC const ExpReturnType exp() const
Definition: ArrayCwiseUnaryOps.h:97
EIGEN_DEVICE_FUNC const SignReturnType sign() const
Definition: ArrayCwiseUnaryOps.h:219
EIGEN_DEVICE_FUNC const SinhReturnType sinh() const
Definition: ArrayCwiseUnaryOps.h:339
CwiseUnaryOp< internal::scalar_square_op< Scalar >, const Derived > SquareReturnType
Definition: ArrayCwiseUnaryOps.h:33
CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const Derived > InverseReturnType
Definition: ArrayCwiseUnaryOps.h:9
CwiseUnaryOp< internal::scalar_arg_op< Scalar >, const Derived > ArgReturnType
Definition: ArrayCwiseUnaryOps.h:4
EIGEN_DEVICE_FUNC const FloorReturnType floor() const
Definition: ArrayCwiseUnaryOps.h:481
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const AbsReturnType abs() const
Definition: ArrayCwiseUnaryOps.h:52
CwiseUnaryOp< internal::scalar_log1p_op< Scalar >, const Derived > Log1pReturnType
Definition: ArrayCwiseUnaryOps.h:15
CwiseUnaryOp< internal::scalar_abs_op< Scalar >, const Derived > AbsReturnType
Definition: ArrayCwiseUnaryOps.h:3
CwiseUnaryOp< internal::scalar_floor_op< Scalar >, const Derived > FloorReturnType
Definition: ArrayCwiseUnaryOps.h:37
CwiseUnaryOp< internal::scalar_erfc_op< Scalar >, const Derived > ErfcReturnType
Definition: ArrayCwiseUnaryOps.h:605
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const ArgReturnType arg() const
Definition: ArrayCwiseUnaryOps.h:66
CwiseUnaryOp< internal::scalar_exp_op< Scalar >, const Derived > ExpReturnType
Definition: ArrayCwiseUnaryOps.h:12
CwiseUnaryOp< internal::scalar_sinh_op< Scalar >, const Derived > SinhReturnType
Definition: ArrayCwiseUnaryOps.h:26
EIGEN_DEVICE_FUNC const IsInfReturnType isInf() const
Definition: ArrayCwiseUnaryOps.h:562
CwiseUnaryOp< internal::scalar_acos_op< Scalar >, const Derived > AcosReturnType
Definition: ArrayCwiseUnaryOps.h:21
EIGEN_DEVICE_FUNC const LogReturnType log() const
Definition: ArrayCwiseUnaryOps.h:128
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Abs2ReturnType abs2() const
Definition: ArrayCwiseUnaryOps.h:80
EIGEN_DEVICE_FUNC const AcosReturnType acos() const
Definition: ArrayCwiseUnaryOps.h:297
EIGEN_DEVICE_FUNC const DigammaReturnType digamma() const
Definition: ArrayCwiseUnaryOps.h:637
CwiseUnaryOp< internal::scalar_asin_op< Scalar >, const Derived > AsinReturnType
Definition: ArrayCwiseUnaryOps.h:22
EIGEN_DEVICE_FUNC const LogisticReturnType logistic() const
Definition: ArrayCwiseUnaryOps.h:397
CwiseUnaryOp< internal::scalar_round_op< Scalar >, const Derived > RoundReturnType
Definition: ArrayCwiseUnaryOps.h:35
CwiseUnaryOp< internal::scalar_atan_op< Scalar >, const Derived > AtanReturnType
Definition: ArrayCwiseUnaryOps.h:23
CwiseUnaryOp< internal::scalar_abs2_op< Scalar >, const Derived > Abs2ReturnType
Definition: ArrayCwiseUnaryOps.h:5
EIGEN_DEVICE_FUNC const CeilReturnType ceil() const
Definition: ArrayCwiseUnaryOps.h:495
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Definition: ArrayCwiseUnaryOps.h:187
EIGEN_DEVICE_FUNC const AsinReturnType asin() const
Definition: ArrayCwiseUnaryOps.h:311
CwiseUnaryOp< internal::scalar_digamma_op< Scalar >, const Derived > DigammaReturnType
Definition: ArrayCwiseUnaryOps.h:603
EIGEN_DEVICE_FUNC const Log2ReturnType log2() const
Definition: ArrayCwiseUnaryOps.h:170
CwiseUnaryOp< internal::scalar_logistic_op< Scalar >, const Derived > LogisticReturnType
Definition: ArrayCwiseUnaryOps.h:25
EIGEN_DEVICE_FUNC const Log1pReturnType log1p() const
Definition: ArrayCwiseUnaryOps.h:142
CwiseUnaryOp< internal::scalar_isfinite_op< Scalar >, const Derived > IsFiniteReturnType
Definition: ArrayCwiseUnaryOps.h:41
EIGEN_DEVICE_FUNC const ErfcReturnType erfc() const
\cpp11
Definition: ArrayCwiseUnaryOps.h:673
EIGEN_DEVICE_FUNC const IsFiniteReturnType isFinite() const
Definition: ArrayCwiseUnaryOps.h:576
CwiseUnaryOp< internal::scalar_lgamma_op< Scalar >, const Derived > LgammaReturnType
Definition: ArrayCwiseUnaryOps.h:602
CwiseUnaryOp< internal::scalar_sqrt_op< Scalar >, const Derived > SqrtReturnType
Definition: ArrayCwiseUnaryOps.h:6
CwiseUnaryOp< internal::scalar_isinf_op< Scalar >, const Derived > IsInfReturnType
Definition: ArrayCwiseUnaryOps.h:40
CwiseUnaryOp< internal::scalar_rsqrt_op< Scalar >, const Derived > RsqrtReturnType
Definition: ArrayCwiseUnaryOps.h:7
EIGEN_DEVICE_FUNC const CosReturnType cos() const
Definition: ArrayCwiseUnaryOps.h:237
CwiseUnaryOp< internal::scalar_cos_op< Scalar >, const Derived > CosReturnType
Definition: ArrayCwiseUnaryOps.h:18
EIGEN_DEVICE_FUNC const SinReturnType sin() const
Definition: ArrayCwiseUnaryOps.h:255
CwiseUnaryOp< internal::scalar_tanh_op< Scalar >, const Derived > TanhReturnType
Definition: ArrayCwiseUnaryOps.h:24
EIGEN_DEVICE_FUNC const BooleanNotReturnType operator!() const
Definition: ArrayCwiseUnaryOps.h:592
EIGEN_DEVICE_FUNC const SquareReturnType square() const
Definition: ArrayCwiseUnaryOps.h:425
EIGEN_DEVICE_FUNC const AtanReturnType atan() const
Definition: ArrayCwiseUnaryOps.h:283
CwiseUnaryOp< internal::scalar_sign_op< Scalar >, const Derived > SignReturnType
Definition: ArrayCwiseUnaryOps.h:8
EIGEN_DEVICE_FUNC const ErfReturnType erf() const
\cpp11
Definition: ArrayCwiseUnaryOps.h:655
EIGEN_DEVICE_FUNC const InverseReturnType inverse() const
Definition: ArrayCwiseUnaryOps.h:411
EIGEN_DEVICE_FUNC const IsNaNReturnType isNaN() const
Definition: ArrayCwiseUnaryOps.h:548
CwiseUnaryOp< internal::scalar_erf_op< Scalar >, const Derived > ErfReturnType
Definition: ArrayCwiseUnaryOps.h:604
EIGEN_DEVICE_FUNC const RintReturnType rint() const
Definition: ArrayCwiseUnaryOps.h:453
CwiseUnaryOp< internal::scalar_log2_op< Scalar >, const Derived > Log2ReturnType
Definition: ArrayCwiseUnaryOps.h:17
CwiseUnaryOp< internal::scalar_cube_op< Scalar >, const Derived > CubeReturnType
Definition: ArrayCwiseUnaryOps.h:34
EIGEN_DEVICE_FUNC const RoundReturnType round() const
Definition: ArrayCwiseUnaryOps.h:467
EIGEN_DEVICE_FUNC const RsqrtReturnType rsqrt() const
Definition: ArrayCwiseUnaryOps.h:203
CwiseUnaryOp< internal::scalar_isnan_op< Scalar >, const Derived > IsNaNReturnType
Definition: ArrayCwiseUnaryOps.h:39
EIGEN_DEVICE_FUNC const TanhReturnType tanh() const
Definition: ArrayCwiseUnaryOps.h:325
EIGEN_DEVICE_FUNC const CubeReturnType cube() const
Definition: ArrayCwiseUnaryOps.h:439
CwiseUnaryOp< internal::scalar_log10_op< Scalar >, const Derived > Log10ReturnType
Definition: ArrayCwiseUnaryOps.h:16
EIGEN_DEVICE_FUNC const CoshReturnType cosh() const
Definition: ArrayCwiseUnaryOps.h:353
CwiseUnaryOp< internal::scalar_tan_op< Scalar >, const Derived > TanReturnType
Definition: ArrayCwiseUnaryOps.h:20
EIGEN_DEVICE_FUNC const Expm1ReturnType expm1() const
Definition: ArrayCwiseUnaryOps.h:111
CwiseUnaryOp< internal::scalar_ndtri_op< Scalar >, const Derived > NdtriReturnType
Definition: ArrayCwiseUnaryOps.h:606
CwiseUnaryOp< internal::scalar_rint_op< Scalar >, const Derived > RintReturnType
Definition: ArrayCwiseUnaryOps.h:36
CwiseUnaryOp< internal::scalar_boolean_not_op< Scalar >, const Derived > BooleanNotReturnType
Definition: ArrayCwiseUnaryOps.h:10
CwiseUnaryOp< internal::scalar_expm1_op< Scalar >, const Derived > Expm1ReturnType
Definition: ArrayCwiseUnaryOps.h:13
EIGEN_DEVICE_FUNC ShiftLeftXpr< N >::Type shiftLeft() const
Definition: ArrayCwiseUnaryOps.h:534
EIGEN_DEVICE_FUNC ShiftRightXpr< N >::Type shiftRight() const
Definition: ArrayCwiseUnaryOps.h:514
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:986
#define EIGEN_STRONG_INLINE
Definition: Macros.h:927
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
constexpr return_t< T > acosh(const T x) noexcept
Compile-time inverse hyperbolic cosine function.
Definition: acosh.hpp:62
constexpr return_t< T > asinh(const T x) noexcept
Compile-time inverse hyperbolic sine function.
Definition: asinh.hpp:59
constexpr return_t< T > atanh(const T x) noexcept
Compile-time inverse hyperbolic tangent function.
Definition: atanh.hpp:73
Definition: ArrayCwiseUnaryOps.h:520
CwiseUnaryOp< internal::scalar_shift_left_op< Scalar, N >, const Derived > Type
Definition: ArrayCwiseUnaryOps.h:521
Definition: ArrayCwiseUnaryOps.h:500
CwiseUnaryOp< internal::scalar_shift_right_op< Scalar, N >, const Derived > Type
Definition: ArrayCwiseUnaryOps.h:501