digitalmars.D - Calling CBLAS with enums
- Drew McCormack (20/20) May 04 2004 I am trying to call a CBLAS routine from my D program. The C function
- Drew McCormack (4/33) May 04 2004 Sorry, I'm really dumb. I see I left out the 'void' in the function
I am trying to call a CBLAS routine from my D program. The C function requires some enums, and I'm not sure how to do this. I thought I could just define the enums in my D code, like this: extern (C) enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 }; extern (C) enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113, AtlasConj=114}; extern (C) cblas_dgemm( CBLAS_ORDER Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, double alpha, double *A, int lda, double *B, int ldb, double beta, double *C, int ldc); (I wasn't sure whether I needed the extern(C) for the enums, so I tried with and without.) I am getting this error when I compile: linearalgebra.d(7): found 'Order' when expecting ')' linearalgebra.d(7): semicolon expected, not 'TransA' linearalgebra.d(7): no identifier for declarator What am I doing wrong? Drew
May 04 2004
Sorry, I'm really dumb. I see I left out the 'void' in the function signature :-( Drew On 2004-05-04 15:20:53 +0200, Drew McCormack <drewmccormack mac.com> said:I am trying to call a CBLAS routine from my D program. The C function requires some enums, and I'm not sure how to do this. I thought I could just define the enums in my D code, like this: extern (C) enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 }; extern (C) enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113, AtlasConj=114}; extern (C) cblas_dgemm( CBLAS_ORDER Order, CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB, int M, int N, int K, double alpha, double *A, int lda, double *B, int ldb, double beta, double *C, int ldc); (I wasn't sure whether I needed the extern(C) for the enums, so I tried with and without.) I am getting this error when I compile: linearalgebra.d(7): found 'Order' when expecting ')' linearalgebra.d(7): semicolon expected, not 'TransA' linearalgebra.d(7): no identifier for declarator What am I doing wrong? Drew
May 04 2004