From 370e969b40b3d1d7d2fe628605ecfb47a7040027 Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Fri, 26 Jul 2013 09:00:32 +0200
Subject: [PATCH] Changed optimization for one function

OptimalAlignment::weightedAlignment crashed with intel c++ -O3.
I was not able to find why (gdb and valgrind did not help).
With this workaround, that function only is optimized at -O2 anyway.
---
 src/tools/OptimalAlignment.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/tools/OptimalAlignment.cpp b/src/tools/OptimalAlignment.cpp
index 4a5cc52d4..00e88ac7b 100644
--- a/src/tools/OptimalAlignment.cpp
+++ b/src/tools/OptimalAlignment.cpp
@@ -110,6 +110,10 @@ double OptimalAlignment::calculate(bool squared, std::vector<Vector> & derivativ
 
 	return err;
 }
+
+#ifdef __INTEL_COMPILER
+#pragma intel optimization_level 2
+#endif
 /// this does the weighed alignment if the vector of alignment is different from displacement
 double OptimalAlignment::weightedAlignment( bool rmsd){
 	double tmp0,tmp1,walign,wdisplace,const1,ret;
-- 
GitLab