diff --git a/include/armadillo_bits/arma_rng.hpp b/include/armadillo_bits/arma_rng.hpp index 74e341a6..75d942aa 100644 --- a/include/armadillo_bits/arma_rng.hpp +++ b/include/armadillo_bits/arma_rng.hpp @@ -326,7 +326,7 @@ struct arma_rng::randn } - arma_inline + inline static void dual_val(eT& out1, eT& out2) @@ -441,6 +441,27 @@ struct arma_rng::randn< std::complex > } + inline + static + void + dual_val(std::complex& out1, std::complex& out2) + { + #if defined(_MSC_VER) + T a; + T b; + #else + T a(0); + T b(0); + #endif + + arma_rng::randn::dual_val(a,b); + out1 = std::complex(a,b); + + arma_rng::randn::dual_val(a,b); + out2 = std::complex(a,b); + } + + inline static void