811{
812 const bool inExtension = false;
813 try
814 {
816 if (P == nullptr)
817 {
818 ERROR(
"expected polynomial ring");
819 return nullptr;
820 }
821
823
825 if (foo.mode ==
modeError)
return nullptr;
827 {
828 ERROR("not implemented yet");
829 return nullptr;
830 }
831
832 CFList I;
833 for (
int i = 0; i < M->
n_rows(); i++)
834 {
835 for (
int j = 0; j < M->
n_cols(); j++)
836 {
838 {
840 }
842 }
843 }
844
845 List<CFList> t = irrCharSeries(I);
846
847 engine_RawMatrixArray
result =
850
851 int next = 0;
852 for (ListIterator<List<CanonicalForm> > ii = t; ii.hasItem(); ii++)
853 {
854 CFList u = ii.getItem();
855 engine_RawRingElementArray result1 =
857 result1->len = u.length();
858 int next1 = 0;
859 for (ListIterator<CanonicalForm> j = u; j.hasItem(); j++)
860 {
861 result1->array[next1++] =
convertToM2(P, j.getItem());
862 if (
error())
return nullptr;
863 }
866 }
867
870 {
872 return nullptr;
873 }
874}
const Ring * get_ring() const
ring_elem elem(int i, int j) const
const FreeModule * rows() const
Abstract base for the engine's polynomial-ring hierarchy.
virtual const PolynomialRing * cast_to_PolynomialRing() const
static RingElement * make_raw(const Ring *R, ring_elem f)
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
static const RingElement * convertToM2(const PolynomialRing *R, CanonicalForm h)
static CanonicalForm convertToFactory(mpz_srcptr p)
const Matrix * IM2_Matrix_make1(const FreeModule *target, int ncols, const engine_RawRingElementArray M, int preference)
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define getmemarraytype(S, len)