Assign.h
Go to the documentation of this file.
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2007 Michael Olbrich <michael.olbrich@gmx.net>
5 // Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
6 // Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
7 //
8 // This Source Code Form is subject to the terms of the Mozilla
9 // Public License v. 2.0. If a copy of the MPL was not distributed
10 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 
12 #ifndef EIGEN_ASSIGN_H
13 #define EIGEN_ASSIGN_H
14 
15 namespace Eigen {
16 
17 template<typename Derived>
18 template<typename OtherDerived>
21 {
22  enum{
24  };
25 
27  EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived,OtherDerived)
28  EIGEN_STATIC_ASSERT(SameType,YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
29 
30  eigen_assert(rows() == other.rows() && cols() == other.cols());
31  internal::call_assignment_no_alias(derived(),other.derived());
32 
33  return derived();
34 }
35 
36 template<typename Derived>
37 template<typename OtherDerived>
40 {
41  internal::call_assignment(derived(), other.derived());
42  return derived();
43 }
44 
45 template<typename Derived>
48 {
49  internal::call_assignment(derived(), other.derived());
50  return derived();
51 }
52 
53 template<typename Derived>
56 {
57  internal::call_assignment(derived(), other.derived());
58  return derived();
59 }
60 
61 template<typename Derived>
62 template <typename OtherDerived>
65 {
66  internal::call_assignment(derived(), other.derived());
67  return derived();
68 }
69 
70 template<typename Derived>
71 template <typename OtherDerived>
74 {
75  internal::call_assignment(derived(), other.derived());
76  return derived();
77 }
78 
79 template<typename Derived>
80 template<typename OtherDerived>
83 {
84  other.derived().evalTo(derived());
85  return derived();
86 }
87 
88 } // end namespace Eigen
89 
90 #endif // EIGEN_ASSIGN_H
EIGEN_DEVICE_FUNC
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:976
Eigen
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
Eigen::ReturnByValue
Definition: ReturnByValue.h:50
Eigen::EigenBase
Definition: EigenBase.h:29
eigen_assert
#define eigen_assert(x)
Definition: Macros.h:1037
Eigen::internal::call_assignment_no_alias
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment_no_alias(Dst &dst, const Src &src, const Func &func)
Definition: AssignEvaluator.h:873
rows
int rows
Definition: Tutorial_commainit_02.cpp:1
Eigen::DenseBase::lazyAssign
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Derived & lazyAssign(const DenseBase< OtherDerived > &other)
EIGEN_STRONG_INLINE
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE
#define EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0, TYPE1)
Definition: StaticAssert.h:192
Eigen::MatrixBase::operator=
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const MatrixBase &other)
Definition: Assign.h:55
Eigen::DenseBase
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:41
EIGEN_STATIC_ASSERT
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Eigen::DenseBase::operator=
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const DenseBase< OtherDerived > &other)
Definition: Assign.h:39
Eigen::internal::is_same
Definition: Meta.h:148
Eigen::MatrixBase
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:48
EIGEN_STATIC_ASSERT_LVALUE
#define EIGEN_STATIC_ASSERT_LVALUE(Derived)
Definition: StaticAssert.h:202
cols
int cols
Definition: Tutorial_commainit_02.cpp:1
Eigen::internal::call_assignment
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment(Dst &dst, const Src &src)
Definition: AssignEvaluator.h:834
pybind_wrapper_test_script.other
other
Definition: pybind_wrapper_test_script.py:42


gtsam
Author(s):
autogenerated on Thu Jun 13 2024 03:01:42