From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1014db,690ce1f62160d05a X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,690ce1f62160d05a X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,690ce1f62160d05a X-Google-Attributes: gid103376,public X-Google-Thread: 1094ba,690ce1f62160d05a X-Google-Attributes: gid1094ba,public From: "E. Robert Tisdale" Subject: Re: How to Design an Application Programmers' Interface (API) Date: 2000/08/11 Message-ID: <3994158E.150D1FDA@netwood.net>#1/1 X-Deja-AN: 657205776 Content-Transfer-Encoding: 7bit References: <39921178.819F6DCB@netwood.net> <399386EF.4F2AA3E6@netwood.net> <39940E84.B3115EFC@maths.unine.ch> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsabuse@supernews.com Organization: Posted via Supernews, http://www.supernews.com MIME-Version: 1.0 Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.fortran,comp.lang.ada Date: 2000-08-11T00:00:00+00:00 List-Id: Gautier wrote: > E. Robert Tisdale: > > > Unfortunately, the C, C++ and Fortran 90 language bindings > > don't improve the BLAS library API very much. > > You may take a look to the Ada95 binding to BLAS : > > http://topo.math.u-psud.fr/~sands/BLAS/ These thin interfaces to another language binding are called adapters. You have implemented a very nice adapter but I'm not sure why. Your adapter isn't really any more useful to Ada application programmers than the Fortran 77 language binding is to Fortran application programmers. Is it meant to help programmers implement linear algebra packages in Ada for Ada numerical application programmers to use? I think that Ada numerical application programmers should be able to write C := alpha*product(A, B) + beta*C; and let the compiler resolve the expression to a DGEMM procedure call. Calling DGEMM directly from an Ada application program abrogates all of the safety feature built into the Ada language. Take a look at the Ada95 Matrix Package http://dflwww.ece.drexel.edu/research/ada/ Chris Papademetrious, Xiaoxun Zhu, Moshe Kam had the right idea but the wrong Abstract Data Type. An Ada95 Matrix Package should support strided views (slices) of existing arrays of numbers like every other high performance matrix library developed over the last 50 years. The actual details of allocating and deallocating memory for array storage may vary slightly from one language binding to the next.