Function ihashcall in 77bit/packjt77.f90 will multiply two values which will overflow, which is undefined https://gcc.gnu.org/onlinedocs/gfortran/Behavior-on-integer-overflow.html
I don't know enough Fortran90 to do the type conversions to avoid overflow, and I could not figure out how to make a GNU specific comment that suppressed this check; I ended up compiling as a special case packjt77.f90 with -fwrapv, which turns off checks. If this hash code is only of use within one invocation of wsjtx, then there are other hashers using xor (IEOR) that could do just as well for the needs. However, if the same hasher has to be used across all users and all versions of wsjtx, then you'll have to keep what you have.
_______________________________________________ wsjt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wsjt-devel
