openDAQ
Open data acquisition platform
IComplexNumber Struct Referenceabstract
+ Inheritance diagram for IComplexNumber:
+ Collaboration diagram for IComplexNumber:

Detailed Description

Represents a complex number as IComplexNumber interface. Use this interface to wrap complex number when you need to add the number to lists, dictionaries and other containers which accept IBaseObject and derived interfaces.

Complex numbers have two components: real and imaginary. Both of them are of Float type.

Available factories:

// Creates a new ComplexNumber object. Throws exception if not successful.
IComplexNumber* ComplexNumber_Create(ComplexFloat64* value)
// Creates a new ComplexNumber object. Returns error code if not successful.
ErrCode createComplexNumber(IComplexNumber** obj, ComplexFloat64 value)

Public Member Functions

virtual ErrCode INTERFACE_FUNC getValue (ComplexFloat64 *value)=0
 Gets the number as ComplexFloat64 type. More...
 
virtual ErrCode INTERFACE_FUNC equalsValue (const ComplexFloat64 value, Bool *equal)=0
 Compares stored complex value to the complex number parameter. More...
 
virtual ErrCode INTERFACE_FUNC getReal (Float *real)=0
 Gets the real part of the complex number value. More...
 
virtual ErrCode INTERFACE_FUNC getImaginary (Float *imaginary)=0
 Gets the imaginary part of the complex number value. More...
 
- Public Member Functions inherited from IBaseObject
virtual ErrCode INTERFACE_FUNC borrowInterface (const IntfID &intfID, void **obj) const =0
 Returns another interface which is supported by the object without incrementing the reference count. More...
 
virtual ErrCode INTERFACE_FUNC dispose ()=0
 Disposes all references held by the object. More...
 
virtual ErrCode INTERFACE_FUNC getHashCode (SizeT *hashCode)=0
 Returns hash code of the object. More...
 
virtual ErrCode INTERFACE_FUNC equals (IBaseObject *other, Bool *equal) const =0
 Compares object to another object for equality. More...
 
virtual ErrCode INTERFACE_FUNC toString (CharPtr *str)=0
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from IUnknown
virtual ErrCode INTERFACE_FUNC queryInterface (const IntfID &intfID, void **obj)=0
 Returns another interface which is supported by the object and increments the reference count. More...
 
virtual int INTERFACE_FUNC addRef ()=0
 Increments the reference count for an interface on an object. More...
 
virtual int INTERFACE_FUNC releaseRef ()=0
 Decrements the reference count for an interface on an object. More...
 

Member Function Documentation

◆ equalsValue()

virtual ErrCode INTERFACE_FUNC equalsValue ( const ComplexFloat64  value,
Bool *  equal 
)
pure virtual

Compares stored complex value to the complex number parameter.

Parameters
valueValue for comparison.
[out]equalThe result of the comparison.

Call this method to directly compare the object to the value parameter.

◆ getImaginary()

virtual ErrCode INTERFACE_FUNC getImaginary ( Float *  imaginary)
pure virtual

Gets the imaginary part of the complex number value.

Parameters
[out]imaginaryThe imaginary part of the complex value.

◆ getReal()

virtual ErrCode INTERFACE_FUNC getReal ( Float *  real)
pure virtual

Gets the real part of the complex number value.

Parameters
[out]realThe real part of the complex value.

◆ getValue()

virtual ErrCode INTERFACE_FUNC getValue ( ComplexFloat64 *  value)
pure virtual

Gets the number as ComplexFloat64 type.

Parameters
[out]valueComplex value.
ErrCode
BEGIN_NAMESPACE_OPENDAQ typedef uint32_t ErrCode
Definition: common.h:60
IComplexNumber
Definition: complex_number.h:45