Skip to content

Commit b833f7c

Browse files
committed
fix warnings
1 parent 5090f82 commit b833f7c

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

cp-algo/math/combinatorics.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace cp_algo::math {
66
// fact/rfact/small_inv are caching
77
// Beware of usage with dynamic mod
88
template<typename T>
9-
T fact(int n) {
9+
T fact(auto n) {
1010
static std::vector<T> F(maxn);
1111
static bool init = false;
1212
if(!init) {
@@ -20,7 +20,7 @@ namespace cp_algo::math {
2020
}
2121
// Only works for modint types
2222
template<typename T>
23-
T rfact(int n) {
23+
T rfact(auto n) {
2424
static std::vector<T> F(maxn);
2525
static bool init = false;
2626
if(!init) {
@@ -34,7 +34,7 @@ namespace cp_algo::math {
3434
return F[n];
3535
}
3636
template<typename T>
37-
T small_inv(int n) {
37+
T small_inv(auto n) {
3838
static std::vector<T> F(maxn);
3939
static bool init = false;
4040
if(!init) {
@@ -46,16 +46,16 @@ namespace cp_algo::math {
4646
return F[n];
4747
}
4848
template<typename T>
49-
T binom_large(T n, int r) {
49+
T binom_large(T n, auto r) {
5050
assert(r < maxn);
5151
T ans = 1;
52-
for(int i = 0; i < r; i++) {
52+
for(decltype(r) i = 0; i < r; i++) {
5353
ans = ans * T(n - i) * small_inv<T>(i + 1);
5454
}
5555
return ans;
5656
}
5757
template<typename T>
58-
T binom(int n, int r) {
58+
T binom(auto n, auto r) {
5959
if(r < 0 || r > n) {
6060
return T(0);
6161
} else if(n >= maxn) {

verify/poly/sum_exp_poly.test.cpp

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,10 @@ const int mod = 998244353;
1212
typedef modint<mod> base;
1313
typedef poly_t<base> polyn;
1414

15-
base nCr(int n, int r) {
16-
return fact<base>(n) * rfact<base>(r) * rfact<base>(n-r);
17-
}
18-
1915
polyn xm1k(size_t k) {
2016
polyn::Vector ans(k+1);
21-
for(int i = 0; i <= k; i++) {
22-
ans[i] = (k - i) & 1 ? -nCr(k, i) : nCr(k, i);
17+
for(size_t i = 0; i <= k; i++) {
18+
ans[i] = (k - i) & 1 ? -binom<base>(k, i) : binom<base>(k, i);
2319
}
2420
return ans;
2521
}
@@ -32,7 +28,7 @@ void solve() {
3228
polyn H = num / den;
3329
base ans = 0;
3430

35-
base id[d+1];
31+
vector<base> id(d+1);
3632
vector<int> lp(d+1);
3733
id[0] = bpow(base(0), d);
3834
id[1] = 1;

0 commit comments

Comments
 (0)