⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zparcheck.pro

📁 basic median filter simulation
💻 PRO
字号:
pro zparcheck,progname,parameter,parnum,types,dimens,message;+; NAME:;       ZPARCHECK; PURPOSE:;       Routine to check user parameters to a procedure;; CALLING SEQUENCE:;       zparcheck, progname, parameter, parnum, types, dimens, [ message ];; INPUTS:;       progname  - scalar string name of calling procedure;       parameter - parameter passed to the routine;       parnum    - integer parameter number;       types     - integer scalar or vector of valid types;                1 - byte        2 - integer   3 - int*4;                4 - real*4      5 - real*8    6 - complex;                7 - string      8 - structure 9 - double complex;               10 - pointer    11 - object ref 12 - Unsigned integer;               13 - unsigned int*4 ;               14 - int*8  ;               15 - Unsigned int*8;       dimens   - integer scalar or vector giving number;                     of allowed dimensions.; OPTIONAL INPUT:;       message - string message describing the parameter to be printed if an ;               error is found;; OUTPUTS:;       none;; EXAMPLE:;       IDL> zparcheck, 'HREBIN', hdr, 2, 7, 1, 'FITS Image Header';;       This example checks whether the parameter 'hdr' is of type string (=7);       and is a vector (1 dimension).   If either of these tests fail, a ;       message will be printed;               "Parameter 2 (FITS Image Header) is undefined";               "Valid dimensions are 1";               "Valid types are string"        ;; SIDE EFFECTS:;       If an error in the parameter is a message is printed;       a RETALL issued;; HISTORY;       version 1  D. Lindler  Dec. 86;       documentation updated.  M. Greason, May 1990.;       Recognize double complex datatype    W. Landsman   September 1995;       Converted to IDL V5.0   W. Landsman   September 1997;       Check for new data types (e.g. unsigned) W. Landsman February 2000;-;----------------------------------------------------------  if N_params() LT 4 then begin        print, $   'Syntax -  ZPARCHECK, progname, parameter, parnum, types, dimens, [message ]        return  endif; get type and size of parameter  s = size(parameter)  ndim = s[0]  type = s[ndim+1]; check if parameter defined.  if type EQ 0 then begin        err = ' is undefined.'        goto, ABORT   endif; check for valid dimensions  valid = where( ndim EQ dimens, Nvalid)  if Nvalid LT 1 then begin        err = 'has wrong number of dimensions'        goto, ABORT     endif; check for valid type  valid = where(type EQ types, Ngood)  if ngood lt 1 then begin        err = 'is an invalid data type'        goto, ABORT     endif  return; bad parameterABORT:  mess = ' '  if N_params() lt 6 then message = ''  if message NE '' then mess = ' ('+message+') '  print,string(7b) + 'Parameter '+strtrim(parnum,2) + mess,$        ' of routine ', strupcase(progname) + ' ', err  sdim = ' '  for i = 0,N_elements(dimens)-1 do begin        if dimens[i] eq 0 then sdim = sdim + 'scalar' $                          else sdim = sdim + string(dimens[i],'(i3)')  end  print,'Valid dimensions are:'+sdim  stype = ' '  for i = 0, N_elements( types )-1 do begin        case types[i] of                1: stype = stype + ' byte'                2: stype = stype + ' int*2'                3: stype = stype + ' int*4'                4: stype = stype + ' real*4'                5: stype = stype + ' real*8'                6: stype = stype + ' complex'                7: stype = stype + ' string'                8: stype = stype + ' structure'                9: stype = stype + ' dcomplex'               10: stype = stype + ' pointer'               11: stype = stype + ' Object'               12: stype = stype + ' Unsigned(i*2)'               13: stype = stype + ' Unsigned(i*4)'               14: stype = stype + ' int*8'               15: stype = stype + ' Unsigned(i*8)'        endcase  endfor  print,'Valid types are:' + stype  ;if !debug then stop  retall  ; zparcheck  end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -