package mumbler.truffle.node.builtin.arithmetic;
import java.math.BigInteger;
import mumbler.truffle.node.builtin.BuiltinNode;
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.nodes.NodeInfo;
@NodeInfo(shortName = "%")
@GenerateNodeFactory
public abstract class ModBuiltinNode extends BuiltinNode {
@Specialization
protected long modulo(long value0, long value1) {
return value0 % value1;
}
@Specialization
protected BigInteger modulo(BigInteger value0, BigInteger value1) {
return value0.mod(value1);
}
}