Mexfiles

Conversions between IT++ and Matlab for writing mex-files. More...


Functions

bin itpp::mxArray2bin (const mxArray *in)
 Convert the matlab-format mxArray to bin.
short itpp::mxArray2short (const mxArray *in)
 Convert the matlab-format mxArray to short.
int itpp::mxArray2int (const mxArray *in)
 Convert the matlab-format mxArray to int.
double itpp::mxArray2double (const mxArray *in)
 Convert the matlab-format mxArray to double.
std::complex< double > itpp::mxArray2double_complex (const mxArray *in)
 Convert the matlab-format mxArray to complex<double>.
std::string itpp::mxArray2string (const mxArray *in)
 Convert the matlab-format mxArray to string.
bvec itpp::mxArray2bvec (const mxArray *in)
 Convert the matlab-format mxArray to bvec.
svec itpp::mxArray2svec (const mxArray *in)
 Convert the matlab-format mxArray to svec.
ivec itpp::mxArray2ivec (const mxArray *in)
 Convert the matlab-format mxArray to ivec.
vec itpp::mxArray2vec (const mxArray *in)
 Convert the matlab-format mxArray to vec.
cvec itpp::mxArray2cvec (const mxArray *in)
 Convert the matlab-format mxArray to cvec.
bmat itpp::mxArray2bmat (const mxArray *in)
 Convert the matlab-format mxArray to bmat.
smat itpp::mxArray2smat (const mxArray *in)
 Convert the matlab-format mxArray to smat.
imat itpp::mxArray2imat (const mxArray *in)
 Convert the matlab-format mxArray to imat.
mat itpp::mxArray2mat (const mxArray *in)
 Convert the matlab-format mxArray to mat.
cmat itpp::mxArray2cmat (const mxArray *in)
 Convert the matlab-format mxArray to cmat.
void itpp::bin2mxArray (const bin &in, mxArray *out)
 Convert bin to the matlab-format mxArray.
void itpp::short2mxArray (const short &in, mxArray *out)
 Convert short to the matlab-format mxArray.
void itpp::int2mxArray (const int &in, mxArray *out)
 Convert int to the matlab-format mxArray.
void itpp::double2mxArray (const double &in, mxArray *out)
 Convert double to the matlab-format mxArray.
void itpp::double_complex2mxArray (const std::complex< double > &in, mxArray *out)
 Convert complex<double> to the matlab-format mxArray.
void itpp::string2mxArray (const std::string &in, mxArray *&out)
 Convert string to the matlab-format mxArray.
void itpp::bvec2mxArray (const bvec &in, mxArray *out)
 Convert bvec to the matlab-format mxArray.
void itpp::svec2mxArray (const svec &in, mxArray *out)
 Convert svec to the matlab-format mxArray.
void itpp::ivec2mxArray (const ivec &in, mxArray *out)
 Convert ivec to the matlab-format mxArray.
void itpp::vec2mxArray (const vec &in, mxArray *out)
 Convert vec to the matlab-format mxArray.
void itpp::cvec2mxArray (const cvec &in, mxArray *out)
 Convert cvec to the matlab-format mxArray.
void itpp::bmat2mxArray (const bmat &in, mxArray *out)
 Convert bmat to the matlab-format mxArray.
void itpp::smat2mxArray (const smat &in, mxArray *out)
 Convert smat to the matlab-format mxArray.
void itpp::imat2mxArray (const imat &in, mxArray *out)
 Convert imat to the matlab-format mxArray.
void itpp::mat2mxArray (const mat &in, mxArray *out)
 Convert mat to the matlab-format mxArray.
void itpp::cmat2mxArray (const cmat &in, mxArray *out)
 Convert cmat to the matlab-format mxArray.
void itpp::mxArray2Csvec (const mxArray *in, short *out)
 Convert the matlab-format mxArray to C-format pointer to short.
void itpp::mxArray2Civec (const mxArray *in, int *out)
 Convert the matlab-format mxArray to C-format pointer to int.
void itpp::mxArray2Cvec (const mxArray *in, double *out)
 Convert the matlab-format mxArray to C-format pointer to double.
void itpp::mxArray2Ccvec (const mxArray *in, double *out_real, double *out_imag)
 Convert the matlab-format mxArray to C-format pointers to double (real and imaginary parts).
void itpp::mxArray2Csmat (const mxArray *in, short **out)
 Convert the matlab-format mxArray to C-format pointer to pointer to short.
void itpp::mxArray2Cimat (const mxArray *in, int **out)
 Convert the matlab-format mxArray to C-format pointer to pointer to int.
void itpp::mxArray2Cmat (const mxArray *in, double **out)
 Convert the matlab-format mxArray to C-format pointer to pointer to double.
void itpp::mxArray2Ccmat (const mxArray *in, double **out_real, double **out_imag)
 Convert the matlab-format mxArray to C-format pointer to pointer to double (real and imaginary parts).
void itpp::Csvec2mxArray (short *in, mxArray *out)
 Convert C-format pointer to short to matlab-format mxArray.
void itpp::Civec2mxArray (int *in, mxArray *out)
 Convert C-format pointer to int to matlab-format mxArray.
void itpp::Cvec2mxArray (double *in, mxArray *out)
 Convert C-format pointer to double to matlab-format mxArray.
void itpp::Ccvec2mxArray (double *in_real, double *in_imag, mxArray *out)
 Convert C-format pointers to double (real and imaginary parts) to matlab-format mxArray.
void itpp::Csmat2mxArray (short **in, mxArray *out)
 Convert C-format pointer to pointer to short to matlab-format mxArray.
void itpp::Cimat2mxArray (int **in, mxArray *out)
 Convert C-format pointer to pointer to int to matlab-format mxArray.
void itpp::Cmat2mxArray (double **in, mxArray *out)
 Convert C-format pointer to pointer to double to matlab-format mxArray.
void itpp::Ccmat2mxArray (double **in_real, double **in_imag, mxArray *out)
 Convert C-format pointer to pointer to double (real and imaginary parts) to matlab-format mxArray.


Detailed Description

Conversions between IT++ and Matlab for writing mex-files.

Author:
Tony Ottosson and Pal Frenger
These routines are used to help writng mex-files for speeding up matlab simulations. A simple mex-file that performs QPSK modulation is given below.

  #include <itpp/itcomm.h>
  #include <itpp/itmex.h>

  using namespace itpp;

  void mexFunction(int n_output, mxArray *output[], int n_input, const mxArray *input[])
  {
  // Check the number of inputs and output arguments
  if(n_output!=1) mexErrMsgTxt("Wrong number of output variables!");
  if(n_input!=1) mexErrMsgTxt("Wrong number of input variables!");

  // Convert input variables to IT++ format
  bvec input_bits = mxArray2bvec(input[0]);

  // ------------------ Start of routine ---------------------------
  cvec output_symbols;
  QPSK qpsk;

  output_symbols = qpsk.modulate_bits(input_bits);
  // ------------------ End of routine -----------------------------

  // Create output vectors
  output[0] = mxCreateDoubleMatrix(1,output_symbols.size(), mxCOMPLEX);

  // Convert the IT++ format to Matlab format for output
  cvec2mxArray(output_symbols, output[0]);
  }

Generated on Tue Jun 2 10:02:14 2009 for mixpp by  doxygen 1.5.8