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

📄 mpe_logf.c

📁 fortran并行计算包
💻 C
字号:
/*   (C) 2001 by Argonne National Laboratory.       See COPYRIGHT in top-level directory.*//* mpe_log.c *//* Custom Fortran interface file *//* These have been edited because they require special string processing */#ifndef DEBUG_ALL#define DEBUG_ALL#endif#include "mpe_conf.h"#include "mpe_logging_conf.h"#if defined( HAVE_STDIO_H ) || defined( STDC_HEADERS )#include <stdio.h>#endif#if defined( HAVE_STDLIB_H ) || defined( STDC_HEADERS )#include <stdlib.h>#elseextern char *malloc();extern void free();#endif#if defined(HAVE_STRING_H) || defined(STDC_HEADERS)#include <string.h>#endif#include "clog_util.h"#include "mpe_log.h"/* This is needed to process Cray - style character data */#if defined( WITH_CRAY_FCD_STRING )#include <fortran.h>#endif#ifdef F77_NAME_UPPER#define mpe_init_log_ MPE_INIT_LOG#define mpe_initialized_logging_ MPE_INITIALIZED_LOGGING#define mpe_start_log_ MPE_START_LOG#define mpe_stop_log_ MPE_STOP_LOG#define mpe_log_get_event_number_ MPE_LOG_GET_EVENT_NUMBER#define mpe_log_get_state_eventids_ MPE_LOG_GET_STATE_EVENTIDS#define mpe_log_get_solo_eventid_ MPE_LOG_GET_SOLO_EVENTID#define mpe_describe_info_state_ MPE_DESCRIBE_INFO_STATE#define mpe_describe_state_ MPE_DESCRIBE_STATE#define mpe_describe_info_event_ MPE_DESCRIBE_INFO_EVENT#define mpe_describe_event_ MPE_DESCRIBE_EVENT#define mpe_log_pack_ MPE_LOG_PACK#define mpe_log_event_ MPE_LOG_EVENT#define mpe_log_bare_event_ MPE_LOG_BARE_EVENT#define mpe_log_info_event_ MPE_LOG_INFO_EVENT#define mpe_log_send_ MPE_LOG_SEND#define mpe_log_receive_ MPE_LOG_RECEIVE#define mpe_log_sync_clocks_ MPE_LOG_SYNC_CLOCKS#define mpe_finish_log_ MPE_FINISH_LOG#elif defined(F77_NAME_LOWER_2USCORE)#define mpe_init_log_ mpe_init_log__#define mpe_initialized_logging_ mpe_initialized_logging__#define mpe_start_log_ mpe_start_log__#define mpe_stop_log_ mpe_stop_log__#define mpe_log_get_event_number_ mpe_log_get_event_number__#define mpe_log_get_state_eventids_ mpe_log_get_state_eventids__#define mpe_log_get_solo_eventid_ mpe_log_get_solo_eventid__#define mpe_describe_info_state_ mpe_describe_info_state__#define mpe_describe_state_ mpe_describe_state__#define mpe_describe_info_event_ mpe_describe_info_event__#define mpe_describe_event_ mpe_describe_event__#define mpe_log_pack_ mpe_log_pack__#define mpe_log_event_ mpe_log_event__#define mpe_log_bare_event_ mpe_log_bare_event__#define mpe_log_info_event_ mpe_log_info_event__#define mpe_log_send_ mpe_log_send__#define mpe_log_receive_ mpe_log_receive__#define mpe_log_sync_clocks_ mpe_log_sync_clocks__#define mpe_finish_log_ mpe_finish_log__#elif defined(F77_NAME_LOWER)#define mpe_init_log_ mpe_init_log#define mpe_initialized_logging_ mpe_initialized_logging#define mpe_start_log_ mpe_start_log#define mpe_stop_log_ mpe_stop_log#define mpe_log_get_event_number_ mpe_log_get_event_number#define mpe_log_get_state_eventids_ mpe_log_get_state_eventids#define mpe_log_get_solo_eventid_ mpe_log_get_solo_eventid#define mpe_describe_info_state_ mpe_describe_info_state#define mpe_describe_state_ mpe_describe_state#define mpe_describe_info_event_ mpe_describe_info_event#define mpe_describe_event_ mpe_describe_event#define mpe_log_pack_ mpe_log_pack#define mpe_log_event_ mpe_log_event#define mpe_log_bare_event_ mpe_log_bare_event#define mpe_log_info_event_ mpe_log_info_event#define mpe_log_send_ mpe_log_send#define mpe_log_receive_ mpe_log_receive#define mpe_log_sync_clocks_ mpe_log_sync_clocks#define mpe_finish_log_ mpe_finish_log#endif/*  * In order to suppress warnings about missing prototypes, we've added * them to this file. *//*    This function makes a copy of a Fortran string into a C string.  Some   Unix Fortran compilers add nulls at the ends of string CONSTANTS, but   (a) not for substring expressions and (b) not all compilers do so (e.g.,   RS6000) */static char *mpe_tmp_cpy( char *, int );static char *mpe_tmp_cpy( s, d )char *s;int  d;{    char *p;    p = (char *)malloc( d + 1 );    if (!p) {        fprintf( stderr,                 "MPE Fort2C: malloc() failed! mpe_tmp_cpy returns NULL!..." );        fflush( stderr );        return NULL;    }    strncpy( p, s, d );    p[d] = 0;    return p;}int mpe_init_log_( void );int  mpe_init_log_( void ){    return MPE_Init_log();}int mpe_initialized_logging_( void );int  mpe_initialized_logging_( void ){    return MPE_Initialized_logging();}int mpe_start_log_( void );int  mpe_start_log_( void ){    return MPE_Start_log();}int mpe_stop_log_( void );int  mpe_stop_log_( void ){    return MPE_Stop_log();}int mpe_log_sync_clocks_( void );int  mpe_log_sync_clocks_( void ){    return MPE_Log_sync_clocks();}int mpe_log_get_event_number_( void );int mpe_log_get_event_number_( void ){    return MPE_Log_get_event_number();}int mpe_log_get_state_eventids_( int*, int* );int mpe_log_get_state_eventids_( int *statedef_startID, int *statedef_finalID ){    return MPE_Log_get_state_eventIDs( statedef_startID, statedef_finalID );}int mpe_log_get_solo_eventid_( int* );int mpe_log_get_solo_eventid_( int *eventdef_eventID ){    return MPE_Log_get_solo_eventID( eventdef_eventID );}int mpe_log_send_( int*, int*, int* );int mpe_log_send_( int *otherParty, int *tag, int *size ){    return MPE_Log_send( *otherParty, *tag, *size );}int mpe_log_receive_( int*, int*, int* );int mpe_log_receive_( int *otherParty, int *tag, int *size ){    return MPE_Log_receive( *otherParty, *tag, *size );}#if defined( WITH_CRAY_FCD_STRING )int  mpe_describe_info_state_( start_etype, final_etype, name, color, format )int *start_etype, *final_etype;_fcd name, color, format;{    char *c1, *c2, *c3;    int  err;    c1 = mpe_tmp_cpy( _fcdtocp( name ), _fcdlen( name ) );    c2 = mpe_tmp_cpy( _fcdtocp( color ), _fcdlen( color ) );    c3 = mpe_tmp_cpy( _fcdtocp( format ), _fcdlen( format ) );    err = MPE_Describe_info_state( *start_etype, *final_etype, c1, c2, c3 );    free( c3 );    free( c2 );    free( c1 );    return err;}#elseint  mpe_describe_info_state_( int *, int *, char *, char *, char *,                                int, int, int );int  mpe_describe_info_state_( start_etype, final_etype, name, color, format,                               d1, d2, d3 )int *start_etype, *final_etype;char *name, *color, *format;int  d1, d2, d3;{    char *c1, *c2, *c3;    int  err;    c1 = mpe_tmp_cpy( name, d1 );    c2 = mpe_tmp_cpy( color, d2 );    c3 = mpe_tmp_cpy( format, d3 );    err = MPE_Describe_info_state( *start_etype, *final_etype, c1, c2, c3 );    free( c3 );    free( c2 );    free( c1 );    return err;}#endif#if defined( WITH_CRAY_FCD_STRING )int  mpe_describe_state_( start_etype, final_etype, name, color )int *start_etype, *final_etype;_fcd name, color;{    char *c1, *c2;    int  err;    c1 = mpe_tmp_cpy( _fcdtocp( name ), _fcdlen( name ) );    c2 = mpe_tmp_cpy( _fcdtocp( color ), _fcdlen( color ) );    err = MPE_Describe_state( *start_etype, *final_etype, c1, c2 );    free( c2 );    free( c1 );    return err;}#elseint  mpe_describe_state_( int *, int *, char *, char *, int, int );int  mpe_describe_state_( start_etype, final_etype, name, color, d1, d2 )int *start_etype, *final_etype;char *name, *color;int  d1, d2;{    char *c1, *c2;    int  err;    c1 = mpe_tmp_cpy( name, d1 );    c2 = mpe_tmp_cpy( color, d2 );    err = MPE_Describe_state( *start_etype, *final_etype, c1, c2 );    free( c2 );    free( c1 );    return err;}#endif#if defined( WITH_CRAY_FCD_STRING )int  mpe_describe_info_event_( event, name, color, format )int *event;_fcd name, color, format;{    char *c1, *c2, *c3;    int  err;    c1 = mpe_tmp_cpy( _fcdtocp( name ), _fcdlen( name ) );    c2 = mpe_tmp_cpy( _fcdtocp( color ), _fcdlen( color ) );    c3 = mpe_tmp_cpy( _fcdtocp( format ), _fcdlen( format ) );    err = MPE_Describe_info_event( *event, c1, c2, c3 );    free( c3 );    free( c2 );    free( c1 );    return err;}#elseint  mpe_describe_info_event_( int *, char *, char*, char *, int, int, int );int  mpe_describe_info_event_( event, name, color, format, d1, d2, d3 )int *event;char *name, *color, *format;int  d1, d2, d3;{    char *c1, *c2, *c3;    int  err;    c1 = mpe_tmp_cpy( name, d1 );    c2 = mpe_tmp_cpy( color, d2 );    c3 = mpe_tmp_cpy( format, d3 );    err = MPE_Describe_info_event( *event, c1, c2, c3 );    free( c3 );    free( c2 );    free( c1 );    return err;}#endif#if defined( WITH_CRAY_FCD_STRING )int mpe_describe_event_( event, name, color )int *event;_fcd name, color;{    char *c1, *c2;    int  err;    c1 = mpe_tmp_cpy( _fcdtocp( name ), _fcdlen( name ) );    c2 = mpe_tmp_cpy( _fcdtocp( color ), _fcdlen( color ) );    err = MPE_Describe_event( *event, c1, c2 );    free( c2 );    free( c1 );    return err;}#elseint  mpe_describe_event_( int *, char *, char*, int, int );int  mpe_describe_event_( event, name, color, d1, d2 )int *event;char *name, *color;int  d1, d2;{    char *c1, *c2;    int  err;    c1 = mpe_tmp_cpy( name, d1 );    c2 = mpe_tmp_cpy( color, d2 );    err = MPE_Describe_event( *event, c1, c2 );    free( c2 );    free( c1 );    return err;}#endifint  mpe_log_pack_( void *, int *, char *, int *, void * );int  mpe_log_pack_( void *bytebuf, int *position,                    char *tokentype, int *count, void *data ){    return MPE_Log_pack( bytebuf, position, *tokentype, *count, data );}#if defined( WITH_CRAY_FCD_STRING )int  mpe_log_event_( event, data, byteinfo )int *event, *data;_fcd byteinfo;{    int  byteinfo_size, err;    byteinfo_size = _fcdlen( byteinfo );    if ( byteinfo_size > 0 )        /* mpe_tmp_cpy uses strncpy() which cannot be used on byteinfo */        err = MPE_Log_event( *event, *data, _fcdtocp( byteinfo ) );    else        err = MPE_Log_event( *event, *data, NULL );    return err;}#elseint  mpe_log_event_( int *, int *, char *, int );int  mpe_log_event_( event, data, byteinfo, d1 )int *event, *data;char *byteinfo;int  d1;{    int  err;    if ( d1 <= 0 )        err = MPE_Log_event( *event, *data, NULL );    else if ( d1 == 1 && strncmp( byteinfo, " ", 1 ) == 0 ) /* single blank */        err = MPE_Log_event( *event, *data, NULL );    else  /* if ( d1 > 1 || non single blank string ) */ {        /* mpe_tmp_cpy uses strncpy() which cannot be used on byteinfo */        err = MPE_Log_event( *event, *data, byteinfo );    }    return err;}#endif#if defined( WITH_CRAY_FCD_STRING )int  mpe_log_info_event_( event, byteinfo )int *event;_fcd byteinfo;{    return MPE_Log_info_event( *event, _fcdtocp( byteinfo ) );}#elseint  mpe_log_info_event_( int *, char *, int );int  mpe_log_info_event_( event, byteinfo, d1 )int *event;char *byteinfo;int  d1;{    return MPE_Log_info_event( *event, byteinfo );}#endifint  mpe_log_bare_event_( int * );int  mpe_log_bare_event_( int *event ){    return MPE_Log_bare_event( *event );}#if defined( WITH_CRAY_FCD_STRING )int  mpe_finish_log_( filename )_fcd filename;{    char *c1;    int  err;    c1 = mpe_tmp_cpy( _fcdtocp( filename ), _fcdlen( filename ) );    err =  MPE_Finish_log( c1 );    free( c1 );    return err;}#elseint  mpe_finish_log_( char *, int );int  mpe_finish_log_( filename, d1 )char *filename;int  d1;{    char *c1;    int  err;    c1 = mpe_tmp_cpy( filename, d1 );    err =  MPE_Finish_log( c1 );    free( c1 );    return err;}#endif

⌨️ 快捷键说明

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