#! /bin/sh
#  *            fix77
#  * ----------------------------------- FM,MB - Mar 18/94.
#  *                                     Massage Fortran source code to
#  *                                     get around the problem with 
#  *                                     '4H....' when running in 64-bit 
#  *                                     integer mode.

IFS=' '
export IFS
# set -x
if [ "$OS" != 'SUPER-UX' ] ; then
if [ -f $1 ] ; then
 Tmpfil="Tmp_fix77""$$"
 float=${float:='_float2'}
 if [ "$float" = '_float2' ] ; then

# float2 case ...

 if [ "$OS" = 'IRIX64' ] ; then
  $AWK '{ print substr($0,1,72)}' $1 | sed '/^C/b
     /^      DATA/b
     /AIMAG\( *(\)/s// IMAG\1/g
     /VR IMAG/s//VRAIMAG/g
     /^ *[Cc][Oo][Mm][Pp][Ll][Ee][Xx]\*16/!s/^\( *\)[Cc][Oo][Mm][Pp][Ll][Ee][Xx] */\1COMPLEX*16 /
     s/[Dd][Ff][Ll][Oo][Aa][Tt]\( *(\)/FLOAT\1/g
     /[Ff][Ll][Oo][Aa][Tt]/{
      s/[Ff][Ll][Oo][Aa][Tt] *(/DFLOAT](/g
      s/ *$//g
      /^.\{73,\}/s/^\(.\{72\}\)\(.*\)/\1\
     +\2/
               }
     /\/ *4H/b
     /[^ ,.=\/]4H/b
     /4H..../{ 
      s/\(4H....\)/NH4TO8(\1)/g
      s/ *$//g
      /^.\{73,\}/s/^\(.\{72\}\)\(.*\)/\1\
     +\2/
               }
    ' > $Tmpfil
 else
  $AWK '{ print substr($0,1,72)}' $1 | sed '/^C/b
     /^      DATA/b
     /\/ *4H/b
     /[^ ,.=\/]4H/b
     /4H..../{ 
      s/\(4H....\)/NH4TO8(\1)/g
      s/ *$//g
      /^.\{73,\}/s/^\(.\{72\}\)\(.*\)/\1\
     +\2/
               }
    ' > $Tmpfil 
 fi 

 else # float

#    default no-float1 case:
 
  if [ "$mdest" = 'orion' ] ; then

#  * Change FLOAT to DFLOAT, AIMAG to IMAG, and COMPLEX to COMPLEX*16
#  * if running on orion using the compiler option '-r8'.

   $AWK '{ print substr($0,1,72)}' $1 | sed  '/^C/b
     /^      DATA/b
     /AIMAG\( *(\)/s// IMAG\1/g
     /VR IMAG/s//VRAIMAG/g
     /^ *[Cc][Oo][Mm][Pp][Ll][Ee][Xx]\*16/!s/^\( *\)[Cc][Oo][Mm][Pp][Ll][Ee][Xx] */\1COMPLEX*16 /
     s/[Dd][Ff][Ll][Oo][Aa][Tt]\( *(\)/FLOAT\1/g
     /[Ff][Ll][Oo][Aa][Tt]/{
      s/[Ff][Ll][Oo][Aa][Tt] *(/DFLOAT(/g
      s/ *$//g
      /^.\{73,\}/s/^\(.\{72\}\)\(.*\)/\1\
     +\2/
               }
      ' > $Tmpfil

  else

   $AWK '{ print substr($0,1,72)}' $1 | sed  '/^C/b
     /^      DATA/b
     /AIMAG\( *(\)/s// IMAG\1/g
     /VR IMAG/s//VRAIMAG/g
     /^ *[Cc][Oo][Mm][Pp][Ll][Ee][Xx]\*16/!s/^\( *\)[Cc][Oo][Mm][Pp][Ll][Ee][Xx] */\1COMPLEX*16 /
      ' > $Tmpfil

  fi
 fi # float
 \mv $Tmpfil $1 
fi # file specified
fi # SUPER-UX case
exit
