/*
 * Copyright (C) by Argonne National Laboratory
 *     See COPYRIGHT in top-level directory
 */
/* This file is automatically generated. DO NOT EDIT. */

#include "mpiimpl.h"
#include "mpi_abi_util.h"

MPI_Datatype abi_datatype_builtins[ABI_MAX_DATATYPE_BUILTINS];
MPI_Op abi_op_builtins[ABI_MAX_OP_BUILTINS];

void ABI_init_builtins(void)
{
    static int initialized = 0;
    if (initialized) {
        return;
    }
    initialized = 1;

    abi_datatype_builtins[0] = MPI_DATATYPE_NULL;
    abi_datatype_builtins[1] = MPI_AINT;
    abi_datatype_builtins[2] = MPI_COUNT;
    abi_datatype_builtins[3] = MPI_OFFSET;
    abi_datatype_builtins[7] = MPI_PACKED;
    abi_datatype_builtins[8] = MPI_SHORT;
    abi_datatype_builtins[9] = MPI_INT;
    abi_datatype_builtins[10] = MPI_LONG;
    abi_datatype_builtins[11] = MPI_LONG_LONG;
    abi_datatype_builtins[12] = MPI_UNSIGNED_SHORT;
    abi_datatype_builtins[13] = MPI_UNSIGNED;
    abi_datatype_builtins[14] = MPI_UNSIGNED_LONG;
    abi_datatype_builtins[15] = MPI_UNSIGNED_LONG_LONG;
    abi_datatype_builtins[16] = MPI_FLOAT;
    abi_datatype_builtins[18] = MPI_C_FLOAT_COMPLEX;
    abi_datatype_builtins[19] = MPI_CXX_FLOAT_COMPLEX;
    abi_datatype_builtins[20] = MPI_DOUBLE;
    abi_datatype_builtins[22] = MPI_C_DOUBLE_COMPLEX;
    abi_datatype_builtins[23] = MPI_CXX_DOUBLE_COMPLEX;
    abi_datatype_builtins[24] = MPI_LOGICAL;
    abi_datatype_builtins[25] = MPI_INTEGER;
    abi_datatype_builtins[26] = MPI_REAL;
    abi_datatype_builtins[27] = MPI_COMPLEX;
    abi_datatype_builtins[28] = MPI_DOUBLE_PRECISION;
    abi_datatype_builtins[29] = MPI_DOUBLE_COMPLEX;
    abi_datatype_builtins[32] = MPI_LONG_DOUBLE;
    abi_datatype_builtins[36] = MPI_C_LONG_DOUBLE_COMPLEX;
    abi_datatype_builtins[37] = MPI_CXX_LONG_DOUBLE_COMPLEX;
    abi_datatype_builtins[40] = MPI_FLOAT_INT;
    abi_datatype_builtins[41] = MPI_DOUBLE_INT;
    abi_datatype_builtins[42] = MPI_LONG_INT;
    abi_datatype_builtins[43] = MPI_2INT;
    abi_datatype_builtins[44] = MPI_SHORT_INT;
    abi_datatype_builtins[45] = MPI_LONG_DOUBLE_INT;
    abi_datatype_builtins[48] = MPI_2REAL;
    abi_datatype_builtins[49] = MPI_2DOUBLE_PRECISION;
    abi_datatype_builtins[50] = MPI_2INTEGER;
    abi_datatype_builtins[56] = MPI_C_BOOL;
    abi_datatype_builtins[57] = MPI_CXX_BOOL;
    abi_datatype_builtins[60] = MPI_WCHAR;
    abi_datatype_builtins[64] = MPI_INT8_T;
    abi_datatype_builtins[65] = MPI_UINT8_T;
    abi_datatype_builtins[67] = MPI_CHAR;
    abi_datatype_builtins[68] = MPI_SIGNED_CHAR;
    abi_datatype_builtins[69] = MPI_UNSIGNED_CHAR;
    abi_datatype_builtins[71] = MPI_BYTE;
    abi_datatype_builtins[72] = MPI_INT16_T;
    abi_datatype_builtins[73] = MPI_UINT16_T;
    abi_datatype_builtins[80] = MPI_INT32_T;
    abi_datatype_builtins[81] = MPI_UINT32_T;
    abi_datatype_builtins[88] = MPI_INT64_T;
    abi_datatype_builtins[89] = MPI_UINT64_T;
    abi_datatype_builtins[193] = MPI_INTEGER1;
    abi_datatype_builtins[195] = MPI_CHARACTER;
    abi_datatype_builtins[201] = MPI_INTEGER2;
    abi_datatype_builtins[202] = MPI_REAL2;
    abi_datatype_builtins[209] = MPI_INTEGER4;
    abi_datatype_builtins[210] = MPI_REAL4;
    abi_datatype_builtins[211] = MPI_COMPLEX4;
    abi_datatype_builtins[217] = MPI_INTEGER8;
    abi_datatype_builtins[218] = MPI_REAL8;
    abi_datatype_builtins[219] = MPI_COMPLEX8;
    abi_datatype_builtins[225] = MPI_INTEGER16;
    abi_datatype_builtins[226] = MPI_REAL16;
    abi_datatype_builtins[227] = MPI_COMPLEX16;
    abi_datatype_builtins[235] = MPI_COMPLEX32;

    abi_op_builtins[0] = MPI_OP_NULL;
    abi_op_builtins[1] = MPI_SUM;
    abi_op_builtins[2] = MPI_MIN;
    abi_op_builtins[3] = MPI_MAX;
    abi_op_builtins[4] = MPI_PROD;
    abi_op_builtins[8] = MPI_BAND;
    abi_op_builtins[9] = MPI_BOR;
    abi_op_builtins[10] = MPI_BXOR;
    abi_op_builtins[16] = MPI_LAND;
    abi_op_builtins[17] = MPI_LOR;
    abi_op_builtins[18] = MPI_LXOR;
    abi_op_builtins[24] = MPI_MINLOC;
    abi_op_builtins[25] = MPI_MAXLOC;
    abi_op_builtins[28] = MPI_REPLACE;
    abi_op_builtins[29] = MPI_NO_OP;
}
