#include <stdio.h>
#include <stdlib.h>
#include "matfuncs.h"

#ifdef __ultrix__
double drand48(void);
#endif

void
usage(char *argv0)
{
	printf("usage:\t%s n\t-- nxn random matrix\n"
		"\t%s m n\t-- mxn random matrix\n"
		"\t%s m n l u\t-- mxn random matrix, elements in [l,u)\n",
		argv0,argv0,argv0);
	exit(1);
}

int
main(int argc, char **argv)
{
	unsigned long rows, cols, i, j;
	double l=0,u=1;
	mat *A;

	switch(argc) {
		case 2:
			rows = cols = atol(argv[1]);
			break;
		case 3:
			rows = atol(argv[1]);
			cols = atol(argv[2]);
			break;
		case 5:
			rows = atol(argv[1]);
			cols = atol(argv[2]);
			l = atof(argv[3]);
			u = atof(argv[4]);
			break;
		default:
			usage(argv[0]);
			break;
	}
	srand48(time(NULL));
	A = m_alloc(rows, cols);
	if (!A)
		fprintf(stderr,"No matrix?!\n");
	for (i = 0; i < A->rows; i++) {
		for (j = 0; j < A->cols; j++) {
			A->e[i][j] = (drand48() * (u - l)) + l;
		}
	}
	m_print(A);
	exit(0);
}
