LRAUV  revA
Double6 Class Reference

Wraps a double precision (8-byte) floating point number and unit for storage in a DataElement. More...

#include <Double6.h>

Inheritance diagram for Double6:
Collaboration diagram for Double6:

Public Member Functions

 Double6 (const Unit &unit, double value, bool scaleValue=true)
 Constructor for non-array storage. More...
 
 Double6 (const Unit &unit, const void *binary)
 Constructor from binary. More...
 
virtual ~Double6 ()
 Destructor. More...
 
Double6copy () const
 Return a pointer to a new copy. More...
 
virtual bool equalsForStorage (const double &compareTo) const
 A quick equality check used to see if value has changed enough to matter in logging (useful for reduced resolution data storage. More...
 
virtual unsigned int toStream (OutStream &outStream) const
 Send the data value to the indicated stream. More...
 
virtual void fromBinary (const void *buffer)
 Load the data from the a binary representation in the buffer Typically just a memcopy of the variable, though endianness may come into it. More...
 
- Public Member Functions inherited from Double
 Double (const Unit &unit, double value, bool scaleValue=true)
 Constructor for non-array storage. More...
 
 Double (const Unit &unit, const void *binary)
 Constructor from binary. More...
 
virtual ~Double ()
 Destructor. More...
 
void * operator new (size_t size)
 Override new. More...
 
void operator delete (void *p)
 Override delete. More...
 
virtual void minus (const DataValue *rhs, DataValue *assignTo) const
 Subtraction of another DataValue to yield another DataValue. More...
 
virtual void times (const double rhs, DataValue *assignTo) const
 Multiplication by a double to yield another DataValue. More...
 
virtual double absDiff (const DataValue *rhs) const
 Return the absolute value of this difference from another DataValue. More...
 
virtual bool copyTo (const Unit &unit, unsigned char &assignTo) const
 Copy value to unsigned char. More...
 
virtual bool copyTo (const Unit &unit, double &assignTo) const
 Copy value to double. More...
 
virtual bool copyTo (const Unit &unit, double &assignTo, unsigned int dim) const
 Copy n-dimensional value to double. More...
 
virtual bool copyTo (const Unit &unit, float &assignTo) const
 Copy value to float. More...
 
virtual bool copyTo (const Unit &unit, int &assignTo) const
 Copy value to unsigned int. More...
 
virtual int compare (const Unit &unit, const unsigned char &compareTo) const
 Comparison with unsigned char. More...
 
virtual int compare (const Unit &unit, const double &compareTo) const
 Comparison with double. More...
 
virtual int compare (const Unit &unit, const float &compareTo) const
 Comparison with float. More...
 
virtual int compare (const Unit &unit, const int &compareTo) const
 Comparison with int. More...
 
virtual int compare (const DataValue &compareTo) const
 Comparison with another DataValue. More...
 
virtual bool equals (const Unit &unit, const unsigned char &compareTo) const
 Equality test with with unsigned char. More...
 
virtual bool equals (const Unit &unit, const double &compareTo) const
 Equality test with double. More...
 
virtual bool equals (const Unit &unit, const float &compareTo) const
 Equality test with float. More...
 
virtual bool equals (const Unit &unit, const int &compareTo) const
 Equality test with int. More...
 
virtual bool equals (const DataValue &compareTo) const
 Equality test with another DataValue. More...
 
virtual bool isNaN ()
 Returns true if the number is not a number. More...
 
virtual bool setFrom (const Unit &unit, unsigned char value)
 set from unsigned char value More...
 
virtual bool setFrom (const Unit &unit, double value)
 set from double value More...
 
virtual bool setFrom (const Unit &unit, float value)
 set from float value More...
 
virtual bool setFrom (const Unit &unit, int value)
 set from int value More...
 
virtual bool setFrom (const DataValue &value)
 set from DataValue value More...
 
virtual Str toString (const Unit &unit) const
 
- Public Member Functions inherited from DataValue
virtual ~DataValue ()
 Destructor. More...
 
void operator delete (void *p)
 Override delete. More...
 
virtual bool copyTo (const Unit &unit, bool &assignTo) const
 Copy value to bool. More...
 
virtual bool copyTo (DataValue &assignTo) const
 Copy value to another dataValue. More...
 
virtual int compare (const Unit &unit, const bool &compareTo) const
 Comparison with bool. More...
 
virtual bool equals (const Unit &unit, const bool &compareTo) const
 Equality test with with bool. More...
 
virtual bool setFrom (const Unit &unit, bool value)
 set from bool value More...
 
virtual Str toString () const
 
virtual size_t getTypeSize () const
 Returns the size of the internal storage type (i.e. sizeof(type)) More...
 
virtual BinaryDataType getBinaryType (void) const
 Returns a constant (defined in BinaryDataType.h) representing the internal storage type. More...
 
const UnitgetUnit () const
 
const UnitgetBaseUnit () const
 
void setUnit (const Unit &unit)
 
void clearType ()
 

Protected Member Functions

 Double6 ()
 Protected Empty constructor for use by DataEntry class. More...
 
- Protected Member Functions inherited from Double
 Double ()
 Protected Empty constructor for use by DataEntry class. More...
 
- Protected Member Functions inherited from DataValue
 DataValue (const Unit &unit, const size_t &typeSize, const BinaryDataType &binaryType)
 Protected Constructor for abstract base class. More...
 
 DataValue (const size_t &typeSize, const BinaryDataType &binaryType)
 Protected unitless constructor for use via DataEntry class. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Double
static unsigned int ToBinary (const double &value, unsigned char *buffer, unsigned int maxlen)
 Convert the specified value to a binary representation in the buffer Typically just a memcopy of the variable, though endianness may come into it. More...
 
- Protected Attributes inherited from Double
double value_
 
- Protected Attributes inherited from DataValue
const Unitunit_
 
size_t typeSize_
 size of the internal storage type (i.e. sizeof(type)) More...
 
BinaryDataType binaryType_
 constant (defined in BinaryDataType.h) representing the internal storage type More...
 
- Static Protected Attributes inherited from Double
static RingBufferVoidMallocRing_
 Declared as a pointer to avoid including RingBuffer.h header here. More...
 
static Double::StaticDestructor StaticDestructor_
 Static instance of StaticDestructor. More...
 

Detailed Description

Wraps a double precision (8-byte) floating point number and unit for storage in a DataElement.

(Storage is in the most canonical form of the specified unit). Provides methods for reading and writing the value to and from other DataValues, performing unit conversions as needed.

Unlike the Double class, Double6 objects are serialized as 6-byte numbers by throwing away the 16 least-significant bits of the significand. Thus, the resulting number has the range of a regular 8-byte double, but with only 11 decimal digits accuracy. Such numbers should be adequate in most instances where one would normally use a double.

Note: since these DataValues are created and destructed frequently, the new and delete operators have been overridden, so that objects can be re-used as needed.

Double6::MallocRing_ stores deleted objects.

Constructor & Destructor Documentation

Double6::Double6 ( const Unit unit,
double  value,
bool  scaleValue = true 
)

Constructor for non-array storage.

References DataValue::binaryType_, DOUBLE6, and DataValue::typeSize_.

Double6::Double6 ( const Unit unit,
const void *  binary 
)

Constructor from binary.

References DataValue::binaryType_, DOUBLE6, fromBinary(), and DataValue::typeSize_.

virtual Double6::~Double6 ( )
inlinevirtual

Destructor.

Double6::Double6 ( )
protected

Protected Empty constructor for use by DataEntry class.

Protected Empty constructor for use bya DataEntry class.

References DataValue::binaryType_, DOUBLE6, and DataValue::typeSize_.

Referenced by copy().

Member Function Documentation

Double6 * Double6::copy ( ) const
virtual

Return a pointer to a new copy.

Reimplemented from Double.

References Double6(), DataValue::unit_, and Double::value_.

bool Double6::equalsForStorage ( const double &  compareTo) const
virtual

A quick equality check used to see if value has changed enough to matter in logging (useful for reduced resolution data storage.

Reimplemented from Double.

References Double::value_.

void Double6::fromBinary ( const void *  buffer)
virtual

Load the data from the a binary representation in the buffer Typically just a memcopy of the variable, though endianness may come into it.

Reimplemented from Double.

References DataValue::typeSize_, and Double::value_.

Referenced by Double6().

unsigned int Double6::toStream ( OutStream outStream) const
virtual

Send the data value to the indicated stream.

Return the number of bytes written. For now, assume little-endian.

Reimplemented from Double.

References OutStream::bytesWritten(), Double::value_, and OutStream::writeDouble6().


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