51 inline void Check_Kn (
const char* str,
const char* file,
int line )
53 std::cerr <<
"CHECK_KN: " << str <<
" in file: " << file <<
", line " << line << std::endl;
56 #define K_assert(i) if (!(i)) Check_Kn(#i,__FILE__,__LINE__); 134 class MatriceCreuseMulKN_;
136 class MatriceCreuseDivKN_;
170 return step * (
n - 1 );
198 K_assert ( ( sub.last() ) * old.step <= old.last() );
213 return (
n - 1 ) *
step;
221 K_assert ( ( k >= 0 ) && ( ( k < n ) || !step ) );
241 K_assert ( ( k >= 0 ) && ( ( k < n ) || !step ) );
247 std::ostream& operator<< ( std::ostream& f,
const ShapeOfArray& s );
268 std::ostream& operator<< ( std::ostream& f,
const KN_<
const_R>& v ) ;
283 return this->step ?
N() *
this->step :
N();
296 return KN_ ( *
this, sa );
326 KN_&
map ( R (* ) ( R ) );
328 const KN_&
operator = (
const Add_KN_<R>& u ) ;
329 const KN_&
operator+= (
const Add_KN_<R>& u ) ;
330 const KN_&
operator-= (
const Add_KN_<R>& u ) ;
332 const KN_&
operator = (
const Sub_KN_<R>& u ) ;
333 const KN_&
operator-= (
const Sub_KN_<R>& u ) ;
334 const KN_&
operator+= (
const Sub_KN_<R>& u ) ;
336 const KN_&
operator = (
const Mulc_KN_<R>& u ) ;
337 const KN_&
operator+= (
const Mulc_KN_<R>& u ) ;
338 const KN_&
operator-= (
const Mulc_KN_<R>& u ) ;
340 const KN_&
operator = (
const Add_Mulc_KN_<R>& u ) ;
341 const KN_&
operator+= (
const Add_Mulc_KN_<R>& u ) ;
342 const KN_&
operator-= (
const Add_Mulc_KN_<R>& u ) ;
344 const KN_&
operator = (
const Mul_KNM_KN_<R>& u ) ;
345 const KN_&
operator+= (
const Mul_KNM_KN_<R>& u ) ;
346 const KN_&
operator-= (
const Mul_KNM_KN_<R>& u ) ;
348 const KN_&
operator = (
const MatriceCreuseMulKN_<R>& ) ;
349 const KN_&
operator = (
const MatriceCreuseDivKN_<R>& ) ;
351 friend std::ostream& operator<< <R> ( std::ostream& f,
const KN_<
const_R>& v ) ;
401 friend class KNM_<R>;
402 friend class KNMK_<R>;
403 friend class KNMKL_<R>;
406 friend class KNMK<R>;
407 friend class KNMKL<R>;
412 class KNM_:
public KN_<R>
443 KNM_ ( R* u,
int n,
int m,
int s )
446 KNM_ ( KN_<R> u,
int n,
int m )
453 K_assert ( offset >= 0 &&
this->n + (
this->v - ( R* ) u ) <= u.n );
458 K_assert ( offset >= 0 &&
this->n + (
this->v - ( R* ) u ) <= u.n );
471 : KN_<R> ( u ),
shapei ( u.shapei ),
shapej ( u.shapej )
476 return KNM_ ( *
this, sa, sb );
479 int ij (
const int i,
const int j )
const 489 return this->v[ indexij ( i, j ) ];
492 unsigned int indexij (
unsigned int i,
unsigned int j )
const 496 R&
operator() (
unsigned int i,
unsigned int j )
const 498 return this->v[ indexij ( i, j ) ];
501 long unsigned int indexij (
long unsigned int i,
long unsigned int j )
const 505 R&
operator() (
long unsigned int i,
long unsigned int j )
const 507 return this->v[ indexij ( i, j ) ];
545 this->v +=
this->next;
550 this->v -=
this->next;
556 this->v =
this->v +
this->next;
562 this->v =
this->v -
this->next;
569 friend class KNMK_<R>;
570 friend class KNMKL_<R>;
573 friend class KNMK<R>;
574 friend class KNMKL<R>;
581 class KNMK_:
public KN_<R>
583 friend class KNMK<R>;
617 KNMK_ ( R* u,
const int n,
const int m,
const int k )
618 : KN_<R> ( u,
ShapeOfArray ( n* m* k
) ),
shapei ( n
, 1
, n
),
shapej ( m
, n
, 1
),
shapek ( k
, n* m
, n* m
) 638 int ijk (
const int i,
const int j,
const int k )
const 653 KN_<R>
operator() (
const char ,
int j,
int k )
const 658 KN_<R>
operator() (
int i,
const char ,
int k )
const 663 KN_<R>
operator() (
int i,
int j,
const char )
const 669 KNM_<R>
operator() (
const char ,
const char ,
int k )
const 675 KNM_<R>
operator() (
const char ,
int j,
const char )
const 681 KNM_<R>
operator() (
int i,
const char ,
const char )
const 700 return KNMK_ ( *
this, si, sj, sk );
710 friend class KNM_<R>;
721 class KNMKL_:
public KN_<R>
723 friend class KNMKL<R>;
763 KNMKL_ ( R* u,
const int n,
const int m,
const int k,
const int l )
764 : KN_<R> ( u,
ShapeOfArray ( n* m* k* l
) ),
shapei ( n
, 1
, n
),
shapej ( m
, n
, 1
),
shapek ( k
, n* m
, n* m
),
shapel ( l
, n* m* k
, n* m* k
) 782 int ijkl (
const int i,
const int j,
const int k,
const int l )
const 797 KN_<R>
operator() (
const char ,
int j,
int k,
int l )
const 803 KN_<R>
operator() (
int i,
const char ,
int k,
int l )
const 809 KN_<R>
operator() (
int i,
int j,
const char,
int l )
const 815 KN_<R>
operator() (
int i,
int j,
int k,
const char )
const 861 return KNMKL_ ( *
this, si, sj, sk );
870 friend class KNMK_<R>;
871 friend class KNM_<R>;
882 class KN :
public KN_<R>
887 KN (
const int nn ) : KN_<R> (
new R[ nn ], nn )
889 KN (
const int nn, R ( *f ) (
int i ) ) : KN_<R> (
new R[ nn ], nn )
891 for (
int i = 0; i <
this->n; i++ )
893 this->v[ i ] = f ( i );
896 KN (
const int nn,
const R& a ) : KN_<R> (
new R[ nn ], nn )
898 KN_<R>::operator= ( a );
900 KN (
const int nn,
int s,
const R a ) : KN_<R> (
new R[ nn ], nn, s )
902 KN_<R>::operator= ( a );
905 KN (
const KN_<S>& s ) : KN_<R> (
new R[ s.n ], s.n )
907 for (
int i = 0; i <
this->n; i++ )
909 this->v[ i ] = s[ i ];
913 KN (
const KN_<S>& s, R ( *f ) ( S ) ) : KN_<R> (
new R[ s.n ], s.n )
915 for (
int i = 0; i <
this->n; i++ )
917 this->v[ i ] = f ( s[ i ] );
920 explicit KN (
const KN<R>& u ) : KN_<R> (
new R[ u.n ], u.n )
922 KN_<R>::operator= ( u );
924 explicit KN (
const KN_<R>& u ) : KN_<R> (
new R[ u.n ], u.n )
926 KN_<R>::operator= ( u );
937 KN_<R>::operator= ( a );
942 KN_<R>::operator= ( a );
948 KN_<R>::operator= ( a );
954 KN_<R>::operator= ( u );
959 KN_<R>::operator= ( u );
964 KN_<R>::operator= ( u );
969 KN_<R>::operator= ( u );
974 KN_<R>::operator= ( u );
977 const KN&
operator = (
const MatriceCreuseMulKN_<R>& A )
979 KN_<R>::operator= ( A );
982 const KN&
operator = (
const MatriceCreuseDivKN_<R>& A )
984 KN_<R>::operator= ( A );
990 KN_<R>::operator-= ( a );
995 KN_<R>::operator-= ( a );
1000 KN_<R>::operator-= ( u );
1005 KN_<R>::operator-= ( u );
1010 KN_<R>::operator-= ( u );
1015 KN_<R>::operator-= ( u );
1020 KN_<R>::operator-= ( u );
1026 KN_<R>::operator += ( a );
1031 KN_<R>::operator+= ( a );
1036 KN_<R>::operator+= ( u );
1041 KN_<R>::operator+= ( u );
1046 KN_<R>::operator+= ( u );
1051 KN_<R>::operator+= ( u );
1056 KN_<R>::operator+= ( u );
1063 KN_<R>::operator/= ( a );
1068 KN_<R>::operator*= ( a );
1073 KN_<R>::operator/= ( a );
1078 KN_<R>::operator*= ( a );
1098 class KNM:
public KNM_<R>
1102 KNM (
const int n,
const int m )
1103 : KNM_<R> (
new R[ n* m ], n, m )
1105 assert (
this->v != 0 );
1119 KNM_<R> (
new R[ u.size() ], u.N(), u.M() )
1121 KN_<R>::operator= ( u );
1124 : KNM_<R> (
new R[ u.size() ], u.N(), u.M() )
1126 KNM_<R>::operator= ( u );
1136 KNM_<R>::operator= ( u );
1141 KNM_<R>::operator= ( a );
1146 KNM_<R>::operator+= ( a );
1151 KNM_<R>::operator-= ( a );
1156 KNM_<R>::operator/= ( a );
1161 KNM_<R>::operator*= ( a );
1166 KNM_<R>::operator+= ( u );
1171 KNM_<R>::operator-= ( u );
1177 KNM_<R>::operator/= ( u );
1182 KNM_<R>::operator*= ( u );
1203 class KNMK:
public KNMK_<R>
1207 KNMK (
const int n,
const int m,
const int k )
1208 : KNMK_<R> (
new R[ n* m* k ], n, m, k )
1210 explicit KNMK (
const KNMK_<R>& u )
1211 : KNMK_<R> (
new R[ u.size() ], u.N(), u.M(), u.K() )
1213 KNMK_<R>::operator= ( u );
1216 : KNMK_<R> (
new R[ u.size() ], u.N(), u.M(), u.K() )
1218 KNMK_<R>::operator= ( u );
1228 KN_<R>::operator= ( u );
1233 KN_<R>::operator= ( a );
1238 KN_<R>::operator+= ( a );
1243 KN_<R>::operator-= ( a );
1248 KN_<R>::operator/= ( a );
1253 KN_<R>::operator*= ( a );
1258 KN_<R>::operator+= ( u );
1263 KN_<R>::operator-= ( u );
1269 KN_<R>::operator*= ( u );
1274 KN_<R>::operator/= ( u );
1296 class KNMKL:
public KNMKL_<R>
1300 KNMKL (
const int n,
const int m,
const int k,
const int l )
1301 : KNMKL_<R> (
new R[ n* m* k* l ], n, m, k, l )
1304 : KNMKL_<R> (
new R[ u.size() ], u.N(), u.M(), u.K(), u.L() )
1306 KNMKL_<R>::operator= ( u );
1311 explicit KNMKL (
const KNMK<R>& u )
1312 : KNMKL_<R> (
new R[ u.size() ], u.N(), u.M(), u.K(), u.L() )
1314 KNMKL_<R>::operator= ( u );
1325 KN_<R>::operator= ( u );
1330 KN_<R>::operator= ( a );
1335 KN_<R>::operator+= ( a );
1340 KN_<R>::operator-= ( a );
1345 KN_<R>::operator/= ( a );
1350 KN_<R>::operator*= ( a );
1355 KN_<R>::operator+= ( u );
1360 KN_<R>::operator-= ( u );
1366 KN_<R>::operator*= ( u );
1371 KN_<R>::operator/= ( u );
1396 :
a ( aa ),
b ( bb )
1409 :
a ( aa ),
b ( bb )
1435 :
a ( aa.a ),
b ( bb.a ),
ca ( aa.b ),
cb ( bb.b )
1440 :
a ( aa.a ),
b ( bb ),
ca ( aa.b ),
cb ( cbb )
1445 :
a ( aa ),
b ( bb ),
ca ( caa ),
cb ( cbb )
1459 :
A ( aa ),
b ( bb )
1461 K_assert ( SameShape ( A.shapej, b ) );
1466 std::ostream& operator<< ( std::ostream& f,
const ShapeOfArray& s );
1469 std::ostream& operator<< ( std::ostream& f,
const KN_<
const_R>& v );
1471 std::ostream& operator<< ( std::ostream& f,
const KNM_<
const_R>& v );
1473 std::ostream& operator<< ( std::ostream& f,
const KNMK_<
const_R>& v );
1475 inline std::ostream& operator<< ( std::ostream& f,
const KN<
const_R>& v )
1477 return f << ( KN_<
const_R> ) v;
1480 inline std::ostream& operator<< ( std::ostream& f,
const KNM<
const_R>& v )
1482 return f << ( KNM_<
const_R> ) v;
1485 inline std::ostream& operator<< ( std::ostream& f,
const KNMK<
const_R>& v )
1487 return f << ( KNMK_<
const_R> ) v;
1494 return Add_KN_<R> ( a, b );
1499 return Sub_KN_<R> ( a, b );
1504 return Mulc_KN_<R> ( a, b );
1509 return Mulc_KN_<R> ( a, b );
1514 return Mulc_KN_<R> ( a, -1 );
1520 inline Add_Mulc_KN_<R>
operator+ (
const Mulc_KN_<R>& a,
const Mulc_KN_<R>& b )
1522 return Add_Mulc_KN_<R> ( a, b );
1525 inline Add_Mulc_KN_<R>
operator- (
const Mulc_KN_<R>& a,
const Mulc_KN_<R>& b )
1527 return Add_Mulc_KN_<R> ( a, b.a, -b.b );
1533 return Add_Mulc_KN_<R> ( a, b, 1.0 );
1538 return Add_Mulc_KN_<R> ( a, b, -1.0 );
1544 return Add_Mulc_KN_<R> ( a, b, 1.0 );
1549 return Add_Mulc_KN_<R> ( a, b, -1.0 );
1554 return Mul_KNM_KN_<R> ( A, b );
1563 return & a[ 0 ] == &b[ 0 ];
1566 #include <lifev/core/array/RNMTemplate.hpp> KNMKL_(R *u, const int n, const int m, const int k, const int l)
KN_(R *u, const ShapeOfArray &s)
const KN & operator=(const KN< R > &a)
const KNM_ & operator=(const KNM_< R > &u)
Add_Mulc_KN_< R > operator+(const Mulc_KN_< R > &a, const Mulc_KN_< R > &b)
const KN_ & operator-=(const Add_KN_< R > &u)
const KNMKL_ & operator-=(R a)
const KN & operator-=(const Mulc_KN_< R > &u)
const KN & operator-=(const Add_KN_< R > &u)
const KN_ & operator+=(const Mulc_KN_< R > &u)
const KNMKL_ & operator*=(R a)
const KN & operator+=(const Sub_KN_< R > &u)
KNMK(const KNMK_< R > &u)
KNM(const int n, const int m)
const KNMK_ & operator/=(R a)
KN_< R > operator()(int i, int j, const char) const
KNMKL & operator-=(const KNMKL_< R > &u)
const KNMKL_ & operator=(const KNMKL_< R > &u)
KN_ operator()(const SubArray &sa) const
KN_(const KN_< R > &U, const SubArray &sa)
int SameAdress(const KN_< R > &a, const KN_< R > &b)
bool SameShape(const ShapeOfArray &a, const ShapeOfArray &b)
KNM_< R > operator()(const char, const char, int k) const
const KN_ & operator+=(const Add_Mulc_KN_< R > &u)
const KN_ & operator=(const Mul_KNM_KN_< R > &u)
const KNM_ & operator-=(R a)
int ijk(const int i, const int j, const int k) const
KN_< R > operator()(int i, const char, int k) const
Mul_KNM_KN_(const KNM_< R > &aa, const KN_< R > &bb)
const KN & operator=(const MatriceCreuseDivKN_< R > &A)
const KNM_ & operator/=(R a)
KNM_(R *u, int n, int m, int s)
const KN_ & operator*=(R a)
Sub_KN_(const KN_< R > &aa, const KN_< R > &bb)
KN_(const KN_< R > &u, int offset)
const KN & operator-=(R a)
KNMK_(const KNMK_< R > &U, const SubArray &si, const SubArray &sj, const SubArray &sk)
bool SameShape(const ShapeOfArray &a) const
int indexij(int i, int j) const
const KN & operator*=(R a)
KN_(R *u, int nn, int s, int nextt)
const KNM_ & operator+=(const KNM_< R > &u)
const KNM_ & operator+=(R a)
KNMKL & operator*=(const KNMKL_< R > &u)
Mul_KNM_KN_< R > operator*(const KNM_< R > A, const KN_< R > b)
R & operator()(int i) const
int ij(const int i, const int j) const
R & operator()(int i, int j, int k, int l) const
const KN_ & operator=(const Sub_KN_< R > &u)
const KNMK_ & operator-=(const KNMK_< R > &u)
Add_Mulc_KN_< R > operator-(const Mulc_KN_< R > &a, const Mulc_KN_< R > &b)
const KNMKL_ & operator-=(const KNMKL_< R > &u)
KN(const KN_< S > &s, R(*f)(S))
Mulc_KN_(const KN_< R > &aa, R bb)
Add_Mulc_KN_(const Mulc_KN_< R > &aa, const Mulc_KN_< R > &bb)
Add_KN_< R > operator+(const KN_< R > &a, const KN_< R > &b)
KNM_(KNM_< R > U, const SubArray &si, const SubArray &sj)
Add_Mulc_KN_< R > operator+(const KN_< R > &b, const Mulc_KN_< R > &a)
const KN_ & operator=(const Add_KN_< R > &u)
const KNM_ & operator*=(const KNM_< R > &u)
const KN_ & operator+=(const Mul_KNM_KN_< R > &u)
ShapeOfArray operator*(int stepp) const
const KNM & operator/=(const KNM_< R > &u)
const KN & operator-=(const Add_Mulc_KN_< R > &u)
const KN & operator+=(const Mulc_KN_< R > &u)
KN(const int nn, const R &a)
const KN & operator=(const Sub_KN_< R > &u)
KNMKL & operator/=(const KNMKL_< R > &u)
const KNMKL_ & operator+=(const KNMKL_< R > &u)
KN_< R > operator()(const char, const char) const
Mulc_KN_< R > operator*(const KN_< R > &a, const R &b)
void updateInverseJacobian(const UInt &iQuadPt)
KNMK_(const KNMK_< R > &u)
const KNM & operator*=(R a)
const KN & operator=(const Mul_KNM_KN_< R > &u)
int N(const ShapeOfArray &a, const ShapeOfArray &b)
Add_Mulc_KN_< R > operator+(const Mulc_KN_< R > &a, const KN_< R > &b)
const KN & operator=(const KN_< R > &a)
const KN & operator-=(const Mul_KNM_KN_< R > &u)
const KN_ & operator=(const MatriceCreuseDivKN_< R > &)
const KNMK_ & operator-=(R a)
KNM_(const KN_< R > &u, const ShapeOfArray &si, const ShapeOfArray &sj, int offset, int nnext)
const KN_ & operator+=(const Sub_KN_< R > &u)
KNMKL(const int n, const int m, const int k, const int l)
Add_KN_(const KN_< R > &aa, const KN_< R > &bb)
KNM_(KNM_< R > U, const SubArray &sa, const SubArray &si, const SubArray &sj)
const KNMKL_ & operator=(R a)
const KNM & operator+=(R a)
const KN & operator-=(const Sub_KN_< R > &u)
KNMK(const int n, const int m, const int k)
const KN_ & operator*=(const KN_< R > &u)
Add_Mulc_KN_< R > operator-(const Mulc_KN_< R > &a, const KN_< R > &b)
const KN_ & operator+=(R a)
SubArray(const FromTo &ft)
KN_< R > operator()(int i, int j, const char, int l) const
KNMK_(R *u, const int n, const int m, const int k)
KNMK & operator*=(const KNMK_< R > &u)
const KNM & operator*=(const KNM_< R > &u)
ShapeOfArray(const ShapeOfArray &s, int nn)
int operator[](int k) const
KNM_(KN_< R > u, int n, int m)
Add_Mulc_KN_< R > operator-(const KN_< R > &b, const Mulc_KN_< R > &a)
KNMK & operator-=(const KNMK_< R > &u)
KNM_(const KN_< R > &u, const ShapeOfArray &si, const ShapeOfArray &sj, int offset=0)
KNMKL & operator+=(const KNMKL_< R > &u)
ShapeOfArray(const ShapeOfArray &old, int stepo, int start)
R & operator()(unsigned int i, unsigned int j) const
Mulc_KN_< R > operator-(const KN_< R > &a)
KN_(const KN_< R > &u, int nnext, const ShapeOfArray &sh, int startv=0)
const KNM_ & operator/=(const KNM_< R > &u)
KNMKL(const KNMKL_< R > &u)
KNMKL_(const ShapeOfArray &s, const ShapeOfArray &si, const ShapeOfArray &sj, const ShapeOfArray &sk, const ShapeOfArray &sl, R *u)
KN_< R > operator()(const char, int j, int k) const
const KNM_ & operator-=(const KNM_< R > &u)
KN_(const KN_< R > &u, const ShapeOfArray &sh, int startv=0)
KN_< R > operator()(const char, int j, int k, int l) const
R & operator()(int i, int j) const
KNMKL_(const KNMK_< R > &U, const SubArray &si, const SubArray &sj, const SubArray &sk, const SubArray &sl)
const KNM & operator-=(const KNM_< R > &u)
KNMK & operator+=(const KNMK_< R > &u)
const KN & operator+=(const Add_KN_< R > &u)
const KN & operator=(R a)
const KN & operator*=(const KN_< R > &a)
int ijkl(const int i, const int j, const int k, const int l) const
KNMK_(const ShapeOfArray &s, const ShapeOfArray &si, const ShapeOfArray &sj, const ShapeOfArray &sk, R *u)
int N(const ShapeOfArray &a)
const KN_ & operator-=(const Add_Mulc_KN_< R > &u)
int indexijk(int i, int j, int k) const
const KN & operator+=(R a)
const KN_ & operator-=(const KN_< R > &u)
const KN & operator+=(const Mul_KNM_KN_< R > &u)
KNMKL & operator=(const KNMKL_< R > &u)
KNM_(R *u, const ShapeOfArray &s, const ShapeOfArray &si, const ShapeOfArray &sj)
Add_Mulc_KN_(const Mulc_KN_< R > &aa, const KN_< R > &bb, const R cbb)
const KNMK_ & operator*=(const KNMK_< R > &u)
KNMK_ operator()(SubArray si, SubArray sj, SubArray sk) const
KNMKL_ operator()(SubArray si, SubArray sj, SubArray sk) const
ShapeOfArray(int nn, int s, int nextt)
KNM_ operator()(const SubArray &sa, const SubArray &sb) const
ShapeOfArray(int nn, int s)
KNMK & operator=(const KNMK_< R > &u)
const KN_ & operator/=(R a)
Add_Mulc_KN_(const KN_< R > &aa, const R caa, const KN_< R > &bb, const R cbb)
const KNMKL_ & operator+=(R a)
const KN_ & operator-=(const Sub_KN_< R > &u)
KN_< R > operator()(const char, int j) const
const KN & operator-=(const KN_< R > &a)
const KNM & operator/=(R a)
const KN_ & operator+=(const Add_KN_< R > &u)
const KN_ & operator/=(const KN_< R > &u)
const KN & operator/=(R a)
const KNM & operator=(R a)
KN_< R > operator()(int i, int j, int k, const char) const
const KNM_ & operator=(R a)
const KN_ & operator=(const Mulc_KN_< R > &u)
SubArray(int nn, int sta=0, int s=1)
unsigned int indexij(unsigned int i, unsigned int j) const
const KN_ & operator=(const KN_< R > &u)
KNMKL_(const KNMK_< R > &u)
const KNMK_ & operator+=(const KNMK_< R > &u)
const KNM & operator-=(R a)
KN(const int nn, int s, const R a)
R & operator()(int i, int j, int k) const
KNM_< R > operator()(int i, const char, const char) const
const KN_ & operator+=(const KN_< R > &u)
R & operator[](int i) const
const KNMK_ & operator=(const KNMK_< R > &u)
const KN & operator=(const MatriceCreuseMulKN_< R > &A)
long unsigned int indexij(long unsigned int i, long unsigned int j) const
KNMK & operator/=(const KNMK_< R > &u)
KN_< R > operator()(int i, const char) const
const KNM_ & operator*=(R a)
const KNMK_ & operator=(R a)
Mulc_KN_< R > operator*(const R &b, const KN_< R > &a)
KN_< R > operator()(int i, const char, int k, int l) const
const KNMKL_ & operator/=(R a)
R operator,(const KN_< R > &v) const
const KN & operator+=(const Add_Mulc_KN_< R > &u)
const KNMK_ & operator*=(R a)
const KN & operator=(const Add_KN_< R > &u)
const KN_ & operator-=(R a)
Sub_KN_< R > operator-(const KN_< R > &a, const KN_< R > &b)
ShapeOfArray(const ShapeOfArray &old, const SubArray &sub)
const KN_ & operator=(R a)
const KN_ & operator-=(const Mulc_KN_< R > &u)
const KNM & operator+=(const KNM_< R > &u)
const KNMKL_ & operator/=(const KNMKL_< R > &u)
const KN & operator+=(const KN_< R > &a)
R & operator()(long unsigned int i, long unsigned int j) const
KNM_< R > operator()(const char, int j, const char) const
int indexijk(int i, int j, int k, int l) const
const KN & operator=(const Add_Mulc_KN_< R > &u)
KN(const int nn, R(*f)(int i))
const KNMK_ & operator+=(R a)
const KN_ & operator-=(const Mul_KNM_KN_< R > &u)
const KNMK_ & operator/=(const KNMK_< R > &u)
const KN_ & operator=(const Add_Mulc_KN_< R > &u)
const KN & operator=(const Mulc_KN_< R > &u)
const KN & operator/=(const KN_< R > &a)
Mulc_KN_(const Mulc_KN_< R > &aa, R bb)
const KNM & operator=(const KNM_< R > &u)
const KNMKL_ & operator*=(const KNMKL_< R > &u)
SubArray(const ShapeOfArray &)
const KN_ & operator=(const MatriceCreuseMulKN_< R > &)