Page 1 Source Listing CHR2INT 2014-12-17 20:47 CHR2INT.f 1 SUBROUTINE CHR2INT(CHR,ILEN,IVAL) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: CHR2INT CONVERTS CHR STRING TO INTEGER 5 C PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-31 6 C 7 C ABSTRACT: 8 C GIVEN A CHARACTER STRING, CHR, OF LENGTH LEN CONTAINING 9 C INTEGERS OR BLANKS, THIS ROUTINE RETURNS THE INTEGER 10 C VALUE IN IVAL. 11 C . 12 C 13 C PROGRAM HISTORY LOG: 14 C 92-12-31 RUSS TREADON 15 C 16 C USAGE: CALL CHR2INT(CHR,ILEN,IVAL) 17 C INPUT ARGUMENT LIST: 18 C CHR - CHARACTER STRING CONTAINING INTEGERS OR BLANKS. 19 C LEN - LENGTH OF CHR. 20 C 21 C OUTPUT ARGUMENT LIST: 22 C IVAL - INTEGER EQUIVALENT TO CHR. 23 C 24 C OUTPUT FILES: 25 C NONE 26 C 27 C SUBPROGRAMS CALLED: 28 C UTILITIES: 29 C NONE 30 C LIBRARY: 31 C NONE 32 C 33 C ATTRIBUTES: 34 C LANGUAGE: FORTRAN 35 C MACHINE : CRAY C-90 36 C$$$ 37 C 38 C 39 C SET PARAMETER IOFF. IOFF IS THE ASCII CODE FOR 40 C THE ZERO CHARACTER. CHARACTERS 48 THROUGH 57 41 C ARE INTEGER 0 THROUGH 9, RESPECTIVELY. 42 C 43 PARAMETER (IOFF=48) 44 C 45 C DECLARE VARIABLES. 46 C 47 CHARACTER CHR*(*) 48 C 49 C 50 C*********************************************************************** 51 C START CHR2INT HERE. 52 C 53 C LOOP OVER LENGTH OF CHARACTER STRING. CONSTRUCT 54 C THE INTEGER EQUIVALENT TO THE INTEGER IN THE 55 C CHARACTER STRING. 56 C 57 ISUM = 0 Page 2 Source Listing CHR2INT 2014-12-17 20:47 CHR2INT.f 58 isum1 = 0 59 write(*,*) '>> IPOS=',ilen 60 61 DO IPOS = 1,ilen 62 ICVAL = ICHAR(CHR(IPOS:IPOS)) 63 IF ((ICVAL.GE.48).AND.(ICVAL.LE.57)) THEN 64 isum1 = isum1 * 10 + (icval-ioff) 65 endif 66 enddo 67 68 69 DO 10 IPOS = ILEN,1,-1 70 write(*,*) '>> ILEN,IPOS=',ilen,ipos,chr(IPOS:IPOS) 71 ICVAL = ICHAR(CHR(IPOS:IPOS)) 72 write(*,*) '>>ICVAL=',ICVAL 73 74 IPOWER = ILEN-IPOS 75 IF ((ICVAL.GE.48).AND.(ICVAL.LE.57)) THEN 76 INTVAL = ICVAL-IOFF 77 ISUM = ISUM + INTVAL*10**IPOWER 78 ENDIF 79 10 CONTINUE 80 write(*,*) '>>isum=',isum1,isum 81 82 C 83 C SET INTEGER VALUE. 84 C 85 IVAL = ISUM 86 C 87 C END OF ROUTINE. 88 C 89 RETURN 90 END Page 3 Source Listing CHR2INT 2014-12-17 20:47 Entry Points CHR2INT.f ENTRY POINTS Name chr2int_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10 Label 79 69 CHR Dummy 1 CHAR scalar ARG,INOUT 62,70,71 CHR2INT Subr 1 ICHAR Func 62 scalar 62,71 ICVAL Local 62 I(4) 4 scalar 62,63,64,71,72,75,76 ILEN Dummy 1 I(4) 4 scalar ARG,INOUT 59,61,69,70,74 INTVAL Local 76 I(4) 4 scalar 76,77 IOFF Param 43 I(4) 4 scalar 64,76 IPOS Local 61 I(4) 4 scalar 61,62,69,70,71,74 IPOWER Local 74 I(4) 4 scalar 74,77 ISUM Local 57 I(4) 4 scalar 57,77,80,85 ISUM1 Local 58 I(4) 4 scalar 58,64,80 IVAL Dummy 1 I(4) 4 scalar ARG,INOUT 85 Page 4 Source Listing CHR2INT 2014-12-17 20:47 Subprograms/Common Blocks CHR2INT.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CHR2INT Subr 1 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest Page 5 Source Listing CHR2INT 2014-12-17 20:47 CHR2INT.f no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -g2 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/.f, /usr/include/.f,/usr/include/.f -list filename : CHR2INT.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100