Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/iksolver/intern/TNT/transv.h')
-rw-r--r--intern/iksolver/intern/TNT/transv.h164
1 files changed, 0 insertions, 164 deletions
diff --git a/intern/iksolver/intern/TNT/transv.h b/intern/iksolver/intern/TNT/transv.h
deleted file mode 100644
index 5500cecff40..00000000000
--- a/intern/iksolver/intern/TNT/transv.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- */
-
-/*
-
-*
-* 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. The Template Numerical Toolkit (TNT) is
-* an experimental system. 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.
-*
-* BETA VERSION INCOMPLETE AND SUBJECT TO CHANGE
-* see http://math.nist.gov/tnt for latest updates.
-*
-*/
-
-
-
-// Matrix Transpose Views
-
-#ifndef TRANSV_H
-#define TRANSV_H
-
-#include <iostream>
-#include <cassert>
-#include "vec.h"
-
-namespace TNT
-{
-
-template <class Array2D>
-class Transpose_View
-{
- protected:
-
- const Array2D & A_;
-
- public:
-
- typedef typename Array2D::element_type T;
- typedef T value_type;
- typedef T element_type;
- typedef T* pointer;
- typedef T* iterator;
- typedef T& reference;
- typedef const T* const_iterator;
- typedef const T& const_reference;
-
-
- const Array2D & array() const { return A_; }
- Subscript num_rows() const { return A_.num_cols();}
- Subscript num_cols() const { return A_.num_rows();}
- Subscript lbound() const { return A_.lbound(); }
- Subscript dim(Subscript i) const
- {
-#ifdef TNT_BOUNDS_CHECK
- assert( A_.lbound() <= i);
- assert( i<= A_.lbound()+1);
-#endif
- if (i== A_.lbound())
- return num_rows();
- else
- return num_cols();
- }
-
-
- Transpose_View(const Transpose_View<Array2D> &A) : A_(A.A_) {};
- Transpose_View(const Array2D &A) : A_(A) {};
-
-
- inline const typename Array2D::element_type & operator()(
- Subscript i, Subscript j) const
- {
-#ifdef TNT_BOUNDS_CHECK
- assert(lbound()<=i);
- assert(i<=A_.num_cols() + lbound() - 1);
- assert(lbound()<=j);
- assert(j<=A_.num_rows() + lbound() - 1);
-#endif
-
- return A_(j,i);
- }
-
-
-};
-
-template <class Matrix>
-Transpose_View<Matrix> Transpose_view(const Matrix &A)
-{
- return Transpose_View<Matrix>(A);
-}
-
-template <class Matrix, class T>
-Vector<T> matmult(
- const Transpose_View<Matrix> & A,
- const Vector<T> &B)
-{
- Subscript M = A.num_rows();
- Subscript N = A.num_cols();
-
- assert(B.dim() == N);
-
- Vector<T> x(N);
-
- Subscript i, j;
- T tmp = 0;
-
- for (i=1; i<=M; i++)
- {
- tmp = 0;
- for (j=1; j<=N; j++)
- tmp += A(i,j) * B(j);
- x(i) = tmp;
- }
-
- return x;
-}
-
-template <class Matrix, class T>
-inline Vector<T> operator*(const Transpose_View<Matrix> & A, const Vector<T> &B)
-{
- return matmult(A,B);
-}
-
-
-template <class Matrix>
-std::ostream& operator<<(std::ostream &s, const Transpose_View<Matrix> &A)
-{
- Subscript M=A.num_rows();
- Subscript N=A.num_cols();
-
- Subscript start = A.lbound();
- Subscript Mend = M + A.lbound() - 1;
- Subscript Nend = N + A.lbound() - 1;
-
- s << M << " " << N << endl;
- for (Subscript i=start; i<=Mend; i++)
- {
- for (Subscript j=start; j<=Nend; j++)
- {
- s << A(i,j) << " ";
- }
- s << endl;
- }
-
-
- return s;
-}
-
-} // namespace TNT
-
-#endif // TRANSV_H
-