g++ -O3 -march=native -std=c++17 bench.cpp bitboard.cpp defaults.cpp eval.cpp history.cpp moves.cpp ordering.cpp search.cpp see.cpp timeman.cpp transposition.cpp uci.cpp -o Weak-A861808C
history.cpp:19:9: error: redefinition of 'pawn_correction_history' with a different type: 'int32_t[16384]' (aka 'int[16384]') vs 'int32_t[2][16384]' (aka 'int[2][16384]')
19 | int32_t pawn_correction_history[16384]{};
| ^
./history.hpp:25:16: note: previous declaration is here
25 | extern int32_t pawn_correction_history[2][16384];
| ^
history.cpp:60:43: error: array type 'int32_t[16384]' (aka 'int[16384]') is not assignable
60 | pawn_correction_history[hash_key] = 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
history.cpp:91:84: error: invalid operands to binary expression ('int32_t[16384]' (aka 'int[16384]') and 'int')
91 | pawn_correction_history[pawn_key_idx] = (pawn_correction_history[pawn_key_idx] * (256 - new_weight) + scaled_diff * new_weight) / 256;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
history.cpp:96:45: error: no matching function for call to 'clamp'
96 | pawn_correction_history[pawn_key_idx] = clamp(pawn_correction_history[pawn_key_idx], -16384, 16384);
| ^~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h:35:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('int32_t[16384]' (aka 'int[16384]') vs. 'int')
35 | clamp(_LIBCPP_LIFETIMEBOUND const _Tp& __v,
| ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/clamp.h:25:1: note: candidate function template not viable: requires 4 arguments, but 3 were provided
25 | clamp(_LIBCPP_LIFETIMEBOUND const _Tp& __v,
| ^ ~~~~~~~~~~~~~~~
26 | _LIBCPP_LIFETIMEBOUND const _Tp& __lo,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 | _LIBCPP_LIFETIMEBOUND const _Tp& __hi,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28 | _Compare __comp) {
| ~~~~~~~~~~~~~~~
history.cpp:115:13: error: cannot initialize a variable of type 'int32_t' (aka 'int') with an rvalue of type 'int32_t *' (aka 'int *')
115 | int32_t entry = pawn_correction_history[pawn_key_idx] + non_pawn_correction_history[stm][non_pawn_key_idx] + minor_correction_history[stm][minors_key_idx] + major_correction_history[stm][majors_key_idx];
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 errors generated.
make: *** [all] Error 1