1 /*
2 * Copyright (c) 1980 Regents of the University of California.
3 * All rights reserved. The Berkeley software License Agreement
4 * specifies the terms and conditions for redistribution.
5 */
6
7 #ifndef lint
8 static char sccsid[] = "@(#)newmat.c 5.1 (Berkeley) 04/26/85";
9 #endif not lint
10
11 /*
12 * newmat: return a brand new bitmat with the proper size.
13 * To get rid of it just call free.
14 */
15
16 #include "bit.h"
17
18 bitmat
newmat(rows,cols)19 newmat(rows, cols)
20 int rows, cols;
21 {
22 int size = ((cols + 7) >> 3) * rows;
23 char *m;
24
25 #ifdef TRACE
26 if (size <= 0 && trace) {
27 fprintf(trace, "newmat: rows=%d, cols=%d\n", rows, cols);
28 abort();
29 }
30 if (trace)
31 fprintf(trace, "newmat: malloc(%d) =", size);
32 #endif
33 m = (char *) malloc(size);
34 #ifdef TRACE
35 if (trace)
36 fprintf(trace, "%x\n", m);
37 #endif
38 zermat(m, rows, cols);
39 return (m);
40 }
41