#include <sse_vector_2f64.h>
The class and the default constructor are always defined. The functions of this class are only defined when C4D_HAS_SSE2_CAPABILITY is set. Instances of this class must be aligned to 16 bytes. The layout in the memory is as follows: address + 0 + 1 R0 R1
Public Types | |
| using | ValueType = Float64 | 
Public Member Functions | |
| Vector2f64 ()=default | |
| MAXON_ATTRIBUTE_FORCE_INLINE | Vector2f64 (Float64 d0, Float64 d1) | 
| MAXON_ATTRIBUTE_FORCE_INLINE | Vector2f64 (const Float64 *p, Bool aligned) | 
| MAXON_ATTRIBUTE_FORCE_INLINE void | LoadUnaligned (const Float64 *p) | 
| MAXON_ATTRIBUTE_FORCE_INLINE void | LoadAligned (const Float64 *p) | 
| MAXON_ATTRIBUTE_FORCE_INLINE void | LoadSingle (const double *p) | 
Static Public Member Functions | |
| template<int mb1, int ma1> | |
| static MAXON_ATTRIBUTE_FORCE_INLINE Vector2f64 | Shuffle (const Vector2f64 &a) | 
Protected Attributes | |
| Float64 | v [2] | 
Friends | |
| Vector4f32 | ConvertToVector4f32 (const Vector2f64 &a, const Vector2f64 &b) | 
| Vector4f32 | ConvertToVector4f32 (const Vector2f64 &a) | 
| void | ConvertToVectors2f64 (const Vector4f32 &a, Vector2f64 &result1, Vector2f64 &result2) | 
| void | ConvertToVectors2f64 (const Vector4f64 &a, Vector2f64 &result1, Vector2f64 &result2) | 
| MAXON_ATTRIBUTE_FORCE_INLINE friend Vector2f64 | operator+ (const Vector2f64 &a, const Vector2f64 &b) | 
| MAXON_ATTRIBUTE_FORCE_INLINE friend Vector2f64 | operator* (const Vector2f64 &a, const Vector2f64 &b) | 
      
  | 
  default | 
Constructs the object. It does not set a default value.
      
  | 
  explicit | 
Constructs the object and sets all values to f0...f3.
| [in] | d0 | The value that is assigned to vector element 0. | 
| [in] | d1 | The value that is assigned to vector element 1. | 
      
  | 
  explicit | 
Constructs a vector from an address in the memory.
| [in] | p | The address where the vector is loaded from. | 
| [in] | aligned | Should be set to true, if p is known to be 16-byte aligned. | 
| MAXON_ATTRIBUTE_FORCE_INLINE void LoadUnaligned | ( | const Float64 * | p | ) | 
Loads a vector from an address in the memory.
| [in] | p | The address where the vector is loaded from. | 
| MAXON_ATTRIBUTE_FORCE_INLINE void LoadAligned | ( | const Float64 * | p | ) | 
Loads a vector from an address in the memory.
| [in] | p | The address where the vector is loaded from. It must be 16-byte aligned. | 
| MAXON_ATTRIBUTE_FORCE_INLINE void LoadSingle | ( | const double * | p | ) | 
Loads a single value from an address in the memory to the lower value of the vector. The upper part is set to zero.
| [in] | p | The address where the vector is loaded from. | 
      
  | 
  static | 
Shuffles the components of the input vectors. Note that the template arguments must be numeric constants and be either 0 or 1.
| [in] | a | Input vector A. | 
| ma1 | Decides which element of vector A becomes the new R0. | 
| mb1 | Decides which element of vector B becomes the new R0. | 
      
  | 
  friend | 
Converts two Vector2f64 to a Vector4f32 vector.
      
  | 
  friend | 
Converts one Vector2f64 to a Vector4f32 vector.
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
Adds two vectors.
| [in] | a | The first operand. | 
| [in] | b | The second operand. | 
      
  | 
  friend | 
Multiplies two vectors.
| [in] | a | The first operand. | 
| [in] | b | The second operand. | 
      
  | 
  protected |