#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdlib.h>
#include <stdio.h>
#include <yaxt.h>
#include "print_index_list.h"
int main(void) {
{
for (int i = 0; i < 16; ++i) {
enum { num_dimensions = 2 };
static const Xt_int global_size[4][2] = {{5,10},{5,-10},{-5,10},{-5,-10}};
static const int local_size [4][2] = {{3,4},{3,-4},{-3,4},{-3,-4}};
static const Xt_int local_start[2] = {1,2};
local_size[i & 3], local_start);
printf("global size (x=%3d y=%2d) local size (x=%2d y=%2d): ",
(int)global_size[i >> 2][1], (int)global_size[i >> 2][0],
(int)local_size[i & 3][1], (int)local_size[i & 3][0]);
print_index_list(idxsection);
}
}
{
enum { num_dimensions = 3 };
static const Xt_int global_size[3] = {5,5,2};
static const int local_size [3] = {3,4,1};
static const Xt_int local_start[3] = {2,0,1};
local_size, local_start);
printf("stride 2 in x: ");
print_index_list(idxsection);
}
{
enum { num_dimensions = 4 };
static const Xt_int global_size[4] = {3,2,5,2};
static const int local_size [4] = {3,1,4,1};
static const Xt_int local_start[4] = {0,1,1,0};
local_size, local_start);
printf("stride 2 in x and y: ");
print_index_list(idxsection);
}
}
void xt_idxlist_delete(Xt_idxlist idxlist)
Xt_idxlist xt_idxsection_new(Xt_int start, int num_dimensions, const Xt_int global_size[num_dimensions], const int local_size[num_dimensions], const Xt_int local_start[num_dimensions])