Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
InterpTest.cpp File Reference

Test file for the interpolations. More...

#include "GaudiKernel/SystemOfUnits.h"
#include "GaudiMath/GaudiMath.h"
#include <cmath>
#include <cstdio>
#include <iostream>
Include dependency graph for InterpTest.cpp:

Go to the source code of this file.

Functions

int main ()
 

Detailed Description

Test file for the interpolations.

Date
2003-08-31
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru

Definition in file InterpTest.cpp.

Function Documentation

int main ( )

make interpolation of "sin", 10 points from 0 to pi

the first derivative

the second derivative. multiplied by -1

-1*integral(0.0)

Definition at line 22 of file InterpTest.cpp.

22  {
23 
24  const GaudiMath::Function& mysin = GaudiMath::SimpleFun( sin );
25  const GaudiMath::Function& mycos = GaudiMath::SimpleFun( cos );
26 
29 
30  for ( int i = 0; i <= 20; ++i ) {
31  double x = i * 3.141592 / 20.0;
32  double y = mysin( x );
33  vctx.push_back( x );
34  vcty.push_back( y );
35  }
36 
38 
39  const GaudiMath::Constant minusOne( -1.0, 1 );
40  const GaudiMath::Constant plusOne( 1.0, 1 );
41 
43  const GaudiMath::Spline i1( vctx, vcty, Cspline_Periodic );
44 
46  const GaudiMath::SplineDeriv i2( vctx, vcty, Cspline_Periodic );
47 
49  const GaudiMath::Function& i3 = GaudiMath::SplineDeriv2( vctx, vcty, Cspline_Periodic ) * minusOne;
50 
52  const GaudiMath::Function& i4 = plusOne + GaudiMath::SplineInteg( vctx, vcty, Cspline_Periodic, 0.0 ) * minusOne;
53 
54  for ( int i = 0; i < 30; ++i ) {
55  double x = i * 3.141592 / 30.0;
56  printf( "x=%+7.1f; Sin-i1=%+14.9f; Cos-i2=%+14.9f; Sin-i3=%+14.9f; Cos-i4=%+14.9f;\n", x / Gaudi::Units::degree,
57  mysin( x ) - i1( x ), mycos( x ) - i2( x ), mysin( x ) - i3( x ), mycos( x ) - i4( x ) );
58  }
59 }
Genfun::GaudiMathImplementation::GSLSplineDeriv2 SplineDeriv2
Definition: GaudiMath.h:34
constexpr double degree
Genfun::GaudiMathImplementation::SimpleFunction SimpleFun
Definition: GaudiMath.h:27
Fixed constant function.
Definition: Constant.h:30
Genfun::AbsFunction Function
Definition: GaudiMath.h:23
T push_back(T...args)
Genfun::GaudiMathImplementation::GSLSplineInteg SplineInteg
Definition: GaudiMath.h:35
T printf(T...args)