1#ifndef CLOOG_STRIDE_H
2#define CLOOG_STRIDE_H
3
4#if defined(__cplusplus)
5extern "C" {
6#endif
7
8/**
9 * Information about strides.
10 */
11struct cloogstride {
12  int references;
13  cloog_int_t stride;         /**< The actual stride. */
14  cloog_int_t offset;         /**< Offset of strided loop. */
15  cloog_int_t factor;
16  CloogConstraint *constraint;
17};
18typedef struct cloogstride CloogStride;
19
20CloogStride *cloog_stride_alloc(cloog_int_t stride, cloog_int_t offset);
21CloogStride *cloog_stride_alloc_from_constraint(cloog_int_t stride,
22	CloogConstraint *constraint, cloog_int_t factor);
23CloogStride *cloog_stride_copy(CloogStride *stride);
24void cloog_stride_free(CloogStride *stride);
25
26CloogConstraint *cloog_constraint_stride_lower_bound(CloogConstraint *c,
27	int level, CloogStride *stride);
28
29#if defined(__cplusplus)
30}
31#endif
32
33#endif
34