(j3.2006) my CD vote

Cohen Malcolm malcolm
Mon Apr 10 21:07:57 EDT 2017


(1) DPROD is a generic name as well as a specific name.  The specific name is obsolescent (see 16.8), which means that passing it as an actual argument is obsolescent.

This means that Dan?s complaint has already been answered in the affirmative (we did it already) for the specific name, and we never proposed obsoleting a generic name.

I don?t think much of the reasons for DPROD?s continuing utility though:

(2) DPROD(x,y) is not simpler than x*DBLE(y), which is required to be the same as DBLE( x)*DBLE( y), because those are the promotion rules.

(3) If DPROD(x,y) has the same value as DBLE(x)*DBLE(y), and it should have if it?s going to be at all useful (one does not want to get a wrongly-rounded result after all), it?s not particularly useful for making use of extended precision, and it?s hard to see how DPROD remains useful now that compilers know how to generate the same code for x*DBLE(y).

(4) Given the lack of DADD, DSUB, and DDIV, it is a rather anomalous function anyway.

Cheers,

From: Keith Bierman 
Sent: Tuesday, April 11, 2017 4:30 AM
To: Van.Snyder ; fortran standards email list for J3 
Subject: Re: (j3.2006) my CD vote

Isn't it ideal for systems (which seem to come and go over time) which have an extended precision register facility ... so one doesn't need to extend x,y but end up with the product in extended precision (ala DSDOT)?

Keith Bierman
khbkhb at gmail.com
303 997 2749

On Mon, Apr 10, 2017 at 1:27 PM, Van Snyder <van.snyder at jpl.nasa.gov> wrote:

  On Mon, 2017-04-10 at 10:51 -0600, Dan Nagle wrote:
  > Hi,
  >
  > I plan to vote "YES with Comment"
  >
  > My comment follows:
  >
  > The decision to make obsolescent the specific names of intrinsic procedures
  > is a good idea, but it missed one:  DPROD.  DPROD is an anomaly, it requires
  > default reals for arguments.  I've never seen it used in real code.
  > It should be tossed onto the PAUSE heap.

  It is used in some mathematical library codes, usually for special
  functions.  DPROD(x,y) is a bit simpler than DBLE(x)*DBLE(y).


  > --
  >
  > Cheers!
  > Dan Nagle
  >
  >
  >
  >
  > _______________________________________________
  > J3 mailing list
  > J3 at mailman.j3-fortran.org
  > http://mailman.j3-fortran.org/mailman/listinfo/j3


  _______________________________________________
  J3 mailing list
  J3 at mailman.j3-fortran.org
  http://mailman.j3-fortran.org/mailman/listinfo/j3



________________________________________________________________________
This e-mail has been scanned for all viruses by Star.
________________________________________________________________________



--------------------------------------------------------------------------------
_______________________________________________
J3 mailing list
J3 at mailman.j3-fortran.org
http://mailman.j3-fortran.org/mailman/listinfo/j3


-- 
.............Malcolm Cohen, NAG Oxford/Tokyo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.j3-fortran.org/pipermail/j3/attachments/20170411/8881b936/attachment.html 



More information about the J3 mailing list