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

◆ rawARingTower1()

const Ring * rawARingTower1 ( const Ring * R1,
M2_ArrayString names )

Definition at line 296 of file aring.cpp.

297{
298 try
299 {
301 dynamic_cast<const M2::ConcreteRing<M2::ARingZZpFFPACK> *>(K);
302 if (Kp == nullptr)
303 {
304 ERROR("expected a base ring ZZ/p");
305 return nullptr;
306 }
307 const M2::ARingZZpFFPACK &A = Kp->ring();
308
309 // Get the names into the correct form:
310 auto varnames = M2_ArrayString_to_stdvector(names);
313 std::unique_ptr<M2::ARingTower>(T));
314 } catch (const exc::engine_error& e)
315 {
316 ERROR(e.what());
317 return nullptr;
318 }
319}
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}...
wrapper for the FFPACK::ModularBalanced<double> field implementation
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.