Macaulay2 Engine
Loading...
Searching...
No Matches

◆ initialize()

bool Tower::initialize ( long charac0,
M2_ArrayString names0,
const VECTOR(ring_elem) & extensions )
protected

Definition at line 15 of file tower.cpp.

18{
19 initialize_ring(charac0);
21
22 names = names0;
23 nvars = names->len;
24 level = nvars - 1;
25
26 // Translate extensions to poly's
27 if (extensions.size() == 0)
28 {
29 D = DRing::create(charac0, nvars, nullptr);
30 }
31 else
32 {
33 TowerPolynomial* exts = new TowerPolynomial[extensions.size()];
34 for (int i = 0; i < extensions.size(); i++)
35 exts[i] = reinterpret_cast<TowerPolynomial>(extensions[i].poly_val);
36 D = DRing::create(charac0, nvars, exts);
37 delete[] exts;
38 }
39
40 zeroV = from_long(0);
41 oneV = from_long(1);
43
44 return true;
45}
static DRing * create(long p, int nvars0, const TowerPolynomial *ext0)
Definition dpoly.cpp:1494
ring_elem minus_oneV
Definition ring.hpp:131
void initialize_ring(long charac, const PolynomialRing *DR=nullptr, const std::vector< int > &heft_vec={})
Definition ring.cpp:30
ring_elem oneV
Definition ring.hpp:130
bool declare_field()
Definition ring.cpp:69
ring_elem zeroV
Definition ring.hpp:129
DRing * D
Definition tower.hpp:66
int level
Definition tower.hpp:61
int nvars
Definition tower.hpp:62
virtual ring_elem from_long(long n) const
Definition tower.cpp:106
M2_ArrayString names
Definition tower.hpp:64

References DRing::create(), D, Ring::declare_field(), from_long(), Ring::initialize_ring(), level, Ring::minus_oneV, names, nvars, Ring::oneV, and Ring::zeroV.