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

◆ rawARingTower2()

const Ring * rawARingTower2 ( const Ring * R1,
M2_ArrayString new_names )

Definition at line 321 of file aring.cpp.

323{
324 try
325 {
327 dynamic_cast<const M2::ConcreteRing<M2::ARingTower> *>(R1);
328 if (K == nullptr)
329 {
330 ERROR("expected a tower ring");
331 return nullptr;
332 }
333 const M2::ARingTower &A = K->ring();
334
335 auto new_varnames = M2_ArrayString_to_stdvector(new_names);
336 M2::ARingTower *T = M2::ARingTower::create(A, new_varnames);
338 std::unique_ptr<M2::ARingTower>(T));
339 } catch (const exc::engine_error& e)
340 {
341 ERROR(e.what());
342 return nullptr;
343 }
344}
static ARingTower * create(const BaseRingType &baseRing, const std::vector< std::string > &names)
aring-style coefficient ring for tower polynomial rings (Z/p)[x_0][x_1]...[x_{n-1}...
const RingType & ring() const
static ConcreteRing< RingType > * create(std::unique_ptr< RingType > R)
const int ERROR
Definition m2-mem.cpp:55
#define T
Definition table.c:13
void M2_ArrayString_to_stdvector(M2_ArrayString strs, std::vector< std::string > &result)
Definition util.hpp:52

References M2::ARingTower::create(), M2::ConcreteRing< RingType >::create(), ERROR, M2_ArrayString_to_stdvector(), M2::ConcreteRing< RingType >::ring(), and T.