From 135b75f85b1a819b315dcf0f5954445531dd48c9 Mon Sep 17 00:00:00 2001
From: Carl Philipp Klemm <philipp@uvos.xyz>
Date: Tue, 30 Jan 2024 12:18:41 +0100
Subject: [PATCH] A futher documentation spellcheck

---
 README.md                | 11 +++++------
 doc/mainpage.md.in       |  8 ++++----
 eisgenerator/basicmath.h |  6 +++---
 eisgenerator/eistype.h   |  6 +++---
 eisgenerator/log.h       |  2 +-
 eisgenerator/model.h     | 13 +++++++------
 6 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/README.md b/README.md
index 8eb1641..05e05b9 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
 eisgenerator is a shared library (libeisgenerator.so) and CLI application that allows one to generate [EIS](https://de.wikipedia.org/wiki/Impedanzspektroskopie) spectra with high performance.
 The target application is generating test and example datasets for machine learning applications.
 
-eisgenerator's development and target platform is UNIX, but it should compile on nigh any platform
+eisgenerator's development and target platform is UNIX, but it should compile on nigh on any platform
 
 ## Compile/Install
 
@@ -29,14 +29,13 @@ In a console do:
 
 ### Cross-compile for windows on UNIX
 
-* Have mingw cross-compile toolchain installed
+* Have the mingw cross-compile toolchain installed
 * git clone https://git-ce.rwth-aachen.de/carl_philipp.klemm/eisgenerator.git
 * cd eisgenerator
 * mkdir build
 * cd build
 * cmake -DCMAKE_TOOLCHAIN_FILE=./crossW64.cmake ..
 * make
-* sudo make install
 
 ## Basic usage of CLI application
 
@@ -49,13 +48,13 @@ flags:
 --model: model string, format is similar to RHD RelaxIS except that the implicit operator is parallel instead of serial, IE. "rc" is a resistor and condenser in parallel while "r-c" is the same in series and that parameters can be passed by adding {number} after the parameter, if an element requires more than one parameter they are specified by adding several comma separated values in between the brackets like so: {420, 56}
 
 * Supported Elements
-	* c: cap
+	* c: capacitor
 		* one parameter: capacitance {C}
 	* r: resistor
 		* one parameter: resistance {R}
 	* l: inductor
 		* one parameter: inductance {L}
-	* w: warburg element (infinite), one parameters {A}
+	* w: warburg element (infinite)
 		* one parameter: Warburg coefficient {A}
 	* p: constant phase element
 		* two parameters: {Q, alpha}
@@ -78,7 +77,7 @@ Generates Nyquist plot of model specified, allows the usage of the same flags as
 
 ### Linking
 
-it is best to link to this library with the help of [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) as this provides platform a agnostic to query for paths and flags. Almost certenly, pkg-config is already integrated into your buildsystem.
+it is best to link to this library with the help of [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) as this provides platform a agnostic to query for paths and flags. Almost certainly, pkg-config is already integrated into your buildsystem.
 
 ## Python bindings
 
diff --git a/doc/mainpage.md.in b/doc/mainpage.md.in
index fa7a044..67e3110 100644
--- a/doc/mainpage.md.in
+++ b/doc/mainpage.md.in
@@ -1,8 +1,8 @@
 \mainpage @PROJECT_NAME@ manual
 
-**@PROJECT_NAME@** is a C++ shared library (lib@PROJECT_NAME@.so) and CLI application that allows one to generate EIS spectra with high performance. The target application is generating test and example datasets for machine learning applications. @PROJECT_NAME@'s development and target platform is GNU/Linux, but besides a c++20 compiler and libstd++ it has no dependencies and should compile on nigh any platform. @PROJECT_NAME@ also has python bindings, described [here](https://github.com/IMbackK/eisgeneratorpy), but note that using these erases a lot of the performance benefit of using this library. For information on how to build this library please look at the \ref README
+**@PROJECT_NAME@** is a C++ shared library (lib@PROJECT_NAME@.so) and CLI application that allows one to generate EIS spectra with high performance. The target application is generating test and example datasets for machine learning applications. @PROJECT_NAME@'s development and target platform is GNU/Linux, but besides a c++20 compiler and libstd++ it has no dependencies and should compile on nigh any platform. @PROJECT_NAME@ also has python bindings, described [here](https://github.com/IMbackK/eisgeneratorpy), but note that using these erases a lot of the performance benefit of using this library. For information on how to build this library please look at the \ref README.
 
-for an example on how to use the library see example tab above, for API documentation start here:
+For an example on how to use this library see the example tab above, for API documentation start here:
 * eis::Model
 	* Main object used to evaluate equivalent circuits
 * \ref TYPES
@@ -14,7 +14,7 @@ for an example on how to use the library see example tab above, for API document
 * \ref TRANS
 	* Functions to translate @PROJECT_NAME@ model strings to and from other formats
 
-for a description on how the model description string used by this library see \ref modelpage
+For a description on how the model description string used by this library see \ref modelpage.
 
 ## Execution models:
 
@@ -45,7 +45,7 @@ This execution model is only available on UNIX and UNIX-like platforms providing
 
 ### TorchScript execution
 
-The final execution model generates a [TorchScript](https://pytorch.org/docs/stable/jit.html) for the equivalent circuit which can be compiled using [torch::jit::compile](https://pytorch.org/cppdocs/api/function_namespacetorch_1_1jit_1a8660dc13a6b82336aadac667e6dccba1.html) into a graph of torch/rocBLAS/cuBLAS GPU kernels for GPU execution. This provides the highest possible performance. Due to the high latency associated with executing GPU kernels this method should only be expected to outperform compiled execution if a total of 10^8 or more data points are required and only performs well when a large batch of these data points is required at a time. This version is also highly advantageous when calculating impedance spectra as part of a larger system requiring GPU execution as in this case expensive device->host->device copies are avoided. Though torch autograd this version also provides atomatic derivatives making it useful where integration into machine-learning backward passes is required. Due to deficiencies in the windows port of Torch this version massively underperforms on Microsoft Windows and another platform should be used. Due to MiOpen not being available on Microsoft Windows this method is unable to perform GPU execution on this platform on AMD hardware, the CPU fallback used in this case is slower than tree execution.
+The final execution model generates a [TorchScript](https://pytorch.org/docs/stable/jit.html) for the equivalent circuit which can be compiled using [torch::jit::compile](https://pytorch.org/cppdocs/api/function_namespacetorch_1_1jit_1a8660dc13a6b82336aadac667e6dccba1.html) into a graph of torch/rocBLAS/cuBLAS GPU kernels for GPU execution. This provides the highest possible performance. Due to the high latency associated with executing GPU kernels this method should only be expected to outperform compiled execution if a total of 10^8 or more data points are required and only performs well when a large batch of these data points is required at a time. This version is also highly advantageous when calculating impedance spectra as part of a larger system requiring GPU execution as in this case expensive device->host->device copies are avoided. Through Torch AutoGrad this version also provides automatic derivatives, making it useful where integration into machine-learning backward passes is required. Due to deficiencies in the windows port of Torch this version massively underperforms on Microsoft Windows and another platform should be used. Due to MiOpen not being available on Microsoft Windows this method is unable to perform GPU execution on this platform on AMD hardware, the CPU fallback used in this case is slower than tree execution.
 
 \image html TorchExecution.svg width=80%
 \image latex TorchExecution.pdf width=\textwidth/2
diff --git a/eisgenerator/basicmath.h b/eisgenerator/basicmath.h
index 8527fac..d557180 100644
--- a/eisgenerator/basicmath.h
+++ b/eisgenerator/basicmath.h
@@ -111,7 +111,7 @@ namespace eis
 	*
 	* @param data The data to calculate on.
 	* @param centroid The centroid to use, if nullptr is passed here, the mean of the data will be used as the centroid.
-	* @return The Pearson correlation coefficient.
+	* @return The variance.
 	*/
 	fvalue nyquistAreaVariance(const std::vector<eis::DataPoint>& data, eis::DataPoint* centroid = nullptr);
 
@@ -133,7 +133,7 @@ namespace eis
 	void noise(std::vector<eis::DataPoint>& data, double amplitude, bool relative);
 
 	/**
-	* @brief Removes duplicate data points form the data.
+	* @brief Removes duplicate data points from the data.
 	*
 	* Duplicates are detected by checking the value of omega for sameness using fvalueEq with the default ulp.
 	*
@@ -155,7 +155,7 @@ namespace eis
 	/**
 	* @brief This function resamples, extrapolates and interpolates to fit the data given to the frequencies also given.
 	*
-	* Data is resampled to the target size, interpolation for data points is performed using linear interpolation
+	* Data is resampled to the target size, interpolation for data points is performed using linear interpolation,
 	* extrapolation is performed using linear or base 10 logarithmic extrapolation.
 	*
 	* @param omegas The frequencies to resample the data to.
diff --git a/eisgenerator/eistype.h b/eisgenerator/eistype.h
index 63f227c..ebb0557 100644
--- a/eisgenerator/eistype.h
+++ b/eisgenerator/eistype.h
@@ -445,17 +445,17 @@ public:
 /**
 * @brief Returns the a vector of DataPoints as a pair of valarrays.
 *
-* @return A pair of valarrays first the real part and second the imaginary part.
+* @return A pair of valarrays, first the real part and second the imaginary part.
 */
 std::pair<std::valarray<fvalue>, std::valarray<fvalue>> eisToValarrays(const std::vector<eis::DataPoint>& b);
 
 /**
-* @brief Returns the mean l2 element wise distance of he given spectra.
+* @brief Returns the mean l2 element wise distance of the given spectra.
 *
 * This function will be moved to the math API in the future.
 *
 * @param a The first set of points.
-* @param b The second set of points, must be the same length as a.
+* @param b The second set of points, must contain the same number of elements as a
 * @return The mean l2 distance.
 */
 fvalue eisDistance(const std::vector<eis::DataPoint>& a, const std::vector<eis::DataPoint>& b);
diff --git a/eisgenerator/log.h b/eisgenerator/log.h
index 0da4594..7393c57 100644
--- a/eisgenerator/log.h
+++ b/eisgenerator/log.h
@@ -26,7 +26,7 @@ namespace eis
 {
 
 /**
-* Various math functions performed on eisgenerator types
+* The logging functions used by eisgenerator
 * @defgroup LOG Log
 * @{
 */
diff --git a/eisgenerator/model.h b/eisgenerator/model.h
index 75072ea..2f053da 100644
--- a/eisgenerator/model.h
+++ b/eisgenerator/model.h
@@ -35,13 +35,13 @@ namespace eis
 struct CompiledObject;
 
 /**
-* Eis modeling
+* Eis modeling.
 * @defgroup MODELING Modeling
 * @{
 */
 
 /**
-* @brief The main class of eisgenerator representing a equivalent circuit model.
+* @brief The main class of eisgenerator representing an equivalent circuit model.
 */
 class Model
 {
@@ -256,9 +256,9 @@ public:
 	/**
 	* @brief Compiles this model into TorchScript
 	*
-	* Can be compiled to GPU kernel executeing bytecode by torch::jit::compile.
+	* Can be compiled to GPU kernel bytecode by torch::jit::compile.
 	*
-	* @return Yhe TorchScript code or an empty string if compilation was unsuccessful.
+	* @return The TorchScript code or an empty string if compilation was unsuccessful.
 	*/
 	std::string getTorchScript();
 
@@ -270,9 +270,10 @@ public:
 	std::string getCompiledFunctionName() const;
 
 	/**
-	* @brief Gets the function name in the code returned by getTorchScript and getCode for this model.
+	* @brief Gets a set of indecies that together create a iso-difference set of spectra.
 	*
-	* @return The function name in the code for this model.
+	* @param distance the target distance between subisquent spectra relative to eis::eisDistance.
+	* @return A vector of indecies corresponding to the iso-difference spectras.
 	*/
 	std::vector<size_t> getRecommendedParamIndices(eis::Range omegaRange, double distance, bool threaded = false);
 };
-- 
GitLab