FUNCTION sgn,a
@compile_opt
dim=SIZE(a,/DIMENSIONS)
IF dim[0] EQ 0 THEN BEGIN
   b=0
ENDIF ELSE BEGIN
   b=MAKE_ARRAY(dim,/INTEGER)
ENDELSE
c=where(a GT 0,count)
IF count GT 0 THEN b[c]=+1
c=where(a LT 0,count)
IF count GT 0 THEN b[c]=-1
RETURN,b
END
