in reply to Re^18: Module for 128-bit integer math? (updated)
in thread Module for 128-bit integer math?
I haven't tried to build this yet, ((I think?)I would need to use MPIR on 64-bit), so I haven't seen the full output, but am I missing something with regard to your use of ior rather than xor?
sub FNV_1_128_gmpn { my $s = shift; mpn_set_str(my $h, '144066263297769815596495629667062367629', 10, +128); mpn_set_str(my $p, '309485009821345068724781371', 10, 128); for (unpack 'C*', $s) { my $h2 = $h; mpn_mul($h, $h2, $p); mpn_ior_uint($h, $h, $_); } return $h; } sub FNV_1a_128_gmpn { my $s = shift; mpn_set_str(my $h, '144066263297769815596495629667062367629', 10, +128); mpn_set_str(my $p, '309485009821345068724781371', 10, 128 ); for (unpack 'C*', $s) { mpn_ior_uint($h, $h, $_); my $h2 = $h; mpn_mul($h, $h2, $p); } return $h; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^20: Module for 128-bit integer math? (updated)
by salva (Canon) on Feb 23, 2011 at 22:35 UTC |