libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
PointBlock16f Struct Reference

Detailed Description

Block of 16 points.

Used for the vectorization of geometric algorithms.

See Also
double2, double4, double8, float8, float16

#include <pointblock.h>

Collaboration diagram for PointBlock16f:
[legend]

Public Member Functions

 PointBlock16f ()=default
 undefined block
 
 PointBlock16f (const PointBlock16f &a)=default
 copy construct
 
 PointBlock16f (float a)
 broadcast single value to all values
 
 PointBlock16f (const float16 &x, const float16 &y, const float16 &z)
 initialize from SIMD values
 
PointBlock16foperator= (const PointBlock16f &a)=default
 copy assignment
 
void load (const float *x)
 load aligned array containing [x,y,z] in sequence
 
void load (const float *x, const float *y, const float *z)
 load aligned arrays
 
void store (float *x) const
 store to aligned arrays containing [x,y,z] in sequence
 
void store (float *x, float *y, float *z) const
 store to aligned arrays
 
force_inline void shuffleIn (const float *p) attr_always_inline
 shuffle in from (x,y,z,x,y,z...) storage
 
force_inline void shuffleOut (float *p) attr_always_inline
 shuffle out to (x,y,z,x,y,z...) storage
 
PointBlock16foperator+= (const PointBlock16f &a)
 add-assign
 
PointBlock16foperator-= (const PointBlock16f &a)
 substract-assign
 
PointBlock16foperator*= (float a)
 scale by scalar
 
PointBlock16foperator*= (const float16 &f)
 scale by vector
 
float16 normalize ()
 normalize all points, return lengths
 
PointBlock16frescale (const float16 &a)
 make lengths equal to a
 
PointBlock16f normalized () const
 normalize all points
 

Static Public Member Functions

static Vct3f center (const PointList3f &pts)
 compute center of a pointlist using blocked SIMD operations
 
static void distances (const PointList3f &pts, const Vct3f &c, DVector< float > &dst)
 compute distance from c for all points in pts
 

Public Attributes

float16 xc
 48 coordinate values
 

The documentation for this struct was generated from the following file: