Functions.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_INTRINSICS_FUNCTIONS_H_
36 #define _BLAZE_MATH_INTRINSICS_FUNCTIONS_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
56 
57 
58 namespace blaze {
59 
60 //=================================================================================================
61 //
62 // INTRINSIC DOT PRODUCT
63 //
64 //=================================================================================================
65 
66 //*************************************************************************************************
67 /*\brief Dot product of two vectors of single precision floating point values.
68 // \ingroup intrinsics
69 //
70 // \param a The left-hand side operand.
71 // \param b The right-hand side operand.
72 // \return The result of the dot product.
73 */
74 // #if BLAZE_SSE4_MODE
75 // inline float dot( sse_float_t a, sse_float_t b )
76 // {
77 // return _mm_cvtss_f32( _mm_dp_ps( a.value, b.value, 0xF1 ) );
78 // }
79 // #elif BLAZE_SSE2_MODE
80 // inline float dot( sse_float_t a, sse_float_t b )
81 // {
82 // float array[4];
83 // store( array, a * b );
84 // return array[0] + array[1] + array[2] + array[3];
85 // }
86 // #endif
87 //*************************************************************************************************
88 
89 
90 //*************************************************************************************************
91 /*\brief Dot product of two vectors of double precision floating point values.
92 // \ingroup intrinsics
93 //
94 // \param a The left-hand side operand.
95 // \param b The right-hand side operand.
96 // \return The result of the dot product.
97 */
98 // #if BLAZE_SSE4_MODE
99 // inline double dot( sse_double_t a, sse_double_t b )
100 // {
101 // return _mm_cvtsd_f64( _mm_dp_pd( a.value, b.value, 0xF1 ) );
102 // }
103 // #elif BLAZE_SSE2_MODE
104 // inline double dot( sse_double_t a, sse_double_t b )
105 // {
106 // double array[2];
107 // store( array, a * b );
108 // return array[0] + array[1];
109 // }
110 // #endif
111 //*************************************************************************************************
112 
113 } // namespace blaze
114 
115 #endif
Header file for the intrinsic stream functionality.
Header file for the intrinsic aligned load functionality.
Header file for the intrinisc subtraction functionality.
Header file for the intrinisc multiplication functionality.
Header file for the intrinisc abs functionality.
Header file for the intrinsic aligned store functionality.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the intrinsic unaligned store functionality.
Header file for the intrinsic set functionality.
Header file for the intrinisc setzero functionality.
Header file for the intrinisc reduction functionality.
Header file for the intrinisc addition functionality.
Header file for the intrinisc division functionality.
Header file for the intrinsic unaligned load functionality.