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

#ifdef __ultrix__
int rand(void);
#endif

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

int
main(int argc, char **argv)
{
	unsigned long rows, cols, i, j;
	unsigned long l = 0, u = 0;
	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 = atol(argv[3]);
			u = atol(argv[4]);
			break;
		default:
			usage(argv[0]);
			break;
	}
	srand(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++) {
			if (u - l) {
				A->e[i][j] = (rand() % (u-l)) + l;
			} else {
				A->e[i][j] = rand();
			}
		}
	}
	m_print(A);
	exit(0);
}
