build: fix aarch64 build with aarch64-linux-gnu-g++-4.8

pull/7360/head
Alexander Alekhin 8 years ago
parent 6970469299
commit a9ab629f60
  1. 8
      modules/core/include/opencv2/core/cvdef.h
  2. 6
      modules/core/src/convert.cpp

@ -307,10 +307,16 @@ enum CpuFeatures {
#define CV_2PI 6.283185307179586476925286766559
#define CV_LOG2 0.69314718055994530941723212145818
#if defined (__ARM_FP16_FORMAT_IEEE)
# define CV_FP16_TYPE 1
#else
# define CV_FP16_TYPE 0
#endif
typedef union Cv16suf
{
short i;
#if ( defined (__arm__) || defined (__aarch64__) ) && !defined (__CUDACC__) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC_MINOR__ ) ) || ( 5 <= __GNUC__ ) ) )
#if CV_FP16_TYPE
__fp16 h;
#endif
struct _fp16Format

@ -4380,7 +4380,7 @@ struct Cvt_SIMD<float, int>
#endif
#if !( ( defined (__arm__) || defined (__aarch64__) ) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC_MINOR__ ) ) || ( 5 <= __GNUC__ ) ) ) )
#if !CV_FP16_TYPE
// const numbers for floating points format
const unsigned int kShiftSignificand = 13;
const unsigned int kMaskFp16Significand = 0x3ff;
@ -4388,7 +4388,7 @@ const unsigned int kBiasFp16Exponent = 15;
const unsigned int kBiasFp32Exponent = 127;
#endif
#if ( defined (__arm__) || defined (__aarch64__) ) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC_MINOR__ ) ) || ( 5 <= __GNUC__ ) ) )
#if CV_FP16_TYPE
static float convertFp16SW(short fp16)
{
// Fp16 -> Fp32
@ -4450,7 +4450,7 @@ static float convertFp16SW(short fp16)
}
#endif
#if ( defined (__arm__) || defined (__aarch64__) ) && ( defined (__GNUC__) && ( ( ( 4 <= __GNUC__ ) && ( 7 <= __GNUC_MINOR__ ) ) || ( 5 <= __GNUC__ ) ) )
#if CV_FP16_TYPE
static short convertFp16SW(float fp32)
{
// Fp32 -> Fp16

Loading…
Cancel
Save