Merge pull request #505 from timblechmann/topic/unused_parameter_fixes

boost.simd: avoid warning of unused parameter
Fix #504 - Moving ge around in expo_base
adding scalar version of some polynom functors
forgotten parenthesis in balance.cpp
simd cover for base.operator
Fix bad usage of aligned_load on unaligned data in to(u)ints tests
scalar cover update for base/predicates
simd cover update for base/predicates
updating unit tests in statistics
fixing band for scalars and updating unit tests
moving scalar extrative where they belong and updating unit tests
fixing ulps in some statistics unit tests
extractive scalar without value_as now need unspecified_ to cope with complex
polishing funm, expm, logm and mpower
Fix band tests
Sanitize band(x,m,n) to behave as stated
Fix scalar whereij and tests
Fix #477 - Reimplement splatted/non-splatted reduction properly

- Added generic all_reduce function and tests:
  all_reduce implements a butterfly reduction/broadcast algorithm
  using shuffle and any generic binary operator. This can be done
  generically on all SIMD extensions. In emulation mode, we still
  go by a recursive fold over vector elements to limit the number
  of useless MOVs. AVX use a specific implementation relying on
  _mm256_permute for 32 and 64 bits types.

- Fixed sum/splatted_sum and tests:
  (S)SSE3 version have been removed as it was suboptimal.
  Reported benchmark goes from 2.8 to 1.9 cycles/points.

- Fixed prod,minimum,maximum and splatted_ functions and tests:
  All are implemented as a call to all_reduce + a value extraction.

- Fixed reduction/all_reduction for complex and dry:
  dry support is only required explicitly as complex is now catched
  automatically by the common SIMD version. dry version use a back
  and forth bitwise-cast implementation.

- Removed useless files

Next to this and to have all_reduce working in all cases, the following changes
impact shuffle:
- Added support for complex shuffle by simply shuffling real and imaginary parts.
- Added support for logical shuffle by bitwise_casting back and forth.
- Fixed shuffle on SSSE3 for real to use normal SSE2 shuffle for performance reasons

Finally, some files in core/ have  been amended because they lacked either some
include paths or explicit qualification on 4.4.
restoring good constants definition for nan inf minf
and fixing unit for #179 in core/euler
Merge pull request #506 from MetaScale/issue_477

Reimplement splatted/non-splatted reduction properly

- Added generic all_reduce function and tests:
  all_reduce implements a butterfly reduction/broadcast algorithm
  using shuffle and any generic binary operator. This can be done
  generically on all SIMD extensions. In emulation mode, we still
  go by a recursive fold over vector elements to limit the number
  of useless MOVs. AVX use a specific implementation relying on
  _mm256_permute for 32 and 64 bits types.

- Fixed sum/splatted_sum and tests:
  (S)SSE3 version have been removed as it was suboptimal.
  Reported benchmark goes from 2.8 to 1.9 cycles/points.

- Fixed prod,minimum,maximum and splatted_ functions and tests:
  All are implemented as a call to all_reduce + a value extraction.

- Fixed reduction/all_reduction for complex and dry:
  dry support is only required explicitly as complex is now catched
  automatically by the common SIMD version. dry version use a back
  and forth bitwise-cast implementation.

- Removed useless files

Next to this and to have all_reduce working in all cases, the following changes
impact shuffle:
- Added support for complex shuffle by simply shuffling real and imaginary parts.
- Added support for logical shuffle by bitwise_casting back and forth.
- Fixed shuffle on SSSE3 for real to use normal SSE2 shuffle for performance reasons

Finally, some files in core/ have  been amended because they lacked either some
include paths or explicit qualification on 4.4.