Skip to content

Commit ae90c3e

Browse files
authored
Merge pull request #2991 from stan-dev/fix/2989-fabs-adl
2 parents 013bb8b + 2acfdd5 commit ae90c3e

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

stan/math/prim/err/check_symmetric.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ template <typename EigMat, require_matrix_t<EigMat>* = nullptr>
3232
inline void check_symmetric(const char* function, const char* name,
3333
const EigMat& y) {
3434
check_square(function, name, y);
35+
using stan::math::fabs;
3536
using std::fabs;
3637

3738
Eigen::Index k = y.rows();

test/unit/math/prim/err/check_symmetric_test.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,14 @@ TEST(ErrorHandlingMatrix, checkSymmetric_non_square) {
6464
EXPECT_THROW(stan::math::check_symmetric("checkSymmetric", "y", y),
6565
std::invalid_argument);
6666
}
67+
68+
TEST(ErrorHandlingMatrix, checkSymmetric_complex) {
69+
Eigen::MatrixXcd y(2, 2);
70+
y << std::complex<double>(1, 1), std::complex<double>(2, 2),
71+
std::complex<double>(2, 2), std::complex<double>(1, 1);
72+
73+
EXPECT_NO_THROW(stan::math::check_symmetric("checkSymmetric", "y", y));
74+
y(0, 1) = std::complex<double>(2, 3);
75+
EXPECT_THROW(stan::math::check_symmetric("checkSymmetric", "y", y),
76+
std::domain_error);
77+
}

test/unit/math/prim/fun/fabs_test.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,9 @@ TEST(primScalFun, fabs) {
55
stan::test::expect_common_prim([](auto x) { return std::fabs(x); },
66
[](auto x) { return stan::math::fabs(x); });
77
}
8+
9+
TEST(primScalFun, fabs_complex) {
10+
using stan::math::fabs;
11+
std::complex<double> z(1.0, 2.0);
12+
EXPECT_FLOAT_EQ(fabs(z), 2.236068);
13+
}

0 commit comments

Comments
 (0)