Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
blaze
math
intrinsics
Functions.h
Go to the documentation of this file.
1
//=================================================================================================
20
//=================================================================================================
21
22
#ifndef _BLAZE_MATH_INTRINSICS_FUNCTIONS_H_
23
#define _BLAZE_MATH_INTRINSICS_FUNCTIONS_H_
24
25
26
//*************************************************************************************************
27
// Includes
28
//*************************************************************************************************
29
30
#include <
blaze/math/intrinsics/Addition.h
>
31
#include <
blaze/math/intrinsics/Division.h
>
32
#include <
blaze/math/intrinsics/Load.h
>
33
#include <
blaze/math/intrinsics/Multiplication.h
>
34
#include <
blaze/math/intrinsics/Reduction.h
>
35
#include <
blaze/math/intrinsics/Set.h
>
36
#include <
blaze/math/intrinsics/Setzero.h
>
37
#include <
blaze/math/intrinsics/Store.h
>
38
#include <
blaze/math/intrinsics/Stream.h
>
39
#include <
blaze/math/intrinsics/Subtraction.h
>
40
41
42
namespace
blaze {
43
44
//=================================================================================================
45
//
46
// INTRINSIC DOT PRODUCT
47
//
48
//=================================================================================================
49
50
//*************************************************************************************************
51
/*\brief Dot product of two vectors of single precision floating point values.
52
// \ingroup intrinsics
53
//
54
// \param a The left-hand side operand.
55
// \param b The right-hand side operand.
56
// \return The result of the dot product.
57
*/
58
// #if BLAZE_SSE4_MODE
59
// inline float dot( sse_float_t a, sse_float_t b )
60
// {
61
// return _mm_cvtss_f32( _mm_dp_ps( a.value, b.value, 0xF1 ) );
62
// }
63
// #elif BLAZE_SSE2_MODE
64
// inline float dot( sse_float_t a, sse_float_t b )
65
// {
66
// float array[4];
67
// store( array, a * b );
68
// return array[0] + array[1] + array[2] + array[3];
69
// }
70
// #endif
71
//*************************************************************************************************
72
73
74
//*************************************************************************************************
75
/*\brief Dot product of two vectors of double precision floating point values.
76
// \ingroup intrinsics
77
//
78
// \param a The left-hand side operand.
79
// \param b The right-hand side operand.
80
// \return The result of the dot product.
81
*/
82
// #if BLAZE_SSE4_MODE
83
// inline double dot( sse_double_t a, sse_double_t b )
84
// {
85
// return _mm_cvtsd_f64( _mm_dp_pd( a.value, b.value, 0xF1 ) );
86
// }
87
// #elif BLAZE_SSE2_MODE
88
// inline double dot( sse_double_t a, sse_double_t b )
89
// {
90
// double array[2];
91
// store( array, a * b );
92
// return array[0] + array[1];
93
// }
94
// #endif
95
//*************************************************************************************************
96
97
}
// namespace blaze
98
99
#endif
Generated on Sun Jul 28 2013 17:06:06 by
1.8.3.1