+ if (len == 0) {
+ isl_int_set_si(*lcm, 1);
+ return;
+ }
+ isl_int_set(*lcm, p[0]);
+ for (i = 1; i < len; ++i)
+ isl_int_lcm(*lcm, *lcm, p[i]);
+}
+
+void isl_seq_inner_product(isl_int *p1, isl_int *p2, unsigned len,
+ isl_int *prod)
+{
+ int i;
+ if (len == 0) {
+ isl_int_set_si(*prod, 0);
+ return;
+ }
+ isl_int_mul(*prod, p1[0], p2[0]);
+ for (i = 1; i < len; ++i)
+ isl_int_addmul(*prod, p1[i], p2[i]);
+}
+
+uint32_t isl_seq_hash(isl_int *p, unsigned len, uint32_t hash)
+{
+ int i;