comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.de>
Subject: Re: C Interface example
Date: Sat, 03 Feb 2007 20:17:50 +0100
Date: 2007-02-03T20:17:43+01:00	[thread overview]
Message-ID: <1170530269.24067.10.camel@localhost.localdomain> (raw)
In-Reply-To: <1170526166.831811.237660@h3g2000cwc.googlegroups.com>

On Sat, 2007-02-03 at 10:09 -0800, artifact.one@googlemail.com wrote:
> On Feb 3, 5:48 pm, Gautier <gaut...@fakeaddress.nil> wrote:
> > Looking at your code the most simple and portable way will be not to interface
> > at all with C!
> >
> > package Vectors is
> >
> >    type Vector is array(Natural range <>) of Float;
> >
> >    procedure Add(va: in out Vector; vb: in Vector);
> >
> > end Vectors;

In fact, Ada 2007 will provide this in the standard library,

with Ada.Numerics.Real_Arrays;

   va, vb, result: Real_Array(1 .. n);

   result := va + vb;

Not sure whether there is a big performance penalty
when not modifying va in place.


> Yes this was quite a contrived example because my real version of
> vec_add()
> actually calls Altivec, SSE, SSE2 or pure C code depending on detected
> hardware,
> which stretches on to about 300 lines.

Any reason to dismiss the BLAS libraries optimized for
the respective processors?





  reply	other threads:[~2007-02-03 19:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-03 15:20 C Interface example artifact.one
2007-02-03 16:15 ` Ludovic Brenta
2007-02-03 17:15   ` Simon Wright
2007-02-03 19:43     ` Ludovic Brenta
2007-02-03 17:39   ` artifact.one
2007-02-04 14:34     ` Stephen Leake
2007-02-03 16:19 ` Cesar Rabak
2007-02-03 17:40   ` artifact.one
2007-02-03 19:59     ` Cesar Rabak
2007-02-03 17:48 ` Gautier
2007-02-03 18:09   ` artifact.one
2007-02-03 19:17     ` Georg Bauhaus [this message]
2007-02-03 19:53       ` artifact.one
2007-02-03 20:02         ` Gautier
2007-02-03 21:36           ` Georg Bauhaus
2007-02-03 19:48     ` tmoran
2007-02-03 19:55       ` artifact.one
2007-02-04 14:37     ` Stephen Leake
2007-02-03 20:42   ` Pascal Obry
2007-02-03 20:52 ` Jeffrey R. Carter
2007-02-03 20:57   ` artifact.one
2007-02-04  4:05     ` Jeffrey R. Carter
2007-02-04 11:52   ` Simon Wright
2007-02-04 20:59     ` Jeffrey R. Carter
2007-02-05  8:56   ` Maciej Sobczak
2007-02-05 18:12     ` Jeffrey R. Carter
2007-02-06  1:48       ` Randy Brukardt
2007-02-06  8:20         ` Maciej Sobczak
2007-02-06 19:18         ` Jeffrey R. Carter
2007-02-04 14:32 ` Stephen Leake
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox