Previous: Division of <code>poly_int</code>s, Up: Arithmetic on <code>poly_int</code>s

#### 10.4.4 Other `poly_int` arithmetic

There are tentative routines for other operations besides division:

``can_ior_p (a, b, &result)`'
  Return true if we can calculate ``a | b`' at compile time, storing the result in result if so.

Also, ANDs with a value ``(1 << y) - 1`' or its inverse can be treated as alignment operations. See Alignment of `poly_int`s.

In addition, the following miscellaneous routines are available:

``coeff_gcd (a)`'
  Return the greatest common divisor of all nonzero coefficients in a, or zero if a is known to be zero.
``common_multiple (a, b)`'
  Return a value that is a multiple of both a and b, where one value is a `poly_int` and the other is a scalar. The result will be the least common multiple for some indeterminate values but not necessarily for all.
``force_common_multiple (a, b)`'
  Return a value that is a multiple of both `poly_int` a and `poly_int` b, asserting that such a value exists. The result will be the least common multiple for some indeterminate values but not necessarily for all.

  When using this routine, please add a comment explaining why the assertion is known to hold.

Please add any other operations that you find to be useful.