File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed
Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -386,6 +386,7 @@ namespace poly {
386386 for (std::size_t i = 0 ; i < size; ++i) {
387387 res.emplace_back (tmp[i]);
388388 }
389+ tmp.clear ();
389390 return res;
390391 }
391392
@@ -400,6 +401,7 @@ namespace poly {
400401 for (std::size_t i = 0 ; i < size; ++i) {
401402 res.emplace_back (tmp[i]);
402403 }
404+ tmp.clear ();
403405 return res;
404406 }
405407
Original file line number Diff line number Diff line change @@ -100,16 +100,19 @@ namespace poly {
100100 }
101101
102102 std::vector<Integer> coefficients (const UPolynomial& p) {
103- lp_integer_t coeffs[degree (p) + 1 ];
103+ std::vector<lp_integer_t > coeffs;
104+ lp_integer_t *tmp = nullptr ;
104105 for (std::size_t i = 0 ; i < degree (p) + 1 ; ++i) {
105- lp_integer_construct_from_int (lp_Z, &coeffs[i], 0 );
106+ lp_integer_construct_from_int (lp_Z, tmp, 0 );
107+ coeffs.push_back (*tmp);
106108 }
107- lp_upolynomial_unpack (p.get_internal (), coeffs);
109+ lp_upolynomial_unpack (p.get_internal (), coeffs. data () );
108110 std::vector<Integer> res;
109111 for (std::size_t i = 0 ; i < degree (p) + 1 ; ++i) {
110112 res.emplace_back (&coeffs[i]);
111113 lp_integer_destruct (&coeffs[i]);
112114 }
115+ coeffs.clear ();
113116 return res;
114117 }
115118
You can’t perform that action at this time.
0 commit comments