q show packing and unpacking datapacking and


Q. Show Packing and Unpacking Data?

Packing and Unpacking Data 

  • pvm_packs - Pack active message buffer with arrays of prescribed data type:
  • int info = pvm_packf( const char *fmt, ... )
  • int info = pvm_pkbyte( char *xp, int nitem, int stride )
  • int info = pvm_pkcplx( float *cp, int nitem, int stride )
  • int info = pvm_pkdcplx( double *zp, int nitem, int stride )
  • int info = pvm_pkdouble( double *dp, int nitem, int stride )
  • int info = pvm_pkfloat( float *fp, int nitem, int stride )
  • int info = pvm_pkint( int *ip, int nitem, int stride )
  • int info = pvm_pkuint( unsigned int *ip, int nitem, int stride )
  • int info = pvm_pkushort( unsigned short *ip, int nitem, int stride )
  • int info = pvm_pkulong( unsigned long *ip, int nitem, int stride )
  • int info = pvm_pklong( long *ip, int nitem, int stride )
  • int info = pvm_pkshort( short *jp, int nitem, int stride )
  • int info = pvm_pkstr( char *sp )

fmt Printf-like format expression denoting what to pack. nitem is total number of items to be packed (not number of bytes). stride is stride to be used when packing the items. 

  • pvm_unpack - Unpacks the active message buffer into arrays of prescribed data type. It has been implemented for different data types:
  • int info = pvm_unpackf( const char *fmt, ... )
  • int info = pvm_upkbyte( char *xp, int nitem, int stride)
  • int info = pvm_upkcplx( float *cp, int nitem, int stride)
  • int info = pvm_upkdcplx( double *zp, int nitem, int stride)
  • int info = pvm_upkdouble( double *dp, int nitem, int stride)
  • int info = pvm_upkfloat( float *fp, int nitem, int stride)
  • int info = pvm_upkint( int *ip, int nitem, int stride)
  • int info = pvm_upkuint( unsigned int *ip, int nitem, int stride )
  • int info = pvm_upkushort( unsigned short *ip, int nitem, int stride )
  • int info = pvm_upkulong( unsigned long *ip, int nitem, int stride )
  • int info = pvm_upklong( long *ip, int nitem, int stride)
  • int info = pvm_upkshort( short *jp, int nitem, int stride)
  • int info = pvm_upkstr( char *sp )

Every of the pvm_upk* routines unpacks an array of given data type from active receive buffer. The arguments for every of routines are a pointer to the array to be unpacked into, nitem that is the total number of items to unpack and stride that is the stride to use when unpacking. An exception is pvm_upkstr() that by definition unpacks a NULL terminated character string and So doesn't require nitem or stride arguments.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: q show packing and unpacking datapacking and
Reference No:- TGS0313256

Expected delivery within 24 Hours