comp.lang.ada
 help / color / mirror / Atom feed
From: artifact.one@googlemail.com
Subject: Re: C Interface example
Date: 3 Feb 2007 10:09:26 -0800
Date: 2007-02-03T10:09:26-08:00	[thread overview]
Message-ID: <1170526166.831811.237660@h3g2000cwc.googlegroups.com> (raw)
In-Reply-To: <45c4cae7$1_4@news.bluewin.ch>

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;
>
> package body Vectors is
>
>    procedure Add(va: in out Vector; vb: in Vector) is
>    begin
>      for i in va'Range loop
>        va(i):= va(i) + vb(i);
>      end loop;
>    end Add;
>
> end Vectors;
>
> Note that most compilers accept the spec and the body (or more!) in the same
> file with the name of your choice; GNAT requires vectors.ads and vectors.adb
> HTH

Hello.

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. I didn't think anybody would
appreciate
reading all that just for an example on interfacing...

MC




  reply	other threads:[~2007-02-03 18:09 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 [this message]
2007-02-03 19:17     ` Georg Bauhaus
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