gitfan.h
Go to the documentation of this file.
1 #ifndef GITFAN_H
2 #define GITFAN_H
3 
4 #include <kernel/mod2.h>
5 
6 #if HAVE_GFANLIB
7 
8 #include <bbcone.h>
9 #include <bbfan.h>
10 
11 #include <Singular/ipid.h>
12 
13 
14 namespace gitfan
15 {
16 
17  class facet
18  {
19  gfan::ZCone eta;
20  gfan::ZVector interiorPoint;
21  gfan::ZVector facetNormal;
22 
23  public:
24 
25  facet();
26  facet(const facet &f);
27  facet(const gfan::ZCone &c, const gfan::ZVector &v, const gfan::ZVector &w);
28  ~facet();
29 
30  gfan::ZCone getEta() { return this->eta; };
31  gfan::ZVector getInteriorPoint() { return this->interiorPoint; };
32  gfan::ZVector getFacetNormal() { return this->facetNormal; };
33 
34  friend struct facet_compare;
35  };
36 
38  {
39  bool operator()(const facet &f, const facet &g) const
40  {
41  const gfan::ZVector v1 = f.interiorPoint;
42  const gfan::ZVector v2 = g.interiorPoint;
43 #ifndef SING_NDEBUG
44  assume(v1.size() == v2.size());
45 #endif
46  return v1 < v2;
47  }
48  };
49 
50  typedef std::set<facet,facet_compare> facets;
51 
52  void mergeFacets(facets &F, const facets &newFacets);
53 
54 }
55 
57 #endif
58 
59 #endif
return P p
Definition: myNF.cc:203
f
Definition: cfModGcd.cc:4022
Definition: gitfan.cc:28
gfan::ZVector facetNormal
Definition: gitfan.h:21
gfan::ZCone eta
Definition: gitfan.h:19
g
Definition: cfModGcd.cc:4031
void mergeFacets(facets &F, const facets &newFacets)
Definition: gitfan.cc:80
gfan::ZVector getFacetNormal()
Definition: gitfan.h:32
#define assume(x)
Definition: mod2.h:394
std::set< facet, facet_compare > facets
Definition: gitfan.h:50
gfan::ZVector getInteriorPoint()
Definition: gitfan.h:31
const Variable & v
< [in] a sqrfree bivariate poly
Definition: facBivar.h:37
gfan::ZVector interiorPoint
Definition: gitfan.h:20
gfan::ZCone getEta()
Definition: gitfan.h:30
const CanonicalForm & w
Definition: facAbsFact.cc:55
void gitfan_setup(SModulFunctions *p)
Definition: gitfan.cc:371
bool operator()(const facet &f, const facet &g) const
Definition: gitfan.h:39