[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