Main Page
Modules
Namespaces
Classes
Files
File List
File Members
include
armadillo_bits
operator_cube_schur.hpp
Go to the documentation of this file.
1
// Copyright (C) 2008-2010 NICTA (www.nicta.com.au)
2
// Copyright (C) 2008-2010 Conrad Sanderson
3
//
4
// This file is part of the Armadillo C++ library.
5
// It is provided without any warranty of fitness
6
// for any purpose. You can redistribute this file
7
// and/or modify it under the terms of the GNU
8
// Lesser General Public License (LGPL) as published
9
// by the Free Software Foundation, either version 3
10
// of the License or (at your option) any later version.
11
// (see http://www.opensource.org/licenses for more info)
12
13
16
17
18
// operator %, which we define it to do a schur product (element-wise multiplication)
19
20
22
template
<
typename
T1,
typename
T2>
23
arma_inline
24
const
eGlueCube<T1, T2, eglue_schur>
25
operator
%
26
(
27
const
BaseCube<typename T1::elem_type,T1>
& X,
28
const
BaseCube<typename T1::elem_type,T2>
& Y
29
)
30
{
31
arma_extra_debug_sigprint
();
32
33
return
eGlueCube<T1, T2, eglue_schur>
(X.
get_ref
(), Y.get_ref());
34
}
35
36
37
39
template
<
typename
T1,
typename
T2>
40
inline
41
const
mtGlueCube<typename promote_type<typename T1::elem_type, typename T2::elem_type>::result
, T1, T2,
glue_mixed_schur
>
42
operator
%
43
(
44
const
BaseCube< typename force_different_type<typename T1::elem_type, typename T2::elem_type>::T1_result
, T1>& X,
45
const
BaseCube< typename force_different_type<typename T1::elem_type, typename T2::elem_type>::T2_result
, T2>& Y
46
)
47
{
48
arma_extra_debug_sigprint
();
49
50
typedef
typename
T1::elem_type eT1;
51
typedef
typename
T2::elem_type eT2;
52
53
typedef
typename
promote_type<eT1,eT2>::result
out_eT;
54
55
promote_type<eT1,eT2>::check
();
56
57
return
mtGlueCube<out_eT, T1, T2, glue_mixed_schur>
( X.
get_ref
(), Y.get_ref() );
58
}
59
60
61
promote_type::result
is_promotable< T1, T2 >::result result
Definition:
promote_type.hpp:204
promote_type::check
static void check()
Definition:
promote_type.hpp:199
glue_mixed_schur
Definition:
glue_mixed_bones.hpp:68
mtGlueCube
Definition:
forward_bones.hpp:106
arma_extra_debug_sigprint
#define arma_extra_debug_sigprint
Definition:
debug.hpp:1116
BaseCube
Analog of the Base class, intended for cubes.
Definition:
BaseCube_bones.hpp:21
arma_inline
#define arma_inline
Definition:
compiler_setup.hpp:19
BaseCube::get_ref
arma_inline const derived & get_ref() const
Definition:
BaseCube_meat.hpp:22
eGlueCube
Definition:
eGlueCube_bones.hpp:19
armadillo_matrix
Author(s):
autogenerated on Fri Apr 16 2021 02:31:58