|
Chemical Data Processing Library C++ API - Version 1.1.1
|
Go to the documentation of this file.
27 #ifndef CDPL_MATH_QUATERNIONEXPRESSION_HPP
28 #define CDPL_MATH_QUATERNIONEXPRESSION_HPP
30 #include <type_traits>
44 template <
typename E,
typename F>
49 typedef F FunctorType;
50 typedef E ExpressionType;
51 typedef typename E::ConstClosureType ExpressionClosureType;
65 return FunctorType::apply(expr.getC1());
70 return FunctorType::apply(expr.getC2());
75 return FunctorType::apply(expr.getC3());
80 return FunctorType::apply(expr.getC4());
84 ExpressionClosureType expr;
87 template <
typename E,
typename F>
95 template <
typename E,
typename F>
100 typedef F FunctorType;
101 typedef E ExpressionType;
102 typedef typename E::ConstClosureType ExpressionClosureType;
116 return FunctorType::applyC1(expr);
121 return FunctorType::applyC2(expr);
126 return FunctorType::applyC3(expr);
131 return FunctorType::applyC4(expr);
135 ExpressionClosureType expr;
138 template <
typename E,
typename F>
146 template <
typename E1,
typename E2,
typename F>
151 typedef F FunctorType;
152 typedef E1 Expression1Type;
153 typedef E2 Expression2Type;
154 typedef typename E1::ConstClosureType Expression1ClosureType;
155 typedef typename E2::ConstClosureType Expression2ClosureType;
165 expr1(e1), expr2(e2) {}
169 return FunctorType::apply(expr1.getC1(), expr2.getC1());
174 return FunctorType::apply(expr1.getC2(), expr2.getC2());
179 return FunctorType::apply(expr1.getC3(), expr2.getC3());
184 return FunctorType::apply(expr1.getC4(), expr2.getC4());
188 Expression1ClosureType expr1;
189 Expression2ClosureType expr2;
192 template <
typename E1,
typename E2,
typename F>
200 template <
typename E1,
typename E2,
typename F>
205 typedef F FunctorType;
206 typedef E1 Expression1Type;
207 typedef E2 Expression2Type;
208 typedef typename E1::ConstClosureType Expression1ClosureType;
209 typedef typename E2::ConstClosureType Expression2ClosureType;
219 expr1(e1), expr2(e2) {}
223 return FunctorType::applyC1(expr1, expr2);
228 return FunctorType::applyC2(expr1, expr2);
233 return FunctorType::applyC3(expr1, expr2);
238 return FunctorType::applyC4(expr1, expr2);
242 Expression1ClosureType expr1;
243 Expression2ClosureType expr2;
246 template <
typename E1,
typename E2,
typename F>
254 template <
typename E1,
typename E2,
typename F>
259 typedef F FunctorType;
260 typedef E1 Expression1Type;
261 typedef E2 Expression2Type;
262 typedef const E1 Expression1ClosureType;
263 typedef typename E2::ConstClosureType Expression2ClosureType;
273 expr1(e1), expr2(e2) {}
277 return FunctorType::apply(expr1, expr2.getC1());
282 return FunctorType::apply(expr1, expr2.getC2());
287 return FunctorType::apply(expr1, expr2.getC3());
292 return FunctorType::apply(expr1, expr2.getC4());
296 Expression1ClosureType expr1;
297 Expression2ClosureType expr2;
300 template <
typename E1,
typename E2,
typename F>
308 template <
typename E1,
typename E2,
typename F>
313 typedef F FunctorType;
314 typedef E1 Expression1Type;
315 typedef E2 Expression2Type;
316 typedef const E1 Expression1ClosureType;
317 typedef typename E2::ConstClosureType Expression2ClosureType;
327 expr1(e1), expr2(e2) {}
331 return FunctorType::applyC1(expr1, expr2);
336 return FunctorType::applyC2(expr1, expr2);
341 return FunctorType::applyC3(expr1, expr2);
346 return FunctorType::applyC4(expr1, expr2);
350 Expression1ClosureType expr1;
351 Expression2ClosureType expr2;
354 template <
typename E1,
typename E2,
typename F>
362 template <
typename E1,
typename E2,
typename F>
367 typedef F FunctorType;
368 typedef E1 Expression1Type;
369 typedef E2 Expression2Type;
370 typedef typename E1::ConstClosureType Expression1ClosureType;
371 typedef const E2 Expression2ClosureType;
381 expr1(e1), expr2(e2) {}
385 return FunctorType::apply(expr1.getC1(), expr2);
390 return FunctorType::apply(expr1.getC2(), expr2);
395 return FunctorType::apply(expr1.getC3(), expr2);
400 return FunctorType::apply(expr1.getC4(), expr2);
404 Expression1ClosureType expr1;
405 Expression2ClosureType expr2;
408 template <
typename E1,
typename E2,
typename F>
416 template <
typename E1,
typename E2,
typename F>
421 typedef F FunctorType;
422 typedef E1 Expression1Type;
423 typedef E2 Expression2Type;
424 typedef typename E1::ConstClosureType Expression1ClosureType;
425 typedef const E2 Expression2ClosureType;
435 expr1(e1), expr2(e2) {}
439 return FunctorType::applyC1(expr1, expr2);
444 return FunctorType::applyC2(expr1, expr2);
449 return FunctorType::applyC3(expr1, expr2);
454 return FunctorType::applyC4(expr1, expr2);
458 Expression1ClosureType expr1;
459 Expression2ClosureType expr2;
462 template <
typename E1,
typename E2,
typename F>
470 template <
typename E1,
typename E2,
typename E3,
typename F>
475 typedef F FunctorType;
476 typedef E1 Expression1Type;
477 typedef E2 Expression2Type;
478 typedef E3 Expression3Type;
479 typedef typename E1::ConstClosureType Expression1ClosureType;
480 typedef typename E2::ConstClosureType Expression2ClosureType;
481 typedef const E3 Expression3ClosureType;
491 expr1(e1), expr2(e2), expr3(e3) {}
495 return FunctorType::applyC1(expr1, expr2, expr3);
500 return FunctorType::applyC2(expr1, expr2, expr3);
505 return FunctorType::applyC3(expr1, expr2, expr3);
510 return FunctorType::applyC4(expr1, expr2, expr3);
514 Expression1ClosureType expr1;
515 Expression2ClosureType expr2;
516 Expression3ClosureType expr3;
519 template <
typename E1,
typename E2,
typename E3,
typename F>
527 template <
typename E1,
typename E2,
typename E3,
typename F>
532 typedef F FunctorType;
533 typedef E1 Expression1Type;
534 typedef E2 Expression2Type;
535 typedef E3 Expression3Type;
536 typedef const E1 Expression1ClosureType;
537 typedef typename E2::ConstClosureType Expression2ClosureType;
538 typedef const E3 Expression3ClosureType;
548 expr1(e1), expr2(e2), expr3(e3) {}
552 return FunctorType::applyC1(expr1, expr2, expr3);
557 return FunctorType::applyC2(expr1, expr2, expr3);
562 return FunctorType::applyC3(expr1, expr2, expr3);
567 return FunctorType::applyC4(expr1, expr2, expr3);
571 Expression1ClosureType expr1;
572 Expression2ClosureType expr2;
573 Expression3ClosureType expr3;
576 template <
typename E1,
typename E2,
typename E3,
typename F>
584 template <
typename E>
590 return ExpressionType(e());
593 template <
typename E>
600 template <
typename E1,
typename E2>
601 typename QuaternionBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType
607 return ExpressionType(e1(), e2());
610 template <
typename E,
typename T>
611 typename std::enable_if<IsScalar<T>::value,
typename Scalar2QuaternionBinary2Traits<E, T, Scalar2QuaternionAddition<E, T> >::ResultType>::type
616 return ExpressionType(e(), t);
619 template <
typename T,
typename E>
620 typename std::enable_if<IsScalar<T>::value,
typename Scalar1QuaternionBinary2Traits<T, E, Scalar1QuaternionAddition<T, E> >::ResultType>::type
625 return ExpressionType(t, e());
628 template <
typename E1,
typename E2>
629 typename QuaternionBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType
635 return ExpressionType(e1(), e2());
638 template <
typename E,
typename T>
639 typename std::enable_if<IsScalar<T>::value,
typename Scalar2QuaternionBinary2Traits<E, T, Scalar2QuaternionSubtraction<E, T> >::ResultType>::type
644 return ExpressionType(e(), t);
647 template <
typename T,
typename E>
648 typename std::enable_if<IsScalar<T>::value,
typename Scalar1QuaternionBinary2Traits<T, E, Scalar1QuaternionSubtraction<T, E> >::ResultType>::type
653 return ExpressionType(t, e());
656 template <
typename E1,
typename E2>
657 typename QuaternionBinary2Traits<E1, E2, QuaternionProduct<E1, E2> >::ResultType
662 return ExpressionType(e1(), e2());
665 template <
typename E,
typename T>
666 typename std::enable_if<IsScalar<T>::value,
typename Scalar2QuaternionBinary1Traits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type
672 return ExpressionType(e(), t);
675 template <
typename T,
typename E>
676 typename std::enable_if<IsScalar<T>::value,
typename Scalar1QuaternionBinary1Traits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type
682 return ExpressionType(t, e());
685 template <
typename E1,
typename E2>
693 return ExpressionType(e1(), e2(),
norm2(e2));
696 template <
typename E,
typename T>
697 typename std::enable_if<IsScalar<T>::value,
typename Scalar2QuaternionBinary1Traits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type
703 return ExpressionType(e(), t);
706 template <
typename T,
typename E>
707 typename std::enable_if<IsScalar<T>::value,
715 return ExpressionType(t, e(),
norm2(e));
718 template <
typename E1,
typename E2>
725 template <
typename E1,
typename E2>
732 template <
typename E1,
typename E2,
typename T>
739 template <
typename E1,
typename E2>
740 typename QuaternionBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType
746 return ExpressionType(e1(), e2());
749 template <
typename E1,
typename E2>
750 typename QuaternionBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType
756 return ExpressionType(e1(), e2());
759 template <
typename E>
760 typename E::ValueType
766 template <
typename E>
767 typename QuaternionUnary2Traits<E, QuaternionUnreal<E> >::ResultType
772 return ExpressionType(e());
775 template <
typename E>
776 typename QuaternionUnary2Traits<E, QuaternionConjugate<E> >::ResultType
781 return ExpressionType(e());
784 template <
typename E>
792 return ExpressionType(e(),
norm2(e));
795 template <
typename E>
802 template <
typename E>
809 template <
typename E>
818 #endif // CDPL_MATH_QUATERNIONEXPRESSION_HPP
ConstReference getC4() const
Definition: QuaternionExpression.hpp:236
F::ResultType ValueType
Definition: QuaternionExpression.hpp:212
ConstReference getC3() const
Definition: QuaternionExpression.hpp:285
ConstReference getC4() const
Definition: QuaternionExpression.hpp:182
ExpressionType ResultType
Definition: QuaternionExpression.hpp:467
F::ResultType ValueType
Definition: QuaternionExpression.hpp:54
ExpressionType ResultType
Definition: QuaternionExpression.hpp:251
ExpressionType ResultType
Definition: QuaternionExpression.hpp:524
GridEquality< E1, E2 >::ResultType operator!=(const GridExpression< E1 > &e1, const GridExpression< E2 > &e2)
Definition: GridExpression.hpp:346
const unsigned int E
Specifies that the stereocenter has E configuration.
Definition: CIPDescriptor.hpp:96
Scalar13QuaternionTernary< E1, E2, E3, F > ExpressionType
Definition: QuaternionExpression.hpp:580
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:108
Scalar2QuaternionBinaryFunctor< Q, T >::ResultType ResultType
Definition: Functional.hpp:1274
QuaternionNorm2< E >::ResultType norm2(const QuaternionExpression< E > &e)
Definition: QuaternionExpression.hpp:804
ConstReference getC1() const
Definition: QuaternionExpression.hpp:383
ConstReference getC1() const
Definition: QuaternionExpression.hpp:167
std::enable_if< IsScalar< T >::value, typename Scalar2GridBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type operator*(const GridExpression< E > &e, const T &t)
Definition: GridExpression.hpp:309
SelfType ClosureType
Definition: QuaternionExpression.hpp:216
F::ResultType ValueType
Definition: QuaternionExpression.hpp:428
GridEquality< E1, E2 >::ResultType operator==(const GridExpression< E1 > &e1, const GridExpression< E2 > &e2)
Definition: GridExpression.hpp:339
Scalar2QuaternionBinary2(const Expression1Type &e1, const Expression2Type &e2)
Definition: QuaternionExpression.hpp:434
QuaternionUnary1< E, F > ExpressionType
Definition: QuaternionExpression.hpp:91
ConstReference getC2() const
Definition: QuaternionExpression.hpp:68
ExpressionType ResultType
Definition: QuaternionExpression.hpp:305
ExpressionType ResultType
Definition: QuaternionExpression.hpp:359
const ValueType ConstReference
Definition: QuaternionExpression.hpp:321
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:544
Scalar1QuaternionBinary1(const Expression1Type &e1, const Expression2Type &e2)
Definition: QuaternionExpression.hpp:272
QuaternionBinary2< E1, E2, F > ExpressionType
Definition: QuaternionExpression.hpp:250
Definition: QuaternionExpression.hpp:418
SelfType ClosureType
Definition: QuaternionExpression.hpp:488
const ValueType ConstReference
Definition: QuaternionExpression.hpp:159
ConstReference getC2() const
Definition: QuaternionExpression.hpp:280
ConstReference getC2() const
Definition: QuaternionExpression.hpp:334
GridUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType real(const GridExpression< E > &e)
Definition: GridExpression.hpp:378
Definition: QuaternionExpression.hpp:464
Scalar3QuaternionBooleanTernaryFunctor< Q1, Q2, T >::ResultType ResultType
Definition: Functional.hpp:977
ConstReference getC3() const
Definition: QuaternionExpression.hpp:231
F::ResultType ValueType
Definition: QuaternionExpression.hpp:541
static ResultType apply(const QuaternionExpression< Q > &e)
Definition: Functional.hpp:1026
GridUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType operator-(const GridExpression< E > &e)
Definition: GridExpression.hpp:272
Definition: Functional.hpp:239
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:269
Definition: QuaternionExpression.hpp:194
F::ResultType ValueType
Definition: QuaternionExpression.hpp:266
static ResultType apply(const QuaternionExpression< Q > &e)
Definition: Functional.hpp:1003
Definition: Functional.hpp:211
ConstReference getC3() const
Definition: QuaternionExpression.hpp:73
Scalar3QuaternionTernary< E1, E2, E3, F > ExpressionType
Definition: QuaternionExpression.hpp:523
Scalar2QuaternionBinary2Traits< E, typename QuaternionNorm2< E >::ResultType, QuaternionInverse< E, typename QuaternionNorm2< E >::ResultType > >::ResultType inv(const QuaternionExpression< E > &e)
Definition: QuaternionExpression.hpp:787
ConstReference getC4() const
Definition: QuaternionExpression.hpp:129
ConstReference getC2() const
Definition: QuaternionExpression.hpp:555
QuaternionUnary1(const ExpressionType &e)
Definition: QuaternionExpression.hpp:60
Definition: Expression.hpp:98
ConstReference getC3() const
Definition: QuaternionExpression.hpp:177
Definition: Functional.hpp:253
SelfType ClosureType
Definition: QuaternionExpression.hpp:324
Scalar3QuaternionTernaryFunctor< Q1, Q2, T >::ResultType ResultType
Definition: Functional.hpp:1356
ConstReference getC1() const
Definition: QuaternionExpression.hpp:329
ConstReference getC1() const
Definition: QuaternionExpression.hpp:493
const ValueType ConstReference
Definition: QuaternionExpression.hpp:375
F::ResultType ValueType
Definition: QuaternionExpression.hpp:374
QuaternionBooleanBinaryFunctor< Q1, Q2 >::ResultType ResultType
Definition: Functional.hpp:955
Definition: QuaternionExpression.hpp:202
ConstReference getC2() const
Definition: QuaternionExpression.hpp:442
ConstReference getC3() const
Definition: QuaternionExpression.hpp:393
GridBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType elemDiv(const GridExpression< E1 > &e1, const GridExpression< E2 > &e2)
Definition: GridExpression.hpp:396
Definition: QuaternionExpression.hpp:529
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:487
const ValueType ConstReference
Definition: QuaternionExpression.hpp:106
GridElementSum< E >::ResultType sum(const GridExpression< E > &e)
Definition: GridExpression.hpp:416
const ValueType ConstReference
Definition: QuaternionExpression.hpp:485
Definition: QuaternionExpression.hpp:578
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:431
ExpressionType ResultType
Definition: QuaternionExpression.hpp:413
Definition: QuaternionExpression.hpp:410
ConstReference getC4() const
Definition: QuaternionExpression.hpp:565
QuaternionUnary2< E, F > ExpressionType
Definition: QuaternionExpression.hpp:142
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:323
Definition of type traits.
const ValueType Reference
Definition: QuaternionExpression.hpp:107
ConstReference getC3() const
Definition: QuaternionExpression.hpp:339
Scalar1QuaternionBinary2< E1, E2, F > ExpressionType
Definition: QuaternionExpression.hpp:358
Definition: Functional.hpp:225
Scalar3QuaternionTernary(const Expression1Type &e1, const Expression2Type &e2, const Expression3Type &e3)
Definition: QuaternionExpression.hpp:490
Scalar1QuaternionBinary1< E1, E2, F > ExpressionType
Definition: QuaternionExpression.hpp:304
Definition: QuaternionExpression.hpp:521
static ResultType apply(const QuaternionExpression< Q > &e)
Definition: Functional.hpp:1045
Definition: QuaternionExpression.hpp:248
Scalar2QuaternionBinary2< E1, E2, F > ExpressionType
Definition: QuaternionExpression.hpp:466
const E & operator+(const GridExpression< E > &e)
Definition: GridExpression.hpp:282
const ValueType Reference
Definition: QuaternionExpression.hpp:160
const ValueType Reference
Definition: QuaternionExpression.hpp:56
Scalar1QuaternionBinary2(const Expression1Type &e1, const Expression2Type &e2)
Definition: QuaternionExpression.hpp:326
Scalar2QuaternionBinary1< E1, E2, F > ExpressionType
Definition: QuaternionExpression.hpp:412
ExpressionType ResultType
Definition: QuaternionExpression.hpp:581
const ValueType Reference
Definition: QuaternionExpression.hpp:214
ConstReference getC1() const
Definition: QuaternionExpression.hpp:550
F::ResultType ValueType
Definition: QuaternionExpression.hpp:320
const ValueType Reference
Definition: QuaternionExpression.hpp:268
Definition: QuaternionExpression.hpp:256
const ValueType ConstReference
Definition: QuaternionExpression.hpp:542
const ValueType Reference
Definition: QuaternionExpression.hpp:486
Definition of various functors.
GridUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType conj(const GridExpression< E > &e)
Definition: GridExpression.hpp:360
Scalar13QuaternionTernary(const Expression1Type &e1, const Expression2Type &e2, const Expression3Type &e3)
Definition: QuaternionExpression.hpp:547
const ValueType Reference
Definition: QuaternionExpression.hpp:430
const ValueType Reference
Definition: QuaternionExpression.hpp:376
const ValueType Reference
Definition: QuaternionExpression.hpp:322
ConstReference getC3() const
Definition: QuaternionExpression.hpp:560
Definition: QuaternionExpression.hpp:472
const unsigned int T
Specifies Hydrogen (Tritium).
Definition: AtomType.hpp:67
Definition: QuaternionExpression.hpp:148
GridBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType elemProd(const GridExpression< E1 > &e1, const GridExpression< E2 > &e2)
Definition: GridExpression.hpp:406
ConstReference getC4() const
Definition: QuaternionExpression.hpp:344
ConstReference getC2() const
Definition: QuaternionExpression.hpp:498
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:161
QuaternionUnary2Traits< E, QuaternionUnreal< E > >::ResultType unreal(const QuaternionExpression< E > &e)
Definition: QuaternionExpression.hpp:768
const ValueType ConstReference
Definition: QuaternionExpression.hpp:55
ConstReference getC2() const
Definition: QuaternionExpression.hpp:172
ConstReference getC2() const
Definition: QuaternionExpression.hpp:388
F::ResultType ValueType
Definition: QuaternionExpression.hpp:105
SelfType ClosureType
Definition: QuaternionExpression.hpp:378
ConstReference getC1() const
Definition: QuaternionExpression.hpp:114
Definition: QuaternionExpression.hpp:140
ExpressionType ResultType
Definition: QuaternionExpression.hpp:92
ConstReference getC4() const
Definition: QuaternionExpression.hpp:398
ConstReference getC4() const
Definition: QuaternionExpression.hpp:78
The namespace of the Chemical Data Processing Library.
ExpressionType ResultType
Definition: QuaternionExpression.hpp:197
Definition: QuaternionExpression.hpp:356
ExpressionType ResultType
Definition: QuaternionExpression.hpp:143
SelfType ClosureType
Definition: QuaternionExpression.hpp:162
static ResultType apply(const QuaternionExpression< Q1 > &e1, const QuaternionExpression< Q2 > &e2)
Definition: Functional.hpp:957
ConstReference getC1() const
Definition: QuaternionExpression.hpp:63
const ValueType ConstReference
Definition: QuaternionExpression.hpp:213
ConstReference getC4() const
Definition: QuaternionExpression.hpp:508
Definition: QuaternionExpression.hpp:46
QuaternionBinary1(const Expression1Type &e1, const Expression2Type &e2)
Definition: QuaternionExpression.hpp:164
QuaternionNorm< E >::ResultType norm(const QuaternionExpression< E > &e)
Definition: QuaternionExpression.hpp:797
ConstReference getC3() const
Definition: QuaternionExpression.hpp:447
std::enable_if< IsScalar< T >::value, typename Scalar2GridBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type operator/(const GridExpression< E > &e, const T &t)
Definition: GridExpression.hpp:329
ConstReference getC1() const
Definition: QuaternionExpression.hpp:437
ConstReference getC1() const
Definition: QuaternionExpression.hpp:275
QuaternionScalarRealUnaryFunctor< Q >::ResultType ResultType
Definition: Functional.hpp:1043
Definition: QuaternionExpression.hpp:310
ConstReference getC3() const
Definition: QuaternionExpression.hpp:503
SelfType ClosureType
Definition: QuaternionExpression.hpp:58
std::enable_if< std::is_arithmetic< T >::value, typename GridToleranceEquality< E1, E2, T >::ResultType >::type equals(const GridExpression< E1 > &e1, const GridExpression< E2 > &e2, const T &eps)
Definition: GridExpression.hpp:353
const ValueType ConstReference
Definition: QuaternionExpression.hpp:429
QuaternionScalarRealUnaryFunctor< Q >::ResultType ResultType
Definition: Functional.hpp:1024
ConstReference getC2() const
Definition: QuaternionExpression.hpp:226
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:377
QuaternionBinary2(const Expression1Type &e1, const Expression2Type &e2)
Definition: QuaternionExpression.hpp:218
Definition: Functional.hpp:1353
SelfType ClosureType
Definition: QuaternionExpression.hpp:109
ConstReference getC1() const
Definition: QuaternionExpression.hpp:221
SelfType ClosureType
Definition: QuaternionExpression.hpp:545
QuaternionBinary1< E1, E2, F > ExpressionType
Definition: QuaternionExpression.hpp:196
Definition: QuaternionExpression.hpp:89
Scalar13QuaternionTernaryFunctor< T1, Q, T2 >::ResultType ResultType
Definition: Functional.hpp:1402
Definition: Functional.hpp:1398
ConstReference getC2() const
Definition: QuaternionExpression.hpp:119
ConstReference getC4() const
Definition: QuaternionExpression.hpp:452
ConstReference getC4() const
Definition: QuaternionExpression.hpp:290
Definition of basic expression types.
Definition: QuaternionExpression.hpp:302
QuaternionScalarUnaryFunctor< Q >::ResultType ResultType
Definition: Functional.hpp:1001
Definition: Functional.hpp:1271
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:57
SelfType ClosureType
Definition: QuaternionExpression.hpp:432
F::ResultType ValueType
Definition: QuaternionExpression.hpp:158
Definition: QuaternionExpression.hpp:97
F::ResultType ValueType
Definition: QuaternionExpression.hpp:484
QuaternionUnary2(const ExpressionType &e)
Definition: QuaternionExpression.hpp:111
const unsigned int F
Specifies Fluorine.
Definition: AtomType.hpp:107
ConstReference getC3() const
Definition: QuaternionExpression.hpp:124
const ValueType ConstReference
Definition: QuaternionExpression.hpp:267
SelfType ClosureType
Definition: QuaternionExpression.hpp:270
const SelfType ConstClosureType
Definition: QuaternionExpression.hpp:215
const ValueType Reference
Definition: QuaternionExpression.hpp:543
Scalar2QuaternionBinary1(const Expression1Type &e1, const Expression2Type &e2)
Definition: QuaternionExpression.hpp:380
static ResultType apply(const QuaternionExpression< Q1 > &e1, const QuaternionExpression< Q2 > &e2, Argument3Type epsilon)
Definition: Functional.hpp:980
Definition: QuaternionExpression.hpp:364