3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 03:07:07 +00:00

Remove unnecessary null pointer checks

This commit is contained in:
Lev Nachmanson 2019-03-22 09:43:34 -07:00
parent eae4fd6afd
commit 6e5d0b7594
5 changed files with 8 additions and 14 deletions

View file

@ -421,9 +421,10 @@ public:
unsigned leaving = trace_of_basis_change[i+1];
cs.change_basis_unconditionally(entering, leaving);
}
if (cs.m_factorization != nullptr)
if (cs.m_factorization != nullptr) {
delete cs.m_factorization;
cs.m_factorization = nullptr;
cs.m_factorization = nullptr;
}
} else {
indexed_vector<L> w(cs.m_A.row_count());
// the queues of delayed indices

View file

@ -127,9 +127,8 @@ public:
void init();
virtual ~lp_core_solver_base() {
if (m_factorization != nullptr)
delete m_factorization;
}
delete m_factorization;
}
vector<unsigned> & non_basis() {
return m_nbasis;

View file

@ -34,9 +34,7 @@ class lp_dual_simplex: public lp_solver<T, X> {
vector<bool> m_can_enter_basis;
public:
~lp_dual_simplex() override {
if (m_core_solver != nullptr) {
delete m_core_solver;
}
delete m_core_solver;
}
lp_dual_simplex() : m_core_solver(nullptr) {}

View file

@ -263,9 +263,7 @@ template <typename T, typename X> void lp_primal_simplex<T, X>::solve_with_total
template <typename T, typename X> lp_primal_simplex<T, X>::~lp_primal_simplex() {
if (m_core_solver != nullptr) {
delete m_core_solver;
}
delete m_core_solver;
}
template <typename T, typename X> bool lp_primal_simplex<T, X>::bounds_hold(std::unordered_map<std::string, T> const & solution) {

View file

@ -86,9 +86,7 @@ template <typename T, typename X> int lp_solver<T, X>::get_column_index_by_name(
template <typename T, typename X> lp_solver<T, X>::~lp_solver(){
if (m_A != nullptr) {
delete m_A;
}
delete m_A;
for (auto t : m_map_from_var_index_to_column_info) {
delete t.second;
}