⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findelm_dyn.c

📁 The example for Boor USING MPI2
💻 C
字号:
#include "Dlist.h"extern char *DupString( const char * );extern MPI_Win winlock;char *FindElm( MPI_Win win, const char *key ){    ListElm        local_copy, *local_copy_ptr;    char           *local_value = 0;    RemotePointer  ptr;    int            my_rank;    MPI_Group      win_group;    /* my_rank could also be precomputed, of course */    MPI_Win_get_group( win, &win_group );    MPI_Group_rank( win_group, &my_rank );    MPI_Group_free( &win_group );    MPE_Mutex_lock( 0, winlock );    ptr = head;    while (ptr.owner_rank >= 0) {	/* Make sure we have the data */	MPI_Win_lock( MPI_LOCK_SHARED, ptr.owner_rank, 		      MPI_MODE_NOCHECK, win );	if (ptr.owner_rank != my_rank) {	    MPI_Get( &local_copy, 1, ListElm_type, 		     ptr.owner_rank, ptr.disp, 1, ListElm_type, win );	    local_copy_ptr = &local_copy;	}	else 	    local_copy_ptr = (ListElm *)(ptr.local_pointer);	MPI_Win_unlock( ptr.owner_rank, win );	if (strcmp( local_copy_ptr->key, key ) == 0) {	    local_value = DupString( local_copy_ptr->value );	    break;	}	ptr = local_copy_ptr->next;    }    MPE_Mutex_unlock( 0, winlock );    return local_value;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -