Slate++ Version 1.2
- New to Slate++ 1.2
- COPYRIGHT
New to Slate++ 1.2
The copy constructor and assignment ("=") now peform a deep copy by value. In version 1.0, they copied by reference. This new convention parallels object-oriented standards in C++, and should make Slate++ easier to use with other C++ software. To copy by reference, one should use standard C++ conventions. A tutorial section describing passing Matrix and Vector objects in functions by value and by reference is included.
Try/catch mechanisms have been put into the slate++ code, to throw exceptions for operations on non-conformant matrices or vectors (i.e., those that have unmatching sizes). Throwing exceptions is good practice for writing robust code, and gives flexibility to the designer in dealing with errors. A small tutorial section has been included on throwing exceptions.
All element references in Vectors and Matrices use the notation (i,j) and (i). The C-style notations [][] and [] have been eliminated for now. They may be reinstated in later releases.
Linear algebra routines now use pass-by-reference correctly, using the new convention for the copy constructor.
COPYRIGHT
Slate++
Copyright (C) 2003 Brian Thorndyke <thorndyb@phys.ufl.edu>
Robert Thorndyke <rthorndy@camosun.bc.ca>
You can redistribute Slate++ and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Slate++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this distribution in the file GPL; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
