view src/samer/functions/LogCosh.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.*;

/**
	Actually 2 log cosh: - log prior of sech^2 disribution
	like abs but with rounded bottom
	Amount of rounding is adjustable */


public class LogCosh extends Function {
	double offset=-Math.log(2);

	public String format(String t) { return "-2 log cosh "+t; }

	public final double apply(double t) {
		if  (t<-12) return offset-t;
		else if (t>12) return offset+t;
		else return Math.log(Mathx.cosh(t)); 
	}

	public Function derivative() { 
		return new Function() {
			public String format(String t) { return "tanh "+t; }
			public final double apply(double t) { 
				if  (t<-12) return -1;
				else if (t>12) return 1;
				else return Mathx.tanh(t); 
			}
		};
	}
}