| arma_ostream_bones.hpp | | arma_ostream_bones.hpp | |
|
| // Copyright (C) 2008-2011 Conrad Sanderson | | // Copyright (C) 2008-2012 Conrad Sanderson | |
| // Copyright (C) 2008-2011 NICTA (www.nicta.com.au) | | // Copyright (C) 2008-2012 NICTA (www.nicta.com.au) | |
| // | | // | |
| // This Source Code Form is subject to the terms of the Mozilla Public | | // This Source Code Form is subject to the terms of the Mozilla Public | |
| // License, v. 2.0. If a copy of the MPL was not distributed with this | | // License, v. 2.0. If a copy of the MPL was not distributed with this | |
| // file, You can obtain one at http://mozilla.org/MPL/2.0/. | | // file, You can obtain one at http://mozilla.org/MPL/2.0/. | |
| | | | |
| //! \addtogroup arma_ostream | | //! \addtogroup arma_ostream | |
| //! @{ | | //! @{ | |
| | | | |
| class arma_ostream_state | | class arma_ostream_state | |
| { | | { | |
| | | | |
| skipping to change at line 48 | | skipping to change at line 48 | |
| template<typename eT> arma_inline static void print_elem(std::ostream& o,
const eT& x, const bool modify); | | template<typename eT> arma_inline static void print_elem(std::ostream& o,
const eT& x, const bool modify); | |
| template<typename T> inline static void print_elem(std::ostream& o,
const std::complex<T>& x, const bool modify); | | template<typename T> inline static void print_elem(std::ostream& o,
const std::complex<T>& x, const bool modify); | |
| | | | |
| template<typename eT> inline static void print(std::ostream& o, const Ma
t<eT>& m, const bool modify); | | template<typename eT> inline static void print(std::ostream& o, const Ma
t<eT>& m, const bool modify); | |
| template<typename eT> inline static void print(std::ostream& o, const Cub
e<eT>& m, const bool modify); | | template<typename eT> inline static void print(std::ostream& o, const Cub
e<eT>& m, const bool modify); | |
| | | | |
| template<typename oT> inline static void print(std::ostream& o, const fie
ld<oT>& m); | | template<typename oT> inline static void print(std::ostream& o, const fie
ld<oT>& m); | |
| template<typename oT> inline static void print(std::ostream& o, const sub
view_field<oT>& m); | | template<typename oT> inline static void print(std::ostream& o, const sub
view_field<oT>& m); | |
| | | | |
| template<typename eT> inline static void print_dense(std::ostream& o, con
st SpMat<eT>& m, const bool modify); | | template<typename eT> inline static void print_dense(std::ostream& o, con
st SpMat<eT>& m, const bool modify); | |
|
| template<typename eT> inline static void print(std::ostream& o, const SpM
at<eT>& m, const bool modify); | | template<typename eT> inline static void print(std::ostream& o, con
st SpMat<eT>& m, const bool modify); | |
| }; | | }; | |
| | | | |
| //! @} | | //! @} | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|
| arma_version.hpp | | arma_version.hpp | |
| | | | |
| skipping to change at line 13 | | skipping to change at line 13 | |
| // | | // | |
| // This Source Code Form is subject to the terms of the Mozilla Public | | // This Source Code Form is subject to the terms of the Mozilla Public | |
| // License, v. 2.0. If a copy of the MPL was not distributed with this | | // License, v. 2.0. If a copy of the MPL was not distributed with this | |
| // file, You can obtain one at http://mozilla.org/MPL/2.0/. | | // file, You can obtain one at http://mozilla.org/MPL/2.0/. | |
| | | | |
| //! \addtogroup arma_version | | //! \addtogroup arma_version | |
| //! @{ | | //! @{ | |
| | | | |
| #define ARMA_VERSION_MAJOR 3 | | #define ARMA_VERSION_MAJOR 3 | |
| #define ARMA_VERSION_MINOR 910 | | #define ARMA_VERSION_MINOR 910 | |
|
| #define ARMA_VERSION_PATCH 0 | | #define ARMA_VERSION_PATCH 1 | |
| #define ARMA_VERSION_NAME "Pyrenees" | | #define ARMA_VERSION_NAME "Pyrenees" | |
| | | | |
| struct arma_version | | struct arma_version | |
| { | | { | |
| static const unsigned int major = ARMA_VERSION_MAJOR; | | static const unsigned int major = ARMA_VERSION_MAJOR; | |
| static const unsigned int minor = ARMA_VERSION_MINOR; | | static const unsigned int minor = ARMA_VERSION_MINOR; | |
| static const unsigned int patch = ARMA_VERSION_PATCH; | | static const unsigned int patch = ARMA_VERSION_PATCH; | |
| | | | |
| static | | static | |
| inline | | inline | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| diskio_meat.hpp | | diskio_meat.hpp | |
| | | | |
| skipping to change at line 17 | | skipping to change at line 17 | |
| // This Source Code Form is subject to the terms of the Mozilla Public | | // This Source Code Form is subject to the terms of the Mozilla Public | |
| // License, v. 2.0. If a copy of the MPL was not distributed with this | | // License, v. 2.0. If a copy of the MPL was not distributed with this | |
| // file, You can obtain one at http://mozilla.org/MPL/2.0/. | | // file, You can obtain one at http://mozilla.org/MPL/2.0/. | |
| | | | |
| //! \addtogroup diskio | | //! \addtogroup diskio | |
| //! @{ | | //! @{ | |
| | | | |
| //! Generate the first line of the header used for saving matrices in text
format. | | //! Generate the first line of the header used for saving matrices in text
format. | |
| //! Format: "ARMA_MAT_TXT_ABXYZ". | | //! Format: "ARMA_MAT_TXT_ABXYZ". | |
| //! A is one of: I (for integral types) or F (for floating point types). | | //! A is one of: I (for integral types) or F (for floating point types). | |
|
| //! B is one of: U (for unsigned types), S (for signed types), N (for not a
ppliable) or C (for complex types). | | //! B is one of: U (for unsigned types), S (for signed types), N (for not a
pplicable) or C (for complex types). | |
| //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | | //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| std::string | | std::string | |
| diskio::gen_txt_header(const Mat<eT>& x) | | diskio::gen_txt_header(const Mat<eT>& x) | |
| { | | { | |
| arma_type_check(( is_supported_elem_type<eT>::value == false )); | | arma_type_check(( is_supported_elem_type<eT>::value == false )); | |
| | | | |
| arma_ignore(x); | | arma_ignore(x); | |
| | | | |
| | | | |
| skipping to change at line 121 | | skipping to change at line 121 | |
| else | | else | |
| { | | { | |
| return std::string(); | | return std::string(); | |
| } | | } | |
| | | | |
| } | | } | |
| | | | |
| //! Generate the first line of the header used for saving matrices in binar
y format. | | //! Generate the first line of the header used for saving matrices in binar
y format. | |
| //! Format: "ARMA_MAT_BIN_ABXYZ". | | //! Format: "ARMA_MAT_BIN_ABXYZ". | |
| //! A is one of: I (for integral types) or F (for floating point types). | | //! A is one of: I (for integral types) or F (for floating point types). | |
|
| //! B is one of: U (for unsigned types), S (for signed types), N (for not a
ppliable) or C (for complex types). | | //! B is one of: U (for unsigned types), S (for signed types), N (for not a
pplicable) or C (for complex types). | |
| //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | | //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| std::string | | std::string | |
| diskio::gen_bin_header(const Mat<eT>& x) | | diskio::gen_bin_header(const Mat<eT>& x) | |
| { | | { | |
| arma_type_check(( is_supported_elem_type<eT>::value == false )); | | arma_type_check(( is_supported_elem_type<eT>::value == false )); | |
| | | | |
| arma_ignore(x); | | arma_ignore(x); | |
| | | | |
| | | | |
| skipping to change at line 225 | | skipping to change at line 225 | |
| else | | else | |
| { | | { | |
| return std::string(); | | return std::string(); | |
| } | | } | |
| | | | |
| } | | } | |
| | | | |
| //! Generate the first line of the header used for saving matrices in binar
y format. | | //! Generate the first line of the header used for saving matrices in binar
y format. | |
| //! Format: "ARMA_SPM_BIN_ABXYZ". | | //! Format: "ARMA_SPM_BIN_ABXYZ". | |
| //! A is one of: I (for integral types) or F (for floating point types). | | //! A is one of: I (for integral types) or F (for floating point types). | |
|
| //! B is one of: U (for unsigned types), S (for signed types), N (for not a
ppliable) or C (for complex types). | | //! B is one of: U (for unsigned types), S (for signed types), N (for not a
pplicable) or C (for complex types). | |
| //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | | //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| std::string | | std::string | |
| diskio::gen_bin_header(const SpMat<eT>& x) | | diskio::gen_bin_header(const SpMat<eT>& x) | |
| { | | { | |
| arma_type_check(( is_supported_elem_type<eT>::value == false )); | | arma_type_check(( is_supported_elem_type<eT>::value == false )); | |
| | | | |
| arma_ignore(x); | | arma_ignore(x); | |
| | | | |
| | | | |
| skipping to change at line 329 | | skipping to change at line 329 | |
| else | | else | |
| { | | { | |
| return std::string(); | | return std::string(); | |
| } | | } | |
| | | | |
| } | | } | |
| | | | |
| //! Generate the first line of the header used for saving cubes in text for
mat. | | //! Generate the first line of the header used for saving cubes in text for
mat. | |
| //! Format: "ARMA_CUB_TXT_ABXYZ". | | //! Format: "ARMA_CUB_TXT_ABXYZ". | |
| //! A is one of: I (for integral types) or F (for floating point types). | | //! A is one of: I (for integral types) or F (for floating point types). | |
|
| //! B is one of: U (for unsigned types), S (for signed types), N (for not a
ppliable) or C (for complex types). | | //! B is one of: U (for unsigned types), S (for signed types), N (for not a
pplicable) or C (for complex types). | |
| //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | | //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| std::string | | std::string | |
| diskio::gen_txt_header(const Cube<eT>& x) | | diskio::gen_txt_header(const Cube<eT>& x) | |
| { | | { | |
| arma_type_check(( is_supported_elem_type<eT>::value == false )); | | arma_type_check(( is_supported_elem_type<eT>::value == false )); | |
| | | | |
| arma_ignore(x); | | arma_ignore(x); | |
| | | | |
| | | | |
| skipping to change at line 433 | | skipping to change at line 433 | |
| else | | else | |
| { | | { | |
| return std::string(); | | return std::string(); | |
| } | | } | |
| | | | |
| } | | } | |
| | | | |
| //! Generate the first line of the header used for saving cubes in binary f
ormat. | | //! Generate the first line of the header used for saving cubes in binary f
ormat. | |
| //! Format: "ARMA_CUB_BIN_ABXYZ". | | //! Format: "ARMA_CUB_BIN_ABXYZ". | |
| //! A is one of: I (for integral types) or F (for floating point types). | | //! A is one of: I (for integral types) or F (for floating point types). | |
|
| //! B is one of: U (for unsigned types), S (for signed types), N (for not a
ppliable) or C (for complex types). | | //! B is one of: U (for unsigned types), S (for signed types), N (for not a
pplicable) or C (for complex types). | |
| //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | | //! XYZ specifies the width of each element in terms of bytes, e.g. "008" i
ndicates eight bytes. | |
| template<typename eT> | | template<typename eT> | |
| inline | | inline | |
| std::string | | std::string | |
| diskio::gen_bin_header(const Cube<eT>& x) | | diskio::gen_bin_header(const Cube<eT>& x) | |
| { | | { | |
| arma_type_check(( is_supported_elem_type<eT>::value == false )); | | arma_type_check(( is_supported_elem_type<eT>::value == false )); | |
| | | | |
| arma_ignore(x); | | arma_ignore(x); | |
| | | | |
| | | | |
End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 5 lines changed or added | |
|
| fn_fft.hpp | | fn_fft.hpp | |
| // Copyright (C) 2013 Conrad Sanderson | | // Copyright (C) 2013 Conrad Sanderson | |
| // Copyright (C) 2013 NICTA (www.nicta.com.au) | | // Copyright (C) 2013 NICTA (www.nicta.com.au) | |
| // | | // | |
| // This Source Code Form is subject to the terms of the Mozilla Public | | // This Source Code Form is subject to the terms of the Mozilla Public | |
| // License, v. 2.0. If a copy of the MPL was not distributed with this | | // License, v. 2.0. If a copy of the MPL was not distributed with this | |
| // file, You can obtain one at http://mozilla.org/MPL/2.0/. | | // file, You can obtain one at http://mozilla.org/MPL/2.0/. | |
| | | | |
| //! \addtogroup fn_fft | | //! \addtogroup fn_fft | |
| //! @{ | | //! @{ | |
| | | | |
|
| // TODO: fft(real) -> complex [to be tested thoroughly] | | // 1D FFT & 1D IFFT | |
| // TODO: fft(complex) -> complex [to be tested thoroughly] | | | |
| // TODO: ifft(complex) -> complex [to be tested thoroughly] | | | |
| | | | |
| template<typename T1> | | template<typename T1> | |
| inline | | inline | |
| typename | | typename | |
| enable_if2 | | enable_if2 | |
| < | | < | |
| (is_arma_type<T1>::value && is_real<typename T1::elem_type>::value), | | (is_arma_type<T1>::value && is_real<typename T1::elem_type>::value), | |
| const mtOp<std::complex<typename T1::pod_type>, T1, op_fft_real> | | const mtOp<std::complex<typename T1::pod_type>, T1, op_fft_real> | |
| >::result | | >::result | |
| fft(const T1& A) | | fft(const T1& A) | |
| | | | |
| skipping to change at line 105 | | skipping to change at line 103 | |
| (is_arma_type<T1>::value && is_complex_strict<typename T1::elem_type>::va
lue), | | (is_arma_type<T1>::value && is_complex_strict<typename T1::elem_type>::va
lue), | |
| const Op<T1, op_ifft_cx> | | const Op<T1, op_ifft_cx> | |
| >::result | | >::result | |
| ifft(const T1& A, const uword N) | | ifft(const T1& A, const uword N) | |
| { | | { | |
| arma_extra_debug_sigprint(); | | arma_extra_debug_sigprint(); | |
| | | | |
| return Op<T1, op_ifft_cx>(A, N, uword(0)); | | return Op<T1, op_ifft_cx>(A, N, uword(0)); | |
| } | | } | |
| | | | |
|
| | | // TODO: 2D FFT & 2D IFFT | |
| | | | |
| //! @} | | //! @} | |
| | | | |
End of changes. 2 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|