Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ASubtraction Class Reference

#include <ASubtraction.h>

Inheritance diagram for ASubtraction:

Inheritance graph
[legend]
Collaboration diagram for ASubtraction:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ASubtraction (Implicit *f, Implicit *g, int cont=2)
 Constructor.

 ~ASubtraction ()
 Destructor.

virtual double h (double f, double g)
 Evaluates the R-function on the two function values.

virtual double hf (double f, double g)
 Evaluates the partial derivative with respect to f on the two function values.

virtual double hg (double f, double g)
 Evaluates the partial derivative with respect to g on the two function values.

virtual double hff (double f, double g)
 Evaluates the 2nd partial derivative with respect to f and f on the two function values.

virtual double hgg (double f, double g)
 Return the 2nd partial derivative with respect to g and g on the two function values.

virtual double hfg (double f, double g)
 Evaluate the 2nd partial derivative with respect to f and g on the two function values.

virtual Intervald h (Intervald f, Intervald g)
virtual Intervald hf (Intervald f, Intervald g)
virtual Intervald hg (Intervald f, Intervald g)
virtual Intervald hff (Intervald f, Intervald g)
virtual Intervald hfg (Intervald f, Intervald g)
virtual Intervald hgg (Intervald f, Intervald g)

Private Attributes

Intersectionm_f
 First operand.

Complementm_comp_g

Constructor & Destructor Documentation

ASubtraction::ASubtraction Implicit f,
Implicit g,
int  cont = 2
[inline]
 

Constructor.

Definition at line 24 of file ASubtraction.h.

References m_comp_g, and m_f.

ASubtraction::~ASubtraction  )  [inline]
 

Destructor.

Definition at line 31 of file ASubtraction.h.

References m_comp_g, and m_f.


Member Function Documentation

Intervald ASubtraction::h Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 20 of file ASubtraction.cpp.

References Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared().

double ASubtraction::h double  f,
double  g
[virtual]
 

Evaluates the R-function on the two function values.

Parameters:
f The value of f.
g The value of g.
Returns:
(f + g + m_sign*(sqrt(f^2+g^2)))*(f^2+g^2)^(m_cont/2).

Reimplemented from RFunction.

Definition at line 11 of file ASubtraction.cpp.

References Blend::m_r1, and Blend::m_r2.

Intervald ASubtraction::hf Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 42 of file ASubtraction.cpp.

References Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared().

double ASubtraction::hf double  f,
double  g
[virtual]
 

Evaluates the partial derivative with respect to f on the two function values.

h = (f + g + m_sign*(sqrt(f^2+g^2)))*(f^2+g^2)^(m_cont/2). hf = (f^2+g^2)^(m_cont/2)*d(f + g + m_sign*(sqrt(f^2+g^2)))/df + (f + g + m_sign*(sqrt(f^2+g^2)))*d(f^2+g^2)^(m_cont/2)/df = (f^2+g^2)^(m_cont/2)*(1 + m_sign*f/sqrt(f^2+g^2)) + (f + g + m_sign*(sqrt(f^2+g^2)))*m_cont*f*(f^2+g^2)^(m_cont/2 - 1).

Parameters:
f The value of f.
g The value of g.
Returns:
hf.
Note:
Appears to work fine when tested with particles.

Reimplemented from RFunction.

Definition at line 34 of file ASubtraction.cpp.

References Blend::m_r1, and Blend::m_r2.

Intervald ASubtraction::hff Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 82 of file ASubtraction.cpp.

References Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared().

double ASubtraction::hff double  f,
double  g
[virtual]
 

Evaluates the 2nd partial derivative with respect to f and f on the two function values.

fg = sqrt(f^2 + g^2) dfg/df = f/fg hf = fg^m_cont*(1 + m_sign*f/fg) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) = fg^m_cont + m_sign*f*fg^(m_cont-1) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) hff = m_cont*fg^(m_cont-1)*dfg/df + m_sign*f*(m_cont-1)*fg^(m_cont-2)*dfg/df + m_sign*fg^(m_cont-1) + (1 + m_sign*dfg/df)*m_cont*f*fg^(m_cont - 2) + (f + g + m_sign*fg)*m_cont*(f*(m_cont - 2)*fg^(m_cont - 3)*dfg/df + fg^(m_cont - 2)) = m_cont*f*fg^(m_cont-2) + m_sign*(m_cont-1)*f^2*fg^(m_cont-3) + m_sign*fg^(m_cont-1) + m_cont*f*fg^(m_cont - 2) + m_cont*m_sign*f^2*fg^(m_cont - 3) + m_cont*(f + g + m_sign*fg)*((m_cont - 2)*f^2*fg^(m_cont - 4) + fg^(m_cont - 2))

Parameters:
f The value of f.
g The value of g.
Returns:
hff.
Note:
Needs to be tested.

Reimplemented from RFunction.

Definition at line 74 of file ASubtraction.cpp.

References Blend::m_r1, and Blend::m_r2.

Intervald ASubtraction::hfg Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 117 of file ASubtraction.cpp.

References Intervald.

double ASubtraction::hfg double  f,
double  g
[virtual]
 

Evaluate the 2nd partial derivative with respect to f and g on the two function values.

fg = sqrt(f^2 + g^2) dfg/dg = g/fg hf = fg^m_cont*(1 + m_sign*f/fg) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) = fg^m_cont + m_sign*f*fg^(m_cont-1) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) hfg = m_cont*fg^(m_cont-1)*dfg/dg + m_sign*f*(m_cont-1)*fg^(m_cont-2)*dfg/dg + m_sign*fg^(m_cont-1) + (1 + m_sign*dfg/dg)*m_cont*f*fg^(m_cont - 2) + (f + g + m_sign*fg)*m_cont*(f*(m_cont - 2)*fg^(m_cont - 3)*dfg/dg + fg^(m_cont - 2)) = m_cont*g*fg^(m_cont-2) + m_sign*(m_cont-1)*f*g*fg^(m_cont-3) + m_sign*fg^(m_cont-1) + m_cont*f*fg^(m_cont - 2) + m_cont*m_sign*f*g*fg^(m_cont - 3) + m_cont*(f + g + m_sign*fg)*((m_cont - 2)*f*g*fg^(m_cont - 4) + fg^(m_cont - 2))

Parameters:
f The value of f.
g The value of g.
Returns:
hfg.
Note:
Needs to be tested.

Reimplemented from RFunction.

Definition at line 112 of file ASubtraction.cpp.

Intervald ASubtraction::hg Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 62 of file ASubtraction.cpp.

References Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared().

double ASubtraction::hg double  f,
double  g
[virtual]
 

Evaluates the partial derivative with respect to g on the two function values.

h = (f + g + m_sign*(sqrt(f^2+g^2)))*(f^2+g^2)^(m_cont/2). hg = (f^2+g^2)^(m_cont/2)*d(f + g + m_sign*(sqrt(f^2+g^2)))/dg + (f + g + m_sign*(sqrt(f^2+g^2)))*d(f^2+g^2)^(m_cont/2)/dg = (f^2+g^2)^(m_cont/2)*(1 + m_sign*g/sqrt(f^2+g^2)) + (f + g + m_sign*(sqrt(f^2+g^2)))*m_cont*g*(f^2+g^2)^(m_cont/2 - 1).

Parameters:
f The value of f.
g The value of g.
Returns:
hg.
Note:
Appears to work fine when tested with particles.

Reimplemented from RFunction.

Definition at line 54 of file ASubtraction.cpp.

References Blend::m_r1, and Blend::m_r2.

Intervald ASubtraction::hgg Intervald  f,
Intervald  g
[virtual]
 

Reimplemented from RFunction.

Definition at line 101 of file ASubtraction.cpp.

References Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared().

double ASubtraction::hgg double  f,
double  g
[virtual]
 

Return the 2nd partial derivative with respect to g and g on the two function values.

fg = sqrt(f^2 + g^2) dfg/dg = g/fg hg = fg^m_cont*(1 + m_sign*g/fg) + (f + g + m_sign*fg)*m_cont*g*fg^(m_cont - 2) = fg^m_cont + m_sign*g*fg^(m_cont-1) + (f + g + m_sign*fg)*m_cont*g*fg^(m_cont - 2) hgg = m_cont*fg^(m_cont-1)*dfg/dg + m_sign*g*(m_cont-1)*fg^(m_cont-2)*dfg/dg + m_sign*fg^(m_cont-1) + (1 + m_sign*dfg/dg)*m_cont*g*fg^(m_cont - 2) + (f + g + m_sign*fg)*m_cont*(g*(m_cont - 2)*fg^(m_cont - 3)*dfg/dg + fg^(m_cont - 2)) = m_cont*g*fg^(m_cont-2) + m_sign*(m_cont-1)*g^2*fg^(m_cont-3) + m_sign*fg^(m_cont-1) + m_cont*g*fg^(m_cont - 2) + m_cont*m_sign*g^2*fg^(m_cont - 3) + m_cont*(f + g + m_sign*fg)*((m_cont - 2)*g^2*fg^(m_cont - 4) + fg^(m_cont - 2))

Parameters:
f The value of f.
g The value of g.
Returns:
hgg.
Note:
Needs to be tested.

Reimplemented from RFunction.

Definition at line 93 of file ASubtraction.cpp.

References Blend::m_r1, and Blend::m_r2.


Member Data Documentation

Complement* ASubtraction::m_comp_g [private]
 

Definition at line 20 of file ASubtraction.h.

Referenced by ASubtraction(), and ~ASubtraction().

Intersection* ASubtraction::m_f [private]
 

First operand.

Reimplemented from BinaryOp.

Definition at line 19 of file ASubtraction.h.

Referenced by ASubtraction(), and ~ASubtraction().


The documentation for this class was generated from the following files:
Generated on Mon Jun 28 15:02:01 2004 for Advanced Surface Library by doxygen 1.3.4