package org.matheclipse.core.reflection.system;
import org.matheclipse.core.eval.interfaces.AbstractArg1;
import org.matheclipse.core.expression.F;
import org.matheclipse.core.interfaces.IAST;
import org.matheclipse.core.interfaces.IExpr;
public class Not extends AbstractArg1 {
public Not() {
}
@Override
public IExpr e1ObjArg(final IExpr o) {
if (o.isTrue()) {
return F.False;
}
if (o.isFalse()) {
return F.True;
}
if (o.isAST()) {
IAST temp = (IAST) o;
if (o.isNot()) {
return ((IAST) o).arg1();
}
if (temp.size() == 3) {
IExpr head = temp.head();
if (head.equals(F.Equal)) {
temp = temp.clone();
temp.set(0, F.Unequal);
return temp;
} else if (head.equals(F.Unequal)) {
temp = temp.clone();
temp.set(0, F.Equal);
return temp;
} else if (head.equals(F.Greater)) {
temp = temp.clone();
temp.set(0, F.LessEqual);
return temp;
} else if (head.equals(F.GreaterEqual)) {
temp = temp.clone();
temp.set(0, F.Less);
return temp;
} else if (head.equals(F.Less)) {
temp = temp.clone();
temp.set(0, F.GreaterEqual);
return temp;
} else if (head.equals(F.LessEqual)) {
temp = temp.clone();
temp.set(0, F.Greater);
return temp;
}
}
}
return null;
}
}
Ads help maintain this website.