--- libtnt-1.2.6.orig/README
+++ libtnt-1.2.6/README
@@ -0,0 +1,3 @@
+TNT algorithms and classes are all in header files --there are no libraries to build!
+
+TNT algorithms and classes are in /usr/include/tnt
--- libtnt-1.2.6.orig/Changes
+++ libtnt-1.2.6/Changes
@@ -0,0 +1,298 @@
+lynx -dump http://math.nist.gov/tnt/history.html > Changes
+
+   [1]TNT 
+
+                       [2]Template Numerical Toolkit 
+   [3][Home] [4][Overview] [5][Examples] [6][Documentation] [7][Download]
+     _________________________________________________________________
+
+   Revision History
+
+05/31/05: TNT Update (version 1.2.6)
+
+     * bug fix in subarray() primtive.
+
+04/12/05: Jama Update (version 1.2.3)
+
+     * updated LU getPivot() routine.
+
+02/11/05: TNT Update (version 1.2.5)
+
+     * replaced DEBUG macros in tnt_array1d.h and tnt_fortran_array1d.h
+       with TNT_DEBUG macros.
+
+11/16/04: TNT Update (version 1.2.4)
+
+     * replaced "data" with "data_" in internal tnt_i_revec.h routines.
+       (Does not affect public interface or implementation.)
+     * changed all occurences of "endl" with "\n".
+
+11/12/04: Jama Update (version 1.2.3)
+
+     * replaced bitwise OR with boolean OR in SVD routine. (Does not
+       affect correctness, but better programming practice.)
+     * removed max and min functions from tnt_math_utils.h to avoid
+       conflict with ANSI C++ definitions.
+
+09/17/04: TNT Update (version 1.2.2)
+
+     * fixed bug in internal vector representation tnt_i_vecref function
+       is_null().
+
+05/04: TNT Update (version 1.2.1)
+
+     * made Stopwatch constructor inline to avoid collisions when linking
+       multiple TNT object files on some compilers.
+     * fixed copy_() method in internal implementation
+
+06/03: TNT Version 1.2 (interface update)
+
+     * New Features:
+          + added Array operators +,-,*,/,+=,-=,*=,/= to all TNT arrays
+          + auto conversion to T** for Array2D< T >, and T*** for
+            Array3D< T >, as well as const versions.
+     * Bug fixes, updates
+          + fixed memory leak in array allocation from external (to TNT)
+            data.
+          + updated deprecated strstream interface in tnt_vec.h and
+            tnt_cmath.h
+          + arrays now handle 0-length dimensions properly
+          + fixed operator=(scalar) in 2D and 3D Fortran arrays.
+          + made copy() methods of Fortran arrays const
+
+03/03: Linear Algebra Update (Jama v. 1.2.1)
+
+     * fixed bug in QR solver
+
+01/03: Linear Algebra Update (Jama v. 1.2) (interface update)
+
+     * added LU solver
+     * fixed bug in SVD solver
+     * added special-case solvers for 1-d vectors
+
+08/02: TNT Version 1.1
+
+     * 08/31/02 (v. 1.1.1): fixed matmult bug in tnt_array2d_utils.h
+
+06/02: TNT Version 1.0 (interface update)
+
+     * Distinguishes between TNT interface and implemetations. There can
+       be several implementations that incorporate the TNT interface.
+       This site provides a reference implementation which is portable
+       and usable, but developers are encouraged to create others which
+       take advantage of specific features and optimziation strategies,
+       such as the BLAS, or expression templates.
+     * New multidimensional arrays: Array1D, Array2D, Array3D,
+       Fortran_Array1D, Fortran_Array2D, Fortran_Array3D
+          + Arrays are pass-by-reference, employ shallow-assignment, and
+            utilize reference-counting to manage memory storage. This
+            allows one to return arrays from functions without relying on
+            advanced compiler optimizations to avoid excess copying.
+               o Fortran Arrays utilize A(i,j) indexing with A(1,1) as
+                 the first element, and employ "column-major" ordering.
+                 The internal storage is contiguous.
+               o Arrays utilize A[i][j] indexing with A[0][0] as the
+                 first element, and employ "row-major" ordering. The
+                 internal storage is contiguous, so rows cannot be
+                 aliased.
+          + Arrays will eventually replace the Vector, Matrix objects
+            from previous versions. (These are maintained in the current
+            release for bakcward compatibility, but will be deprecated in
+            future verions.)
+          + Arrays do not overlap memory storage (i.e. Regions are not
+            supported). This simplifies the interface and allows
+            algorithms using TNT arrays to employ aliasing optimizations
+            that were not possible before.
+     * New QR, Cholesky, SVD algorithms. The SVD and QR factorizations
+       work with non-square matrices with m >= n.
+     * New eigenvalue/eigenvector solver for real general (symmetric and
+       non-symmetric) matrices.
+     * New documentation, generated with Doxygen.
+     * file names are in the form "tnt_array2d.h", rather than
+       "tnt/array2d.h". This avoids having to put TNT header files in
+       their own directory.
+     * Stopwatch timing object has slightly different semantics. The
+       start() operation resets the clock to 0.00. See documentation for
+       details.
+     * Deprecated features: (to be removed in future versions)
+          + TNT:Vector and TNT::Matrix classes: these were pass-by-value
+            classes, which unfortunately many compiler still cannot
+            optimize adequately. In particular, on many platforms it was
+            still expensive to return a TNT::Vector or TNT::Matrix from a
+            function, although the copying could be avoided. To address
+            this issue, the new Array classes utilize shallow assignment
+            (like C strings) to minimize the overhead.
+          + TNT::Region classes: these are rarely needed by users and
+            complicate the interface and implementation, but most
+            importantly they allow for overlapping of memory locations
+            among separate objects, which limits important compiler
+            optimizations.
+
+08/00: Version 0.9.4
+
+     * TNT include files are in their own subdirectory (e.g. tnt/vec.h,
+       tnt/cmat.h).
+     * NIST disclaimer attached to each TNT file.
+     * some default initalizers were changed from T(0) to T().
+
+09/99: Version 0.9.3
+
+     * fixed operator)) in vec.h.
+     * fixed example in lu.cc, qr.cc, tlapack.cc,
+     * fixed comment in cmatreg.cc.
+     * upated template Matrix argument in qr.h.
+
+   Version 0.9 of the Template Numerical Toolkit represents a significant
+   update achieving ANSI C++ compatibility. Numerous users are now using
+   or are in the process of upgrading to new ANSI compliant C++ compilers
+   and this release reflects that change. This version of TNT was
+   developed and tested with Microsoft Visual C++ 5.0 but should compile
+   with any ANSI C++ compiler (see [8]compilation notes below) .
+
+   In particular, the compiler must support templates, namespaces, the
+   typename modifier, and portions of the Standard Template Library
+   (STL). Some examples make use of the standard valarray<> class. Most
+   of the ANSI changes to TNT consist of typename modifiers, filename
+   updates (e.g. < strstream.h > became < sstream >), replacement of the
+   former TNT DComplex class with the standard complex < double >, and
+   the renaming of template arguments. The majority of these changes to
+   TNT were postponed until ratification of the C++ standard by the ANSI
+   committee and the availability of real compilers supporting these new
+   features.
+
+   Note that the scope of these changes implies that earlier compilers
+   (e.g. gcc 2.7, Watcom 10.0) will NOT work with the new version of TNT.
+   (If your compiler is not ANSI compatible, contact your compiler
+   vendor.)
+
+   NOTE: Neither g++ 2.8.1 or egcs 1.0.2 support ANSI C++ namespaces,
+   hence will NOT be able to compile TNT 0.9.
+
+   New Features:
+    1. ANSI C++ compatibility: should work with most updated C++
+       compilers, including Microsoft VC++ 5.0 (see notes.)
+    2. TNT namespace: all TNT classes and functions use their own
+       namespace, to avoid naming collision with other packages. (New
+       names are given below.) Some examples use the TNT:: prefix, while
+       most use using namespace TNT; near the begining of the program to
+       allow shorter names.
+    3. TNT container adaptors now work with ANSI valarray<> class : Our
+       Vector_adaptor<> class (formerly known as TNT_Vector<>) transforms
+       an STL-like vector class into something more suitable for
+       numerics. In particular, it adds features such as
+          + optional bounds check (via compile-time TNT_BOUNDS_CHECK
+            macro)
+          + Fortran-like 1-based offsets (using "(i)" rather than "[i]")
+          + regions, e.g. A(Index(1,10)) = ...
+          + initialization from strings
+          + simple I/O for streams
+       In this way, one could change the internal class for memory
+       managment (say, utilizing a special memory allocator for imbedded
+       systems) yet still retain TNT's features for matrix/vector
+       computing. TNT's original scheme used begin()/end() methods,
+       patterned after the STL container methods. Since then, however,
+       several vector-like classes (including ANSI's own valarray<>
+       class) have evolved away from these methods. The new version of
+       TNT::Vector_adaptor<> does not rely on begin()/end(). (See
+       [9]tntvec3.cc example.)
+    4. TNT documentation now includes the output files from the examples.
+       (See [10]below.)
+
+   Changes: 
+    1. New class names: Using a separate namespace allows us to simplify
+       some of the naming schemes, so we took the opportunity to clean up
+       the rest of the TNT classes and functions to give them a more
+       consistent look. In particular, the old C_matrix<> class that
+       provided C-like array access (0-offset, [i][j] indexing) is now
+       simply called Matrix<>.
+
+   Old name
+   (Ver. 0.8)
+   New name 
+   (Ver. 0.9)
+      Subscript                       TNT::Subscript
+      Vector<>                        TNT::Vector<>
+      C_matrix<>                      TNT::Matrix<>
+      Fortran_matrix<>                TNT::Fortran_Matrix<>
+      TNT_Vector<>                    TNT::Vector_Adaptor<>
+      Fortran_sparse_vector<>         TNT::Fortran_Sparse_Vector<>
+      Fortran_compressed_col_matrix<> TNT::Fortran_Sparse_Col_Matrix<>
+      Region1D                        TNT::Region1D
+      Region2D                        TNT::Region2D
+      Stopwatch                       TNT::Stopwatch
+      seconds( )                      TNT::seconds( )
+      DComplex                        complex< double >
+
+    2. DComplex no longer supported: During the period that complex
+       number support was inconsistent among C++ compilers, we included
+       an intermediate datatype, DComplex, to cloak the underlying
+       double-precision complex class name, so that TNT code would look
+       somewhat uniform. With new compilers supporting the ANSI complex<>
+       standard, there is no longer a need for this, and it has therefore
+       been dropped.
+    3. Fortran 77 interfaces no longer supported: There is still no
+       standard methodology for intergrating C/C++ and Fortran on similar
+       platforms. Each compiler relies on various tweaks with underscores
+       and argument massaging. Character string arguments often do not
+       work and often there is confusion at link time about which system
+       libraries to use. On Windows95/NT systems the situation is even
+       worse, due to several incompatible argument-passing schemes (e.g.
+       STDCALL, FORTRAN, PASCAL, CDECL, etc.). There are some
+       [11]examples of f77 calls to the BLAS and LAPACK, but these are
+       included only for demonstration and are not part of TNT. Such
+       interfaces are not difficult to develop for your own platform, but
+       we just do not have the time to provide this support for every
+       system.
+
+   Other fixes and updates:
+    1. Several of the templated functions used "Matrix" and "Vector"
+       dummy arguments that caused some confusion with the native classes
+       of TNT. These these dummy arguments have been replaced with
+       "MaTRix" and "VecToR".
+    2. "Subscript Nmod4 = N & 4" was changed to "N % 4" in vec.h, cmat.h,
+       and fmat.h.
+    3. Several of the TNT examples, use the setf() stream modifier to
+       produce formatted output.
+    4. Version macros in "version.h" file are now characters. Added
+       TNT_VERSION_STRING macro (e.g. "0.9.0") for easy identification,
+    5. Removed _NEEDS_ABS_MIN_ macro from tntmath.h. All of these
+       functions are now in the TNT namespace.
+    6. Added "X(const &X)" constructor to fcscmat.h
+
+   Compilation Notes
+   
+   NOTE: Neither g++ 2.8.1 or egcs 1.0.2 support ANSI C++ namespaces,
+   hence will NOT be able to compile TNT 0.9.
+   
+   This version of TNT has been tested using Microsoft Visual C++ v. 5.0,
+   for which you will need to use the following flags:
+     * -GX, since exceptions are not called (will supress warnings)
+     * -TP, since C++ filename sources have .cc extensions
+       
+   Also, be aware that examples using the ANSI C++ valarray class (e.g.
+   [12]tntvec3.cc) may generate spurious warnings. 
+
+   We would appreciate feedback on using/compiling TNT for other ANSI C++
+   compatible platforms.
+     _________________________________________________________________
+
+   [13]TNT Home Page
+
+   [14]Roldan Pozo
+
+References
+
+   1. http://math.nist.gov/tnt
+   2. http://math.nist.gov/tnt
+   3. http://math.nist.gov/tnt/index.html
+   4. http://math.nist.gov/tnt/overview.html
+   5. http://math.nist.gov/tnt/examples.html
+   6. http://math.nist.gov/tnt/documentation.html
+   7. http://math.nist.gov/tnt/download.html
+   8. http://math.nist.gov/tnt/history.html#compilation_notes
+   9. http://math.nist.gov/tnt/src/tntvec3.cc
+  10. http://math.nist.gov/tnt/history.html#examples
+  11. http://math.nist.gov/tnt/examples.html#lapack
+  12. http://math.nist.gov/tnt/src/tntvec3.cc
+  13. http://math.nist.gov/tnt/index.html
+  14. http://math.nist.gov/pozo
--- libtnt-1.2.6.orig/examples
+++ libtnt-1.2.6/examples
@@ -0,0 +1,52 @@
+lynx -dump http://math.nist.gov/tnt/examples.html > examples
+
+   [1]TNT 
+
+                       [2]Template Numerical Toolkit 
+   [3][Home] [4][Overview] [5][Examples] [6][Documentation] [7][Download]
+     _________________________________________________________________
+
+   Examples
+     * Creating arrays and accessing elements:
+
+#include <tnt/tnt.h>
+using namespace TNT;
+
+
+   Array2D< double > A(M,N) = 0.0;      /* create MxN array; all zeros */
+
+   for (i=0; i < M; i++)
+      for (j=0; j < N; j++)
+          A[i][j] = f(i,j);              /* initalize array values */
+
+   Array2D< double > B = A.copy();       /* create a new copy */
+
+   Array2D< double > C(B);               /* create a new view of B */
+                                         /* Both arrays (B & C) share data */
+
+
+
+     * Declarations
+   Array2D< double > A;              /* initalize null (empty) array */
+   Array2D< double > B(M,N);         /* create an MxN array; uninitalized*/
+   Array2D< double > C(M,N) = 0.0;   /* create an MxN array; all zeros */
+     * Assignments
+   A[i][j] = 3.13;                           /* individual element assignment */
+   A = B;                                    /* shallow array assignment */
+   A = B.copy();                             /* explicit array copy */
+         _____________________________________________________________
+
+       [8]TNT Home Page
+       [9]Roldan Pozo
+
+References
+
+   1. http://math.nist.gov/tnt
+   2. http://math.nist.gov/tnt
+   3. http://math.nist.gov/tnt/index.html
+   4. http://math.nist.gov/tnt/overview.html
+   5. http://math.nist.gov/tnt/examples.html
+   6. http://math.nist.gov/tnt/documentation.html
+   7. http://math.nist.gov/tnt/download.html
+   8. http://math.nist.gov/tnt/index.html
+   9. http://math.nist.gov/pozo
--- libtnt-1.2.6.orig/debian/copyright
+++ libtnt-1.2.6/debian/copyright
@@ -0,0 +1,34 @@
+This debian package was created by
+Anibal Monsalve Salazar <anibal@debian.org>.
+
+It is maintained by Juan Esteban Monsalve Tobon <esteban@v7w.com>.
+
+TNT is not subject to copyright protection and is in the public domain.
+
+The upstream author is Roldan Pozo <pozo@nist.gov>.
+
+TNT was downloaded from http://math.nist.gov/tnt/ as two separate archive files:
+
+http://math.nist.gov/tnt/tnt_126.zip
+http://math.nist.gov/tnt/tnt120doc.zip
+
+TNT is released under the following license:
+
+/*
+*
+* Template Numerical Toolkit (TNT): Linear Algebra Module
+*
+* Mathematical and Computational Sciences Division
+* National Institute of Technology,
+* Gaithersburg, MD USA
+*
+*
+* This software was developed at the National Institute of Standards and
+* Technology (NIST) by employees of the Federal Government in the course
+* of their official duties. Pursuant to title 17 Section 105 of the
+* United States Code, this software is not subject to copyright protection
+* and is in the public domain. NIST assumes no responsibility whatsoever for
+* its use by other parties, and makes no guarantees, expressed or implied,
+* about its quality, reliability, or any other characteristic.
+*
+*/
--- libtnt-1.2.6.orig/debian/changelog
+++ libtnt-1.2.6/debian/changelog
@@ -0,0 +1,72 @@
+libtnt (1.2.6-1.4.201403111956) ucs4-0-0-0; urgency=low
+
+  * UCS auto build. No patches were applied to the original source package
+
+ -- Univention builddaemon <buildd@univention.de>  Tue, 11 Mar 2014 19:56:03 +0100
+
+libtnt (1.2.6-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Juan Esteban Monsalve Tobon <esteban@v7w.com>  Tue, 28 Mar 2006 09:48:58 +1100
+
+libtnt (1.2.5-4) unstable; urgency=low
+
+  * New maintainer.
+
+ -- Juan Esteban Monsalve Tobon <esteban@v7w.com>  Sun, 10 Apr 2005 12:11:07 +1000
+
+libtnt (1.2.5-3) unstable; urgency=low
+
+  * Fixed "libtnt: package liblip FTBFS" (Closes: #295797).
+    Patch by Gleb Beliakov <gleb@deakin.edu.au>.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 18 Feb 2005 16:11:59 +1100
+
+libtnt (1.2.5-2) unstable; urgency=low
+
+  * Fixed "FTBFS with gcc-3.4: 'data' undeclared" (Closes: #295675).
+    Patch by Andreas Jochens <aj@andaco.de>.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 17 Feb 2005 23:16:45 +1100
+
+libtnt (1.2.5-1) unstable; urgency=low
+
+  * New upstream release.
+  * New maintainer's email address.
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 17 Feb 2005 21:04:04 +1100
+
+libtnt (1.2.2-0) unstable; urgency=low
+
+  * New upstream release.
+  * Bug fix for subarray Array2D member function `subarray' + typo fixes (Closes: #279167).
+    Patch by Faheem Mitha <faheem@email.unc.edu>
+
+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org>  Sat, 06 Nov 2004 10:14:50 +1100
+
+libtnt (1.2.1-2) unstable; urgency=low
+
+  * FTBFS with gcc-3.4: `data' undeclared (first use this function)
+    (Closes: #271352).
+
+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org>  Fri, 17 Sep 2004 13:00:24 +1000
+
+libtnt (1.2.1-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org>  Sun, 08 Aug 2004 18:29:54 +1000
+
+libtnt (1.2.0-2) unstable; urgency=low
+
+  * Library include files must be in /usr/include.
+
+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org>  Tue, 04 May 2004 09:40:36 +1000
+
+libtnt (1.2.0-1) unstable; urgency=low
+
+  * Initial release (Closes: #245763).
+
+ -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org>  Mon, 26 Apr 2004 11:17:40 +1000
+
--- libtnt-1.2.6.orig/debian/control
+++ libtnt-1.2.6/debian/control
@@ -0,0 +1,33 @@
+Source: libtnt
+Section: math
+Priority: optional
+Maintainer: Juan Esteban Monsalve Tobon <esteban@v7w.com>
+Build-Depends: 
+Standards-Version: 3.6.2
+
+Package: libtnt-dev
+Section: libdevel
+Priority: optional
+Architecture: all
+Depends: 
+Description: interface for scientific computing in C++
+ The Template Numerical Toolkit (TNT) is a collection of interfaces and
+ reference implementations of numerical objects useful for scientific
+ computing in C++. The toolkit defines interfaces for basic data
+ structures, such as multidimensional arrays and sparse matrices,
+ commonly used in numerical applications. The goal of this package is to
+ provide reusable software components that address many of the portability
+ and maintenance problems with C++ codes.
+ .
+ TNT provides a distinction between interfaces and implementations of TNT
+ components. For example, there is a TNT interface for two-dimensional
+ arrays which describes how individual elements are accessed and how
+ certain information, such as the array dimensions, can be used in
+ algorithms; however, there can be several implementations of such an
+ interface: one that uses expression templates, or one that uses BLAS
+ kernels, or another that is instrumented to provide debugging information.
+ By specifying only the interface, applications codes may utilize such
+ algorithms, while giving library developers the greatest flexibility in
+ employing optimization or portability strategies.
+ .
+  Homepage: http://math.nist.gov/tnt/
--- libtnt-1.2.6.orig/debian/rules
+++ libtnt-1.2.6/debian/rules
@@ -0,0 +1,45 @@
+#!/usr/bin/make -f
+# Copyright (C) 2004-2005 Anibal Monsalve Salazar <anibal@debian.org>
+# Copyright (c) 2005-2006 Juan Esteban Monsalve Tobon <esteban@v7w.com>
+
+binary: binary-arch binary-indep
+
+binary-indep: build
+	$(checkdir)
+	-rm -rf debian/tmp
+
+	install -d -m 755 debian/tmp/usr/include/tnt 
+	install -d -m 755 debian/tmp/DEBIAN
+	install -p -m 644 src/tnt/* debian/tmp/usr/include/tnt
+	install -d -m 755 debian/tmp/usr/share/doc/libtnt-dev
+	install -p -m 644 Changes debian/tmp/usr/share/doc/libtnt-dev/changelog
+	install -p -m 644 debian/changelog debian/tmp/usr/share/doc/libtnt-dev/changelog.Debian
+	install -p -m 644 examples debian/tmp/usr/share/doc/libtnt-dev
+	gzip -9 debian/tmp/usr/share/doc/libtnt-dev/*
+	install -p -m 644 README debian/tmp/usr/share/doc/libtnt-dev
+	install -p -m 644 debian/copyright debian/tmp/usr/share/doc/libtnt-dev
+	tar cf debian/tmp/usr/share/doc/libtnt-dev/html-tnt.tar html
+	gzip -9 debian/tmp/usr/share/doc/libtnt-dev/html-tnt.tar
+	chmod 644 debian/tmp/usr/share/doc/libtnt-dev/html-tnt.tar.gz
+
+	dpkg-gencontrol -isp
+	dpkg --build debian/tmp ..
+
+build:
+	$(checkdir)
+	touch build
+
+clean:
+	$(checkdir)
+	rm -f debian/files build
+	rm -fr debian/tmp 
+
+define checkdir
+	test -f debian/rules
+endef
+
+checkroot:
+	$(checkdir)
+	test root = "`whoami`"
+
+.PHONY: binary binary-arch binary-indep build clean
--- libtnt-1.2.6.orig/src/tnt/tnt_sparse_matrix_csr.h
+++ libtnt-1.2.6/src/tnt/tnt_sparse_matrix_csr.h
@@ -21,7 +21,7 @@
 #ifndef TNT_SPARSE_MATRIX_CSR_H
 #define TNT_SPARSE_MATRIX_CSR_H
 
-#include "tnt_array1d.h"
+#include <tnt/tnt_array1d.h>
 
 namespace TNT
 {
--- libtnt-1.2.6.orig/src/tnt/tnt_array3d.h
+++ libtnt-1.2.6/src/tnt/tnt_array3d.h
@@ -28,8 +28,8 @@
 #include <assert.h>
 #endif
 
-#include "tnt_array1d.h"
-#include "tnt_array2d.h"
+#include <tnt/tnt_array1d.h>
+#include <tnt/tnt_array2d.h>
 
 namespace TNT
 {
--- libtnt-1.2.6.orig/src/tnt/tnt_array2d.h
+++ libtnt-1.2.6/src/tnt/tnt_array2d.h
@@ -28,7 +28,7 @@
 #include <assert.h>
 #endif
 
-#include "tnt_array1d.h"
+#include <tnt/tnt_array1d.h>
 
 namespace TNT
 {
@@ -165,7 +165,7 @@
 template <class T>
 Array2D<T> & Array2D<T>::operator=(const T &a)
 {
-	/* non-optimzied, but will work with subarrays in future verions */
+	/* non-optimzied, but will work with subarrays in future versions */
 
 	for (int i=0; i<m_; i++)
 		for (int j=0; j<n_; j++)
@@ -255,7 +255,7 @@
 /**
 	Create a new view to a subarray defined by the boundaries
 	[i0][i0] and [i1][j1].  The size of the subarray is
-	(i1-i0) by (j1-j0).  If either of these lengths are zero
+	(i1-i0+1) by (j1-j0+1).  If either of these lengths are zero
 	or negative, the subarray view is null.
 
 */
@@ -266,7 +266,7 @@
 	int m = i1-i0+1;
 	int n = j1-j0+1;
 
-	/* if either length is zero or negative, this is an invalide
+	/* if either length is zero or negative, this is an invalid
 		subarray. return a null view.
 	*/
 	if (m<1 || n<1)
@@ -280,7 +280,6 @@
 	for (int i=0; i<m; i++)
 	{
 		A.v_[i] = p + i*n_;
-
 	}	
 	return A;
 }
--- libtnt-1.2.6.orig/src/tnt/tnt_array1d.h
+++ libtnt-1.2.6/src/tnt/tnt_array1d.h
@@ -30,7 +30,7 @@
 #endif
 
 
-#include "tnt_i_refvec.h"
+#include <tnt/tnt_i_refvec.h>
 
 namespace TNT
 {
--- libtnt-1.2.6.orig/src/tnt/tnt_fortran_array1d.h
+++ libtnt-1.2.6/src/tnt/tnt_fortran_array1d.h
@@ -30,7 +30,7 @@
 #endif
 
 
-#include "tnt_i_refvec.h"
+#include <tnt/tnt_i_refvec.h>
 
 namespace TNT
 {
--- libtnt-1.2.6.orig/src/tnt/tnt_fortran_array3d.h
+++ libtnt-1.2.6/src/tnt/tnt_fortran_array3d.h
@@ -27,7 +27,7 @@
 #ifdef TNT_BOUNDS_CHECK
 #include <assert.h>
 #endif
-#include "tnt_i_refvec.h"
+#include <tnt/tnt_i_refvec.h>
 
 namespace TNT
 {
--- libtnt-1.2.6.orig/src/tnt/tnt_vec.h
+++ libtnt-1.2.6/src/tnt/tnt_vec.h
@@ -22,7 +22,7 @@
 #ifndef TNT_VEC_H
 #define TNT_VEC_H
 
-#include "tnt_subscript.h"
+#include <tnt/tnt_subscript.h>
 #include <cstdlib>
 #include <cassert>
 #include <iostream>
--- libtnt-1.2.6.orig/src/tnt/tnt_math_utils.h
+++ libtnt-1.2.6/src/tnt/tnt_math_utils.h
@@ -1,8 +1,8 @@
 #ifndef MATH_UTILS_H
 #define MATH_UTILS_H
 
-/* needed for fabs, sqrt() below */
-#include <cmath>
+/* needed for sqrt() below */
+#include <math.h>
 
 
 
@@ -23,9 +23,37 @@
 	else
 	{
 		Real c = b/a;
-		return fabs(a) * sqrt(1 + c*c);
+		return abs(a) * sqrt(1 + c*c);
 	}
 }
+
+/**
+	@returns the minimum of scalars a and b.
+*/
+template <class Scalar>
+Scalar min(const Scalar &a, const Scalar &b)
+{
+	return  a < b ? a : b;
+}
+
+/**
+	@returns the maximum of scalars a and b.
+*/
+template <class Scalar>
+Scalar max(const Scalar &a, const Scalar &b)
+{
+	return  a > b ? a : b;
+}
+
+/**
+	@returns the absolute value of a real (no-complex) scalar.
+*/
+template <class Real>
+Real abs(const Real &a)
+{
+	return  (a > 0 ? a : -a);
+}
+
 } /* TNT namespace */
 
 
--- libtnt-1.2.6.orig/src/tnt/tnt_i_refvec.h
+++ libtnt-1.2.6/src/tnt/tnt_i_refvec.h
@@ -201,7 +201,7 @@
 template<class T>
 int i_refvec<T>::is_null() const
 {
-	return (data_ == NULL ? 1 : 0);
+	return (this->data_ == NULL ? 1 : 0);
 }
 
 /*
--- libtnt-1.2.6.orig/src/tnt/tnt_fortran_array2d.h
+++ libtnt-1.2.6/src/tnt/tnt_fortran_array2d.h
@@ -29,7 +29,7 @@
 #include <assert.h>
 #endif
 
-#include "tnt_i_refvec.h"
+#include <tnt/tnt_i_refvec.h>
 
 namespace TNT
 {
--- libtnt-1.2.6.orig/src/tnt/tnt.h
+++ libtnt-1.2.6/src/tnt/tnt.h
@@ -36,28 +36,28 @@
 
 
 
-#include "tnt_version.h"
-#include "tnt_math_utils.h"
-#include "tnt_array1d.h"
-#include "tnt_array2d.h"
-#include "tnt_array3d.h"
-#include "tnt_array1d_utils.h"
-#include "tnt_array2d_utils.h"
-#include "tnt_array3d_utils.h"
-
-#include "tnt_fortran_array1d.h"
-#include "tnt_fortran_array2d.h"
-#include "tnt_fortran_array3d.h"
-#include "tnt_fortran_array1d_utils.h"
-#include "tnt_fortran_array2d_utils.h"
-#include "tnt_fortran_array3d_utils.h"
-
-#include "tnt_sparse_matrix_csr.h"
-
-#include "tnt_stopwatch.h"
-#include "tnt_subscript.h"
-#include "tnt_vec.h"
-#include "tnt_cmat.h"
+#include <tnt/tnt_version.h>
+#include <tnt/tnt_math_utils.h>
+#include <tnt/tnt_array1d.h>
+#include <tnt/tnt_array2d.h>
+#include <tnt/tnt_array3d.h>
+#include <tnt/tnt_array1d_utils.h>
+#include <tnt/tnt_array2d_utils.h>
+#include <tnt/tnt_array3d_utils.h>
+
+#include <tnt/tnt_fortran_array1d.h>
+#include <tnt/tnt_fortran_array2d.h>
+#include <tnt/tnt_fortran_array3d.h>
+#include <tnt/tnt_fortran_array1d_utils.h>
+#include <tnt/tnt_fortran_array2d_utils.h>
+#include <tnt/tnt_fortran_array3d_utils.h>
+
+#include <tnt/tnt_sparse_matrix_csr.h>
+
+#include <tnt/tnt_stopwatch.h>
+#include <tnt/tnt_subscript.h>
+#include <tnt/tnt_vec.h>
+#include <tnt/tnt_cmat.h>
 
 
 #endif
--- libtnt-1.2.6.orig/src/tnt/tnt_cmat.h
+++ libtnt-1.2.6/src/tnt/tnt_cmat.h
@@ -24,8 +24,8 @@
 #ifndef TNT_CMAT_H
 #define TNT_CMAT_H
 
-#include "tnt_subscript.h"
-#include "tnt_vec.h"
+#include <tnt/tnt_subscript.h>
+#include <tnt/tnt_vec.h>
 #include <cstdlib>
 #include <cassert>
 #include <iostream>
