import sys
import math

from numpy import *

class CraigMath:
	"""This class has some math that I need"""
	def __init__(self):
		pass

	# logsig
	def logsig(self, input):
		if abs(input) > 500:
			input = 500 * sign(input)
		toRet =  1 / (1 + math.exp(-input))
		return toRet
	def logsigPrime(self, input):
		return self.logsig(input)*(1 - self.logsig(input))

	# hardlim
	def hardlim(self, input):
		if input > 0:
			return 1
		return 0
	def hardlimPrime(self, input):
		return self.logsigPrime(input)

	# tansig
	def tansig(self, input):
		return (math.exp(input) - math.exp(-input)) \
		 /(math.exp(input) + math.exp(-input))
	def tansigPrime(self, input):
		return 1 - (self.tansig(input)*self.tansig(input))

	