From 879e2ac0a540fa1b199e20d47830aa5eea484a4c Mon Sep 17 00:00:00 2001 From: cornet Date: Wed, 22 Apr 2009 05:54:43 +0000 Subject: build with visual studio (dynamic libraries) --- src/matrixOperations/includes/spec.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src/matrixOperations/includes/spec.h') diff --git a/src/matrixOperations/includes/spec.h b/src/matrixOperations/includes/spec.h index ab12a6ba..b7b7d35c 100644 --- a/src/matrixOperations/includes/spec.h +++ b/src/matrixOperations/includes/spec.h @@ -14,9 +14,14 @@ #ifndef __SPEC_H__ #define __SPEC_H__ +#include "dynlib_matrixoperations.h" #include "doubleComplex.h" #include "floatComplex.h" +#ifdef __cplusplus +extern "C" { +#endif + /* spec gives only the eigenvalues If you want the eigenvalues and the eigenvectors, use spec2 */ @@ -26,10 +31,10 @@ #define cspecs(in) in #define zspecs(in) in -void sspeca(float* in, int rows, float* out); -void dspeca(double* in, int rows, double* out); -void cspeca(floatComplex* in, int rows, floatComplex* out); -void zspeca(doubleComplex* in, int rows,doubleComplex* out); +EXTERN_MATOPS void sspeca(float* in, int rows, float* out); +EXTERN_MATOPS void dspeca(double* in, int rows, double* out); +EXTERN_MATOPS void cspeca(floatComplex* in, int rows, floatComplex* out); +EXTERN_MATOPS void zspeca(doubleComplex* in, int rows,doubleComplex* out); @@ -39,10 +44,13 @@ void zspeca(doubleComplex* in, int rows,doubleComplex* out); #define cspec2s(in,out) cspecs(FloatComplex(1,0));*out=FloatComplex(creals(in),cimags(in)); #define zspec2s(in,out) zspecs(DoubleComplex(1,0));*out=DoubleComplex(zreals(in),zimags(in)); -void sspec2a(float* in, int rows, float* eigenvalues,float* eigenvectors); -void dspec2a(double* in, int rows, double* eigenvalues,double* eigenvectors); -void cspec2a(floatComplex* in, int rows, floatComplex* eigenvalues,floatComplex* eigenvectors); -void zspec2a(doubleComplex* in, int rows,doubleComplex* eigenvalues,doubleComplex* eigenvectors); +EXTERN_MATOPS void sspec2a(float* in, int rows, float* eigenvalues,float* eigenvectors); +EXTERN_MATOPS void dspec2a(double* in, int rows, double* eigenvalues,double* eigenvectors); +EXTERN_MATOPS void cspec2a(floatComplex* in, int rows, floatComplex* eigenvalues,floatComplex* eigenvectors); +EXTERN_MATOPS void zspec2a(doubleComplex* in, int rows,doubleComplex* eigenvalues,doubleComplex* eigenvectors); +#ifdef __cplusplus +} /* extern "C" */ +#endif #endif /* __SPEC_H__ */ -- cgit