view ext/cblas/src/cblas_ddot.c @ 461:9414df58fd0e

Fix an issue is a mutithreading context The global profile buffers where used concurrently by different threads leading to wrong detection results. This is fixed by using a local copy of the buffers. In addition, this commit also includes some minor performance improvements.
author Daniel Schürmann <daschuer@mixxx.org>
date Fri, 24 May 2019 21:40:47 +0200
parents 905e45637745
children
line wrap: on
line source
#include "cblas.h"
#include "cblas_f77.h"

extern double ddot_(const int *n, const double *dx, const int *incx, const double *dy, const int *incy);

double cblas_ddot( const int N, const double *X,
                   const int incX, const double *Y, const int incY)
{
#ifdef F77_INT
   F77_INT F77_N=N, F77_incX=incX, F77_incY=incY;
#else 
   #define F77_N N
   #define F77_incX incX
   #define F77_incY incY
#endif
   return ddot_( &F77_N, X, &F77_incX, Y, &F77_incY);
}