bh107 / bohrium

Automatic parallelization of Python/NumPy, C, and C++ codes on Linux and MacOSX
http://www.bh107.org
Apache License 2.0
220 stars 31 forks source link

Inconsistent type conversions for trigonometric functions #626

Open dionhaefner opened 5 years ago

dionhaefner commented 5 years ago

Example:

>>> import numpy as np

>>> np.arctanh(np.array([0], dtype='int8')).dtype
dtype('float16')

>>> np.arctanh(np.array([0], dtype='int16')).dtype
dtype('float32')

>>> np.arctanh(np.array([0], dtype='int32')).dtype
dtype('float64')

vs.

>>> import bohrium as bh

>>> bh.arctanh(bh.array([0], dtype='int8')).dtype
dtype('float32')

>>> bh.arctanh(bh.array([0], dtype='int16')).dtype
dtype('float32')

>>> bh.arctanh(bh.array([0], dtype='int32')).dtype
dtype('float32')

Functions showing this behavior:

[
    'sin',
    'cos',
    'tan',
    'sinh',
    'cosh',
    'tanh',
    'arcsin',
    'arccos',
    'arctan',
    'arcsinh',
    'arccosh',
    'arctanh'
]