Example #1
0
void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) {
  int k = 0;
  const mxArray *mxArray_G1 = in[k++];
  const mxArray *mxArray_W1 = in[k++];
  const mxArray *mxArray_G2 = in[k++];
  const mxArray *mxArray_W2 = in[k++];
  const mxArray *mxArray_F12 = in[k++];
  const mxArray *mxArray_I12 = in[k++];
  const mxArray *mxArray_W12 = in[k++];
  const mxArray *mxArray_f = in[k++];
  const mxArray *options = in[k++];

  GraphMatching *graph = new GraphMatching();
  graph->deserializeGraphs(mxArray_W1, mxArray_W2, mxArray_I12, mxArray_W12, mxArray_G1, mxArray_G2, mxArray_F12, mxArray_f);
  graph->deserializeOptions(options);
  graph->compute_W();
  graph->normalize_W();

  out[0] = graph->serialize_W();
  if(nargout >= 2)
    out[1] = graph->serialize_indi1i2j1j2();
  if(nargout >= 3)
    out[2] = graph->serialize_indiW_indjW();
  
  delete graph;
}
void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[]) {
	int k=0;
	const mxArray *mxArray_W=in[k++];
	//const mxArray *indi1i2j1j2=in[k++];
	const mxArray *mxArray_I12=in[k++];
	const mxArray *options=in[k++];

	GraphMatching *graphMatching = new GraphMatching();
	//graphMatching->deserializeW(mxArray_W,indi1i2j1j2);
	graphMatching->deserializeOptions(options);
	graphMatching->deserializeW(mxArray_W,mxArray_I12);
	graphMatching->normalize_W();

    out[0] = graphMatching->serialize_W();
	if(nargout>=2)
		out[1] = graphMatching->serialize_D1();
	if(nargout>=3)
		out[2] = graphMatching->serialize_D2();

    delete graphMatching;
}