synfig-core  1.0.3
Macros
valuenode_derivative.cpp File Reference

Implementation of the "Derivative" valuenode conversion. More...

#include "valuenode_derivative.h"
#include "valuenode_const.h"
#include <synfig/general.h>
#include <ETL/misc>

Macros

#define E(x, t, y)   ( (*x)(t).get(y) )
#define D_ROUGH(x, t, h, y)
#define D_NORMAL(x, t, h, y)
#define D_FINE(x, t, h, y)
#define D_EXTREME(x, t, h, y)
#define DD_ROUGH(x, t, h, y)
#define DD_NORMAL(x, t, h, y)
#define DD_FINE(x, t, h, y)
#define DD_EXTREME(x, t, h, y)

Detailed Description

Implementation of the "Derivative" valuenode conversion.

$Id$

Macro Definition Documentation

#define E (   x,
  t,
 
)    ( (*x)(t).get(y) )
#define D_ROUGH (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-h,y)*(-1.0/2.0)+ \
E(x,t+h,y)*( 1.0/2.0) \
)/(h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define D_NORMAL (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-2*h,y)*( 1.0/12.0)+ \
E(x,t-h ,y)*( -2.0/3.0)+ \
E(x,t+h ,y)*( 2.0/3.0)+ \
E(x,t+2*h,y)*(-1.0/12.0) \
)/(h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define D_FINE (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-3*h,y)*(-1.0/60.0)+ \
E(x,t-2*h,y)*( 3.0/20.0)+ \
E(x,t-h ,y)*( -3.0/4.0)+ \
E(x,t+h ,y)*( 3.0/4.0)+ \
E(x,t+2*h,y)*(-3.0/20.0)+ \
E(x,t+3*h,y)*( 1.0/60.0) \
)/(h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define D_EXTREME (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-4*h,y)*( 1.0/280.0)+ \
E(x,t-3*h,y)*( -4.0/105)+ \
E(x,t-2*h,y)*( 1.0/5.0)+ \
E(x,t-h ,y)*( -4.0/5.0)+ \
E(x,t+h ,y)*( 4.0/5.0)+ \
E(x,t+2*h,y)*( -1.0/5.0)+ \
E(x,t+3*h,y)*( 4.0/105.0)+ \
E(x,t+4*h,y)*(-1.0/280.0) \
)/(h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define DD_ROUGH (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-h,y)*( 1.0)+ \
E(x,t,y )*(-2.0)+ \
E(x,t+h,y)*( 1.0) \
)/(h*h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define DD_NORMAL (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-2*h,y)*(-1.0/12.0)+ \
E(x,t-h ,y)*( 4.0/3.0)+ \
E(x,t ,y)*( -5.0/2.0)+ \
E(x,t+h ,y)*( 4.0/3.0)+ \
E(x,t+2*h,y)*(-1.0/12.0) \
)/(h*h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define DD_FINE (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-3*h,y)*( 1.0/90.0)+ \
E(x,t-2*h,y)*( -3.0/20.0)+ \
E(x,t-h ,y)*( 3.0/2.0)+ \
E(x,t ,y)*(-49.0/18.0)+ \
E(x,t+h ,y)*( 3.0/2.0)+ \
E(x,t+2*h,y)*( -3.0/20.0)+ \
E(x,t+3*h,y)*( 1.0/90.0) \
)/(h*h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().

#define DD_EXTREME (   x,
  t,
  h,
 
)
Value:
( \
( \
E(x,t-4*h,y)*( -1.0/560.0)+ \
E(x,t-3*h,y)*( 8.0/315.0)+ \
E(x,t-2*h,y)*( -1.0/5.0)+ \
E(x,t-h ,y)*( 8.0/5.0)+ \
E(x,t ,y)*(-205.0/72.0)+ \
E(x,t+h ,y)*( 8.0/5.0)+ \
E(x,t+2*h,y)*( -1.0/5.0)+ \
E(x,t+3*h,y)*( 8.0/315.0)+ \
E(x,t+4*h,y)*( -1.0/560.0) \
)/(h*h) \
)

Referenced by synfig::ValueNode_Derivative::operator()().