Eigen::internal::packet_traits< bfloat16 > Struct Reference

#include <PacketMath.h>

+ Inheritance diagram for Eigen::internal::packet_traits< bfloat16 >:

Public Types

enum  {
  Vectorizable = 1 , AlignedOnScalar = 1 , size = 8 , HasAdd = 1 ,
  HasSub = 1 , HasMul = 1 , HasDiv = 1 , HasMin = 1 ,
  HasMax = 1 , HasAbs = 1 , HasSin = EIGEN_FAST_MATH , HasCos = EIGEN_FAST_MATH ,
  HasLog = 1 , HasExp = 1 , HasSqrt = 0 , HasRsqrt = 0 ,
  HasTanh = 0 , HasErf = 0 , HasNegate = 1 , HasBlend = 1
}
 
enum  {
  Vectorizable = 1 , AlignedOnScalar = 1 , size = 8 , HasCmp = 1 ,
  HasAdd = 1 , HasSub = 1 , HasMul = 1 , HasDiv = 1 ,
  HasSin = EIGEN_FAST_MATH , HasCos = EIGEN_FAST_MATH , HasNegate = 1 , HasAbs = 1 ,
  HasAbs2 = 0 , HasMin = 1 , HasMax = 1 , HasConj = 1 ,
  HasSetLinear = 0 , HasLog = 1 , HasLog1p = 1 , HasExpm1 = 1 ,
  HasExp = 1 , HasSqrt = 0 , HasRsqrt = 0 , HasTanh = 0 ,
  HasErf = 0 , HasBlend = 1 , HasBessel = 1 , HasNdtri = 1
}
 
enum  {
  Vectorizable = 1 , AlignedOnScalar = 1 , size = 8 , HasBlend = 1 ,
  HasInsert = 1 , HasSin = EIGEN_FAST_MATH , HasCos = EIGEN_FAST_MATH , HasSqrt = 0 ,
  HasRsqrt = 0 , HasExp = 1 , HasTanh = 0 , HasErf = 0 ,
  HasCmp = 1 , HasDiv = 1
}
 
enum  {
  Vectorizable = 1 , AlignedOnScalar = 1 , size = 8 , HasCmp = 1 ,
  HasAdd = 1 , HasSub = 1 , HasShift = 1 , HasMul = 1 ,
  HasNegate = 1 , HasAbs = 1 , HasArg = 0 , HasAbs2 = 0 ,
  HasAbsDiff = 1 , HasMin = 1 , HasMax = 1 , HasConj = 1 ,
  HasSetLinear = 0 , HasBlend = 1 , HasDiv = 1 , HasSin = EIGEN_FAST_MATH ,
  HasCos = EIGEN_FAST_MATH , HasLog = 1 , HasExp = 1 , HasSqrt = 0 ,
  HasTanh = 0 , HasErf = 0 , HasBessel = 1 , HasNdtri = 1
}
 
typedef Packet8bf type
 
typedef Packet8bf half
 
typedef Packet8bf type
 
typedef Packet8bf half
 
typedef Packet16bf type
 
typedef Packet8bf half
 
typedef Packet4bf type
 
typedef Packet4bf half
 
- Public Types inherited from Eigen::internal::default_packet_traits
enum  {
  HasAdd = 1 , HasSub = 1 , HasShift = 1 , HasMul = 1 ,
  HasNegate = 1 , HasAbs = 1 , HasAbs2 = 1 , HasMin = 1 ,
  HasMax = 1 , HasConj = 1 , HasSetLinear = 1 , HasSign = 1 ,
  HasRound = 1 , HasArg = 0 , HasAbsDiff = 0 , HasBlend = 0 ,
  HasCmp = 0 , HasDiv = 0 , HasReciprocal = 0 , HasSqrt = 0 ,
  HasRsqrt = 0 , HasExp = 0 , HasExpm1 = 0 , HasLog = 0 ,
  HasLog1p = 0 , HasLog10 = 0 , HasPow = 0 , HasSin = 0 ,
  HasCos = 0 , HasTan = 0 , HasASin = 0 , HasACos = 0 ,
  HasATan = 0 , HasATanh = 0 , HasSinh = 0 , HasCosh = 0 ,
  HasTanh = 0 , HasLGamma = 0 , HasDiGamma = 0 , HasZeta = 0 ,
  HasPolygamma = 0 , HasErf = 0 , HasErfc = 0 , HasNdtri = 0 ,
  HasBessel = 0 , HasIGamma = 0 , HasIGammaDerA = 0 , HasGammaSampleDerAlpha = 0 ,
  HasIGammac = 0 , HasBetaInc = 0
}
 

Member Typedef Documentation

◆ half [1/4]

◆ half [2/4]

◆ half [3/4]

◆ half [4/4]

◆ type [1/4]

◆ type [2/4]

◆ type [3/4]

◆ type [4/4]

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Vectorizable 
AlignedOnScalar 
size 
HasBlend 
HasInsert 
HasSin 
HasCos 
HasSqrt 
HasRsqrt 
HasExp 
HasTanh 
HasErf 
HasCmp 
HasDiv 
2655  {
2656  Vectorizable = 1,
2657  AlignedOnScalar = 1,
2658  size = 16,
2659  HasBlend = 0,
2660  HasInsert = 1,
2663  HasSqrt = 1,
2664  HasRsqrt = 1,
2665 #ifdef EIGEN_VECTORIZE_AVX512DQ
2666  HasLog = 1, // Currently fails test with bad accuracy.
2667  HasLog1p = 1,
2668  HasExpm1 = 1,
2669  HasNdtri = 1,
2670  HasBessel = 1,
2671 #endif
2672  HasExp = 1,
2675  HasCmp = 1,
2676  HasDiv = 1
2677  };
#define EIGEN_FAST_MATH
Definition: Macros.h:51
@ HasRsqrt
Definition: AltiVec/PacketMath.h:236
@ HasInsert
Definition: AVX512/PacketMath.h:2660
@ HasExpm1
Definition: AVX/PacketMath.h:224
@ HasLog1p
Definition: AVX/PacketMath.h:223
@ HasSin
Definition: AltiVec/PacketMath.h:223
@ HasNdtri
Definition: AVX/PacketMath.h:232
@ Vectorizable
Definition: AltiVec/PacketMath.h:212
@ HasCmp
Definition: AVX/PacketMath.h:208
@ HasBessel
Definition: AVX/PacketMath.h:231
@ HasErf
Definition: AltiVec/PacketMath.h:239
@ HasBlend
Definition: AltiVec/PacketMath.h:241
@ HasSqrt
Definition: AltiVec/PacketMath.h:235
@ HasExp
Definition: AltiVec/PacketMath.h:226
@ AlignedOnScalar
Definition: AltiVec/PacketMath.h:213
@ HasLog
Definition: AltiVec/PacketMath.h:225
@ size
Definition: AltiVec/PacketMath.h:214
@ HasTanh
Definition: AltiVec/PacketMath.h:238
@ HasDiv
Definition: AltiVec/PacketMath.h:219
@ HasCos
Definition: AltiVec/PacketMath.h:224

◆ anonymous enum

anonymous enum
Enumerator
Vectorizable 
AlignedOnScalar 
size 
HasCmp 
HasAdd 
HasSub 
HasShift 
HasMul 
HasNegate 
HasAbs 
HasArg 
HasAbs2 
HasAbsDiff 
HasMin 
HasMax 
HasConj 
HasSetLinear 
HasBlend 
HasDiv 
HasSin 
HasCos 
HasLog 
HasExp 
HasSqrt 
HasTanh 
HasErf 
HasBessel 
HasNdtri 
4737  {
4738  Vectorizable = 1,
4739  AlignedOnScalar = 1,
4740  size = 4,
4741 
4742  HasCmp = 1,
4743  HasAdd = 1,
4744  HasSub = 1,
4745  HasShift = 1,
4746  HasMul = 1,
4747  HasNegate = 1,
4748  HasAbs = 1,
4749  HasArg = 0,
4750  HasAbs2 = 1,
4751  HasAbsDiff = 1,
4752  HasMin = 1,
4753  HasMax = 1,
4754  HasConj = 1,
4755  HasSetLinear = 1,
4756  HasBlend = 0,
4757  HasDiv = 1,
4760  HasLog = 1,
4761  HasExp = 1,
4762  HasSqrt = 0,
4765  HasBessel = 0, // Issues with accuracy.
4766  HasNdtri = 0
4767  };
@ HasMax
Definition: AltiVec/PacketMath.h:221
@ HasNegate
Definition: AltiVec/PacketMath.h:240
@ HasMul
Definition: AltiVec/PacketMath.h:218
@ HasAbs2
Definition: AVX/PacketMath.h:217
@ HasShift
Definition: NEON/PacketMath.h:4745
@ HasAbs
Definition: AltiVec/PacketMath.h:222
@ HasConj
Definition: AVX/PacketMath.h:220
@ HasAdd
Definition: AltiVec/PacketMath.h:216
@ HasMin
Definition: AltiVec/PacketMath.h:220
@ HasArg
Definition: NEON/PacketMath.h:4749
@ HasSetLinear
Definition: AVX/PacketMath.h:221
@ HasAbsDiff
Definition: NEON/PacketMath.h:4751
@ HasSub
Definition: AltiVec/PacketMath.h:217

◆ anonymous enum

anonymous enum
Enumerator
Vectorizable 
AlignedOnScalar 
size 
HasAdd 
HasSub 
HasMul 
HasDiv 
HasMin 
HasMax 
HasAbs 
HasSin 
HasCos 
HasLog 
HasExp 
HasSqrt 
HasRsqrt 
HasTanh 
HasErf 
HasNegate 
HasBlend 
211  {
212  Vectorizable = 1,
213  AlignedOnScalar = 1,
214  size = 8,
215 
216  HasAdd = 1,
217  HasSub = 1,
218  HasMul = 1,
219  HasDiv = 1,
220  HasMin = 1,
221  HasMax = 1,
222  HasAbs = 1,
225  HasLog = 1,
226  HasExp = 1,
227 #ifdef EIGEN_VECTORIZE_VSX
228  HasSqrt = 1,
229 #if !EIGEN_COMP_CLANG
230  HasRsqrt = 1,
231 #else
232  HasRsqrt = 0,
233 #endif
234 #else
235  HasSqrt = 0,
236  HasRsqrt = 0,
237 #endif
238  HasTanh = 0,
239  HasErf = 0,
240  HasNegate = 1,
241  HasBlend = 1
242  };

◆ anonymous enum

anonymous enum
Enumerator
Vectorizable 
AlignedOnScalar 
size 
HasCmp 
HasAdd 
HasSub 
HasMul 
HasDiv 
HasSin 
HasCos 
HasNegate 
HasAbs 
HasAbs2 
HasMin 
HasMax 
HasConj 
HasSetLinear 
HasLog 
HasLog1p 
HasExpm1 
HasExp 
HasSqrt 
HasRsqrt 
HasTanh 
HasErf 
HasBlend 
HasBessel 
HasNdtri 
203  {
204  Vectorizable = 1,
205  AlignedOnScalar = 1,
206  size = 8,
207 
208  HasCmp = 1,
209  HasAdd = 1,
210  HasSub = 1,
211  HasMul = 1,
212  HasDiv = 1,
215  HasNegate = 1,
216  HasAbs = 1,
217  HasAbs2 = 0,
218  HasMin = 1,
219  HasMax = 1,
220  HasConj = 1,
221  HasSetLinear = 0,
222  HasLog = 1,
223  HasLog1p = 1,
224  HasExpm1 = 1,
225  HasExp = 1,
226  HasSqrt = 1,
227  HasRsqrt = 1,
230  HasBlend = 0,
231  HasBessel = 1,
232  HasNdtri = 1
233  };

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