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: 103376,5c4627b775acf6be X-Google-Attributes: gid103376,public From: "E. Robert Tisdale" Subject: Re: The Ada Scalar, Vector, Matrix and Tensor arithmetic library? Date: 1999/12/04 Message-ID: <38498EB1.306427C8@netwood.net>#1/1 X-Deja-AN: 556671433 Content-Transfer-Encoding: 7bit References: <38497235.D8339C38@netwood.net> <82btoo$8201@news.cis.okstate.edu> <82buhr$8q61@news.cis.okstate.edu> 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.ada Date: 1999-12-04T00:00:00+00:00 List-Id: David Starner wrote: > On 4 Dec 1999 20:32:24 GMT, > David Starner wrote: > > An Ada binding is inappropriate. > > Stuff like this is usually written in inline generics > > in languages like C++ & Ada for high speed > > Let's try that sentence again. > "Matrix libraries are usually written in > the language they are intended to be used in > to take advantage of inline generics that give it decent speed. > (This is only true for languages that have good inline generics, > like C++ and Ada.)" No one actually cares how matrix libraries are implemented except that the implementation should be optimized appropriately for the target platform and problem domain. Only the Application Programmer's Interface (API) is really important. If the application programmer uses a standard API, it should be possible to port the application to any platform where there is a library that supports the standard API. There are other good reasons for a standard API. The application programmer may use one version of the library to compile quickly and do extensive run time error checking to aid in debugging then recompile with another version of the library which compiles more slowly but does a better job of optimizing and omits all of the run time error checking once all testing and debugging is completed. All of the existing vector and matrix libraries in Ada are older implementations. None of the have all the capabilities of SVMT or other modern libraries based upon vector, matrix and tensor "views" of a one dimensional array of numbers. The API for each existing Ada library was designed around a particular implementation which precludes any other implementation. E. Robert Tisdale