/usr/include/root/Math/BinaryOpPolicy.h is in libroot-math-smatrix-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | // @(#)root/smatrix:$Id$
// Authors: J. Palacios 2006
#ifndef ROOT_Math_BinaryOpPolicy
#define ROOT_Math_BinaryOpPolicy 1
// Include files
/** @class BinaryOpPolicy BinaryOpPolicy.h Math/BinaryOpPolicy.h
*
*
* @author Juan PALACIOS
* @date 2006-01-10
*
* Classes to define matrix representation binary combination policy.
* At the moment deals with symmetric and generic representation, and
* establishes policies for multiplication (and division) and addition
* (and subtraction)
*/
#ifndef ROOT_Math_MatrixRepresentationsStatic
#include "Math/MatrixRepresentationsStatic.h"
#endif
namespace ROOT {
namespace Math {
/**
matrix-matrix multiplication policy
*/
template <class T, class R1, class R2>
struct MultPolicy
{
enum {
N1 = R1::kRows,
N2 = R2::kCols
};
typedef MatRepStd<T, N1, N2> RepType;
};
/**
matrix addition policy
*/
template <class T, unsigned int D1, unsigned int D2, class R1, class R2>
struct AddPolicy
{
enum {
N1 = R1::kRows,
N2 = R1::kCols
};
typedef MatRepStd<typename R1::value_type, N1, N2 > RepType;
};
template <class T, unsigned int D1, unsigned int D2>
struct AddPolicy<T, D1, D2, MatRepSym<T,D1>, MatRepSym<T,D1> >
{
typedef MatRepSym<T,D1> RepType;
};
/**
matrix transpose policy
*/
template <class T, unsigned int D1, unsigned int D2, class R>
struct TranspPolicy
{
enum {
N1 = R::kRows,
N2 = R::kCols
};
typedef MatRepStd<T, N2, N1> RepType;
};
// specialized case of transpose of sym matrices
template <class T, unsigned int D1, unsigned int D2>
struct TranspPolicy<T, D1, D2, MatRepSym<T,D1> >
{
typedef MatRepSym<T, D1> RepType;
};
} // namespace Math
} // namespace ROOT
#endif // MATH_BINARYOPPOLICY_H
|