package org.jerlang.erts.erlang;
import org.jerlang.type.Atom;
import org.jerlang.type.Integer;
import org.jerlang.type.List;
import org.jerlang.type.Term;
/**
* The multiply operator
*/
public class ErlangAtomMultiply {
private ErlangAtomMultiply() {
}
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 atom_multiply_2(a, b);
default:
throw Error.badarg;
}
}
public static Integer atom_multiply_2(Integer a, Integer b) {
return new Integer(a.toBigInteger().multiply(b.toBigInteger()));
}
public static Atom name() {
return Atom.of("*");
}
}