Research Article
Task-Level Data Model for Hardware Synthesis Based on Concurrent Collections
Listing 17
TLDM specification of nonaffine iterator boundary.
tldm_iteration_domain id_ij; | id_ij.insert_iterator(iterator_i); // “i” | id_ij.insert_iterator(iterator_j); // “j” | id_ij.insert_affine_constraint(“i”, 1, “>=”, 0); // i*1 >= 0 | id_ij.insert_affine_constraint(“i”, -1, “N”, 1, “>”, 0); // -i+N > 0 | id_ij.insert_affine_constraint(“j”, 1, “>=”, 0); // i*1 >= 0 | id_ij.insert_affine_constraint(“j”, -1, “nonAffine(i)”, 1, “>”, 0); // -j+(i*i)>0 | [N] -> <id_ij: i, j> {0<=i<N; 0<=j<i*i;}; |
|