Matvec
Matvec je malá C++ knihovna template tříd a funkcí, která je samostatnou součástí projektu GNU Gama, poslední verzi lze získat z git archivu příkazem
git clone git://git.sv.gnu.org/gama.git
Knihovna matvec se nachází v adresáři gama/lib/matvec/. Knihovnu matvec lze také získat samostatně jako zip soubor z adresy http://geo.fsv.cvut.cz/user/gin/git3/. Adresář knihovny matvec/ stačí nakopírovat do adresáře projektu založeného ve výjovém prostředí Qt Creator.
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 { typedef size_t Index; 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 jako bázová třída všech výjimek v projektu GNU Gama. Výčtový typ umožňuje spolu s popisem bližší specifikaci vyvolané výjimky.