All Downloads are FREE. Search and download functionalities are using the official Maven repository.

z3-z3-4.13.0.src.math.lp.indexed_value.h Maven / Gradle / Ivy

The newest version!
/*++
Copyright (c) 2017 Microsoft Corporation

Module Name:

    

Abstract:

    

Author:

    Lev Nachmanson (levnach)

Revision History:


--*/
#pragma once

namespace lp {
template 
class indexed_value {
public:
    T m_value;
    // the idea is that m_index for a row element gives its column, and for a column element its row
    unsigned m_index;
    // m_other is the offset of the corresponding element in its vector : for a row element it points to the column element offset,
    // for a column element it points to the row element offset
    unsigned m_other;
    indexed_value() {}

    indexed_value(T v, unsigned i, unsigned other) :
        m_value(v), m_index(i), m_other(other) {
    }

    const T & value() const {
        return m_value;
    }

    void set_value(T val) {
        m_value = val;
    }
};
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy