1 /* The modulo constraints we generate for the niter expression
2 (unsinged long)ubound - (unsigned long)lbound
3 end up with a modulo that we cannot represent in the expression
4 type we are using (int64_t), so we run into the codegen error
5 where ISL generates a modulo/divide by sth that doesn't fit the
6 type we code-generate with. Verify we properly elide those. */
8 void foo (double *a
, long int lbound0
, long int ubound0
,
9 long int lbound1
, long int ubound1
, long int stride1
)
11 if (lbound0
< ubound0
)
12 for (long int i
= lbound0
; i
<= ubound0
; ++i
)
13 if (lbound1
< ubound1
)
14 for (long int j
= lbound1
; j
<= ubound1
; ++j
)
15 a
[i
*stride1
+ j
] = 0.;