#!/bin/sh
#--------------------------------------------------------------------
#! Convert decimal number from super (sesqui?) hex, i.e. base 36
## Shell-script
#-----------------------------------------------------------------------
#;  Copyright (C) 1995
#;  Associated Universities, Inc. Washington DC, USA.
#;
#;  This program is free software; you can redistribute it and/or
#;  modify it under the terms of the GNU General Public License as
#;  published by the Free Software Foundation; either version 2 of
#;  the License, or (at your option) any later version.
#;
#;  This program is distributed in the hope that it will be useful,
#;  but WITHOUT ANY WARRANTY; without even the implied warranty of
#;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#;  GNU General Public License for more details.
#;
#;  You should have received a copy of the GNU General Public
#;  License along with this program; if not, write to the Free
#;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
#;  MA 02139, USA.
#;
#;  Correspondence concerning AIPS should be addressed as follows:
#;         Internet email: aipsmail@nrao.edu.
#;         Postal address: AIPS Project Office
#;                         National Radio Astronomy Observatory
#;                         520 Edgemont Road
#;                         Charlottesville, VA 22903-2475 USA
#-----------------------------------------------------------------------
#--------------------------------------------------------------------
#  Usage: REHEX extended-hex-number
#
#  Result is sent to standard output
#
#  Version 0.1
#--------------------------------------------------------------------
#
echo $1 | tr '[a-z]' '[A-Z]' | \
  awk 'BEGIN {scode = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
              outnum = 0}
      { l = length($1)
        m = 0
        if (l <= 0)
          print "0"
        else {
          while (m < l) {
            m++
            c = substr($1,m,1)
            n = index(scode,c)
            outnum *= 36
            outnum += n
            }
          }
          print outnum
        }
  '
