+++ /dev/null
-
-/* copyright (c) 1996, 1997, 1998, 1999 William R. Pearson and the
- U. of Virginia */
-
-/* $Name: fa_34_26_5 $ - $Id: hostacc.c,v 1.7 2006/04/12 18:00:02 wrp Exp $ */
-
-/* Concurrent read version */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-
-#ifdef PVM_SRC
-#include "pvm3.h"
-#endif
-#ifdef MPI_SRC
-#include "mpi.h"
-#endif
-
-#include "msg.h"
-
-#define XTERNAL
-#include "uascii.h"
-#include "upam.h"
-#undef XTERNAL
-
-extern char prog_name[];
-
-extern int nnodes;
-#ifdef PVM_SRC
-extern int pinums[];
-#endif
-
-
-#ifdef PVM_SRC
-int tidtonode(tid)
- int tid;
-{
- int i;
- for (i=FIRSTNODE; i< nnodes; i++) if (tid==pinums[i]) return i;
- return -1;
-}
-#endif
-
-/* rand_nodes selects nnodes at random from max_nodes */
-
-void
-rand_nodes(int *node_map, int nnodes, int max_nodes)
-{
- int node_used[MAXNOD];
- int i, j;
- struct timeval tv;
-
- gettimeofday(&tv,NULL);
- SRAND(tv.tv_usec);
-
- for (i=0; i<max_nodes; i++) node_used[i]=0;
-
- if (nnodes < (max_nodes+1)/2) {
- for (i=0; i<nnodes; ) {
- j = RAND()%max_nodes;
- if (node_used[j]) continue;
- else {
- node_map[i++]=j;
- node_used[j]=1;
- }
- }
- }
- else {
- for (i=0; i<(max_nodes-nnodes); ) {
- j = RAND()%max_nodes;
- if (node_used[j]) continue;
- else {
- node_used[j]=1;
- i++;
- }
- }
- for (i=j=0; i<nnodes; j++)
- if (node_used[j]) continue;
- else node_map[i++]=j;
- }
-/* for (i=0; i<nnodes; i++) fprintf(stderr,"%2d %2d\n",i,node_map[i]); */
-}