PandaRoot
PndFTSCADef.h File Reference
#include <iostream>
#include <Vc/Vc>
#include <Vc/limits>
#include "Rtypes.h"

Go to the source code of this file.

Classes

struct  float2
 

Macros

#define ASSERT(v, msg)
 
#define FTSCA_STATIC_ASSERT_CONCAT_HELPER(a, b)   a##b
 
#define FTSCA_STATIC_ASSERT_CONCAT(a, b)   FTSCA_STATIC_ASSERT_CONCAT_HELPER(a, b)
 
#define STATIC_ASSERT(cond, msg)
 
#define unrolled_loop4(_type_, _it_, _start_, _end_, _code_)
 
#define MAY_ALIAS
 
#define ISLIKELY(x)   (x)
 
#define ISUNLIKELY(x)   (x)
 

Functions

template<typename T >
int sign (T val)
 
template<typename T >
rcp (T val)
 

Macro Definition Documentation

◆ ASSERT

#define ASSERT (   v,
  msg 
)
Value:
if (v) { \
} else { \
std::cerr << __FILE__ << ":" << __LINE__ << " assertion failed: " << #v << " = " << (v) << "\n" << msg << std::endl; \
abort(); \
}
__m128 v
Definition: P4_F32vec4.h:3

Definition at line 63 of file PndFTSCADef.h.

◆ FTSCA_STATIC_ASSERT_CONCAT

#define FTSCA_STATIC_ASSERT_CONCAT (   a,
 
)    FTSCA_STATIC_ASSERT_CONCAT_HELPER(a, b)

Definition at line 87 of file PndFTSCADef.h.

◆ FTSCA_STATIC_ASSERT_CONCAT_HELPER

#define FTSCA_STATIC_ASSERT_CONCAT_HELPER (   a,
 
)    a##b

Definition at line 86 of file PndFTSCADef.h.

◆ ISLIKELY

#define ISLIKELY (   x)    (x)

Definition at line 162 of file PndFTSCADef.h.

◆ ISUNLIKELY

#define ISUNLIKELY (   x)    (x)

Definition at line 163 of file PndFTSCADef.h.

◆ MAY_ALIAS

#define MAY_ALIAS

Definition at line 155 of file PndFTSCADef.h.

◆ STATIC_ASSERT

#define STATIC_ASSERT (   cond,
  msg 
)
Value:
typedef FTSCA_STATIC_ASSERT_FAILURE<cond> FTSCA_STATIC_ASSERT_CONCAT(_STATIC_ASSERTION_FAILED_##msg, __LINE__); \
FTSCA_STATIC_ASSERT_CONCAT(_STATIC_ASSERTION_FAILED_##msg, __LINE__) Error_##msg; \
(void)Error_##msg
#define FTSCA_STATIC_ASSERT_CONCAT(a, b)
Definition: PndFTSCADef.h:87

Definition at line 88 of file PndFTSCADef.h.

◆ unrolled_loop4

#define unrolled_loop4 (   _type_,
  _it_,
  _start_,
  _end_,
  _code_ 
)
Value:
if (_start_ + 0 < _end_) { \
enum { _it_ = (_start_ + 0) < _end_ ? (_start_ + 0) : _start_ }; \
_code_ \
} \
if (_start_ + 1 < _end_) { \
enum { _it_ = (_start_ + 1) < _end_ ? (_start_ + 1) : _start_ }; \
_code_ \
} \
if (_start_ + 2 < _end_) { \
enum { _it_ = (_start_ + 2) < _end_ ? (_start_ + 2) : _start_ }; \
_code_ \
} \
if (_start_ + 3 < _end_) { \
enum { _it_ = (_start_ + 3) < _end_ ? (_start_ + 3) : _start_ }; \
_code_ \
} \
do { \
} while (false)

Definition at line 132 of file PndFTSCADef.h.

Function Documentation

◆ rcp()

template<typename T >
T rcp ( val)

Definition at line 55 of file PndFTSCADef.h.

Referenced by L1FieldRegion::Set().

56 {
57  return reciprocal(val);
58 }

◆ sign()

template<typename T >
int sign ( val)

Definitions needed for PndFTSCATracker

Definition at line 49 of file PndFTSCADef.h.

50 {
51  return (T(0) < val) - (val < T(0));
52 }