competitive-programming-java-library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub shun0923/competitive-programming-java-library

:heavy_check_mark: library/ArbitraryMod.java

Depends on

Verified with

Code

package library;

import library.Mod;

final class ArbitraryMod extends Mod {
	private static final long MASK = 0xffff_ffffl;
	private final long MH;
	private final long ML;
	public ArbitraryMod(long mod) {
		super(mod);
		final long a = (1l << 32) / MOD;
		final long b = (1l << 32) % MOD;
		final long m = a * a * MOD + 2 * a * b + (b * b) / MOD;
		MH = m >>> 32;
		ML = m & MASK;
	}

	private final long reduce(long x) {
		if(MOD == 1) return 0;
		if(x < 0) return (x = reduce(- x)) == 0 ? 0 : MOD - x;
		long z = (x & MASK) * ML;
		z = (x & MASK) * MH + (x >>> 32) * ML + (z >>> 32);
		z = (x >>> 32) * MH + (z >>> 32);
		x -= z * MOD;
		return x < MOD ? x : x - MOD;
	}
	@Override
	public long mod(long x) {
		if(0 <= x && x < MOD) return x;
		if(- MOD <= x && x < 0) return x + MOD;
		return reduce(x);
	}
	@Override
	public long mul(long x, long y) {
		if(x >= 0 && x < MOD && y >= 0 && y < MOD) return reduce(x * y);
		x = mod(x);
		y = mod(y);
		return reduce(x * y);
	}
}
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/site-packages/onlinejudge_verify/languages/user_defined.py", line 71, in bundle
    return subprocess.check_output(shlex.split(command))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['false']' returned non-zero exit status 1.
Back to top page