25 #ifndef EIGEN_SCALING_H
26 #define EIGEN_SCALING_H
47 template<
typename _Scalar>
77 template<
int Dim,
int Mode,
int Options>
82 template<
typename Derived>
86 template<
typename Derived,
int Dim>
99 template<
typename NewScalarType>
104 template<
typename OtherScalarType>
120 template<
typename Derived>
typename MatrixBase<Derived>::ScalarMultipleReturnType
122 {
return derived() * s.
factor(); }
127 static inline UniformScaling<double>
Scaling(
double s) {
return UniformScaling<double>(s); }
129 template<
typename RealScalar>
130 static inline UniformScaling<std::complex<RealScalar> >
Scaling(
const std::complex<RealScalar>& s)
131 {
return UniformScaling<std::complex<RealScalar> >(s); }
134 template<
typename Scalar>
135 static inline DiagonalMatrix<Scalar,2>
Scaling(Scalar sx, Scalar sy)
136 {
return DiagonalMatrix<Scalar,2>(sx, sy); }
138 template<
typename Scalar>
139 static inline DiagonalMatrix<Scalar,3>
Scaling(Scalar sx, Scalar sy, Scalar sz)
140 {
return DiagonalMatrix<Scalar,3>(sx, sy, sz); }
145 template<
typename Derived>
146 static inline const DiagonalWrapper<const Derived>
Scaling(
const MatrixBase<Derived>& coeffs)
147 {
return coeffs.asDiagonal(); }
161 template<
typename Scalar>
168 res.
linear().diagonal().fill(factor());
174 template<
typename Scalar>
175 template<
int Dim,
int Mode,
int Options>
186 #endif // EIGEN_SCALING_H