[shark] 44/58: added critical region for the sampling
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Mar 16 10:05:32 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch master
in repository shark.
commit 3318253d7128ccce1021f5f4843e340fee34555b
Author: Oswin Krause <oswin.krause at di.ku.dk>
Date: Wed Feb 10 09:01:34 2016 +0100
added critical region for the sampling
---
.../Statistics/Distributions/MultiVariateNormalDistribution.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/include/shark/Statistics/Distributions/MultiVariateNormalDistribution.h b/include/shark/Statistics/Distributions/MultiVariateNormalDistribution.h
index 7120f63..85bca1a 100644
--- a/include/shark/Statistics/Distributions/MultiVariateNormalDistribution.h
+++ b/include/shark/Statistics/Distributions/MultiVariateNormalDistribution.h
@@ -35,7 +35,7 @@
#include <shark/LinAlg/eigenvalues.h>
#include <shark/LinAlg/Cholesky.h>
#include <shark/Rng/GlobalRng.h>
-
+#include <shark/Core/OpenMP.h>
namespace shark {
/// \brief Implements a multi-variate normal distribution with zero mean.
@@ -114,10 +114,11 @@ public:
RealVector result( m_eigenValues.size(), 0. );
RealVector z( m_eigenValues.size() );
+ SHARK_CRITICAL_REGION{
for( std::size_t i = 0; i < result.size(); i++ ) {
z( i ) = Rng::gauss( 0., 1. );
}
-
+ }
for( std::size_t i = 0; i < result.size(); i++ )
for( std::size_t j = 0; j < result.size(); j++ )
result( i ) += m_eigenVectors( i, j ) * std::sqrt( std::abs( m_eigenValues(j) ) ) * z( j );
@@ -199,11 +200,11 @@ public:
void generate(Vector1& y, Vector2& z)const{
z.resize(size());
y.resize(size());
-
+ SHARK_CRITICAL_REGION{
for( std::size_t i = 0; i != size(); i++ ) {
z( i ) = Rng::gauss( 0, 1 );
}
-
+ }
if(m_triangular && size() > 400){
y=z;
blas::triangular_prod<blas::lower>(m_lowerCholesky,y);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/shark.git
More information about the debian-science-commits
mailing list