Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
roccom_f.C File Reference

Contains the wrapper routines for the F90 binding of Roccom implementation. More...

#include <iostream>
#include <cstdlib>
#include <cstring>
#include "roccom.h"
#include "mapptr.h"
#include "roccom_assertion.h"
Include dependency graph for roccom_f.C:

Go to the source code of this file.

Classes

class  Roccom_base_friend
 
struct  Big_array
 Some big array to help determining the size of a Fortran 90 pointer. More...
 

Macros

#define CHKLEN(x)   COM_assertion( x>=0 && x<MAX_NAMELEN)
 
#define COM_SET_ARRAY_SCALAR(func, FUNC)
 
#define COM_SET_ARRAY_PTR(func, FUNC, dim, type)
 
#define COM_SET_ARRAY_STRD_SCALAR(func, FUNC)
 
#define COM_SET_ARRAY_STRD_PTR(func, FUNC, dim, type)
 
#define COM_SET_ARRAY_DYN_SCALAR(func, FUNC)
 
#define COM_SET_ARRAY_DYN_PTR(func, FUNC, dim, type)
 
#define COM_SET_ARRAY_CONST_SCALAR(func, FUNC)
 
#define COM_SET_ARRAY_CONST_PTR(func, FUNC, dim, type)
 
#define COM_SET_ARRAY_CONST_STRD_SCALAR(func, FUNC)
 
#define COM_SET_ARRAY_CONST_STRD_PTR(func, FUNC, dim, type)
 
#define COM_SET_ARRAY_CONST_DYN_SCALAR(func, FUNC)
 
#define COM_SET_ARRAY_CONST_DYN_PTR(func, FUNC, dim, type)
 
#define COM_SET_BOUNDS(func, FUNC)
 
#define COM_OBTAIN_ARRAY(func, FUNC, dim, type, mode)
 
#define COM_OBTAIN_ARRAY_STRD(func, FUNC, dim, type, mode)
 
#define COM_OBTAIN_ARRAY_DYN(func, FUNC, dim, type, mode)
 
#define COM_COPY_ARRAY_OFF(func, FUNC, dim, type)
 
#define COM_APPEND_ARRAY_SCALAR(func, FUNC)
 
#define COM_APPEND_ARRAY(func, FUNC, dim, type)
 
#define COM_GET_BOUNDS(func, FUNC)
 

Enumerations

enum  Access_mode {
  AM_ALLOC, AM_RESIZE, AM_GET, AM_GETC,
  AM_COPY
}
 

Functions

void COM_F_FUNC2 (com_init, COM_INIT)()
 
void COM_F_FUNC2 (com_finalize, COM_FINALIZE)()
 
int COM_F_FUNC2 (com_initialized, COM_INITIALIZED)()
 
void COM_F_FUNC2 (com_abort, COM_ABORT) const
 
void COM_F_FUNC2 (com_set_default_communicator, COM_SET_DEFAULT_COMMUNICATOR) const
 
int COM_F_FUNC2 (com_get_default_communicator, COM_GET_DEFAULT_COMMUNICATOR)()
 
void COM_F_FUNC2 (com_load_module, COM_LOAD_MODULE) const
 
void COM_F_FUNC2 (com_unload_module_1, COM_UNLOAD_MODULE_1) const
 
void COM_F_FUNC2 (com_unload_module_2, COM_UNLOAD_MODULE_2) const
 
int COM_F_FUNC2 (com_chkptr_c, COM_CHKPTR_C) const
 
void COM_F_FUNC2 (com_new_window_null, COM_NEW_WINDOW_NULL) const
 
void COM_F_FUNC2 (com_new_window_mpi, COM_NEW_WINDOW_MPI) const
 
void COM_F_FUNC2 (com_delete_window, COM_DELETE_WINDOW) const
 
void COM_F_FUNC2 (com_window_init_done_1arg, COM_WINDOW_INIT_DONE_1ARG) const
 
void COM_F_FUNC2 (com_window_init_done_2arg, COM_WINDOW_INIT_DONE_2ARG) const
 
void COM_F_FUNC2 (com_delete_pane, COM_DELETE_PANE) const
 
void COM_F_FUNC2 (com_new_attribute, COM_NEW_ATTRIBUTE) const
 
void COM_F_FUNC2 (com_delete_attribute, COM_DELETE_ATTRIBUTE) const
 
void COM_F_FUNC2 (com_set_size1, COM_SET_SIZE1) const
 
void COM_F_FUNC2 (com_set_size2, COM_SET_SIZE2) const
 
void COM_F_FUNC2 (com_map_cptr, COM_MAP_CPTR)
 
void COM_F_FUNC2 (com_map_cptr_chr, COM_MAP_CPTR_CHR)
 
void COM_F_FUNC2 (com_map_cptr_int, COM_MAP_CPTR_INT)
 
void COM_F_FUNC2 (com_map_cptr_flt, COM_MAP_CPTR_FLT)
 
void COM_F_FUNC2 (com_map_cptr_dbl, COM_MAP_CPTR_DBL)
 
void COM_F_FUNC2 (com_set_array_null, COM_SET_ARRAY_NULL) const
 
void COM_F_FUNC2 (com_set_array_const_null, COM_SET_ARRAY_CONST_NULL) const
 
void COM_F_FUNC2 (com_set_external, COM_SET_EXTERNAL) const
 
void COM_F_FUNC2 (com_set_external_const, COM_SET_EXTERNAL_CONST) const
 
int COM_F_FUNC2 (com_call_system, COM_CALL_SYSTEM) const
 
void COM_F_FUNC2 (com_call_exit, COM_CALL_EXIT) const
 
void COM_F_FUNC2 (com_call_atexit, COM_CALL_ATEXIT)
 
template<int dim, COM_Type type>
void * com_get_address_f (void *addr, int l=0)
 
template<int dim, COM_Type type>
void com_set_address_f (Roccom_base::Pointer_descriptor &ptr, void *addr, int l=0)
 
template<int dim, COM_Type type>
void com_set_array_helper (const std::string &waname, int pane_id, void *addr, int strd, int cap, int l=0)
 
 COM_SET_ARRAY_SCALAR (com_set_array_chr, COM_SET_ARRAY_CHR)
 
 COM_SET_ARRAY_SCALAR (com_set_array_int, COM_SET_ARRAY_INT)
 
 COM_SET_ARRAY_SCALAR (com_set_array_flt, COM_SET_ARRAY_FLT)
 
 COM_SET_ARRAY_SCALAR (com_set_array_dbl, COM_SET_ARRAY_DBL)
 
template<int dim, COM_Type type>
void com_set_array_f (const char *waname, int pane_id, void *addr, int strd, int cap, int l1, int l2)
 
 COM_SET_ARRAY_PTR (com_set_array_int1d, COM_SET_ARRAY_INT1D, 1, COM_INTEGER)
 
 COM_SET_ARRAY_PTR (com_set_array_flt1d, COM_SET_ARRAY_FLT1D, 1, COM_REAL)
 
 COM_SET_ARRAY_PTR (com_set_array_dbl1d, COM_SET_ARRAY_DBL1D, 1, COM_DOUBLE)
 
 COM_SET_ARRAY_PTR (com_set_array_int2d, COM_SET_ARRAY_INT2D, 2, COM_INTEGER)
 
 COM_SET_ARRAY_PTR (com_set_array_flt2d, COM_SET_ARRAY_FLT2D, 2, COM_REAL)
 
 COM_SET_ARRAY_PTR (com_set_array_dbl2d, COM_SET_ARRAY_DBL2D, 2, COM_DOUBLE)
 
 COM_SET_ARRAY_PTR (com_set_array_int3d, COM_SET_ARRAY_INT3D, 3, COM_INTEGER)
 
 COM_SET_ARRAY_PTR (com_set_array_flt3d, COM_SET_ARRAY_FLT3D, 3, COM_REAL)
 
 COM_SET_ARRAY_PTR (com_set_array_dbl3d, COM_SET_ARRAY_DBL3D, 3, COM_DOUBLE)
 
 COM_SET_ARRAY_STRD_SCALAR (com_set_array_int_strd, COM_SET_ARRAY_INT_STRD)
 
 COM_SET_ARRAY_STRD_SCALAR (com_set_array_flt_strd, COM_SET_ARRAY_FLT_STRD)
 
 COM_SET_ARRAY_STRD_SCALAR (com_set_array_dbl_strd, COM_SET_ARRAY_DBL_STRD)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_int1d_strd, COM_SET_ARRAY_INT1D_STRD, 1, COM_INTEGER)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_flt1d_strd, COM_SET_ARRAY_FLT1D_STRD, 1, COM_REAL)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_dbl1d_strd, COM_SET_ARRAY_DBL1D_STRD, 1, COM_DOUBLE)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_int2d_strd, COM_SET_ARRAY_INT2D_STRD, 2, COM_INTEGER)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_flt2d_strd, COM_SET_ARRAY_FLT2D_STRD, 2, COM_REAL)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_dbl2d_strd, COM_SET_ARRAY_DBL2D_STRD, 2, COM_DOUBLE)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_int3d_strd, COM_SET_ARRAY_INT3D_STRD, 3, COM_INTEGER)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_flt3d_strd, COM_SET_ARRAY_FLT3D_STRD, 3, COM_REAL)
 
 COM_SET_ARRAY_STRD_PTR (com_set_array_dbl3d_strd, COM_SET_ARRAY_DBL3D_STRD, 3, COM_DOUBLE)
 
 COM_SET_ARRAY_DYN_SCALAR (com_set_array_int_dyn, COM_SET_ARRAY_INT_DYN)
 
 COM_SET_ARRAY_DYN_SCALAR (com_set_array_flt_dyn, COM_SET_ARRAY_FLT_DYN)
 
 COM_SET_ARRAY_DYN_SCALAR (com_set_array_dbl_dyn, COM_SET_ARRAY_DBL_DYN)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_int1d_dyn, COM_SET_ARRAY_INT1D_DYN, 1, COM_INTEGER)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_flt1d_dyn, COM_SET_ARRAY_FLT1D_DYN, 1, COM_REAL)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_dbl1d_dyn, COM_SET_ARRAY_DBL1D_DYN, 1, COM_DOUBLE)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_int2d_dyn, COM_SET_ARRAY_INT2D_DYN, 2, COM_INTEGER)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_flt2d_dyn, COM_SET_ARRAY_FLT2D_DYN, 2, COM_REAL)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_dbl2d_dyn, COM_SET_ARRAY_DBL2D_DYN, 2, COM_DOUBLE)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_int3d_dyn, COM_SET_ARRAY_INT3D_DYN, 3, COM_INTEGER)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_flt3d_dyn, COM_SET_ARRAY_FLT3D_DYN, 3, COM_REAL)
 
 COM_SET_ARRAY_DYN_PTR (com_set_array_dbl3d_dyn, COM_SET_ARRAY_DBL3D_DYN, 3, COM_DOUBLE)
 
template<int dim, COM_Type type>
void com_set_array_const_helper (const std::string &waname, int pane_id, void *addr, int strd, int cap, int l=0)
 
 COM_SET_ARRAY_CONST_SCALAR (com_set_array_const_chr, COM_SET_ARRAY_CONST_CHR)
 
 COM_SET_ARRAY_CONST_SCALAR (com_set_array_const_int, COM_SET_ARRAY_CONST_INT)
 
 COM_SET_ARRAY_CONST_SCALAR (com_set_array_const_flt, COM_SET_ARRAY_CONST_FLT)
 
 COM_SET_ARRAY_CONST_SCALAR (com_set_array_const_dbl, COM_SET_ARRAY_CONST_DBL)
 
template<int dim, COM_Type type>
void com_set_array_const_f (const char *waname, int pane_id, void *addr, int strd, int cap, int l1, int l2)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_int1d, COM_SET_ARRAY_CONST_INT1D, 1, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_flt1d, COM_SET_ARRAY_CONST_FLT1D, 1, COM_REAL)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_dbl1d, COM_SET_ARRAY_CONST_DBL1D, 1, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_int2d, COM_SET_ARRAY_CONST_INT2D, 2, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_flt2d, COM_SET_ARRAY_CONST_FLT2D, 2, COM_REAL)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_dbl2d, COM_SET_ARRAY_CONST_DBL2D, 2, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_int3d, COM_SET_ARRAY_CONST_INT3D, 3, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_flt3d, COM_SET_ARRAY_CONST_FLT3D, 3, COM_REAL)
 
 COM_SET_ARRAY_CONST_PTR (com_set_array_const_dbl3d, COM_SET_ARRAY_CONST_DBL3D, 3, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_STRD_SCALAR (com_set_array_const_int_strd, COM_SET_ARRAY_CONST_INT_STRD)
 
 COM_SET_ARRAY_CONST_STRD_SCALAR (com_set_array_const_flt_strd, COM_SET_ARRAY_CONST_FLT_STRD)
 
 COM_SET_ARRAY_CONST_STRD_SCALAR (com_set_array_const_dbl_strd, COM_SET_ARRAY_CONST_DBL_STRD)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_int1d_strd, COM_SET_ARRAY_CONST_INT1D_STRD, 1, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_flt1d_strd, COM_SET_ARRAY_CONST_FLT1D_STRD, 1, COM_REAL)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_dbl1d_strd, COM_SET_ARRAY_CONST_DBL1D_STRD, 1, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_int2d_strd, COM_SET_ARRAY_CONST_INT2D_STRD, 2, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_flt2d_strd, COM_SET_ARRAY_CONST_FLT2D_STRD, 2, COM_REAL)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_dbl2d_strd, COM_SET_ARRAY_CONST_DBL2D_STRD, 2, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_int3d_strd, COM_SET_ARRAY_CONST_INT3D_STRD, 3, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_flt3d_strd, COM_SET_ARRAY_CONST_FLT3D_STRD, 3, COM_REAL)
 
 COM_SET_ARRAY_CONST_STRD_PTR (com_set_array_const_dbl3d_strd, COM_SET_ARRAY_CONST_DBL3D_STRD, 3, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_DYN_SCALAR (com_set_array_const_int_dyn, COM_SET_ARRAY_CONST_INT_DYN)
 
 COM_SET_ARRAY_CONST_DYN_SCALAR (com_set_array_const_flt_dyn, COM_SET_ARRAY_CONST_FLT_DYN)
 
 COM_SET_ARRAY_CONST_DYN_SCALAR (com_set_array_const_dbl_dyn, COM_SET_ARRAY_CONST_DBL_DYN)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_int1d_dyn, COM_SET_ARRAY_CONST_INT1D_DYN, 1, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_flt1d_dyn, COM_SET_ARRAY_CONST_FLT1D_DYN, 1, COM_REAL)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_dbl1d_dyn, COM_SET_ARRAY_CONST_DBL1D_DYN, 1, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_int2d_dyn, COM_SET_ARRAY_CONST_INT2D_DYN, 2, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_flt2d_dyn, COM_SET_ARRAY_CONST_FLT2D_DYN, 2, COM_REAL)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_dbl2d_dyn, COM_SET_ARRAY_CONST_DBL2D_DYN, 2, COM_DOUBLE)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_int3d_dyn, COM_SET_ARRAY_CONST_INT3D_DYN, 3, COM_INTEGER)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_flt3d_dyn, COM_SET_ARRAY_CONST_FLT3D_DYN, 3, COM_REAL)
 
 COM_SET_ARRAY_CONST_DYN_PTR (com_set_array_const_dbl3d_dyn, COM_SET_ARRAY_CONST_DBL3D_DYN, 3, COM_DOUBLE)
 
 COM_SET_BOUNDS (com_set_bounds_int, COM_SET_BOUNDS_INT)
 
 COM_SET_BOUNDS (com_set_bounds_flt, COM_SET_BOUNDS_FLT)
 
 COM_SET_BOUNDS (com_set_bounds_dbl, COM_SET_BOUNDS_DBL)
 
void COM_F_FUNC2 (com_alloc_array_win, COM_ALLOC_ARRAY_WIN) const
 
void COM_F_FUNC2 (com_alloc_array_pane, COM_ALLOC_ARRAY_PANE) const
 
template<int dim, COM_Type type, Access_mode mode>
void com_obtain_array_helper (const std::string &waname, int pane_id, void *addr, int &strd, int &cap, int offset, int l=0)
 
template<int dim, COM_Type type, Access_mode mode>
void com_obtain_array_f (const char *waname, int pane_id, void *addr, int &strd, int &cap, int offset, int l1, int l2)
 
 COM_OBTAIN_ARRAY (com_alloc_array_int, COM_ALLOC_ARRAY_INT, 0, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_int1d, COM_ALLOC_ARRAY_INT1D, 1, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_int2d, COM_ALLOC_ARRAY_INT2D, 2, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_flt, COM_ALLOC_ARRAY_FLT, 0, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_flt1d, COM_ALLOC_ARRAY_FLT1D, 1, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_flt2d, COM_ALLOC_ARRAY_FLT2D, 2, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_dbl, COM_ALLOC_ARRAY_DBL, 0, COM_DOUBLE, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_dbl1d, COM_ALLOC_ARRAY_DBL1D, 1, COM_DOUBLE, AM_ALLOC)
 
 COM_OBTAIN_ARRAY (com_alloc_array_dbl2d, COM_ALLOC_ARRAY_DBL2D, 2, COM_DOUBLE, AM_ALLOC)
 
void COM_F_FUNC2 (com_resize_array_win, COM_RESIZE_ARRAY_WIN) const
 
void COM_F_FUNC2 (com_resize_array_pane, COM_RESIZE_ARRAY_PANE) const
 
 COM_OBTAIN_ARRAY (com_resize_array_int, COM_RESIZE_ARRAY_INT, 0, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_int1d, COM_RESIZE_ARRAY_INT1D, 1, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_int2d, COM_RESIZE_ARRAY_INT2D, 2, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_flt, COM_RESIZE_ARRAY_FLT, 0, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_flt1d, COM_RESIZE_ARRAY_FLT1D, 1, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_flt2d, COM_RESIZE_ARRAY_FLT2D, 2, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_dbl, COM_RESIZE_ARRAY_DBL, 0, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_dbl1d, COM_RESIZE_ARRAY_DBL1D, 1, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_resize_array_dbl2d, COM_RESIZE_ARRAY_DBL2D, 2, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY (com_get_array_int, COM_GET_ARRAY_INT, 0, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_int1d, COM_GET_ARRAY_INT1D, 1, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_int2d, COM_GET_ARRAY_INT2D, 2, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_flt, COM_GET_ARRAY_FLT, 0, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_flt1d, COM_GET_ARRAY_FLT1D, 1, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_flt2d, COM_GET_ARRAY_FLT2D, 2, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_dbl, COM_GET_ARRAY_DBL, 0, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_dbl1d, COM_GET_ARRAY_DBL1D, 1, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_dbl2d, COM_GET_ARRAY_DBL2D, 2, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY (com_get_array_const_int, COM_GET_ARRAY_CONST_INT, 0, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_int1d, COM_GET_ARRAY_CONST_INT1D, 1, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_int2d, COM_GET_ARRAY_CONST_INT2D, 2, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_flt, COM_GET_ARRAY_CONST_FLT, 0, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_flt1d, COM_GET_ARRAY_CONST_FLT1D, 1, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_flt2d, COM_GET_ARRAY_CONST_FLT2D, 2, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_dbl, COM_GET_ARRAY_CONST_DBL, 0, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_dbl1d, COM_GET_ARRAY_CONST_DBL1D, 1, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_get_array_const_dbl2d, COM_GET_ARRAY_CONST_DBL2D, 2, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY (com_copy_array_int, COM_COPY_ARRAY_INT, 0, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_int1d, COM_COPY_ARRAY_INT1D, 1, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_int2d, COM_COPY_ARRAY_INT2D, 2, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_int3d, COM_COPY_ARRAY_INT3D, 3, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_flt, COM_COPY_ARRAY_FLT, 0, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_flt1d, COM_COPY_ARRAY_FLT1D, 1, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_flt2d, COM_COPY_ARRAY_FLT2D, 2, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_flt3d, COM_COPY_ARRAY_FLT3D, 3, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_dbl, COM_COPY_ARRAY_DBL, 0, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_dbl1d, COM_COPY_ARRAY_DBL1D, 1, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_dbl2d, COM_COPY_ARRAY_DBL2D, 2, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY (com_copy_array_dbl3d, COM_COPY_ARRAY_DBL3D, 3, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_alloc_array_int1d_strd, COM_ALLOC_ARRAY_INT1D_STRD, 1, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_STRD (com_alloc_array_int2d_strd, COM_ALLOC_ARRAY_INT2D_STRD, 2, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_STRD (com_alloc_array_flt1d_strd, COM_ALLOC_ARRAY_FLT1D_STRD, 1, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_STRD (com_alloc_array_flt2d_strd, COM_ALLOC_ARRAY_FLT2D_STRD, 2, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_STRD (com_alloc_array_dbl1d_strd, COM_ALLOC_ARRAY_DBL1D_STRD, 1, COM_DOUBLE, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_STRD (com_alloc_array_dbl2d_strd, COM_ALLOC_ARRAY_DBL2D_STRD, 2, COM_DOUBLE, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_STRD (com_resize_array_int1d_strd, COM_RESIZE_ARRAY_INT1D_STRD, 1, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_STRD (com_resize_array_int2d_strd, COM_RESIZE_ARRAY_INT2D_STRD, 2, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_STRD (com_resize_array_flt1d_strd, COM_RESIZE_ARRAY_FLT1D_STRD, 1, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_STRD (com_resize_array_flt2d_strd, COM_RESIZE_ARRAY_FLT2D_STRD, 2, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_STRD (com_resize_array_dbl1d_strd, COM_RESIZE_ARRAY_DBL1D_STRD, 1, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_STRD (com_resize_array_dbl2d_strd, COM_RESIZE_ARRAY_DBL2D_STRD, 2, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_int1d_strd, COM_GET_ARRAY_INT1D_STRD, 1, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_int2d_strd, COM_GET_ARRAY_INT2D_STRD, 2, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_flt1d_strd, COM_GET_ARRAY_FLT1D_STRD, 1, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_flt2d_strd, COM_GET_ARRAY_FLT2D_STRD, 2, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_dbl1d_strd, COM_GET_ARRAY_DBL1D_STRD, 1, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_dbl2d_strd, COM_GET_ARRAY_DBL2D_STRD, 2, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_const_int1d_strd, COM_GET_ARRAY_CONST_INT1D_STRD, 1, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_const_int2d_strd, COM_GET_ARRAY_CONST_INT2D_STRD, 2, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_const_flt1d_strd, COM_GET_ARRAY_CONST_FLT1D_STRD, 1, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_const_flt2d_strd, COM_GET_ARRAY_CONST_FLT2D_STRD, 2, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_const_dbl1d_strd, COM_GET_ARRAY_CONST_DBL1D_STRD, 1, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY_STRD (com_get_array_const_dbl2d_strd, COM_GET_ARRAY_CONST_DBL2D_STRD, 2, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_int_strd, COM_COPY_ARRAY_INT_STRD, 0, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_int1d_strd, COM_COPY_ARRAY_INT1D_STRD, 1, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_int2d_strd, COM_COPY_ARRAY_INT2D_STRD, 2, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_int3d_strd, COM_COPY_ARRAY_INT3D_STRD, 3, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_flt_strd, COM_COPY_ARRAY_FLT_STRD, 0, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_flt1d_strd, COM_COPY_ARRAY_FLT1D_STRD, 1, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_flt2d_strd, COM_COPY_ARRAY_FLT2D_STRD, 2, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_flt3d_strd, COM_COPY_ARRAY_FLT3D_STRD, 3, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_dbl_strd, COM_COPY_ARRAY_DBL_STRD, 0, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_dbl1d_strd, COM_COPY_ARRAY_DBL1D_STRD, 1, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_dbl2d_strd, COM_COPY_ARRAY_DBL2D_STRD, 2, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_STRD (com_copy_array_dbl3d_strd, COM_COPY_ARRAY_DBL3D_STRD, 3, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_alloc_array_int1d_dyn, COM_ALLOC_ARRAY_INT1D_DYN, 1, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_DYN (com_alloc_array_int2d_dyn, COM_ALLOC_ARRAY_INT2D_DYN, 2, COM_INTEGER, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_DYN (com_alloc_array_flt1d_dyn, COM_ALLOC_ARRAY_FLT1D_DYN, 1, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_DYN (com_alloc_array_flt2d_dyn, COM_ALLOC_ARRAY_FLT2D_DYN, 2, COM_REAL, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_DYN (com_alloc_array_dbl1d_dyn, COM_ALLOC_ARRAY_DBL1D_DYN, 1, COM_DOUBLE, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_DYN (com_alloc_array_dbl2d_dyn, COM_ALLOC_ARRAY_DBL2D_DYN, 2, COM_DOUBLE, AM_ALLOC)
 
 COM_OBTAIN_ARRAY_DYN (com_resize_array_int1d_dyn, COM_RESIZE_ARRAY_INT1D_DYN, 1, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_DYN (com_resize_array_int2d_dyn, COM_RESIZE_ARRAY_INT2D_DYN, 2, COM_INTEGER, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_DYN (com_resize_array_flt1d_dyn, COM_RESIZE_ARRAY_FLT1D_DYN, 1, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_DYN (com_resize_array_flt2d_dyn, COM_RESIZE_ARRAY_FLT2D_DYN, 2, COM_REAL, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_DYN (com_resize_array_dbl1d_dyn, COM_RESIZE_ARRAY_DBL1D_DYN, 1, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_DYN (com_resize_array_dbl2d_dyn, COM_RESIZE_ARRAY_DBL2D_DYN, 2, COM_DOUBLE, AM_RESIZE)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_int1d_dyn, COM_GET_ARRAY_INT1D_DYN, 1, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_int2d_dyn, COM_GET_ARRAY_INT2D_DYN, 2, COM_INTEGER, AM_GET)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_flt1d_dyn, COM_GET_ARRAY_FLT1D_DYN, 1, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_flt2d_dyn, COM_GET_ARRAY_FLT2D_DYN, 2, COM_REAL, AM_GET)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_dbl1d_dyn, COM_GET_ARRAY_DBL1D_DYN, 1, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_dbl2d_dyn, COM_GET_ARRAY_DBL2D_DYN, 2, COM_DOUBLE, AM_GET)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_const_int1d_dyn, COM_GET_ARRAY_CONST_INT1D_DYN, 1, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_const_int2d_dyn, COM_GET_ARRAY_CONST_INT2D_DYN, 2, COM_INTEGER, AM_GETC)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_const_flt1d_dyn, COM_GET_ARRAY_CONST_FLT1D_DYN, 1, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_const_flt2d_dyn, COM_GET_ARRAY_CONST_FLT2D_DYN, 2, COM_REAL, AM_GETC)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_const_dbl1d_dyn, COM_GET_ARRAY_CONST_DBL1D_DYN, 1, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY_DYN (com_get_array_const_dbl2d_dyn, COM_GET_ARRAY_CONST_DBL2D_DYN, 2, COM_DOUBLE, AM_GETC)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_int_dyn, COM_COPY_ARRAY_INT_DYN, 0, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_int1d_dyn, COM_COPY_ARRAY_INT1D_DYN, 1, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_int2d_dyn, COM_COPY_ARRAY_INT2D_DYN, 2, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_int3d_dyn, COM_COPY_ARRAY_INT3D_DYN, 3, COM_INTEGER, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_flt_dyn, COM_COPY_ARRAY_FLT_DYN, 0, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_flt1d_dyn, COM_COPY_ARRAY_FLT1D_DYN, 1, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_flt2d_dyn, COM_COPY_ARRAY_FLT2D_DYN, 2, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_flt3d_dyn, COM_COPY_ARRAY_FLT3D_DYN, 3, COM_REAL, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_dbl_dyn, COM_COPY_ARRAY_DBL_DYN, 0, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_dbl1d_dyn, COM_COPY_ARRAY_DBL1D_DYN, 1, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_dbl2d_dyn, COM_COPY_ARRAY_DBL2D_DYN, 2, COM_DOUBLE, AM_COPY)
 
 COM_OBTAIN_ARRAY_DYN (com_copy_array_dbl3d_dyn, COM_COPY_ARRAY_DBL3D_DYN, 3, COM_DOUBLE, AM_COPY)
 
 COM_COPY_ARRAY_OFF (com_copy_array_int_off, COM_COPY_ARRAY_INT_OFF, 0, COM_INTEGER)
 
 COM_COPY_ARRAY_OFF (com_copy_array_int1d_off, COM_COPY_ARRAY_INT1D_OFF, 1, COM_INTEGER)
 
 COM_COPY_ARRAY_OFF (com_copy_array_int2d_off, COM_COPY_ARRAY_INT2D_OFF, 2, COM_INTEGER)
 
 COM_COPY_ARRAY_OFF (com_copy_array_int3d_off, COM_COPY_ARRAY_INT3D_OFF, 3, COM_INTEGER)
 
 COM_COPY_ARRAY_OFF (com_copy_array_flt_off, COM_COPY_ARRAY_FLT_OFF, 0, COM_REAL)
 
 COM_COPY_ARRAY_OFF (com_copy_array_flt1d_off, COM_COPY_ARRAY_FLT1D_OFF, 1, COM_REAL)
 
 COM_COPY_ARRAY_OFF (com_copy_array_flt2d_off, COM_COPY_ARRAY_FLT2D_OFF, 2, COM_REAL)
 
 COM_COPY_ARRAY_OFF (com_copy_array_flt3d_off, COM_COPY_ARRAY_FLT3D_OFF, 3, COM_REAL)
 
 COM_COPY_ARRAY_OFF (com_copy_array_dbl_off, COM_COPY_ARRAY_DBL_OFF, 0, COM_DOUBLE)
 
 COM_COPY_ARRAY_OFF (com_copy_array_dbl1d_off, COM_COPY_ARRAY_DBL1D_OFF, 1, COM_DOUBLE)
 
 COM_COPY_ARRAY_OFF (com_copy_array_dbl2d_off, COM_COPY_ARRAY_DBL2D_OFF, 2, COM_DOUBLE)
 
 COM_COPY_ARRAY_OFF (com_copy_array_dbl3d_off, COM_COPY_ARRAY_DBL3D_OFF, 3, COM_DOUBLE)
 
 COM_APPEND_ARRAY_SCALAR (com_append_array_chr, COM_APPEND_ARRAY_CHR)
 
 COM_APPEND_ARRAY_SCALAR (com_append_array_int, COM_APPEND_ARRAY_INT)
 
 COM_APPEND_ARRAY_SCALAR (com_append_array_flt, COM_APPEND_ARRAY_FLT)
 
 COM_APPEND_ARRAY_SCALAR (com_append_array_dbl, COM_APPEND_ARRAY_DBL)
 
template<int dim, COM_Type type>
void com_append_array_helper (const std::string &waname, int pane_id, const void *val, int v_strd, int v_size, int l=0)
 
template<int dim, COM_Type type>
void com_append_array_f (const char *waname, int pane_id, const void *val, int v_strd, int v_size, int l1, int l2)
 
 COM_APPEND_ARRAY (com_append_array_int1d, COM_APPEND_ARRAY_INT1D, 1, COM_INTEGER)
 
 COM_APPEND_ARRAY (com_append_array_flt1d, COM_APPEND_ARRAY_FLT1D, 1, COM_REAL)
 
 COM_APPEND_ARRAY (com_append_array_dbl1d, COM_APPEND_ARRAY_DBL1D, 1, COM_DOUBLE)
 
 COM_APPEND_ARRAY (com_append_array_int2d, COM_APPEND_ARRAY_INT2D, 2, COM_INTEGER)
 
 COM_APPEND_ARRAY (com_append_array_flt2d, COM_APPEND_ARRAY_FLT2D, 2, COM_REAL)
 
 COM_APPEND_ARRAY (com_append_array_dbl2d, COM_APPEND_ARRAY_DBL2D, 2, COM_DOUBLE)
 
 COM_APPEND_ARRAY (com_append_array_int3d, COM_APPEND_ARRAY_INT3D, 3, COM_INTEGER)
 
 COM_APPEND_ARRAY (com_append_array_flt3d, COM_APPEND_ARRAY_FLT3D, 3, COM_REAL)
 
 COM_APPEND_ARRAY (com_append_array_dbl3d, COM_APPEND_ARRAY_DBL3D, 3, COM_DOUBLE)
 
 COM_GET_BOUNDS (com_get_bounds_int, COM_GET_BOUNDS_INT)
 
 COM_GET_BOUNDS (com_get_bounds_flt, COM_GET_BOUNDS_FLT)
 
 COM_GET_BOUNDS (com_get_bounds_dbl, COM_GET_BOUNDS_DBL)
 
int COM_F_FUNC2 (com_check_bounds, COM_CHECK_BOUNDS) const
 
void COM_F_FUNC2 (com_use_attr, COM_USE_ATTR) const
 
void COM_F_FUNC2 (com_clone_attr, COM_CLONE_ATTR) const
 
void COM_F_FUNC2 (com_copy_attr, COM_COPY_ATTR) const
 
void COM_F_FUNC2 (com_copy_attr_hdls, COM_COPY_ATTR_HDLS) const
 
void COM_F_FUNC2 (com_use_attr_ghost, COM_USE_ATTR_GHOST) const
 
void COM_F_FUNC2 (com_clone_attr_ghost, COM_CLONE_ATTR_GHOST) const
 
void COM_F_FUNC2 (com_copy_attr_ghost, COM_COPY_ATTR_GHOST) const
 
void COM_F_FUNC2 (com_copy_attr_ghost_hdls, COM_COPY_ATTR_GHOST_HDLS) const
 
void COM_F_FUNC2 (com_use_attr_sub, COM_USE_ATTR_SUB) const
 
void COM_F_FUNC2 (com_clone_attr_sub, COM_CLONE_ATTR_sub) const
 
void COM_F_FUNC2 (com_copy_attr_sub, COM_COPY_ATTR_sub) const
 
void COM_F_FUNC2 (com_copy_attr_ghost_sub_hdls, COM_COPY_ATTR_GHOST_SUB_HDLS) const
 
void COM_F_FUNC2 (com_deallocate_win, COM_DEALLOCATE_WIN) const
 
void COM_F_FUNC2 (com_deallocate_pane, COM_DEALLOCATE_PANE) const
 
void COM_F_FUNC2 (com_get_size1, COM_GET_SIZE1) const
 
void COM_F_FUNC2 (com_get_size2, COM_GET_SIZE2) const
 
void COM_F_FUNC2 (com_get_attribute, COM_GET_ATTRIBUTE) const
 
void COM_F_FUNC2 (com_set_function, COM_SET_FUNCTION) const
 
void COM_F_FUNC2 (com_set_member_function, COM_SET_MEMBER_FUNCTION) const
 
void COM_F_FUNC2 (com_get_communicator, COM_GET_COMMUNICATOR) const
 
void COM_F_FUNC2 (com_get_pane_ids_on_rank, COM_GET_PANE_IDS_ON_RANK) const
 
void COM_F_FUNC2 (com_get_pane_ids, COM_GET_PANE_IDS) const
 
void COM_F_FUNC2 (com_get_npanes, COM_GET_NPANES) const
 
static void mapcharptr (char *str, void *names, int f90ptr_treat, int l1, int l2)
 
void COM_F_FUNC2 (com_get_attributes, COM_GET_ATTRIBUTES) const
 
void COM_F_FUNC2 (com_get_connectivities, COM_GET_CONNECTIVITIES) const
 
void COM_F_FUNC2 (com_get_parent, COM_GET_PARENT) const
 
int COM_F_FUNC2 (com_get_status, COM_GET_STATUS) const
 
void COM_F_FUNC2 (com_free_buffer_char, COM_FREE_BUFFER_CHAR)
 
void COM_F_FUNC2 (com_free_buffer_int, COM_FREE_BUFFER_INT)
 
int COM_F_FUNC2 (com_get_window_handle, COM_GET_WINDOW_HANDLE) const
 
int COM_F_FUNC2 (com_get_attribute_handle, COM_GET_ATTRIBUTE_HANDLE) const
 
int COM_F_FUNC2 (com_get_attribute_handle_const, COM_GET_ATTRIBUTE_HANDLE_CONST) const
 
int COM_F_FUNC2 (com_get_function_handle, COM_GET_FUNCTION_HANDLE) const
 
void COM_F_FUNC2 (com_call_function, COM_CALL_FUNCTION) const
 
void COM_F_FUNC2 (com_icall_function, COM_ICALL_FUNCTION) const
 
void COM_F_FUNC2 (com_test, COM_TEST) const
 
void COM_F_FUNC2 (com_wait, COM_WAIT) const
 
void COM_F_FUNC2 (com_set_pointer, COM_SET_POINTER) const
 
void COM_F_FUNC2 (com_get_pointer, COM_GET_POINTER) const
 
void COM_F_FUNC2 (com_set_object, COM_SET_OBJECT) const
 
void COM_F_FUNC2 (com_get_object, COM_GET_OBJECT) const
 
void COM_F_FUNC2 (com_set_verbose, COM_SET_VERBOSE) const
 
void COM_F_FUNC2 (com_set_debug, COM_SET_DEBUG) const
 
void COM_F_FUNC2 (com_set_profiling_barrier, COM_SET_PROFILING_BARRIER) const
 
void COM_F_FUNC2 (com_set_profiling, COM_SET_PROFILING) const
 
void COM_F_FUNC2 (com_print_profile, COM_PRINT_PROFILE) const
 
int COM_F_FUNC2 (com_get_sizeof, COM_GET_SIZEOF) const
 
int COM_F_FUNC2 (com_get_error_code, COM_GET_ERROR_CODE)()
 
void COM_F_FUNC2 (com_settypeinfo, COM_SETTYPEINFO)
 
COM_END_NAME_SPACE int COM_F_FUNC2 (com_get_sizeof_f90pointer, COM_GET_SIZEOF_F90POINTER)()
 
void COM_F_FUNC2 (com_chkptr_begin, COM_CHKPTR_BEGIN)()
 
void COM_F_FUNC2 (com_chkptr_end, COM_CHKPTR_END) const
 

Detailed Description

Contains the wrapper routines for the F90 binding of Roccom implementation.

See Also
utilities.f90, roccomf90.h, mapptr.h

Definition in file roccom_f.C.

Macro Definition Documentation

#define CHKLEN (   x)    COM_assertion( x>=0 && x<MAX_NAMELEN)
#define COM_APPEND_ARRAY (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *waname, const int &pane_id, \
const void *val, int &v_strd, int &v_size, int l1, int l2) \
{ \
com_append_array_f<dim,type>( waname, pane_id, \
val, v_strd, v_size, l1, l2); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 1162 of file roccom_f.C.

#define COM_APPEND_ARRAY_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *waname, const int &pane_id, \
const void *val, const int &v_strd, const int &v_size, int wa_len) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->append_array( string(waname,wa_len), pane_id, \
val, v_strd, v_size); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 1113 of file roccom_f.C.

#define COM_COPY_ARRAY_OFF (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *waname, const int &pane_id, void *addr, const int &strd, \
const int &cap, const int &offset, int l1, int l2) \
{ \
com_obtain_array_f<dim, type, AM_COPY>( waname, pane_id, addr, \
const_cast<int&>(strd), const_cast<int&>(cap), offset, l1, l2);\
}
real *8 function offset(vNorm, x2, y2, z2)
Definition: PlaneNorm.f90:211
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 1079 of file roccom_f.C.

#define COM_GET_BOUNDS (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pane_id, \
void *lbound, void *ubound, int len) \
{ \
CHKLEN(len);\
COM_get_roccom()->get_bounds( string(wa_str,len), pane_id, lbound, ubound); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 1181 of file roccom_f.C.

#define COM_OBTAIN_ARRAY (   func,
  FUNC,
  dim,
  type,
  mode 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *waname, const int &pane_id, \
void *addr, int l1, int l2) \
{ \
int minusone=-1, zero = 0; \
com_obtain_array_f<dim,type,mode>( waname, pane_id, addr, \
minusone, zero, zero, l1, l2); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 787 of file roccom_f.C.

#define COM_OBTAIN_ARRAY_DYN (   func,
  FUNC,
  dim,
  type,
  mode 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *waname, const int &pane_id, void *addr, \
int &strd, int &cap, int l1, int l2) \
{ \
com_obtain_array_f<dim, type, mode>( waname, pane_id, addr, \
strd, cap, 0, l1, l2);\
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 993 of file roccom_f.C.

#define COM_OBTAIN_ARRAY_STRD (   func,
  FUNC,
  dim,
  type,
  mode 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *waname, const int &pane_id, void *addr, \
int &strd, int l1, int l2) \
{ \
int zero = 0; \
com_obtain_array_f<dim, type,mode>( waname, pane_id, addr, strd, zero, \
zero, l1, l2); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 906 of file roccom_f.C.

#define COM_SET_ARRAY_CONST_DYN_PTR (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
const int &strd, const int &cap, int l1, int l2) \
{ \
com_set_array_const_f<dim,type>( wa_str, pid, addr, strd, cap, l1, l2); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 675 of file roccom_f.C.

#define COM_SET_ARRAY_CONST_DYN_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, const int &strd, \
const int &cap, int wa_len, int) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->set_array( string(wa_str,wa_len), pid, addr, \
strd, cap, true); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 658 of file roccom_f.C.

#define COM_SET_ARRAY_CONST_PTR (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
int l1, int l2) \
{ \
com_set_array_const_f<dim,type>( wa_str, pid, addr, 0, 0, l1, l2);\
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 586 of file roccom_f.C.

#define COM_SET_ARRAY_CONST_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
int wa_len, int) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->set_array( string(wa_str,wa_len), pid, addr, true); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 548 of file roccom_f.C.

#define COM_SET_ARRAY_CONST_STRD_PTR (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
const int &strd, int l1, int l2) \
{ \
com_set_array_const_f<dim,type>( wa_str, pid, addr, strd, 0, l1, l2);\
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 631 of file roccom_f.C.

#define COM_SET_ARRAY_CONST_STRD_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, int &strd, \
int wa_len) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->set_array( string(wa_str,wa_len), pid, addr, strd, true); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 613 of file roccom_f.C.

#define COM_SET_ARRAY_DYN_PTR (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
const int &strd, const int &cap, int l1, int l2) \
{ \
com_set_array_f<dim,type>( wa_str, pid, addr, strd, cap, l1, l2); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 509 of file roccom_f.C.

#define COM_SET_ARRAY_DYN_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, const int &strd, \
const int &cap, int wa_len, int) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->set_array( string(wa_str,wa_len), pid, addr, strd, cap); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 496 of file roccom_f.C.

#define COM_SET_ARRAY_PTR (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
int l1, int l2) \
{ \
com_set_array_f<dim,type>( wa_str, pid, addr, 0, 0, l1, l2);\
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 436 of file roccom_f.C.

#define COM_SET_ARRAY_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
int wa_len, int) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->set_array( string(wa_str,wa_len), pid, addr); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 396 of file roccom_f.C.

#define COM_SET_ARRAY_STRD_PTR (   func,
  FUNC,
  dim,
  type 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, \
const int &strd, int l1, int l2) \
{ \
com_set_array_f<dim,type>( wa_str, pid, addr, strd, 0, l1, l2);\
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87

Definition at line 469 of file roccom_f.C.

#define COM_SET_ARRAY_STRD_SCALAR (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pid, void *addr, const int &strd, \
int wa_len) \
{ \
CHKLEN(wa_len); \
COM_get_roccom()->set_array( string(wa_str,wa_len), pid, addr, strd); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 454 of file roccom_f.C.

#define COM_SET_BOUNDS (   func,
  FUNC 
)
Value:
extern "C" void COM_F_FUNC2( func, FUNC) \
( const char *wa_str, const int &pane_id, \
const void *lbound, const void *ubound, int len) \
{ \
CHKLEN(len);\
COM_get_roccom()->set_bounds( string(wa_str,len), pane_id, lbound, ubound); \
}
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Definition at line 702 of file roccom_f.C.

Enumeration Type Documentation

Enumerator
AM_ALLOC 
AM_RESIZE 
AM_GET 
AM_GETC 
AM_COPY 

Definition at line 715 of file roccom_f.C.

Function Documentation

COM_APPEND_ARRAY ( com_append_array_int1d  ,
COM_APPEND_ARRAY_INT1D  ,
,
COM_INTEGER   
)
COM_APPEND_ARRAY ( com_append_array_flt1d  ,
COM_APPEND_ARRAY_FLT1D  ,
,
COM_REAL   
)
COM_APPEND_ARRAY ( com_append_array_dbl1d  ,
COM_APPEND_ARRAY_DBL1D  ,
,
COM_DOUBLE   
)
COM_APPEND_ARRAY ( com_append_array_int2d  ,
COM_APPEND_ARRAY_INT2D  ,
,
COM_INTEGER   
)
COM_APPEND_ARRAY ( com_append_array_flt2d  ,
COM_APPEND_ARRAY_FLT2D  ,
,
COM_REAL   
)
COM_APPEND_ARRAY ( com_append_array_dbl2d  ,
COM_APPEND_ARRAY_DBL2D  ,
,
COM_DOUBLE   
)
COM_APPEND_ARRAY ( com_append_array_int3d  ,
COM_APPEND_ARRAY_INT3D  ,
,
COM_INTEGER   
)
COM_APPEND_ARRAY ( com_append_array_flt3d  ,
COM_APPEND_ARRAY_FLT3D  ,
,
COM_REAL   
)
COM_APPEND_ARRAY ( com_append_array_dbl3d  ,
COM_APPEND_ARRAY_DBL3D  ,
,
COM_DOUBLE   
)
void com_append_array_f ( const char *  waname,
int  pane_id,
const void *  val,
int  v_strd,
int  v_size,
int  l1,
int  l2 
)

Definition at line 1141 of file roccom_f.C.

References CHKLEN, Roccom_base::FPTR_APPEND, and Roccom_base::FPTR_INSERT.

1143  {
1144  int f90ptr_treat = get_f90ptr_treat();
1145 
1146  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
1147  int wa_len=l2; CHKLEN(wa_len);
1148  com_append_array_helper<dim,type>( string(waname, wa_len), pane_id,
1149  val, v_strd, v_size, l1);
1150  }
1151  else {
1152  int wa_len=l1; CHKLEN(wa_len);
1153  if ( f90ptr_treat == Roccom_base::FPTR_APPEND)
1154  com_append_array_helper<dim,type>( string(waname, wa_len), pane_id,
1155  val, v_strd, v_size, l2);
1156  else
1157  com_append_array_helper<dim,type>( string(waname, wa_len), pane_id,
1158  val, v_strd, v_size);
1159  }
1160 }
#define CHKLEN(x)
Definition: roccom_f.C:112
void com_append_array_helper ( const std::string &  waname,
int  pane_id,
const void *  val,
int  v_strd,
int  v_size,
int  l = 0 
)

Definition at line 1130 of file roccom_f.C.

References COM_get_roccom().

1132  {
1133 
1134  void *v_ptr=com_get_address_f<dim, type>( const_cast<void*>(val), l);
1135 
1136  COM_get_roccom()->append_array( waname, pane_id, v_ptr, v_strd, v_size);
1137 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

COM_APPEND_ARRAY_SCALAR ( com_append_array_chr  ,
COM_APPEND_ARRAY_CHR   
)
COM_APPEND_ARRAY_SCALAR ( com_append_array_int  ,
COM_APPEND_ARRAY_INT   
)
COM_APPEND_ARRAY_SCALAR ( com_append_array_flt  ,
COM_APPEND_ARRAY_FLT   
)
COM_APPEND_ARRAY_SCALAR ( com_append_array_dbl  ,
COM_APPEND_ARRAY_DBL   
)
COM_COPY_ARRAY_OFF ( com_copy_array_int_off  ,
COM_COPY_ARRAY_INT_OFF  ,
,
COM_INTEGER   
)
COM_COPY_ARRAY_OFF ( com_copy_array_int1d_off  ,
COM_COPY_ARRAY_INT1D_OFF  ,
,
COM_INTEGER   
)
COM_COPY_ARRAY_OFF ( com_copy_array_int2d_off  ,
COM_COPY_ARRAY_INT2D_OFF  ,
,
COM_INTEGER   
)
COM_COPY_ARRAY_OFF ( com_copy_array_int3d_off  ,
COM_COPY_ARRAY_INT3D_OFF  ,
,
COM_INTEGER   
)
COM_COPY_ARRAY_OFF ( com_copy_array_flt_off  ,
COM_COPY_ARRAY_FLT_OFF  ,
,
COM_REAL   
)
COM_COPY_ARRAY_OFF ( com_copy_array_flt1d_off  ,
COM_COPY_ARRAY_FLT1D_OFF  ,
,
COM_REAL   
)
COM_COPY_ARRAY_OFF ( com_copy_array_flt2d_off  ,
COM_COPY_ARRAY_FLT2D_OFF  ,
,
COM_REAL   
)
COM_COPY_ARRAY_OFF ( com_copy_array_flt3d_off  ,
COM_COPY_ARRAY_FLT3D_OFF  ,
,
COM_REAL   
)
COM_COPY_ARRAY_OFF ( com_copy_array_dbl_off  ,
COM_COPY_ARRAY_DBL_OFF  ,
,
COM_DOUBLE   
)
COM_COPY_ARRAY_OFF ( com_copy_array_dbl1d_off  ,
COM_COPY_ARRAY_DBL1D_OFF  ,
,
COM_DOUBLE   
)
COM_COPY_ARRAY_OFF ( com_copy_array_dbl2d_off  ,
COM_COPY_ARRAY_DBL2D_OFF  ,
,
COM_DOUBLE   
)
COM_COPY_ARRAY_OFF ( com_copy_array_dbl3d_off  ,
COM_COPY_ARRAY_DBL3D_OFF  ,
,
COM_DOUBLE   
)
void COM_F_FUNC2 ( com_init  ,
COM_INIT   
)

Definition at line 61 of file roccom_f.C.

References Roccom_base::init().

62 { Roccom_base::init( NULL, NULL); }
static void init(int *argc, char ***argv)
Definition: Roccom_base.C:186

Here is the call graph for this function:

void COM_F_FUNC2 ( com_finalize  ,
COM_FINALIZE   
)

Definition at line 64 of file roccom_f.C.

References Roccom_base::finalize().

static void finalize()
Definition: Roccom_base.C:197

Here is the call graph for this function:

int COM_F_FUNC2 ( com_initialized  ,
COM_INITIALIZED   
)

Definition at line 67 of file roccom_f.C.

References Roccom_base::initialized().

68 { return Roccom_base::initialized(); }
static bool initialized()
Checks whether Roccom has been initialized.
Definition: Roccom_base.h:82

Here is the call graph for this function:

void COM_F_FUNC2 ( com_abort  ,
COM_ABORT   
) const

Definition at line 72 of file roccom_f.C.

References Roccom_base::abort().

73 { Roccom_base::abort( ierr); }
static void abort(int ierr)
Definition: Roccom_base.C:205

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_default_communicator  ,
COM_SET_DEFAULT_COMMUNICATOR   
) const

Definition at line 75 of file roccom_f.C.

References COMMPI_Comm_f2c(), and Roccom_base::set_default_communicator().

T COMMPI_Comm_f2c(int c, T)
Definition: commpi.h:202
static void set_default_communicator(MPI_Comm comm)
Set the default communicator of Roccom.
Definition: Roccom_base.h:71

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_default_communicator  ,
COM_GET_DEFAULT_COMMUNICATOR   
)

Definition at line 79 of file roccom_f.C.

References COMMPI_Comm_c2f(), and Roccom_base::get_default_communicator().

int COMMPI_Comm_c2f(T t)
Definition: commpi.h:190
static MPI_Comm get_default_communicator()
Get the default communicator of Roccom.
Definition: Roccom_base.h:75

Here is the call graph for this function:

void COM_F_FUNC2 ( com_load_module  ,
COM_LOAD_MODULE   
) const

Definition at line 87 of file roccom_f.C.

References COM_get_roccom().

90 {
91  COM_get_roccom()->load_module( std::string( libname, l1),
92  std::string( winname, l2));
93 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_unload_module_1  ,
COM_UNLOAD_MODULE_1   
) const

Definition at line 95 of file roccom_f.C.

References COM_get_roccom().

97 {
98  COM_get_roccom()->unload_module( std::string( libname, l1), "");
99 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_unload_module_2  ,
COM_UNLOAD_MODULE_2   
) const

Definition at line 101 of file roccom_f.C.

References COM_get_roccom().

103 {
104  COM_get_roccom()->unload_module( std::string( libname, l1),
105  std::string( winname, l2));
106 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_chkptr_c  ,
COM_CHKPTR_C   
) const

Definition at line 119 of file roccom_f.C.

References Roccom_base::_f90ptr_treat, COM_F_FUNC2, and COM_get_roccom().

124  {
126 
127  if ( rcom->_f90ptr_treat<0)
128  rcom->_f90ptr_treat = COM_F_FUNC2( com_chkptr_c, COM_CHKPTR_C)
129  ( 0, 0, 0, 0, 0, 0, 0, 0, 0);
130 
131  return rcom->_f90ptr_treat;
132 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
int _f90ptr_treat
Treatement of F90 pointers.
Definition: Roccom_base.h:493
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_new_window_null  ,
COM_NEW_WINDOW_NULL   
) const

Definition at line 134 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

136 { CHKLEN(w_len); COM_get_roccom()->new_window( string( w_str, w_len), MPI_COMM_NULL); }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_new_window_mpi  ,
COM_NEW_WINDOW_MPI   
) const

Definition at line 138 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), and COMMPI_Comm_f2c().

139  {
140  CHKLEN(w_len);
141  COM_get_roccom()->new_window
142  ( string( w_str, w_len), COMMPI_Comm_f2c(c, MPI_Comm()));
143 }
T COMMPI_Comm_f2c(int c, T)
Definition: commpi.h:202
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_delete_window  ,
COM_DELETE_WINDOW   
) const

Definition at line 146 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

148 { CHKLEN(len); COM_get_roccom()->delete_window( string( str, len)); }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_window_init_done_1arg  ,
COM_WINDOW_INIT_DONE_1ARG   
) const

Definition at line 150 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

152 { CHKLEN(w_len); COM_get_roccom()->window_init_done( string(w_str,w_len)); }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_window_init_done_2arg  ,
COM_WINDOW_INIT_DONE_2ARG   
) const

Definition at line 154 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

156 { CHKLEN(w_len); COM_get_roccom()->window_init_done( string(w_str,w_len), *c); }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_delete_pane  ,
COM_DELETE_PANE   
) const

Definition at line 158 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

160 { CHKLEN(w_len); COM_get_roccom()->delete_pane( string(w_str,w_len), pid); }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_new_attribute  ,
COM_NEW_ATTRIBUTE   
) const

Definition at line 162 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

166 {
167  CHKLEN((int)wa_len); CHKLEN((int)l_len); CHKLEN((int)u_len);
168  COM_get_roccom()->new_attribute( string( wa_str,(int)wa_len), loc, type,
169  size, string( u_str,(int)u_len));
170 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_delete_attribute  ,
COM_DELETE_ATTRIBUTE   
) const

Definition at line 172 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

174 {
175  CHKLEN(wa_len);
176  COM_get_roccom()->delete_attribute( string( wa_str,wa_len));
177 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_size1  ,
COM_SET_SIZE1   
) const

Definition at line 179 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

181 {
182  CHKLEN( len);
183  COM_get_roccom()->set_size( std::string(wa_str,len), pane_id, size);
184 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_size2  ,
COM_SET_SIZE2   
) const

Definition at line 186 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

189 {
190  CHKLEN( len);
191  COM_get_roccom()->set_size( std::string(wa_str,len), pane_id, size, ng);
192 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_map_cptr  ,
COM_MAP_CPTR   
)

Definition at line 195 of file roccom_f.C.

References x.

197 { if ( x==(void*)p) *p=NULL; else *p = x; }
void int int REAL * x
Definition: read.cpp:74
void COM_F_FUNC2 ( com_map_cptr_chr  ,
COM_MAP_CPTR_CHR   
)

Definition at line 200 of file roccom_f.C.

References x.

202 { if ( x==(void*)p) *p=NULL; else *p = x; }
void int int REAL * x
Definition: read.cpp:74
void COM_F_FUNC2 ( com_map_cptr_int  ,
COM_MAP_CPTR_INT   
)

Definition at line 205 of file roccom_f.C.

References x.

207 { if ( x==(void*)p) *p=NULL; else *p = x; }
void int int REAL * x
Definition: read.cpp:74
void COM_F_FUNC2 ( com_map_cptr_flt  ,
COM_MAP_CPTR_FLT   
)

Definition at line 210 of file roccom_f.C.

References x.

212 { if ( x==(void*)p) *p=NULL; else *p = x; }
void int int REAL * x
Definition: read.cpp:74
void COM_F_FUNC2 ( com_map_cptr_dbl  ,
COM_MAP_CPTR_DBL   
)

Definition at line 215 of file roccom_f.C.

References x.

217 { if ( x==(void*)p) *p=NULL; else *p = x; }
void int int REAL * x
Definition: read.cpp:74
void COM_F_FUNC2 ( com_set_array_null  ,
COM_SET_ARRAY_NULL   
) const

Definition at line 219 of file roccom_f.C.

References COM_get_roccom().

221 { COM_get_roccom()->set_array( std::string(wa_str,len),
222  pane_id, NULL); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_array_const_null  ,
COM_SET_ARRAY_CONST_NULL   
) const

Definition at line 224 of file roccom_f.C.

References COM_get_roccom().

226 { COM_get_roccom()->set_array( std::string(wa_str,len),
227  pane_id, NULL); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_external  ,
COM_SET_EXTERNAL   
) const

Definition at line 229 of file roccom_f.C.

References COM_get_roccom().

231 { COM_get_roccom()->set_array( std::string(wa_str,len),
232  pane_id, p); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_external_const  ,
COM_SET_EXTERNAL_CONST   
) const

Definition at line 234 of file roccom_f.C.

References COM_get_roccom().

236 { COM_get_roccom()->set_array( std::string(wa_str,len),
237  pane_id, p, true); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_call_system  ,
COM_CALL_SYSTEM   
) const

Definition at line 240 of file roccom_f.C.

References cimg_library::cimg::system().

242 { std::string command(com, len); return system( command.c_str()); }
int system(const char *const command, const char *const module_name=0)
Definition: CImg.h:4491

Here is the call graph for this function:

void COM_F_FUNC2 ( com_call_exit  ,
COM_CALL_EXIT   
) const

Definition at line 245 of file roccom_f.C.

247 { exit(ierr); }
void COM_F_FUNC2 ( com_call_atexit  ,
COM_CALL_ATEXIT   
)

Definition at line 250 of file roccom_f.C.

252 { atexit(func); }
void COM_F_FUNC2 ( com_alloc_array_win  ,
COM_ALLOC_ARRAY_WIN   
) const

Definition at line 716 of file roccom_f.C.

References COM_get_roccom().

718 { COM_get_roccom()->allocate_array( std::string( wa_str, len)); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_alloc_array_pane  ,
COM_ALLOC_ARRAY_PANE   
) const

Definition at line 720 of file roccom_f.C.

References COM_get_roccom().

722 { COM_get_roccom()->allocate_array( std::string( wa_str, len), pane_id); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_resize_array_win  ,
COM_RESIZE_ARRAY_WIN   
) const

Definition at line 816 of file roccom_f.C.

References COM_get_roccom().

818 { COM_get_roccom()->resize_array( std::string( wa_str, len)); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_resize_array_pane  ,
COM_RESIZE_ARRAY_PANE   
) const

Definition at line 820 of file roccom_f.C.

References COM_get_roccom().

822 { COM_get_roccom()->resize_array( std::string( wa_str, len), pane_id); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_check_bounds  ,
COM_CHECK_BOUNDS   
) const

Definition at line 1194 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1196 {
1197  CHKLEN(len);
1198  return COM_get_roccom()->check_bounds( string(wa_str,len), pane_id);
1199 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_use_attr  ,
COM_USE_ATTR   
) const

Definition at line 1201 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1203 {
1204  CHKLEN(w_len); CHKLEN(a_len);
1205  COM_get_roccom()->
1206  use_attribute( string(wname, w_len), string(attr, a_len));
1207 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_clone_attr  ,
COM_CLONE_ATTR   
) const

Definition at line 1209 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1211 {
1212  CHKLEN(w_len); CHKLEN(a_len);
1213  COM_get_roccom()->
1214  clone_attribute( string(wname, w_len), string(attr, a_len));
1215 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_copy_attr  ,
COM_COPY_ATTR   
) const

Definition at line 1217 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1219 {
1220  CHKLEN(w_len); CHKLEN(a_len);
1221  COM_get_roccom()->
1222  copy_attribute( string(wname, w_len), string(attr, a_len));
1223 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_copy_attr_hdls  ,
COM_COPY_ATTR_HDLS   
) const

Definition at line 1225 of file roccom_f.C.

References COM_get_roccom().

1227 {
1228  COM_get_roccom()->copy_attribute( trg_hdl, src_hdl);
1229 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_use_attr_ghost  ,
COM_USE_ATTR_GHOST   
) const

Definition at line 1231 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1234 {
1235  CHKLEN(w_len); CHKLEN(a_len);
1236  COM_get_roccom()->
1237  use_attribute( string(wname, w_len), string(attr, a_len), with_ghost);
1238 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_clone_attr_ghost  ,
COM_CLONE_ATTR_GHOST   
) const

Definition at line 1240 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1243 {
1244  CHKLEN(w_len); CHKLEN(a_len);
1245  COM_get_roccom()->
1246  clone_attribute( string(wname, w_len), string(attr, a_len), with_ghost);
1247 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_copy_attr_ghost  ,
COM_COPY_ATTR_GHOST   
) const

Definition at line 1249 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1252 {
1253  CHKLEN(w_len); CHKLEN(a_len);
1254  COM_get_roccom()->
1255  copy_attribute( string(wname, w_len), string(attr, a_len), with_ghost);
1256 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_copy_attr_ghost_hdls  ,
COM_COPY_ATTR_GHOST_HDLS   
) const

Definition at line 1258 of file roccom_f.C.

References COM_get_roccom().

1260 {
1261  COM_get_roccom()->copy_attribute( trg_hdl, src_hdl, with_ghost);
1262 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_use_attr_sub  ,
COM_USE_ATTR_SUB   
) const

Definition at line 1264 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1268 {
1269  CHKLEN(w_len); CHKLEN(a_len);
1270  COM_get_roccom()->
1271  use_attribute( string(wname, w_len), string(attr, a_len),
1272  with_ghost, string(ptnname, p_len).c_str(), val);
1273 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_clone_attr_sub  ,
COM_CLONE_ATTR_sub   
) const

Definition at line 1275 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1279 {
1280  CHKLEN(w_len); CHKLEN(a_len);
1281  COM_get_roccom()->
1282  clone_attribute( string(wname, w_len), string(attr, a_len),
1283  with_ghost, string(ptnname, p_len).c_str(), val);
1284 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_copy_attr_sub  ,
COM_COPY_ATTR_sub   
) const

Definition at line 1286 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1290 {
1291  CHKLEN(w_len); CHKLEN(a_len);
1292  COM_get_roccom()->
1293  copy_attribute( string(wname, w_len), string(attr, a_len),
1294  with_ghost, string(ptnname, p_len).c_str(), val);
1295 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_copy_attr_ghost_sub_hdls  ,
COM_COPY_ATTR_GHOST_SUB_HDLS   
) const

Definition at line 1297 of file roccom_f.C.

References COM_get_roccom().

1301 {
1302  COM_get_roccom()->copy_attribute( trg_hdl, src_hdl, with_ghost,
1303  pnt_hdl, val);
1304 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_deallocate_win  ,
COM_DEALLOCATE_WIN   
) const

Definition at line 1306 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1308 {
1309  CHKLEN(wa_len);
1310  COM_get_roccom()->deallocate_array( string( wa_str, wa_len), 0);
1311 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_deallocate_pane  ,
COM_DEALLOCATE_PANE   
) const

Definition at line 1313 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1315 {
1316  CHKLEN(wa_len);
1317  COM_get_roccom()->deallocate_array(string(wa_str, wa_len), pid);
1318 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_size1  ,
COM_GET_SIZE1   
) const

Definition at line 1320 of file roccom_f.C.

References COM_get_roccom().

1322 { COM_get_roccom()->get_size( std::string(wa_str,len), pane_id, size); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_size2  ,
COM_GET_SIZE2   
) const

Definition at line 1324 of file roccom_f.C.

References COM_get_roccom().

1326 { COM_get_roccom()->get_size( std::string(wa_str,len), pane_id, size, ng); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_attribute  ,
COM_GET_ATTRIBUTE   
) const

Definition at line 1328 of file roccom_f.C.

References CHKLEN, com_copy_string(), COM_F_FUNC2, COM_get_roccom(), min(), and n.

1331 {
1332  CHKLEN(wa_len); CHKLEN(l_len); CHKLEN(u_len);
1333  std::string unit;
1334  COM_get_roccom()->get_attribute( string( wa_str,wa_len), loc, type,
1335  size, &unit);
1336 
1337  int len=unit.size(), n=std::min(len, int(u_len));
1338 
1339  int u_len_int = u_len;
1340  COM_F_FUNC2( com_copy_string, COM_COPY_STRING)
1341  ( unit.c_str(), &n, u_str, &u_len_int, n, u_len);
1342 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_copy_string(str_frm, len_frm, str_to, len_to)
Definition: utilities.f90:33
#define CHKLEN(x)
Definition: roccom_f.C:112
const NT & n
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
Definition: Vector_n.h:346
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_function  ,
COM_SET_FUNCTION   
) const

Definition at line 1344 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1347 {
1348  CHKLEN(wf_len); CHKLEN(i_len);
1349  COM_get_roccom()->set_function( string(wf_str,wf_len), func,
1350  string(intents,i_len), types, true);
1351 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_member_function  ,
COM_SET_MEMBER_FUNCTION   
) const

Definition at line 1353 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1356 {
1357  CHKLEN(wf_len); CHKLEN(a_len); CHKLEN(i_len);
1358  COM_get_roccom()->set_member_function( string(wf_str,wf_len), func,
1359  string(wa_str,a_len),
1360  string(intents,i_len),
1361  types, true);
1362 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_communicator  ,
COM_GET_COMMUNICATOR   
) const

Definition at line 1364 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), and COMMPI_Comm_c2f().

1366 {
1367  CHKLEN(w_len);
1368  *comm = COMMPI_Comm_c2f(COM_get_roccom()->
1369  get_communicator( string(wname, w_len)));
1370 }
#define CHKLEN(x)
Definition: roccom_f.C:112
int COMMPI_Comm_c2f(T t)
Definition: commpi.h:190
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_pane_ids_on_rank  ,
COM_GET_PANE_IDS_ON_RANK   
) const

Definition at line 1372 of file roccom_f.C.

References CHKLEN, COM_F_FUNC2, COM_get_roccom(), com_mapptr_int1d(), Roccom_base::FPTR_APPEND, Roccom_base::FPTR_INSERT, and rank.

1375 {
1376  int f90ptr_treat = get_f90ptr_treat();
1377  int w_len=(f90ptr_treat==Roccom_base::FPTR_INSERT)?l2:l1; CHKLEN(w_len);
1378 
1379  std::vector<int> vec;
1380  int *pids;
1381  COM_get_roccom()->get_panes( string(wname, w_len), vec, rank, &pids);
1382  *npanes = vec.size();
1383 
1384  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
1385  int tonull = *npanes == 0;
1386  typedef void(*Func)(void*,int*,void*,void*,int);
1387  (*(Func)COM_F_FUNC2(com_mapptr_int1d,COM_MAPPTR_INT1D))
1388  ( panes_ids, &tonull, pids, npanes, l1);
1389  }
1390  else {
1391  int tonull = *npanes == 0;
1392 
1393  if ( f90ptr_treat == Roccom_base::FPTR_APPEND) {
1394  typedef void(*Func)(void*,int*,void*,void*,int);
1395  (*(Func)COM_F_FUNC2(com_mapptr_int1d,COM_MAPPTR_INT1D))
1396  ( panes_ids, &tonull, pids, npanes, l2);
1397  }
1398  else {
1399  typedef void(*Func)(void*,int*,void*,void*);
1400  (*(Func)COM_F_FUNC2(com_mapptr_int1d,COM_MAPPTR_INT1D))
1401  ( panes_ids, &tonull, pids, npanes);
1402  }
1403  }
1404 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
#define CHKLEN(x)
Definition: roccom_f.C:112
subroutine com_mapptr_int1d(p, tonull, x, n)
Definition: utilities.f90:74
static int rank
Definition: advectest.C:66
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_pane_ids  ,
COM_GET_PANE_IDS   
) const

Definition at line 1406 of file roccom_f.C.

References COM_F_FUNC2.

1409 {
1410  COM_F_FUNC2(com_get_pane_ids_on_rank,COM_GET_PANE_IDS_ON_RANK)
1411  ( wname, npanes, panes_ids, -2, l1, l2);
1412 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
void COM_F_FUNC2 ( com_get_npanes  ,
COM_GET_NPANES   
) const

Definition at line 1414 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1416 {
1417  CHKLEN(w_len);
1418  std::vector<int> vec;
1419  COM_get_roccom()->get_panes( string(wname, w_len), vec);
1420  *npanes = vec.size();
1421 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_attributes  ,
COM_GET_ATTRIBUTES   
) const

Definition at line 1447 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), Roccom_base::FPTR_INSERT, and mapcharptr().

1450 {
1451  int f90ptr_treat = get_f90ptr_treat();
1452  int w_len=(f90ptr_treat==Roccom_base::FPTR_INSERT)?l2:l1; CHKLEN(w_len);
1453 
1454  std::string str;
1455  char *atts;
1456  COM_get_roccom()->get_attributes( string(wname, w_len), na, str, &atts);
1457 
1458  mapcharptr( atts, names, f90ptr_treat, l1, l2);
1459 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537
static void mapcharptr(char *str, void *names, int f90ptr_treat, int l1, int l2)
Definition: roccom_f.C:1423

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_connectivities  ,
COM_GET_CONNECTIVITIES   
) const

Definition at line 1461 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), Roccom_base::FPTR_INSERT, and mapcharptr().

1464 {
1465  int f90ptr_treat = get_f90ptr_treat();
1466 
1467  int w_len=(f90ptr_treat==Roccom_base::FPTR_INSERT)?l2:l1; CHKLEN(w_len);
1468 
1469  std::string str;
1470  char *conns;
1471  COM_get_roccom()->get_connectivities( string(wname, w_len), pane_id,
1472  nc, str, &conns);
1473 
1474  mapcharptr( conns, names, f90ptr_treat, l1, l2);
1475 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537
static void mapcharptr(char *str, void *names, int f90ptr_treat, int l1, int l2)
Definition: roccom_f.C:1423

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_parent  ,
COM_GET_PARENT   
) const

Definition at line 1477 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), Roccom_base::FPTR_INSERT, and mapcharptr().

1480 {
1481  int f90ptr_treat = get_f90ptr_treat();
1482  int w_len=(f90ptr_treat==Roccom_base::FPTR_INSERT)?l2:l1; CHKLEN(w_len);
1483 
1484  std::string str;
1485  char *name;
1486  COM_get_roccom()->get_parent( string(waname, w_len), pane_id, str, &name);
1487 
1488  mapcharptr( name, parent, f90ptr_treat, l1, l2);
1489 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537
static void mapcharptr(char *str, void *names, int f90ptr_treat, int l1, int l2)
Definition: roccom_f.C:1423

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_status  ,
COM_GET_STATUS   
) const

Definition at line 1491 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1493 {
1494  CHKLEN(len);
1495  return COM_get_roccom()->get_status( std::string(waname,len), pane_id);
1496 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_free_buffer_char  ,
COM_FREE_BUFFER_CHAR   
)

Definition at line 1498 of file roccom_f.C.

References COM_F_FUNC2, COM_get_roccom(), com_getptr_chr1d(), and com_mapptr_chr1d().

1500 {
1501  char *ptr=NULL;
1502  typedef void(*Func)(void*,void**);
1503  (*(Func)COM_F_FUNC2(com_getptr_chr1d,COM_GETPTR_CHR1D))
1504  ( buf, &(void*&)ptr);
1505 
1506  COM_get_roccom()->free_buffer( &ptr);
1507 
1508  { // Nullify pointer
1509  int one=1, zero = 0;
1510  typedef void(*Func)(void*,int*,void*,void*);
1511 
1512  (*(Func)COM_F_FUNC2(com_mapptr_chr1d,COM_GETPTR_CHR1D))
1513  ( buf, &one, ptr, &zero);
1514  }
1515 }
subroutine com_getptr_chr1d(p, x)
Definition: utilities.f90:293
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_mapptr_chr1d(p, tonull, x, n)
Definition: utilities.f90:42
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_free_buffer_int  ,
COM_FREE_BUFFER_INT   
)

Definition at line 1517 of file roccom_f.C.

References COM_F_FUNC2, COM_get_roccom(), com_getptr_int1d(), and com_mapptr_int1d().

1519 {
1520  int *ptr=NULL;
1521  typedef void(*Func)(void*,void**);
1522  (*(Func)COM_F_FUNC2(com_getptr_int1d,COM_GETPTR_INT1D))
1523  ( buf, &(void*&)ptr);
1524 
1525  COM_get_roccom()->free_buffer( &ptr);
1526 
1527  { // Nullify pointer
1528  int one=1, zero = 0;
1529  typedef void(*Func)(void*,int*,void*,void*);
1530 
1531  (*(Func)COM_F_FUNC2(com_mapptr_int1d,COM_GETPTR_INT1D))
1532  ( buf, &one, ptr, &zero);
1533  }
1534 }
subroutine com_getptr_int1d(p, x)
Definition: utilities.f90:327
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_mapptr_int1d(p, tonull, x, n)
Definition: utilities.f90:74
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_window_handle  ,
COM_GET_WINDOW_HANDLE   
) const

Definition at line 1536 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1538 {
1539  CHKLEN(len);
1540  return COM_get_roccom()->get_window_handle( std::string(wname,len));
1541 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_attribute_handle  ,
COM_GET_ATTRIBUTE_HANDLE   
) const

Definition at line 1543 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1545 {
1546  CHKLEN(len);
1547  return COM_get_roccom()->get_attribute_handle( std::string(waname,len));
1548 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_attribute_handle_const  ,
COM_GET_ATTRIBUTE_HANDLE_CONST   
) const

Definition at line 1550 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1551  {
1552 
1553  CHKLEN(len);
1554  return COM_get_roccom()->get_attribute_handle_const( std::string(waname,len));
1555 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_function_handle  ,
COM_GET_FUNCTION_HANDLE   
) const

Definition at line 1557 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1559 {
1560  CHKLEN(len);
1561  return COM_get_roccom()->get_function_handle( std::string(wfname,len));
1562 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_call_function  ,
COM_CALL_FUNCTION   
) const

Definition at line 1564 of file roccom_f.C.

References COM_get_roccom(), i, and Function::MAX_NUMARG.

1567  {
1568  void *args[] = {a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae};
1569  int lens[ Function::MAX_NUMARG];
1570  for ( int i=0; i<argc; ++i)
1571  lens[i] = (unsigned int)((char *)(args[argc+i])-(char *)(0));
1572  COM_get_roccom()->call_function(wf, argc, args, lens, false);
1573 }
blockLoc i
Definition: read.cpp:79
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_icall_function  ,
COM_ICALL_FUNCTION   
) const

Definition at line 1575 of file roccom_f.C.

References COM_get_roccom(), i, and Function::MAX_NUMARG.

1578  {
1579  void *args[] = {a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae};
1580 
1581  int lens[Function::MAX_NUMARG];
1582  for ( int i=0; i<argc-1; ++i)
1583  lens[i] = (unsigned int)((char *)(args[argc+i])-(char *)(0));
1584 
1585  COM_get_roccom()->icall_function(wf, argc, args, lens, false);
1586 }
blockLoc i
Definition: read.cpp:79
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_test  ,
COM_TEST   
) const

Definition at line 1588 of file roccom_f.C.

References COM_assertion, COM_F_FUNC2, COM_get_roccom(), com_set_false(), and com_set_true().

1590 {
1591 
1592  *status = COM_get_roccom()->test( reqid);
1593  if ( *status == true)
1594  COM_F_FUNC2(com_set_true, COM_SET_TRUE)( status);
1595  else {
1596  COM_F_FUNC2(com_set_false, COM_SET_FALSE)( status);
1597  COM_assertion( *status == 0);
1598  }
1599 }
#define COM_assertion(EX)
Error checking utility similar to the assert macro of the C language.
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_set_false(i)
Definition: utilities.f90:28
subroutine com_set_true(i)
Definition: utilities.f90:23
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_wait  ,
COM_WAIT   
) const

Definition at line 1601 of file roccom_f.C.

References COM_get_roccom().

1603 { COM_get_roccom()->wait( reqid); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_pointer  ,
COM_SET_POINTER   
) const

Definition at line 1605 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), and Roccom_base::FPTR_INSERT.

1607  {
1608 
1609  if ( get_f90ptr_treat() == Roccom_base::FPTR_INSERT) {
1610  // Note: For Portland Group F90 compiler, l1 is the end-address of
1611  // the pointer and l2 is the length of the character string.
1612  int len=l2; CHKLEN( len);
1613  COM_get_roccom()->set_f90pointer( std::string(waname,len), ptr, func, l1);
1614  }
1615  else {
1616  int len=l1; CHKLEN( len);
1617  COM_get_roccom()->set_f90pointer( std::string(waname,len), ptr, func, l2);
1618  }
1619 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_get_pointer  ,
COM_GET_POINTER   
) const

Definition at line 1621 of file roccom_f.C.

References CHKLEN, COM_get_roccom(), and Roccom_base::FPTR_INSERT.

1623  {
1624 
1625  int f90ptr_treat = get_f90ptr_treat();
1626 
1627  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
1628  // Note: For Portland Group F90 compiler, l1 is the end-address of
1629  // the pointer and l2 is the length of the character string.
1630  int len=l2; CHKLEN( len);
1631  COM_get_roccom()->get_f90pointer( std::string(waname,len), ptr, func, l1);
1632  }
1633  else {
1634  int len=l1; CHKLEN( len);
1635  COM_get_roccom()->get_f90pointer( std::string(waname,len), ptr, func, l2);
1636  }
1637 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_object  ,
COM_SET_OBJECT   
) const

Definition at line 1639 of file roccom_f.C.

References COM_F_FUNC2.

1641  {
1642 
1643  COM_F_FUNC2( com_set_pointer, COM_SET_POINTER)( waname, ptr, func, l1, l2);
1644 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
void COM_F_FUNC2 ( com_get_object  ,
COM_GET_OBJECT   
) const

Definition at line 1646 of file roccom_f.C.

References COM_F_FUNC2.

1648  {
1649 
1650  COM_F_FUNC2( com_get_pointer, COM_GET_POINTER)( waname, ptr, func, l1, l2);
1651 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
void COM_F_FUNC2 ( com_set_verbose  ,
COM_SET_VERBOSE   
) const

Definition at line 1658 of file roccom_f.C.

References COM_get_roccom(), and i.

1659 { COM_get_roccom()->set_verbose( i); }
blockLoc i
Definition: read.cpp:79
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_debug  ,
COM_SET_DEBUG   
) const

Definition at line 1661 of file roccom_f.C.

References COM_get_roccom().

1662 { COM_get_roccom()->set_debug( debug); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_profiling_barrier  ,
COM_SET_PROFILING_BARRIER   
) const

Definition at line 1664 of file roccom_f.C.

References COM_get_roccom(), and COMMPI_Comm_f2c().

1666 {
1667  COM_get_roccom()->set_profiling_barrier
1668  ( hdl, COMMPI_Comm_f2c(comm, MPI_Comm()));
1669 }
T COMMPI_Comm_f2c(int c, T)
Definition: commpi.h:202
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_set_profiling  ,
COM_SET_PROFILING   
) const

Definition at line 1671 of file roccom_f.C.

References COM_get_roccom(), and i.

1672 {
1673  COM_get_roccom()->set_profiling( i);
1674 }
blockLoc i
Definition: read.cpp:79
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_print_profile  ,
COM_PRINT_PROFILE   
) const

Definition at line 1676 of file roccom_f.C.

References CHKLEN, and COM_get_roccom().

1679 {
1680  CHKLEN(len); CHKLEN(hlen);
1681  COM_get_roccom()->print_profile( std::string(fname,len),
1682  std::string(header,hlen));
1683 }
#define CHKLEN(x)
Definition: roccom_f.C:112
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_sizeof  ,
COM_GET_SIZEOF   
) const

Definition at line 1685 of file roccom_f.C.

References COM_get_roccom().

1687 { return COM_get_roccom()->get_sizeof( *type, *c); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

int COM_F_FUNC2 ( com_get_error_code  ,
COM_GET_ERROR_CODE   
)

Definition at line 1689 of file roccom_f.C.

References COM_get_roccom().

1690 { return COM_get_roccom()->get_error_code(); }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

void COM_F_FUNC2 ( com_settypeinfo  ,
COM_SETTYPEINFO   
)

Definition at line 1699 of file roccom_f.C.

References Big_array::a, COM_F_FUNC2, com_settypeinfo(), and i.

1701  {
1702  Big_array w;
1703 
1704  COM_F_FUNC2( com_settypeinfo, COM_SETTYPEINFO)(&w);
1705 
1706  if (w.a[0] != 333331) {
1707  return -1;
1708  }
1709  else {
1710  for (int i = 0; i < 512; i++) {
1711  if (w.a[i] == 333332) {
1712  return (i-1)*sizeof(int);
1713  }
1714  }
1715  }
1716  return -1;
1717 }
subroutine com_settypeinfo(wrapper)
Definition: utilities.f90:481
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
int a[512]
Some arbitrary big array.
Definition: roccom_f.C:1696
blockLoc i
Definition: read.cpp:79
Some big array to help determining the size of a Fortran 90 pointer.
Definition: roccom_f.C:1695

Here is the call graph for this function:

COM_END_NAME_SPACE int COM_F_FUNC2 ( com_get_sizeof_f90pointer  ,
COM_GET_SIZEOF_F90POINTER   
)

Definition at line 1721 of file roccom_f.C.

1722 { return get_sizeof_f90pointer(); }
void COM_F_FUNC2 ( com_chkptr_begin  ,
COM_CHKPTR_BEGIN   
)
void COM_F_FUNC2 ( com_chkptr_end  ,
COM_CHKPTR_END   
) const

Definition at line 1726 of file roccom_f.C.

References COM_assertion_msg, com_chkptr_begin(), com_chkptr_end(), COM_F_FUNC2, COM_get_roccom(), Roccom_base::FPTR_APPEND, Roccom_base::FPTR_INSERT, Roccom_base::FPTR_NONE, len1, and len2.

1733  {
1734 
1735  static int insert_or_append;
1736  static int ptrinfo1, ptrinfo2;
1737 
1738  switch ( stage) {
1739  case 0: // Being called from COM_init
1740  insert_or_append = Roccom_base::FPTR_NONE;
1741  ptrinfo1 = ptrinfo2 = 0;
1742 
1743  COM_F_FUNC2( com_chkptr_begin, COM_CHKPTR_BEGIN)();
1744  break;
1745  case 1:
1746  if ( (int)len3 == 17 && (int)len4 == 33)
1747  insert_or_append = Roccom_base::FPTR_INSERT;
1748  else
1749  COM_assertion_msg( len1 == 17 && len2 == 33,
1750  "Incorrect handling of Fortran 90 pointers");
1751 
1752  if ( insert_or_append == Roccom_base::FPTR_INSERT) {
1753  ptrinfo1 = len1 - ((char*)ptr1-(char*)NULL);
1754  ptrinfo2 = len2 - ((char*)ptr2-(char*)NULL);
1755  }
1756  else {
1757  ptrinfo1 = len3 - ((char*)ptr1-(char*)NULL);
1758  ptrinfo2 = len4 - ((char*)ptr2-(char*)NULL);
1759  }
1760 
1761  COM_F_FUNC2( com_chkptr_end, COM_CHKPTR_END)
1762  ( str1, ptr1, str2, ptr2, len1, len2, len3, len4);
1763  break;
1764  case 2: { // This stage, the arguments are switched
1765  int verb = COM_get_roccom()->get_verbose();
1766  bool debug = COM_get_roccom()->get_debug();
1767  if ( insert_or_append == Roccom_base::FPTR_INSERT) {
1768  COM_assertion_msg( ptrinfo1 == len2-((char*)ptr2-(char*)NULL) &&
1769  ptrinfo2 == len1-((char*)ptr1-(char*)NULL),
1770  "Incorrect handling of Fortran 90 pointers");
1771  if (debug)
1772  std::cerr << "Roccom: Setting f90 pointer treatment to INSERT" << std::endl;
1773  }
1774  else {
1775  if ( ptrinfo1 != 0 && ptrinfo1 == len4-((char*)ptr2-(char*)NULL) &&
1776  ptrinfo2 != 0 && ptrinfo2 == len3-((char*)ptr1-(char*)NULL)) {
1777  if (debug)
1778  std::cerr << "Roccom: Setting f90 pointer treatment to APPEND. \n";
1779  insert_or_append = Roccom_base::FPTR_APPEND;
1780  }
1781  else if (debug)
1782  std::cerr << "Roccom: Setting f90 pointer treatment to NONE.\n";
1783 
1784  if ( verb && (verb|1)==0)
1785  std::cerr << "\tAt pass 1, " << "ptrinfo1 is " << ptrinfo1
1786  << " and ptrinfo2 is " << ptrinfo2
1787  << " and\n\tat pass 2, ptrinfo1 is "
1788  << len3-((char*)ptr1-(char*)NULL)
1789  << " and ptrinfo2 is "
1790  << len4-((char*)ptr2-(char*)NULL) << std::endl;
1791 
1792  break;
1793  }
1794  }
1795  default: ;
1796  }
1797  return insert_or_append;
1798 }
void const int char const int long int long int len2
Definition: mapptr.h:80
#define COM_assertion_msg(EX, msg)
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
void const int char const int long int len1
Definition: mapptr.h:80
subroutine com_chkptr_end(str1, ptr1, str2, ptr2)
Definition: utilities.f90:530
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537
subroutine com_chkptr_begin
Definition: utilities.f90:508

Here is the call graph for this function:

void* com_get_address_f ( void *  addr,
int  l = 0 
)

Definition at line 256 of file roccom_f.C.

References COM_assertion, COM_DOUBLE, COM_F_FUNC2, com_getptr_dbl0d(), com_getptr_dbl1d(), com_getptr_dbl2d(), com_getptr_dbl3d(), com_getptr_flt0d(), com_getptr_flt1d(), com_getptr_flt2d(), com_getptr_flt3d(), com_getptr_int0d(), com_getptr_int1d(), com_getptr_int2d(), com_getptr_int3d(), COM_INTEGER, and COM_REAL.

256  {
257  Func_ptr f;
258 
259  if ( dim==0) {
260  if (type==COM_INTEGER)
261  f = COM_F_FUNC2(com_getptr_int0d,COM_GETPTR_INT0D);
262  else if ( type==COM_REAL)
263  f = COM_F_FUNC2(com_getptr_flt0d,COM_GETPTR_FLT0D);
264  else if ( type==COM_DOUBLE)
265  f = COM_F_FUNC2(com_getptr_dbl0d,COM_GETPTR_DBL0D);
266  else
267  COM_assertion(false);
268  }
269  else if ( dim==1) {
270  if (type==COM_INTEGER)
271  f = COM_F_FUNC2(com_getptr_int1d,COM_GETPTR_INT1D);
272  else if ( type==COM_REAL)
273  f = COM_F_FUNC2(com_getptr_flt1d,COM_GETPTR_FLT1D);
274  else if ( type==COM_DOUBLE)
275  f = COM_F_FUNC2(com_getptr_dbl1d,COM_GETPTR_DBL1D);
276  else
277  COM_assertion(false);
278  }
279  else if (dim==2) {
280  if (type==COM_INTEGER)
281  f = COM_F_FUNC2(com_getptr_int2d,COM_GETPTR_INT2D);
282  else if ( type==COM_REAL)
283  f = COM_F_FUNC2(com_getptr_flt2d,COM_GETPTR_FLT2D);
284  else if ( type==COM_DOUBLE)
285  f = COM_F_FUNC2(com_getptr_dbl2d,COM_GETPTR_DBL2D);
286  else
287  COM_assertion(false);
288  }
289  else if (dim==3) {
290  if (type==COM_INTEGER)
291  f = COM_F_FUNC2(com_getptr_int3d,COM_GETPTR_INT3D);
292  else if ( type==COM_REAL)
293  f = COM_F_FUNC2(com_getptr_flt3d,COM_GETPTR_FLT3D);
294  else if ( type==COM_DOUBLE)
295  f = COM_F_FUNC2(com_getptr_dbl3d,COM_GETPTR_DBL3D);
296  else
297  COM_assertion(false);
298  }
299  else
300  COM_assertion(false);
301 
302  void *ptr=NULL;
303  if ( l==0) {
304  typedef void(*Func)(void*,void**);
305  (*(Func)f)( addr, &ptr);
306  }
307  else {
308  typedef void(*Func)(void*,void**, int);
309  (*(Func)f)( addr, &ptr, l);
310  }
311 
312  return ptr;
313 }
#define COM_assertion(EX)
Error checking utility similar to the assert macro of the C language.
subroutine com_getptr_int0d(p, x)
Definition: utilities.f90:307
subroutine com_getptr_dbl2d(p, x)
Definition: utilities.f90:453
subroutine com_getptr_flt3d(p, x)
Definition: utilities.f90:411
subroutine com_getptr_int1d(p, x)
Definition: utilities.f90:327
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_getptr_dbl1d(p, x)
Definition: utilities.f90:439
subroutine com_getptr_dbl0d(p, x)
Definition: utilities.f90:425
subroutine com_getptr_int3d(p, x)
Definition: utilities.f90:355
subroutine com_getptr_flt1d(p, x)
Definition: utilities.f90:383
void(* Func_ptr)()
Pointer of functions.
Definition: roccom_basic.h:123
subroutine com_getptr_flt2d(p, x)
Definition: utilities.f90:397
subroutine com_getptr_int2d(p, x)
Definition: utilities.f90:341
subroutine com_getptr_dbl3d(p, x)
Definition: utilities.f90:467
subroutine com_getptr_flt0d(p, x)
Definition: utilities.f90:369

Here is the call graph for this function:

COM_GET_BOUNDS ( com_get_bounds_int  ,
COM_GET_BOUNDS_INT   
)
COM_GET_BOUNDS ( com_get_bounds_flt  ,
COM_GET_BOUNDS_FLT   
)
COM_GET_BOUNDS ( com_get_bounds_dbl  ,
COM_GET_BOUNDS_DBL   
)
COM_OBTAIN_ARRAY ( com_alloc_array_int  ,
COM_ALLOC_ARRAY_INT  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_int1d  ,
COM_ALLOC_ARRAY_INT1D  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_int2d  ,
COM_ALLOC_ARRAY_INT2D  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_flt  ,
COM_ALLOC_ARRAY_FLT  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_flt1d  ,
COM_ALLOC_ARRAY_FLT1D  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_flt2d  ,
COM_ALLOC_ARRAY_FLT2D  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_dbl  ,
COM_ALLOC_ARRAY_DBL  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_dbl1d  ,
COM_ALLOC_ARRAY_DBL1D  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_alloc_array_dbl2d  ,
COM_ALLOC_ARRAY_DBL2D  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY ( com_resize_array_int  ,
COM_RESIZE_ARRAY_INT  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_int1d  ,
COM_RESIZE_ARRAY_INT1D  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_int2d  ,
COM_RESIZE_ARRAY_INT2D  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_flt  ,
COM_RESIZE_ARRAY_FLT  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_flt1d  ,
COM_RESIZE_ARRAY_FLT1D  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_flt2d  ,
COM_RESIZE_ARRAY_FLT2D  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_dbl  ,
COM_RESIZE_ARRAY_DBL  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_dbl1d  ,
COM_RESIZE_ARRAY_DBL1D  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_resize_array_dbl2d  ,
COM_RESIZE_ARRAY_DBL2D  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY ( com_get_array_int  ,
COM_GET_ARRAY_INT  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_int1d  ,
COM_GET_ARRAY_INT1D  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_int2d  ,
COM_GET_ARRAY_INT2D  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_flt  ,
COM_GET_ARRAY_FLT  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_flt1d  ,
COM_GET_ARRAY_FLT1D  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_flt2d  ,
COM_GET_ARRAY_FLT2D  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_dbl  ,
COM_GET_ARRAY_DBL  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_dbl1d  ,
COM_GET_ARRAY_DBL1D  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_dbl2d  ,
COM_GET_ARRAY_DBL2D  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY ( com_get_array_const_int  ,
COM_GET_ARRAY_CONST_INT  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_int1d  ,
COM_GET_ARRAY_CONST_INT1D  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_int2d  ,
COM_GET_ARRAY_CONST_INT2D  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_flt  ,
COM_GET_ARRAY_CONST_FLT  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_flt1d  ,
COM_GET_ARRAY_CONST_FLT1D  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_flt2d  ,
COM_GET_ARRAY_CONST_FLT2D  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_dbl  ,
COM_GET_ARRAY_CONST_DBL  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_dbl1d  ,
COM_GET_ARRAY_CONST_DBL1D  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_get_array_const_dbl2d  ,
COM_GET_ARRAY_CONST_DBL2D  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY ( com_copy_array_int  ,
COM_COPY_ARRAY_INT  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_int1d  ,
COM_COPY_ARRAY_INT1D  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_int2d  ,
COM_COPY_ARRAY_INT2D  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_int3d  ,
COM_COPY_ARRAY_INT3D  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_flt  ,
COM_COPY_ARRAY_FLT  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_flt1d  ,
COM_COPY_ARRAY_FLT1D  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_flt2d  ,
COM_COPY_ARRAY_FLT2D  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_flt3d  ,
COM_COPY_ARRAY_FLT3D  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_dbl  ,
COM_COPY_ARRAY_DBL  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_dbl1d  ,
COM_COPY_ARRAY_DBL1D  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_dbl2d  ,
COM_COPY_ARRAY_DBL2D  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY ( com_copy_array_dbl3d  ,
COM_COPY_ARRAY_DBL3D  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_alloc_array_int1d_dyn  ,
COM_ALLOC_ARRAY_INT1D_DYN  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_DYN ( com_alloc_array_int2d_dyn  ,
COM_ALLOC_ARRAY_INT2D_DYN  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_DYN ( com_alloc_array_flt1d_dyn  ,
COM_ALLOC_ARRAY_FLT1D_DYN  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_DYN ( com_alloc_array_flt2d_dyn  ,
COM_ALLOC_ARRAY_FLT2D_DYN  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_DYN ( com_alloc_array_dbl1d_dyn  ,
COM_ALLOC_ARRAY_DBL1D_DYN  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_DYN ( com_alloc_array_dbl2d_dyn  ,
COM_ALLOC_ARRAY_DBL2D_DYN  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_DYN ( com_resize_array_int1d_dyn  ,
COM_RESIZE_ARRAY_INT1D_DYN  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_DYN ( com_resize_array_int2d_dyn  ,
COM_RESIZE_ARRAY_INT2D_DYN  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_DYN ( com_resize_array_flt1d_dyn  ,
COM_RESIZE_ARRAY_FLT1D_DYN  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_DYN ( com_resize_array_flt2d_dyn  ,
COM_RESIZE_ARRAY_FLT2D_DYN  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_DYN ( com_resize_array_dbl1d_dyn  ,
COM_RESIZE_ARRAY_DBL1D_DYN  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_DYN ( com_resize_array_dbl2d_dyn  ,
COM_RESIZE_ARRAY_DBL2D_DYN  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_int1d_dyn  ,
COM_GET_ARRAY_INT1D_DYN  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_int2d_dyn  ,
COM_GET_ARRAY_INT2D_DYN  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_flt1d_dyn  ,
COM_GET_ARRAY_FLT1D_DYN  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_flt2d_dyn  ,
COM_GET_ARRAY_FLT2D_DYN  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_dbl1d_dyn  ,
COM_GET_ARRAY_DBL1D_DYN  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_dbl2d_dyn  ,
COM_GET_ARRAY_DBL2D_DYN  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_const_int1d_dyn  ,
COM_GET_ARRAY_CONST_INT1D_DYN  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_const_int2d_dyn  ,
COM_GET_ARRAY_CONST_INT2D_DYN  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_const_flt1d_dyn  ,
COM_GET_ARRAY_CONST_FLT1D_DYN  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_const_flt2d_dyn  ,
COM_GET_ARRAY_CONST_FLT2D_DYN  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_const_dbl1d_dyn  ,
COM_GET_ARRAY_CONST_DBL1D_DYN  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_DYN ( com_get_array_const_dbl2d_dyn  ,
COM_GET_ARRAY_CONST_DBL2D_DYN  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_int_dyn  ,
COM_COPY_ARRAY_INT_DYN  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_int1d_dyn  ,
COM_COPY_ARRAY_INT1D_DYN  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_int2d_dyn  ,
COM_COPY_ARRAY_INT2D_DYN  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_int3d_dyn  ,
COM_COPY_ARRAY_INT3D_DYN  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_flt_dyn  ,
COM_COPY_ARRAY_FLT_DYN  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_flt1d_dyn  ,
COM_COPY_ARRAY_FLT1D_DYN  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_flt2d_dyn  ,
COM_COPY_ARRAY_FLT2D_DYN  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_flt3d_dyn  ,
COM_COPY_ARRAY_FLT3D_DYN  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_dbl_dyn  ,
COM_COPY_ARRAY_DBL_DYN  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_dbl1d_dyn  ,
COM_COPY_ARRAY_DBL1D_DYN  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_dbl2d_dyn  ,
COM_COPY_ARRAY_DBL2D_DYN  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_DYN ( com_copy_array_dbl3d_dyn  ,
COM_COPY_ARRAY_DBL3D_DYN  ,
,
COM_DOUBLE  ,
AM_COPY   
)
void com_obtain_array_f ( const char *  waname,
int  pane_id,
void *  addr,
int &  strd,
int &  cap,
int  offset,
int  l1,
int  l2 
)

Definition at line 758 of file roccom_f.C.

References AM_COPY, CHKLEN, Roccom_base::FPTR_APPEND, Roccom_base::FPTR_INSERT, and offset().

760  {
761 
762  if ( dim==0 && mode==AM_COPY) { // Not a Fortran pointer
763  int wa_len=l1; CHKLEN(wa_len);
764  com_obtain_array_helper<dim,type,mode>( string(waname, wa_len), pane_id,
765  addr, strd, cap, offset);
766  }
767  else {
768  int f90ptr_treat = get_f90ptr_treat();
769 
770  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
771  int wa_len=l2; CHKLEN(wa_len);
772  com_obtain_array_helper<dim,type,mode>( string(waname, wa_len), pane_id,
773  addr, strd, cap, offset, l1);
774  }
775  else {
776  int wa_len=l1; CHKLEN(wa_len);
777  if ( f90ptr_treat == Roccom_base::FPTR_APPEND)
778  com_obtain_array_helper<dim,type,mode>( string(waname, wa_len), pane_id,
779  addr, strd, cap, offset, l2);
780  else
781  com_obtain_array_helper<dim,type,mode>( string(waname, wa_len), pane_id,
782  addr, strd, cap, offset);
783  }
784  }
785 }
real *8 function offset(vNorm, x2, y2, z2)
Definition: PlaneNorm.f90:211
#define CHKLEN(x)
Definition: roccom_f.C:112

Here is the call graph for this function:

void com_obtain_array_helper ( const std::string &  waname,
int  pane_id,
void *  addr,
int &  strd,
int &  cap,
int  offset,
int  l = 0 
)

Definition at line 726 of file roccom_f.C.

References AM_ALLOC, AM_COPY, AM_GETC, AM_RESIZE, COM_get_roccom(), and Window::Pointer_descriptor::ptr.

727  {
728 
729  if ( mode != AM_RESIZE && strd<0) strd=0;
730 
731  Roccom_base::Pointer_descriptor ptr(NULL, dim);
732  if ( mode==AM_ALLOC) {
733  COM_get_roccom()->allocate_array( waname, pane_id, NULL, strd, cap);
734  COM_get_roccom()->get_array( waname, pane_id, ptr);
735  }
736  else if ( mode==AM_RESIZE) {
737  COM_get_roccom()->resize_array( waname, pane_id, NULL, strd, cap);
738  COM_get_roccom()->get_array( waname, pane_id, ptr);
739  }
740  else if ( mode == AM_COPY) {
741  if ( dim==0) ptr.ptr = addr; // If dim==0, it is not a pointer
742  else ptr.ptr = com_get_address_f<dim,type>( addr, l);
743 
744  COM_get_roccom()->copy_array( waname, pane_id, ptr.ptr,
745  strd, cap, offset);
746  }
747  else {
748  COM_get_roccom()->get_array( waname, pane_id, ptr, &strd,
749  &cap, mode==AM_GETC);
750  }
751 
752  if ( mode != AM_COPY)
753  com_set_address_f<dim, type>( ptr, addr, l);
754 }
real *8 function offset(vNorm, x2, y2, z2)
Definition: PlaneNorm.f90:211
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

COM_OBTAIN_ARRAY_STRD ( com_alloc_array_int1d_strd  ,
COM_ALLOC_ARRAY_INT1D_STRD  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_STRD ( com_alloc_array_int2d_strd  ,
COM_ALLOC_ARRAY_INT2D_STRD  ,
,
COM_INTEGER  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_STRD ( com_alloc_array_flt1d_strd  ,
COM_ALLOC_ARRAY_FLT1D_STRD  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_STRD ( com_alloc_array_flt2d_strd  ,
COM_ALLOC_ARRAY_FLT2D_STRD  ,
,
COM_REAL  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_STRD ( com_alloc_array_dbl1d_strd  ,
COM_ALLOC_ARRAY_DBL1D_STRD  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_STRD ( com_alloc_array_dbl2d_strd  ,
COM_ALLOC_ARRAY_DBL2D_STRD  ,
,
COM_DOUBLE  ,
AM_ALLOC   
)
COM_OBTAIN_ARRAY_STRD ( com_resize_array_int1d_strd  ,
COM_RESIZE_ARRAY_INT1D_STRD  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_STRD ( com_resize_array_int2d_strd  ,
COM_RESIZE_ARRAY_INT2D_STRD  ,
,
COM_INTEGER  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_STRD ( com_resize_array_flt1d_strd  ,
COM_RESIZE_ARRAY_FLT1D_STRD  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_STRD ( com_resize_array_flt2d_strd  ,
COM_RESIZE_ARRAY_FLT2D_STRD  ,
,
COM_REAL  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_STRD ( com_resize_array_dbl1d_strd  ,
COM_RESIZE_ARRAY_DBL1D_STRD  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_STRD ( com_resize_array_dbl2d_strd  ,
COM_RESIZE_ARRAY_DBL2D_STRD  ,
,
COM_DOUBLE  ,
AM_RESIZE   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_int1d_strd  ,
COM_GET_ARRAY_INT1D_STRD  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_int2d_strd  ,
COM_GET_ARRAY_INT2D_STRD  ,
,
COM_INTEGER  ,
AM_GET   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_flt1d_strd  ,
COM_GET_ARRAY_FLT1D_STRD  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_flt2d_strd  ,
COM_GET_ARRAY_FLT2D_STRD  ,
,
COM_REAL  ,
AM_GET   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_dbl1d_strd  ,
COM_GET_ARRAY_DBL1D_STRD  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_dbl2d_strd  ,
COM_GET_ARRAY_DBL2D_STRD  ,
,
COM_DOUBLE  ,
AM_GET   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_const_int1d_strd  ,
COM_GET_ARRAY_CONST_INT1D_STRD  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_const_int2d_strd  ,
COM_GET_ARRAY_CONST_INT2D_STRD  ,
,
COM_INTEGER  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_const_flt1d_strd  ,
COM_GET_ARRAY_CONST_FLT1D_STRD  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_const_flt2d_strd  ,
COM_GET_ARRAY_CONST_FLT2D_STRD  ,
,
COM_REAL  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_const_dbl1d_strd  ,
COM_GET_ARRAY_CONST_DBL1D_STRD  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_STRD ( com_get_array_const_dbl2d_strd  ,
COM_GET_ARRAY_CONST_DBL2D_STRD  ,
,
COM_DOUBLE  ,
AM_GETC   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_int_strd  ,
COM_COPY_ARRAY_INT_STRD  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_int1d_strd  ,
COM_COPY_ARRAY_INT1D_STRD  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_int2d_strd  ,
COM_COPY_ARRAY_INT2D_STRD  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_int3d_strd  ,
COM_COPY_ARRAY_INT3D_STRD  ,
,
COM_INTEGER  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_flt_strd  ,
COM_COPY_ARRAY_FLT_STRD  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_flt1d_strd  ,
COM_COPY_ARRAY_FLT1D_STRD  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_flt2d_strd  ,
COM_COPY_ARRAY_FLT2D_STRD  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_flt3d_strd  ,
COM_COPY_ARRAY_FLT3D_STRD  ,
,
COM_REAL  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_dbl_strd  ,
COM_COPY_ARRAY_DBL_STRD  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_dbl1d_strd  ,
COM_COPY_ARRAY_DBL1D_STRD  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_dbl2d_strd  ,
COM_COPY_ARRAY_DBL2D_STRD  ,
,
COM_DOUBLE  ,
AM_COPY   
)
COM_OBTAIN_ARRAY_STRD ( com_copy_array_dbl3d_strd  ,
COM_COPY_ARRAY_DBL3D_STRD  ,
,
COM_DOUBLE  ,
AM_COPY   
)
void com_set_address_f ( Roccom_base::Pointer_descriptor ptr,
void *  addr,
int  l = 0 
)

Definition at line 317 of file roccom_f.C.

References Window::Pointer_descriptor::at(), COM_assertion, COM_DOUBLE, COM_F_FUNC2, COM_INTEGER, com_mapptr_dbl0d(), com_mapptr_dbl1d(), com_mapptr_dbl2d(), com_mapptr_flt0d(), com_mapptr_flt1d(), com_mapptr_flt2d(), com_mapptr_int0d(), com_mapptr_int1d(), com_mapptr_int2d(), COM_REAL, Window::Pointer_descriptor::n1, and Window::Pointer_descriptor::n2.

318  {
319  Func_ptr f;
320 
321  if ( dim==0) {
322  if (type==COM_INTEGER)
323  f = COM_F_FUNC2(com_mapptr_int0d,COM_MAPPTR_INT0D);
324  else if ( type==COM_REAL)
325  f = COM_F_FUNC2(com_mapptr_flt0d,COM_MAPPTR_FLT0D);
326  else if ( type==COM_DOUBLE)
327  f = COM_F_FUNC2(com_mapptr_dbl0d,COM_MAPPTR_DBL0D);
328  else
329  COM_assertion(false);
330  int tonull=(ptr.at()==NULL);
331 
332  if ( l) {
333  typedef void(*Func)(void*,int*,void*, int);
334  (*(Func)f)( addr, &tonull, ptr.at(), l);
335  }
336  else {
337  typedef void(*Func)(void*,int*,void*);
338  (*(Func)f)( addr, &tonull, ptr.at());
339  }
340  }
341  else if ( dim==1) {
342  if (type==COM_INTEGER)
343  f = COM_F_FUNC2(com_mapptr_int1d,COM_MAPPTR_INT1D);
344  else if ( type==COM_REAL)
345  f = COM_F_FUNC2(com_mapptr_flt1d,COM_MAPPTR_FLT1D);
346  else if ( type==COM_DOUBLE)
347  f = COM_F_FUNC2(com_mapptr_dbl1d,COM_MAPPTR_DBL1D);
348  else
349  COM_assertion(false);
350 
351  int tonull=(ptr.at()==NULL);
352  if ( l) {
353  typedef void(*Func)(void*,int*,void*,void*,int);
354  (*(Func)f)( addr, &tonull, ptr.at(), &ptr.n1, l);
355  }
356  else {
357  typedef void(*Func)(void*,int*,void*,void*);
358  (*(Func)f)( addr, &tonull,ptr.at(), &ptr.n1);
359  }
360  }
361  else if (dim==2) {
362  if (type==COM_INTEGER)
363  f = COM_F_FUNC2(com_mapptr_int2d,COM_MAPPTR_INT2D);
364  else if ( type==COM_REAL)
365  f = COM_F_FUNC2(com_mapptr_flt2d,COM_MAPPTR_FLT2D);
366  else if ( type==COM_DOUBLE)
367  f = COM_F_FUNC2(com_mapptr_dbl2d,COM_MAPPTR_DBL2D);
368  else
369  COM_assertion(false);
370 
371  int tonull=(ptr.at()==NULL);
372  if ( l) {
373  typedef void(*Func)(void*,int*,void*,void*,void*,int);
374  (*(Func)f)( addr, &tonull, ptr.at(), &ptr.n1, &ptr.n2, l);
375  }
376  else {
377  typedef void(*Func)(void*,int*,void*,void*,void*);
378  (*(Func)f)( addr, &tonull,ptr.at(), &ptr.n1, &ptr.n2);
379  }
380  }
381  else
382  COM_assertion(false);
383 }
#define COM_assertion(EX)
Error checking utility similar to the assert macro of the C language.
subroutine com_mapptr_flt2d(p, tonull, x, n1, n2)
Definition: utilities.f90:165
subroutine com_mapptr_int0d(p, tonull, x)
Definition: utilities.f90:58
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_mapptr_flt0d(p, tonull, x)
Definition: utilities.f90:126
subroutine com_mapptr_int2d(p, tonull, x, n1, n2)
Definition: utilities.f90:91
void(* Func_ptr)()
Pointer of functions.
Definition: roccom_basic.h:123
subroutine com_mapptr_dbl0d(p, tonull, x)
Definition: utilities.f90:200
subroutine com_mapptr_flt1d(p, tonull, x, n)
Definition: utilities.f90:148
subroutine com_mapptr_int1d(p, tonull, x, n)
Definition: utilities.f90:74
subroutine com_mapptr_dbl2d(p, tonull, x, n1, n2)
Definition: utilities.f90:239
subroutine com_mapptr_dbl1d(p, tonull, x, n)
Definition: utilities.f90:222

Here is the call graph for this function:

COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_int1d_dyn  ,
COM_SET_ARRAY_CONST_INT1D_DYN  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_flt1d_dyn  ,
COM_SET_ARRAY_CONST_FLT1D_DYN  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_dbl1d_dyn  ,
COM_SET_ARRAY_CONST_DBL1D_DYN  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_int2d_dyn  ,
COM_SET_ARRAY_CONST_INT2D_DYN  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_flt2d_dyn  ,
COM_SET_ARRAY_CONST_FLT2D_DYN  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_dbl2d_dyn  ,
COM_SET_ARRAY_CONST_DBL2D_DYN  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_int3d_dyn  ,
COM_SET_ARRAY_CONST_INT3D_DYN  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_flt3d_dyn  ,
COM_SET_ARRAY_CONST_FLT3D_DYN  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_DYN_PTR ( com_set_array_const_dbl3d_dyn  ,
COM_SET_ARRAY_CONST_DBL3D_DYN  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_DYN_SCALAR ( com_set_array_const_int_dyn  ,
COM_SET_ARRAY_CONST_INT_DYN   
)
COM_SET_ARRAY_CONST_DYN_SCALAR ( com_set_array_const_flt_dyn  ,
COM_SET_ARRAY_CONST_FLT_DYN   
)
COM_SET_ARRAY_CONST_DYN_SCALAR ( com_set_array_const_dbl_dyn  ,
COM_SET_ARRAY_CONST_DBL_DYN   
)
void com_set_array_const_f ( const char *  waname,
int  pane_id,
void *  addr,
int  strd,
int  cap,
int  l1,
int  l2 
)

Definition at line 564 of file roccom_f.C.

References CHKLEN, Roccom_base::FPTR_APPEND, and Roccom_base::FPTR_INSERT.

565  {
566  int f90ptr_treat = get_f90ptr_treat();
567 
568  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
569  int wa_len=l2; CHKLEN(wa_len);
570  com_set_array_const_helper<dim,type>( string(waname, wa_len), pane_id,
571  addr, strd, cap, l1);
572  }
573  else {
574  int wa_len=l1; CHKLEN(wa_len);
575  if ( f90ptr_treat == Roccom_base::FPTR_APPEND)
576  com_set_array_const_helper<dim,type>( string(waname, wa_len), pane_id,
577  addr, strd, cap, l2);
578  else
579  com_set_array_const_helper<dim,type>( string(waname, wa_len), pane_id,
580  addr, strd, cap);
581  }
582 }
#define CHKLEN(x)
Definition: roccom_f.C:112
void com_set_array_const_helper ( const std::string &  waname,
int  pane_id,
void *  addr,
int  strd,
int  cap,
int  l = 0 
)

Definition at line 538 of file roccom_f.C.

References COM_get_roccom().

539  {
540 
541  void *ptr=com_get_address_f<dim,type>( addr, l);
542 
543  COM_get_roccom()->set_array( waname, pane_id, ptr, strd, cap, true);
544 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

COM_SET_ARRAY_CONST_PTR ( com_set_array_const_int1d  ,
COM_SET_ARRAY_CONST_INT1D  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_flt1d  ,
COM_SET_ARRAY_CONST_FLT1D  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_dbl1d  ,
COM_SET_ARRAY_CONST_DBL1D  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_int2d  ,
COM_SET_ARRAY_CONST_INT2D  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_flt2d  ,
COM_SET_ARRAY_CONST_FLT2D  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_dbl2d  ,
COM_SET_ARRAY_CONST_DBL2D  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_int3d  ,
COM_SET_ARRAY_CONST_INT3D  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_flt3d  ,
COM_SET_ARRAY_CONST_FLT3D  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_PTR ( com_set_array_const_dbl3d  ,
COM_SET_ARRAY_CONST_DBL3D  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_SCALAR ( com_set_array_const_chr  ,
COM_SET_ARRAY_CONST_CHR   
)
COM_SET_ARRAY_CONST_SCALAR ( com_set_array_const_int  ,
COM_SET_ARRAY_CONST_INT   
)
COM_SET_ARRAY_CONST_SCALAR ( com_set_array_const_flt  ,
COM_SET_ARRAY_CONST_FLT   
)
COM_SET_ARRAY_CONST_SCALAR ( com_set_array_const_dbl  ,
COM_SET_ARRAY_CONST_DBL   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_int1d_strd  ,
COM_SET_ARRAY_CONST_INT1D_STRD  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_flt1d_strd  ,
COM_SET_ARRAY_CONST_FLT1D_STRD  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_dbl1d_strd  ,
COM_SET_ARRAY_CONST_DBL1D_STRD  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_int2d_strd  ,
COM_SET_ARRAY_CONST_INT2D_STRD  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_flt2d_strd  ,
COM_SET_ARRAY_CONST_FLT2D_STRD  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_dbl2d_strd  ,
COM_SET_ARRAY_CONST_DBL2D_STRD  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_int3d_strd  ,
COM_SET_ARRAY_CONST_INT3D_STRD  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_flt3d_strd  ,
COM_SET_ARRAY_CONST_FLT3D_STRD  ,
,
COM_REAL   
)
COM_SET_ARRAY_CONST_STRD_PTR ( com_set_array_const_dbl3d_strd  ,
COM_SET_ARRAY_CONST_DBL3D_STRD  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_CONST_STRD_SCALAR ( com_set_array_const_int_strd  ,
COM_SET_ARRAY_CONST_INT_STRD   
)
COM_SET_ARRAY_CONST_STRD_SCALAR ( com_set_array_const_flt_strd  ,
COM_SET_ARRAY_CONST_FLT_STRD   
)
COM_SET_ARRAY_CONST_STRD_SCALAR ( com_set_array_const_dbl_strd  ,
COM_SET_ARRAY_CONST_DBL_STRD   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_int1d_dyn  ,
COM_SET_ARRAY_INT1D_DYN  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_flt1d_dyn  ,
COM_SET_ARRAY_FLT1D_DYN  ,
,
COM_REAL   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_dbl1d_dyn  ,
COM_SET_ARRAY_DBL1D_DYN  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_int2d_dyn  ,
COM_SET_ARRAY_INT2D_DYN  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_flt2d_dyn  ,
COM_SET_ARRAY_FLT2D_DYN  ,
,
COM_REAL   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_dbl2d_dyn  ,
COM_SET_ARRAY_DBL2D_DYN  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_int3d_dyn  ,
COM_SET_ARRAY_INT3D_DYN  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_flt3d_dyn  ,
COM_SET_ARRAY_FLT3D_DYN  ,
,
COM_REAL   
)
COM_SET_ARRAY_DYN_PTR ( com_set_array_dbl3d_dyn  ,
COM_SET_ARRAY_DBL3D_DYN  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_DYN_SCALAR ( com_set_array_int_dyn  ,
COM_SET_ARRAY_INT_DYN   
)
COM_SET_ARRAY_DYN_SCALAR ( com_set_array_flt_dyn  ,
COM_SET_ARRAY_FLT_DYN   
)
COM_SET_ARRAY_DYN_SCALAR ( com_set_array_dbl_dyn  ,
COM_SET_ARRAY_DBL_DYN   
)
void com_set_array_f ( const char *  waname,
int  pane_id,
void *  addr,
int  strd,
int  cap,
int  l1,
int  l2 
)

Definition at line 412 of file roccom_f.C.

References CHKLEN, Roccom_base::FPTR_APPEND, and Roccom_base::FPTR_INSERT.

413  {
414  int f90ptr_treat = get_f90ptr_treat();
415 
416  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
417  int wa_len=l2; CHKLEN(wa_len);
418  com_set_array_helper<dim,type>( string(waname, wa_len), pane_id, addr,
419  strd, cap, l1);
420  }
421  else {
422  int wa_len=l1; CHKLEN(wa_len);
423  if ( f90ptr_treat == Roccom_base::FPTR_APPEND) {
424  com_set_array_helper<dim,type>( string(waname, wa_len), pane_id, addr,
425  strd, cap, l2);
426  }
427  else {
428  com_set_array_helper<dim,type>( string(waname, wa_len), pane_id, addr,
429  strd, cap);
430  }
431  }
432 }
#define CHKLEN(x)
Definition: roccom_f.C:112
void com_set_array_helper ( const std::string &  waname,
int  pane_id,
void *  addr,
int  strd,
int  cap,
int  l = 0 
)

Definition at line 387 of file roccom_f.C.

References COM_get_roccom().

388  {
389  void *ptr=com_get_address_f<dim, type>( addr, l);
390 
391  COM_get_roccom()->set_array( waname, pane_id, ptr, strd, cap);
392 }
COM_END_NAME_SPACE COM::Roccom_base * COM_get_roccom()
Definition: Roccom_base.h:537

Here is the call graph for this function:

COM_SET_ARRAY_PTR ( com_set_array_int1d  ,
COM_SET_ARRAY_INT1D  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_PTR ( com_set_array_flt1d  ,
COM_SET_ARRAY_FLT1D  ,
,
COM_REAL   
)
COM_SET_ARRAY_PTR ( com_set_array_dbl1d  ,
COM_SET_ARRAY_DBL1D  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_PTR ( com_set_array_int2d  ,
COM_SET_ARRAY_INT2D  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_PTR ( com_set_array_flt2d  ,
COM_SET_ARRAY_FLT2D  ,
,
COM_REAL   
)
COM_SET_ARRAY_PTR ( com_set_array_dbl2d  ,
COM_SET_ARRAY_DBL2D  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_PTR ( com_set_array_int3d  ,
COM_SET_ARRAY_INT3D  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_PTR ( com_set_array_flt3d  ,
COM_SET_ARRAY_FLT3D  ,
,
COM_REAL   
)
COM_SET_ARRAY_PTR ( com_set_array_dbl3d  ,
COM_SET_ARRAY_DBL3D  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_SCALAR ( com_set_array_chr  ,
COM_SET_ARRAY_CHR   
)
COM_SET_ARRAY_SCALAR ( com_set_array_int  ,
COM_SET_ARRAY_INT   
)
COM_SET_ARRAY_SCALAR ( com_set_array_flt  ,
COM_SET_ARRAY_FLT   
)
COM_SET_ARRAY_SCALAR ( com_set_array_dbl  ,
COM_SET_ARRAY_DBL   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_int1d_strd  ,
COM_SET_ARRAY_INT1D_STRD  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_flt1d_strd  ,
COM_SET_ARRAY_FLT1D_STRD  ,
,
COM_REAL   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_dbl1d_strd  ,
COM_SET_ARRAY_DBL1D_STRD  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_int2d_strd  ,
COM_SET_ARRAY_INT2D_STRD  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_flt2d_strd  ,
COM_SET_ARRAY_FLT2D_STRD  ,
,
COM_REAL   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_dbl2d_strd  ,
COM_SET_ARRAY_DBL2D_STRD  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_int3d_strd  ,
COM_SET_ARRAY_INT3D_STRD  ,
,
COM_INTEGER   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_flt3d_strd  ,
COM_SET_ARRAY_FLT3D_STRD  ,
,
COM_REAL   
)
COM_SET_ARRAY_STRD_PTR ( com_set_array_dbl3d_strd  ,
COM_SET_ARRAY_DBL3D_STRD  ,
,
COM_DOUBLE   
)
COM_SET_ARRAY_STRD_SCALAR ( com_set_array_int_strd  ,
COM_SET_ARRAY_INT_STRD   
)
COM_SET_ARRAY_STRD_SCALAR ( com_set_array_flt_strd  ,
COM_SET_ARRAY_FLT_STRD   
)
COM_SET_ARRAY_STRD_SCALAR ( com_set_array_dbl_strd  ,
COM_SET_ARRAY_DBL_STRD   
)
COM_SET_BOUNDS ( com_set_bounds_int  ,
COM_SET_BOUNDS_INT   
)
COM_SET_BOUNDS ( com_set_bounds_flt  ,
COM_SET_BOUNDS_FLT   
)
COM_SET_BOUNDS ( com_set_bounds_dbl  ,
COM_SET_BOUNDS_DBL   
)
static void mapcharptr ( char *  str,
void *  names,
int  f90ptr_treat,
int  l1,
int  l2 
)
static

Definition at line 1423 of file roccom_f.C.

References COM_F_FUNC2, com_mapptr_chr1d(), Roccom_base::FPTR_APPEND, and Roccom_base::FPTR_INSERT.

Referenced by COM_F_FUNC2().

1424  {
1425  if ( f90ptr_treat == Roccom_base::FPTR_INSERT) {
1426  int len = std::strlen( str), tonull=(len==0);
1427  typedef void(*Func)(void*,int*,void*,void*, int);
1428  (*(Func)COM_F_FUNC2(com_mapptr_chr1d,COM_MAPPTR_CHR1D))
1429  ( names, &tonull, str, &len, l1);
1430  }
1431  else {
1432  int len = std::strlen( str), tonull=(len==0);
1433 
1434  if ( f90ptr_treat == Roccom_base::FPTR_APPEND) {
1435  typedef void(*Func)(void*,int*,void*,void*, int);
1436  (*(Func)COM_F_FUNC2(com_mapptr_chr1d,COM_MAPPTR_CHR1D))
1437  ( names, &tonull, str, &len, l2);
1438  }
1439  else {
1440  typedef void(*Func)(void*,int*,void*,void*);
1441  (*(Func)COM_F_FUNC2(com_mapptr_chr1d,COM_MAPPTR_CHR1D))
1442  ( names, &tonull, str, &len);
1443  }
1444  }
1445 }
#define COM_F_FUNC2(lowcase, uppercase)
Definition: roccom_basic.h:87
subroutine com_mapptr_chr1d(p, tonull, x, n)
Definition: utilities.f90:42

Here is the call graph for this function:

Here is the caller graph for this function: