1a82e8c82SStefano Zampini #include <petsc/private/taoimpl.h> /*I "petsctao.h" I*/
2a82e8c82SStefano Zampini
3*cc4c1da9SBarry Smith /*@
420f4b53cSBarry Smith TaoPythonSetType - Initialize a `Tao` object implemented in Python.
5a82e8c82SStefano Zampini
6c3339decSBarry Smith Collective
7a82e8c82SStefano Zampini
8a82e8c82SStefano Zampini Input Parameters:
920f4b53cSBarry Smith + tao - the optimization solver (`Tao`) context.
10a82e8c82SStefano Zampini - pyname - full dotted Python name [package].module[.{class|function}]
11a82e8c82SStefano Zampini
12a82e8c82SStefano Zampini Options Database Key:
1367b8a455SSatish Balay . -tao_python_type <pyname> - python class
14a82e8c82SStefano Zampini
15a82e8c82SStefano Zampini Level: intermediate
16a82e8c82SStefano Zampini
17db781477SPatrick Sanan .seealso: `TaoCreate()`, `TaoSetType()`, `TAOPYTHON`, `PetscPythonInitialize()`
18a82e8c82SStefano Zampini @*/
TaoPythonSetType(Tao tao,const char pyname[])19d71ae5a4SJacob Faibussowitsch PetscErrorCode TaoPythonSetType(Tao tao, const char pyname[])
20d71ae5a4SJacob Faibussowitsch {
21a82e8c82SStefano Zampini PetscFunctionBegin;
22a82e8c82SStefano Zampini PetscValidHeaderSpecific(tao, TAO_CLASSID, 1);
234f572ea9SToby Isaac PetscAssertPointer(pyname, 2);
24cac4c232SBarry Smith PetscTryMethod(tao, "TaoPythonSetType_C", (Tao, const char[]), (tao, pyname));
253ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
26a82e8c82SStefano Zampini }
27ebead697SStefano Zampini
28*cc4c1da9SBarry Smith /*@
2920f4b53cSBarry Smith TaoPythonGetType - Get the type of a `Tao` object implemented in Python.
30ebead697SStefano Zampini
3120f4b53cSBarry Smith Not Collective
32ebead697SStefano Zampini
33ebead697SStefano Zampini Input Parameter:
3420f4b53cSBarry Smith . tao - the optimization solver (`Tao`) context.
35ebead697SStefano Zampini
36ebead697SStefano Zampini Output Parameter:
37ebead697SStefano Zampini . pyname - full dotted Python name [package].module[.{class|function}]
38ebead697SStefano Zampini
39ebead697SStefano Zampini Level: intermediate
40ebead697SStefano Zampini
41ebead697SStefano Zampini .seealso: `TaoCreate()`, `TaoSetType()`, `TaoPYTHON`, `PetscPythonInitialize()`, `TaoPythonSetType()`
42ebead697SStefano Zampini @*/
TaoPythonGetType(Tao tao,const char * pyname[])43d71ae5a4SJacob Faibussowitsch PetscErrorCode TaoPythonGetType(Tao tao, const char *pyname[])
44d71ae5a4SJacob Faibussowitsch {
45ebead697SStefano Zampini PetscFunctionBegin;
46ebead697SStefano Zampini PetscValidHeaderSpecific(tao, TAO_CLASSID, 1);
474f572ea9SToby Isaac PetscAssertPointer(pyname, 2);
48ebead697SStefano Zampini PetscUseMethod(tao, "TaoPythonGetType_C", (Tao, const char *[]), (tao, pyname));
493ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
50ebead697SStefano Zampini }
51