10#ifndef ROOT_Minuit2_LASymMatrix 
   11#define ROOT_Minuit2_LASymMatrix 
   29int Mndaxpy(
unsigned int, 
double, 
const double *, 
int, 
double *, 
int);
 
   30int Mndscal(
unsigned int, 
double, 
double *, 
int);
 
   74      std::memcpy(
fData, 
v.Data(), 
fSize * 
sizeof(
double));
 
 
   86      std::memcpy(
fData, 
v.Data(), 
fSize * 
sizeof(
double));
 
 
   97      std::memcpy(
fData, 
v.Obj().Data(), 
fSize * 
sizeof(
double));
 
 
  102   template <
class A, 
class B, 
class T>
 
  107      (*this) = 
sum.Obj().A();
 
  108      (*this) += 
sum.Obj().B();
 
 
  112   template <
class A, 
class T>
 
  121      (*this) = 
sum.Obj().B();
 
  123      (*this) += 
sum.Obj().A();
 
 
  128   template <
class A, 
class T>
 
  144      std::memcpy(
fData, 
inv.Obj().Obj().Obj().Data(), 
fSize * 
sizeof(
double));
 
 
  150   template <
class A, 
class T>
 
  152      const ABObj<
sym, 
ABSum<
ABObj<
sym, 
MatrixInverse<
sym, 
ABObj<sym, LASymMatrix, T>, T>, T>, 
ABObj<sym, A, T>>, T>
 
  160      (*this) = 
sum.Obj().B();
 
  161      (*this) += 
sum.Obj().A();
 
 
  168   template <
class A, 
class T>
 
  170      const ABObj<
sym, 
ABSum<
ABObj<
sym, 
VectorOuterProduct<
ABObj<vec, LAVector, T>, T>, T>, 
ABObj<sym, A, T>>, T> &
sum)
 
  177      (*this) = 
sum.Obj().B();
 
  178      (*this) += 
sum.Obj().A();
 
 
  204      if (
m.Obj().Data() == 
fData) {
 
 
  213   template <
class A, 
class T>
 
  240      Outer_prod(*
this, 
m.Obj().Obj().Obj(), 
m.f() * 
m.Obj().Obj().f() * 
m.Obj().Obj().f());
 
 
  254         return fData[col + row * (row + 1) / 2];
 
  256         return fData[row + col * (col + 1) / 2];
 
 
  263         return fData[col + row * (row + 1) / 2];
 
  265         return fData[row + col * (col + 1) / 2];
 
 
  296      std::memcpy(
fData, 
v.Obj().Data(), 
fSize * 
sizeof(
double));
 
 
  301   template <
class A, 
class T>
 
  313         std::memcpy(
fData, tmp.Data(), 
fSize * 
sizeof(
double));
 
 
  320   template <
class A, 
class B, 
class T>
 
  327         (*this) = 
sum.Obj().A();
 
  328         (*this) += 
sum.Obj().B();
 
  332         tmp += 
sum.Obj().B();
 
  335         std::memcpy(
fData, tmp.Data(), 
fSize * 
sizeof(
double));
 
 
  340   template <
class A, 
class T>
 
  348         (*this) = 
sum.Obj().B();
 
  349         (*this) += 
sum.Obj().A();
 
  354         tmp += 
sum.Obj().A();
 
  357         std::memcpy(
fData, tmp.Data(), 
fSize * 
sizeof(
double));
 
 
  367         fSize = 
inv.Obj().Obj().Obj().size();
 
  368         fNRow = 
inv.Obj().Obj().Obj().Nrow();
 
  370         std::memcpy(
fData, 
inv.Obj().Obj().Obj().Data(), 
fSize * 
sizeof(
double));
 
  371         (*this) *= 
inv.Obj().Obj().f();
 
  379         std::memcpy(
fData, tmp.Data(), 
fSize * 
sizeof(
double));
 
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Class describing a symmetric matrix of size n.
 
LASymMatrix(const ABObj< sym, MatrixInverse< sym, ABObj< sym, LASymMatrix, T >, T >, T > &inv)
 
LASymMatrix & operator=(const ABObj< sym, LASymMatrix, T > &v)
 
LASymMatrix & operator-=(const LASymMatrix &m)
 
LASymMatrix(const ABObj< sym, ABSum< ABObj< sym, LASymMatrix, T >, ABObj< sym, A, T > >, T > &sum)
 
double & operator()(unsigned int row, unsigned int col)
 
const double * Data() const
 
unsigned int Ncol() const
 
double operator()(unsigned int row, unsigned int col) const
 
LASymMatrix & operator=(const LASymMatrix &v)
 
LASymMatrix & operator+=(const ABObj< sym, LASymMatrix, T > &m)
 
LASymMatrix(const ABObj< sym, ABSum< ABObj< sym, MatrixInverse< sym, ABObj< sym, LASymMatrix, T >, T >, T >, ABObj< sym, A, T > >, T > &sum)
 
LASymMatrix(const ABObj< sym, ABSum< ABObj< sym, A, T >, ABObj< sym, B, T > >, T > &sum)
 
LASymMatrix & operator*=(double scal)
 
LASymMatrix & operator+=(const ABObj< sym, A, T > &m)
 
LASymMatrix & operator=(const ABObj< sym, MatrixInverse< sym, ABObj< sym, LASymMatrix, T >, T >, T > &inv)
 
LASymMatrix(unsigned int n)
 
LASymMatrix(const ABObj< sym, LASymMatrix, T > &v)
 
LASymMatrix & operator=(const ABObj< sym, ABSum< ABObj< sym, A, T >, ABObj< sym, B, T > >, T > &sum)
 
LASymMatrix(const LASymMatrix &v)
 
unsigned int Nrow() const
 
LASymMatrix(const ABObj< sym, ABObj< sym, A, T >, T > &something)
 
LASymMatrix & operator+=(const ABObj< sym, MatrixInverse< sym, ABObj< sym, LASymMatrix, T >, T >, T > &m)
 
LASymMatrix & operator=(const ABObj< sym, ABSum< ABObj< sym, LASymMatrix, T >, ABObj< sym, A, T > >, T > &sum)
 
LASymMatrix(const ABObj< sym, ABSum< ABObj< sym, VectorOuterProduct< ABObj< vec, LAVector, T >, T >, T >, ABObj< sym, A, T > >, T > &sum)
 
LASymMatrix & operator+=(const LASymMatrix &m)
 
LASymMatrix & operator+=(const ABObj< sym, VectorOuterProduct< ABObj< vec, LAVector, T >, T >, T > &m)
 
unsigned int size() const
 
LASymMatrix & operator=(const ABObj< sym, ABObj< sym, A, T >, T > &something)
 
static StackAllocator & Get()
 
int Invert(LASymMatrix &)
 
int Mndaxpy(unsigned int, double, const double *, int, double *, int)
 
int Mndscal(unsigned int, double, double *, int)
 
void Outer_prod(LASymMatrix &, const LAVector &, double f=1.)
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
 
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)
 
static uint64_t sum(uint64_t i)