Skip to content

Commit 07aadfb

Browse files
committed
Patch test resolution as well
1 parent 0943428 commit 07aadfb

2 files changed

Lines changed: 67 additions & 72 deletions

File tree

test/unit/math/mix/fun/pow_part1_test.cpp

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,19 @@
55

66
template <typename T>
77
void expect_arith_instantiate() {
8-
using stan::math::pow;
9-
auto a1 = pow(T(1.0), 1);
10-
auto b1 = pow(T(1.0), 1.0);
11-
auto c1 = pow(1, T(1.0));
12-
auto d1 = pow(1.0, T(1.0));
13-
auto e1 = pow(T(1.0), T(1.0));
14-
15-
auto a2 = pow(std::complex<T>(1.0), 1);
16-
auto b2 = pow(std::complex<T>(1.0), 1.0);
17-
auto c2 = pow(1, std::complex<T>(1.0));
18-
auto d2 = pow(1.0, std::complex<T>(1.0));
19-
auto e2 = pow(std::complex<T>(1.0), std::complex<T>(1.0));
20-
auto f2 = pow(std::complex<double>(1.0), std::complex<T>(1.0));
21-
auto g2 = pow(std::complex<T>(1.0), std::complex<double>(1.0));
8+
auto a1 = stan::math::pow(T(1.0), 1);
9+
auto b1 = stan::math::pow(T(1.0), 1.0);
10+
auto c1 = stan::math::pow(1, T(1.0));
11+
auto d1 = stan::math::pow(1.0, T(1.0));
12+
auto e1 = stan::math::pow(T(1.0), T(1.0));
13+
14+
auto a2 = stan::math::pow(std::complex<T>(1.0), 1);
15+
auto b2 = stan::math::pow(std::complex<T>(1.0), 1.0);
16+
auto c2 = stan::math::pow(1, std::complex<T>(1.0));
17+
auto d2 = stan::math::pow(1.0, std::complex<T>(1.0));
18+
auto e2 = stan::math::pow(std::complex<T>(1.0), std::complex<T>(1.0));
19+
auto f2 = stan::math::pow(std::complex<double>(1.0), std::complex<T>(1.0));
20+
auto g2 = stan::math::pow(std::complex<T>(1.0), std::complex<double>(1.0));
2221
}
2322

2423
// this one's been tricky to instantiate, so test all instances
@@ -34,10 +33,8 @@ TEST(mathMixScalFun, powInstantiations) {
3433
}
3534

3635
TEST(mathMixScalFun, pow) {
37-
auto f = [](const auto& x1, const auto& x2) {
38-
using stan::math::pow;
39-
return pow(x1, x2);
40-
};
36+
auto f
37+
= [](const auto& x1, const auto& x2) { return stan::math::pow(x1, x2); };
4138

4239
stan::test::expect_ad(f, -0.4, 0.5);
4340
stan::test::expect_ad(f, 0.5, 0.5);

test/unit/math/mix/fun/pow_part2_test.cpp

Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ TEST(mathMixFun, complexPow) {
4949
}
5050

5151
TEST(mathMixFun, powIntAmbiguityTest) {
52-
using stan::math::pow; // included to check ambiguities
5352
using stan::math::var;
5453
using std::complex;
5554
int i = 2;
@@ -58,35 +57,35 @@ TEST(mathMixFun, powIntAmbiguityTest) {
5857
complex<double> cd = 2.5;
5958
complex<var> cv = 2.5;
6059

61-
auto a1 = pow(i, i);
62-
auto a2 = pow(i, d);
63-
auto a3 = pow(i, v);
64-
auto a4 = pow(i, cd);
65-
auto a5 = pow(i, cv);
66-
67-
auto b1 = pow(d, i);
68-
auto b2 = pow(d, d);
69-
auto b3 = pow(d, v);
70-
auto b4 = pow(d, cd);
71-
auto b5 = pow(d, cv);
72-
73-
auto e1 = pow(v, i);
74-
auto e2 = pow(v, d);
75-
auto e3 = pow(v, v);
76-
auto e4 = pow(v, cd);
77-
auto e5 = pow(v, cv);
78-
79-
auto c1 = pow(cd, i);
80-
auto c2 = pow(cd, d);
81-
auto c3 = pow(cd, v);
82-
auto c4 = pow(cd, cd);
83-
auto c5 = pow(cd, cv);
84-
85-
auto d1 = pow(cv, i);
86-
auto d2 = pow(cv, d);
87-
auto d3 = pow(cv, v);
88-
auto d4 = pow(cv, cd);
89-
auto d5 = pow(cv, cv);
60+
auto a1 = stan::math::pow(i, i);
61+
auto a2 = stan::math::pow(i, d);
62+
auto a3 = stan::math::pow(i, v);
63+
auto a4 = stan::math::pow(i, cd);
64+
auto a5 = stan::math::pow(i, cv);
65+
66+
auto b1 = stan::math::pow(d, i);
67+
auto b2 = stan::math::pow(d, d);
68+
auto b3 = stan::math::pow(d, v);
69+
auto b4 = stan::math::pow(d, cd);
70+
auto b5 = stan::math::pow(d, cv);
71+
72+
auto e1 = stan::math::pow(v, i);
73+
auto e2 = stan::math::pow(v, d);
74+
auto e3 = stan::math::pow(v, v);
75+
auto e4 = stan::math::pow(v, cd);
76+
auto e5 = stan::math::pow(v, cv);
77+
78+
auto c1 = stan::math::pow(cd, i);
79+
auto c2 = stan::math::pow(cd, d);
80+
auto c3 = stan::math::pow(cd, v);
81+
auto c4 = stan::math::pow(cd, cd);
82+
auto c5 = stan::math::pow(cd, cv);
83+
84+
auto d1 = stan::math::pow(cv, i);
85+
auto d2 = stan::math::pow(cv, d);
86+
auto d3 = stan::math::pow(cv, v);
87+
auto d4 = stan::math::pow(cv, cd);
88+
auto d5 = stan::math::pow(cv, cv);
9089

9190
auto e = a1 + a2 + a3 + a4 + a5 + b1 + b2 + b3 + b4 + b5 + c1 + c2 + c3 + c4
9291
+ c5 + d1 + d2 + d3 + d4 + d5 + e1 + e2 + e3 + e4 + e5;
@@ -96,37 +95,36 @@ TEST(mathMixFun, powIntAmbiguityTest) {
9695

9796
TEST(mathMixFun, powIntAmbiguityTestFvar) {
9897
using stan::math::fvar;
99-
using stan::math::pow; // included to check ambiguities
10098
using std::complex;
10199
int i = 2;
102100
double d = 2.5;
103101
fvar<double> v = 2.5;
104102
complex<double> cd = 2.5;
105103
complex<fvar<double>> cv = 2.5;
106104

107-
auto a1 = pow(i, i);
108-
auto a2 = pow(i, d);
109-
auto a3 = pow(i, v);
110-
auto a4 = pow(i, cd);
111-
auto a5 = pow(i, cv);
112-
113-
auto b1 = pow(d, i);
114-
auto b2 = pow(d, d);
115-
auto b3 = pow(d, v);
116-
auto b4 = pow(d, cd);
117-
auto b5 = pow(d, cv);
118-
119-
auto c1 = pow(cd, i);
120-
auto c2 = pow(cd, d);
121-
auto c3 = pow(cd, v);
122-
auto c4 = pow(cd, cd);
123-
auto c5 = pow(cd, cv);
124-
125-
auto d1 = pow(cv, i);
126-
auto d2 = pow(cv, d);
127-
auto d3 = pow(cv, v);
128-
auto d4 = pow(cv, cd);
129-
auto d5 = pow(cv, cv);
105+
auto a1 = stan::math::pow(i, i);
106+
auto a2 = stan::math::pow(i, d);
107+
auto a3 = stan::math::pow(i, v);
108+
auto a4 = stan::math::pow(i, cd);
109+
auto a5 = stan::math::pow(i, cv);
110+
111+
auto b1 = stan::math::pow(d, i);
112+
auto b2 = stan::math::pow(d, d);
113+
auto b3 = stan::math::pow(d, v);
114+
auto b4 = stan::math::pow(d, cd);
115+
auto b5 = stan::math::pow(d, cv);
116+
117+
auto c1 = stan::math::pow(cd, i);
118+
auto c2 = stan::math::pow(cd, d);
119+
auto c3 = stan::math::pow(cd, v);
120+
auto c4 = stan::math::pow(cd, cd);
121+
auto c5 = stan::math::pow(cd, cv);
122+
123+
auto d1 = stan::math::pow(cv, i);
124+
auto d2 = stan::math::pow(cv, d);
125+
auto d3 = stan::math::pow(cv, v);
126+
auto d4 = stan::math::pow(cv, cd);
127+
auto d5 = stan::math::pow(cv, cv);
130128

131129
auto e = a1 + a2 + a3 + a4 + a5 + b1 + b2 + b3 + b4 + b5 + c1 + c2 + c3 + c4
132130
+ c5 + d1 + d2 + d3 + d4 + d5;

0 commit comments

Comments
 (0)