From 287d375502a4e413f1baa120458d273614d2adf9 Mon Sep 17 00:00:00 2001
From: Tiago Freitas Pereira <tiagofrepereira@gmail.com>
Date: Tue, 17 Feb 2015 12:08:40 +0100
Subject: [PATCH] Fixed documentation bug

---
 bob/learn/em/MAP_gmm_trainer.cpp | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/bob/learn/em/MAP_gmm_trainer.cpp b/bob/learn/em/MAP_gmm_trainer.cpp
index 2cac1da..7b22bc5 100644
--- a/bob/learn/em/MAP_gmm_trainer.cpp
+++ b/bob/learn/em/MAP_gmm_trainer.cpp
@@ -251,8 +251,9 @@ static auto initialize = bob::extension::FunctionDoc(
   "",
   true
 )
-.add_prototype("gmm_machine")
-.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+.add_prototype("gmm_machine,data")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Ignored.");
 static PyObject* PyBobLearnEMMAPGMMTrainer_initialize(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
   BOB_TRY
 
@@ -260,12 +261,14 @@ static PyObject* PyBobLearnEMMAPGMMTrainer_initialize(PyBobLearnEMMAPGMMTrainerO
   char** kwlist = initialize.kwlist(0);
 
   PyBobLearnEMGMMMachineObject* gmm_machine = 0;
+  PyBlitzArrayObject* data                  = 0;  
 
-  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)){
-    PyErr_Format(PyExc_RuntimeError, "%s.%s. Was not possible to read :py:class:`bob.learn.em.GMMMachine`", Py_TYPE(self)->tp_name, initialize.name());
-    return 0;
-  }
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!|O&", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                  &PyBlitzArray_Converter, &data)) return 0;
+  if(data != NULL)
+    auto data_ = make_safe(data);
   self->cxx->initialize(*gmm_machine->cxx);
+  
   BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
 
   Py_RETURN_NONE;
@@ -317,8 +320,9 @@ static auto mStep = bob::extension::FunctionDoc(
   "",
   true
 )
-.add_prototype("gmm_machine")
-.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+.add_prototype("gmm_machine,data")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Ignored.");
 static PyObject* PyBobLearnEMMAPGMMTrainer_mStep(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
   BOB_TRY
 
@@ -326,8 +330,12 @@ static PyObject* PyBobLearnEMMAPGMMTrainer_mStep(PyBobLearnEMMAPGMMTrainerObject
   char** kwlist = mStep.kwlist(0);
 
   PyBobLearnEMGMMMachineObject* gmm_machine;
-  
-  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) return 0;
+  PyBlitzArrayObject* data                  = 0;  
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!|O&", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                  &PyBlitzArray_Converter, &data)) return 0;
+  if(data != NULL)
+    auto data_ = make_safe(data);
 
   self->cxx->mStep(*gmm_machine->cxx);
 
-- 
GitLab