From 19f8a401e8a4c484e1c910f6fc6de8f03312bfe9 Mon Sep 17 00:00:00 2001 From: conrad Date: Sat, 8 Jun 2024 16:46:06 +1000 Subject: [PATCH] generate set of random numbers in one hit --- include/armadillo_bits/spdiagview_meat.hpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/armadillo_bits/spdiagview_meat.hpp b/include/armadillo_bits/spdiagview_meat.hpp index 2965cc57..1a5b113c 100644 --- a/include/armadillo_bits/spdiagview_meat.hpp +++ b/include/armadillo_bits/spdiagview_meat.hpp @@ -1043,9 +1043,13 @@ spdiagview::randu() const uword local_n_elem = n_elem; + Col tmp(local_n_elem, arma_nozeros_indicator()); + + tmp.randu(); + for(uword i=0; i < local_n_elem; ++i) { - x.at(i+row_offset, i+col_offset) = eT(arma_rng::randu()); + x.at(i+row_offset, i+col_offset) = tmp[i]; } } @@ -1062,9 +1066,13 @@ spdiagview::randn() const uword local_n_elem = n_elem; + Col tmp(local_n_elem, arma_nozeros_indicator()); + + tmp.randn(); + for(uword i=0; i < local_n_elem; ++i) { - x.at(i+row_offset, i+col_offset) = eT(arma_rng::randn()); + x.at(i+row_offset, i+col_offset) = tmp[i]; } }