BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
fn_trans.hpp
Go to the documentation of this file.
1/*
2 * BELFEM -- The Berkeley Lab Finite Element Framework
3 * Copyright (c) 2026, The Regents of the University of California,
4 * through Lawrence Berkeley National Laboratory (subject to receipt of any required
5 * approvals from the U.S. Dept. of Energy). All rights reserved.
6 *
7 * Developers: Christian Messe, Gregory Giard
8 *
9 * See the top-level LICENSE file for the complete license and disclaimer.
10 */
11
26
27#ifndef BELFEM_FN_TRANS_HPP
28#define BELFEM_FN_TRANS_HPP
29
30#ifdef BELFEM_ARMADILLO
31#include "armadillo.hpp"
32#elif BELFEM_BLAZE
33#include <blaze/math/functors/Trans.h>
34#endif
35
36#include "cl_Matrix.hpp"
37namespace belfem
38{
39//------------------------------------------------------------------------------
40
41#ifdef BELFEM_ARMADILLO
42 template < typename ET >
43 auto
44 trans( ET & aMatrix )
45 -> decltype( arma::strans( aMatrix ) )
46 {
47 return arma::strans( aMatrix );
48 }
49
50#elif BELFEM_BLAZE
51 template < typename ET >
52 auto
53 trans( ET & aMatrix )
54 -> decltype( blaze::trans( aMatrix ) )
55 {
56 return blaze::trans( aMatrix );
57 }
58
59// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
60
61 template < typename ET >
62 auto
63 trans( const ET & aMatrix )
64 -> decltype( blaze::trans( aMatrix ) )
65 {
66 return blaze::trans( aMatrix );
67 }
68
69#endif
70//------------------------------------------------------------------------------
71
72 template < typename T >
73 auto
74 trans( Matrix < T > & aMatrix )
75 -> decltype( trans( aMatrix.matrix_data() ) )
76 {
77 return trans( aMatrix.matrix_data() );
78 }
79
80// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
81
82 template < typename T >
83 auto
84 trans( const Matrix < T > & aMatrix )
85 -> decltype( trans( aMatrix.matrix_data() ) )
86 {
87 return trans( aMatrix.matrix_data() );
88 }
89
90//------------------------------------------------------------------------------
91}
92
93#endif //BELFEM_FN_TRANS_HPP
USER GUIDES:
Definition cl_Capacitor.cpp:16
auto trans(Matrix< T > &aMatrix) -> decltype(trans(aMatrix.matrix_data()))
Definition fn_trans.hpp:74