summaryrefslogtreecommitdiff
path: root/array.c
blob: 766ccd8047df0e588d95da7d4182a16bf0a0b799 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <u.h>
#include <libc.h>
#include <bio.h>

#include "apl9.h"

int datasizes[] = {
	[AtypeInt] = sizeof(vlong)
};

Array *
mkarray(arrayDataType t, int rank, int size)
{
	Array *a = malloc(sizeof(Array));
	a->rank = rank;
	a->shape = malloc(sizeof(int) * rank);
	a->rawdata = malloc(datasizes[t] * size);
	a->type = t;
	return a;
}

Array *
mkscalarint(vlong i)
{
	Array *a = mkarray(AtypeInt, 0, 1);
	a->intdata[0] = i;

	return a;
}