comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Does Ada need elemental functions to make it suitable for scientific work?
Date: Tue, 10 Jul 2012 12:06:20 +0100
Date: 2012-07-10T12:06:20+01:00	[thread overview]
Message-ID: <m2pq83zxhv.fsf@nidhoggr.home> (raw)
In-Reply-To: jtfpdr$2lt$1@speranza.aioe.org

"Nasser M. Abbasi" <nma@12000.org> writes:

> In Fortran, I can just write V**2, where V is a vector. In Ada, I
> can't do that. Since ** is not defined on this array type and this
> number type.
>
> I would have to write a loop to iterate over V and do V(I)**2 on each
> element.
>
> This for me, is a step backward. This is how Fortran77 was.
>
> I know I am a newbie in Ada, and I could have overlooked a simple
> solution to do this. But I really do not want to write packages and
> define operators each time and for each type I make to have it work as
> elemental function each time.
>
> This is something that should be build into the language.

The relevant AI is, I think, AI95-00296[1]. The !discussion says that

   "The component by component operations of * / and ** on vectors have
   been deleted [from ISO/IEC 13813] on the grounds that they are not
   useful. (They might be useful for manipulating arrays in general but
   we are concerned with arrays used as vectors for linear algebra.)

   "Operations for vector products were considered but not added. This
   is because, as usually defined, they only apply in three-dimensional
   space."

GNAT would allow you to implement them fairly easily using
System.Generic_Array_Operations (which is a GNAT internal package that
survived the transition to GNAT GPL 2012!).

You could make the case that they are in fact useful and should be
incorporated, but of course that won't happen until the 202x revision.

[1] http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ais/ai-00296.txt?rev=1.23



  parent reply	other threads:[~2012-07-10 11:06 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-09 23:27 Does Ada need elemental functions to make it suitable for scientific work? Nasser M. Abbasi
     [not found] ` <d78nv7dhf88bqv7hrd9eft231a4h2scs10@invalid.netcom.com>
2012-07-10  4:22   ` Nasser M. Abbasi
2012-07-10 14:26     ` Marco
2012-07-10  4:24 ` gautier_niouzes
2012-07-10  5:22   ` Ada novice
2012-07-10  7:27     ` Dmitry A. Kazakov
2012-07-10  8:06     ` gautier_niouzes
     [not found]     ` <637de084-0e71-4077-a1c5-fc4200cad3cf@googlegroups.com>
2012-07-10  8:39       ` Nasser M. Abbasi
2012-07-10  8:58         ` Ada novice
2012-07-10  9:07         ` Dmitry A. Kazakov
2012-07-10  9:21           ` Nasser M. Abbasi
2012-07-10  9:26             ` Nasser M. Abbasi
2012-07-10  9:50             ` Dmitry A. Kazakov
2012-07-20  1:56             ` Randy Brukardt
2012-07-20 21:49               ` Adam Beneschan
2012-07-12  0:31           ` robin.vowels
2012-07-12  7:12             ` Dmitry A. Kazakov
2012-07-29 13:39               ` Robin Vowels
2012-07-29 14:22                 ` Dmitry A. Kazakov
2012-07-29 20:54                   ` glen herrmannsfeldt
     [not found]                     ` <apib1897s56dkultqmfl3emvk1os3tfdak@invalid.netcom.com>
2012-07-30  4:15                       ` glen herrmannsfeldt
     [not found]                         ` <nfhd181tv9u87mcqfb7rgd8lm48ihr9f4r@invalid.netcom.com>
2012-07-31  8:53                           ` MATRIX MULTIPLICATION Robin Vowels
2012-07-31  9:05                             ` Robin Vowels
2012-07-30  0:49                   ` Does Ada need elemental functions to make it suitable for scientific work? Robin Vowels
2012-07-12  0:22         ` robin.vowels
2012-07-20  1:51         ` Randy Brukardt
2012-07-29 13:53           ` Robin Vowels
2012-07-29 15:51             ` J-P. Rosen
2012-07-29 16:07               ` Dmitry A. Kazakov
2012-07-29 20:30                 ` Simon Wright
2012-07-29 20:59                   ` glen herrmannsfeldt
2012-07-29 21:44                   ` J-P. Rosen
2012-07-29 22:54                     ` Simon Wright
2012-07-30  0:53               ` Robin Vowels
2012-07-30  2:20               ` Shmuel Metz
2012-07-10 12:46       ` Brian Drummond
2012-07-10 11:06 ` Simon Wright [this message]
2012-07-10 11:59 ` Georg Bauhaus
2012-07-10 12:20 ` Brian Drummond
2012-07-10 19:52 ` Ada novice
2012-07-11  8:41   ` gautier_niouzes
2012-07-11  9:42     ` Ken Thomas
replies disabled

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