2 #include <cloog/cloog.h>
4 #define ALLOC(type) (type*)malloc(sizeof(type))
6 CloogStride
*cloog_stride_malloc()
10 s
= ALLOC(CloogStride
);
12 cloog_die("memory overflow.\n");
15 cloog_int_init(s
->stride
);
16 cloog_int_init(s
->offset
);
17 cloog_int_init(s
->factor
);
18 s
->constraint
= cloog_constraint_invalid();
23 CloogStride
*cloog_stride_alloc(cloog_int_t stride
, cloog_int_t offset
)
25 CloogStride
*s
= cloog_stride_malloc();
27 cloog_int_set(s
->stride
, stride
);
28 cloog_int_set(s
->offset
, offset
);
29 cloog_int_set_si(s
->factor
, 0);
34 CloogStride
*cloog_stride_alloc_from_constraint(cloog_int_t stride
,
35 CloogConstraint
*constraint
, cloog_int_t factor
)
37 CloogStride
*s
= cloog_stride_malloc();
39 cloog_int_set(s
->stride
, stride
);
40 cloog_int_set(s
->factor
, factor
);
41 cloog_int_set_si(s
->offset
, -1);
42 s
->constraint
= constraint
;
47 CloogStride
*cloog_stride_copy(CloogStride
*stride
)
56 void cloog_stride_free(CloogStride
*stride
)
62 if (stride
->references
> 0)
65 cloog_int_clear(stride
->stride
);
66 cloog_int_clear(stride
->offset
);
67 cloog_int_clear(stride
->factor
);
68 cloog_constraint_release(stride
->constraint
);