| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code Overview:
Numpy currently decouples the math function definitions in `npy_math.c.src`
from the function declarations found in `npy_math.h`. This patch allows
definitions to be included along with the inclusion of the `npy_math.h`
header.
Keeping the declarations and definitions separate is usually the right
approach, but mathematical code like this might be better off as an
exception to this common practice. Because the definitions are in the source
file instead of the header, the compiler does not have any clue what lies
underneath these math functions. This means the compiler can't make
important optimizations like inlining and vectorization. Extensions that
utilize these functions could greatly benefit from this, specifically
`loops.c.src` from the umath extension.
Implementation Details:
+ Renames `npy_math.c.src` to `npy_math_internal.h.src`
+ Generates `npy_math_internal.h` from template by adding to
`npymath_sources` list and adding `npymath` directory to include paths in
`generate_numpyconfig_h` function of `numpy/core/setup.py`
+ Numpy's core distutils defines `#NPY_INTERNAL_BUILD` macro to make sure
`npy_math_internal.h` is not included when other modules try to include
public header `npy_math.h`
- Currently do not know how to ship headers generated from template
files
+ Adds `npy_math.c`, a file that includes the `npy_math_internal.h.src`
file (but does not add NPY_INLINE static)
- This is to keep the same static npy_math library as it exists now
+ Appends `numpy/npy_math.h` with `npy_math_internal.h` under condition that
it's not being included in npy_math.c.src
- The conditional macros mean `loops.c.src` will have definitions
included, and the compiler will vectorize accordingly
+ Adds `NPY_INLINE` static to function declarations and definitions when
necessary
+ Replaces `sqrtf` with `npy_sqrtf` in `numpy/core/src/umath/umath_tests.c`
to make function portable
- `_sqrtf` was not found on certain Windows environments compiling with
Py2
|
|
|
|
|
|
|
|
|
|
|
| |
Copy tempita from https://github.com/gjhiggins/tempita with a few
changes to remove the six dependency. This removes a dependency on
Cython's tempita, which is not to be relied on as it is considered by
the Cython folks to be an implementation detail. The package is named
npy_tempita so that it can always be distinguished from an installed
tempita.
The cythonize.py script is changed to use the vendorized tempita.
|
| |
|
|
|
|
|
| |
Also ignore setup.cfg: this file is created/modified by the
alias/setopt/saveopts commands, and therefore needs to be in .gitignore.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Commit 494abcf1 (ENH: speed-up minimum, maximum and xor for bool dtype)
reworked numpy/core/src/umath/loops.h to be autogenerated at build time,
but forgot to update .gitignore.
Fix it, so that the now-autogenerated loops.h do not constantly show as
untracked in git status output.
|
|
|
|
| |
ignore cscope and gnu global files
|
|
|
|
|
|
|
| |
Instead generate at build time. The generated sources are still part of
the sdist.
tools/cythonize.py is copied from SciPy with small changes to the
configuration.
|
| |
|
|
|
|
|
| |
It should only ignore the one in the root directory. The fix is to
prepend a '/' to the directory name.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Tox is a handy little tool to make it easier than not to run proper
tests that exercise the build system and are run against multiple
Python versions: http://pypi.python.org/pypi/tox
See comment at the top of tox.ini for hints.
|
|
|
|
| |
http://help.github.com/ignore-files/
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|