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

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 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 value); @Operation ( value = "${this}${0}" ) abstract public Value multiply(Number value); @Operation ( value = "${this}${0}" ) abstract public Value multiply(Value 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 value); @Operation ( value = "1${0}" ) abstract public Value residual(Value 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(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy