From af6e8f78292459bb1246ec993d0b8f581990d350 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Fri, 15 May 2015 11:41:31 +0100 Subject: [PATCH] Force inlining on ICPC because inline apparently is not enoguh --- lib/math/Grid_math_arith_sub.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/math/Grid_math_arith_sub.h b/lib/math/Grid_math_arith_sub.h index de4ef9e5..c359349f 100644 --- a/lib/math/Grid_math_arith_sub.h +++ b/lib/math/Grid_math_arith_sub.h @@ -14,14 +14,14 @@ namespace Grid { // Vector +/- Vector // Matrix +/- Matrix // Matrix /- scalar -template inline void sub(iScalar * __restrict__ ret, +template strong_inline void sub(iScalar * __restrict__ ret, const iScalar * __restrict__ lhs, const iScalar * __restrict__ rhs) { sub(&ret->_internal,&lhs->_internal,&rhs->_internal); } -template inline void sub(iVector * __restrict__ ret, +template strong_inline void sub(iVector * __restrict__ ret, const iVector * __restrict__ lhs, const iVector * __restrict__ rhs) { @@ -30,7 +30,7 @@ template inline void sub(iVector inline void sub(iMatrix * __restrict__ ret, +template strong_inline void sub(iMatrix * __restrict__ ret, const iMatrix * __restrict__ lhs, const iMatrix * __restrict__ rhs){ for(int c2=0;c2 inline void sub(iMatrix inline void sub(iMatrix * __restrict__ ret, +template strong_inline void sub(iMatrix * __restrict__ ret, const iScalar * __restrict__ lhs, const iMatrix * __restrict__ rhs){ for(int c2=0;c2 inline void sub(iMatrix inline void sub(iMatrix * __restrict__ ret, +template strong_inline void sub(iMatrix * __restrict__ ret, const iMatrix * __restrict__ lhs, const iScalar * __restrict__ rhs){ for(int c2=0;c2 inline void sub(iMatrix inline auto +template strong_inline auto operator - (const iScalar& lhs, const iScalar& rhs) -> iScalar { typedef iScalar ret_t; @@ -78,7 +78,7 @@ operator - (const iScalar& lhs, const iScalar& rhs) -> iScalar -inline auto operator - (const iVector& lhs,const iVector& rhs) ->iVector +strong_inline auto operator - (const iVector& lhs,const iVector& rhs) ->iVector { typedef iVector ret_t; ret_t ret; @@ -86,7 +86,7 @@ inline auto operator - (const iVector& lhs,const iVector& rhs) return ret; } template -inline auto operator - (const iMatrix& lhs,const iMatrix& rhs) ->iMatrix +strong_inline auto operator - (const iMatrix& lhs,const iMatrix& rhs) ->iMatrix { typedef iMatrix ret_t; ret_t ret; @@ -94,7 +94,7 @@ inline auto operator - (const iMatrix& lhs,const iMatrix& rhs) return ret; } template -inline auto operator - (const iScalar& lhs,const iMatrix& rhs)->iMatrix +strong_inline auto operator - (const iScalar& lhs,const iMatrix& rhs)->iMatrix { typedef iMatrix ret_t; ret_t ret; @@ -102,7 +102,7 @@ inline auto operator - (const iScalar& lhs,const iMatrix& rhs)-> return ret; } template -inline auto operator - (const iMatrix& lhs,const iScalar& rhs)->iMatrix +strong_inline auto operator - (const iMatrix& lhs,const iScalar& rhs)->iMatrix { typedef iMatrix ret_t; ret_t ret;