24 using ::Vc::VectorAlignment;
 
   38 #if defined(FTSCA_STANDALONE) 
   39 typedef unsigned char UChar_t;
 
   40 typedef UChar_t Byte_t;
 
   49     return (
T(0) < val) - (val < 
T(0));
 
   53   return reciprocal(val);
 
   57 #define ASSERT(v, msg) 
   59 #define ASSERT(v, msg) \ 
   61   std::cerr << __FILE__ << ":" << __LINE__ << " assertion failed: " \ 
   62             << #v << " = " << (v) << "\n" << msg << std::endl; \ 
   74   template<
bool> 
struct FTSCA_STATIC_ASSERT_FAILURE;
 
   75   template<> 
struct FTSCA_STATIC_ASSERT_FAILURE<true> {};
 
   78 #define FTSCA_STATIC_ASSERT_CONCAT_HELPER(a, b) a##b 
   79 #define FTSCA_STATIC_ASSERT_CONCAT(a, b) FTSCA_STATIC_ASSERT_CONCAT_HELPER(a, b) 
   80 #define STATIC_ASSERT(cond, msg) \ 
   81   typedef FTSCA_STATIC_ASSERT_FAILURE<cond> FTSCA_STATIC_ASSERT_CONCAT(_STATIC_ASSERTION_FAILED_##msg, __LINE__); \ 
   82   FTSCA_STATIC_ASSERT_CONCAT(_STATIC_ASSERTION_FAILED_##msg, __LINE__) Error_##msg; \ 
   88   void UNUSED_PARAM1( 
const T1 & ) {}
 
   89   template<
typename T1, 
typename T2>
 
   90   void UNUSED_PARAM2( 
const T1 &, 
const T2 & ) {}
 
   91   template<
typename T1, 
typename T2, 
typename T3>
 
   92   void UNUSED_PARAM3( 
const T1 &, 
const T2 &, 
const T3 & ) {}
 
   93   template<
typename T1, 
typename T2, 
typename T3, 
typename T4>
 
   94   void UNUSED_PARAM4( 
const T1 &, 
const T2 &, 
const T3 &, 
const T4 & ) {}
 
   95   template<
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5>
 
   96   void UNUSED_PARAM5( 
const T1 &, 
const T2 &, 
const T3 &, 
const T4 &, 
const T5 & ) {}
 
   97   template<
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6>
 
   98   void UNUSED_PARAM6( 
const T1 &, 
const T2 &, 
const T3 &, 
const T4 &, 
const T5 &, 
const T6 & ) {}
 
   99   template<
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7>
 
  100   void UNUSED_PARAM7( 
const T1 &, 
const T2 &, 
const T3 &, 
const T4 &, 
const T5 &, 
const T6 &, 
const T7 & ) {}
 
  101   template<
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7, 
typename T8>
 
  102   void UNUSED_PARAM8( 
const T1 &, 
const T2 &, 
const T3 &, 
const T4 &, 
const T5 &, 
const T6 &, 
const T7 &, 
const T8 & ) {}
 
  103   template<
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
  104   void UNUSED_PARAM9( 
const T1 &, 
const T2 &, 
const T3 &, 
const T4 &, 
const T5 &, 
const T6 &, 
const T7 &, 
const T8 &, 
const T9 & ) {}
 
  107 #define unrolled_loop4( _type_, _it_, _start_, _end_, _code_ ) \ 
  108 if (_start_ +  0 < _end_) { enum { _it_ = (_start_ +  0) < _end_ ? (_start_ +  0) : _start_ }; _code_ } \ 
  109 if (_start_ +  1 < _end_) { enum { _it_ = (_start_ +  1) < _end_ ? (_start_ +  1) : _start_ }; _code_ } \ 
  110 if (_start_ +  2 < _end_) { enum { _it_ = (_start_ +  2) < _end_ ? (_start_ +  2) : _start_ }; _code_ } \ 
  111 if (_start_ +  3 < _end_) { enum { _it_ = (_start_ +  3) < _end_ ? (_start_ +  3) : _start_ }; _code_ } \ 
  112 do {} while ( false ) 
  115 #define MAY_ALIAS __attribute__((__may_alias__)) 
  120 #if defined( __GNUC__ ) && __GNUC__ - 0 >= 3 
  121 # define ISLIKELY(  x )    __builtin_expect( !!( x ),1 ) 
  122 # define ISUNLIKELY(  x )  __builtin_expect( !!( x ),0 ) 
  124 # define ISLIKELY(  x )   (  x ) 
  125 # define ISUNLIKELY(  x )  (  x ) 
Double_t val[nBoxes][nFEBox]