The funny thing is that src\xs_arrays.c only uses the three constants CblasNoTrans,CblasTrans,CblasConjTrans from BLAS header and does the rest of the array manipulation by hand
So, in src/xs_arrays.c, I've replaced:
#include <Accelerate/Accelerate.h>
with:
typedef enum {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113} CB
+LAS_TRANSPOSE;
and that enables xs_arrays.c to be compiled.
The same alteration needs also to be made to src/xs_stat.c.
But lib/ICC/Support/Lapack.xs also includes Accelerate/Accelerate.h - only this time the above "typedef enum ..." is insufficient as a replacement.
So I've included some additional definitions to Lapack.xs (from cblas.h):
typedef enum {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113} CB
+LAS_TRANSPOSE;
typedef enum {CblasRowMajor=101, CblasColMajor=102} CBLAS_LAYOUT;
typedef enum {CblasUpper=121, CblasLower=122} CBLAS_UPLO;
typedef enum {CblasNonUnit=131, CblasUnit=132} CBLAS_DIAG;
typedef enum {CblasLeft=141, CblasRight=142} CBLAS_SIDE;
typedef int __CLPK_integer;
typedef double __CLPK_doublereal;
That just about enables the thing to compile, but having altered Lapack.xs, I inevitably get the following errors:
lib\\ICC\\Support\\Lapack.xs:1:1: error: stray '\357' in program
/*
^
lib\\ICC\\Support\\Lapack.xs:1:2: error: stray '\273' in program
/*
^
lib\\ICC\\Support\\Lapack.xs:1:3: error: stray '\277' in program
/*
^
and I don't know why such a complaint is being made about a file that appears to be entirely valid.
I've run out of time for tonight.
Cheers, Rob
|