brperm.cpp:23:35: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
23 | const unsigned maxflog4n=maxflog2n+1>>1;
| ~~~~~~~~~^~
brperm.cpp: In function 'void init(int, const char*)':
brperm.cpp:35:21: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
35 | for(unsigned i=0; i<n; i++)
| ~^~
brperm.cpp:44:22: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
44 | for(unsigned j=0; j<1<<i; j++){
| ~^~~~~
brperm.cpp:51:21: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
51 | for(unsigned j=0; j<n; j++)
| ~^~
brperm.cpp:58:26: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
58 | for(unsigned j=0; (prec-1<<querlog)+j<n; j++){
| ~~~~^~
brperm.cpp:58:40: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
58 | for(unsigned j=0; (prec-1<<querlog)+j<n; j++){
| ~~~~~~~~~~~~~~~~~~~^~
brperm.cpp: In function 'int query(int, int)':
brperm.cpp:68:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
68 | if(i+(1<<k)>s.size())
| ~~~~~~~~^~~~~~~~~
brperm.cpp:70:6: warning: comparison of integer expressions of different signedness: 'int' and 'const unsigned int' [-Wsign-compare]
70 | if(k<=maxflog4n){
| ~^~~~~~~~~~~
brperm.cpp:81:107: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
81 | if(((long long)prechash[k][j+i]*powers[(reverse[querlog][j]<<preclog)+i]-prefixhash[(reverse[querlog][j]+1<<preclog)+i]+prefixhash[(reverse[querlog][j]<<preclog)+i])%hmod)
| ~~~~~~~~~~~~~~~~~~~^~
brperm.cpp:79:11: warning: unused variable 'prec' [-Wunused-variable]
79 | unsigned prec=1<<preclog;
| ^~~~