!       ><HopeProgs$Dir>.SimpleTupl        !
!                                          !
!------------------------------------------!
!                                          !
!  This is a collection of simple Hope     !
!  functions over tuples.                  !
!                                          !
!------------------------------------------!




dec AddDigit : num # num  -> num;
--- AddDigit(Number,Digit)  <=  (Number * 10) + Digit;



dec Split : num -> num # num;
--- Split Number
    <=  ( (Number div 10) , (Number mod 10) );


dec join : num # num -> num;
--- join (first,second)
    <=  if second=0
          then first
          else AddDigit( join(first,x) ,y )  where (x,y) == Split(second);




!    O(n^2) reverse    !

dec ReverseDigits : num -> num;
--- ReverseDigits n
    <=  if n < 10
          then n
          else join( LastDigit , ReverseDigits(FirstDigits))
               where (FirstDigits,LastDigit) == Split n;


