All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jscl.math.operator.vector.Dalembertian Maven / Gradle / Ivy

There is a newer version: 1.0.11
Show newest version
package jscl.math.operator.vector;

import jscl.math.Expression;
import jscl.math.Generic;
import jscl.math.JsclVector;
import jscl.math.Variable;
import jscl.math.operator.Operator;
import jscl.math.operator.VectorOperator;
import jscl.mathml.MathML;
import javax.annotation.Nonnull;

public class Dalembertian extends VectorOperator {

    public static final String NAME = "dalembertian";

    public Dalembertian(Generic vector, Generic variable) {
        super(NAME, new Generic[]{vector, variable});
    }

    private Dalembertian(Generic parameter[]) {
        super(NAME, parameter);
    }

    @Override
    public int getMinParameters() {
        return 2;
    }

    public Generic selfExpand() {
        Variable variable[] = toVariables((JsclVector) parameters[1]);
        Expression expression = parameters[0].expressionValue();
        return expression.dalembertian(variable);
    }

    @Nonnull
    @Override
    public Operator newInstance(@Nonnull Generic[] parameters) {
        return new Dalembertian(parameters);
    }

    protected void bodyToMathML(MathML element) {
        operator(element, "square");
        parameters[0].toMathML(element, null);
    }

    @Nonnull
    public Variable newInstance() {
        return new Dalembertian(null, null);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy