##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Lance Simms, Stanford University 2009
from numpy import *

#1)___________________
#The simplest function
def TestFunction(Data):
    b=2*Data
    return b 
#2)_______________________________
#A function with optional arguments
#
#CALLING SEUQENCE:
#a=TestFunctionOpt(1,OpInput2=40,OpInput1=20)
#a=TestFunctionOpt(1,OpInput1=40,OpInput2=20)
def TestFunctionOpt(Data, OpInput1=10, OpInput2=20):
    b=2*Data+3*OpInput1+OpInput2
    return b
#3)_______________________________________________________________
#A function with an optional argument that might depend on another
#a=TestFunctionOpt2(20,OpInput1 = 50)
def TestFunctionOpt2(Data, OpInput1 = 'null'):
    if OpInput1 == 'null': OpInput1 = 20
    b=Data+OpInput1
    return b
#4)_______________________________________________________________
#A function that returns multiple values
def TestGlobalFunction(Data):
    Data = Data*40
    ReturnData = Data*20
    return (Data, ReturnData)  

