Index: xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.cpp |
diff --git a/xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.cpp b/xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.cpp |
index ee22390df65613cab63a8a27baf8d4a291c548e7..b3c4326ed6ba412872e61b9672d3f0cdc1e646bc 100644 |
--- a/xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.cpp |
+++ b/xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.cpp |
@@ -213,21 +213,23 @@ CBC_ReedSolomonGF256Poly* CBC_ReedSolomonGF256Poly::MultiplyByMonomial( |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
return temp; |
} |
-CFX_PtrArray* CBC_ReedSolomonGF256Poly::Divide(CBC_ReedSolomonGF256Poly* other, |
- int32_t& e) { |
+ |
+CFX_ArrayTemplate<CBC_ReedSolomonGF256Poly*>* CBC_ReedSolomonGF256Poly::Divide( |
+ CBC_ReedSolomonGF256Poly* other, |
+ int32_t& e) { |
if (other->IsZero()) { |
e = BCExceptionDivideByZero; |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
} |
std::unique_ptr<CBC_ReedSolomonGF256Poly> quotient( |
m_field->GetZero()->Clone(e)); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
std::unique_ptr<CBC_ReedSolomonGF256Poly> remainder(Clone(e)); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
int32_t denominatorLeadingTerm = other->GetCoefficients(other->GetDegree()); |
int32_t inverseDenominatorLeadingTeam = |
m_field->Inverse(denominatorLeadingTerm, e); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
while (remainder->GetDegree() >= other->GetDegree() && !remainder->IsZero()) { |
int32_t degreeDifference = remainder->GetDegree() - other->GetDegree(); |
int32_t scale = |
@@ -235,20 +237,22 @@ CFX_PtrArray* CBC_ReedSolomonGF256Poly::Divide(CBC_ReedSolomonGF256Poly* other, |
inverseDenominatorLeadingTeam); |
std::unique_ptr<CBC_ReedSolomonGF256Poly> term( |
other->MultiplyByMonomial(degreeDifference, scale, e)); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
std::unique_ptr<CBC_ReedSolomonGF256Poly> iteratorQuotient( |
m_field->BuildMonomial(degreeDifference, scale, e)); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
quotient.reset(quotient->AddOrSubtract(iteratorQuotient.get(), e)); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
remainder.reset(remainder->AddOrSubtract(term.get(), e)); |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
} |
- CFX_PtrArray* tempPtrA = new CFX_PtrArray; |
+ CFX_ArrayTemplate<CBC_ReedSolomonGF256Poly*>* tempPtrA = |
+ new CFX_ArrayTemplate<CBC_ReedSolomonGF256Poly*>(); |
tempPtrA->Add(quotient.release()); |
tempPtrA->Add(remainder.release()); |
return tempPtrA; |
} |
+ |
CBC_ReedSolomonGF256Poly::~CBC_ReedSolomonGF256Poly() { |
m_coefficients.RemoveAll(); |
} |