replace mod_inv_25 by explicit value as a fix for VS warning C4307 #3450
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
revert non-working workaround for issue #3163
This fix for warning C4307: '*': integral constant overflow leads to warning C4309: 'static_cast': truncation of constant value, which is not better (both are level 3 VS warnings). Revert to the original code that is clearer and also present further in this source code.
Alternatively, to avoid any VS warning, one could follow the third suggestion of #3163 (comment) and write the explicit value of mod_inv_25 which is 0xc28f5c29 and replace the lines with:
const uint32_t mod_inv_25 = 0xc28f5c29 // = mod_inv_5 * mod_inv_5;