view src/samer/functions/ExponentialSquashing.java @ 5:b67a33c44de7

Remove some crap, etc
author samer
date Fri, 05 Apr 2019 21:34:25 +0100
parents bf79fb79ee13
children
line wrap: on
line source
/*
 *	Copyright (c) 2000, Samer Abdallah, King's College London.
 *	All rights reserved.
 *
 *	This software is provided AS iS and WITHOUT ANY WARRANTY; 
 *	without even the implied warranty of MERCHANTABILITY or 
 *	FITNESS FOR A PARTICULAR PURPOSE.
 */

package samer.functions;
import  samer.maths.*;
import  samer.core.types.*;

/** Zero for t<0, linear near 0, exponentially tending to 1 */

public class ExponentialSquashing extends Function implements DoubleModel
{	
	private double	beta=1;
	private VParameter betaParam;

	public ExponentialSquashing() {
		betaParam = new VParameter( "squash.beta", this);
	}

	public double get() { return beta; }
	public void set(double t) { beta=t; }
	public void dispose() { betaParam.dispose(); }

	public double apply(double t) { 
		if (t>0) return 1 - Math.exp(-beta*t);
		else return 0;
	}
	public String format(String arg) { return "ExponentialSquashing("+arg+")"; }
}