foo.cc:71:1: error: 'create_vector' function uses 'auto' type specifier without trailing return type
71 | auto create_vector(T val, size_t I) {
| ^~~~
foo.cc:71:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
foo.cc:76:1: error: 'create_vector' function uses 'auto' type specifier without trailing return type
76 | auto create_vector(T val, size_t I, Args... Js) {
| ^~~~
foo.cc:76:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
foo.cc: In function 'void FastBI::fft(std::vector<std::complex<double> >&, bool)':
foo.cc:122:39: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
122 | for (unsigned i = 1, j = 0; i < n; i++) {
| ~~^~~
foo.cc:124:22: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
124 | for (; j >= bit; bit >>= 1)
| ~~^~~~~~
foo.cc: In function 'std::vector<int> FastBI::multiply_bigint(const std::vector<int>&, const std::vector<int>&, int)':
foo.cc:152:30: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
152 | for (size_t i = 0; i < n; i++) {
| ~~^~~
foo.cc: In member function 'FastBI::bigint& FastBI::bigint::operator+=(const FastBI::bigint&)':
foo.cc:250:46: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
250 | for (int i = 0, carry = 0; i < other.z.size() || carry; ++i) {
| ~~^~~~~~~~~~~~~~~~
foo.cc:251:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
251 | if (i == z.size())
| ~~^~~~~~~~~~~
foo.cc:253:40: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
253 | z[i] += carry + (i < other.z.size() ? other.z[i] : 0);
| ~~^~~~~~~~~~~~~~~~
foo.cc: In member function 'FastBI::bigint& FastBI::bigint::operator-=(const FastBI::bigint&)':
foo.cc:273:50: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
273 | for (int i = 0, carry = 0; i < other.z.size() || carry; ++i) {
| ~~^~~~~~~~~~~~~~~~
foo.cc:274:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
274 | z[i] -= carry + (i < other.z.size() ? other.z[i] : 0);
| ~~^~~~~~~~~~~~~~~~
foo.cc: In member function 'FastBI::bigint& FastBI::bigint::operator*=(int)':
foo.cc:300:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
300 | for (int i = 0, carry = 0; i < z.size() || carry; ++i) {
| ~~^~~~~~~~~~
foo.cc:301:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
301 | if (i == z.size())
| ~~^~~~~~~~~~~
foo.cc: In member function 'void FastBI::bigint::read(const std::string&)':
foo.cc:477:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
477 | while (pos < s.size() && (s[pos] == '-' || s[pos] == '+')) {
| ~~~~^~~~~~~~~~
foo.cc: In static member function 'static std::vector<int> FastBI::bigint::convert_base(const std::vector<int>&, int, int)':
foo.cc:510:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
510 | for (int i = 1; i < p.size(); i++)
| ~~^~~~~~~~~~
foo.cc: In member function 'FastBI::bigint FastBI::bigint::mul_simple(const FastBI::bigint&) const':
foo.cc:546:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
546 | for (int i = 0; i < z.size(); ++i)
| ~~^~~~~~~~~~
foo.cc:548:50: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
548 | for (int j = 0, carry = 0; j < v.z.size() || carry; ++j) {
| ~~^~~~~~~~~~~~
foo.cc:549:77: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
549 | long long cur = res.z[i + j] + (long long)z[i] * (j < v.z.size() ? v.z[j] : 0) + carry;
| ~~^~~~~~~~~~~~
foo.cc: In function 'ull highestPowerof2(ull)':
foo.cc:629:12: warning: right shift count >= width of type [-Wshift-count-overflow]
629 | x |= x >> 64;
| ~~^~~~~
[Hydro](https://hydro.ac)提供评测服务