File: _xlogy.pxd

package info (click to toggle)
python-scipy 0.18.1-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 75,464 kB
  • ctags: 79,406
  • sloc: python: 143,495; cpp: 89,357; fortran: 81,650; ansic: 79,778; makefile: 364; sh: 265
file content (19 lines) | stat: -rw-r--r-- 486 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*-cython-*-

from _complexstuff cimport zlog, npy_log1p, zisnan, number_t
from _cunity cimport clog1p

cdef inline number_t xlogy(number_t x, number_t y) nogil:
    if x == 0 and not zisnan(y):
        return 0
    else:
        return x * zlog(y)

cdef inline number_t xlog1py(number_t x, number_t y) nogil:
    if x == 0 and not zisnan(y):
        return 0
    else:
        if number_t is double:
            return x * npy_log1p(y)
        else:
            return x * clog1p(y)