view src/samer/functions/ThresholdLog.java @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
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.*;

/** Log with lower cut-off, then constant */
public class ThresholdLog extends Function implements DoubleModel
{	
	private double	thresh=1;
	private VParameter param;

	public ThresholdLog() {
		param = new VParameter( "log.thresh", this);
	}

	public double get() { return thresh; }
	public void set(double t) { thresh=t; }
	public void dispose() { param.dispose(); }

	public double apply(double t) { 
		if (t>thresh) return Math.log(t/thresh);
		else return 0;
	}
	public String format(String arg) { return "H(log "+arg+"/thresh)"; }
}