From 1dde8d5e426b128168c6ce75a3c5c30d4a493dd0 Mon Sep 17 00:00:00 2001 From: "Michael C. Grant" Date: Sat, 22 Mar 2014 15:29:34 -0500 Subject: [PATCH] New README --- README | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/README b/README index 28cc7e9..e74c649 100644 --- a/README +++ b/README @@ -1,8 +1,30 @@ -# dotwrp.f90 +# dotwrp.c -This is a wrapper for four Level 1 BLAS functions -CDOTC CDOTU ZDOTC ZDOTU and SDOT in Accelerate.framework -of Mac OS X. +This is a wrapper for all of the BLAS functions in Apple's vecLib Framework +that have compatibility issues between F2C and GNU Fortran. -# Reference -http://developer.apple.com/hardwaredrivers/ve/errata.html#fortran_conventions +The functions fixed are: + cdotc + cdotu + zdotc + zdotu + sdot + snrm2 + sasum + scnrm2 + scasum +All other BLAS routines work correctly with or without the -ff2c flag. + +Instead of using this package, you could instead compile your FORTRAN with +-ff2c. However, if your code exports any functions returning single-precision +or (single- or double-precision) complex results, then any code that calls +those functions will be forced to follow F2C conventions as well. + +To use, just add dotwrp.c to your existing project, or link to it statically. + +This is an expansion of the "dotwrp" project by tenomoto: + https://github.com/tenomoto/dotwrp +We've chosen to convert the f90 code to c so we can take advantage of the +__attribute__((visibility ("hidden"))) settings. This ensures that the symbols +generated by this code are not visible outside of your project---which is +important if you're mixing multiple FORTRAN-based projects together.