Matvec

Z GeoWikiCZ

Matvec je malá C++ knihovna template tříd a funkcí, která je samostatnou součástí projektu GNU Gama. Knihovna matvec je součástí distubuce GNU Gama, poslední verzi lze získat také z CVS archivu příkazem

cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/gama co gama/matvec

Všechny objekty knihovny matvec jsou definovány v prostoru jmen GNU_Gama, implicitní výjimka je v šablonách definována jako třída GNU_Gama::Exception::matvec.

namespace GNU_gama {
  namespace Exception {

    enum
      {
        BadRank,
        BadIndex,
        Singular,
        BadRegularization,
        NoConvergence,
        ZeroDivision,
        NonPositiveDefinite,
        NotImplemented,
        StreamError
      };

    class base {
    public:
      virtual ~base()
      {
      }
    };

    class matvec : public base
    {
    public:
      const int    error;
      const char*  description;

      matvec(int e, const char* t) : error(e), description(t)
      {
      }
    };
  }
}

Třída Exception::base je zde definována pro jako bázová třída všech výjimek v projektu GNU Gama.

poznámka
Starší verze knihovny byly definováný v prostoru jmen gMatVec a používaly též jiné umístění hlavičkových souborů. Při přechodu na novou verzi knihovny matvec> je proto nutné změnit následující jména, například pomocí dávkového editoru sed
        s/gmatvec/matvec/g
        s/gMatVec/GNU_gama/g
        s/Exception/Exception::matvec/g