TCernLib.cxx File Reference

#include <assert.h>
#include "TCernLib.h"
#include "TMath.h"
#include "TArrayD.h"
#include "TError.h"

Go to the source code of this file.

Defines

#define TCL_MXMAD(n_, a, b, c, i, j, k)
#define TCL_MXMLRT(n__, a, b, c,ni, nj)
#define TCL_MXTRP(a, b, i, j)
#define TCL_TRAAT(a, s, m, n)
#define TCL_TRAL(a, u, b, m,n)
#define TCL_TRALT(a, u, b, m, n)
#define TCL_TRAS(a, s, b, m, n)
#define TCL_TRASAT(a, s, r__, m, n)

Functions

 ClassImp (TCL) float *TCL


Define Documentation

#define TCL_MXMAD ( n_,
a,
b,
c,
i,
j,
 ) 

Referenced by ClassImp(), and TCL::mxmad_0_().

#define TCL_MXMLRT ( n__,
a,
b,
c,
ni,
nj   ) 

Value:

if (ni <= 0 || nj <= 0) return 0;        \
  double x;                                \
  int ia, ib, ic, ja, kc, ii, jj, kj, ki, ia1, ib1, ic1, ja1; \
  int ipa = 1;  int jpa = nj;              \
  if (n__ == 1) { ipa = ni;  jpa = 1; }    \
                                           \
  --a;  --b;  --c;                         \
                                           \
  ic1 = 1;  ia1 = 1;                       \
  for (ii = 1; ii <= ni; ++ii, ic1+=ni, ia1+=jpa) { \
    ic = ic1;                                       \
    for (kc = 1; kc <= ni; ++kc,ic++) c[ic] = 0.;   \
    ib1 = 1;  ja1 = 1;                              \
    for (jj = 1; jj <= nj; ++jj,++ib1,ja1 += ipa) { \
      ib = ib1;  ia = ia1;                          \
      x = 0.;                                       \
      for (kj = 1;kj <= nj;++kj,ia+=ipa,ib += nj)   \
                    x += a[ia] * b[ib];                     \
      ja = ja1;  ic = ic1;                          \
      for (ki = 1; ki <= ni; ++ki,++ic,ja += jpa)   \
                    c[ic] += x * a[ja];                     \
    }                                               \
  }

Definition at line 128 of file TCernLib.cxx.

Referenced by TCL::mxmlrt_0_().

#define TCL_MXTRP ( a,
b,
i,
j   ) 

Value:

if (i == 0 || j == 0) return 0; \
  --b;  --a;                      \
  int ib = 1;                     \
  for (int k = 1; k <= j; ++k)    \
  { int ia = k;                   \
    for (int l = 1; l <= i; ++l,ia += j,++ib) b[ib] = a[ia]; }

Definition at line 206 of file TCernLib.cxx.

Referenced by TCL::mxtrp().

#define TCL_TRAAT ( a,
s,
m,
n   ) 

Value:

/* Local variables */                \
   int ipiv, i, j, ipivn, ia, is, iat;  \
   double sum;                          \
   --s;    --a;                         \
   ia = 0;   is = 0;                    \
   for (i = 1; i <= m; ++i) {           \
     ipiv = ia;                         \
     ipivn = ipiv + n;                  \
     iat = 0;                           \
     for (j = 1; j <= i; ++j) {         \
       ia = ipiv;                       \
       sum = 0.;                        \
       do {                             \
         ++ia;  ++iat;                  \
         sum += a[ia] * a[iat];         \
       } while (ia < ipivn);            \
       ++is;                            \
       s[is] = sum;                     \
     }                                  \
   }                                    \
   s++;

Definition at line 256 of file TCernLib.cxx.

Referenced by TCL::traat().

#define TCL_TRAL ( a,
u,
b,
m,
n   ) 

Value:

int indu, i, j, k, ia, ib, iu;  \
   double sum;                     \
   --b;    --u;    --a;            \
   ib = 1;                         \
   for (i = 1; i <= m; ++i) {      \
      indu = 0;                    \
      for (j = 1; j <= n; ++j) {   \
         indu += j;                \
         ia = ib;                  \
         iu = indu;                \
         sum = 0.;                 \
         for (k = j; k <= n; ++k) {\
            sum += a[ia] * u[iu];  \
            ++ia;                  \
            iu += k;               \
         }                         \
         b[ib] = sum;              \
         ++ib;                     \
      }                            \
   }                               \
   b++;

Definition at line 317 of file TCernLib.cxx.

Referenced by TCL::tral().

#define TCL_TRALT ( a,
u,
b,
m,
n   ) 

Value:

int indu, j, k, ia, ib, iu;    \
   double sum;                    \
   --b;    --u;    --a;           \
   ib = m * n;                    \
   indu = (n * n + n) / 2;        \
   do {                           \
      iu = indu;                  \
      for (j = 1; j <= n; ++j) {  \
         ia = ib;                 \
         sum = 0.;                \
        for (k = j; k <= n; ++k) {\
           sum += a[ia] * u[iu];  \
           --ia;   --iu;          \
        }                         \
        b[ib] = sum;              \
        --ib;                     \
      }                           \
   } while (ib > 0);              \
   ++b;

Definition at line 375 of file TCernLib.cxx.

Referenced by TCL::tralt().

#define TCL_TRAS ( a,
s,
b,
m,
n   ) 

Value:

int inds, i__, j, k, ia, ib, is; \
   double sum;                      \
   --b;    --s;    --a;             \
   ib = 0; inds = 0; i__ = 0;       \
   do {                             \
      inds += i__;                  \
      ia = 0;                       \
      ib = i__ + 1;                 \
      for (j = 1; j <= m; ++j) {    \
         is = inds;                 \
         sum = 0.;                  \
         k = 0;                     \
         do {                       \
            if (k > i__) is += k;   \
            else        ++is;       \
            ++ia;                   \
            sum += a[ia] * s[is];   \
            ++k;                    \
         } while (k < n);           \
         b[ib] = sum;               \
         ib += n;                   \
      }                             \
      ++i__;                        \
   } while (i__ < n);               \
   ++b;

Definition at line 432 of file TCernLib.cxx.

Referenced by TCL::tras().

#define TCL_TRASAT ( a,
s,
r__,
m,
n   ) 

Definition at line 495 of file TCernLib.cxx.

Referenced by TCL::trasat().


Function Documentation

ClassImp ( TCL   ) 

Definition at line 63 of file TCernLib.cxx.

References TCL_MXMAD.


Generated on Tue Jul 5 16:07:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1