(long a, long b, long m)
| 1149 | |
| 1150 | SMALL { |
| 1151 | @Override |
| 1152 | long mulMod(long a, long b, long m) { |
| 1153 | /* |
| 1154 | * NOTE(lowasser, 2015-Feb-12): Benchmarks suggest that changing this to |
| 1155 | * UnsignedLongs.remainder and increasing the threshold to 2^32 doesn't pay for itself, and |
| 1156 | * adding another enum constant hurts performance further -- I suspect because bimorphic |
| 1157 | * implementation is a sweet spot for the JVM. |
| 1158 | */ |
| 1159 | return (a * b) % m; |
| 1160 | } |
| 1161 | |
| 1162 | @Override |
| 1163 | long squareMod(long a, long m) { |
no test coverage detected