comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Interfacing Ada with C
Date: Sat, 31 Jul 2010 22:02:06 +0100
Date: 2010-07-31T22:02:06+01:00	[thread overview]
Message-ID: <m2y6crbc1d.fsf@pushface.org> (raw)
In-Reply-To: 926bde60-e228-4394-8fca-bcaee1eb72f0@s9g2000yqd.googlegroups.com

Ada novice <posts@gmx.us> writes:

> Success here with the testing! Thanks for all your very kind help
> Simon. First, I would like to draw your attention on 1 point. At
> first, I was copying your raw files into AdaGIDE in order to save
> them. Then running gnatmake -p -P test_extensions did produce a lots
> of error messages: incorrect line terminator. I remember getting this
> message before and what I did was to save the files in GPS and the
> error messages disappear. I think in AdaGIDE pasting raw text can
> cause some incompatibility due to the file system used. This is why I
> guess I got this error: incorrect line terminator. I can't explain
> this but I don't have it in GPS.

Was this perhaps with the ada-numerics* files? there may be some -gnatpg
problem with inconsistent line terminators, I guess GPS is clever enough
to know that it's going to be anuisance and fix it.

> After successfully saving all your raw files within GPS, I ran
> gnatmake -p -P test_extensions without any warnings/error messages and
> the following were created:
>
> A.) A lib folder is created at the same hierarchy level as src and
> test. It has 2 files:
> 1.libada_math.dll
> 2.ada-numerics-generic_complex_arrays-extensions.ali
>
> B.) In the src folder a .build folder is created with 2 files:
> 1. ada-numerics-generic_complex_arrays-extensions.ali
> 2. ada-numerics-generic_complex_arrays-extensions.o
>
> C.) In the test folder a .build folder is created with 6 files:
> 1. b~test_extensions.adb
> 2. b~test_extensions.ads
> 3. b~test_extensions.ali
> 4. b~test_extensions.o
> 5. test_extensions.ali
> 6. test_extensions.o
>
> Then I was able to build using Build main: test_extensions.adb
> successfully.

This looks as expected. NB that's a sort of half-baked library; to make
a proper dll * include files it needs to be a 'stand-alone library' in
GNAT terms. From the user's point of view it Just Works (I did have a
problem on a Debian machine with GCC 4.3.2, didn't automatically find
the shared library). Anyway, if it works for you on windows don't worry
about it!

> Now for the outputs I get:
>
>  2.00000E+00  4.00000E+00
>  2.00000E+00 -4.00000E+00
>  9.99999E-01  1.10569E-07
>
> -6.00000E+00
> -4.00000E+00
> -2.00000E+00
> -1.21279E-07
>  2.00000E+00
>  4.00000E+00
>  6.00000E+00
>
>  6.00000E+00  0.00000E+00
>  4.00000E+00  0.00000E+00
> -6.00000E+00  0.00000E+00
>  2.00000E+00  0.00000E+00
> -3.17504E-07  0.00000E+00
> -4.00000E+00  0.00000E+00
> -2.00000E+00  0.00000E+00
>
> The second set of results are for the Test16 which are ok. What about
> the third set of results? What are these?

The second set are with the package that comes with the compiler, that
takes a symmetric complex matrix (which this is - needs to be complex to
check the new code) and outputs a real eigenvalue vector.

The third set are with the new package, that takes a general complex
matrix and outputs a complex eigenvalue vector.

> I didn't add -gnatpg for the compiler switch. I had these: -gnatqQ -
> gnat05 and I can compile fine and output the results. Is the -gnatpg a
> necessity?

Yes *but only in the src/ directory*, which is why it's in
ada_math_build.gpr & not in test_extensions.gpr.

This is part of a clean compile...

   gcc -c -g -fPIC -gnatpg -gnatqQ -gnat05 -I- -gnatA /Users/simon/gnat-math-extn/src/ada-numerics-generic_complex_arrays-extensions.adb
   gcc -c -g -gnatqQ -gnat05 -I- -gnatA /Users/simon/gnat-math-extn/test/test_extensions.adb

and the first line, for the library, has the additional flags -fPIC
(because, on this architecture, you need position-independent code for a
shared library) and -gnatpg (from ada_math_build.gpr, as discussed).

> Thanks very much for helping me with the compilation. Now it's good
> that some more testing is done on different cases. Do you plan to add
> the output for eigenvectors also?

Seemed like a plan! Also real non-symmetric, I think.

I found the LAPACK test suite described here -
http://www.netlib.org/lapack/lawns/lawn41.ps - could be useful though it
could also be a pain to translate.



  reply	other threads:[~2010-07-31 21:02 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-24 11:57 Interfacing Ada with C Ada novice
2010-07-24 12:08 ` Robert A Duff
2010-07-24 12:32   ` Ada novice
2010-07-24 14:52   ` Marco
2010-07-24 16:38 ` Simon Wright
2010-07-24 17:58   ` Ada novice
2010-07-25  8:29     ` Simon Wright
2010-07-25 12:21       ` Ada novice
2010-07-25 13:50         ` Dmitry A. Kazakov
2010-07-25 14:12           ` Ada novice
2010-07-25 14:17             ` Ada novice
2010-07-25 14:26               ` Simon Wright
2010-07-25 16:18                 ` Ada novice
2010-07-25 17:06                   ` Dmitry A. Kazakov
2010-07-25 17:42                     ` Ada novice
     [not found]                     ` <a5ba4513-ce2b-45d1-a5f4-ff1a7945b0b0@q12g2000yqj.googlegroups.com>
2010-07-25 18:26                       ` Dmitry A. Kazakov
2010-07-25 18:52                         ` Ada novice
2010-07-25 18:58                           ` Dmitry A. Kazakov
2010-07-25 19:13                             ` Ada novice
2010-07-25 19:19                               ` Dmitry A. Kazakov
2010-07-25 19:28                                 ` Ada novice
2010-07-25 20:04                                   ` Dmitry A. Kazakov
2010-07-26 13:40                                     ` Ada novice
2010-07-26 14:52                                       ` Dmitry A. Kazakov
2010-07-26 17:14                                         ` Ada novice
     [not found]                                         ` <a2da2804-c19b-44cf-9855-834c602c4520@y11g2000yqm.googlegroups.com>
2010-07-26 17:32                                           ` Dmitry A. Kazakov
2010-07-26 17:50                                             ` Ada novice
2010-07-27 12:24                                               ` Peter Hermann
2010-07-27 19:01                                                 ` Ada novice
2010-07-28  9:56                                                   ` team-ada (was e: " Peter Hermann
2010-07-27  5:50                     ` Ada novice
2010-07-27  7:27                       ` Dmitry A. Kazakov
2010-07-27  7:43                         ` Georg Bauhaus
2010-07-27 18:37                           ` Ada novice
2010-07-27 18:40                         ` Ada novice
2010-07-25 17:24                   ` Simon Wright
2010-07-25 17:47                     ` Simon Wright
2010-07-25 17:58                       ` Ada novice
2010-07-25 23:21         ` Simon Wright
2010-07-26  1:24           ` John B. Matthews
2010-07-26 14:01           ` Ada novice
2010-07-26 15:46           ` sjw
     [not found]           ` <da987804-3948-4871-ab52-4a8e95f06d44@k39g2000yqb.googlegroups.com>
2010-07-26 19:46             ` Simon Wright
2010-07-26 20:39               ` Dmitry A. Kazakov
2010-07-27  5:46                 ` Ada novice
2010-07-27  5:43               ` Ada novice
2010-07-27 17:33                 ` Simon Wright
2010-07-27 18:34                   ` Ada novice
2010-07-28 22:26               ` Simon Wright
2010-07-29  9:19                 ` Ada novice
2010-07-29 19:14                   ` Simon Wright
2010-07-29 20:25                     ` Ada novice
2010-07-30  1:46                     ` John B. Matthews
2010-07-30  9:09                       ` sjw
2010-07-30 12:41                         ` Ada novice
2010-07-30 15:13                           ` John B. Matthews
2010-07-30 17:25                             ` Ada novice
2010-07-30 19:41                               ` John B. Matthews
2010-07-30 21:08                                 ` Ada novice
2010-07-30 22:19                                   ` Simon Wright
2010-07-31 12:19                                     ` Ada novice
2010-07-31 13:25                                       ` Simon Wright
2010-07-31 19:39                                         ` Ada novice
2010-07-31 21:02                                           ` Simon Wright [this message]
2010-08-01  9:36                                             ` Ada novice
2010-08-01 16:14                                               ` Simon Wright
2010-08-01 16:27                                                 ` Ada novice
2010-08-01 17:33                                                   ` Simon Wright
     [not found]                                     ` <997036dd-ca13-4cdf-8f88-9b47a9f83b2d@s9g2000yqd.googlegroups.com>
2010-07-31 13:08                                       ` Simon Wright
2010-07-31 13:17                                         ` Simon Wright
2010-07-30 15:10                         ` John B. Matthews
2010-08-01 10:47                 ` John B. Matthews
2010-08-01 17:08                   ` Simon Wright
2010-08-02  1:08                     ` John B. Matthews
2010-08-02 16:36                       ` Simon Wright
2010-08-02 16:55                         ` Ada novice
2010-08-05  9:14                           ` Ada novice
2010-08-05 13:23                             ` John B. Matthews
2010-08-05 13:57                               ` sjw
2010-08-05 17:24                                 ` Ada novice
2010-08-05 17:59                                   ` Jeffrey Carter
2010-08-05 20:25                                     ` Simon Wright
2010-08-06  1:15                                       ` John B. Matthews
2010-08-06  9:11                                       ` Ada novice
2010-08-06  9:17                                     ` Ada novice
2010-08-06  8:04                                   ` Jacob Sparre Andersen
2010-08-06  8:42                                     ` Dmitry A. Kazakov
2010-08-06  9:26                                       ` Ada novice
2010-08-06  9:51                                         ` Dmitry A. Kazakov
2010-08-06 12:04                                           ` Ada novice
2010-08-06 16:49                                       ` Simon Wright
2010-08-06 17:27                                         ` Dmitry A. Kazakov
2010-08-06 18:15                                           ` Ada novice
2010-08-06 20:26                                           ` Simon Wright
2010-08-07  0:46                                             ` John B. Matthews
2010-08-07  7:59                                               ` Dmitry A. Kazakov
2010-08-07  9:09                                               ` Georg Bauhaus
2010-08-07 12:33                                                 ` John B. Matthews
2010-08-06  9:49                                     ` Peter Hermann
2010-08-06 12:03                                       ` Ada novice
2010-08-07  4:07                                         ` Randy Brukardt
2010-08-07  8:10                                           ` Ada novice
2010-08-06 16:41                                     ` Simon Wright
2010-08-06  8:39                                   ` sjw
2010-07-24 16:44 ` Dmitry A. Kazakov
2010-07-24 18:04   ` Ada novice
2010-07-24 19:16     ` Dmitry A. Kazakov
2010-07-25  0:22     ` tmoran
  -- strict thread matches above, loose matches on Subject: below --
2003-04-14 21:39 Paul Anderson
2003-04-14 23:05 ` tmoran
2003-04-16  2:56 ` Steve
2003-04-16  4:25   ` Steve
replies disabled

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