Document for doxygen

This commit is contained in:
2023-09-20 16:41:47 +02:00
parent 3a09e7eadf
commit f6d11c615f
4 changed files with 133 additions and 6 deletions

View File

@@ -1,18 +1,59 @@
/** @file matrix.hpp
* @brief Function prototypes for creating tridiagonal matrices.
*
*
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
* @bug No known bugs
*/
#ifndef __MATRIX__
#define __MATRIX__
#include <armadillo>
/** @brief Create a tridiagonal matrix.
*
* @param a Vector for the lower diagonal of size N-1
* @param d Vector for the main diagonal of size N
* @param e Vector for the upper diagonal of size N-1
*
* @return arma::matrix
* */
arma::mat create_tridiagonal(
const arma::vec& a,
const arma::vec& d,
const arma::vec& e);
/** @brief Create a tridiagonal matrix.
*
* @param n The dimensions of the tridiagonal matrix
* @param a The signature for the lower diagonal
* @param d The signature for the main diagonal
* @param e The signature for the upper diagonal
*
* @return arma::matrix
* */
arma::mat create_tridiagonal(int n, double a, double d, double e);
/** @brief Create a symmetric tridiagonal matrix.
*
* @param n The dimensions of the tridiagonal matrix
* @param a The signature for the off diagonals
* @param d The signature for the main diagonal
*
* @return arma::matrix
* */
arma::mat create_symmetric_tridiagonal(int n, double a, double d);
/** @brief Find the off-diagonal element with the largest absolute value.
*
* @param A Symmetric matrix
* @param k Variable to store the row of the return value
* @param l Variable to store the column of the return value
*
* @return Double
* */
double max_offdiag_symmetric(arma::mat& A, int& k, int& l);
#endif

View File

@@ -1,10 +1,60 @@
/** @file utils.hpp
* @brief Function prototypes and macros that are useful.
*
* These utility function are mainly for convenience and aren't directly
* related to the project.
*
* @author Cory Alexander Balaton (coryab)
* @author Janita Ovidie Sandtrøen Willumsen (janitaws)
* @bug No known bugs
*/
#ifndef __UTILS__
#define __UTILS__
#include <string>
#include <vector>
#include <iomanip>
/** @def DEBUG(msg)
* @brief Writes a debug message
*
* This function writes a debug message that includes the filename,
* line number, and a custom message. The function is wrapped in an ifdef
* that checks if DBG is defined, so one can choose to display the debug
* messages by adding the -DDBG flag when compiling.
* */
#ifdef DBG
#define DEBUG(msg) std::cout << __FILE__ << " " << __LINE__ << ": " << msg << std::endl
#define DEBUG(msg) std::cout << __FILE__ << " " << __LINE__ << ": " \
<< msg << std::endl
#else
#define DEBUG(msg)
#endif
/** Code stolen from https://github.com/anderkve/FYS3150
* Header: https://github.com/anderkve/FYS3150/blob/master/code_examples/compilation_linking/example_1/include/utils.hpp
* Source: https://github.com/anderkve/FYS3150/blob/master/code_examples/compilation_linking/example_1/src/utils.cpp
* */
/** @brief Turns a double into a string written in scientific format.
*
* @param d The number to stringify
* @param width The reserved width of the string
* @param prec The precision of the stringified number
*
* @return String
* */
std::string scientific_format(double d, int width=20, int prec=10);
/** @brief Turns a vector of doubles into a string written in scientific format.
*
* @param v The vector to stringify
* @param width The reserved width of the string
* @param prec The precision of the stringified number
*
* @return String
* */
std::string scientific_format(const std::vector<double>& v,
int width=20,
int prec=10);
#endif