root/ompi/mpi/java/java/GraphParms.java

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. getIndexCount
  2. getIndex
  3. getEdgeCount
  4. getEdge

   1 /*
   2  * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2005 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * Copyright (c) 2015      Los Alamos National Security, LLC. All rights
  13  *                         reserved.
  14  * $COPYRIGHT$
  15  *
  16  * Additional copyrights may follow
  17  *
  18  * $HEADER$
  19  *
  20  *
  21  * This file is almost a complete re-write for Open MPI compared to the
  22  * original mpiJava package. Its license and copyright are listed below.
  23  * See <path to ompi/mpi/java/README> for more information.
  24  *
  25  *
  26  *  Licensed under the Apache License, Version 2.0 (the "License");
  27  *  you may not use this file except in compliance with the License.
  28  *  You may obtain a copy of the License at
  29  *
  30  *     http://www.apache.org/licenses/LICENSE-2.0
  31  *
  32  *  Unless required by applicable law or agreed to in writing, software
  33  *  distributed under the License is distributed on an "AS IS" BASIS,
  34  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  35  *  See the License for the specific language governing permissions and
  36  *  limitations under the License.
  37  *
  38  *
  39  * File         : GraphParms.java
  40  * Author       : Xinying Li
  41  * Created      : Thu Apr  9 12:22:15 1998
  42  * Revision     : $Revision: 1.1 $
  43  * Updated      : $Date: 1998/08/26 18:49:55 $
  44  * Copyright: Northeast Parallel Architectures Center
  45  *            at Syracuse University 1998
  46  */
  47 
  48 package mpi;
  49 
  50 /**
  51  * Graph topology information associated with a communicator.
  52  */
  53 public final class GraphParms
  54 {
  55         /** Node degrees. */
  56         private final int[] index;
  57 
  58         /** Graph edges. */
  59         private final int[] edges;
  60 
  61         /**
  62          * Constructs a graph topology information object.
  63          * @param index node degrees.
  64          * @param edges graph edges.
  65          */
  66         protected GraphParms(int[] index, int[] edges)
  67         {
  68                 this.index = index;
  69                 this.edges = edges;
  70         }
  71 
  72         /**
  73          * Returns the number of nodes.
  74          * @return number of nodes.
  75          */
  76         public int getIndexCount()
  77         {
  78                 return index.length;
  79         }
  80 
  81         /**
  82          * Returns the index of the node {@code i}.
  83          * <p>{@code getIndex(0)} returns the degree of the node {@code 0}, and
  84          * {@code getIndex(i)-getIndex(i-1)} is the degree of the node {@code i}.
  85          * @param i position of the node.
  86          * @return the index.
  87          */
  88         public int getIndex(int i)
  89         {
  90                 return index[i];
  91         }
  92 
  93         /**
  94          * Returns the number of edges.
  95          * @return number of edges.
  96          */
  97         public int getEdgeCount()
  98         {
  99                 return edges.length;
 100         }
 101 
 102         /**
 103          * Returns the edge {@code i}.
 104          * <p>The list of neighbors of node zero is stored in {@code getEdge(j)},
 105          * for {@code 0} &le; {@code j} &le; {@code getIndex(0)-1} and the list
 106          * of neighbors of node {@code i}, {@code i} &gt; {@code 0}, is stored
 107          * in {@code getEdge(j)}, {@code getIndex(i-1)} &le; {@code j} &le;
 108          * {@code getIndex(i)-1}.
 109          * @param i index of the edge.
 110          * @return the edge.
 111          */
 112         public int getEdge(int i)
 113         {
 114                 return edges[i];
 115         }
 116 
 117 } // GraphParms

/* [<][>][^][v][top][bottom][index][help] */