684 {
685
686
687
689 {
692 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingZZpFlint>*
>(R)->
ring()};
693 break;
696 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingGFFlintBig>*
>(R)->
ring()};
697 break;
700 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingGFFlint>*
>(R)->
ring()};
701 break;
704 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingQQGMP>*
>(R)->
ring()};
705 break;
708 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingZZpFFPACK>*
>(R)->
ring()};
709 break;
712 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingZZp>*
>(R)->
ring()};
713 break;
716 {R, &
dynamic_cast< const M2::ConcreteRing<M2::ARingGFM2>*
>(R)->
ring()};
717 break;
721 else
722 {
723 std::cout << "Using GC ring in VectorArithmetic." << std::endl;
725 }
726 break;
727 default:
728
729
730 std::cerr << "*** error! *** ring ID not found....!" << std::endl;
732 }
733 }
virtual M2::RingID ringID() const
const CoefficientRingR * getCoefficientRingR() const
virtual const Z_mod * cast_to_Z_mod() const
const Ring * ring() const
CoefficientRingZZp * get_CoeffRing() const
@ ring_old
refers to all rings which are not ConcreteRing's.