IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
sin.h
Go to the documentation of this file.
1 // sin.h:
3 // -----------------
4 //
17 
18 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_SIN_H__
19 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_SIN_H__
20 
22 
26 
27 namespace ipsdk {
28 namespace simd {
29 
32 
33 template <eInstructionSet::domain instructionSet,
34  eInstructionSet::domain instructionSetFma,
35  class PackT>
36 IPSDK_FORCEINLINE
37 PackT
38 sin(const PackT& in)
39 {
40  typedef typename PackT::DataType T;
41  return detail::SinPack<instructionSet, instructionSetFma, T>::act(in);
42 }
43 
44 template <eInstructionSet::domain instructionSet,
45  eInstructionSet::domain instructionSetFma,
46  class PackT>
47 IPSDK_FORCEINLINE
48 void
49 sin(const PackT& in, PackT& out)
50 {
51  typedef typename PackT::DataType T;
52  detail::SinPack<instructionSet, instructionSetFma, T>::act(in, out);
53 }
54 
57 
58 } // end of namespace simd
59 } // end of namespace ipsdk
60 
61 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_SIN_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
SinPack<eInstructionSet::domain instructionSet, typename TIn, typename Enable=void> structure...
defines template structures PromotedType<T1, T2> and PromotedType3<T1, T2, T3>; their attribute Type ...
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58
Definition of import/export macro for library.