Skip to content

Commit 9d845b9

Browse files
authored
fix modint (#319)
1 parent a32e95c commit 9d845b9

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

modint.hpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,10 @@ template <int md> struct ModInt {
5353
constexpr ModInt &operator-=(const ModInt &x) { return *this = *this - x; }
5454
constexpr ModInt &operator*=(const ModInt &x) { return *this = *this * x; }
5555
constexpr ModInt &operator/=(const ModInt &x) { return *this = *this / x; }
56-
friend constexpr ModInt operator+(lint a, const ModInt &x) {
57-
return ModInt()._setval(a % md + x.val_);
58-
}
59-
friend constexpr ModInt operator-(lint a, const ModInt &x) {
60-
return ModInt()._setval(a % md - x.val_ + md);
61-
}
62-
friend constexpr ModInt operator*(lint a, const ModInt &x) {
63-
return ModInt()._setval(a % md * x.val_ % md);
64-
}
65-
friend constexpr ModInt operator/(lint a, const ModInt &x) {
66-
return ModInt()._setval(a % md * x.inv().val() % md);
67-
}
56+
friend constexpr ModInt operator+(lint a, const ModInt &x) { return ModInt(a) + x; }
57+
friend constexpr ModInt operator-(lint a, const ModInt &x) { return ModInt(a) - x; }
58+
friend constexpr ModInt operator*(lint a, const ModInt &x) { return ModInt(a) * x; }
59+
friend constexpr ModInt operator/(lint a, const ModInt &x) { return ModInt(a) / x; }
6860
constexpr bool operator==(const ModInt &x) const { return val_ == x.val_; }
6961
constexpr bool operator!=(const ModInt &x) const { return val_ != x.val_; }
7062
constexpr bool operator<(const ModInt &x) const {

0 commit comments

Comments
 (0)