Subject: min of complex (Tony's and David's messages)

From: Marc Snir <[email-masked]>
Date: Wed, 27 Jul 1994 13:11:56 -0400

:-) :-) :-) *** (-: (-: (-:

Let's not be carried away.  MIN of complex can be either left out of MPI, or
if in, be defined to be an MPI reduction operation, which means an
associative binary operation that returns a value of the same type as the
inputs.  The only reasonable definition of MIN of complex is the one Steve
and I proposed.   Whether one should include it at all is a good
question.  Note that Fortran defines MIN, MAX, MINLOC and MAXLOC only for
types INTEGER and REAL.  Note also that a user can always provide it's own
user-defined MIN, MAX, MINLOC and MAXLOC for COMPLEX.  Both are arguments
against inclusion.
I, personally,
vote for keeping it out.  If we decide to put it in, then we should use
the text that was sent be Steve, also need to put in the corrsponding
versions of MINLOC and MAXLOC.

---

From: Tony Skjellum <[email-masked]>
Date: Wed, 27 Jul 94 13:02:57 CDT

Marc, as you recall, I argued against including MIN/MAX of complex, because
it is not a mathematical concept for Complex #'s.   I actually did not
advocate including MINREAL, MAXREAL, MINCOMPLEX, etc, but just pointed these
out, to demonstrate that one could go quite far in a different direction
(not necessarily good).  User-defined ops can do all this, and they can
also do whatever your definition of MIN/MAX was for complex, wlog.

However, since user-defined operations have the same power, but not necessarily 
the same performance as built-in MPI operations, there must be a performance
argument for a real situation levied before we consider this anymore.  
Following that, we should set up a vote on a real proposal (sorry for the pun),
and resolve the matter (as we did as a formal, standing committee).  

-Tony