(long a, long b, long m)
| 1168 | |
| 1169 | SMALL { |
| 1170 | @Override |
| 1171 | long mulMod(long a, long b, long m) { |
| 1172 | /* |
| 1173 | * NOTE(lowasser, 2015-Feb-12): Benchmarks suggest that changing this to |
| 1174 | * UnsignedLongs.remainder and increasing the threshold to 2^32 doesn't pay for itself, and |
| 1175 | * adding another enum constant hurts performance further -- I suspect because bimorphic |
| 1176 | * implementation is a sweet spot for the JVM. |
| 1177 | */ |
| 1178 | return (a * b) % m; |
| 1179 | } |
| 1180 | |
| 1181 | @Override |
| 1182 | long squareMod(long a, long m) { |
no test coverage detected