From 5a148683ad437d5d87fad83f6e4b15b9363cc633 Mon Sep 17 00:00:00 2001
From: Relintai <relintai@protonmail.com>
Date: Sun, 12 Feb 2023 19:17:06 +0100
Subject: [PATCH] Extract class docs.

---
 doc_classes/MLPPANN.xml                |   13 +
 doc_classes/MLPPActivation.xml         | 1239 ++++++++++++++++++++++++
 doc_classes/MLPPAutoEncoder.xml        |   19 +
 doc_classes/MLPPBernoulliNB.xml        |   13 +
 doc_classes/MLPPCLogLogReg.xml         |   13 +
 doc_classes/MLPPConvolutions.xml       |   13 +
 doc_classes/MLPPCost.xml               |  367 +++++++
 doc_classes/MLPPData.xml               |   68 ++
 doc_classes/MLPPDataComplex.xml        |   24 +
 doc_classes/MLPPDataESimple.xml        |   24 +
 doc_classes/MLPPDataSimple.xml         |   24 +
 doc_classes/MLPPDualSVC.xml            |   13 +
 doc_classes/MLPPExpReg.xml             |   13 +
 doc_classes/MLPPGAN.xml                |   13 +
 doc_classes/MLPPGaussMarkovChecker.xml |   13 +
 doc_classes/MLPPGaussianNB.xml         |   13 +
 doc_classes/MLPPHiddenLayer.xml        |   64 ++
 doc_classes/MLPPHypothesisTesting.xml  |   13 +
 doc_classes/MLPPKMeans.xml             |   59 ++
 doc_classes/MLPPKNN.xml                |   38 +
 doc_classes/MLPPLinAlg.xml             |   13 +
 doc_classes/MLPPLinReg.xml             |   13 +
 doc_classes/MLPPLogReg.xml             |   13 +
 doc_classes/MLPPMANN.xml               |   13 +
 doc_classes/MLPPMLP.xml                |   85 ++
 doc_classes/MLPPMatrix.xml             |  175 ++++
 doc_classes/MLPPMultiOutputLayer.xml   |   58 ++
 doc_classes/MLPPMultinomialNB.xml      |   13 +
 doc_classes/MLPPNumericalAnalysis.xml  |   13 +
 doc_classes/MLPPOutlierFinder.xml      |   35 +
 doc_classes/MLPPOutputLayer.xml        |   66 ++
 doc_classes/MLPPPCA.xml                |   29 +
 doc_classes/MLPPProbitReg.xml          |   91 ++
 doc_classes/MLPPReg.xml                |   77 ++
 doc_classes/MLPPSVC.xml                |   79 ++
 doc_classes/MLPPSoftmaxNet.xml         |   13 +
 doc_classes/MLPPSoftmaxReg.xml         |   83 ++
 doc_classes/MLPPStat.xml               |   13 +
 doc_classes/MLPPTanhReg.xml            |   13 +
 doc_classes/MLPPTests.xml              |  242 +++++
 doc_classes/MLPPTransforms.xml         |   13 +
 doc_classes/MLPPUniLinReg.xml          |   46 +
 doc_classes/MLPPUtilities.xml          |   98 ++
 doc_classes/MLPPVector.xml             |  158 +++
 doc_classes/MLPPWGAN.xml               |   64 ++
 45 files changed, 3572 insertions(+)
 create mode 100644 doc_classes/MLPPANN.xml
 create mode 100644 doc_classes/MLPPActivation.xml
 create mode 100644 doc_classes/MLPPAutoEncoder.xml
 create mode 100644 doc_classes/MLPPBernoulliNB.xml
 create mode 100644 doc_classes/MLPPCLogLogReg.xml
 create mode 100644 doc_classes/MLPPConvolutions.xml
 create mode 100644 doc_classes/MLPPCost.xml
 create mode 100644 doc_classes/MLPPData.xml
 create mode 100644 doc_classes/MLPPDataComplex.xml
 create mode 100644 doc_classes/MLPPDataESimple.xml
 create mode 100644 doc_classes/MLPPDataSimple.xml
 create mode 100644 doc_classes/MLPPDualSVC.xml
 create mode 100644 doc_classes/MLPPExpReg.xml
 create mode 100644 doc_classes/MLPPGAN.xml
 create mode 100644 doc_classes/MLPPGaussMarkovChecker.xml
 create mode 100644 doc_classes/MLPPGaussianNB.xml
 create mode 100644 doc_classes/MLPPHiddenLayer.xml
 create mode 100644 doc_classes/MLPPHypothesisTesting.xml
 create mode 100644 doc_classes/MLPPKMeans.xml
 create mode 100644 doc_classes/MLPPKNN.xml
 create mode 100644 doc_classes/MLPPLinAlg.xml
 create mode 100644 doc_classes/MLPPLinReg.xml
 create mode 100644 doc_classes/MLPPLogReg.xml
 create mode 100644 doc_classes/MLPPMANN.xml
 create mode 100644 doc_classes/MLPPMLP.xml
 create mode 100644 doc_classes/MLPPMatrix.xml
 create mode 100644 doc_classes/MLPPMultiOutputLayer.xml
 create mode 100644 doc_classes/MLPPMultinomialNB.xml
 create mode 100644 doc_classes/MLPPNumericalAnalysis.xml
 create mode 100644 doc_classes/MLPPOutlierFinder.xml
 create mode 100644 doc_classes/MLPPOutputLayer.xml
 create mode 100644 doc_classes/MLPPPCA.xml
 create mode 100644 doc_classes/MLPPProbitReg.xml
 create mode 100644 doc_classes/MLPPReg.xml
 create mode 100644 doc_classes/MLPPSVC.xml
 create mode 100644 doc_classes/MLPPSoftmaxNet.xml
 create mode 100644 doc_classes/MLPPSoftmaxReg.xml
 create mode 100644 doc_classes/MLPPStat.xml
 create mode 100644 doc_classes/MLPPTanhReg.xml
 create mode 100644 doc_classes/MLPPTests.xml
 create mode 100644 doc_classes/MLPPTransforms.xml
 create mode 100644 doc_classes/MLPPUniLinReg.xml
 create mode 100644 doc_classes/MLPPUtilities.xml
 create mode 100644 doc_classes/MLPPVector.xml
 create mode 100644 doc_classes/MLPPWGAN.xml

diff --git a/doc_classes/MLPPANN.xml b/doc_classes/MLPPANN.xml
new file mode 100644
index 0000000..a658b40
--- /dev/null
+++ b/doc_classes/MLPPANN.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPANN" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPActivation.xml b/doc_classes/MLPPActivation.xml
new file mode 100644
index 0000000..e4a55a8
--- /dev/null
+++ b/doc_classes/MLPPActivation.xml
@@ -0,0 +1,1239 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPActivation" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="arcosh_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arcosh_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arcosh_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arcosh_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arcosh_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arcosh_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arcoth_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arcoth_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arcoth_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arcoth_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arcoth_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arcoth_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arcsch_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arcsch_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arcsch_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arcsch_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arcsch_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arcsch_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arsech_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arsech_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arsech_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arsech_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arsech_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arsech_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arsinh_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arsinh_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arsinh_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="arsinh_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="arsinh_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="arsinh_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="artanh_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="artanh_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="artanh_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="artanh_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="artanh_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="artanh_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="cloglog_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="cloglog_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="cloglog_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="cloglog_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="cloglog_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="cloglog_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="cosh_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="cosh_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="cosh_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="cosh_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="cosh_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="cosh_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="coth_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="coth_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="coth_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="coth_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="coth_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="coth_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="csch_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="csch_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="csch_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="csch_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="csch_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="csch_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="elu_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="elu_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="elu_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="elu_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="elu_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="elu_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="gaussian_cdf_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="gaussian_cdf_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="gaussian_cdf_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="gaussian_cdf_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="gaussian_cdf_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="gaussian_cdf_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="gelu_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="gelu_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="gelu_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="gelu_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="gelu_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="gelu_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="leaky_relu_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="leaky_relu_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="leaky_relu_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="leaky_relu_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="leaky_relu_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="leaky_relu_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<argument index="1" name="arg1" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="linear_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="linear_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="linear_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="linear_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="linear_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="linear_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="logit_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="logit_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="logit_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="logit_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="logit_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="logit_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="mish_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="mish_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="mish_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="mish_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="mish_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="mish_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="relu_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="relu_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="relu_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="relu_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="relu_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="relu_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_deriv_matrix">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_deriv_real">
+			<return type="float" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_deriv_vector">
+			<return type="MLPPVector" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_matrix">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="MLPPMatrix" />
+			<argument index="2" name="deriv" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_norm_matrix">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_norm_real">
+			<return type="float" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_norm_vector">
+			<return type="MLPPVector" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_real">
+			<return type="float" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="float" />
+			<argument index="2" name="deriv" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="run_activation_vector">
+			<return type="MLPPVector" />
+			<argument index="0" name="func" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="1" name="z" type="MLPPVector" />
+			<argument index="2" name="deriv" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="sech_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sech_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sech_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sech_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sech_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sech_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="selu_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<argument index="1" name="arg1" type="float" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="selu_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<argument index="1" name="arg1" type="float" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="selu_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<argument index="1" name="arg1" type="float" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="selu_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<argument index="1" name="arg1" type="float" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="selu_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<argument index="1" name="arg1" type="float" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="selu_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<argument index="1" name="arg1" type="float" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sigmoid_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sigmoid_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sigmoid_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sigmoid_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sigmoid_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sigmoid_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sign_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sign_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sign_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sign_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sign_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sign_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sinc_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sinc_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sinc_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sinc_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sinc_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sinc_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sinh_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sinh_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sinh_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="sinh_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="sinh_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sinh_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="softmax_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="softmax_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="softmax_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="softmax_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="softmax_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="softmax_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="softplus_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="softplus_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="softplus_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="softplus_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="softplus_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="softplus_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="softsign_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="softsign_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="softsign_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="softsign_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="softsign_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="softsign_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="swish_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="swish_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="swish_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="swish_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="swish_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="swish_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="tanh_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="tanh_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="tanh_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="tanh_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="tanh_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="tanh_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="unit_step_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="unit_step_derivr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="unit_step_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="unit_step_normm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="z" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="unit_step_normr">
+			<return type="float" />
+			<argument index="0" name="z" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="unit_step_normv">
+			<return type="MLPPVector" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+		<constant name="ACTIVATION_FUNCTION_LINEAR" value="0" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SIGMOID" value="1" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SWISH" value="2" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_MISH" value="3" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SIN_C" value="4" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SOFTMAX" value="5" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SOFTPLUS" value="6" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SOFTSIGN" value="7" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ADJ_SOFTMAX" value="8" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_C_LOG_LOG" value="9" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_LOGIT" value="10" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_GAUSSIAN_CDF" value="11" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_RELU" value="12" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_GELU" value="13" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SIGN" value="14" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_UNIT_STEP" value="15" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SINH" value="16" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_COSH" value="17" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_TANH" value="18" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_CSCH" value="19" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_SECH" value="20" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_COTH" value="21" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ARSINH" value="22" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ARCOSH" value="23" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ARTANH" value="24" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ARCSCH" value="25" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ARSECH" value="26" enum="ActivationFunction">
+		</constant>
+		<constant name="ACTIVATION_FUNCTION_ARCOTH" value="27" enum="ActivationFunction">
+		</constant>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPAutoEncoder.xml b/doc_classes/MLPPAutoEncoder.xml
new file mode 100644
index 0000000..f3af107
--- /dev/null
+++ b/doc_classes/MLPPAutoEncoder.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPAutoEncoder" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<members>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="n_hidden" type="int" setter="set_n_hidden" getter="get_n_hidden" default="0">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPBernoulliNB.xml b/doc_classes/MLPPBernoulliNB.xml
new file mode 100644
index 0000000..40c8a90
--- /dev/null
+++ b/doc_classes/MLPPBernoulliNB.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPBernoulliNB" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPCLogLogReg.xml b/doc_classes/MLPPCLogLogReg.xml
new file mode 100644
index 0000000..4d077c3
--- /dev/null
+++ b/doc_classes/MLPPCLogLogReg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPCLogLogReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPConvolutions.xml b/doc_classes/MLPPConvolutions.xml
new file mode 100644
index 0000000..c9bb920
--- /dev/null
+++ b/doc_classes/MLPPConvolutions.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPConvolutions" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPCost.xml b/doc_classes/MLPPCost.xml
new file mode 100644
index 0000000..c12d6b6
--- /dev/null
+++ b/doc_classes/MLPPCost.xml
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPCost" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="cross_entropy_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="cross_entropy_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="cross_entropym">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="cross_entropyv">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="dual_form_svm">
+			<return type="float" />
+			<argument index="0" name="alpha" type="MLPPVector" />
+			<argument index="1" name="X" type="MLPPMatrix" />
+			<argument index="2" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="dual_form_svm_deriv">
+			<return type="MLPPVector" />
+			<argument index="0" name="alpha" type="MLPPVector" />
+			<argument index="1" name="X" type="MLPPMatrix" />
+			<argument index="2" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_loss_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_loss_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_loss_derivwm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<argument index="2" name="C" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_loss_derivwv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<argument index="2" name="C" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_lossm">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_lossv">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_losswm">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<argument index="2" name="arg2" type="MLPPMatrix" />
+			<argument index="3" name="arg3" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="hinge_losswv">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<argument index="2" name="arg2" type="MLPPVector" />
+			<argument index="3" name="arg3" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="huber_loss_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="huber_loss_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="huber_lossm">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="huber_lossv">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<argument index="2" name="arg2" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="log_loss_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="log_loss_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="log_lossm">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="log_lossv">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="mae_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="mae_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="maem">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="maev">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="mbe_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="mbe_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="mbem">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="mbev">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="mse_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="mse_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="msem">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="msev">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="rmse_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="rmse_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="rmsem">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="rmsev">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="run_cost_deriv_matrix">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="cost" type="int" enum="MLPPCost.CostTypes" />
+			<argument index="1" name="y_hat" type="MLPPMatrix" />
+			<argument index="2" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="run_cost_deriv_vector">
+			<return type="MLPPVector" />
+			<argument index="0" name="cost" type="int" enum="MLPPCost.CostTypes" />
+			<argument index="1" name="y_hat" type="MLPPVector" />
+			<argument index="2" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="run_cost_norm_matrix">
+			<return type="float" />
+			<argument index="0" name="cost" type="int" enum="MLPPCost.CostTypes" />
+			<argument index="1" name="y_hat" type="MLPPMatrix" />
+			<argument index="2" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="run_cost_norm_vector">
+			<return type="float" />
+			<argument index="0" name="cost" type="int" enum="MLPPCost.CostTypes" />
+			<argument index="1" name="y_hat" type="MLPPVector" />
+			<argument index="2" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="wasserstein_loss_derivm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="wasserstein_loss_derivv">
+			<return type="MLPPVector" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="wasserstein_lossm">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="wasserstein_lossv">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="y" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+		<constant name="COST_TYPE_MSE" value="0" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_RMSE" value="1" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_MAE" value="2" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_MBE" value="3" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_LOGISTIC_LOSS" value="4" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_CROSS_ENTROPY" value="5" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_HINGE_LOSS" value="6" enum="CostTypes">
+		</constant>
+		<constant name="COST_TYPE_WASSERSTEIN_LOSS" value="7" enum="CostTypes">
+		</constant>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPData.xml b/doc_classes/MLPPData.xml
new file mode 100644
index 0000000..00ebe97
--- /dev/null
+++ b/doc_classes/MLPPData.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPData" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="load_breast_cancer">
+			<return type="MLPPDataSimple" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_breast_cancer_svc">
+			<return type="MLPPDataSimple" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_california_housing">
+			<return type="MLPPDataSimple" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_fires_and_crime">
+			<return type="MLPPDataESimple" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_iris">
+			<return type="MLPPDataComplex" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_mnist_test">
+			<return type="MLPPDataComplex" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_mnist_train">
+			<return type="MLPPDataComplex" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="load_wine">
+			<return type="MLPPDataComplex" />
+			<argument index="0" name="path" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="train_test_split">
+			<return type="Array" />
+			<argument index="0" name="data" type="MLPPDataComplex" />
+			<argument index="1" name="test_size" type="float" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPDataComplex.xml b/doc_classes/MLPPDataComplex.xml
new file mode 100644
index 0000000..2615f32
--- /dev/null
+++ b/doc_classes/MLPPDataComplex.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPDataComplex" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="instance_data">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="input" type="MLPPMatrix" setter="set_input" getter="get_input">
+		</member>
+		<member name="output" type="MLPPMatrix" setter="set_output" getter="get_output">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPDataESimple.xml b/doc_classes/MLPPDataESimple.xml
new file mode 100644
index 0000000..ad7d054
--- /dev/null
+++ b/doc_classes/MLPPDataESimple.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPDataESimple" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="instance_data">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="input" type="MLPPVector" setter="set_input" getter="get_input">
+		</member>
+		<member name="output" type="MLPPVector" setter="set_output" getter="get_output">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPDataSimple.xml b/doc_classes/MLPPDataSimple.xml
new file mode 100644
index 0000000..b137ba2
--- /dev/null
+++ b/doc_classes/MLPPDataSimple.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPDataSimple" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="instance_data">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="input" type="MLPPMatrix" setter="set_input" getter="get_input">
+		</member>
+		<member name="output" type="MLPPMatrix" setter="set_output" getter="get_output">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPDualSVC.xml b/doc_classes/MLPPDualSVC.xml
new file mode 100644
index 0000000..c206a63
--- /dev/null
+++ b/doc_classes/MLPPDualSVC.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPDualSVC" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPExpReg.xml b/doc_classes/MLPPExpReg.xml
new file mode 100644
index 0000000..eb2729b
--- /dev/null
+++ b/doc_classes/MLPPExpReg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPExpReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPGAN.xml b/doc_classes/MLPPGAN.xml
new file mode 100644
index 0000000..ae159a8
--- /dev/null
+++ b/doc_classes/MLPPGAN.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPGAN" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPGaussMarkovChecker.xml b/doc_classes/MLPPGaussMarkovChecker.xml
new file mode 100644
index 0000000..4c87f58
--- /dev/null
+++ b/doc_classes/MLPPGaussMarkovChecker.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPGaussMarkovChecker" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPGaussianNB.xml b/doc_classes/MLPPGaussianNB.xml
new file mode 100644
index 0000000..fc9c16d
--- /dev/null
+++ b/doc_classes/MLPPGaussianNB.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPGaussianNB" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPHiddenLayer.xml b/doc_classes/MLPPHiddenLayer.xml
new file mode 100644
index 0000000..04f1804
--- /dev/null
+++ b/doc_classes/MLPPHiddenLayer.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPHiddenLayer" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="forward_pass">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_initialized">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="test">
+			<return type="void" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="a" type="MLPPMatrix" setter="set_a" getter="get_a">
+		</member>
+		<member name="a_test" type="MLPPVector" setter="set_a_test" getter="get_a_test">
+		</member>
+		<member name="activation" type="int" setter="set_activation" getter="get_activation" enum="MLPPActivation.ActivationFunction" default="0">
+		</member>
+		<member name="alpha" type="float" setter="set_alpha" getter="get_alpha" default="0.0">
+		</member>
+		<member name="bias" type="MLPPVector" setter="set_bias" getter="get_bias">
+		</member>
+		<member name="delta" type="MLPPMatrix" setter="set_delta" getter="get_delta">
+		</member>
+		<member name="input" type="MLPPMatrix" setter="set_input" getter="get_input">
+		</member>
+		<member name="lambda" type="float" setter="set_lambda" getter="get_lambda" default="0.0">
+		</member>
+		<member name="n_hidden" type="int" setter="set_n_hidden" getter="get_n_hidden" default="0">
+		</member>
+		<member name="reg" type="int" setter="set_reg" getter="get_reg" enum="MLPPReg.RegularizationType" default="136122720">
+		</member>
+		<member name="set_weight_init" type="int" setter="set_weight_init" getter="get_weight_init" enum="MLPPUtilities.WeightDistributionType" default="0">
+		</member>
+		<member name="weights" type="MLPPMatrix" setter="set_weights" getter="get_weights">
+		</member>
+		<member name="z" type="MLPPMatrix" setter="set_z" getter="get_z">
+		</member>
+		<member name="z_test" type="MLPPVector" setter="set_z_test" getter="get_z_test">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPHypothesisTesting.xml b/doc_classes/MLPPHypothesisTesting.xml
new file mode 100644
index 0000000..e9b6d88
--- /dev/null
+++ b/doc_classes/MLPPHypothesisTesting.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPHypothesisTesting" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPKMeans.xml b/doc_classes/MLPPKMeans.xml
new file mode 100644
index 0000000..eb6e3a8
--- /dev/null
+++ b/doc_classes/MLPPKMeans.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPKMeans" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="X" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="MLPPVector" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="silhouette_scores">
+			<return type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="train">
+			<return type="void" />
+			<argument index="0" name="epoch_num" type="int" />
+			<argument index="1" name="UI" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="k" type="int" setter="set_k" getter="get_k" default="0">
+		</member>
+		<member name="mean_type" type="int" setter="set_mean_type" getter="get_mean_type" enum="MLPPKMeans.MeanType" default="0">
+		</member>
+	</members>
+	<constants>
+		<constant name="MEAN_TYPE_CENTROID" value="0" enum="MeanType">
+		</constant>
+		<constant name="MEAN_TYPE_KMEANSPP" value="1" enum="MeanType">
+		</constant>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPKNN.xml b/doc_classes/MLPPKNN.xml
new file mode 100644
index 0000000..555af97
--- /dev/null
+++ b/doc_classes/MLPPKNN.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPKNN" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="model_set_test">
+			<return type="PoolIntArray" />
+			<argument index="0" name="X" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="int" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="k" type="int" setter="set_k" getter="get_k" default="0">
+		</member>
+		<member name="output_set" type="MLPPVector" setter="set_output_set" getter="get_output_set">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPLinAlg.xml b/doc_classes/MLPPLinAlg.xml
new file mode 100644
index 0000000..5eb9145
--- /dev/null
+++ b/doc_classes/MLPPLinAlg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPLinAlg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPLinReg.xml b/doc_classes/MLPPLinReg.xml
new file mode 100644
index 0000000..2795975
--- /dev/null
+++ b/doc_classes/MLPPLinReg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPLinReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPLogReg.xml b/doc_classes/MLPPLogReg.xml
new file mode 100644
index 0000000..182ea4d
--- /dev/null
+++ b/doc_classes/MLPPLogReg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPLogReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPMANN.xml b/doc_classes/MLPPMANN.xml
new file mode 100644
index 0000000..235981a
--- /dev/null
+++ b/doc_classes/MLPPMANN.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPMANN" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPMLP.xml b/doc_classes/MLPPMLP.xml
new file mode 100644
index 0000000..da57f60
--- /dev/null
+++ b/doc_classes/MLPPMLP.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPMLP" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="gradient_descent">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="UI" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_initialized">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="mbgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="mini_batch_size" type="int" />
+			<argument index="3" name="UI" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test">
+			<return type="MLPPVector" />
+			<argument index="0" name="X" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="float" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="save">
+			<return type="void" />
+			<argument index="0" name="file_name" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="UI" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="alpha" type="float" setter="set_alpha" getter="get_alpha" default="0.5">
+		</member>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="lambda" type="float" setter="set_lambda" getter="get_lambda" default="0.5">
+		</member>
+		<member name="n_hidden" type="int" setter="set_n_hidden" getter="get_n_hidden" default="0">
+		</member>
+		<member name="output_set" type="MLPPVector" setter="set_output_set" getter="get_output_set">
+		</member>
+		<member name="reg" type="int" setter="set_reg" getter="get_reg" enum="MLPPReg.RegularizationType" default="0">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPMatrix.xml b/doc_classes/MLPPMatrix.xml
new file mode 100644
index 0000000..2d38ca5
--- /dev/null
+++ b/doc_classes/MLPPMatrix.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPMatrix" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="add_row">
+			<return type="void" />
+			<argument index="0" name="row" type="PoolRealArray" />
+			<description>
+			</description>
+		</method>
+		<method name="add_row_mlpp_vector">
+			<return type="void" />
+			<argument index="0" name="row" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="add_rows_mlpp_matrix">
+			<return type="void" />
+			<argument index="0" name="other" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="clear">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="data_size" qualifiers="const">
+			<return type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="duplicate" qualifiers="const">
+			<return type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="empty" qualifiers="const">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="fill">
+			<return type="void" />
+			<argument index="0" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="get_element" qualifiers="const">
+			<return type="float" />
+			<argument index="0" name="index_x" type="int" />
+			<argument index="1" name="index_y" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="get_row_into_mlpp_vector" qualifiers="const">
+			<return type="void" />
+			<argument index="0" name="index_y" type="int" />
+			<argument index="1" name="target" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="get_row_mlpp_vector">
+			<return type="MLPPVector" />
+			<argument index="0" name="index_y" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="get_row_pool_vector">
+			<return type="PoolRealArray" />
+			<argument index="0" name="index_y" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="is_equal_approx" qualifiers="const">
+			<return type="bool" />
+			<argument index="0" name="with" type="MLPPMatrix" />
+			<argument index="1" name="tolerance" type="float" default="1e-05" />
+			<description>
+			</description>
+		</method>
+		<method name="remove_row">
+			<return type="void" />
+			<argument index="0" name="index" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="remove_row_unordered">
+			<return type="void" />
+			<argument index="0" name="index" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="reset">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="resize">
+			<return type="void" />
+			<argument index="0" name="size" type="Vector2i" />
+			<description>
+			</description>
+		</method>
+		<method name="set_element">
+			<return type="void" />
+			<argument index="0" name="index_x" type="int" />
+			<argument index="1" name="index_y" type="int" />
+			<argument index="2" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="set_from_arrays">
+			<return type="void" />
+			<argument index="0" name="from" type="Array" />
+			<description>
+			</description>
+		</method>
+		<method name="set_from_mlpp_matrix">
+			<return type="void" />
+			<argument index="0" name="from" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="set_from_mlpp_vectors_array">
+			<return type="void" />
+			<argument index="0" name="from" type="Array" />
+			<description>
+			</description>
+		</method>
+		<method name="set_row_mlpp_vector">
+			<return type="void" />
+			<argument index="0" name="index_y" type="int" />
+			<argument index="1" name="row" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="set_row_pool_vector">
+			<return type="void" />
+			<argument index="0" name="index_y" type="int" />
+			<argument index="1" name="row" type="PoolRealArray" />
+			<description>
+			</description>
+		</method>
+		<method name="size" qualifiers="const">
+			<return type="Vector2i" />
+			<description>
+			</description>
+		</method>
+		<method name="swap_row">
+			<return type="void" />
+			<argument index="0" name="index_1" type="int" />
+			<argument index="1" name="index_2" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="to_flat_byte_array" qualifiers="const">
+			<return type="PoolByteArray" />
+			<description>
+			</description>
+		</method>
+		<method name="to_flat_pool_vector" qualifiers="const">
+			<return type="PoolRealArray" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPMultiOutputLayer.xml b/doc_classes/MLPPMultiOutputLayer.xml
new file mode 100644
index 0000000..d5d97a1
--- /dev/null
+++ b/doc_classes/MLPPMultiOutputLayer.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPMultiOutputLayer" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="forward_pass">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test">
+			<return type="void" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="a" type="MLPPMatrix" setter="set_a" getter="get_a">
+		</member>
+		<member name="a_test" type="MLPPVector" setter="set_a_test" getter="get_a_test">
+		</member>
+		<member name="activation" type="int" setter="set_activation" getter="get_activation" enum="MLPPActivation.ActivationFunction" default="0">
+		</member>
+		<member name="alpha" type="float" setter="set_alpha" getter="get_alpha" default="0.0">
+		</member>
+		<member name="bias" type="MLPPVector" setter="set_bias" getter="get_bias">
+		</member>
+		<member name="cost" type="int" setter="set_cost" getter="get_cost" enum="MLPPCost.CostTypes" default="0">
+		</member>
+		<member name="delta" type="MLPPMatrix" setter="set_delta" getter="get_delta">
+		</member>
+		<member name="input" type="MLPPMatrix" setter="set_input" getter="get_input">
+		</member>
+		<member name="lambda" type="float" setter="set_lambda" getter="get_lambda" default="0.0">
+		</member>
+		<member name="n_hidden" type="int" setter="set_n_hidden" getter="get_n_hidden" default="0">
+		</member>
+		<member name="n_output" type="int" setter="set_n_output" getter="get_n_output" default="0">
+		</member>
+		<member name="reg" type="int" setter="set_reg" getter="get_reg" enum="MLPPReg.RegularizationType" default="0">
+		</member>
+		<member name="set_weight_init" type="int" setter="set_weight_init" getter="get_weight_init" enum="MLPPUtilities.WeightDistributionType" default="0">
+		</member>
+		<member name="weights" type="MLPPMatrix" setter="set_weights" getter="get_weights">
+		</member>
+		<member name="z" type="MLPPMatrix" setter="set_z" getter="get_z">
+		</member>
+		<member name="z_test" type="MLPPVector" setter="set_z_test" getter="get_z_test">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPMultinomialNB.xml b/doc_classes/MLPPMultinomialNB.xml
new file mode 100644
index 0000000..48eb6cb
--- /dev/null
+++ b/doc_classes/MLPPMultinomialNB.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPMultinomialNB" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPNumericalAnalysis.xml b/doc_classes/MLPPNumericalAnalysis.xml
new file mode 100644
index 0000000..f59c935
--- /dev/null
+++ b/doc_classes/MLPPNumericalAnalysis.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPNumericalAnalysis" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPOutlierFinder.xml b/doc_classes/MLPPOutlierFinder.xml
new file mode 100644
index 0000000..e1a0d6d
--- /dev/null
+++ b/doc_classes/MLPPOutlierFinder.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPOutlierFinder" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="model_set_test">
+			<return type="Array" />
+			<argument index="0" name="input_set" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test_indices">
+			<return type="PoolVector2iArray" />
+			<argument index="0" name="input_set" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="PoolRealArray" />
+			<argument index="0" name="input_set" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="threshold" type="float" setter="set_threshold" getter="get_threshold" default="0.0">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPOutputLayer.xml b/doc_classes/MLPPOutputLayer.xml
new file mode 100644
index 0000000..fdd86c9
--- /dev/null
+++ b/doc_classes/MLPPOutputLayer.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPOutputLayer" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="forward_pass">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_initialized">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="test">
+			<return type="void" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="a" type="MLPPVector" setter="set_a" getter="get_a">
+		</member>
+		<member name="a_test" type="MLPPVector" setter="set_a_test" getter="get_a_test">
+		</member>
+		<member name="activation" type="int" setter="set_activation" getter="get_activation" enum="MLPPActivation.ActivationFunction" default="0">
+		</member>
+		<member name="alpha" type="float" setter="set_alpha" getter="get_alpha" default="0.0">
+		</member>
+		<member name="bias" type="float" setter="set_bias" getter="get_bias" default="0.0">
+		</member>
+		<member name="cost" type="int" setter="set_cost" getter="get_cost" enum="MLPPCost.CostTypes" default="0">
+		</member>
+		<member name="delta" type="MLPPVector" setter="set_delta" getter="get_delta">
+		</member>
+		<member name="input" type="MLPPMatrix" setter="set_input" getter="get_input">
+		</member>
+		<member name="lambda" type="float" setter="set_lambda" getter="get_lambda" default="0.0">
+		</member>
+		<member name="n_hidden" type="int" setter="set_n_hidden" getter="get_n_hidden" default="0">
+		</member>
+		<member name="reg" type="int" setter="set_reg" getter="get_reg" enum="MLPPReg.RegularizationType" default="0">
+		</member>
+		<member name="set_weight_init" type="int" setter="set_weight_init" getter="get_weight_init" enum="MLPPUtilities.WeightDistributionType" default="0">
+		</member>
+		<member name="weights" type="MLPPVector" setter="set_weights" getter="get_weights">
+		</member>
+		<member name="z" type="MLPPVector" setter="set_z" getter="get_z">
+		</member>
+		<member name="z_test" type="MLPPVector" setter="set_z_test" getter="get_z_test">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPPCA.xml b/doc_classes/MLPPPCA.xml
new file mode 100644
index 0000000..28f498f
--- /dev/null
+++ b/doc_classes/MLPPPCA.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPPCA" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="principal_components">
+			<return type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="get_input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="k" type="int" setter="set_k" getter="get_k" default="0">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPProbitReg.xml b/doc_classes/MLPPProbitReg.xml
new file mode 100644
index 0000000..a61df50
--- /dev/null
+++ b/doc_classes/MLPPProbitReg.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPProbitReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="gradient_descent">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" default="0" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_initialized">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="mbgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="mini_batch_size" type="int" />
+			<argument index="3" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="mle">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" default="0" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test">
+			<return type="MLPPVector" />
+			<argument index="0" name="X" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="float" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="save">
+			<return type="void" />
+			<argument index="0" name="file_name" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" default="0" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="alpha" type="float" setter="set_alpha" getter="get_alpha" default="0.5">
+		</member>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="lambda" type="float" setter="set_lambda" getter="get_lambda" default="0.5">
+		</member>
+		<member name="output_set" type="MLPPVector" setter="set_output_set" getter="get_output_set">
+		</member>
+		<member name="reg" type="int" setter="set_reg" getter="get_reg" enum="MLPPReg.RegularizationType" default="0">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPReg.xml b/doc_classes/MLPPReg.xml
new file mode 100644
index 0000000..daf7fd1
--- /dev/null
+++ b/doc_classes/MLPPReg.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="reg_deriv_termm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="weights" type="MLPPMatrix" />
+			<argument index="1" name="lambda" type="float" />
+			<argument index="2" name="alpha" type="float" />
+			<argument index="3" name="reg" type="int" enum="MLPPReg.RegularizationType" />
+			<description>
+			</description>
+		</method>
+		<method name="reg_deriv_termv">
+			<return type="MLPPVector" />
+			<argument index="0" name="weights" type="MLPPVector" />
+			<argument index="1" name="lambda" type="float" />
+			<argument index="2" name="alpha" type="float" />
+			<argument index="3" name="reg" type="int" enum="MLPPReg.RegularizationType" />
+			<description>
+			</description>
+		</method>
+		<method name="reg_termm">
+			<return type="float" />
+			<argument index="0" name="weights" type="MLPPMatrix" />
+			<argument index="1" name="lambda" type="float" />
+			<argument index="2" name="alpha" type="float" />
+			<argument index="3" name="reg" type="int" enum="MLPPReg.RegularizationType" />
+			<description>
+			</description>
+		</method>
+		<method name="reg_termv">
+			<return type="float" />
+			<argument index="0" name="weights" type="MLPPVector" />
+			<argument index="1" name="lambda" type="float" />
+			<argument index="2" name="alpha" type="float" />
+			<argument index="3" name="reg" type="int" enum="MLPPReg.RegularizationType" />
+			<description>
+			</description>
+		</method>
+		<method name="reg_weightsm">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="weights" type="MLPPMatrix" />
+			<argument index="1" name="lambda" type="float" />
+			<argument index="2" name="alpha" type="float" />
+			<argument index="3" name="reg" type="int" enum="MLPPReg.RegularizationType" />
+			<description>
+			</description>
+		</method>
+		<method name="reg_weightsv">
+			<return type="MLPPVector" />
+			<argument index="0" name="weights" type="MLPPVector" />
+			<argument index="1" name="lambda" type="float" />
+			<argument index="2" name="alpha" type="float" />
+			<argument index="3" name="reg" type="int" enum="MLPPReg.RegularizationType" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+		<constant name="REGULARIZATION_TYPE_NONE" value="0" enum="RegularizationType">
+		</constant>
+		<constant name="REGULARIZATION_TYPE_RIDGE" value="1" enum="RegularizationType">
+		</constant>
+		<constant name="REGULARIZATION_TYPE_LASSO" value="2" enum="RegularizationType">
+		</constant>
+		<constant name="REGULARIZATION_TYPE_ELASTIC_NET" value="3" enum="RegularizationType">
+		</constant>
+		<constant name="REGULARIZATION_TYPE_WEIGHT_CLIPPING" value="4" enum="RegularizationType">
+		</constant>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPSVC.xml b/doc_classes/MLPPSVC.xml
new file mode 100644
index 0000000..2fe4e44
--- /dev/null
+++ b/doc_classes/MLPPSVC.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPSVC" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="gradient_descent">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_initialized">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="mbgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="mini_batch_size" type="int" />
+			<argument index="3" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test">
+			<return type="MLPPVector" />
+			<argument index="0" name="X" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="float" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="save">
+			<return type="void" />
+			<argument index="0" name="file_name" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="c" type="float" setter="set_c" getter="get_c" default="0.0">
+		</member>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="output_set" type="MLPPVector" setter="set_output_set" getter="get_output_set">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPSoftmaxNet.xml b/doc_classes/MLPPSoftmaxNet.xml
new file mode 100644
index 0000000..2d98ef9
--- /dev/null
+++ b/doc_classes/MLPPSoftmaxNet.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPSoftmaxNet" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPSoftmaxReg.xml b/doc_classes/MLPPSoftmaxReg.xml
new file mode 100644
index 0000000..ba366c9
--- /dev/null
+++ b/doc_classes/MLPPSoftmaxReg.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPSoftmaxReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="gradient_descent">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_initialized">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="mbgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="mini_batch_size" type="int" />
+			<argument index="3" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="X" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="MLPPVector" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="save">
+			<return type="void" />
+			<argument index="0" name="file_name" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="sgd">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="alpha" type="float" setter="set_alpha" getter="get_alpha" default="0.5">
+		</member>
+		<member name="input_set" type="MLPPMatrix" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="lambda" type="float" setter="set_lambda" getter="get_lambda" default="0.5">
+		</member>
+		<member name="output_set" type="MLPPMatrix" setter="set_output_set" getter="get_output_set">
+		</member>
+		<member name="reg" type="int" setter="set_reg" getter="get_reg" enum="MLPPReg.RegularizationType" default="0">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPStat.xml b/doc_classes/MLPPStat.xml
new file mode 100644
index 0000000..bb23194
--- /dev/null
+++ b/doc_classes/MLPPStat.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPStat" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPTanhReg.xml b/doc_classes/MLPPTanhReg.xml
new file mode 100644
index 0000000..ed63b7b
--- /dev/null
+++ b/doc_classes/MLPPTanhReg.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPTanhReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPTests.xml b/doc_classes/MLPPTests.xml
new file mode 100644
index 0000000..0e0e985
--- /dev/null
+++ b/doc_classes/MLPPTests.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPTests" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="test_ann">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_autoencoder">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_c_log_log_regression">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_convolution_tensors_etc">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_dynamically_sized_ann">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_dynamically_sized_mann">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_exp_reg_regression">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_k_means">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_knn">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_linear_algebra">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_logistic_regression">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_mlp">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_mlpp_matrix">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_mlpp_vector">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_adam">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_epochs_gradient_descent">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_gradient_descent">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_mbgd">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_newton_raphson">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_normal_equation">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_score_sgd_adam">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_multivariate_linear_regression_sgd">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_naive_bayes">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_new_math_functions">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_nlp_and_data">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_numerical_analysis">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_outlier_finder">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_pca_svd_eigenvalues_eigenvectors">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_positive_definiteness_checker">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_probit_regression">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_soft_max_network">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_softmax_regression">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_statistics">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_support_vector_classification">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_support_vector_classification_kernel">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_tanh_regression">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_train_test_split_mann">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_univariate_linear_regression">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="test_wgan">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="test_wgan_old">
+			<return type="void" />
+			<argument index="0" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPTransforms.xml b/doc_classes/MLPPTransforms.xml
new file mode 100644
index 0000000..0586d79
--- /dev/null
+++ b/doc_classes/MLPPTransforms.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPTransforms" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPUniLinReg.xml b/doc_classes/MLPPUniLinReg.xml
new file mode 100644
index 0000000..c77964e
--- /dev/null
+++ b/doc_classes/MLPPUniLinReg.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPUniLinReg" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="get_b0">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="get_b1">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="initialize">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="model_set_test">
+			<return type="MLPPVector" />
+			<argument index="0" name="x" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="model_test">
+			<return type="float" />
+			<argument index="0" name="x" type="float" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="input_set" type="MLPPVector" setter="set_input_set" getter="get_input_set">
+		</member>
+		<member name="output_set" type="MLPPVector" setter="set_output_set" getter="get_output_set">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPUtilities.xml b/doc_classes/MLPPUtilities.xml
new file mode 100644
index 0000000..cca78b5
--- /dev/null
+++ b/doc_classes/MLPPUtilities.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPUtilities" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="bias_initializationr">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="bias_initializationv">
+			<return type="void" />
+			<argument index="0" name="z" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="create_mini_batchesm">
+			<return type="Array" />
+			<argument index="0" name="input_set" type="MLPPMatrix" />
+			<argument index="1" name="n_mini_batch" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="create_mini_batchesmm">
+			<return type="Array" />
+			<argument index="0" name="input_set" type="MLPPMatrix" />
+			<argument index="1" name="output_set" type="MLPPMatrix" />
+			<argument index="2" name="n_mini_batch" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="create_mini_batchesmv">
+			<return type="Array" />
+			<argument index="0" name="input_set" type="MLPPMatrix" />
+			<argument index="1" name="output_set" type="MLPPVector" />
+			<argument index="2" name="n_mini_batch" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="performance_mat">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPMatrix" />
+			<argument index="1" name="y" type="MLPPMatrix" />
+			<description>
+			</description>
+		</method>
+		<method name="performance_pool_int_array_vec">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="PoolIntArray" />
+			<argument index="1" name="output_set" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="performance_vec">
+			<return type="float" />
+			<argument index="0" name="y_hat" type="MLPPVector" />
+			<argument index="1" name="output_set" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="weight_initializationm">
+			<return type="void" />
+			<argument index="0" name="weights" type="MLPPMatrix" />
+			<argument index="1" name="type" type="int" enum="MLPPUtilities.WeightDistributionType" default="0" />
+			<description>
+			</description>
+		</method>
+		<method name="weight_initializationv">
+			<return type="void" />
+			<argument index="0" name="weights" type="MLPPVector" />
+			<argument index="1" name="type" type="int" enum="MLPPUtilities.WeightDistributionType" default="0" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_DEFAULT" value="0" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_XAVIER_NORMAL" value="1" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_XAVIER_UNIFORM" value="2" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_HE_NORMAL" value="3" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_HE_UNIFORM" value="4" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_LE_CUN_NORMAL" value="5" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_LE_CUN_UNIFORM" value="6" enum="WeightDistributionType">
+		</constant>
+		<constant name="WEIGHT_DISTRIBUTION_TYPE_UNIFORM" value="7" enum="WeightDistributionType">
+		</constant>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPVector.xml b/doc_classes/MLPPVector.xml
new file mode 100644
index 0000000..7a0b485
--- /dev/null
+++ b/doc_classes/MLPPVector.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPVector" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="add_mlpp_vector">
+			<return type="void" />
+			<argument index="0" name="other" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="clear">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="duplicate" qualifiers="const">
+			<return type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="empty" qualifiers="const">
+			<return type="bool" />
+			<description>
+			</description>
+		</method>
+		<method name="erase">
+			<return type="void" />
+			<argument index="0" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="erase_multiple_unordered">
+			<return type="int" />
+			<argument index="0" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="fill">
+			<return type="void" />
+			<argument index="0" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="find" qualifiers="const">
+			<return type="int" />
+			<argument index="0" name="val" type="float" />
+			<argument index="1" name="from" type="int" default="0" />
+			<description>
+			</description>
+		</method>
+		<method name="get_element" qualifiers="const">
+			<return type="float" />
+			<argument index="0" name="index" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="insert">
+			<return type="void" />
+			<argument index="0" name="pos" type="int" />
+			<argument index="1" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="invert">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="is_equal_approx" qualifiers="const">
+			<return type="bool" />
+			<argument index="0" name="with" type="MLPPVector" />
+			<argument index="1" name="tolerance" type="float" default="1e-05" />
+			<description>
+			</description>
+		</method>
+		<method name="ordered_insert">
+			<return type="void" />
+			<argument index="0" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="push_back">
+			<return type="void" />
+			<argument index="0" name="elem" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="remove">
+			<return type="void" />
+			<argument index="0" name="index" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="remove_unordered">
+			<return type="void" />
+			<argument index="0" name="index" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="reset">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="resize">
+			<return type="void" />
+			<argument index="0" name="size" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="set_element">
+			<return type="void" />
+			<argument index="0" name="index" type="int" />
+			<argument index="1" name="val" type="float" />
+			<description>
+			</description>
+		</method>
+		<method name="set_from_mlpp_vector">
+			<return type="void" />
+			<argument index="0" name="from" type="MLPPVector" />
+			<description>
+			</description>
+		</method>
+		<method name="set_from_pool_vector">
+			<return type="void" />
+			<argument index="0" name="from" type="PoolRealArray" />
+			<description>
+			</description>
+		</method>
+		<method name="size" qualifiers="const">
+			<return type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="sort">
+			<return type="void" />
+			<description>
+			</description>
+		</method>
+		<method name="to_byte_array" qualifiers="const">
+			<return type="PoolByteArray" />
+			<description>
+			</description>
+		</method>
+		<method name="to_pool_vector" qualifiers="const">
+			<return type="PoolRealArray" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<constants>
+	</constants>
+</class>
diff --git a/doc_classes/MLPPWGAN.xml b/doc_classes/MLPPWGAN.xml
new file mode 100644
index 0000000..35e3c84
--- /dev/null
+++ b/doc_classes/MLPPWGAN.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MLPPWGAN" inherits="Reference" version="3.11">
+	<brief_description>
+	</brief_description>
+	<description>
+	</description>
+	<tutorials>
+	</tutorials>
+	<methods>
+		<method name="add_layer">
+			<return type="void" />
+			<argument index="0" name="activation" type="int" />
+			<argument index="1" name="weight_init" type="int" enum="MLPPActivation.ActivationFunction" />
+			<argument index="2" name="reg" type="int" enum="MLPPUtilities.WeightDistributionType" default="0" />
+			<argument index="3" name="lambda" type="int" enum="MLPPReg.RegularizationType" default="0" />
+			<argument index="4" name="alpha" type="float" default="0.5" />
+			<argument index="5" name="arg5" type="float" default="0.5" />
+			<description>
+			</description>
+		</method>
+		<method name="add_output_layer">
+			<return type="void" />
+			<argument index="0" name="weight_init" type="int" enum="MLPPUtilities.WeightDistributionType" default="0" />
+			<argument index="1" name="reg" type="int" enum="MLPPReg.RegularizationType" default="0" />
+			<argument index="2" name="lambda" type="float" default="0.5" />
+			<argument index="3" name="alpha" type="float" default="0.5" />
+			<description>
+			</description>
+		</method>
+		<method name="generate_example">
+			<return type="MLPPMatrix" />
+			<argument index="0" name="n" type="int" />
+			<description>
+			</description>
+		</method>
+		<method name="gradient_descent">
+			<return type="void" />
+			<argument index="0" name="learning_rate" type="float" />
+			<argument index="1" name="max_epoch" type="int" />
+			<argument index="2" name="ui" type="bool" default="false" />
+			<description>
+			</description>
+		</method>
+		<method name="save">
+			<return type="void" />
+			<argument index="0" name="file_name" type="String" />
+			<description>
+			</description>
+		</method>
+		<method name="score">
+			<return type="float" />
+			<description>
+			</description>
+		</method>
+	</methods>
+	<members>
+		<member name="k" type="int" setter="set_k" getter="get_k" default="0">
+		</member>
+		<member name="output_set" type="MLPPMatrix" setter="set_output_set" getter="get_output_set">
+		</member>
+	</members>
+	<constants>
+	</constants>
+</class>