org.jpmml.evaluator.Value Maven / Gradle / Ivy
/*
* Copyright (c) 2017 Villu Ruusmann
*
* This file is part of JPMML-Evaluator
*
* JPMML-Evaluator is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* JPMML-Evaluator is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with JPMML-Evaluator. If not, see .
*/
package org.jpmml.evaluator;
abstract
public class Value implements Comparable> {
abstract
public Value copy();
@Operation (
value = " ${this}${0} ",
initialValue = "${0}"
)
abstract
public Value add(Number value);
@Operation (
value = " ${this}${0} ",
initialValue = "${0}"
)
abstract
public Value add(Value extends Number> value);
/**
*
* Adds coefficient * factor
.
*
*/
@Operation (
value = " ${this} ${0}${1} ",
initialValue = " ${0}${1} "
)
abstract
public Value add(Number coefficient, Number factor);
@Operation (
value = " ${this} ${0}${1}${2} ",
initialValue = " ${0}${1}${2} "
)
abstract
public Value add(Number coefficient, Number firstFactor, Number secondFactor);
/**
*
* Adds coefficient * product(factors)
.
*
*/
@Operation (
value = " ${this} ${0}${1} ",
initialValue = " ${0}${1} "
)
abstract
public Value add(Number coefficient, Number... factors);
/**
*
* Adds coefficient * (factor ^ exponent)
.
*
*/
@Operation (
value = " ${this} ${0} ${1}${2} ",
initialValue = " ${0} ${1}${2} "
)
abstract
public Value add(Number coefficient, Number factor, int exponent);
@Operation (
value = " ${this}${0} ",
initialValue = " ${0} "
)
abstract
public Value subtract(Number value);
@Operation (
value = " ${this}${0} ",
initialValue = " ${0} "
)
abstract
public Value subtract(Value extends Number> value);
@Operation (
value = " ${this}${0} "
)
abstract
public Value multiply(Number value);
@Operation (
value = " ${this}${0} "
)
abstract
public Value multiply(Value extends Number> value);
/**
*
* Multiplies by factor ^ exponent
.
*
*/
@Operation (
value = " ${this} ${0}${1} "
)
abstract
public Value multiply(Number factor, Number exponent);
@Operation (
value = " ${this}${0} "
)
abstract
public Value divide(Number value);
@Operation (
value = " ${this}${0} "
)
abstract
public Value divide(Value extends Number> value);
@Operation (
value = "1 ${0} "
)
abstract
public Value residual(Value extends Number> value);
@Operation (
value = " ${this}2 "
)
abstract
public Value square();
@Operation (
value = " ${this}{0} "
)
abstract
public Value power(Number value);
@Operation (
value = "1 ${this} "
)
abstract
public Value reciprocal();
@Operation (
value = "elliott ${this} "
)
abstract
public Value elliott();
@Operation (
value = " ${this} "
)
abstract
public Value exp();
@Operation (
value = " ${this} "
)
abstract
public Value ln();
@Operation (
value = "gauss ${this} "
)
abstract
public Value gauss();
@Operation (
value = "logit ${this} "
)
abstract
public Value inverseLogit();
@Operation (
value = "cloglog ${this} "
)
abstract
public Value inverseCloglog();
@Operation (
value = "loglog ${this} "
)
abstract
public Value inverseLoglog();
@Operation (
value = "logc ${this} "
)
abstract
public Value inverseLogc();
@Operation (
value = "negbin ${this}${0} "
)
abstract
public Value inverseNegbin(Number value);
@Operation (
value = "oddspower ${this}${0} "
)
abstract
public Value inverseOddspower(Number value);
@Operation (
value = " ${this}1 ${0} "
)
abstract
public Value inversePower(Number value);
@Operation (
value = "cauchit ${this} "
)
abstract
public Value inverseCauchit();
@Operation (
value = "probit ${this} "
)
abstract
public Value inverseProbit();
@Operation (
value = " ${this} "
)
abstract
public Value sin();
@Operation (
value = " ${this} "
)
abstract
public Value cos();
@Operation (
value = "2 ${this} "
)
abstract
public Value arctan();
@Operation (
value = " ${this} "
)
abstract
public Value tanh();
@Operation (
value = "threshold ${this}${0} "
)
abstract
public Value threshold(Number value);
@Operation (
value = "0 ${this} "
)
abstract
public Value relu();
@Operation (
value = " ${this} "
)
abstract
public Value abs();
@Operation (
value = "gaussSim ${this}${0} "
)
abstract
public Value gaussSim(Number value);
@Operation (
value = " ${0} ${1}${this} "
)
abstract
public Value restrict(Number lowValue, Number highValue);
@Operation (
value = "round ${this} "
)
abstract
public Value round();
@Operation (
value = " ${this} "
)
abstract
public Value ceiling();
@Operation (
value = " ${this} "
)
abstract
public Value floor();
@Operation (
value = "normalize ${this}${0}${1}${2}${3} "
)
abstract
public Value normalize(Number leftOrig, Number leftNorm, Number rightOrig, Number rightNorm);
@Operation (
value = "denormalize ${this}${0}${1}${2}${3} "
)
abstract
public Value denormalize(Number leftOrig, Number leftNorm, Number rightOrig, Number rightNorm);
abstract
public boolean isZero();
abstract
public boolean isOne();
abstract
public boolean equals(Number value);
abstract
public int compareTo(Number value);
abstract
public float floatValue();
abstract
public double doubleValue();
abstract
public V getValue();
}