27inline abstract1::abstract1(ap_abstract1_t x) : a(x)
 
   30inline abstract1::abstract1(manager &m, 
const environment& e, top x)
 
   32  a = ap_abstract1_top(m.get_ap_manager_t(),
 
   33                       const_cast<ap_environment_t*
>(e.get_ap_environment_t()));
 
   34  m.raise(
"apron::abstract1::abstract1(manager &, const environment&, top)",a);
 
   37inline abstract1::abstract1(manager &m, 
const environment& e, bottom x)
 
   39  a = ap_abstract1_bottom(m.get_ap_manager_t(),
 
   40                          const_cast<ap_environment_t*
>(e.get_ap_environment_t()));
 
   41  m.raise(
"apron::abstract1::abstract1(manager &, const environment&, bottom)",a);
 
   44inline abstract1::abstract1(manager &m, 
const abstract1& t)
 
   46  a = ap_abstract1_copy(m.get_ap_manager_t(), 
const_cast<ap_abstract1_t*
>(&t.a));
 
   47  m.raise(
"apron::abstract1::abstract1(manager &, const abstract1&)",a);
 
   50inline abstract1::abstract1(manager &m, 
const environment& e, 
const abstract0& t)
 
   52  a.env = ap_environment_copy(
const_cast<ap_environment_t*
>(e.get_ap_environment_t()));
 
   53  a.abstract0 = ap_abstract0_copy(m.get_ap_manager_t(),
 
   54                               const_cast<ap_abstract0_t*
>(t.get_ap_abstract0_t()));
 
   55  m.raise(
"apron::abstract1::abstract1(manager &, const abstract1&)",a);
 
   58inline abstract1::abstract1(manager &m, 
const environment& e, 
const var v[], 
const interval_array& x)
 
   60  a = ap_abstract1_of_box(m.get_ap_manager_t(),
 
   61                          const_cast<ap_environment_t*
>(e.get_ap_environment_t()),
 
   62                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
   63                          const_cast<ap_interval_t**
>(x.get_ap_interval_t_array()),
 
   65  m.raise(
"apron::abstract1::abstract1(manager &, const environment&, const var[], const interval_array&)",a);
 
   68inline abstract1::abstract1(manager &m, 
const environment& e, 
const std::vector<var>& v, 
const interval_array& x)
 
   70  if (v.size()!=x.size())
 
   71    throw std::invalid_argument(
"apron::abstract1::abstract1(manager &, const environment&, const std::vector<var>&, const interval_array&): different array sizes");
 
   72  ap_var_t vv[v.size()];
 
   73  for (
size_t i=0;i<v.size();i++) vv[i] = v[i].get_ap_var_t();
 
   74  a = ap_abstract1_of_box(m.get_ap_manager_t(),
 
   75                          const_cast<ap_environment_t*
>(e.get_ap_environment_t()),
 
   77                          const_cast<ap_interval_t**
>(x.get_ap_interval_t_array()),
 
   79  m.raise(
"apron::abstract1::abstract1(manager &, const environment&, const std::vector<var>&, const interval_array&)",a);
 
   82inline abstract1::abstract1(manager &m, 
const lincons1_array& x)
 
   84  a = ap_abstract1_of_lincons_array(m.get_ap_manager_t(),
 
   85                                    const_cast<ap_environment_t*
>(x.get_environment().get_ap_environment_t()),
 
   86                                    const_cast<ap_lincons1_array_t*
>(x.get_ap_lincons1_array_t()));
 
   87  m.raise(
"apron::abstract1::abstract1(manager &, const lincons1_array&)",a);
 
   90inline abstract1::abstract1(manager &m, 
const tcons1_array& x)
 
   92  a = ap_abstract1_of_tcons_array(m.get_ap_manager_t(),
 
   93                                  const_cast<ap_environment_t*
>(x.get_environment().get_ap_environment_t()),
 
   94                                  const_cast<ap_tcons1_array_t*
>(x.get_ap_tcons1_array_t()));
 
   95  m.raise(
"apron::abstract1::abstract1(manager &, const tcons1_array&)",a);
 
   98inline abstract1::abstract1(
const abstract1& t)
 
  100  a = ap_abstract1_copy(t.a.abstract0->man, 
const_cast<ap_abstract1_t*
>(&t.a));
 
  101  manager::raise(a.abstract0->man, 
"apron::abstract1::abstract1(abstract1&)",a);
 
  108inline abstract1::~abstract1()
 
  110  if (a.abstract0) ap_abstract1_clear(a.abstract0->man, &a);
 
  114inline void abstract1::free(manager& m)
 
  116  if (a.abstract0) ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  124inline abstract1& abstract1::operator=(
const abstract1& t)
 
  127    ap_abstract1_t r = ap_abstract1_copy(a.abstract0->man,
 
  128                                         const_cast<ap_abstract1_t*
>(&t.a));
 
  129    manager::raise(a.abstract0->man, 
"apron::abstract1::operator=(const abstract1&)",r);
 
  130    ap_abstract1_clear(a.abstract0->man, &a);
 
  136inline abstract1& abstract1::operator=(top t)
 
  138  ap_abstract1_t r = ap_abstract1_top(a.abstract0->man, a.env);
 
  139  manager::raise(a.abstract0->man, 
"apron::abstract1::operator=(top)",r);
 
  140  ap_abstract1_clear(a.abstract0->man, &a);
 
  145inline abstract1& abstract1::operator=(bottom t)
 
  147  ap_abstract1_t r = ap_abstract1_bottom(a.abstract0->man, a.env);
 
  148  manager::raise(a.abstract0->man, 
"apron::abstract1::operator=(bottom)",r);
 
  149  ap_abstract1_clear(a.abstract0->man, &a);
 
  154inline abstract1& abstract1::operator=(
const interval_array& x)
 
  156  ap_dimension_t d = ap_abstract0_dimension(a.abstract0->man, a.abstract0);
 
  157  if (x.size()<d.intdim+d.realdim)
 
  158    throw std::invalid_argument(
"apron::abstract1::operator=(const interval_array&) array too short");
 
  159  ap_abstract0_t* r = ap_abstract0_of_box(a.abstract0->man, d.intdim, d.realdim,
 
  160                                          const_cast<ap_interval_t**
>(x.get_ap_interval_t_array()));
 
  161  manager::raise(a.abstract0->man, 
"apron::abstract1::operator=(const interval_array&)",r);
 
  162  ap_abstract0_free(a.abstract0->man, a.abstract0);
 
  167inline abstract1& abstract1::operator=(
const lincons1_array& x)
 
  170    ap_abstract1_of_lincons_array(a.abstract0->man,
 
  171                                  const_cast<ap_environment_t*
>(x.get_environment().get_ap_environment_t()),
 
  172                                  const_cast<ap_lincons1_array_t*
>(x.get_ap_lincons1_array_t()));
 
  173  manager::raise(a.abstract0->man, 
"apron::abstract1::operator=(const lincons1_array&)",r);
 
  174  ap_abstract1_clear(a.abstract0->man, &a);
 
  179inline abstract1& abstract1::operator=(
const tcons1_array& x)
 
  182    ap_abstract1_of_tcons_array(a.abstract0->man,
 
  183                                const_cast<ap_environment_t*
>(x.get_environment().get_ap_environment_t()),
 
  184                                const_cast<ap_tcons1_array_t*
>(x.get_ap_tcons1_array_t()));
 
  185  manager::raise(a.abstract0->man, 
"apron::abstract1::operator=(const tcons1_array&)",r);
 
  186  ap_abstract1_clear(a.abstract0->man, &a);
 
  192inline abstract1& abstract1::set(manager& m, 
const abstract1& x)
 
  195    ap_abstract1_t r = ap_abstract1_copy(m.get_ap_manager_t(),
 
  196                                         const_cast<ap_abstract1_t*
>(&x.a));
 
  197    m.raise(
"apron::abstract1::set(manager&, abstract1&)",r);
 
  198    ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  205inline abstract1& abstract1::set(manager& m, top t)
 
  207  ap_abstract1_t r = ap_abstract1_top(m.get_ap_manager_t(), a.env);
 
  208  m.raise(
"apron::abstract1::set(manager&, top)",r);
 
  209  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  214inline abstract1& abstract1::set(manager& m, 
const environment& e, top t)
 
  216  ap_abstract1_t r = ap_abstract1_top(m.get_ap_manager_t(),
 
  217                                      const_cast<ap_environment_t*
>(e.get_ap_environment_t()));
 
  218  m.raise(
"apron::abstract1::set(manager&, const environment&, top)",r);
 
  219  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  224inline abstract1& abstract1::set(manager& m, bottom t)
 
  226  ap_abstract1_t r = ap_abstract1_bottom(m.get_ap_manager_t(), a.env);
 
  227  m.raise(
"apron::abstract1::set(manager&, bottom)",r);
 
  228  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  233inline abstract1& abstract1::set(manager& m, 
const environment& e, bottom t)
 
  235  ap_abstract1_t r = ap_abstract1_bottom(m.get_ap_manager_t(),
 
  236                                         const_cast<ap_environment_t*
>(e.get_ap_environment_t()));
 
  237  m.raise(
"apron::abstract1::set(manager&, const environment&, bottom)",r);
 
  238  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  243inline abstract1& abstract1::set(manager& m, 
const interval_array& x)
 
  245  ap_dimension_t d = ap_abstract0_dimension(m.get_ap_manager_t(), a.abstract0);
 
  246  if (x.size()<d.intdim+d.realdim)
 
  247    throw std::invalid_argument(
"apron::abstract1::set(manager&, const interval_array&) array too short");
 
  248  ap_abstract0_t* r = ap_abstract0_of_box(m.get_ap_manager_t(), d.intdim, d.realdim,
 
  249                                          const_cast<ap_interval_t**
>(x.get_ap_interval_t_array()));
 
  250  m.raise(
"apron::abstract1::operator=(const interval_array&)",r);
 
  251  ap_abstract0_free(m.get_ap_manager_t(), a.abstract0);
 
  257inline abstract1& abstract1::set(manager &m, 
const environment& e, 
const var v[], 
const interval_array& x)
 
  260    ap_abstract1_of_box(m.get_ap_manager_t(),
 
  261                        const_cast<ap_environment_t*
>(e.get_ap_environment_t()),
 
  262                        reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
  263                        const_cast<ap_interval_t**
>(x.get_ap_interval_t_array()),
 
  265  m.raise(
"apron::abstract1::set(manager &, const environment&, const var[], const interval_array&)",r);
 
  266  ap_abstract1_clear(m.get_ap_manager_t(),&a);
 
  271inline abstract1& abstract1::set(manager &m, 
const environment& e, 
const std::vector<var>& v, 
const interval_array& x)
 
  273  if (v.size()!=x.size())
 
  274    throw std::invalid_argument(
"apron::abstract1::abstract1(manager &, const environment&, const std::vector<var>&, const interval_array&): different array sizes");
 
  275  ap_var_t vv[v.size()];
 
  276  for (
size_t i=0;i<v.size();i++) vv[i] = v[i].get_ap_var_t();
 
  278    ap_abstract1_of_box(m.get_ap_manager_t(),
 
  279                        const_cast<ap_environment_t*
>(e.get_ap_environment_t()),
 
  281                        const_cast<ap_interval_t**
>(x.get_ap_interval_t_array()),
 
  283  m.raise(
"apron::abstract1::set(manager &, const environment&, const std::vector<var>&, const interval_array&)",r);
 
  284  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  289inline abstract1& abstract1::set(manager& m, 
const lincons1_array& x)
 
  292    ap_abstract1_of_lincons_array(m.get_ap_manager_t(),
 
  293                                  const_cast<ap_environment_t*
>(x.get_environment().get_ap_environment_t()),
 
  294                                  const_cast<ap_lincons1_array_t*
>(x.get_ap_lincons1_array_t()));
 
  295  m.raise(
"apron::abstract1::set(manager &, const lincons1_array&)",r);
 
  296  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  301inline abstract1& abstract1::set(manager& m, 
const tcons1_array& x)
 
  304    ap_abstract1_of_tcons_array(m.get_ap_manager_t(),
 
  305                                const_cast<ap_environment_t*
>(x.get_environment().get_ap_environment_t()),
 
  306                                const_cast<ap_tcons1_array_t*
>(x.get_ap_tcons1_array_t()));
 
  307  m.raise(
"apron::abstract1::set(manager &, const tcons1_array&)",r);
 
  308  ap_abstract1_clear(m.get_ap_manager_t(), &a);
 
  317inline abstract1& abstract1::minimize(manager& m)
 
  319  ap_abstract1_minimize(m.get_ap_manager_t(), &a);
 
  320  m.raise(
"apron::abstract1::minimize(manager &)");
 
  324inline abstract1& abstract1::canonicalize(manager& m)
 
  326  ap_abstract1_canonicalize(m.get_ap_manager_t(), &a);
 
  327  m.raise(
"apron::abstract1::canonicalize(manager &)");
 
  331inline abstract1& abstract1::approximate(manager& m, 
int algorithm)
 
  333  ap_abstract1_approximate(m.get_ap_manager_t(), &a, algorithm);
 
  334  m.raise(
"apron::abstract1::approximate(manager &, int)");
 
  342inline void abstract1::print(manager& m, FILE* stream)
 const 
  344  ap_abstract1_fprint(stream, m.get_ap_manager_t(), 
const_cast<ap_abstract1_t*
>(&a));
 
  345  m.raise(
"apron::abstract1::print(manager&, FILE*)");
 
  348inline void printdiff(manager& m, 
const abstract1& x, 
const abstract1& y, FILE* stream = stdout)
 
  350  ap_abstract1_fprintdiff(stream, m.get_ap_manager_t(),
 
  351                          const_cast<ap_abstract1_t*
>(&x.a),
 
  352                          const_cast<ap_abstract1_t*
>(&y.a));
 
  353  m.raise(
"apron::printdiff(manager&, const abstract1&, const abstract1&, FILE*)");
 
 
  356inline void abstract1::dump(manager& m, FILE* stream)
 const 
  358  ap_abstract1_fdump(stream, m.get_ap_manager_t(), 
const_cast<ap_abstract1_t*
>(&a));
 
  359  m.raise(
"apron::abstract1::dump(manager&, FILE*)");
 
  362inline std::ostream& 
operator<< (std::ostream& os, 
const abstract1& s)
 
  364  manager m = s.get_manager();
 
  365  if (s.is_bottom(m)) 
return os << 
"bottom";
 
  366  if (s.is_top(m)) 
return os << 
"top";
 
  367  return os << s.to_lincons_array(m);
 
 
  374inline std::string* abstract1::serialize(manager& m)
 const 
  376  ap_membuf_t x = ap_abstract1_serialize_raw(m.get_ap_manager_t(),
 
  377                                             const_cast<ap_abstract1_t*
>(&a));
 
  378  m.raise(
"apron::abstract1::serialize_raw(manager&)");
 
  379  std::string* s = 
new std::string((
char*)x.ptr, x.size);
 
  384inline abstract1& 
deserialize(manager& m, abstract1& dst, 
const std::string& s, 
size_t* eaten = NULL)
 
  388    ap_abstract1_deserialize_raw(m.get_ap_manager_t(), 
const_cast<char*
>(s.data()), &x);
 
  389  m.raise(
"apron::deserialize_raw(manager&, abstract1&, const std::string&, size_t*)",r);
 
  390  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
  392  if (eaten) *eaten = x;
 
 
  400inline manager abstract1::get_manager()
 const 
  402  return ap_manager_copy(ap_abstract0_manager(
const_cast<ap_abstract0_t*
>(a.abstract0)));
 
  405inline environment abstract1::get_environment()
 const 
  407  return ap_environment_copy(
const_cast<ap_environment_t*
>(a.env));
 
  410inline abstract0& abstract1::get_abstract0()
 
  412  return reinterpret_cast<abstract0&
>(a.abstract0);
 
  415inline const abstract0& abstract1::get_abstract0()
 const 
  417  return reinterpret_cast<const abstract0&
>(a.abstract0);
 
  420inline size_t abstract1::size(manager& m)
 const 
  422  size_t sz = ap_abstract1_size(m.get_ap_manager_t(),
 
  423                                const_cast<ap_abstract1_t*
>(&a));
 
  424  m.raise(
"apron::abstract1::get_size(manager&)");
 
  434inline bool abstract1::is_bottom(manager& m)
 const 
  436  bool r = ap_abstract1_is_bottom(m.get_ap_manager_t(),
 
  437                                  const_cast<ap_abstract1_t*
>(&a));
 
  438  m.raise(
"apron::abstract1::is_bottom(manager&)");
 
  442inline bool abstract1::is_top(manager& m)
 const 
  444  bool r = ap_abstract1_is_top(m.get_ap_manager_t(),
 
  445                               const_cast<ap_abstract1_t*
>(&a));
 
  446  m.raise(
"apron::abstract1::is_top(manager&)");
 
  450inline bool abstract1::is_eq(manager& m, 
const abstract1& x)
 const 
  452  bool r = ap_abstract1_is_eq(m.get_ap_manager_t(),
 
  453                              const_cast<ap_abstract1_t*
>(&a),
 
  454                              const_cast<ap_abstract1_t*
>(&x.a));
 
  455  m.raise(
"apron::abstract1::is_eq(manager&, const abstract&)");
 
  459inline bool abstract1::is_leq(manager& m, 
const abstract1& x)
 const 
  461  bool r = ap_abstract1_is_leq(m.get_ap_manager_t(),
 
  462                               const_cast<ap_abstract1_t*
>(&a),
 
  463                               const_cast<ap_abstract1_t*
>(&x.a));
 
  464  m.raise(
"apron::abstract1::is_leq(manager&, const abstract&)");
 
  468inline bool abstract1::sat(manager& m, 
const lincons1& l)
 const 
  470  bool r = ap_abstract1_sat_lincons(m.get_ap_manager_t(),
 
  471                                    const_cast<ap_abstract1_t*
>(&a),
 
  472                                    const_cast<ap_lincons1_t*
>(l.get_ap_lincons1_t()));
 
  473  m.raise(
"apron::abstract1::sat(manager&, const lincons1&)");
 
  477inline bool abstract1::sat(manager& m, 
const tcons1& l)
 const 
  479  bool r = ap_abstract1_sat_tcons(m.get_ap_manager_t(),
 
  480                                  const_cast<ap_abstract1_t*
>(&a),
 
  481                                  const_cast<ap_tcons1_t*
>(l.get_ap_tcons1_t()));
 
  482  m.raise(
"apron::abstract1::sat(manager&, const tcons1&)");
 
  486inline bool abstract1::sat(manager& m, 
const var& v, 
const interval& i)
 const 
  488  bool r = ap_abstract1_sat_interval(m.get_ap_manager_t(),
 
  489                                     const_cast<ap_abstract1_t*
>(&a),
 
  491                                     const_cast<ap_interval_t*
>(i.get_ap_interval_t()));
 
  492  m.raise(
"apron::abstract1::sat(manager&, const var&, const interval&)");
 
  496inline bool abstract1::is_variable_unconstrained(manager& m, 
const var& v)
 const 
  498  bool r = ap_abstract1_is_variable_unconstrained(m.get_ap_manager_t(),
 
  499                                                  const_cast<ap_abstract1_t*
>(&a),
 
  501  m.raise(
"apron::abstract1::is_variable_unconstrained(manager&, const var&)");
 
  506inline bool operator== (
const abstract1& x, 
const abstract1& y)
 
  508  bool r = ap_abstract1_is_eq(x.a.abstract0->man,
 
  509                              const_cast<ap_abstract1_t*
>(&x.a),
 
  510                              const_cast<ap_abstract1_t*
>(&y.a));
 
  511  manager::raise(x.a.abstract0->man, 
"apron::operator==(const abstract1&, const abstract1&)");
 
 
  515inline bool operator!= (
const abstract1& x, 
const abstract1& y)
 
 
  520inline bool operator<= (
const abstract1& x, 
const abstract1& y)
 
  522  bool r = ap_abstract1_is_leq(x.a.abstract0->man,
 
  523                               const_cast<ap_abstract1_t*
>(&x.a),
 
  524                               const_cast<ap_abstract1_t*
>(&y.a));
 
  525  manager::raise(x.a.abstract0->man, 
"apron::operator<=(const abstract1&, const abstract1&)");
 
 
  529inline bool operator>= (
const abstract1& x, 
const abstract1& y)
 
 
  534inline bool operator> (
const abstract1& x, 
const abstract1& y)
 
 
  539inline bool operator< (
const abstract1& x, 
const abstract1& y)
 
 
  549inline interval abstract1::bound(manager& m, 
const linexpr1& l)
 const 
  552    ap_abstract1_bound_linexpr(m.get_ap_manager_t(),
 
  553                               const_cast<ap_abstract1_t*
>(&a),
 
  554                               const_cast<ap_linexpr1_t*
>(l.get_ap_linexpr1_t()));
 
  555  m.raise(
"apron::abstract1::bound(manager&, const linexpr1&)");
 
  559inline interval abstract1::bound(manager& m, 
const texpr1& l)
 const 
  562    ap_abstract1_bound_texpr(m.get_ap_manager_t(),
 
  563                             const_cast<ap_abstract1_t*
>(&a),
 
  564                             const_cast<ap_texpr1_t*
>(l.get_ap_texpr1_t()));
 
  565  if (m.exception_raised()) ap_interval_free(r);
 
  566  m.raise(
"apron::abstract1::bound(manager&, const texpr1&)");
 
  570inline interval abstract1::bound(manager& m, 
const var& d)
 const 
  573    ap_abstract1_bound_variable(m.get_ap_manager_t(),
 
  574                                const_cast<ap_abstract1_t*
>(&a),
 
  576  if (m.exception_raised()) ap_interval_free(r);
 
  577  m.raise(
"apron::abstract1::bound(manager&, ap_dim_t)");
 
  581inline interval_array abstract1::to_box(manager& m)
 const 
  584    ap_abstract1_to_box(m.get_ap_manager_t(),
 
  585                        const_cast<ap_abstract1_t*
>(&a));
 
  586  if (m.exception_raised()) ap_box1_clear(&r);
 
  587  m.raise(
"apron::abstract1::to_box(manager&)");
 
  588  size_t sz = r.env->intdim + r.env->realdim;
 
  589  ap_environment_free(r.env);
 
  590  return interval_array(sz, r.p);
 
  593inline lincons1_array abstract1::to_lincons_array(manager& m)
 const 
  595  ap_lincons1_array_t r =
 
  596    ap_abstract1_to_lincons_array(m.get_ap_manager_t(),
 
  597                                  const_cast<ap_abstract1_t*
>(&a));
 
  598  if (m.exception_raised()) ap_lincons1_array_clear(&r);
 
  599  m.raise(
"apron::abstract1::to_lincons_array(manager&)");
 
  603inline tcons1_array abstract1::to_tcons_array(manager& m)
 const 
  605  ap_tcons1_array_t r =
 
  606    ap_abstract1_to_tcons_array(m.get_ap_manager_t(),
 
  607                                const_cast<ap_abstract1_t*
>(&a));
 
  608  if (m.exception_raised()) ap_tcons1_array_clear(&r);
 
  609  m.raise(
"apron::abstract1::to_tcons_array(manager&)");
 
  613inline generator1_array abstract1::to_generator_array(manager& m)
 const 
  615  ap_generator1_array_t r =
 
  616    ap_abstract1_to_generator_array(m.get_ap_manager_t(),
 
  617                                    const_cast<ap_abstract1_t*
>(&a));
 
  618  if (m.exception_raised()) ap_generator1_array_clear(&r);
 
  619  m.raise(
"apron::abstract1::to_generator_array(manager&)");
 
  627inline abstract1& abstract1::unify(manager& m, 
const abstract1& y)
 
  629  a = ap_abstract1_unify(m.get_ap_manager_t(), 
true,
 
  630                         const_cast<ap_abstract1_t*
>(&a),
 
  631                         const_cast<ap_abstract1_t*
>(&y.a));
 
  632  m.raise(
"apron::abstract1::unify(manager&, const abstract1&)");
 
  636inline abstract1& 
unify(manager& m, abstract1& dst, 
const abstract1& x, 
const abstract1& y)
 
  639    ap_abstract1_unify(m.get_ap_manager_t(), 
false,
 
  640                       const_cast<ap_abstract1_t*
>(&x.a),
 
  641                       const_cast<ap_abstract1_t*
>(&y.a));
 
  642  m.raise(
"apron::unify(manager&, abstract1&, const abstract1&, const abstract1&)",r);
 
  643  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  648inline abstract1& abstract1::meet(manager& m, 
const abstract1& y)
 
  650  a = ap_abstract1_meet(m.get_ap_manager_t(), 
true,
 
  651                        const_cast<ap_abstract1_t*
>(&a),
 
  652                        const_cast<ap_abstract1_t*
>(&y.a));
 
  653  m.raise(
"apron::abstract1::meet(manager&, const abstract1&)");
 
  657inline abstract1& 
meet(manager& m, abstract1& dst, 
const abstract1& x, 
const abstract1& y)
 
  660    ap_abstract1_meet(m.get_ap_manager_t(), 
false,
 
  661                      const_cast<ap_abstract1_t*
>(&x.a),
 
  662                      const_cast<ap_abstract1_t*
>(&y.a));
 
  663  m.raise(
"apron::meet(manager&, abstract1&, const abstract1&, const abstract1&)",r);
 
  664  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  669inline abstract1& 
meet(manager& m, abstract1& dst, 
const std::vector<const abstract1*>& x)
 
  671  ap_abstract1_t xx[x.size()];
 
  672  for (
size_t i=0;i<x.size();i++)
 
  673    xx[i] = *(x[i]->get_ap_abstract1_t());
 
  675    ap_abstract1_meet_array(m.get_ap_manager_t(), xx, x.size());
 
  676  m.raise(
"apron::meet(manager&, abstract1&, const std::vector<const abstract1*>&)",r);
 
  677  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  682inline abstract1& 
meet(manager& m, abstract1& dst, 
size_t sz, 
const abstract1 * 
const x[])
 
  684  ap_abstract1_t xx[sz];
 
  685  for (
size_t i=0;i<sz;i++)
 
  686    xx[i] = *(x[i]->get_ap_abstract1_t());
 
  688    ap_abstract1_meet_array(m.get_ap_manager_t(), xx, sz);
 
  689  m.raise(
"apron::meet(manager&, abstract1&, size_t, const abstract1 * const [])",r);
 
  690  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  695inline abstract1& abstract1::join(manager& m, 
const abstract1& y)
 
  697  a = ap_abstract1_join(m.get_ap_manager_t(), 
true,
 
  698                        const_cast<ap_abstract1_t*
>(&a),
 
  699                        const_cast<ap_abstract1_t*
>(&y.a));
 
  700  m.raise(
"apron::abstract1::join(manager&, const abstract1&)");
 
  704inline abstract1& 
join(manager& m, abstract1& dst, 
const abstract1& x, 
const abstract1& y)
 
  707    ap_abstract1_join(m.get_ap_manager_t(), 
false,
 
  708                      const_cast<ap_abstract1_t*
>(&x.a),
 
  709                      const_cast<ap_abstract1_t*
>(&y.a));
 
  710  m.raise(
"apron::join(manager&, abstract1&, const abstract1&, const abstract1&)",r);
 
  711  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  716inline abstract1& 
join(manager& m, abstract1& dst, 
size_t sz, 
const abstract1 * 
const x[])
 
  718  ap_abstract1_t xx[sz];
 
  719  for (
size_t i=0;i<sz;i++)
 
  720    xx[i] = *(x[i]->get_ap_abstract1_t());
 
  722    ap_abstract1_join_array(m.get_ap_manager_t(), xx, sz);
 
  723  m.raise(
"apron::join(manager&, abstract1&, size_t, const abstract1 * const [])",r);
 
  724  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  729inline abstract1& 
join(manager& m, abstract1& dst, 
const std::vector<const abstract1*>& x)
 
  731  ap_abstract1_t xx[x.size()];
 
  732  for (
size_t i=0;i<x.size();i++)
 
  733    xx[i] = *(x[i]->get_ap_abstract1_t());
 
  735    ap_abstract1_join_array(m.get_ap_manager_t(), xx, x.size());
 
  736  m.raise(
"apron::join(manager&, abstract1&, const std::vector<const abstract1*>&)",r);
 
  737  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  742inline abstract1& abstract1::meet(manager& m, 
const lincons1_array& y)
 
  745    ap_abstract1_meet_lincons_array(m.get_ap_manager_t(), 
true,
 
  746                                    const_cast<ap_abstract1_t*
>(&a),
 
  747                                    const_cast<ap_lincons1_array_t*
>(y.get_ap_lincons1_array_t()));
 
  748  m.raise(
"apron::abstract1::meet(manager&, const lincons1_array&)");
 
  752inline abstract1& 
meet(manager& m, abstract1& dst, 
const abstract1& x, 
const lincons1_array& y)
 
  755    ap_abstract1_meet_lincons_array(m.get_ap_manager_t(), 
false,
 
  756                                    const_cast<ap_abstract1_t*
>(&x.a),
 
  757                                    const_cast<ap_lincons1_array_t*
>(y.get_ap_lincons1_array_t()));
 
  758  m.raise(
"apron::meet(manager&, abstract1&, const abstract1&, const lincons1_array&)",r);
 
  759  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  765inline abstract1& abstract1::meet(manager& m, 
const tcons1_array& y)
 
  767  a = ap_abstract1_meet_tcons_array(m.get_ap_manager_t(), 
true,
 
  768                                    const_cast<ap_abstract1_t*
>(&a),
 
  769                                    const_cast<ap_tcons1_array_t*
>(y.get_ap_tcons1_array_t()));
 
  770  m.raise(
"apron::abstract1::meet(manager&, const tcons1_array&)");
 
  774inline abstract1& 
meet(manager& m, abstract1& dst, 
const abstract1& x, 
const tcons1_array& y)
 
  777    ap_abstract1_meet_tcons_array(m.get_ap_manager_t(), 
false,
 
  778                                  const_cast<ap_abstract1_t*
>(&x.a),
 
  779                                  const_cast<ap_tcons1_array_t*
>(y.get_ap_tcons1_array_t()));
 
  780  m.raise(
"apron::meet(manager&, abstract1&, const abstract1&, const tcons1_array&)",r);
 
  781  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  788inline abstract1& abstract1::add_rays(manager& m, 
const generator1_array& y)
 
  791    ap_abstract1_add_ray_array(m.get_ap_manager_t(), 
true,
 
  792                               const_cast<ap_abstract1_t*
>(&a),
 
  793                               const_cast<ap_generator1_array_t*
>(y.get_ap_generator1_array_t()));
 
  794  m.raise(
"apron::abstract1::add_rays(manager&, const generator1_array&)");
 
  798inline abstract1& 
add_rays(manager& m, abstract1& dst, 
const abstract1& x, 
const generator1_array& y)
 
  801    ap_abstract1_add_ray_array(m.get_ap_manager_t(), 
false,
 
  802                               const_cast<ap_abstract1_t*
>(&x.a),
 
  803                               const_cast<ap_generator1_array_t*
>(y.get_ap_generator1_array_t()));
 
  804  m.raise(
"apron::add_rays(manager&, abstract1&, const abstract1&, const generator1_array&)",r);
 
  805  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  812inline abstract1& abstract1::operator*=(
const abstract1& y)
 
  815    ap_abstract1_meet(a.abstract0->man, 
true,
 
  816                      const_cast<ap_abstract1_t*
>(&a),
 
  817                      const_cast<ap_abstract1_t*
>(&y.a));
 
  818  manager::raise(a.abstract0->man, 
"apron::abstract1::operator*=(const abstract1&)");
 
  822inline abstract1& abstract1::operator+=(
const abstract1& y)
 
  825    ap_abstract1_join(a.abstract0->man, 
true,
 
  826                      const_cast<ap_abstract1_t*
>(&a),
 
  827                      const_cast<ap_abstract1_t*
>(&y.a));
 
  828  manager::raise(a.abstract0->man, 
"apron::abstract1::operator+=(const abstract1&)");
 
  832inline abstract1& abstract1::operator*=(
const lincons1_array& y)
 
  835    ap_abstract1_meet_lincons_array(a.abstract0->man, 
true,
 
  836                                    const_cast<ap_abstract1_t*
>(&a),
 
  837                                    const_cast<ap_lincons1_array_t*
>(y.get_ap_lincons1_array_t()));
 
  838  manager::raise(a.abstract0->man, 
"apron::abstract1::operator*=(const lincons1_array&)");
 
  842inline abstract1& abstract1::operator*=(
const tcons1_array& y)
 
  845    ap_abstract1_meet_tcons_array(a.abstract0->man, 
true,
 
  846                                  const_cast<ap_abstract1_t*
>(&a),
 
  847                                  const_cast<ap_tcons1_array_t*
>(y.get_ap_tcons1_array_t()));
 
  848  manager::raise(a.abstract0->man, 
"apron::abstract1::operator*=(const tcons1_array&)");
 
  852inline abstract1& abstract1::operator+=(
const generator1_array& y)
 
  855    ap_abstract1_add_ray_array(a.abstract0->man, 
true,
 
  856                               const_cast<ap_abstract1_t*
>(&a),
 
  857                               const_cast<ap_generator1_array_t*
>(y.get_ap_generator1_array_t()));
 
  858  manager::raise(a.abstract0->man, 
"apron::abstract1::operator+=(const generator1_array&)");
 
  869  ap_abstract1_t* r = 
const_cast<ap_abstract1_t*
>(i.get_ap_abstract1_t());
 
  870  if (r->abstract0) 
return r;
 
 
  874inline abstract1& abstract1::assign(manager& m, 
const var& v, 
const linexpr1& l, 
const abstract1& inter)
 
  876  a = ap_abstract1_assign_linexpr_array(m.get_ap_manager_t(), 
true, &a,
 
  877                                        reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
  878                                        const_cast<ap_linexpr1_t*
>(l.get_ap_linexpr1_t()),
 
  881  m.raise(
"apron::abstract1::assign(manager&, size_t size, const var&, const linexpr1&, const abstract1&)");
 
  885inline abstract1& abstract1::assign(manager& m, 
size_t size, 
const var v[], 
const linexpr1 * 
const l[], 
const abstract1& inter)
 
  887  ap_linexpr1_t ll[size];
 
  888  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_linexpr1_t());
 
  890    ap_abstract1_assign_linexpr_array(m.get_ap_manager_t(), 
true, &a,
 
  891                                      reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
  894  m.raise(
"apron::abstract1::assign(manager&, size_t size, const var[], const linexpr1 * const [], const abstract1&)");
 
  899inline abstract1& abstract1::assign(manager& m, 
const std::vector<var>& v, 
const std::vector<const linexpr1*>& l, 
const abstract1& inter)
 
  901  if (l.size()!=v.size())
 
  902    throw std::invalid_argument(
"apron::abstract1::assign(manager&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&) vectors have different size");
 
  903  ap_linexpr1_t ll[l.size()];
 
  904  ap_var_t vv[v.size()];
 
  905  for (
size_t i=0;i<l.size();i++) {
 
  906    ll[i] = *(l[i]->get_ap_linexpr1_t());
 
  907    vv[i] = v[i].get_ap_var_t();
 
  910    ap_abstract1_assign_linexpr_array(m.get_ap_manager_t(), 
true, &a,
 
  913  m.raise(
"apron::abstract1::assign(manager&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&)");
 
  918inline abstract1& 
assign(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
const linexpr1& l, 
const abstract1& inter = abstract1::null)
 
  921    ap_abstract1_assign_linexpr_array(m.get_ap_manager_t(), 
false,
 
  922                                      const_cast<ap_abstract1_t*
>(&src.a),
 
  923                                      reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
  924                                      const_cast<ap_linexpr1_t*
>(l.get_ap_linexpr1_t()),
 
  927  m.raise(
"apron::assign(manager&, abstract1&, const abstract1&, const var&, const linexpr1&, const abstract1&)",r);
 
  928  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  933inline abstract1& 
assign(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var v[], 
const linexpr1 * 
const l[], 
const abstract1& inter = abstract1::null)
 
  935  ap_linexpr1_t ll[size];
 
  936  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_linexpr1_t());
 
  938    ap_abstract1_assign_linexpr_array(m.get_ap_manager_t(), 
false,
 
  939                                      const_cast<ap_abstract1_t*
>(&src.a),
 
  940                                      reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
  943  m.raise(
"apron::assign((manager&, abstract1&, const abstract1&, size_t size, const var[], const linexpr1 * const [], const abstract1&)",r);
 
  944  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  949inline abstract1& 
assign(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& v, 
const std::vector<const linexpr1*>& l, 
const abstract1& inter = abstract1::null)
 
  951  if (l.size()!=v.size())
 
  952    throw std::invalid_argument(
"apron::assign(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&) vectors have different size");
 
  953  ap_linexpr1_t ll[l.size()];
 
  954  ap_var_t vv[v.size()];
 
  955  for (
size_t i=0;i<l.size();i++) {
 
  956    ll[i] = *(l[i]->get_ap_linexpr1_t());
 
  957    vv[i] = v[i].get_ap_var_t();
 
  960    ap_abstract1_assign_linexpr_array(m.get_ap_manager_t(), 
false,
 
  961                                      const_cast<ap_abstract1_t*
>(&src.a),
 
  964  m.raise(
"apron::assign(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&)",r);
 
  965  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
  974inline abstract1& abstract1::assign(manager& m, 
const var& v, 
const texpr1& l, 
const abstract1& inter)
 
  976  a = ap_abstract1_assign_texpr_array(m.get_ap_manager_t(), 
true, &a,
 
  977                                      reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
  978                                      const_cast<ap_texpr1_t*
>(l.get_ap_texpr1_t()),
 
  981  m.raise(
"apron::abstract1::assign(manager&, size_t size, const var&, const texpr1&, const abstract1&)");
 
  985inline abstract1& abstract1::assign(manager& m, 
size_t size, 
const var v[], 
const texpr1 * 
const l[], 
const abstract1& inter)
 
  987  ap_texpr1_t ll[size];
 
  988  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_texpr1_t());
 
  989  a = ap_abstract1_assign_texpr_array(m.get_ap_manager_t(), 
true, &a,
 
  990                                      reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
  993  m.raise(
"apron::abstract1::assign(manager&, size_t size, const var[], const texpr1 * const [], const abstract1&)");
 
  997inline abstract1& abstract1::assign(manager& m, 
const std::vector<var>& v, 
const std::vector<const texpr1*>& l, 
const abstract1& inter)
 
  999  if (l.size()!=v.size())
 
 1000    throw std::invalid_argument(
"apron::abstract1::assign(manager&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&) vectors have different size");
 
 1001  ap_texpr1_t ll[l.size()];
 
 1002  ap_var_t vv[v.size()];
 
 1003  for (
size_t i=0;i<l.size();i++) {
 
 1004    ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1005    vv[i] = v[i].get_ap_var_t();
 
 1007  a = ap_abstract1_assign_texpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1010  m.raise(
"apron::abstract1::assign(manager&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&) vectors have different size");
 
 1014inline abstract1& 
assign(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
const texpr1& l, 
const abstract1& inter = abstract1::null)
 
 1017    ap_abstract1_assign_texpr_array(m.get_ap_manager_t(), 
false,
 
 1018                                    const_cast<ap_abstract1_t*
>(&src.a),
 
 1019                                    reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
 1020                                    const_cast<ap_texpr1_t*
>(l.get_ap_texpr1_t()),
 
 1023  m.raise(
"apron::assign(manager&, abstract1&, const abstract1&, const var&, const texpr1&, const abstract1&)",r);
 
 1024  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1029inline abstract1& 
assign(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var v[], 
const texpr1 * 
const l[], 
const abstract1& inter = abstract1::null)
 
 1031  ap_texpr1_t ll[size];
 
 1032  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1034    ap_abstract1_assign_texpr_array(m.get_ap_manager_t(), 
false,
 
 1035                                    const_cast<ap_abstract1_t*
>(&src.a),
 
 1036                                    reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1039  m.raise(
"apron::assign((manager&, abstract1&, const abstract1&, size_t size, const var[], const texpr1 * const [], const abstract1&)",r);
 
 1040  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1045inline abstract1& 
assign(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& v, 
const std::vector<const texpr1*>& l, 
const abstract1& inter = abstract1::null)
 
 1047  if (l.size()!=v.size())
 
 1048    throw std::invalid_argument(
"apron::assign(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&) vectors have different size");
 
 1049  ap_texpr1_t ll[l.size()];
 
 1050  ap_var_t vv[v.size()];
 
 1051  for (
size_t i=0;i<l.size();i++) {
 
 1052    ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1053    vv[i] = v[i].get_ap_var_t();
 
 1056    ap_abstract1_assign_texpr_array(m.get_ap_manager_t(), 
false,
 
 1057                                    const_cast<ap_abstract1_t*
>(&src.a),
 
 1060  m.raise(
"apron::assign(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&)",r);
 
 1061  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1072inline abstract1& abstract1::substitute(manager& m, 
const var& v, 
const linexpr1& l, 
const abstract1& inter)
 
 1074  a = ap_abstract1_substitute_linexpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1075                                            reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
 1076                                            const_cast<ap_linexpr1_t*
>(l.get_ap_linexpr1_t()),
 
 1079  m.raise(
"apron::abstract1::substitute(manager&, size_t size, const var&, const linexpr1&, const abstract1&)");
 
 1083inline abstract1& abstract1::substitute(manager& m, 
size_t size, 
const var v[], 
const linexpr1 * 
const l[], 
const abstract1& inter)
 
 1085  ap_linexpr1_t ll[size];
 
 1086  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_linexpr1_t());
 
 1088    ap_abstract1_substitute_linexpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1089                                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1092  m.raise(
"apron::abstract1::substitute(manager&, size_t size, const var[], const linexpr1 * const [], const abstract1&)");
 
 1097inline abstract1& abstract1::substitute(manager& m, 
const std::vector<var>& v, 
const std::vector<const linexpr1*>& l, 
const abstract1& inter)
 
 1099  if (l.size()!=v.size())
 
 1100    throw std::invalid_argument(
"apron::abstract1::substitute(manager&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&) vectors have different size");
 
 1101  ap_linexpr1_t ll[l.size()];
 
 1102  ap_var_t vv[v.size()];
 
 1103  for (
size_t i=0;i<l.size();i++) {
 
 1104    ll[i] = *(l[i]->get_ap_linexpr1_t());
 
 1105    vv[i] = v[i].get_ap_var_t();
 
 1108    ap_abstract1_substitute_linexpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1111  m.raise(
"apron::abstract1::substitute(manager&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&)");
 
 1116inline abstract1& 
substitute(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
const linexpr1& l, 
const abstract1& inter = abstract1::null)
 
 1119    ap_abstract1_substitute_linexpr_array(m.get_ap_manager_t(), 
false,
 
 1120                                          const_cast<ap_abstract1_t*
>(&src.a),
 
 1121                                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
 1122                                          const_cast<ap_linexpr1_t*
>(l.get_ap_linexpr1_t()),
 
 1125  m.raise(
"apron::substitute(manager&, abstract1&, const abstract1&, const var&, const linexpr1&, const abstract1&)",r);
 
 1126  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1131inline abstract1& 
substitute(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var v[], 
const linexpr1 * 
const l[], 
const abstract1& inter = abstract1::null)
 
 1133  ap_linexpr1_t ll[size];
 
 1134  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_linexpr1_t());
 
 1136    ap_abstract1_substitute_linexpr_array(m.get_ap_manager_t(), 
false,
 
 1137                                          const_cast<ap_abstract1_t*
>(&src.a),
 
 1138                                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1141  m.raise(
"apron::substitute((manager&, abstract1&, const abstract1&, size_t size, const var[], const linexpr1 * const [], const abstract1&)",r);
 
 1142  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1147inline abstract1& 
substitute(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& v, 
const std::vector<const linexpr1*>& l, 
const abstract1& inter = abstract1::null)
 
 1149  if (l.size()!=v.size())
 
 1150    throw std::invalid_argument(
"apron::substitute(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&) vectors have different size");
 
 1151  ap_linexpr1_t ll[l.size()];
 
 1152  ap_var_t vv[v.size()];
 
 1153  for (
size_t i=0;i<l.size();i++) {
 
 1154    ll[i] = *(l[i]->get_ap_linexpr1_t());
 
 1155    vv[i] = v[i].get_ap_var_t();
 
 1158    ap_abstract1_substitute_linexpr_array(m.get_ap_manager_t(), 
false,
 
 1159                                          const_cast<ap_abstract1_t*
>(&src.a),
 
 1162  m.raise(
"apron::substitute(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const linexpr1*>&, const abstract1&)",r);
 
 1163  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1172inline abstract1& abstract1::substitute(manager& m, 
const var& v, 
const texpr1& l, 
const abstract1& inter)
 
 1174  a = ap_abstract1_substitute_texpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1175                                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
 1176                                          const_cast<ap_texpr1_t*
>(l.get_ap_texpr1_t()),
 
 1179  m.raise(
"apron::abstract1::substitute(manager&, size_t size, const var&, const texpr1&, const abstract1&)");
 
 1183inline abstract1& abstract1::substitute(manager& m, 
size_t size, 
const var v[], 
const texpr1 * 
const l[], 
const abstract1& inter)
 
 1185  ap_texpr1_t ll[size];
 
 1186  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1187  a = ap_abstract1_substitute_texpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1188                                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1191  m.raise(
"apron::abstract1::substitute(manager&, size_t size, const var[], const texpr1 * const [], const abstract1&)");
 
 1195inline abstract1& abstract1::substitute(manager& m, 
const std::vector<var>& v, 
const std::vector<const texpr1*>& l, 
const abstract1& inter)
 
 1197  if (l.size()!=v.size())
 
 1198    throw std::invalid_argument(
"apron::abstract1::substitute(manager&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&) vectors have different size");
 
 1199  ap_texpr1_t ll[l.size()];
 
 1200  ap_var_t vv[v.size()];
 
 1201  for (
size_t i=0;i<l.size();i++) {
 
 1202    ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1203    vv[i] = v[i].get_ap_var_t();
 
 1205  a = ap_abstract1_substitute_texpr_array(m.get_ap_manager_t(), 
true, &a,
 
 1208  m.raise(
"apron::abstract1::substitute(manager&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&) vectors have different size");
 
 1212inline abstract1& 
substitute(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
const texpr1& l, 
const abstract1& inter = abstract1::null)
 
 1215    ap_abstract1_substitute_texpr_array(m.get_ap_manager_t(), 
false,
 
 1216                                        const_cast<ap_abstract1_t*
>(&src.a),
 
 1217                                        reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(&v)),
 
 1218                                        const_cast<ap_texpr1_t*
>(l.get_ap_texpr1_t()),
 
 1221  m.raise(
"apron::substitute(manager&, abstract1&, const abstract1&, const var&, const texpr1&, const abstract1&)",r);
 
 1222  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1227inline abstract1& 
substitute(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var v[], 
const texpr1 * 
const l[], 
const abstract1& inter = abstract1::null)
 
 1229  ap_texpr1_t ll[size];
 
 1230  for (
size_t i=0;i<size;i++) ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1232    ap_abstract1_substitute_texpr_array(m.get_ap_manager_t(), 
false,
 
 1233                                        const_cast<ap_abstract1_t*
>(&src.a),
 
 1234                                        reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1237  m.raise(
"apron::substitute((manager&, abstract1&, const abstract1&, size_t size, const var[], const texpr1 * const [], const abstract1&)",r);
 
 1238  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1243inline abstract1& 
substitute(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& v, 
const std::vector<const texpr1*>& l, 
const abstract1& inter = abstract1::null)
 
 1245  if (l.size()!=v.size())
 
 1246    throw std::invalid_argument(
"apron::substitute(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&) vectors have different size");
 
 1247  ap_texpr1_t ll[l.size()];
 
 1248  ap_var_t vv[v.size()];
 
 1249  for (
size_t i=0;i<l.size();i++) {
 
 1250    ll[i] = *(l[i]->get_ap_texpr1_t());
 
 1251    vv[i] = v[i].get_ap_var_t();
 
 1254    ap_abstract1_substitute_texpr_array(m.get_ap_manager_t(), 
false,
 
 1255                                        const_cast<ap_abstract1_t*
>(&src.a),
 
 1258  m.raise(
"apron::substitute(manager&, abstract1, const abstract1&, const std::vector<var>&, const std::vector<const texpr1*>&, const abstract1&)",r);
 
 1259  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1271inline abstract1& abstract1::forget(manager& m, 
const var& v, 
bool project)
 
 1273  return forget(m,1,&v,project);
 
 1276inline abstract1& abstract1::forget(manager& m, 
size_t size, 
const var v[], 
bool project)
 
 1278  a = ap_abstract1_forget_array(m.get_ap_manager_t(), 
true, &a,
 
 1279                                reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1281  m.raise(
"apron::abstract1::forget(manager&, size_t, const var[], bool)");
 
 1285inline abstract1& abstract1::forget(manager& m, 
const std::vector<var>& v, 
bool project)
 
 1287  ap_var_t vv[v.size()];
 
 1288  for (
size_t i=0;i<v.size();i++) vv[i] = v[i].get_ap_var_t();
 
 1289  a = ap_abstract1_forget_array(m.get_ap_manager_t(), 
true, &a, vv, v.size(), project);
 
 1290  m.raise(
"apron::abstract1::forget(manager&,  const std::vector<var>&, bool)");
 
 1294inline abstract1& 
forget(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
bool project = 
false)
 
 1296  return forget(m,dst,src,1,&v,project);
 
 
 1299inline abstract1& 
forget(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var v[], 
bool project = 
false)
 
 1301  ap_abstract1_t r = ap_abstract1_forget_array(m.get_ap_manager_t(), 
false,
 
 1302                                               const_cast<ap_abstract1_t*
>(&src.a),
 
 1303                                               reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(v)),
 
 1305  m.raise(
"apron::forget(manager&, abstract1&, const abstract1&, size_t, const var[], bool)",r);
 
 1306  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1311inline abstract1& 
forget(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& v, 
bool project = 
false)
 
 1313  ap_var_t vv[v.size()];
 
 1314  for (
size_t i=0;i<v.size();i++) vv[i] = v[i].get_ap_var_t();
 
 1315  ap_abstract1_t r = ap_abstract1_forget_array(m.get_ap_manager_t(), 
false,
 
 1316                                               const_cast<ap_abstract1_t*
>(&src.a),
 
 1317                                               vv, v.size(), project);
 
 1318  m.raise(
"apron::forget(manager&, abstract1&, const abstract1&, const std::vector<var>&, bool)",r);
 
 1319  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1329inline abstract1& abstract1::change_environment(manager& m, 
const environment& e, 
bool project)
 
 1331  a = ap_abstract1_change_environment(m.get_ap_manager_t(), 
true, &a,
 
 1332                                      const_cast<ap_environment_t*
>(e.get_ap_environment_t()),
 
 1334  m.raise(
"apron::abstract1::change_environment(manager&, const environment&, bool)");
 
 1338inline abstract1& 
change_environment(manager& m, abstract1& dst, 
const abstract1& src, 
const environment& e, 
bool project = 
false)
 
 1341    ap_abstract1_change_environment(m.get_ap_manager_t(), 
false,
 
 1342                                    const_cast<ap_abstract1_t*
>(&src.a),
 
 1343                                    const_cast<ap_environment_t*
>(e.get_ap_environment_t()),
 
 1345  m.raise(
"apron::change_environment(manager&, abstrct1&, const abstract1&, const environment&, bool)",r);
 
 1346  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1351inline abstract1& abstract1::minimize_environment(manager& m)
 
 1353  a = ap_abstract1_minimize_environment(m.get_ap_manager_t(), 
true, &a);
 
 1354  m.raise(
"apron::abstract1::minimize_environment(manager&)");
 
 1361    ap_abstract1_minimize_environment(m.get_ap_manager_t(), 
false,
 
 1362                                      const_cast<ap_abstract1_t*
>(&src.a));
 
 1363  m.raise(
"apron::minimize_environment(manager&,  abstract1&, const abstract1&)",r);
 
 1364  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1369inline abstract1& abstract1::rename(manager& m, 
size_t size, 
const var oldv[], 
const var newv[])
 
 1371  a = ap_abstract1_rename_array(m.get_ap_manager_t(), 
true, &a,
 
 1372                                reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(oldv)),
 
 1373                                reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(newv)),
 
 1375  m.raise(
"apron::abstract1::rename(manager&, size_t, const var[], const var[])");
 
 1379inline abstract1& abstract1::rename(manager& m, 
const std::vector<var>& oldv, 
const std::vector<var>& newv)
 
 1381  if (oldv.size()!=newv.size())
 
 1382    throw std::invalid_argument(
"apron::abstract1::rename(manager&, const std::vector<var>&, const std::vector<var>&) vector have different size");
 
 1383  ap_var_t oldvv[oldv.size()];
 
 1384  ap_var_t newvv[newv.size()];
 
 1385  for (
size_t i=0;i<oldv.size();i++) {
 
 1386    oldvv[i] = oldv[i].get_ap_var_t();
 
 1387    newvv[i] = newv[i].get_ap_var_t();
 
 1389  a = ap_abstract1_rename_array(m.get_ap_manager_t(), 
true, &a,
 
 1390                                oldvv, newvv, oldv.size());
 
 1391  m.raise(
"apron::abstract1::rename(manager&, const std::vector<var>&, const std::vector<var>&)");
 
 1395inline abstract1& 
rename(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var oldv[], 
const var newv[])
 
 1398    ap_abstract1_rename_array(m.get_ap_manager_t(), 
false,
 
 1399                              const_cast<ap_abstract1_t*
>(&src.a),
 
 1400                              reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(oldv)),
 
 1401                              reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(newv)),
 
 1403  m.raise(
"apron::rename(manager&, abstract1&, const abstract1&, size_t, const var[], const var[])",r);
 
 1404  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1409inline abstract1& 
rename(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& oldv, 
const std::vector<var>& newv)
 
 1411  if (oldv.size()!=newv.size())
 
 1412    throw std::invalid_argument(
"apron::abstract1::rename(manager&, abstract1&, const abstract1&, const std::vector<var>&, const std::vector<var>&) vector have different size");
 
 1413  ap_var_t oldvv[oldv.size()];
 
 1414  ap_var_t newvv[newv.size()];
 
 1415  for (
size_t i=0;i<oldv.size();i++) {
 
 1416    oldvv[i] = oldv[i].get_ap_var_t();
 
 1417    newvv[i] = newv[i].get_ap_var_t();
 
 1420    ap_abstract1_rename_array(m.get_ap_manager_t(), 
false,
 
 1421                              const_cast<ap_abstract1_t*
>(&src.a),
 
 1422                              oldvv, newvv, oldv.size());
 
 1423  m.raise(
"apron::rename(manager&, abstract1&, const abstract1&, const std::vector<var>&, const std::vector<var>&)",r);
 
 1424  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1434inline abstract1& abstract1::expand(manager& m, 
const var& v, 
size_t size, 
const var vv[])
 
 1436  a = ap_abstract1_expand(m.get_ap_manager_t(), 
true, &a,
 
 1437                          const_cast<ap_var_t
>(v.get_ap_var_t()),
 
 1438                          reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(vv)),
 
 1440  m.raise(
"apron::abstract1::expand(manager&, const var&, size_t, const var[])");
 
 1444inline abstract1& abstract1::expand(manager& m, 
const var& v, 
const std::vector<var>& vv)
 
 1446  ap_var_t ww[vv.size()];
 
 1447  for (
size_t i=0;i<vv.size();i++) ww[i] = vv[i].get_ap_var_t();
 
 1448  a = ap_abstract1_expand(m.get_ap_manager_t(), 
true, &a,
 
 1449                          const_cast<ap_var_t
>(v.get_ap_var_t()),
 
 1451  m.raise(
"apron::abstract1::expand(manager&, const var&, const std::vector<var>&)");
 
 1455inline abstract1& 
expand(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
size_t size, 
const var vv[])
 
 1458    ap_abstract1_expand(m.get_ap_manager_t(), 
false,
 
 1459                        const_cast<ap_abstract1_t*
>(&src.a),
 
 1460                        const_cast<ap_var_t
>(v.get_ap_var_t()),
 
 1461                        reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(vv)),
 
 1463  m.raise(
"apron::expand(manager&, abstract1&, const abstract1&, const var&, size_t, const var[])",r);
 
 1464  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1469inline abstract1& 
expand(manager& m, abstract1& dst, 
const abstract1& src, 
const var& v, 
const std::vector<var>& vv)
 
 1471  ap_var_t ww[vv.size()];
 
 1472  for (
size_t i=0;i<vv.size();i++) ww[i] = vv[i].get_ap_var_t();
 
 1474    ap_abstract1_expand(m.get_ap_manager_t(), 
false,
 
 1475                        const_cast<ap_abstract1_t*
>(&src.a),
 
 1476                        const_cast<ap_var_t
>(v.get_ap_var_t()),
 
 1478  m.raise(
"apron::expand(manager&, abstract1&, const abstract1&, const var&, const std::vector<var>&)",r);
 
 1479  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1486inline abstract1& abstract1::fold(manager& m, 
size_t size, 
const var vv[])
 
 1488  a = ap_abstract1_fold(m.get_ap_manager_t(), 
true, &a,
 
 1489                        reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(vv)),
 
 1491  m.raise(
"apron::abstract1::fold(manager&, const var&, size_t, const var[])");
 
 1495inline abstract1& abstract1::fold(manager& m, 
const std::vector<var>& vv)
 
 1497  ap_var_t ww[vv.size()];
 
 1498  for (
size_t i=0;i<vv.size();i++) ww[i] = vv[i].get_ap_var_t();
 
 1499  a = ap_abstract1_fold(m.get_ap_manager_t(), 
true, &a, ww, vv.size());
 
 1500  m.raise(
"apron::abstract1::fold(manager&, const std::vector<var>&)");
 
 1504inline abstract1& 
fold(manager& m, abstract1& dst, 
const abstract1& src, 
size_t size, 
const var vv[])
 
 1507    ap_abstract1_fold(m.get_ap_manager_t(), 
false,
 
 1508                      const_cast<ap_abstract1_t*
>(&src.a),
 
 1509                      reinterpret_cast<ap_var_t*
>(
const_cast<var*
>(vv)),
 
 1511  m.raise(
"apron::fold(manager&, abstract1&, const abstract1&, size_t, const var[])",r);
 
 1512  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1517inline abstract1& 
fold(manager& m, abstract1& dst, 
const abstract1& src, 
const std::vector<var>& vv)
 
 1519  ap_var_t ww[vv.size()];
 
 1520  for (
size_t i=0;i<vv.size();i++) ww[i] = vv[i].get_ap_var_t();
 
 1522    ap_abstract1_fold(m.get_ap_manager_t(), 
false,
 
 1523                      const_cast<ap_abstract1_t*
>(&src.a),
 
 1525  m.raise(
"apron::fold(manager&, abstract1&, const abstract1&, const std::vector<var>&)",r);
 
 1526  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1535inline abstract1& 
widening(manager& m, abstract1& dst, 
const abstract1& x, 
const abstract1& y)
 
 1538    ap_abstract1_widening(m.get_ap_manager_t(),
 
 1539                          const_cast<ap_abstract1_t*
>(&x.a),
 
 1540                          const_cast<ap_abstract1_t*
>(&y.a));
 
 1541  m.raise(
"apron::widening(manager&, abstract1&, const abstract1&, const abstract1&)",r);
 
 1542  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1547inline abstract1& 
widening(manager& m, abstract1& dst, 
const abstract1& x, 
const abstract1& y, 
const lincons1_array& l)
 
 1550    ap_abstract1_widening_threshold(m.get_ap_manager_t(),
 
 1551                                    const_cast<ap_abstract1_t*
>(&x.a),
 
 1552                                    const_cast<ap_abstract1_t*
>(&y.a),
 
 1553                                    const_cast<ap_lincons1_array_t*
>(l.get_ap_lincons1_array_t()));
 
 1554  m.raise(
"apron::widening(manager&, abstract1&, const abstract1&, const abstract1&, const lincons1_array&)",r);
 
 1555  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1565inline abstract1& abstract1::closure(manager& m)
 
 1567  a = ap_abstract1_closure(m.get_ap_manager_t(), 
true, &a);
 
 1568  m.raise(
"apron::abstract1::closured(manager&)");
 
 1572inline abstract1& 
closure(manager& m, abstract1& dst, 
const abstract1& src)
 
 1575    ap_abstract1_closure(m.get_ap_manager_t(), 
false, 
const_cast<ap_abstract1_t*
>(&src.a));
 
 1576  m.raise(
"apron::closure(manager&, abstract1&, const abstract1&)",r);
 
 1577  ap_abstract1_clear(m.get_ap_manager_t(), &dst.a);
 
 
 1586inline ap_abstract1_t* abstract1::get_ap_abstract1_t()
 
 1590inline const ap_abstract1_t* abstract1::get_ap_abstract1_t()
 const 
abstract1 & rename(manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var oldv[], const var newv[])
Definition apxx_abstract1_inline.hh:1395
void printdiff(manager &m, const abstract1 &x, const abstract1 &y, FILE *stream=stdout)
Definition apxx_abstract1_inline.hh:348
abstract1 & meet(manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:657
abstract1 & closure(manager &m, abstract1 &dst, const abstract1 &src)
Definition apxx_abstract1_inline.hh:1572
abstract1 & fold(manager &m, abstract1 &dst, const abstract1 &src, size_t size, const var vv[])
Definition apxx_abstract1_inline.hh:1504
bool operator!=(const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:515
abstract1 & expand(manager &m, abstract1 &dst, const abstract1 &src, const var &v, size_t size, const var vv[])
Definition apxx_abstract1_inline.hh:1455
abstract1 & join(manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:704
bool operator<(const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:539
abstract1 & unify(manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:636
bool operator<=(const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:520
std::ostream & operator<<(std::ostream &os, const abstract1 &s)
Definition apxx_abstract1_inline.hh:362
static ap_abstract1_t * ap_abstract1_t_or_null(const abstract1 &i)
Definition apxx_abstract1_inline.hh:867
abstract1 & assign(manager &m, abstract1 &dst, const abstract1 &src, const var &v, const linexpr1 &l, const abstract1 &inter=abstract1::null)
Definition apxx_abstract1_inline.hh:918
abstract1 & add_rays(manager &m, abstract1 &dst, const abstract1 &x, const generator1_array &y)
Definition apxx_abstract1_inline.hh:798
bool operator>=(const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:529
bool operator>(const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:534
abstract1 & widening(manager &m, abstract1 &dst, const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:1535
abstract1 & substitute(manager &m, abstract1 &dst, const abstract1 &src, const var &v, const linexpr1 &l, const abstract1 &inter=abstract1::null)
Definition apxx_abstract1_inline.hh:1116
abstract1 & change_environment(manager &m, abstract1 &dst, const abstract1 &src, const environment &e, bool project=false)
Definition apxx_abstract1_inline.hh:1338
abstract1 & deserialize(manager &m, abstract1 &dst, const std::string &s, size_t *eaten=NULL)
Definition apxx_abstract1_inline.hh:384
abstract1 & minimize_environment(manager &m, abstract1 &dst, const abstract1 &src)
Definition apxx_abstract1_inline.hh:1358
bool operator==(const abstract1 &x, const abstract1 &y)
Definition apxx_abstract1_inline.hh:506
abstract1 & forget(manager &m, abstract1 &dst, const abstract1 &src, const var &v, bool project=false)
Definition apxx_abstract1_inline.hh:1294