ML Reference
ml::Tvec64< DT > Class Template Reference

A 64 dimensional vector class for floating point types. More...

#include <mlVector64.h>

Inheritance diagram for ml::Tvec64< DT >:
ml::FloatingPointVector< DT, 64 > ml::FloatingPointVectorDataContainerBase< DT, size >

Public Types

typedef FloatingPointVector< DT, 64 > Superclass
 A typedef as a shorthand for the base class.
 
typedef DT ComponentType
 A typedef to "export" the type of components.
 
- Public Types inherited from ml::FloatingPointVector< DT, 64 >
enum  
 This enum grants access to the size during compile time, e.g. More...
 
typedef DT ComponentType
 A typedef to "export" the type of components.
 

Public Member Functions

constructors
 Tvec64 (DT value=0)
 Default and value constructor.
 
 Tvec64 (const Superclass &v)
 Copy constructor from FloatingPointVector.
 
 Tvec64 (const DT x00, const DT x01, const DT x02, const DT x03, const DT x04, const DT x05, const DT x06, const DT x07, const DT x08, const DT x09, const DT x10, const DT x11, const DT x12, const DT x13, const DT x14, const DT x15, const DT x16, const DT x17, const DT x18, const DT x19, const DT x20, const DT x21, const DT x22, const DT x23, const DT x24, const DT x25, const DT x26, const DT x27, const DT x28, const DT x29, const DT x30, const DT x31, const DT x32, const DT x33, const DT x34, const DT x35, const DT x36, const DT x37, const DT x38, const DT x39, const DT x40, const DT x41, const DT x42, const DT x43, const DT x44, const DT x45, const DT x46, const DT x47, const DT x48, const DT x49, const DT x50, const DT x51, const DT x52, const DT x53, const DT x54, const DT x55, const DT x56, const DT x57, const DT x58, const DT x59, const DT x60, const DT x61, const DT x62, const DT x63)
 Builds the vector from the scalars x00, ... x63 to the components 0 to 63, respectively.
 
Other operators and methods
void assign (const DT x00, const DT x01, const DT x02, const DT x03, const DT x04, const DT x05, const DT x06, const DT x07, const DT x08, const DT x09, const DT x10, const DT x11, const DT x12, const DT x13, const DT x14, const DT x15, const DT x16, const DT x17, const DT x18, const DT x19, const DT x20, const DT x21, const DT x22, const DT x23, const DT x24, const DT x25, const DT x26, const DT x27, const DT x28, const DT x29, const DT x30, const DT x31, const DT x32, const DT x33, const DT x34, const DT x35, const DT x36, const DT x37, const DT x38, const DT x39, const DT x40, const DT x41, const DT x42, const DT x43, const DT x44, const DT x45, const DT x46, const DT x47, const DT x48, const DT x49, const DT x50, const DT x51, const DT x52, const DT x53, const DT x54, const DT x55, const DT x56, const DT x57, const DT x58, const DT x59, const DT x60, const DT x61, const DT x62, const DT x63)
 Sets all components to the corresponding passed values.
 
- Public Member Functions inherited from ml::FloatingPointVector< DT, 64 >
 FloatingPointVector (DT value=DT(0))
 Default and value constructor.
 
FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > & operator= (DT value)
 Assignment of scalar value to all components.
 
bool operator== (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const
 Returns whether *this and buffer are component wise equal.
 
bool operator!= (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const
 Returns whether any components of *this and buffer are not equal.
 
bool operator< (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const
 Defines an artificial order for use in sort algorithms (lexicographical order).
 
const DT & operator[] (const size_t i) const
 Constant indexing operators.
 
DT & operator[] (const size_t i)
 Indexing operators.
 
size_t getSize () const
 Returns the number of elements of value buffer.
 
DT norm2 () const
 Returns the Euclidean norm (the vector length), i.e., square root of sum of squares of all components.
 
DT norm2 (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &weight) const
 Returns the weighted Euclidean norm, i.e., square root of sum of squares of all components multiplied with corresponding squared component of weight.
 
DT dot (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const
 Returns the dot product, i.e., sum of all components multiplied with corresponding components of buffer.
 
DT normalize ()
 Normalizes the buffer and returns the Euclidean length of vector before normalization, i.e., norm2.
 
DT length () const
 Returns the length of the vector, i.e. norm2().
 
DT distance (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const
 Returns the distance of this vector to a given one.
 
DT distanceSquared (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &buffer) const
 Returns the squared distance of this vector to a given one.
 
DT lengthSquared () const
 Returns the squared length of the vector.
 
DT compSum () const
 Returns the sum of all components.
 
DT compMul () const
 Returns the product of all vector components.
 
DT compMaxAbs () const
 Returns the maximum of absolute component values.
 
void compMin (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > buffer)
 Sets the component wise minimum of *this and buffer in *this.
 
void compMax (FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > buffer)
 Sets the component wise maximum of *this and buffer in *this.
 
void compAbs ()
 Kills negative signs from all components.
 
void compDiv (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &d)
 Divides each vector component by the corresponding one of d.
 
void compSqr ()
 Calculates and sets the square of all components.
 
void compSqrt ()
 Calculates and sets square root of all components.
 
void clampMin (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &lower)
 Calculates and sets all components clamped to lower, i.e., if any component is smaller than the corresponding one in lower then it is set to the one from lower.
 
void clampMax (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &upper)
 Calculates and sets all components clamped to upper, i.e., if any component is greater than the corresponding one in upper then it is set to the one from upper.
 
void clamp (const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &lower, const FloatingPointVector< DT, size, FloatingPointVectorDataContainerBase< DT, size > > &upper)
 Calculates and sets all components of *this so that they are between minimum min and maximum max.
 
void compRound ()
 Rounds all components of this vector using floor(component + 0.5).
 
void compFloor ()
 Rounds all components of this vector using floor(component).
 
void compCeil ()
 Rounds all components of this vector to integer using ceil(component).
 
FloatingPointVector< DT, 3, FloatingPointVectorDataContainerBase< DT, size > > cross (const FloatingPointVector< DT, 3, FloatingPointVectorDataContainerBase< DT, size > > &b) const
 Returns the cross product for elements, i.e., return vector vertical to *this and b.
 
void apply (ML_LA_FROM_DOUBLE_TO_DOUBLE f)
 Applies the function f to each component starting from index 0 to index size-1.
 
std::ostream & writeOut (std::ostream &os) const
 Writes all components to ostream os starting from index 0 to size-1.
 
std::istream & readIn (std::istream &is)
 Reads all components from istream is starting starting from index 0 to size-1.
 

Additional Inherited Members

- Protected Attributes inherited from ml::FloatingPointVectorDataContainerBase< DT, size >
DT _buffer [size]
 

Detailed Description

template<class DT>
class ml::Tvec64< DT >

A 64 dimensional vector class for floating point types.

A 64 dimensional vector class.

Definition at line 31 of file mlVector64.h.

Member Typedef Documentation

◆ ComponentType

template<class DT >
typedef DT ml::Tvec64< DT >::ComponentType

A typedef to "export" the type of components.

Definition at line 39 of file mlVector64.h.

◆ Superclass

template<class DT >
typedef FloatingPointVector<DT,64> ml::Tvec64< DT >::Superclass

A typedef as a shorthand for the base class.

Definition at line 36 of file mlVector64.h.

Constructor & Destructor Documentation

◆ Tvec64() [1/3]

template<class DT >
ml::Tvec64< DT >::Tvec64 ( DT value = 0)
inlineexplicit

Default and value constructor.

Sets all entries to a user given value. value is the init value for all entries. 0 is the default value.

Definition at line 47 of file mlVector64.h.

◆ Tvec64() [2/3]

template<class DT >
ml::Tvec64< DT >::Tvec64 ( const Superclass & v)
inline

Copy constructor from FloatingPointVector.

This allows the usage of SclarVectorTemplate objects of the same DT in operators using the Tvec64, because the FloatingPointVector objects can implicitly be cast.

Definition at line 54 of file mlVector64.h.

◆ Tvec64() [3/3]

template<class DT >
ml::Tvec64< DT >::Tvec64 ( const DT x00,
const DT x01,
const DT x02,
const DT x03,
const DT x04,
const DT x05,
const DT x06,
const DT x07,
const DT x08,
const DT x09,
const DT x10,
const DT x11,
const DT x12,
const DT x13,
const DT x14,
const DT x15,
const DT x16,
const DT x17,
const DT x18,
const DT x19,
const DT x20,
const DT x21,
const DT x22,
const DT x23,
const DT x24,
const DT x25,
const DT x26,
const DT x27,
const DT x28,
const DT x29,
const DT x30,
const DT x31,
const DT x32,
const DT x33,
const DT x34,
const DT x35,
const DT x36,
const DT x37,
const DT x38,
const DT x39,
const DT x40,
const DT x41,
const DT x42,
const DT x43,
const DT x44,
const DT x45,
const DT x46,
const DT x47,
const DT x48,
const DT x49,
const DT x50,
const DT x51,
const DT x52,
const DT x53,
const DT x54,
const DT x55,
const DT x56,
const DT x57,
const DT x58,
const DT x59,
const DT x60,
const DT x61,
const DT x62,
const DT x63 )
inline

Builds the vector from the scalars x00, ... x63 to the components 0 to 63, respectively.

Definition at line 59 of file mlVector64.h.

Member Function Documentation

◆ assign()

template<class DT >
void ml::Tvec64< DT >::assign ( const DT x00,
const DT x01,
const DT x02,
const DT x03,
const DT x04,
const DT x05,
const DT x06,
const DT x07,
const DT x08,
const DT x09,
const DT x10,
const DT x11,
const DT x12,
const DT x13,
const DT x14,
const DT x15,
const DT x16,
const DT x17,
const DT x18,
const DT x19,
const DT x20,
const DT x21,
const DT x22,
const DT x23,
const DT x24,
const DT x25,
const DT x26,
const DT x27,
const DT x28,
const DT x29,
const DT x30,
const DT x31,
const DT x32,
const DT x33,
const DT x34,
const DT x35,
const DT x36,
const DT x37,
const DT x38,
const DT x39,
const DT x40,
const DT x41,
const DT x42,
const DT x43,
const DT x44,
const DT x45,
const DT x46,
const DT x47,
const DT x48,
const DT x49,
const DT x50,
const DT x51,
const DT x52,
const DT x53,
const DT x54,
const DT x55,
const DT x56,
const DT x57,
const DT x58,
const DT x59,
const DT x60,
const DT x61,
const DT x62,
const DT x63 )
inline

Sets all components to the corresponding passed values.

Definition at line 93 of file mlVector64.h.


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