-:    0:Source:/home/MPI/testing/mpich2/mpich2/src/mpi/coll/opmin.c
        -:    0:Graph:opmin.gcno
        -:    0:Data:opmin.gcda
        -:    0:Runs:4382
        -:    0:Programs:1376
        -:    1:/* -*- Mode: C; c-basic-offset:4 ; -*- */
        -:    2:/*
        -:    3: *
        -:    4: *  (C) 2001 by Argonne National Laboratory.
        -:    5: *      See COPYRIGHT in top-level directory.
        -:    6: */
        -:    7:
        -:    8:#include "mpiimpl.h"
        -:    9:#include "oputil.h"
        -:   10:
        -:   11:/*
        -:   12: * In MPI-2.1, this operation is valid only for C integer, Fortran integer,
        -:   13: * and floating point types (5.9.2 Predefined reduce operations)
        -:   14: */
        -:   15:#undef FUNCNAME
        -:   16:#define FUNCNAME MPIR_MINF
        -:   17:#undef FCNAME
        -:   18:#define FCNAME MPIU_QUOTE(FUNCNAME)
        -:   19:void MPIR_MINF (
        -:   20:    void *invec,
        -:   21:    void *inoutvec,
        -:   22:    int *Len,
        -:   23:    MPI_Datatype *type )
     3981:   24:{
     3981:   25:    int i, len = *Len;
        -:   26:
     3981:   27:    switch (*type) {
        -:   28:#undef MPIR_OP_TYPE_MACRO
        -:   29:#define MPIR_OP_TYPE_MACRO(mpi_type_, c_type_) MPIR_OP_TYPE_REDUCE_CASE(mpi_type_, c_type_, MPIR_MIN)
        -:   30:        /* no semicolons by necessity */
      451:   31:        MPIR_OP_TYPE_GROUP(C_INTEGER)
    #####:   32:        MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER)
      440:   33:        MPIR_OP_TYPE_GROUP(FLOATING_POINT)
        -:   34:        /* extra types that are not required to be supported by the MPI Standard */
        3:   35:        MPIR_OP_TYPE_GROUP(C_INTEGER_EXTRA)
    #####:   36:        MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA)
    #####:   37:        MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA)
        -:   38:#undef MPIR_OP_TYPE_MACRO
        -:   39:        /* --BEGIN ERROR HANDLING-- */
        -:   40:        default: {
    #####:   41:            MPIU_THREADPRIV_DECL;
    #####:   42:            MPIU_THREADPRIV_GET;
    #####:   43:            MPIU_THREADPRIV_FIELD(op_errno) = MPIR_Err_create_code( MPI_SUCCESS, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OP, "**opundefined","**opundefined %s", "MPI_MIN" );
        -:   44:            break;
        -:   45:        }
        -:   46:        /* --END ERROR HANDLING-- */
        -:   47:    }
     3981:   48:}
        -:   49:
        -:   50:
        -:   51:#undef FUNCNAME
        -:   52:#define FUNCNAME MPIR_MINF_check_dtype
        -:   53:#undef FCNAME
        -:   54:#define FCNAME MPIU_QUOTE(FUNCNAME)
        -:   55:int MPIR_MINF_check_dtype ( MPI_Datatype type )
     7240:   56:{
     7240:   57:    switch (type) {
        -:   58:#undef MPIR_OP_TYPE_MACRO
        -:   59:#define MPIR_OP_TYPE_MACRO(mpi_type_, c_type_) case (mpi_type_):
        -:   60:        MPIR_OP_TYPE_GROUP(C_INTEGER)
        -:   61:        MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER)
        -:   62:        MPIR_OP_TYPE_GROUP(FLOATING_POINT)
        -:   63:        /* extra types that are not required to be supported by the MPI Standard */
        -:   64:        MPIR_OP_TYPE_GROUP(C_INTEGER_EXTRA)
        -:   65:        MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA)
        -:   66:        MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA)
        -:   67:#undef MPIR_OP_TYPE_MACRO
     7232:   68:            return MPI_SUCCESS;
        -:   69:        /* --BEGIN ERROR HANDLING-- */
        -:   70:        default:
        8:   71:            return MPIR_Err_create_code( MPI_SUCCESS, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OP, "**opundefined","**opundefined %s", "MPI_MIN" );
        -:   72:        /* --END ERROR HANDLING-- */
        -:   73:    }
        -:   74:}