Add support for building only selected variable types
@@ -300,12 +300,15 @@ static void exec_threads(blas_queue_t *queue, int buf_index){
} else
#endif
if ((queue -> mode & BLAS_PREC) == BLAS_DOUBLE){
+#if defined ( BUILD_DOUBLE) || defined (BUILD_COMPLEX16)
sb = (void *)(((BLASLONG)sa + ((DGEMM_P * DGEMM_Q * sizeof(double)
+ GEMM_ALIGN) & ~GEMM_ALIGN)) + GEMM_OFFSET_B);
-
+#endif
} else if ((queue -> mode & BLAS_PREC) == BLAS_SINGLE){
+#if defined (BUILD_SINGLE) || defined (BUILD_COMPLEX)
sb = (void *)(((BLASLONG)sa + ((SGEMM_P * SGEMM_Q * sizeof(float)
+ GEMM_ALIGN) & ~GEMM_ALIGN)) + GEMM_OFFSET_B);
+#endif
} else {
/* Other types in future */
}
@@ -317,15 +320,24 @@ static void exec_threads(blas_queue_t *queue, int buf_index){
} else
#endif
if ((queue -> mode & BLAS_PREC) == BLAS_DOUBLE){
+#ifdef BUILD_COMPLEX16
sb = (void *)(((BLASLONG)sa + ((ZGEMM_P * ZGEMM_Q * 2 * sizeof(double)
+ GEMM_ALIGN) & ~GEMM_ALIGN)) + GEMM_OFFSET_B);
+#else
+fprintf(stderr,"UNHANDLED COMPLEX16\n");
+#endif
} else if ((queue -> mode & BLAS_PREC) == BLAS_SINGLE) {
+#ifdef BUILD_COMPLEX
sb = (void *)(((BLASLONG)sa + ((CGEMM_P * CGEMM_Q * 2 * sizeof(float)
+ GEMM_ALIGN) & ~GEMM_ALIGN)) + GEMM_OFFSET_B);
+#else
+fprintf(stderr,"UNHANDLED COMPLEX\n");
+#endif
} else {
/* Other types in future */
}
}
+if (!sb) fprintf(stderr,"SB not declared!!!\n");
queue->sb=sb;
}
}
