LRAUV  revA
Float2 Class Reference

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

#include <Float2.h>

Inheritance diagram for Float2:
Collaboration diagram for Float2:

Public Member Functions

 Float2 (const Unit &unit, float value, bool scaleValue=true)
 Constructor. More...
 
 Float2 (const Unit &unit, const void *binary)
 Constructor from binary. More...
 
Float2copy () const
 Return a pointer to a new copy. More...
 
virtual ~Float2 ()
 Destructor. More...
 
virtual bool equalsForStorage (const float &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 Float
 Float (const Unit &unit, float value, bool scaleValue=true)
 Constructor for non-array storage. More...
 
 Float (const Unit &unit, const void *binary)
 Constructor from binary. More...
 
virtual ~Float ()
 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 int value More...
 
virtual bool setFrom (const DataValue &value)
 set 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

 Float2 ()
 Protected Empty constructor for use by DataEntry class. More...
 
- Protected Member Functions inherited from Float
 Float ()
 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 Float
static unsigned int ToBinary (const float &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 Float
float 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 Float
static RingBufferVoidMallocRing_
 Declared as a pointer to avoid including RingBuffer.h header here. More...
 
static Float::StaticDestructor StaticDestructor_
 Static instance of StaticDestructor. More...
 

Detailed Description

Wraps a single precision (4-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 Float class, Float2 objects are serialized as 2-byte numbers by throwing away the 16 least-significant bits of the significand. Thus, the resulting number has the range of a regular 4-byte float, but with only 2.5 decimal digits accuracy. Such numbers would be adequate for storing scaled measurements from an 8-bit A/D, for example.

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.

Float2::MallocRing_ stores deleted objects.

Constructor & Destructor Documentation

Float2::Float2 ( const Unit unit,
float  value,
bool  scaleValue = true 
)

Constructor.

Constructor for non-array storage.

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

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

Constructor from binary.

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

virtual Float2::~Float2 ( )
inlinevirtual

Destructor.

Float2::Float2 ( )
protected

Protected Empty constructor for use by DataEntry class.

Protected Empty constructor for use bya DataEntry class.

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

Referenced by copy().

Member Function Documentation

Float2 * Float2::copy ( ) const
virtual

Return a pointer to a new copy.

Reimplemented from Float.

References Float2(), DataValue::unit_, and Float::value_.

bool Float2::equalsForStorage ( const float &  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 Float.

References Float::value_.

void Float2::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 Float.

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

Referenced by Float2().

unsigned int Float2::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 Float.

References OutStream::bytesWritten(), Float::value_, and OutStream::writeFloat2().


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