CFArrayBox Class Reference

#include <CFArrayBox.H>

Inheritance diagram for CFArrayBox:

Inheritance graph
[legend]

List of all members.


Detailed Description

Complex Fortran Array Boxes (generally called CFArrayBoxs) are objects constructed to interface with arrays in Fortran. Useful operations can be performed upon FABs in C++, and they provide a convenient interface to Fortran when it is necessary to retreat into that language for doing arithmetic operations when performance matters.

CFArrayBox is derived from BaseFab<Complex>. CFArrayBox adds additional useful capabilities which make sense for Complex types, such as I/O and L**p norms.

The C pre-processor macro `CH_SPACEDIM' must be defined to use this class. The internal precision of CFArrayBox objects is set by defining either `CH_USE_FLOAT' or `CH_USE_DOUBLE'

This class does NOT provide a copy constructor or assignment operator.

Public Member Functions

 CFArrayBox ()
 CFArrayBox (const Box &a_box, int a_ncomp, Complex *a_alias=NULL)
 CFArrayBox (const Interval &a_comps, CFArrayBox &a_original)
virtual void define (const Box &a_box, int a_ncomp, Complex *a_alias=NULL)
virtual ~CFArrayBox ()
 CFArrayBox (CFArrayBox &&a_in)
CFArrayBoxoperator= (CFArrayBox &&a_in)
virtual void define (const Interval &a_comps, CFArrayBox &a_original)
virtual void define (const Interval &a_comps, BaseFab< Complex > &a_original)
 CFArrayBox (std::istream &a_is)
virtual Real norm (const Box &a_subbox, int a_p=2, int a_comp=0, int a_numcomp=1) const
virtual Real norm (int a_p=2, int a_comp=0, int a_numcomp=1) const
virtual Complex sumPow (const Box &a_subbox, int a_p=2, int a_comp=0, int a_numcomp=1) const
Complex dotProduct (const CFArrayBox &a_fab2) const
 Return the dot product of this CFArrayBox with another.
Complex dotProduct (const CFArrayBox &a_fab2, const Box &a_box) const
 Return the dot product of this CFArrayBox with another.
void abs ()
void abs (int a_comp, int a_numcomp=1)
void abs (const Box &a_subbox, int a_comp=0, int a_numcomp=1)
Complex sum (int a_comp, int a_numcomp=1) const
Complex sum (const Box &a_subbox, int a_comp, int a_numcomp=1) const
CFArrayBoxinvert (Complex a_r)
CFArrayBoxinvert (Complex a_r, int a_comp, int a_numcomp=1)
CFArrayBoxinvert (Complex a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
CFArrayBoxnegate (const Box &a_subbox, int a_comp=0, int a_numcomp=1)
CFArrayBoxnegate (int a_comp, int a_numcomp=1)
CFArrayBoxnegate ()
CFArrayBoxplus (Complex a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
CFArrayBoxplus (Complex a_r, int a_comp, int a_numcomp=1)
CFArrayBoxoperator+= (Complex a_r)
CFArrayBoxoperator+= (const CFArrayBox &a_x)
CFArrayBoxplus (Complex a_r)
CFArrayBoxplus (const CFArrayBox &a_x)
CFArrayBoxplus (const CFArrayBox &a_src, const Complex &a_scale)
CFArrayBoxplus (const CFArrayBox &a_src, const Complex &a_scale, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxplus (const CFArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxplus (const CFArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxplus (const CFArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxplus (const CFArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, const Complex &a_scale, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxoperator-= (Complex a_r)
CFArrayBoxoperator-= (const CFArrayBox &a_x)
CFArrayBoxminus (const CFArrayBox &a_x)
CFArrayBoxminus (const CFArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxminus (const CFArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxminus (const CFArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxoperator*= (Complex a_r)
CFArrayBoxmult (Complex a_r)
CFArrayBoxmult (Complex a_r, int a_comp, int a_numcomp=1)
CFArrayBoxmult (Complex a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
CFArrayBoxoperator*= (const CFArrayBox &a_x)
CFArrayBoxmult (const CFArrayBox &a_x)
CFArrayBoxmult (const CFArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxmult (const CFArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxmult (const CFArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxmult (const BaseFab< Real > &a_r)
CFArrayBoxmult (const BaseFab< Real > &a_r, const Box &a_box)
CFArrayBoxoperator/= (Complex a_r)
CFArrayBoxdivide (Complex a_r)
CFArrayBoxdivide (Complex a_r, int a_comp, int a_numcomp=1)
CFArrayBoxdivide (Complex a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
CFArrayBoxoperator/= (const CFArrayBox &a_x)
CFArrayBoxdivide (const CFArrayBox &a_x)
CFArrayBoxdivide (const CFArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxdivide (const CFArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
CFArrayBoxdivide (const CFArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
Complex get (const IntVect &a_iv, int a_comp) const
void set (const IntVect &a_iv, int a_comp, Complex a_val)
CFArrayBoxaxby (const CFArrayBox &a_X, const CFArrayBox &a_Y, Complex a_A, Complex a_B)
 Computes a_A * a_X + a_B * a_Y, placing the result in this CFArrayBox.
CFArrayBoxaxby (const CFArrayBox &a_X, const CFArrayBox &a_Y, Complex a_A, Complex a_B, int a_destComp, int a_xComp, int a_yComp)

Protected Member Functions

virtual void performCopy (const BaseFab< Complex > &a_src, const Box &a_srcbox, int a_srccomp, const Box &a_destbox, int a_destcomp, int a_numcomp)

Private Member Functions

 CFArrayBox (const CFArrayBox &)
CFArrayBoxoperator= (const CFArrayBox &)


Constructor & Destructor Documentation

CFArrayBox::CFArrayBox (  ) 

Constructs an invalid CFArrayBox with no memory.

CFArrayBox::CFArrayBox ( const Box a_box,
int  a_ncomp,
Complex *  a_alias = NULL 
)

Constructs an initial CFArrayBox with the data space allocated but not inititialized. a_ncomp is the number of components (variables) at each data point in the Box.

CFArrayBox::CFArrayBox ( const Interval a_comps,
CFArrayBox a_original 
) [inline]

Construct an aliaed CFArrayBox. See BaseFab class for details.

virtual CFArrayBox::~CFArrayBox (  )  [virtual]

Defines CFArrayBox with the data space allocated but not inititialized. a_ncomp is the number of components (variables) at each data point in the Box. The (virtual) destructor.

CFArrayBox::CFArrayBox ( CFArrayBox &&  a_in  ) 

CFArrayBox::CFArrayBox ( std::istream &  a_is  )  [explicit]

Constructs CFArrayBox by reading it from istream.

CFArrayBox::CFArrayBox ( const CFArrayBox  )  [private]


Member Function Documentation

virtual void CFArrayBox::define ( const Box a_box,
int  a_comps,
Complex *  a_alias = NULL 
) [inline, virtual]

Make BaseFab with desired domain and number of components. Existing data is lost. Data is in uninialized state.

Reimplemented from BaseFab< Complex >.

References BaseFab< T >::define().

CFArrayBox& CFArrayBox::operator= ( CFArrayBox &&  a_in  ) 

virtual void CFArrayBox::define ( const Interval a_comps,
CFArrayBox a_original 
) [inline, virtual]

Constructs an 'aliased' BaseFab of the requested interval of the argument BaseFab. This BaseFab does not allocate any memory, but sets its data pointer into the memory pointed to by the argument BaseFab. It is the users responsiblity to ensure this aliased BaseFab is not used after the original BaseFab has deleted its data ptr (resize, define(..) called, or destruction, etc.).

This aliased BaseFab will also generate side effects (modifying the values of data in one will modify the other's data).

This aliased BaseFab will have a_comps.size() components, starting at zero.

References BaseFab< T >::define().

virtual void CFArrayBox::define ( const Interval a_comps,
BaseFab< Complex > &  a_original 
) [inline, virtual]

This is here only to make the Intel compiler stop warning about partial override.

Reimplemented from BaseFab< Complex >.

References BaseFab< T >::define().

virtual Real CFArrayBox::norm ( const Box a_subbox,
int  a_p = 2,
int  a_comp = 0,
int  a_numcomp = 1 
) const [virtual]

Returns the Lp-norm of this FAB using components (a_comp : a_comp+a_numcomp-1) and within the a_subbox. a_p < 0 -> ERROR a_p = 0 -> infinity norm (max absolute value) a_p = 1 -> sum of ABS(FAB) a_p > 1 -> Lp-norm

virtual Real CFArrayBox::norm ( int  a_p = 2,
int  a_comp = 0,
int  a_numcomp = 1 
) const [virtual]

Returns the Lp-norm of this FAB using components (a_comp : a_comp+a_numcomp-1). a_p < 0 -> ERROR a_p = 0 -> infinity norm (max absolute value) a_p = 1 -> sum of ABS(FAB) a_p > 1 -> Lp-norm

virtual Complex CFArrayBox::sumPow ( const Box a_subbox,
int  a_p = 2,
int  a_comp = 0,
int  a_numcomp = 1 
) const [virtual]

Returns sum of pow(fab[i,c],p): i in a_subbox, a_comp <= c < a_comp+a_numcomp, a_p >= 2 only

Complex CFArrayBox::dotProduct ( const CFArrayBox a_fab2  )  const

Return the dot product of this CFArrayBox with another.

Return the dot product of this CFArrayBox and "a_fab2" over their common box and all components.

Complex CFArrayBox::dotProduct ( const CFArrayBox a_fab2,
const Box a_box 
) const

Return the dot product of this CFArrayBox with another.

Return the dot product of this CFArrayBox and "a_fab2" over the a_box box and all components.

void CFArrayBox::abs (  ) 

Modifies this CFArrayBox by replacing each value with its absolute value.

void CFArrayBox::abs ( int  a_comp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by replacing each value with its absolute value, for components (a_comp : a_comp+a_numcomp-1).

void CFArrayBox::abs ( const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by replacing eahc value with its absolute value, for components (a_comp : a_comp+a_numcomp-1) and within the a_subbox.

Complex CFArrayBox::sum ( int  a_comp,
int  a_numcomp = 1 
) const

Returns sum of given component of CFArrayBox.

Complex CFArrayBox::sum ( const Box a_subbox,
int  a_comp,
int  a_numcomp = 1 
) const

Returns sum of component of this CFArrayBox in given a_subbox.

CFArrayBox& CFArrayBox::invert ( Complex  a_r  ) 

Modifies this CFArrayBox by replacing each value x with a_r/x.

CFArrayBox& CFArrayBox::invert ( Complex  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by replacing each value x with a_r/x. For given range of components.

CFArrayBox& CFArrayBox::invert ( Complex  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by replacing each value x with a_r/x. For given range of components and within given a_subbox.

CFArrayBox& CFArrayBox::negate ( const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by replacing each value with its additive inverse. For given range of components and within given a_subbox.

CFArrayBox& CFArrayBox::negate ( int  a_comp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by replacing each value with its additive inverse. For given range of components.

CFArrayBox& CFArrayBox::negate (  ) 

Modifies this CFArrayBox by replacing each value with its additive inverse.

CFArrayBox& CFArrayBox::plus ( Complex  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by adding the scalar Complex a_r to all values. For given range of components and within given a_subbox.

CFArrayBox& CFArrayBox::plus ( Complex  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by adding the scalar Complex a_r to all values. For given range of components.

CFArrayBox& CFArrayBox::operator+= ( Complex  a_r  ) 

Modifies this CFArrayBox by adding the scalar Complex a_r to all values.

CFArrayBox& CFArrayBox::operator+= ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise addition of the values of the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match.

CFArrayBox& CFArrayBox::plus ( Complex  a_r  ) 

Modifies this CFArrayBox by adding the scalar Complex a_r to all values.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise addition of the values of the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match. The same as += operator.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_src,
const Complex &  a_scale 
)

Modifies this CFArrayBox by pointwise scaled addition of the argument CFArrayBox (a[i] <- a[i] + a_scale * a_src[i]). Uses domain of the intersection of these two CFArrayBoxes.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_src,
const Complex &  a_scale,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise scaled addition of the argument CFArrayBox (a[i] <- a[i] + a_scale * a_src[i]). Uses domain of the intersection of these two CFArrayBoxes.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise addition of values in the argument CFArrayBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) to this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domains of the two CFArrayBoxes intersect.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise addition of values in the argument CFArrayBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) to this CFArrayBox's components (a_destcomp : a_destcomp+numcomp-1) where the domain of this CFArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise addition of values in the argument CFArrayBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox to this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox. Corresponding locations within the two CFArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest CFArrayBoxes are the same and the a_srcbox and a_destbox overlap.

CFArrayBox& CFArrayBox::plus ( const CFArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
const Complex &  a_scale,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

CFArrayBox& CFArrayBox::operator-= ( Complex  a_r  ) 

Modifies this CFArrayBox by subtracting the scalar Complex a_r to all values. Note: use plus(-a_r) for more general operations.

CFArrayBox& CFArrayBox::operator-= ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise subtraction of the values of the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match.

CFArrayBox& CFArrayBox::minus ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise subtraction of the values of the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match. The same as -= operator.

CFArrayBox& CFArrayBox::minus ( const CFArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise subtraction of values in the argument CFArrayBox. Subtracts a_src's components (a_srccomp : a_srccomp+a_numcomp-1) from this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domains of the two CFArrayBoxes intersect.

CFArrayBox& CFArrayBox::minus ( const CFArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise subtraction of values in the argument CFArrayBox. Subtracts a_src's components (a_srccomp : a_srccomp+a_numcomp-1) from this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domain of this CFArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

CFArrayBox& CFArrayBox::minus ( const CFArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise subtraction of values in the argument CFArrayBox. Subtracts a_src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox from this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox. Corresponding locations within the two CFArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest CFArrayBoxes are the same and the a_srcbox and a_destbox overlap.

CFArrayBox& CFArrayBox::operator*= ( Complex  a_r  ) 

Modifies this CFArrayBox by multiplying all values by the scalar Complex a_r.

CFArrayBox& CFArrayBox::mult ( Complex  a_r  ) 

Modifies this CFArrayBox by multiplying all values by the scalar Complex a_r.

CFArrayBox& CFArrayBox::mult ( Complex  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by multiplying all values by the scalar Complex a_r. For given range of components.

CFArrayBox& CFArrayBox::mult ( Complex  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by multiplying all values by the scalar Complex a_r. For given range of components and within given a_subbox.

CFArrayBox& CFArrayBox::operator*= ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise multiplication of the values by the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match.

CFArrayBox& CFArrayBox::mult ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise multiplication by the values in the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match. The same as the *= operator.

CFArrayBox& CFArrayBox::mult ( const CFArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise multiplication by values in the argument CFArrayBox. Multiplies a_src's components (a_srccomp : a_srccomp+a_numcomp-1) by this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domains of the two CFArrayBoxes intersect.

CFArrayBox& CFArrayBox::mult ( const CFArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise multiplication by values in the argument CFArrayBox. Multiplies a_src's components (a_srccomp : a_srccomp+a_numcomp-1) by this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domain of this CFArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

CFArrayBox& CFArrayBox::mult ( const CFArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise multiplication by values in the argument CFArrayBox. Multiplies a_src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox by this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox. Corresponding locations within the two CFArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest CFArrayBoxes are the same and the a_srcbox and a_destbox overlap.

CFArrayBox& CFArrayBox::mult ( const BaseFab< Real > &  a_r  ) 

Modify this CFArrayBox by multiplying each element by the Real value in a_r

CFArrayBox& CFArrayBox::mult ( const BaseFab< Real > &  a_r,
const Box a_box 
)

Modify this CFArrayBox by multiplying each element by the Real value in a_r in the region defined by a_box

CFArrayBox& CFArrayBox::operator/= ( Complex  a_r  ) 

Modifies this CFArrayBox by dividing all values by the scalar Complex a_r.

CFArrayBox& CFArrayBox::divide ( Complex  a_r  ) 

Modifies this CFArrayBox by dividing all values by the scalar Complex a_r.

CFArrayBox& CFArrayBox::divide ( Complex  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by dividing all values by the scalar Complex a_r. For given range of components.

CFArrayBox& CFArrayBox::divide ( Complex  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by dividing all values by the scalar Complex a_r. For given range of components and within given a_subbox.

CFArrayBox& CFArrayBox::operator/= ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise division of the values by the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match.

CFArrayBox& CFArrayBox::divide ( const CFArrayBox a_x  ) 

Modifies this CFArrayBox by pointwise division by the values in the argument CFArrayBox. You might come to grief if the domains of the CFArrayBoxes don't match. The same as the /= operator.

CFArrayBox& CFArrayBox::divide ( const CFArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise division by values in the argument CFArrayBox. Divides this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) by a_src's components (a_srccomp : a_srccomp+a_numcomp-1) where the domains of the two CFArrayBoxes intersect.

CFArrayBox& CFArrayBox::divide ( const CFArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise division by values in the argument CFArrayBox. Divides this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) by a_src's components (a_srccomp : a_srccomp+a_numcomp-1) where the domain of this CFArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

CFArrayBox& CFArrayBox::divide ( const CFArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this CFArrayBox by pointwise division by values in the argument CFArrayBox. Divides this CFArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox by a_src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox. Corresponding locations within the two CFArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest CFArrayBoxes are the same and the a_srcbox and a_destbox overlap.

Complex CFArrayBox::get ( const IntVect a_iv,
int  a_comp 
) const [inline]

void CFArrayBox::set ( const IntVect a_iv,
int  a_comp,
Complex  a_val 
) [inline]

CFArrayBox& CFArrayBox::axby ( const CFArrayBox a_X,
const CFArrayBox a_Y,
Complex  a_A,
Complex  a_B 
)

Computes a_A * a_X + a_B * a_Y, placing the result in this CFArrayBox.

CFArrayBox& CFArrayBox::axby ( const CFArrayBox a_X,
const CFArrayBox a_Y,
Complex  a_A,
Complex  a_B,
int  a_destComp,
int  a_xComp,
int  a_yComp 
)

Computes a_A * a_X + a_B * a_Y, placing the result in this CFArrayBox. This version performs this operation only for the given component in each CFArrayBox.

virtual void CFArrayBox::performCopy ( const BaseFab< Complex > &  a_src,
const Box a_srcbox,
int  a_srccomp,
const Box a_destbox,
int  a_destcomp,
int  a_numcomp 
) [protected, virtual]

Reimplemented from BaseFab< Complex >.

CFArrayBox& CFArrayBox::operator= ( const CFArrayBox  )  [private]


The documentation for this class was generated from the following file:

Generated on Fri Apr 5 04:24:57 2019 for Chombo + EB by  doxygen 1.5.5