summaryrefslogtreecommitdiff
path: root/src/matrixOperations/includes/spec.h
diff options
context:
space:
mode:
authorcornet2009-04-22 05:54:43 +0000
committercornet2009-04-22 05:54:43 +0000
commit879e2ac0a540fa1b199e20d47830aa5eea484a4c (patch)
tree69ef4242aa8ce27332dec2a27f4e7f10a6f9e8fb /src/matrixOperations/includes/spec.h
parent1811fe5588d0cfbb788ab8f477800af3f45dd710 (diff)
downloadscilab2c-879e2ac0a540fa1b199e20d47830aa5eea484a4c.tar.gz
scilab2c-879e2ac0a540fa1b199e20d47830aa5eea484a4c.tar.bz2
scilab2c-879e2ac0a540fa1b199e20d47830aa5eea484a4c.zip
build with visual studio (dynamic libraries)
Diffstat (limited to 'src/matrixOperations/includes/spec.h')
-rw-r--r--src/matrixOperations/includes/spec.h24
1 files changed, 16 insertions, 8 deletions
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__ */