Viewing contents of file '../idllib/astron/contrib/freudenreich/gaussfunc.pro'
PRO GAUSSFUNC,X,A,YFIT,PDER
; Part of FITAGAUSS
; Evaluates a Gausian and its partial derivative for FITAGAUSS
NUMPTS = N_ELEMENTS(X)
NTERMS = N_ELEMENTS(A)
; Make sure the width is > 0
IF A(2) LT 0. THEN A(2) = -A(2)
IF ABS(A(2)) LT .000001 THEN A(2)=.000001
; Evaluate the function:
DEL = X-A(1)
YFIT=A(0)*EXP( -.5*(DEL/A(2))^2 )
IF NTERMS EQ 4 THEN YFIT = YFIT + A(3)
; If requested, provide the partial derivatives:
IF N_PARAMS() EQ 4 THEN BEGIN
PDER = FLTARR(NUMPTS,NTERMS)
IF NTERMS EQ 3 THEN BEGIN
PDER(*,0) = YFIT/A(0)
PDER(*,1) = YFIT*DEL/A(2)^2
PDER(*,2) = PDER(*,1)*DEL/A(2)
ENDIF ELSE BEGIN
UFIT = YFIT-A(3)
PDER(*,0) = UFIT/A(0)
PDER(*,1) = UFIT*DEL/A(2)^2
PDER(*,2) = PDER(*,1)*DEL/A(2)
PDER(*,3) = 1.
ENDELSE
ENDIF
RETURN
END