mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* make use of the EvalBeforeNestingBit and EvalBeforeAssigningBit
in ei_xpr_copy and operator=, respectively. * added Matrix::lazyAssign() when EvalBeforeAssigningBit must be skipped (mainly internal use only) * all expressions are now stored by const reference * added Temporary xpr: .temporary() must be called on any temporary expression not directly returned by a function (mainly internal use only) * moved all functors in the Functors.h header * added some preliminaries stuff for the explicit vectorization
This commit is contained in:
@@ -56,7 +56,8 @@ template<> struct NumTraits<int>
|
||||
HasFloatingPoint = 0,
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 3
|
||||
MulCost = 1,
|
||||
PacketSize = 4
|
||||
};
|
||||
};
|
||||
|
||||
@@ -68,8 +69,9 @@ template<> struct NumTraits<float>
|
||||
IsComplex = 0,
|
||||
HasFloatingPoint = 1,
|
||||
ReadCost = 1,
|
||||
AddCost = 2,
|
||||
MulCost = 6
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 4
|
||||
};
|
||||
};
|
||||
|
||||
@@ -81,8 +83,9 @@ template<> struct NumTraits<double>
|
||||
IsComplex = 0,
|
||||
HasFloatingPoint = 1,
|
||||
ReadCost = 1,
|
||||
AddCost = 2,
|
||||
MulCost = 6
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 2
|
||||
};
|
||||
};
|
||||
|
||||
@@ -95,7 +98,8 @@ template<typename _Real> struct NumTraits<std::complex<_Real> >
|
||||
HasFloatingPoint = NumTraits<Real>::HasFloatingPoint,
|
||||
ReadCost = 2,
|
||||
AddCost = 2 * NumTraits<Real>::AddCost,
|
||||
MulCost = 4 * NumTraits<Real>::MulCost + 2 * NumTraits<Real>::AddCost
|
||||
MulCost = 4 * NumTraits<Real>::MulCost + 2 * NumTraits<Real>::AddCost,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
@@ -107,8 +111,9 @@ template<> struct NumTraits<long long int>
|
||||
IsComplex = 0,
|
||||
HasFloatingPoint = 0,
|
||||
ReadCost = 1,
|
||||
AddCost = 2,
|
||||
MulCost = 6
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
@@ -121,7 +126,8 @@ template<> struct NumTraits<long double>
|
||||
HasFloatingPoint = 1,
|
||||
ReadCost = 1,
|
||||
AddCost = 2,
|
||||
MulCost = 6
|
||||
MulCost = 2,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
@@ -134,7 +140,8 @@ template<> struct NumTraits<bool>
|
||||
HasFloatingPoint = 0,
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1
|
||||
MulCost = 1,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user