14 #define NANF ( nanf( "" ) )
41 Float(
const Unit& unit,
float value,
bool scaleValue =
true );
44 Float(
const Unit& unit,
const void *binary );
52 void*
operator new(
size_t size );
55 void operator delete(
void* p );
70 virtual bool copyTo(
const Unit& unit,
unsigned char& assignTo )
const;
73 virtual bool copyTo(
const Unit& unit,
double& assignTo )
const;
76 virtual bool copyTo(
const Unit& unit,
double& assignTo,
unsigned int dim )
const
78 return copyTo( unit, assignTo );
82 virtual bool copyTo(
const Unit& unit,
float& assignTo )
const;
85 virtual bool copyTo(
const Unit& unit,
int& assignTo )
const;
88 virtual int compare(
const Unit& unit,
const unsigned char& compareTo )
const;
91 virtual int compare(
const Unit& unit,
const double& compareTo )
const;
94 virtual int compare(
const Unit& unit,
const float& compareTo )
const;
97 virtual int compare(
const Unit& unit,
const int& compareTo )
const;
103 virtual bool equals(
const Unit& unit,
const unsigned char& compareTo )
const;
106 virtual bool equals(
const Unit& unit,
const double& compareTo )
const;
109 virtual bool equals(
const Unit& unit,
const float& compareTo )
const;
112 virtual bool equals(
const Unit& unit,
const int& compareTo )
const;
122 virtual bool isNaN();
125 virtual bool setFrom(
const Unit& unit,
unsigned char value );
128 virtual bool setFrom(
const Unit& unit,
double value );
131 virtual bool setFrom(
const Unit& unit,
float value );
134 virtual bool setFrom(
const Unit& unit,
int value );
150 static unsigned int ToBinary(
const float& value,
unsigned char *buffer,
unsigned int maxlen );
155 virtual void fromBinary(
const void *buffer );
virtual bool copyTo(const Unit &unit, double &assignTo, unsigned int dim) const
Copy n-dimensional value to double.
Definition: Float.h:76
virtual double absDiff(const DataValue *rhs) const
Return the absolute value of this difference from another DataValue.
Definition: Float.cpp:91
virtual unsigned int toStream(OutStream &outStream) const
Send the data value to the indicated stream.
Definition: Float.cpp:279
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 ...
Definition: Float.cpp:287
virtual ~Float()
Destructor.
Definition: Float.h:47
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
float value_
Definition: Float.h:162
Float * copy() const
Return a pointer to a new copy.
Definition: Float.cpp:69
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 reduc...
Definition: Float.cpp:193
Float()
Protected Empty constructor for use by DataEntry class.
Definition: Float.cpp:303
virtual bool equals(const Unit &unit, const unsigned char &compareTo) const
Equality test with with unsigned char.
Definition: Float.cpp:160
Replacement for standard template class string.
Definition: Str.h:12
virtual ~StaticDestructor()
Definition: Float.cpp:19
virtual bool copyTo(const Unit &unit, unsigned char &assignTo) const
Copy value to unsigned char.
Definition: Float.cpp:102
static RingBufferVoid * MallocRing_
Declared as a pointer to avoid including RingBuffer.h header here.
Definition: Float.h:165
virtual void fromBinary(const void *buffer)
Load the data from the a binary representation in the buffer Typically just a memcopy of the variable...
Definition: Float.cpp:297
static Float::StaticDestructor StaticDestructor_
Static instance of StaticDestructor.
Definition: Float.h:175
Contains the DataValue class definition.
virtual bool isNaN()
Returns true if the number is not a number.
Definition: Float.cpp:199
This is a very abstract class that can be implemented by classes that want to send stream output...
Definition: OutStream.h:41
virtual void times(const double rhs, DataValue *assignTo) const
Multiplication by a double to yield another DataValue.
Definition: Float.cpp:85
virtual int compare(const Unit &unit, const unsigned char &compareTo) const
Comparison with unsigned char.
Definition: Float.cpp:130
Makes sure that mallocRing_s is deleted on shutdown.
Definition: Float.h:168
Thread-safe ring buffer for storing void pointers.
Definition: RingBuffer.h:36
Code that represents an engineering unit.
Definition: Unit.h:24
virtual bool setFrom(const Unit &unit, unsigned char value)
set from unsigned char value
Definition: Float.cpp:205
virtual Str toString() const
Definition: DataValue.h:147
Wraps a single precision (4-byte) floating point number and unit for storage in a DataElement...
Definition: Float.h:36
virtual void minus(const DataValue *rhs, DataValue *assignTo) const
Subtraction of another DataValue to yield another DataValue.
Definition: Float.cpp:75