#ident "@(#)testbcddiv.c	1.3 5/3/96 16:24:26"
/*
/* Copyright John Moyer 1996
/* permission is granted to use this for any purpose provided proper
/* credit is given to the author
*/

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <math.h>

#include "bignum.h"

int main (int argc, char *argv[])
{
int i, j, err;
BigNum x1, y1, r1, q1;
char str[ISIZE+8];

if ( argc == 3 )
  {
  err = ascii2bcd(argv[1],&x1);
  err += ascii2bcd(argv[2],&y1);
  }
else
  err = 999;
if ( err )
  {
  fprintf(stderr,"%s: Could not get 2 numbers from command line\n",argv[0]);
  return 1;
  }

if ( y1.c > x1.c )
  {
  fprintf( stderr,"%s: first number must be larger than second\n",argv[0],x1.c);
  return 1;
  }

j = bcddiv(&x1,&y1,&r1,&q1);
if ( j != 0 )
  {
  fprintf(stderr,"%s: divide failed\n", argv[0]);
  return 1;
  }

bcd2ascii(str, sizeof(str), &x1);
fprintf(stdout,"%s",str);

fprintf(stdout," / ");

bcd2ascii(str, sizeof(str), &y1);
fprintf(stdout,"%s\n",str);

fprintf(stdout," = ");

bcd2ascii(str, sizeof(str), &q1);
fprintf(stdout,"%s\n",str);

bcd2ascii(str, sizeof(str), &r1);
fprintf(stdout,"remainder=%s",str);

fputc('\n',stdout);

return (0);
}

