[Numpy-svn] [numpy/numpy] 694e37: BLD: some fixes for Intel compilers.

GitHub noreply at github.com
Mon Aug 3 16:16:04 EDT 2015


  Branch: refs/heads/maintenance/1.10.x
  Home:   https://github.com/numpy/numpy
  Commit: 694e374e912077c14eeede6ce163c90a5b61f0cf
      https://github.com/numpy/numpy/commit/694e374e912077c14eeede6ce163c90a5b61f0cf
  Author: Ralf Gommers <ralf.gommers at gmail.com>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M numpy/core/src/npymath/npy_math_private.h
    M numpy/distutils/command/build_ext.py
    M numpy/distutils/command/config.py
    M numpy/distutils/intelccompiler.py

  Log Message:
  -----------
  BLD: some fixes for Intel compilers.

- Fix an incorrect import
- Enable C99 complex support (Qstd=c99)
- Don't use MSVC complex types for Intel compilers

Thanks to Intel for this patch (contact: Yolanda Chen).


  Commit: ab6723a982c13b669514e60fe181f6b01dc171fe
      https://github.com/numpy/numpy/commit/ab6723a982c13b669514e60fe181f6b01dc171fe
  Author: Ralf Gommers <ralf.gommers at gmail.com>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M numpy/distutils/intelccompiler.py

  Log Message:
  -----------
  BLD: Intel compilers: xiar/xilib for Linux and Windows to support IPO.


  Commit: 53a2959168d2e1008fc162dace37b95b982f6177
      https://github.com/numpy/numpy/commit/53a2959168d2e1008fc162dace37b95b982f6177
  Author: Ralf Gommers <ralf.gommers at gmail.com>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M numpy/core/src/npymath/npy_math_private.h

  Log Message:
  -----------
  BLD: fix issue with POWL for Intel compilers on Windows.

Thanks to Intel (contact: Yolanda Chen) for this patch.

The Intel “powl” on Windows only supports 80 bits longdouble to keep
compatibility with Microsoft VC.

Microsoft VC only support 64 bits longdouble, from “C:\Program Files
(x86)\Microsoft Visual Studio 11.0\VC\include\math.h”, powl is redefined as:

    #define powl(x,y)       ((long double)pow((double)(x), (double)(y)))

However in npy_math.c (generated from npy_math.c.src), this definition is
undefined even though HAVE_POWL is set for the Intel C compilers.

At line 384 of npy_math.c.src, we have::

    #ifdef @kind@@c@
    #undef @kind@@c@
    #endif
    #ifndef HAVE_ at KIND@@C@
    @type@ npy_ at kind@@c@(@type@ x, @type@ y)
    {
  return (@type@) npy_ at kind@((double)x, (double) y);
    }
    #endif

The expanded function generated in “npy_math.c” will look like::

    #ifdef powl
    #undef powl
    #endif
    #ifndef HAVE_POWL
    npy_longdouble npy_powl(npy_longdouble x, npy_longdouble y)
    {
  return (npy_longdouble) npy_pow((double)x, (double) y);
    }
    #endif


  Commit: e0402e0d88c357cf96d106c608a5600a093fe28e
      https://github.com/numpy/numpy/commit/e0402e0d88c357cf96d106c608a5600a093fe28e
  Author: Charles Harris <charlesr.harris at gmail.com>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M numpy/core/src/npymath/npy_math_private.h
    M numpy/core/src/private/npy_config.h

  Log Message:
  -----------
  BLD: Move Intel POWL blacklist.

Update patch from Intel by moving POWL blacklist from npy_math_private.h
to npy_config.h blacklists.


  Commit: fb800507293f3adf5858b38be65e236186bc33bd
      https://github.com/numpy/numpy/commit/fb800507293f3adf5858b38be65e236186bc33bd
  Author: Charles Harris <charlesr.harris at gmail.com>
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
    M numpy/core/src/npymath/npy_math_private.h
    M numpy/core/src/private/npy_config.h
    M numpy/distutils/command/build_ext.py
    M numpy/distutils/command/config.py
    M numpy/distutils/intelccompiler.py

  Log Message:
  -----------
  Merge pull request #6154 from charris/backport-gh-6152

Backport gh 6152


Compare: https://github.com/numpy/numpy/compare/ccb06f50466e...fb800507293f


More information about the Numpy-svn mailing list