;-------------------------------------------------------------
;+
; NAME:
; SIGN
; PURPOSE:
; Return the mathematical sign of the argument.
; CATEGORY:
; CALLING SEQUENCE:
; s = sign(x)
; INPUTS:
; x = value of array of values. in
; KEYWORD PARAMETERS:
; OUTPUTS:
; s = sign of value(s). out
; COMMON BLOCKS:
; NOTES:
; Note:
; s = -1 for x < 0
; s = 0 for x = 0
; s = 1 for x > 0
; MODIFICATION HISTORY:
; R. Sterner, 7 May, 1986.
; Johns Hopkins University Applied Physics Laboratory.
; RES 15 Sep, 1989 --- converted to SUN.
; RES 23 Sep, 1991 --- rewrote, reducing 11 lines of code to 1.
;
; Copyright (C) 1986, Johns Hopkins University/Applied Physics Laboratory
; This software may be used, copied, or redistributed as long as it is not
; sold and this copyright notice is reproduced on each copy made. This
; routine is provided as is without any express or implied warranties
; whatsoever. Other limitations apply as described in the file disclaimer.txt.
;-
;-------------------------------------------------------------
FUNCTION SIGN, X, help=hlp
if (n_params(0) lt 1) or keyword_set(hlp) then begin
print,' Return the mathematical sign of the argument.'
print,' s = sign(x)'
print,' x = value of array of values. in'
print,' s = sign of value(s). out'
print,' Note:'
print,' s = -1 for x < 0'
print,' s = 0 for x = 0'
print,' s = 1 for x > 0'
return, -1
endif
return, fix(x gt 0.) - fix(x lt 0.)
end