Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
What's new
8
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
Menu
Open sidebar
libeigen
eigen
Commits
2aa9eb3c
Commit
2aa9eb3c
authored
Feb 07, 2019
by
Gael Guennebaud
Browse files
bug
#1676
: workaround GCC's bug in c++17 mode.
(grafted from
b3c4344a
)
parent
f1c12d8f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Eigen/src/Core/DenseBase.h
View file @
2aa9eb3c
...
...
@@ -40,7 +40,7 @@ static inline void check_DenseIndex_is_signed() {
*/
template
<
typename
Derived
>
class
DenseBase
#ifndef EIGEN_PARSED_BY_DOXYGEN
:
public
DenseCoeffsBase
<
Derived
>
:
public
DenseCoeffsBase
<
Derived
,
internal
::
accessors_level
<
Derived
>::
value
>
#else
:
public
DenseCoeffsBase
<
Derived
,
DirectWriteAccessors
>
#endif // not EIGEN_PARSED_BY_DOXYGEN
...
...
@@ -71,7 +71,7 @@ template<typename Derived> class DenseBase
typedef
Scalar
value_type
;
typedef
typename
NumTraits
<
Scalar
>::
Real
RealScalar
;
typedef
DenseCoeffsBase
<
Derived
>
Base
;
typedef
DenseCoeffsBase
<
Derived
,
internal
::
accessors_level
<
Derived
>::
value
>
Base
;
using
Base
::
derived
;
using
Base
::
const_cast_derived
;
...
...
Eigen/src/Core/util/ForwardDeclarations.h
View file @
2aa9eb3c
...
...
@@ -47,11 +47,7 @@ template<typename T> struct NumTraits;
template
<
typename
Derived
>
struct
EigenBase
;
template
<
typename
Derived
>
class
DenseBase
;
template
<
typename
Derived
>
class
PlainObjectBase
;
template
<
typename
Derived
,
int
Level
=
internal
::
accessors_level
<
Derived
>
::
value
>
class
DenseCoeffsBase
;
template
<
typename
Derived
,
int
Level
>
class
DenseCoeffsBase
;
template
<
typename
_Scalar
,
int
_Rows
,
int
_Cols
,
int
_Options
=
AutoAlign
|
...
...
bench/bench_gemm.cpp
View file @
2aa9eb3c
...
...
@@ -112,6 +112,7 @@ void matlab_cplx_cplx(const M& ar, const M& ai, const M& br, const M& bi, M& cr,
cr
.
noalias
()
-=
ai
*
bi
;
ci
.
noalias
()
+=
ar
*
bi
;
ci
.
noalias
()
+=
ai
*
br
;
// [cr ci] += [ar ai] * br + [-ai ar] * bi
}
void
matlab_real_cplx
(
const
M
&
a
,
const
M
&
br
,
const
M
&
bi
,
M
&
cr
,
M
&
ci
)
...
...
@@ -240,7 +241,7 @@ int main(int argc, char ** argv)
blas_gemm
(
a
,
b
,
r
);
c
.
noalias
()
+=
a
*
b
;
if
(
!
r
.
isApprox
(
c
))
{
std
::
cout
<<
r
-
c
<<
"
\n
"
;
std
::
cout
<<
(
r
-
c
).
norm
()
<<
"
\n
"
;
std
::
cerr
<<
"Warning, your product is crap!
\n\n
"
;
}
#else
...
...
@@ -249,7 +250,7 @@ int main(int argc, char ** argv)
gemm
(
a
,
b
,
c
);
r
.
noalias
()
+=
a
.
cast
<
Scalar
>
()
.
lazyProduct
(
b
.
cast
<
Scalar
>
()
);
if
(
!
r
.
isApprox
(
c
))
{
std
::
cout
<<
r
-
c
<<
"
\n
"
;
std
::
cout
<<
(
r
-
c
).
norm
()
<<
"
\n
"
;
std
::
cerr
<<
"Warning, your product is crap!
\n\n
"
;
}
}
...
...
Eigen Professor
@sillyprof
mentioned in issue
#1676 (closed)
·
Oct 20, 2021
mentioned in issue
#1676 (closed)
mentioned in issue #1676
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment