Home | History | Annotate | Download | only in dist

Lines Matching refs:MULTI

18 __isl_give MULTI(BASE) *FN(MULTI(BASE),add)(__isl_take MULTI(BASE) *multi1,
19 __isl_take MULTI(BASE) *multi2)
21 return FN(MULTI(BASE),bin_op)(multi1, multi2, &FN(EL,add));
26 __isl_give MULTI(BASE) *FN(MULTI(BASE),sub)(__isl_take MULTI(BASE) *multi1,
27 __isl_take MULTI(BASE) *multi2)
29 return FN(MULTI(BASE),bin_op)(multi1, multi2, &FN(EL,sub));
32 /* Depending on "fn", multiply or divide the elements of "multi" by "v" and
35 static __isl_give MULTI(BASE) *FN(MULTI(BASE),scale_val_fn)(
36 __isl_take MULTI(BASE) *multi, __isl_take isl_val *v,
39 if (!multi || !v)
44 return multi;
51 return FN(MULTI(BASE),fn_val)(multi, fn, v);
54 return FN(MULTI(BASE),free)(multi);
57 /* Multiply the elements of "multi" by "v" and return the result.
59 __isl_give MULTI(BASE) *FN(MULTI(BASE),scale_val)(__isl_take MULTI(BASE) *multi,
62 return FN(MULTI(BASE),scale_val_fn)(multi, v, &FN(EL,scale_val));
65 /* Divide the elements of "multi" by "v" and return the result.
67 __isl_give MULTI(BASE) *FN(MULTI(BASE),scale_down_val)(
68 __isl_take MULTI(BASE) *multi, __isl_take isl_val *v)
75 return FN(MULTI(BASE),scale_val_fn)(multi, v, &FN(EL,scale_down_val));
78 return FN(MULTI(BASE),free)(multi);
81 /* Multiply the elements of "multi" by the corresponding element of "mv"
84 __isl_give MULTI(BASE) *FN(MULTI(BASE),scale_multi_val)(
85 __isl_take MULTI(BASE) *multi, __isl_take isl_multi_val *mv)
87 return FN(MULTI(BASE),fn_multi_val)(multi, &FN(EL,scale_val), mv);
90 /* Divide the elements of "multi" by the corresponding element of "mv"
93 __isl_give MULTI(BASE) *FN(MULTI(BASE),scale_down_multi_val)(
94 __isl_take MULTI(BASE) *multi, __isl_take isl_multi_val *mv)
96 return FN(MULTI(BASE),fn_multi_val)(multi, &FN(EL,scale_down_val), mv);
99 /* Compute the residues of the elements of "multi" modulo
102 __isl_give MULTI(BASE) *FN(MULTI(BASE),mod_multi_val)(
103 __isl_take MULTI(BASE) *multi, __isl_take isl_multi_val *mv)
105 return FN(MULTI(BASE),fn_multi_val)(multi, &FN(EL,mod_val), mv);
108 /* Return the opposite of "multi".
110 __isl_give MULTI(BASE) *FN(MULTI(BASE),neg)(__isl_take MULTI(BASE) *multi)
112 S(MULTI(BASE),un_op_control) control = { .fn_el = &FN(EL,neg) };
113 return FN(MULTI(BASE),un_op)(multi, &control);