Medial Code Documentation
Loading...
Searching...
No Matches
UnaryFunctors.h
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
5//
6// This Source Code Form is subject to the terms of the Mozilla
7// Public License v. 2.0. If a copy of the MPL was not distributed
8// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10#ifndef EIGEN_UNARY_FUNCTORS_H
11#define EIGEN_UNARY_FUNCTORS_H
12
13namespace Eigen {
14
15namespace internal {
16
22template<typename Scalar> struct scalar_opposite_op {
23 EIGEN_EMPTY_STRUCT_CTOR(scalar_opposite_op)
24 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return -a; }
25 template<typename Packet>
26 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
27 { return internal::pnegate(a); }
28};
29template<typename Scalar>
31{ enum {
33 PacketAccess = packet_traits<Scalar>::HasNegate };
34};
35
41template<typename Scalar> struct scalar_abs_op {
42 EIGEN_EMPTY_STRUCT_CTOR(scalar_abs_op)
43 typedef typename NumTraits<Scalar>::Real result_type;
44 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { using std::abs; return abs(a); }
45 template<typename Packet>
46 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
47 { return internal::pabs(a); }
48};
49template<typename Scalar>
51{
52 enum {
55 };
56};
57
63template<typename Scalar> struct scalar_score_coeff_op : scalar_abs_op<Scalar>
64{
65 typedef void Score_is_abs;
66};
67template<typename Scalar>
68struct functor_traits<scalar_score_coeff_op<Scalar> > : functor_traits<scalar_abs_op<Scalar> > {};
69
70/* Avoid recomputing abs when we know the score and they are the same. Not a true Eigen functor. */
71template<typename Scalar, typename=void> struct abs_knowing_score
72{
73 EIGEN_EMPTY_STRUCT_CTOR(abs_knowing_score)
74 typedef typename NumTraits<Scalar>::Real result_type;
75 template<typename Score>
76 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a, const Score&) const { using std::abs; return abs(a); }
77};
78template<typename Scalar> struct abs_knowing_score<Scalar, typename scalar_score_coeff_op<Scalar>::Score_is_abs>
79{
80 EIGEN_EMPTY_STRUCT_CTOR(abs_knowing_score)
81 typedef typename NumTraits<Scalar>::Real result_type;
82 template<typename Scal>
83 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scal&, const result_type& a) const { return a; }
84};
85
91template<typename Scalar> struct scalar_abs2_op {
92 EIGEN_EMPTY_STRUCT_CTOR(scalar_abs2_op)
93 typedef typename NumTraits<Scalar>::Real result_type;
95 EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { return numext::abs2(a); }
96 template<typename Packet>
97 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
98 { return internal::pmul(a,a); }
99};
100template<typename Scalar>
102{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasAbs2 }; };
103
109template<typename Scalar> struct scalar_conjugate_op {
110 EIGEN_EMPTY_STRUCT_CTOR(scalar_conjugate_op)
112 EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { using numext::conj; return conj(a); }
113 template<typename Packet>
114 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { return internal::pconj(a); }
115};
116template<typename Scalar>
118{
119 enum {
121 PacketAccess = packet_traits<Scalar>::HasConj
122 };
123};
124
130template<typename Scalar> struct scalar_arg_op {
131 EIGEN_EMPTY_STRUCT_CTOR(scalar_arg_op)
132 typedef typename NumTraits<Scalar>::Real result_type;
133 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator() (const Scalar& a) const { using numext::arg; return arg(a); }
134 template<typename Packet>
135 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
136 { return internal::parg(a); }
137};
138template<typename Scalar>
151template<typename Scalar, typename NewType>
153 EIGEN_EMPTY_STRUCT_CTOR(scalar_cast_op)
154 typedef NewType result_type;
155 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const NewType operator() (const Scalar& a) const { return cast<Scalar, NewType>(a); }
156};
157template<typename Scalar, typename NewType>
159{ enum { Cost = is_same<Scalar, NewType>::value ? 0 : NumTraits<NewType>::AddCost, PacketAccess = false }; };
160
166template<typename Scalar>
168 EIGEN_EMPTY_STRUCT_CTOR(scalar_real_op)
169 typedef typename NumTraits<Scalar>::Real result_type;
171 EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::real(a); }
172};
173template<typename Scalar>
175{ enum { Cost = 0, PacketAccess = false }; };
176
182template<typename Scalar>
184 EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_op)
185 typedef typename NumTraits<Scalar>::Real result_type;
187 EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::imag(a); }
188};
189template<typename Scalar>
191{ enum { Cost = 0, PacketAccess = false }; };
192
198template<typename Scalar>
200 EIGEN_EMPTY_STRUCT_CTOR(scalar_real_ref_op)
201 typedef typename NumTraits<Scalar>::Real result_type;
203 EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::real_ref(*const_cast<Scalar*>(&a)); }
204};
205template<typename Scalar>
207{ enum { Cost = 0, PacketAccess = false }; };
208
214template<typename Scalar>
216 EIGEN_EMPTY_STRUCT_CTOR(scalar_imag_ref_op)
217 typedef typename NumTraits<Scalar>::Real result_type;
219 EIGEN_STRONG_INLINE result_type& operator() (const Scalar& a) const { return numext::imag_ref(*const_cast<Scalar*>(&a)); }
220};
221template<typename Scalar>
223{ enum { Cost = 0, PacketAccess = false }; };
224
231template<typename Scalar> struct scalar_exp_op {
232 EIGEN_EMPTY_STRUCT_CTOR(scalar_exp_op)
233 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::exp; return exp(a); }
234 template <typename Packet>
235 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pexp(a); }
236};
237template<typename Scalar>
239{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasExp }; };
240
247template<typename Scalar> struct scalar_log_op {
248 EIGEN_EMPTY_STRUCT_CTOR(scalar_log_op)
249 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::log; return log(a); }
250 template <typename Packet>
251 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog(a); }
252};
253template<typename Scalar>
255{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasLog }; };
256
263template<typename Scalar> struct scalar_log10_op {
264 EIGEN_EMPTY_STRUCT_CTOR(scalar_log10_op)
265 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::log10; return log10(a); }
266 template <typename Packet>
267 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog10(a); }
268};
269template<typename Scalar>
271{ enum { Cost = 5 * NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasLog10 }; };
272
277template<typename Scalar> struct scalar_sqrt_op {
278 EIGEN_EMPTY_STRUCT_CTOR(scalar_sqrt_op)
279 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::sqrt; return sqrt(a); }
280 template <typename Packet>
281 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psqrt(a); }
282};
283template<typename Scalar>
285{ enum {
287 PacketAccess = packet_traits<Scalar>::HasSqrt
288 };
289};
290
295template<typename Scalar> struct scalar_rsqrt_op {
296 EIGEN_EMPTY_STRUCT_CTOR(scalar_rsqrt_op)
297 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::sqrt; return Scalar(1)/sqrt(a); }
298 template <typename Packet>
299 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::prsqrt(a); }
300};
301
302template<typename Scalar>
304{ enum {
307 };
308};
309
314template<typename Scalar> struct scalar_cos_op {
315 EIGEN_EMPTY_STRUCT_CTOR(scalar_cos_op)
316 EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { using std::cos; return cos(a); }
317 template <typename Packet>
318 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pcos(a); }
319};
320template<typename Scalar>
322{
323 enum {
325 PacketAccess = packet_traits<Scalar>::HasCos
326 };
327};
328
333template<typename Scalar> struct scalar_sin_op {
334 EIGEN_EMPTY_STRUCT_CTOR(scalar_sin_op)
335 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::sin; return sin(a); }
336 template <typename Packet>
337 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psin(a); }
338};
339template<typename Scalar>
341{
342 enum {
344 PacketAccess = packet_traits<Scalar>::HasSin
345 };
346};
347
348
353template<typename Scalar> struct scalar_tan_op {
354 EIGEN_EMPTY_STRUCT_CTOR(scalar_tan_op)
355 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::tan; return tan(a); }
356 template <typename Packet>
357 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::ptan(a); }
358};
359template<typename Scalar>
361{
362 enum {
364 PacketAccess = packet_traits<Scalar>::HasTan
365 };
366};
367
372template<typename Scalar> struct scalar_acos_op {
373 EIGEN_EMPTY_STRUCT_CTOR(scalar_acos_op)
374 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::acos; return acos(a); }
375 template <typename Packet>
376 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pacos(a); }
377};
378template<typename Scalar>
380{
381 enum {
383 PacketAccess = packet_traits<Scalar>::HasACos
384 };
385};
386
391template<typename Scalar> struct scalar_asin_op {
392 EIGEN_EMPTY_STRUCT_CTOR(scalar_asin_op)
393 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::asin; return asin(a); }
394 template <typename Packet>
395 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pasin(a); }
396};
397template<typename Scalar>
399{
400 enum {
402 PacketAccess = packet_traits<Scalar>::HasASin
403 };
404};
405
406
412template<typename Scalar> struct scalar_lgamma_op {
413 EIGEN_EMPTY_STRUCT_CTOR(scalar_lgamma_op)
414 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const {
415 using numext::lgamma; return lgamma(a);
416 }
417 typedef typename packet_traits<Scalar>::type Packet;
418 inline Packet packetOp(const Packet& a) const { return internal::plgamma(a); }
419};
420template<typename Scalar>
422{
423 enum {
424 // Guesstimate
427 };
428};
429
435template<typename Scalar> struct scalar_erf_op {
436 EIGEN_EMPTY_STRUCT_CTOR(scalar_erf_op)
437 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const {
438 using numext::erf; return erf(a);
439 }
440 typedef typename packet_traits<Scalar>::type Packet;
441 inline Packet packetOp(const Packet& a) const { return internal::perf(a); }
442};
443template<typename Scalar>
445{
446 enum {
447 // Guesstimate
449 PacketAccess = packet_traits<Scalar>::HasErf
450 };
451};
452
458template<typename Scalar> struct scalar_erfc_op {
459 EIGEN_EMPTY_STRUCT_CTOR(scalar_erfc_op)
460 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const {
461 using numext::erfc; return erfc(a);
462 }
463 typedef typename packet_traits<Scalar>::type Packet;
464 inline Packet packetOp(const Packet& a) const { return internal::perfc(a); }
465};
466template<typename Scalar>
468{
469 enum {
470 // Guesstimate
472 PacketAccess = packet_traits<Scalar>::HasErfc
473 };
474};
475
476
481template<typename Scalar> struct scalar_atan_op {
482 EIGEN_EMPTY_STRUCT_CTOR(scalar_atan_op)
483 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::atan; return atan(a); }
484 template <typename Packet>
485 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::patan(a); }
486};
487template<typename Scalar>
489{
490 enum {
492 PacketAccess = packet_traits<Scalar>::HasATan
493 };
494};
495
496
501template<typename Scalar> struct scalar_tanh_op {
502 EIGEN_EMPTY_STRUCT_CTOR(scalar_tanh_op)
503 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::tanh; return tanh(a); }
504 template <typename Packet>
505 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::ptanh(a); }
506};
507template<typename Scalar>
509{
510 enum {
512 PacketAccess = packet_traits<Scalar>::HasTanh
513 };
514};
515
520template<typename Scalar> struct scalar_sinh_op {
521 EIGEN_EMPTY_STRUCT_CTOR(scalar_sinh_op)
522 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::sinh; return sinh(a); }
523 template <typename Packet>
524 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psinh(a); }
525};
526template<typename Scalar>
528{
529 enum {
531 PacketAccess = packet_traits<Scalar>::HasSinh
532 };
533};
534
539template<typename Scalar> struct scalar_cosh_op {
540 EIGEN_EMPTY_STRUCT_CTOR(scalar_cosh_op)
541 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const { using std::cosh; return cosh(a); }
542 template <typename Packet>
543 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pcosh(a); }
544};
545template<typename Scalar>
547{
548 enum {
550 PacketAccess = packet_traits<Scalar>::HasCosh
551 };
552};
553
558template<typename Scalar>
560 EIGEN_EMPTY_STRUCT_CTOR(scalar_inverse_op)
561 EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return Scalar(1)/a; }
562 template<typename Packet>
563 EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const
564 { return internal::pdiv(pset1<Packet>(Scalar(1)),a); }
565};
566template<typename Scalar>
568{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasDiv }; };
569
574template<typename Scalar>
576 EIGEN_EMPTY_STRUCT_CTOR(scalar_square_op)
577 EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return a*a; }
578 template<typename Packet>
579 EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const
580 { return internal::pmul(a,a); }
581};
582template<typename Scalar>
584{ enum { Cost = NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasMul }; };
585
590template<typename Scalar>
592 EIGEN_EMPTY_STRUCT_CTOR(scalar_cube_op)
593 EIGEN_DEVICE_FUNC inline Scalar operator() (const Scalar& a) const { return a*a*a; }
594 template<typename Packet>
595 EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const
596 { return internal::pmul(a,pmul(a,a)); }
597};
598template<typename Scalar>
600{ enum { Cost = 2*NumTraits<Scalar>::MulCost, PacketAccess = packet_traits<Scalar>::HasMul }; };
601
606template<typename Scalar> struct scalar_round_op {
607 EIGEN_EMPTY_STRUCT_CTOR(scalar_round_op)
608 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::round(a); }
609 template <typename Packet>
610 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pround(a); }
611};
612template<typename Scalar>
614{
615 enum {
618 };
619};
620
625template<typename Scalar> struct scalar_floor_op {
626 EIGEN_EMPTY_STRUCT_CTOR(scalar_floor_op)
627 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::floor(a); }
628 template <typename Packet>
629 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pfloor(a); }
630};
631template<typename Scalar>
633{
634 enum {
637 };
638};
639
644template<typename Scalar> struct scalar_ceil_op {
645 EIGEN_EMPTY_STRUCT_CTOR(scalar_ceil_op)
646 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& a) const { return numext::ceil(a); }
647 typedef typename packet_traits<Scalar>::type Packet;
648 EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pceil(a); }
649};
650template<typename Scalar>
652{
653 enum {
655 PacketAccess = packet_traits<Scalar>::HasCeil
656 };
657};
658
663template<typename Scalar> struct scalar_isnan_op {
664 EIGEN_EMPTY_STRUCT_CTOR(scalar_isnan_op)
665 typedef bool result_type;
666 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return (numext::isnan)(a); }
667};
668template<typename Scalar>
670{
671 enum {
673 PacketAccess = false
674 };
675};
676
681template<typename Scalar> struct scalar_isinf_op {
682 EIGEN_EMPTY_STRUCT_CTOR(scalar_isinf_op)
683 typedef bool result_type;
684 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return (numext::isinf)(a); }
685};
686template<typename Scalar>
688{
689 enum {
691 PacketAccess = false
692 };
693};
694
699template<typename Scalar> struct scalar_isfinite_op {
700 EIGEN_EMPTY_STRUCT_CTOR(scalar_isfinite_op)
701 typedef bool result_type;
702 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return (numext::isfinite)(a); }
703};
704template<typename Scalar>
706{
707 enum {
709 PacketAccess = false
710 };
711};
712
718template<typename Scalar> struct scalar_boolean_not_op {
719 EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_not_op)
720 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool& a) const { return !a; }
721};
722template<typename Scalar>
724 enum {
726 PacketAccess = false
727 };
728};
729
734template<typename Scalar,bool iscpx=(NumTraits<Scalar>::IsComplex!=0) > struct scalar_sign_op;
735template<typename Scalar>
736struct scalar_sign_op<Scalar,false> {
737 EIGEN_EMPTY_STRUCT_CTOR(scalar_sign_op)
738 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const
739 {
740 return Scalar( (a>Scalar(0)) - (a<Scalar(0)) );
741 }
742 //TODO
743 //template <typename Packet>
744 //EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psign(a); }
745};
746template<typename Scalar>
747struct scalar_sign_op<Scalar,true> {
748 EIGEN_EMPTY_STRUCT_CTOR(scalar_sign_op)
749 EIGEN_DEVICE_FUNC inline const Scalar operator() (const Scalar& a) const
750 {
751 using std::abs;
752 typedef typename NumTraits<Scalar>::Real real_type;
753 real_type aa = abs(a);
754 if (aa==0)
755 return Scalar(0);
756 aa = 1./aa;
757 return Scalar(real(a)*aa, imag(a)*aa );
758 }
759 //TODO
760 //template <typename Packet>
761 //EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psign(a); }
762};
763template<typename Scalar>
765{ enum {
766 Cost =
768 ? ( 8*NumTraits<Scalar>::MulCost ) // roughly
770 PacketAccess = packet_traits<Scalar>::HasSign
771 };
772};
773
774} // end namespace internal
775
776} // end namespace Eigen
777
778#endif // EIGEN_FUNCTORS_H
Pseudo expression representing a solving operation.
Definition Solve.h:63
Holds information about the various numeric (i.e.
Definition NumTraits.h:108
Definition UnaryFunctors.h:72
Definition XprHelper.h:107
Definition Meta.h:39
Definition GenericPacketMath.h:90
Definition UnaryFunctors.h:91
Definition UnaryFunctors.h:41
Definition UnaryFunctors.h:372
Definition UnaryFunctors.h:130
Definition UnaryFunctors.h:391
Definition UnaryFunctors.h:481
Definition UnaryFunctors.h:718
Definition UnaryFunctors.h:152
Definition UnaryFunctors.h:644
Definition UnaryFunctors.h:109
Definition UnaryFunctors.h:314
Definition UnaryFunctors.h:539
Definition UnaryFunctors.h:591
Definition UnaryFunctors.h:435
Definition UnaryFunctors.h:458
Definition UnaryFunctors.h:231
Definition UnaryFunctors.h:625
Definition UnaryFunctors.h:183
Definition UnaryFunctors.h:215
Definition UnaryFunctors.h:559
Definition UnaryFunctors.h:699
Definition UnaryFunctors.h:681
Definition UnaryFunctors.h:663
Definition UnaryFunctors.h:412
Definition UnaryFunctors.h:263
Definition UnaryFunctors.h:247
Definition UnaryFunctors.h:22
Definition UnaryFunctors.h:167
Definition UnaryFunctors.h:199
Definition UnaryFunctors.h:606
Definition UnaryFunctors.h:295
Definition UnaryFunctors.h:64
Definition UnaryFunctors.h:734
Definition UnaryFunctors.h:333
Definition UnaryFunctors.h:520
Definition UnaryFunctors.h:277
Definition UnaryFunctors.h:575
Definition UnaryFunctors.h:353
Definition UnaryFunctors.h:501