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

matrix_sub.cpp File Reference

#include "LAStreams.h"
#include <math.h>
#include <iostream.h>

Include dependency graph for matrix_sub.cpp:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace  linalg

Defines

#define COMPUTED_VAL_ASSIGNMENT(OP, VALTYPE)
#define COMPARISON_WITH_SCALAR(OP)
#define TWO_GROUP_COMP(OP)
#define TWO_GROUP_OP(OP)
#define REDUCE_SUM(X, VAL)   X += (VAL)
#define REDUCE_SUMSQ(X, VAL)   X += sqr(VAL)
#define REDUCE_SUMABS(X, VAL)   X += fabs(VAL)
#define REDUCE_MAXABS(X, VAL)   X = max((REAL)X,fabs(VAL))
#define REDUCE_ONE(NAME, OP)
#define REDUCE_DIFF_OF_TWO(NAME, OP)


Define Documentation

#define COMPARISON_WITH_SCALAR OP   ) 
 

Value:

\
bool ElementWiseStrideConst::operator OP (const REAL val) const         \
{                                                                       \
  for(register const REAL * ep = start_ptr; ep < end_ptr; ep += stride) \
    if( !(*ep OP val) )                                                 \
      return false;                                                     \
                                                                        \
  return true;                                                          \
}                                                                       \

Definition at line 90 of file matrix_sub.cpp.

#define COMPUTED_VAL_ASSIGNMENT OP,
VALTYPE   ) 
 

Value:

\
void ElementWiseStride::operator OP (const VALTYPE val)                 \
{                                                                       \
  for(register REAL * ep = start_ptr; ep < end_ptr; ep += stride)       \
    *ep OP val;                                                         \
}                                                                       \

Definition at line 71 of file matrix_sub.cpp.

#define REDUCE_DIFF_OF_TWO NAME,
OP   ) 
 

Value:

\
double ElementWiseStrideConst::NAME (const ElementWiseStrideConst& another) const       \
{                                                                       \
  register double norm = 0;                                             \
  register const REAL * sp = another.start_ptr;                         \
  register const REAL * tp = start_ptr;                                 \
  for(; tp < end_ptr && sp < another.end_ptr;                           \
      tp += stride, sp += another.stride)                               \
    OP(norm,*tp - *sp);                                                 \
                                                                        \
  assure( tp >= end_ptr && sp >= another.end_ptr,                       \
    "stride collections have different number of elements" );           \
  return norm;                                                          \
}                                                                       \

Definition at line 227 of file matrix_sub.cpp.

#define REDUCE_MAXABS X,
VAL   )     X = max((REAL)X,fabs(VAL))
 

Definition at line 206 of file matrix_sub.cpp.

#define REDUCE_ONE NAME,
OP   ) 
 

Value:

\
double ElementWiseStrideConst::NAME (void) const                        \
{                                                                       \
  register double norm = 0;                                             \
  for(register const REAL * ep = start_ptr; ep < end_ptr; ep += stride) \
    OP(norm,*ep);                                                       \
  return norm;                                                          \
}                                                                       \

Definition at line 208 of file matrix_sub.cpp.

#define REDUCE_SUM X,
VAL   )     X += (VAL)
 

Definition at line 203 of file matrix_sub.cpp.

#define REDUCE_SUMABS X,
VAL   )     X += fabs(VAL)
 

Definition at line 205 of file matrix_sub.cpp.

#define REDUCE_SUMSQ X,
VAL   )     X += sqr(VAL)
 

Definition at line 204 of file matrix_sub.cpp.

#define TWO_GROUP_COMP OP   ) 
 

Value:

\
bool ElementWiseStrideConst::operator OP (const ElementWiseStrideConst& another) const \
{                                                                       \
  register const REAL * sp = another.start_ptr;                         \
  register const REAL * tp = start_ptr;                                 \
  for(; tp < end_ptr && sp < another.end_ptr;                           \
      tp += stride, sp += another.stride)                               \
    if( !(*tp OP *sp) )                                                 \
      return false;                                                     \
                                                                        \
  assure( tp >= end_ptr && sp >= another.end_ptr,                       \
    "stride collections have different number of elements" );           \
  return true;                                                          \
}                                                                       \

Definition at line 149 of file matrix_sub.cpp.

#define TWO_GROUP_OP OP   ) 
 

Value:

\
void ElementWiseStride::operator OP (const ElementWiseStrideConst& another) \
{                                                                       \
  register const REAL * sp = another.start_ptr;                         \
  register REAL * tp = start_ptr;                                       \
  for(; tp < end_ptr && sp < another.end_ptr;                           \
      tp += stride, sp += another.stride)                               \
    *tp OP *sp;                                                         \
  assure( tp >= end_ptr && sp >= another.end_ptr,                       \
    "stride collections have different number of elements" );           \
}                                                                       \

Definition at line 175 of file matrix_sub.cpp.


Generated on Wed Dec 15 21:20:43 2004 for vuVolume by  doxygen 1.3.9.1