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.
next prev parent 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