package org.jerlang.erts.erlang;
import org.jerlang.type.Integer;
import org.jerlang.type.List;
import org.jerlang.type.Term;
/**
* Integer remainder of X/Y.
*/
public class ErlangRem {
private ErlangRem() {
}
public static Term dispatch(List params) {
switch (params.length()) {
case 2:
Integer a = params.head().toInteger();
params = params.tail();
Integer b = params.head().toInteger();
return rem_2(a, b);
default:
throw Error.badarg;
}
}
public static Integer rem_2(Integer a, Integer b) {
return new Integer(a.toBigInteger().remainder(b.toBigInteger()));
}
}