package jscl.math.function;
import jscl.math.JsclInteger;
import javax.annotation.Nonnull;
/**
* User: serso
* Date: 1/7/12
* Time: 3:40 PM
*/
public final class Constants {
public static final Constant PI = new Constant("Π");
public static final Constant PI_INV = new Constant("π");
public static final Constant I = new Constant("i");
public static final Constant INF = new Constant("∞");
public static final Constant INF_2 = new Constant("Infinity");
@Nonnull
public static final String ANS = "ans";
// not intended for instantiation
private Constants() {
throw new AssertionError();
}
public static class Generic {
public static final jscl.math.Generic E = new Exp(JsclInteger.ONE).expressionValue();
public static final jscl.math.Generic PI = Constants.PI.expressionValue();
public static final jscl.math.Generic PI_INV = Constants.PI_INV.expressionValue();
public static final jscl.math.Generic INF = Constants.INF.expressionValue();
public static final jscl.math.Generic I = new Sqrt(JsclInteger.valueOf(-1)).expressionValue();
// i * PI
public static final jscl.math.Generic I_BY_PI = I.multiply(PI_INV);
// fraction = 1/2
public static final jscl.math.Generic HALF = new Inverse(JsclInteger.valueOf(2)).expressionValue();
// fraction = 1/3
public static final jscl.math.Generic THIRD = new Inverse(JsclInteger.valueOf(3)).expressionValue();
// -1/2 * (1 - i * sqrt (3) )
public static final jscl.math.Generic J = HALF.negate().multiply(JsclInteger.ONE.subtract(I.multiply(new Sqrt(JsclInteger.valueOf(3)).expressionValue())));
// -1/2 * (1 + i * sqrt (3) )
public static final jscl.math.Generic J_BAR = HALF.negate().multiply(JsclInteger.ONE.add(I.multiply(new Sqrt(JsclInteger.valueOf(3)).expressionValue())));
}
}