[Numpy-svn] [numpy/numpy] 2ce50d: BLD: some fixes for Intel compilers.

GitHub noreply at github.com
Mon Aug 3 14:42:38 EDT 2015


  Branch: refs/heads/master
  Home:   https://github.com/numpy/numpy
  Commit: 2ce50d23bce43610a04eaee752fb116d46076187
      https://github.com/numpy/numpy/commit/2ce50d23bce43610a04eaee752fb116d46076187
  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: fbf9bff63a27cdb00d8e73e39e0f9495a2e8238d
      https://github.com/numpy/numpy/commit/fbf9bff63a27cdb00d8e73e39e0f9495a2e8238d
  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: 3ea9cc72aca9d74a360a11fb8cb57a8cf71055d2
      https://github.com/numpy/numpy/commit/3ea9cc72aca9d74a360a11fb8cb57a8cf71055d2
  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: 4091facf55e03d356a5d7ce219ae0c0494920df3
      https://github.com/numpy/numpy/commit/4091facf55e03d356a5d7ce219ae0c0494920df3
  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: 00c1f7c27b6687eeb701a14d9a2210cfc4a68081
      https://github.com/numpy/numpy/commit/00c1f7c27b6687eeb701a14d9a2210cfc4a68081
  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 #6152 from charris/update-gh-6143

BLD: fixes for Intel compilers fixes to gh-6143


Compare: https://github.com/numpy/numpy/compare/0d294c15be17...00c1f7c27b66


More information about the Numpy-svn mailing list