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

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

#include <pints-doc.h>

Related Functions

(Note that these are not member functions.)

v4d v4d_load (const double *p)
 Loads 4 double from memory into a v4d vector. More...
 
v4d v4d_loadu (const double *p)
 Loads 4 double from memory into a v4d vector. More...
 
v4d v4d_load1 (const double *p)
 Loads 1 double from memory and broadcasts it into a v4d vector. More...
 
void v4d_store (double *p, v4d a)
 Stores a v4d vector into memory. More...
 
void v4d_storeu (double *p, v4d a)
 Stores a v4d vector into memory. More...
 
void v4d_store1 (double *p, v4d a)
 Stores the first element of a v4d vector into memory. More...
 
v4d v4d_set (double v0, double v1, double v2, double v3)
 Sets the elements of a v4d vector. More...
 
v4d v4d_rset (double v3, double v2, double v1, double v0)
 Sets the elements of a v4d vector (reverse order). More...
 
v4d v4d_set1 (double v)
 Broadcasts a single value into all elements of a v4d vector. More...
 
v4d v4d_zeros ()
 Sets all bits to 0. More...
 
v4d v4d_ones ()
 Sets all bits to 1. More...
 
v4d v4d_zero ()
 Sets all elements to 0. More...
 
v4d v4d_one ()
 Sets all elements to 1. More...
 
m4d m4d_eq (v4d a, v4d b)
 Compares the equality of the two input vectors. More...
 
m4d m4d_neq (v4d a, v4d b)
 Compares the inequality of the two input vectors. More...
 
m4d m4d_gt (v4d a, v4d b)
 Compares if elements of a are greater than those of b. More...
 
m4d m4d_geq (v4d a, v4d b)
 Compares if elements of a are greater than or equal to those of b. More...
 
m4d m4d_lt (v4d a, v4d b)
 Compares if elements of a are less than those of b. More...
 
m4d m4d_leq (v4d a, v4d b)
 Compares if elements of a are less than or equal to those of b. More...
 
m4d m4d_and (m4d a, m4d b)
 Bitwise and ( a & b ) More...
 
m4d m4d_or (m4d a, m4d b)
 Bitwise or ( a | b ) More...
 
m4d m4d_xor (m4d a, m4d b)
 Bitwise xor ( a ^ b ) More...
 
m4d m4d_not (m4d a)
 Bitwise not ( ~a ) More...
 
m4d m4d_nand (m4d a, m4d b)
 Bitwise nand ( ~(a & b) ) More...
 
m4d m4d_nor (m4d a, m4d b)
 Bitwise nor ( ~(a | b) ) More...
 
m4d m4d_nxor (m4d a, m4d b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
m4d m4d_andnot (m4d a, m4d b)
 Bitwise andnot ( a & ~b ) More...
 
m4d m4d_ornot (m4d a, m4d b)
 Bitwise ornot ( a | ~b ) More...
 
v4d v4d_eq (v4d a, v4d b)
 Compares the equality of the two input vectors. More...
 
v4d v4d_neq (v4d a, v4d b)
 Compares the inequality of the two input vectors. More...
 
v4d v4d_gt (v4d a, v4d b)
 Compares if elements of a are greater than those of b. More...
 
v4d v4d_geq (v4d a, v4d b)
 Compares if elements of a are greater than or equal to those of b. More...
 
v4d v4d_lt (v4d a, v4d b)
 Compares if elements of a are less than those of b. More...
 
v4d v4d_leq (v4d a, v4d b)
 Compares if elements of a are less than or equal to those of b. More...
 
v4d v4d_and (v4d a, v4d b)
 Bitwise and ( a & b ) More...
 
v4d v4d_or (v4d a, v4d b)
 Bitwise or ( a | b ) More...
 
v4d v4d_xor (v4d a, v4d b)
 Bitwise xor ( a ^ b ) More...
 
v4d v4d_not (v4d a)
 Bitwise not ( ~a ) More...
 
v4d v4d_nand (v4d a, v4d b)
 Bitwise nand ( ~(a & b) ) More...
 
v4d v4d_nor (v4d a, v4d b)
 Bitwise nor ( ~(a | b) ) More...
 
v4d v4d_nxor (v4d a, v4d b)
 Bitwise nxor ( ~(a ^ b) ) More...
 
v4d v4d_andnot (v4d a, v4d b)
 Bitwise andnot ( a & ~b ) More...
 
v4d v4d_ornot (v4d a, v4d b)
 Bitwise ornot ( a | ~b ) More...
 
v4d v4d_add (v4d a, v4d b)
 Elementwise addition ( a + b ) More...
 
v4d v4d_sub (v4d a, v4d b)
 Elementwise subtraction ( a - b ) More...
 
v4d v4d_neg (v4d a)
 Elementwise negation ( -a ) More...
 
v4d v4d_min (v4d a, v4d b)
 Elementwise min ( a < b ? a : b ) More...
 
v4d v4d_max (v4d a, v4d b)
 Elementwise max ( a > b ? a : b ) More...
 
v4d v4d_abs (v4d a)
 Elementwise absolute value ( a > 0 ? a : -a ) More...
 
v4d v4d_mul (v4d a, v4d b)
 Elementwise multiplication ( a * b ) More...
 
v4d v4d_div (v4d a, v4d b)
 Elementwise division ( a / b ) More...
 
v4d v4d_rcp (v4d a)
 Elementwise reciprocal ( 1 / a ) More...
 
v4d v4d_frcp (v4d a)
 Fast elementwise reciprocal ( 1 / a ) More...
 
v4d v4d_sqrt (v4d a)
 Elementwise square root ( sqrt(a) ) More...
 
v4d v4d_rsqrt (v4d a)
 Elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v4d v4d_frsqrt (v4d a)
 Fast elementwise square root reciprocal ( 1 / sqrt(a) ) More...
 
v4d v4d_fmadd (v4d a, v4d b, v4d acc)
 Fused Multiply-Add ( (a * b) + acc ) More...
 
v4d v4d_fmsub (v4d a, v4d b, v4d acc)
 Fused Multiply-Sub ( (a * b) - acc ) More...
 
v4d v4d_fnmadd (v4d a, v4d b, v4d acc)
 Fused Multiply-Add ( -(a * b) + acc ) More...
 
v4d v4d_fnmsub (v4d a, v4d b, v4d acc)
 Fused Multiply-Add ( -(a * b) - acc ) More...
 
v4d v4d_merge2_v2d (v2d a0, v2d a1)
 Merges 2 v2d vectors together. More...
 
v4d v4d_merge4_v1d (v1d a0, v1d a1, v1d a2, v1d a3)
 Merges 4 v1d vectors together. More...
 
v4d v4d_rmerge2_v2d (v2d a1, v2d a0)
 Merges 2 v2d vectors together (reverse order). More...
 
v4d v4d_rmerge4_v1d (v1d a3, v1d a2, v1d a1, v1d a0)
 Merges 4 v1d vectors together (reverse order). More...
 
v4d v4d_merge_v2d (v2d low, v2d high)
 Merges 2 v2d vectors together. More...
 
v4d v4d_rmerge_v2d (v2d high, v2d low)
 Merges 2 v2d vectors together (reversed order). More...
 
v2d v2d_get_low_v4d (v4d a)
 Gets the low part of a v4d vector. More...
 
v2d v2d_get_high_v4d (v4d a)
 Gets the high part of a v4d vector. More...
 
v2d v2d_get_hilo_v4d (v4d a, int high)
 Conditionnaly gets the low or the high part of a v4d vector. More...
 
v4d v4d_set_low_v2d (v4d src, v2d low)
 Sets the low part of a v4d vector. More...
 
v4d v4d_set_high_v2d (v4d src, v2d high)
 Sets the high part of a v4d vector. More...
 
v4d v4d_set_hilo_v2d (v4d src, v2d a, int high)
 Conditionally sets the low or the high part of a v4d vector. More...
 
v4d v4d_blend1 (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_blend2 (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_blend4 (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_blend1x4 (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_blend2x2 (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_blend4x1 (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_blend (v4d a, v4d b, uint_fast8_t mask)
 Creates a new v4d vector whose elements are from a and b choosed by mask. More...
 
v4d v4d_hshuffle2 (v4d a, v4d b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v4d v4d_hshuffle4 (v4d a, v4d b, uint_fast8_t rule)
 Shuffles (outer) a and b together using the control in rule. More...
 
v4d v4d_hshuffle2x2 (v4d a, v4d b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v4d v4d_hshuffle4x1 (v4d a, v4d b, uint_fast8_t rule)
 Shuffles (inner) a and b together using the control in rule. More...
 
v4d v4d_permute2 (v4d a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v4d v4d_permute4 (v4d a, uint_fast8_t rule)
 Shuffles (outer) a using the control in rule. More...
 
v4d v4d_permute2x2 (v4d a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v4d v4d_permute4x1 (v4d a, uint_fast8_t rule)
 Shuffles (inner) a using the control in rule. More...
 
v4d v4d_fshuffle2 (v4d a, v4d 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...
 
v4d v4d_fshuffle4 (v4d a, v4d 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...
 
v4d v4d_fshuffle2x2 (v4d a, v4d 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...
 
v4d v4d_fshuffle4x1 (v4d a, v4d 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...
 
v4d v4d_hshuffle (v4d a, v4d b, uint_fast8_t rule)
 Shuffles a and b together using the control in rule. More...
 
v4d v4d_permute (v4d a, uint_fast8_t rule)
 Shuffles a using the control in rule. More...
 
v4d v4d_fshuffle (v4d a, v4d 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...
 
v4d v4d_reduce_add (v4d a)
 Reduction add ( + ) More...
 
v4d v4d_reduce_add_v1d (v1d a)
 Reduction add ( + ) More...
 
v4d v4d_reduce_add_v2d (v2d a)
 Reduction add ( + ) More...
 
v4d v4d_reduce_add_v4d (v4d a)
 Reduction add ( + ) More...
 
v4d v4d_reduce_add_v8d (v8d a)
 Reduction add ( + ) More...
 
v4d sd_reduce_add_v4d (v4d a)
 Reduction add ( + ) More...
 
v4d v4d_reduce_mul (v4d a)
 Reduction mul ( * ) More...
 
v4d v4d_reduce_mul_v1d (v1d a)
 Reduction mul ( * ) More...
 
v4d v4d_reduce_mul_v2d (v2d a)
 Reduction mul ( * ) More...
 
v4d v4d_reduce_mul_v4d (v4d a)
 Reduction mul ( * ) More...
 
v4d v4d_reduce_mul_v8d (v8d a)
 Reduction mul ( * ) More...
 
v4d sd_reduce_mul_v4d (v4d a)
 Reduction mul ( * ) More...
 
v4d v4d_reduce_and (v4d a)
 Reduction and ( & ) More...
 
v4d v4d_reduce_and_v1d (v1d a)
 Reduction and ( & ) More...
 
v4d v4d_reduce_and_v2d (v2d a)
 Reduction and ( & ) More...
 
v4d v4d_reduce_and_v4d (v4d a)
 Reduction and ( & ) More...
 
v4d v4d_reduce_and_v8d (v8d a)
 Reduction and ( & ) More...
 
v4d sd_reduce_and_v4d (v4d a)
 Reduction and ( & ) More...
 
v4d v4d_reduce_or (v4d a)
 Reduction or ( | ) More...
 
v4d v4d_reduce_or_v1d (v1d a)
 Reduction or ( | ) More...
 
v4d v4d_reduce_or_v2d (v2d a)
 Reduction or ( | ) More...
 
v4d v4d_reduce_or_v4d (v4d a)
 Reduction or ( | ) More...
 
v4d v4d_reduce_or_v8d (v8d a)
 Reduction or ( | ) More...
 
v4d sd_reduce_or_v4d (v4d a)
 Reduction or ( | ) More...
 
v4d v4d_reduce_min (v4d a)
 Reduction min ( min ) More...
 
v4d v4d_reduce_min_v1d (v1d a)
 Reduction min ( min ) More...
 
v4d v4d_reduce_min_v2d (v2d a)
 Reduction min ( min ) More...
 
v4d v4d_reduce_min_v4d (v4d a)
 Reduction min ( min ) More...
 
v4d v4d_reduce_min_v8d (v8d a)
 Reduction min ( min ) More...
 
v4d sd_reduce_min_v4d (v4d a)
 Reduction min ( min ) More...
 
v4d v4d_reduce_max (v4d a)
 Reduction max ( max ) More...
 
v4d v4d_reduce_max_v1d (v1d a)
 Reduction max ( max ) More...
 
v4d v4d_reduce_max_v2d (v2d a)
 Reduction max ( max ) More...
 
v4d v4d_reduce_max_v4d (v4d a)
 Reduction max ( max ) More...
 
v4d v4d_reduce_max_v8d (v8d a)
 Reduction max ( max ) More...
 
v4d sd_reduce_max_v4d (v4d a)
 Reduction max ( max ) More...
 
v4d v4d_move (v4d a)
 Forwards the input. More...
 
v4d v4d_maskz_move (m4d mask, v4d a)
 Mask the input. More...
 
v4d v4d_mask_move (m4d mask, v4d src, v4d a)
 Mask the input. More...
 
void v4d_fprintf (FILE *file, v4d a, const char *format)
 Prints a v4d vector. More...
 
void v4d_printf (v4d a, const char *format)
 Prints a v4d vector. More...
 
void v4d_fprint (FILE *file, v4d a)
 Prints a v4d vector. More...
 
void v4d_print (v4d a)
 Prints a v4d vector. More...
 
void v4d_rfprintf (FILE *file, v4d a, const char *format)
 Prints a v4d vector (reversed order) More...
 
void v4d_rprintf (v4d a, const char *format)
 Prints a v4d vector (reversed order) More...
 
void v4d_rfprint (FILE *file, v4d a)
 Prints a v4d vector (reversed order) More...
 
void v4d_rprint (v4d a)
 Prints a v4d vector (reversed order) More...
 
v4d v4d_cast_v1d (v1d a)
 Casts a v1d vector into a v4d vector. More...
 
v4d v4d_cast_v1f (v1f a)
 Casts a v1f vector into a v4d vector. More...
 
v4d v4d_cast_v1i (v1i a)
 Casts a v1i vector into a v4d vector. More...
 
v4d v4d_cast_v1l (v1l a)
 Casts a v1l vector into a v4d vector. More...
 
v4d v4d_cast_v2d (v2d a)
 Casts a v2d vector into a v4d vector. More...
 
v4d v4d_cast_v2f (v2f a)
 Casts a v2f vector into a v4d vector. More...
 
v4d v4d_cast_v2i (v2i a)
 Casts a v2i vector into a v4d vector. More...
 
v4d v4d_cast_v2l (v2l a)
 Casts a v2l vector into a v4d vector. More...
 
v4d v4d_cast_v4d (v4d a)
 Casts a v4d vector into a v4d vector. More...
 
v4d v4d_cast_v4f (v4f a)
 Casts a v4f vector into a v4d vector. More...
 
v4d v4d_cast_v4i (v4i a)
 Casts a v4i vector into a v4d vector. More...
 
v4d v4d_cast_v4l (v4l a)
 Casts a v4l vector into a v4d vector. More...
 
v4d v4d_cast_v8d (v8d a)
 Casts a v8d vector into a v4d vector. More...
 
v4d v4d_cast_v8f (v8f a)
 Casts a v8f vector into a v4d vector. More...
 
v4d v4d_cast_v8i (v8i a)
 Casts a v8i vector into a v4d vector. More...
 
v4d v4d_cast_v8l (v8l a)
 Casts a v8l vector into a v4d vector. More...
 
v4d v4d_cast_v16f (v16f a)
 Casts a v16f vector into a v4d vector. More...
 
v4d v4d_cast_v16i (v16i a)
 Casts a v16i vector into a v4d vector. More...
 
m4d m4d_cast_v4d (v4d a)
 Casts a v4d vector into a m4d vector-mask. More...
 
v4d v4d_cast_m4d (m4d a)
 Casts a m4d vector-mask into a v4d vector. More...
 
v4d v4d_cvt_v1d (v1d a)
 Converts a v1d vector into a v4d vector. More...
 
v4d v4d_cvt_v1f (v1f a)
 Converts a v1f vector into a v4d vector. More...
 
v4d v4d_cvt_v1i (v1i a)
 Converts a v1i vector into a v4d vector. More...
 
v4d v4d_cvt_v1l (v1l a)
 Converts a v1l vector into a v4d vector. More...
 
v4d v4d_cvt_v2d (v2d a)
 Converts a v2d vector into a v4d vector. More...
 
v4d v4d_cvt_v2f (v2f a)
 Converts a v2f vector into a v4d vector. More...
 
v4d v4d_cvt_v2i (v2i a)
 Converts a v2i vector into a v4d vector. More...
 
v4d v4d_cvt_v2l (v2l a)
 Converts a v2l vector into a v4d vector. More...
 
v4d v4d_cvt_v4d (v4d a)
 Converts a v4d vector into a v4d vector. More...
 
v4d v4d_cvt_v4f (v4f a)
 Converts a v4f vector into a v4d vector. More...
 
v4d v4d_cvt_v4i (v4i a)
 Converts a v4i vector into a v4d vector. More...
 
v4d v4d_cvt_v4l (v4l a)
 Converts a v4l vector into a v4d vector. More...
 
v4d v4d_cvt_v8d (v8d a)
 Converts a v8d vector into a v4d vector. More...
 
v4d v4d_cvt_v8f (v8f a)
 Converts a v8f vector into a v4d vector. More...
 
v4d v4d_cvt_v8i (v8i a)
 Converts a v8i vector into a v4d vector. More...
 
v4d v4d_cvt_v8l (v8l a)
 Converts a v8l vector into a v4d vector. More...
 
v4d v4d_cvt_v16f (v16f a)
 Converts a v16f vector into a v4d vector. More...
 
v4d v4d_cvt_v16i (v16i a)
 Converts a v16i vector into a v4d vector. More...
 
m4d m4d_cvt_v4d (v4d a)
 Converts a v4d vector into a m4d vector-mask. More...
 
v4d v4d_cvt_m4d (m4d a)
 Converts a m4d vector-mask into a v4d vector. More...
 
m4d m4d_cvt_m4d (m4d a)
 Converts a m4d vector-mask into a m4d vector-mask. More...
 
m4d m4d_cvt_m4f (m4f a)
 Converts a m4f vector-mask into a m4d vector-mask. More...
 
m4d m4d_cvt_m4i (m4i a)
 Converts a m4i vector-mask into a m4d vector-mask. More...
 
m4d m4d_cvt_m4l (m4l a)
 Converts a m4l vector-mask into a m4d vector-mask. More...
 

Detailed Description

Type for the manipulation of 4 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: