1 #include <cloog/cloog.h>
3 #define ALLOC(type) (type*)malloc(sizeof(type))
5 CloogStride
*cloog_stride_malloc()
9 s
= ALLOC(CloogStride
);
11 cloog_die("memory overflow.\n");
14 cloog_int_init(s
->stride
);
15 cloog_int_init(s
->offset
);
16 cloog_int_init(s
->factor
);
17 s
->constraint
= cloog_constraint_invalid();
22 CloogStride
*cloog_stride_alloc(cloog_int_t stride
, cloog_int_t offset
)
24 CloogStride
*s
= cloog_stride_malloc();
26 cloog_int_set(s
->stride
, stride
);
27 cloog_int_set(s
->offset
, offset
);
28 cloog_int_set_si(s
->factor
, 0);
33 CloogStride
*cloog_stride_alloc_from_constraint(cloog_int_t stride
,
34 CloogConstraint
*constraint
, cloog_int_t factor
)
36 CloogStride
*s
= cloog_stride_malloc();
38 cloog_int_set(s
->stride
, stride
);
39 cloog_int_set(s
->factor
, factor
);
40 cloog_int_set_si(s
->offset
, -1);
41 s
->constraint
= constraint
;
46 CloogStride
*cloog_stride_copy(CloogStride
*stride
)
55 void cloog_stride_free(CloogStride
*stride
)
61 if (stride
->references
> 0)
64 cloog_int_clear(stride
->stride
);
65 cloog_int_clear(stride
->offset
);
66 cloog_int_clear(stride
->factor
);
67 cloog_constraint_release(stride
->constraint
);