#!/bin/sh
#--------------------------------------------------------------------
#! Convert decimal number to 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: EHEX decimal-number
#
#  Version 1.0, arbitrary number, but no leading zeros yet.
#--------------------------------------------------------------------
#
echo $1 | \
  awk 'BEGIN {scode = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
              outstr= ""}
      { n = $1
        if (n <= 0)
          print "0"
        else {
          while (n > 0) {
            r = n % 36
            n = int (n / 36)
            if ( r > 0 ) {
              outstr = substr(scode,r,1) outstr
            } else {
              outstr =  "0" outstr
            }
          }
          print outstr
        }
      }
  '
