The reason is this check:
_test_precision = lambda prec_bits: abs(int(2**np.array(prec_bits-1))) == abs(2**(prec_bits-1))
specifically np.array(prec_bits-1) .
Default integer type np.int_ is C long, but C long is int32 in win64: Stackoverflow
This is not an issue of fxpmath but numpy in windows.
This is one of the reasons fxpmath checks the n_word_max value to work with int type in numpy instead with object python type.
The reason is this check:
_test_precision = lambda prec_bits: abs(int(2**np.array(prec_bits-1))) == abs(2**(prec_bits-1))
specifically np.array(prec_bits-1) . Default integer type np.int_ is C long, but C long is int32 in win64: Stackoverflow