SpecialFuncs.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 //==============================================================================
26 //
27 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
50 #ifndef SPECIAL_FUNCTIONS_INCLUDE
51 #define SPECIAL_FUNCTIONS_INCLUDE
52 
53 #include "Exception.hpp"
54 
55 namespace gnsstk
56 {
57  // ----------------- special functions -------------------------------
58 
66  double lnGamma(double x);
67 
75  double Gamma(double x);
76 
83  double factorial(int n);
84 
91  double lnFactorial(int n);
92 
103  double binomialCoeff(int n, int k);
104 
113  double beta(double x, double y);
114 
123  double seriesIncompGamma(double a, double x);
124 
133  double contfracIncompGamma(double a, double x);
134 
143  double incompGamma(double a, double x);
144 
153  double compIncompGamma(double a, double x);
154 
161  double errorFunc(double x);
162 
169  double compErrorFunc(double x);
170 
171  // Compute continued fractions portion of incomplete beta function I_x(a,b)
176  double cfIBeta(double x, double a, double b);
177 
187  double incompleteBeta(double x, double a, double b);
188 
189  // ----------------- probability distributions -----------------------
190 
223  double NormalPDF(double x, double mu, double sig);
224 
234  double NormalCDF(double x, double mu, double sig);
235 
246  double invNormalCDF(double prob, double mu, double sig);
247 
283  double ChisqPDF(double x, int n);
284 
293  double ChisqCDF(double x, int n);
294 
304  double invChisqCDF(double alpha, int n);
305 
337  double StudentsPDF(double X, int n);
338 
354  double StudentsCDF(double t, int n);
355 
365  double invStudentsCDF(double prob, int n);
366 
387  double FDistCDF(double F, int n1, int n2);
388 
422  double FDistPDF(double x, int n1, int n2);
423 
435  double invFDistCDF(double prob, int n1, int n2);
436 
437 } // namespace gnsstk
438 
439 #endif // SPECIAL_FUNCTIONS_INCLUDE
gnsstk::invChisqCDF
double invChisqCDF(double alpha, int n)
Definition: SpecialFuncs.cpp:789
gnsstk::errorFunc
double errorFunc(double x)
Definition: SpecialFuncs.cpp:396
gnsstk::invFDistCDF
double invFDistCDF(double prob, int n1, int n2)
Definition: SpecialFuncs.cpp:1127
gnsstk::binomialCoeff
double binomialCoeff(int n, int k)
Definition: SpecialFuncs.cpp:177
gnsstk::ChisqCDF
double ChisqCDF(double x, int n)
Definition: SpecialFuncs.cpp:760
gnsstk::NormalCDF
double NormalCDF(double x, double mu, double sig)
Definition: SpecialFuncs.cpp:588
gnsstk::lnGamma
double lnGamma(double x)
Definition: SpecialFuncs.cpp:64
gnsstk::incompGamma
double incompGamma(double a, double x)
Definition: SpecialFuncs.cpp:332
gnsstk::cfIBeta
double cfIBeta(double x, double a, double b)
Definition: SpecialFuncs.cpp:434
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::incompleteBeta
double incompleteBeta(double x, double a, double b)
Definition: SpecialFuncs.cpp:499
gnsstk::factorial
double factorial(int n)
Definition: SpecialFuncs.cpp:114
gnsstk::compIncompGamma
double compIncompGamma(double a, double x)
Definition: SpecialFuncs.cpp:366
gnsstk::seriesIncompGamma
double seriesIncompGamma(double a, double x)
Definition: SpecialFuncs.cpp:222
y
page HOWTO subpage DoxygenGuide Documenting Your Code page DoxygenGuide Documenting Your Code todo Flesh out this document section doctips Tips for Documenting When defining make sure that the prototype is identical between the cpp and hpp including both the namespaces and the parameter names for you have std::string as the return type in the hpp file and string as the return type in the cpp Doxygen may get confused and autolink to the cpp version with no documentation If you don t use the same parameter names between the cpp and hpp that will also confuse Doxygen Don t put type information in return or param documentation It doesn t really add anything and will often cause Doxygen to complain and not produce the documentation< br > use note Do not put a comma after a param name unless you mean to document multiple parameters< br/> the output stream</code >< br/> y
Definition: DOCUMENTING.dox:15
gnsstk::FDistPDF
double FDistPDF(double x, int n1, int n2)
Definition: SpecialFuncs.cpp:1103
gnsstk::FDistCDF
double FDistCDF(double F, int n1, int n2)
Definition: SpecialFuncs.cpp:1050
gnsstk::compErrorFunc
double compErrorFunc(double x)
Definition: SpecialFuncs.cpp:415
gnsstk::lnFactorial
double lnFactorial(int n)
Definition: SpecialFuncs.cpp:149
gnsstk::beta
double beta(double x, double y)
Definition: SpecialFuncs.cpp:204
Exception.hpp
gnsstk::invNormalCDF
double invNormalCDF(double prob, double mu, double sig)
Definition: SpecialFuncs.cpp:615
gnsstk::contfracIncompGamma
double contfracIncompGamma(double a, double x)
Definition: SpecialFuncs.cpp:268
gnsstk::ChisqPDF
double ChisqPDF(double x, int n)
Definition: SpecialFuncs.cpp:732
gnsstk::Gamma
double Gamma(double x)
Definition: SpecialFuncs.cpp:98
example3.mu
int mu
Definition: example3.py:36
gnsstk::NormalPDF
double NormalPDF(double x, double mu, double sig)
Definition: SpecialFuncs.cpp:570
gnsstk::StudentsCDF
double StudentsCDF(double t, int n)
Definition: SpecialFuncs.cpp:921
gnsstk::StudentsPDF
double StudentsPDF(double X, int n)
Definition: SpecialFuncs.cpp:890
gnsstk::invStudentsCDF
double invStudentsCDF(double prob, int n)
Definition: SpecialFuncs.cpp:950


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:41