Matvec: Porovnání verzí

Z GeoWikiCZ
m (plus plus -> ++)
(Aktualizován text popisu knihovny a doplněn odkaz na matvec.zip na serveru geo.fsv.cvut.cz)
 
(Nejsou zobrazeny 3 mezilehlé verze od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
Matvec je malá C++ knihovna template tříd a funkcí, která je samostatnou součástí projektu [http://www.gnu.org/software/gama GNU Gama]. Knihovna <tt>matvec</tt> je součástí distribuce GNU Gama, poslední verzi lze získat také  z CVS archivu příkazem
'''Matvec''' je malá C++ knihovna template tříd a funkcí, která je samostatnou součástí projektu [http://www.gnu.org/software/gama GNU Gama], poslední verzi lze získat z git archivu příkazem


  cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/gama co gama/lib/matvec
  git clone git://git.sv.gnu.org/gama.git
 
Knihovna <tt>matvec</tt> se nachází v adresáři <tt>gama/lib/matvec/</tt>. 
Knihovnu <tt>matvec</tt> lze také získat samostatně jako zip soubor z adresy [http://geo.fsv.cvut.cz/user/gin/git3/ http://geo.fsv.cvut.cz/user/gin/git3/].  Adresář knihovny <tt>matvec/</tt> stačí nakopírovat do adresáře projektu založeného ve výjovém prostředí [[Qt Creator]].


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


  namespace GNU_gama {
  namespace GNU_gama {
Řádek 45: Řádek 48:
  }
  }


Třída <tt>Exception::base</tt> je zde definována pro 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.  
Třída <tt>Exception::base</tt> 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.  
 
;poznámka: Starší verze knihovny byly definováný v prostoru jmen <tt>gMatVec</tt> a používaly též jiné umístění hlavičkových souborů. Při přechodu na novou verzi knihovny <tt>matvec</tt> je proto nutné změnit následující jména, například pomocí dávkového editoru [http://www.gnu.org/software/sed/ sed]
 
        s/gmatvec/matvec/g
        s/gMatVec/GNU_gama/g
        s/Exception/Exception::matvec/g


;příklady: [[C++ Bc. 1 cpp|1]] &nbsp; [[C++ Bc. 2 cpp|2]] &nbsp; [[C++ Bc. 4 cpp|4]] &nbsp; [[C++ Bc. 10 cpp|10]] &nbsp;  [[C++ Bc. 14 cpp|14]] &nbsp;
;příklady: [[C++ Bc. 1 cpp|1]] &nbsp; [[C++ Bc. 2 cpp|2]] &nbsp; [[C++ Bc. 4 cpp|4]] &nbsp; [[C++ Bc. 10 cpp|10]] &nbsp;  [[C++ Bc. 14 cpp|14]] &nbsp;
;matvec-demo: [http://gama.fsv.cvut.cz/~cepek/gama/archive/matvec/ http://gama.fsv.cvut.cz/~cepek/gama/archive/matvec/]


[[Category:Programování]]
[[Category:Programování]]
[[Category:GNU]]

Aktuální verze z 15. 3. 2018, 11:26

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.

příklady
1   2   4   10   14