FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
NmFunc.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
19struct AcGeGaussData;
20
22{
23public:
24 NmFunc( NmFunc const &);
25 NmFunc(void *,double (__cdecl*)(void *,double));
26 NmFunc(void *,double (__cdecl*)(void *,double),double,double);
27 NmFunc(void);
28 ~NmFunc(void);
29 NmFunc & operator=( NmFunc const &);
30 NmFunc & setBracket(double,double);
31 NmFunc & setComputer(double (__cdecl*)(void *,double));
32 NmFunc & setHandle(void *);
33 double compute(double)const ;
34 double operator()(double)const ;
35 int minimum(double &,double &,double)const ;
36 int quadra(double,double,double &,double,double &,double &)const ;
37 int romberg(double,double,double,double &)const ;
38 int simpson(double &,double)const ;
39 int simpson(double,double,double &,double)const ;
40 int simpson(double,double,double &,int,double)const ;
41 virtual int minimum(double &,double &,double &,double &,double)const ;
42 virtual int root(double &,double)const ;
43 virtual int root(double &,double,double,double)const ;
44 void * handle(void)const ;
45 void bracket(double &,double &)const ;
46 void simpsonAdapt(double,double,double,int,double &,int,double)const ;
47
48protected:
49 virtual int minInBracket(double &,double &,double &,double &,double)const ;
50
51private:
52 double gauss(double,double,double,double, AcGeGaussData &)const ;
53 double trapezoid(double,double,double &,int)const ;
54
55};
virtual int root(double &, double) const
int simpson(double, double, double &, int, double) const
int minimum(double &, double &, double) const
int quadra(double, double, double &, double, double &, double &) const
void bracket(double &, double &) const
NmFunc & setHandle(void *)
double compute(double) const
NmFunc & setBracket(double, double)
int simpson(double &, double) const
int simpson(double, double, double &, double) const
NmFunc(void *, double(__cdecl *)(void *, double))
void simpsonAdapt(double, double, double, int, double &, int, double) const
virtual int minInBracket(double &, double &, double &, double &, double) const
virtual int root(double &, double, double, double) const
NmFunc(void *, double(__cdecl *)(void *, double), double, double)
NmFunc(NmFunc const &)
double operator()(double) const
void * handle(void) const
~NmFunc(void)
int romberg(double, double, double, double &) const
NmFunc & setComputer(double(__cdecl *)(void *, double))
NmFunc(void)
NmFunc & operator=(NmFunc const &)
virtual int minimum(double &, double &, double &, double &, double) const