comparison armadillo-2.4.4/include/armadillo_bits/fn_zeros.hpp @ 0:8b6102e2a9b0

Armadillo Library
author maxzanoni76 <max.zanoni@eecs.qmul.ac.uk>
date Wed, 11 Apr 2012 09:27:06 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:8b6102e2a9b0
1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
2 // Copyright (C) 2008-2011 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
14 //! \addtogroup fn_zeros
15 //! @{
16
17
18 //! Generate a vector with all elements set to zero
19 arma_inline
20 const Gen<vec::elem_type, gen_zeros>
21 zeros(const uword n_elem)
22 {
23 arma_extra_debug_sigprint();
24
25 return Gen<vec::elem_type, gen_zeros>(n_elem, 1);
26 }
27
28
29
30 template<typename vec_type>
31 arma_inline
32 const Gen<typename vec_type::elem_type, gen_zeros>
33 zeros(const uword n_elem, const arma_empty_class junk1 = arma_empty_class(), const typename arma_Mat_Col_Row_only<vec_type>::result* junk2 = 0)
34 {
35 arma_extra_debug_sigprint();
36 arma_ignore(junk1);
37 arma_ignore(junk2);
38
39 if(is_Row<vec_type>::value == true)
40 {
41 return Gen<typename vec_type::elem_type, gen_zeros>(1, n_elem);
42 }
43 else
44 {
45 return Gen<typename vec_type::elem_type, gen_zeros>(n_elem, 1);
46 }
47 }
48
49
50
51 //! Generate a dense matrix with all elements set to zero
52 arma_inline
53 const Gen<mat::elem_type, gen_zeros>
54 zeros(const uword n_rows, const uword n_cols)
55 {
56 arma_extra_debug_sigprint();
57
58 return Gen<mat::elem_type, gen_zeros>(n_rows, n_cols);
59 }
60
61
62
63 template<typename mat_type>
64 arma_inline
65 const Gen<typename mat_type::elem_type, gen_zeros>
66 zeros(const uword n_rows, const uword n_cols, const typename arma_Mat_Col_Row_only<mat_type>::result* junk = 0)
67 {
68 arma_extra_debug_sigprint();
69 arma_ignore(junk);
70
71 return Gen<typename mat_type::elem_type, gen_zeros>(n_rows, n_cols);
72 }
73
74
75
76 arma_inline
77 const GenCube<cube::elem_type, gen_zeros>
78 zeros(const uword n_rows, const uword n_cols, const uword n_slices)
79 {
80 arma_extra_debug_sigprint();
81
82 return GenCube<cube::elem_type, gen_zeros>(n_rows, n_cols, n_slices);
83 }
84
85
86
87 template<typename cube_type>
88 arma_inline
89 const GenCube<typename cube_type::elem_type, gen_zeros>
90 zeros(const uword n_rows, const uword n_cols, const uword n_slices, const typename arma_Cube_only<cube_type>::result* junk = 0)
91 {
92 arma_extra_debug_sigprint();
93 arma_ignore(junk);
94
95 return GenCube<typename cube_type::elem_type, gen_zeros>(n_rows, n_cols, n_slices);
96 }
97
98
99
100 //! @}