PintS  0.1
Portable Intrinsics for SIMD
 All Data Structures Files Functions Groups
Related Functions
v2d Struct Reference

Type for the manipulation of 2 double packed into one single vector. More...

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v2d v2d_load (const double *p)
 Loads 2 double from memory into a v2d vector. More...
 
v2d v2d_loadu (const double *p)
 Loads 2 double from memory into a v2d vector. More...
 
v2d v2d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v2d vector. More...
 
void v2d_store (double *p, v2d a)
 Stores a v2d vector into memory. More...
 
void v2d_storeu (double *p, v2d a)
 Stores a v2d vector into memory. More...
 
void v2d_store1 (double *p, v2d a)
 Stores the first element of a v2d vector into memory. More...
 
v2d v2d_set (double v0, double v1)
 Sets the elements of a v2d vector. More...
 
v2d v2d_rset (double v1, double v0)
 Sets the elements of a v2d vector (reverse order). More...
 
v2d v2d_set1 (double v)
 Broadcasts a single value into all elements of a v2d vector. More...
 
v2d v2d_zeros ()
 Sets all bits to 0. More...
 
v2d v2d_ones ()
 Sets all bits to 1. More...
 
v2d v2d_zero ()
 Sets all elements to 0. More...
 
v2d v2d_one ()
 Sets all elements to 1. More...
 
m2d m2d_eq (v2d a, v2d b)
 Compares the equality of the two input vectors. More...
 
m2d m2d_neq (v2d a, v2d b)
 Compares the inequality of the two input vectors. More...
 
m2d m2d_gt (v2d a, v2d b)
 Compares if elements of a are greater than those of b. More...
 
m2d m2d_geq (v2d a, v2d b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m2d m2d_lt (v2d a, v2d b)
 Compares if elements of a are less than those of b. More...
 
m2d m2d_leq (v2d a, v2d b)
 Compares if elements of a are less than or equal to those of b. More...
 
m2d m2d_and (m2d a, m2d b)
 Bitwise and ( a & b ) More...
 
m2d m2d_or (m2d a, m2d b)
 Bitwise or ( a | b ) More...
 
m2d m2d_xor (m2d a, m2d b)
 Bitwise xor ( a ^ b ) More...
 
m2d m2d_not (m2d a)
 Bitwise not ( ~a ) More...
 
m2d m2d_nand (m2d a, m2d b)
 Bitwise nand ( ~(a & b) ) More...
 
m2d m2d_nor (m2d a, m2d b)
 Bitwise nor ( ~(a | b) ) More...
 
m2d m2d_nxor (m2d a, m2d b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m2d m2d_andnot (m2d a, m2d b)
 Bitwise andnot ( a & ~b ) More...
 
m2d m2d_ornot (m2d a, m2d b)
 Bitwise ornot ( a | ~b ) More...
 
v2d v2d_eq (v2d a, v2d b)
 Compares the equality of the two input vectors. More...
 
v2d v2d_neq (v2d a, v2d b)
 Compares the inequality of the two input vectors. More...
 
v2d v2d_gt (v2d a, v2d b)
 Compares if elements of a are greater than those of b. More...
 
v2d v2d_geq (v2d a, v2d b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v2d v2d_lt (v2d a, v2d b)
 Compares if elements of a are less than those of b. More...
 
v2d v2d_leq (v2d a, v2d b)
 Compares if elements of a are less than or equal to those of b. More...
 
v2d v2d_and (v2d a, v2d b)
 Bitwise and ( a & b ) More...
 
v2d v2d_or (v2d a, v2d b)
 Bitwise or ( a | b ) More...
 
v2d v2d_xor (v2d a, v2d b)
 Bitwise xor ( a ^ b ) More...
 
v2d v2d_not (v2d a)
 Bitwise not ( ~a ) More...
 
v2d v2d_nand (v2d a, v2d b)
 Bitwise nand ( ~(a & b) ) More...
 
v2d v2d_nor (v2d a, v2d b)
 Bitwise nor ( ~(a | b) ) More...
 
v2d v2d_nxor (v2d a, v2d b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v2d v2d_andnot (v2d a, v2d b)
 Bitwise andnot ( a & ~b ) More...
 
v2d v2d_ornot (v2d a, v2d b)
 Bitwise ornot ( a | ~b ) More...
 
v2d v2d_add (v2d a, v2d b)
 Elementwise addition ( a + b ) More...
 
v2d v2d_sub (v2d a, v2d b)
 Elementwise subtraction ( a - b ) More...
 
v2d v2d_neg (v2d a)
 Elementwise negation ( -a ) More...
 
v2d v2d_min (v2d a, v2d b)
 Elementwise min ( a < b ? a : b ) More...
 
v2d v2d_max (v2d a, v2d b)
 Elementwise max ( a > b ? a : b ) More...
 
v2d v2d_abs (v2d a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v2d v2d_mul (v2d a, v2d b)
 Elementwise multiplication ( a * b ) More...
 
v2d v2d_div (v2d a, v2d b)
 Elementwise division ( a / b ) More...
 
v2d v2d_rcp (v2d a)
 Elementwise reciprocal ( 1 / a ) More...
 
v2d v2d_frcp (v2d a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v2d v2d_sqrt (v2d a)
 Elementwise square root ( sqrt(a) ) More...
 
v2d v2d_rsqrt (v2d a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v2d v2d_frsqrt (v2d a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v2d v2d_fmadd (v2d a, v2d b, v2d acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v2d v2d_fmsub (v2d a, v2d b, v2d acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v2d v2d_fnmadd (v2d a, v2d b, v2d acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v2d v2d_fnmsub (v2d a, v2d b, v2d acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v2d v2d_merge2_v1d (v1d a0, v1d a1)
 Merges 2 v1d vectors together. More...
 
v2d v2d_rmerge2_v1d (v1d a1, v1d a0)
 Merges 2 v1d vectors together (reverse order). More...
 
v2d v2d_merge_v1d (v1d low, v1d high)
 Merges 2 v1d vectors together. More...
 
v2d v2d_rmerge_v1d (v1d high, v1d low)
 Merges 2 v1d vectors together (reversed order). More...
 
v1d v1d_get_low_v2d (v2d a)
 Gets the low part of a v2d vector. More...
 
v1d v1d_get_high_v2d (v2d a)
 Gets the high part of a v2d vector. More...
 
v1d v1d_get_hilo_v2d (v2d a, int high)
 Conditionnaly gets the low or the high part of a v2d vector. More...
 
v2d v2d_set_low_v1d (v2d src, v1d low)
 Sets the low part of a v2d vector. More...
 
v2d v2d_set_high_v1d (v2d src, v1d high)
 Sets the high part of a v2d vector. More...
 
v2d v2d_set_hilo_v1d (v2d src, v1d a, int high)
 Conditionally sets the low or the high part of a v2d vector. More...
 
v2d v2d_blend1 (v2d a, v2d b, uint_fast8_t mask)
 Creates a new v2d vector whose elements are from a and b choosed by mask. More...
 
v2d v2d_blend2 (v2d a, v2d b, uint_fast8_t mask)
 Creates a new v2d vector whose elements are from a and b choosed by mask. More...
 
v2d v2d_blend1x2 (v2d a, v2d b, uint_fast8_t mask)
 Creates a new v2d vector whose elements are from a and b choosed by mask. More...
 
v2d v2d_blend2x1 (v2d a, v2d b, uint_fast8_t mask)
 Creates a new v2d vector whose elements are from a and b choosed by mask. More...
 
v2d v2d_blend (v2d a, v2d b, uint_fast8_t mask)
 Creates a new v2d vector whose elements are from a and b choosed by mask. More...
 
v2d v2d_hshuffle2 (v2d a, v2d b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v2d v2d_hshuffle2x1 (v2d a, v2d b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v2d v2d_permute2 (v2d a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v2d v2d_permute2x1 (v2d a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v2d v2d_fshuffle2 (v2d a, v2d b, uint_fast8_t rule, uint_fast8_t mask)
 Fully shuffles (outer) a and b using the control in rule, and blends them together using mask. More...
 
v2d v2d_fshuffle2x1 (v2d a, v2d b, uint_fast8_t rule, uint_fast8_t mask)
 Fully shuffles (inner) a and b using the control in rule, and blends them together using mask. More...
 
v2d v2d_hshuffle (v2d a, v2d b, uint_fast8_t rule)
 Shuffles a and b together using the control in rule. More...
 
v2d v2d_permute (v2d a, uint_fast8_t rule)
 Shuffles a using the control in rule. More...
 
v2d v2d_fshuffle (v2d a, v2d b, uint_fast8_t rule, uint_fast8_t mask)
 Fully shuffles (inner) a and b using the control in rule, and blends them together using mask. More...
 
v2d v2d_reduce_add (v2d a)
 Reduction add ( + ) More...
 
v2d v2d_reduce_add_v1d (v1d a)
 Reduction add ( + ) More...
 
v2d v2d_reduce_add_v2d (v2d a)
 Reduction add ( + ) More...
 
v2d v2d_reduce_add_v4d (v4d a)
 Reduction add ( + ) More...
 
v2d v2d_reduce_add_v8d (v8d a)
 Reduction add ( + ) More...
 
v2d sd_reduce_add_v2d (v2d a)
 Reduction add ( + ) More...
 
v2d v2d_reduce_mul (v2d a)
 Reduction mul ( * ) More...
 
v2d v2d_reduce_mul_v1d (v1d a)
 Reduction mul ( * ) More...
 
v2d v2d_reduce_mul_v2d (v2d a)
 Reduction mul ( * ) More...
 
v2d v2d_reduce_mul_v4d (v4d a)
 Reduction mul ( * ) More...
 
v2d v2d_reduce_mul_v8d (v8d a)
 Reduction mul ( * ) More...
 
v2d sd_reduce_mul_v2d (v2d a)
 Reduction mul ( * ) More...
 
v2d v2d_reduce_and (v2d a)
 Reduction and ( & ) More...
 
v2d v2d_reduce_and_v1d (v1d a)
 Reduction and ( & ) More...
 
v2d v2d_reduce_and_v2d (v2d a)
 Reduction and ( & ) More...
 
v2d v2d_reduce_and_v4d (v4d a)
 Reduction and ( & ) More...
 
v2d v2d_reduce_and_v8d (v8d a)
 Reduction and ( & ) More...
 
v2d sd_reduce_and_v2d (v2d a)
 Reduction and ( & ) More...
 
v2d v2d_reduce_or (v2d a)
 Reduction or ( | ) More...
 
v2d v2d_reduce_or_v1d (v1d a)
 Reduction or ( | ) More...
 
v2d v2d_reduce_or_v2d (v2d a)
 Reduction or ( | ) More...
 
v2d v2d_reduce_or_v4d (v4d a)
 Reduction or ( | ) More...
 
v2d v2d_reduce_or_v8d (v8d a)
 Reduction or ( | ) More...
 
v2d sd_reduce_or_v2d (v2d a)
 Reduction or ( | ) More...
 
v2d v2d_reduce_min (v2d a)
 Reduction min ( min ) More...
 
v2d v2d_reduce_min_v1d (v1d a)
 Reduction min ( min ) More...
 
v2d v2d_reduce_min_v2d (v2d a)
 Reduction min ( min ) More...
 
v2d v2d_reduce_min_v4d (v4d a)
 Reduction min ( min ) More...
 
v2d v2d_reduce_min_v8d (v8d a)
 Reduction min ( min ) More...
 
v2d sd_reduce_min_v2d (v2d a)
 Reduction min ( min ) More...
 
v2d v2d_reduce_max (v2d a)
 Reduction max ( max ) More...
 
v2d v2d_reduce_max_v1d (v1d a)
 Reduction max ( max ) More...
 
v2d v2d_reduce_max_v2d (v2d a)
 Reduction max ( max ) More...
 
v2d v2d_reduce_max_v4d (v4d a)
 Reduction max ( max ) More...
 
v2d v2d_reduce_max_v8d (v8d a)
 Reduction max ( max ) More...
 
v2d sd_reduce_max_v2d (v2d a)
 Reduction max ( max ) More...
 
v2d v2d_move (v2d a)
 Forwards the input. More...
 
v2d v2d_maskz_move (m2d mask, v2d a)
 Mask the input. More...
 
v2d v2d_mask_move (m2d mask, v2d src, v2d a)
 Mask the input. More...
 
void v2d_fprintf (FILE *file, v2d a, const char *format)
 Prints a v2d vector. More...
 
void v2d_printf (v2d a, const char *format)
 Prints a v2d vector. More...
 
void v2d_fprint (FILE *file, v2d a)
 Prints a v2d vector. More...
 
void v2d_print (v2d a)
 Prints a v2d vector. More...
 
void v2d_rfprintf (FILE *file, v2d a, const char *format)
 Prints a v2d vector (reversed order) More...
 
void v2d_rprintf (v2d a, const char *format)
 Prints a v2d vector (reversed order) More...
 
void v2d_rfprint (FILE *file, v2d a)
 Prints a v2d vector (reversed order) More...
 
void v2d_rprint (v2d a)
 Prints a v2d vector (reversed order) More...
 
v2d v2d_cast_v1d (v1d a)
 Casts a v1d vector into a v2d vector. More...
 
v2d v2d_cast_v1f (v1f a)
 Casts a v1f vector into a v2d vector. More...
 
v2d v2d_cast_v1i (v1i a)
 Casts a v1i vector into a v2d vector. More...
 
v2d v2d_cast_v1l (v1l a)
 Casts a v1l vector into a v2d vector. More...
 
v2d v2d_cast_v2d (v2d a)
 Casts a v2d vector into a v2d vector. More...
 
v2d v2d_cast_v2f (v2f a)
 Casts a v2f vector into a v2d vector. More...
 
v2d v2d_cast_v2i (v2i a)
 Casts a v2i vector into a v2d vector. More...
 
v2d v2d_cast_v2l (v2l a)
 Casts a v2l vector into a v2d vector. More...
 
v2d v2d_cast_v4d (v4d a)
 Casts a v4d vector into a v2d vector. More...
 
v2d v2d_cast_v4f (v4f a)
 Casts a v4f vector into a v2d vector. More...
 
v2d v2d_cast_v4i (v4i a)
 Casts a v4i vector into a v2d vector. More...
 
v2d v2d_cast_v4l (v4l a)
 Casts a v4l vector into a v2d vector. More...
 
v2d v2d_cast_v8d (v8d a)
 Casts a v8d vector into a v2d vector. More...
 
v2d v2d_cast_v8f (v8f a)
 Casts a v8f vector into a v2d vector. More...
 
v2d v2d_cast_v8i (v8i a)
 Casts a v8i vector into a v2d vector. More...
 
v2d v2d_cast_v8l (v8l a)
 Casts a v8l vector into a v2d vector. More...
 
v2d v2d_cast_v16f (v16f a)
 Casts a v16f vector into a v2d vector. More...
 
v2d v2d_cast_v16i (v16i a)
 Casts a v16i vector into a v2d vector. More...
 
m2d m2d_cast_v2d (v2d a)
 Casts a v2d vector into a m2d vector-mask. More...
 
v2d v2d_cast_m2d (m2d a)
 Casts a m2d vector-mask into a v2d vector. More...
 
v2d v2d_cvt_v1d (v1d a)
 Converts a v1d vector into a v2d vector. More...
 
v2d v2d_cvt_v1f (v1f a)
 Converts a v1f vector into a v2d vector. More...
 
v2d v2d_cvt_v1i (v1i a)
 Converts a v1i vector into a v2d vector. More...
 
v2d v2d_cvt_v1l (v1l a)
 Converts a v1l vector into a v2d vector. More...
 
v2d v2d_cvt_v2d (v2d a)
 Converts a v2d vector into a v2d vector. More...
 
v2d v2d_cvt_v2f (v2f a)
 Converts a v2f vector into a v2d vector. More...
 
v2d v2d_cvt_v2i (v2i a)
 Converts a v2i vector into a v2d vector. More...
 
v2d v2d_cvt_v2l (v2l a)
 Converts a v2l vector into a v2d vector. More...
 
v2d v2d_cvt_v4d (v4d a)
 Converts a v4d vector into a v2d vector. More...
 
v2d v2d_cvt_v4f (v4f a)
 Converts a v4f vector into a v2d vector. More...
 
v2d v2d_cvt_v4i (v4i a)
 Converts a v4i vector into a v2d vector. More...
 
v2d v2d_cvt_v4l (v4l a)
 Converts a v4l vector into a v2d vector. More...
 
v2d v2d_cvt_v8d (v8d a)
 Converts a v8d vector into a v2d vector. More...
 
v2d v2d_cvt_v8f (v8f a)
 Converts a v8f vector into a v2d vector. More...
 
v2d v2d_cvt_v8i (v8i a)
 Converts a v8i vector into a v2d vector. More...
 
v2d v2d_cvt_v8l (v8l a)
 Converts a v8l vector into a v2d vector. More...
 
v2d v2d_cvt_v16f (v16f a)
 Converts a v16f vector into a v2d vector. More...
 
v2d v2d_cvt_v16i (v16i a)
 Converts a v16i vector into a v2d vector. More...
 
m2d m2d_cvt_v2d (v2d a)
 Converts a v2d vector into a m2d vector-mask. More...
 
v2d v2d_cvt_m2d (m2d a)
 Converts a m2d vector-mask into a v2d vector. More...
 
m2d m2d_cvt_m2d (m2d a)
 Converts a m2d vector-mask into a m2d vector-mask. More...
 
m2d m2d_cvt_m2f (m2f a)
 Converts a m2f vector-mask into a m2d vector-mask. More...
 
m2d m2d_cvt_m2i (m2i a)
 Converts a m2i vector-mask into a m2d vector-mask. More...
 
m2d m2d_cvt_m2l (m2l a)
 Converts a m2l vector-mask into a m2d vector-mask. More...
 

Detailed Description

Type for the manipulation of 2 double packed into one single vector.

This structure does not actually exist. Depending on the target architecture, it can be:

Sizes of this vector:

Attention
This definition does not correspond to any actual implementation and should never be used directly. Use PintS functions instead.
The actual implementation depends on the target architecture.

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