[python-arrayfire] 92/250: Adding documentation for arith.py

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Mon Mar 28 22:59:35 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch debian/master
in repository python-arrayfire.

commit 1925beedeec3a2b6723b3faf526affedccf396f0
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date:   Tue Sep 1 16:19:28 2015 -0400

    Adding documentation for arith.py
---
 arrayfire/arith.py | 838 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 829 insertions(+), 9 deletions(-)

diff --git a/arrayfire/arith.py b/arrayfire/arith.py
index 4fca5a8..43fe6af 100644
--- a/arrayfire/arith.py
+++ b/arrayfire/arith.py
@@ -7,6 +7,10 @@
 # http://arrayfire.com/licenses/BSD-3-Clause
 ########################################################
 
+"""
+Math functions for ArrayFire
+"""
+
 from .library import *
 from .array import *
 from .broadcast import *
@@ -44,151 +48,967 @@ def _arith_unary_func(a, c_func):
     safe_call(c_func(ct.pointer(out.arr), a.arr))
     return out
 
-def cast(a, dtype=f32):
+def cast(a, dtype):
+    """
+    Cast an array to a specified type
+
+    Parameters
+    ----------
+    a    : af.Array
+           Multi dimensional arrayfire array.
+    dtype: ctypes.c_int.
+           Must be one of the following:
+           af.f32, af.f64, af.c32, af.c64
+           af.s32, af.s64, af.u32, af.u64,
+           af.b8, af.u8
+
+    Returns
+    --------
+    out  : af.Array
+           array containing the values from `a` after converting to `dtype`.
+    """
     out=Array()
     safe_call(backend.get().af_cast(ct.pointer(out.arr), a.arr, dtype))
     return out
 
 def minof(lhs, rhs):
+    """
+    Find the minimum value of two inputs at each location.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the minimum value at each location of the inputs.
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_minof)
 
 def maxof(lhs, rhs):
+    """
+    Find the maximum value of two inputs at each location.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the maximum value at each location of the inputs.
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_maxof)
 
 def rem(lhs, rhs):
+    """
+    Find the remainder.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         Contains the remainders after dividing each value of lhs` with those in `rhs`.
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_rem)
 
 def abs(a):
+    """
+    Find the absolute values.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         Contains the absolute values of the inputs.
+    """
     return _arith_unary_func(a, backend.get().af_abs)
 
 def arg(a):
+    """
+    Find the theta value of the inputs in polar co-ordinates.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         Contains the theta values.
+    """
     return _arith_unary_func(a, backend.get().af_arg)
 
 def sign(a):
+    """
+    Find the sign of the inputs.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing -1 for negative values, 1 otherwise.
+    """
     return _arith_unary_func(a, backend.get().af_sign)
 
 def round(a):
+    """
+    Round the values to nearest integer.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the values rounded to nearest integer.
+    """
     return _arith_unary_func(a, backend.get().af_round)
 
 def trunc(a):
+    """
+    Round the values towards zero.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the truncated values.
+    """
     return _arith_unary_func(a, backend.get().af_trunc)
 
 def floor(a):
+    """
+    Round the values towards a smaller integer.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the floored values.
+    """
     return _arith_unary_func(a, backend.get().af_floor)
 
 def ceil(a):
+    """
+    Round the values towards a bigger integer.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the ceiled values.
+    """
     return _arith_unary_func(a, backend.get().af_ceil)
 
 def hypot(lhs, rhs):
+    """
+    Find the value of the hypotunese.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         Contains the value of `sqrt(lhs**2, rhs**2)`.
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_hypot)
 
 def sin(a):
+    """
+    Sine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the sine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_sin)
 
 def cos(a):
+    """
+    Cosine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the cosine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_cos)
 
 def tan(a):
+    """
+    Tangent of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the tangent of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_tan)
 
 def asin(a):
+    """
+    Arc Sine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the arc sine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_asin)
 
 def acos(a):
+    """
+    Arc Cosine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the arc cosine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_acos)
 
 def atan(a):
+    """
+    Arc Tangent of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the arc tangent of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_atan)
 
 def atan2(lhs, rhs):
+    """
+    Find the arc tan using two values.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         Contains the value arc tan values where:
+         - `lhs` contains the sine values.
+         - `rhs` contains the cosine values.
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_atan2)
 
 def cplx(lhs, rhs=None):
+    """
+    Create a complex array from real inputs.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : optional: af.Array or scalar. default: None.
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         Contains complex values whose
+         - real values contain values from `lhs`
+         - imaginary values contain values from `rhs` (0 if `rhs` is None)
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     if rhs is None:
         return _arith_unary_func(lhs, backend.get().af_cplx)
     else:
         return _arith_binary_func(lhs, rhs, backend.get().af_cplx2)
 
-def real(lhs):
-    return _arith_unary_func(lhs, backend.get().af_real)
-
-def imag(lhs):
-    return _arith_unary_func(lhs, backend.get().af_imag)
-
-def conjg(lhs):
-    return _arith_unary_func(lhs, backend.get().af_conjg)
+def real(a):
+    """
+    Find the real values of the input.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the real values from `a`.
+
+    """
+    return _arith_unary_func(a, backend.get().af_real)
+
+def imag(a):
+    """
+    Find the imaginary values of the input.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the imaginary values from `a`.
+    """
+    return _arith_unary_func(a, backend.get().af_imag)
+
+def conjg(a):
+    """
+    Find the complex conjugate values of the input.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing copmplex conjugate values from `a`.
+    """
+    return _arith_unary_func(a, backend.get().af_conjg)
 
 def sinh(a):
+    """
+    Hyperbolic Sine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the hyperbolic sine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_sinh)
 
 def cosh(a):
+    """
+    Hyperbolic Cosine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the hyperbolic cosine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_cosh)
 
 def tanh(a):
+    """
+    Hyperbolic Tangent of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the hyperbolic tangent of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_tanh)
 
 def asinh(a):
+    """
+    Arc Hyperbolic Sine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the arc hyperbolic sine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_asinh)
 
 def acosh(a):
+    """
+    Arc Hyperbolic Cosine of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the arc hyperbolic cosine of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_acosh)
 
 def atanh(a):
+    """
+    Arc Hyperbolic Tangent of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the arc hyperbolic tangent of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_atanh)
 
 def root(lhs, rhs):
+    """
+    Find the root values of two inputs at each location.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the value of `lhs ** (1/rhs)`
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_root)
 
 def pow(lhs, rhs):
+    """
+    Find the power of two inputs at each location.
+
+    Parameters
+    ----------
+    lhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    rhs : af.Array or scalar
+          Multi dimensional arrayfire array or a scalar number.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the value of `lhs ** (rhs)`
+
+    Note
+    -------
+    - Atleast one of `lhs` and `rhs` needs to be af.Array.
+    - If `lhs` and `rhs` are both af.Array, they must be of same size.
+    """
     return _arith_binary_func(lhs, rhs, backend.get().af_pow)
 
 def pow2(a):
+    """
+    Raise 2 to the power of each element in input.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array where each element is 2 raised to power of the corresponding value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_pow2)
 
 def exp(a):
+    """
+    Exponential of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the exponential of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_exp)
 
 def expm1(a):
+    """
+    Exponential of each element in the array minus 1.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the exponential of each value from `a`.
+
+    Note
+    -------
+    - `a` must not be complex.
+    - This function provides a more stable result for small values of `a`.
+    """
     return _arith_unary_func(a, backend.get().af_expm1)
 
 def erf(a):
+    """
+    Error function of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the error function of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_erf)
 
 def erfc(a):
+    """
+    Complementary error function of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the complementary error function of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_erfc)
 
 def log(a):
+    """
+    Natural logarithm of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the natural logarithm of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_log)
 
 def log1p(a):
+    """
+    Logarithm of each element in the array plus 1.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the the values of `log(a) + 1`
+
+    Note
+    -------
+    - `a` must not be complex.
+    - This function provides a more stable result for small values of `a`.
+    """
     return _arith_unary_func(a, backend.get().af_log1p)
 
 def log10(a):
+    """
+    Logarithm base 10 of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the logarithm base 10 of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_log10)
 
 def log2(a):
+    """
+    Logarithm base 2 of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the logarithm base 2 of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_log2)
 
 def sqrt(a):
+    """
+    Square root of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the square root of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_sqrt)
 
 def cbrt(a):
+    """
+    Cube root of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the cube root of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_cbrt)
 
 def factorial(a):
+    """
+    factorial of each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the factorial of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_factorial)
 
 def tgamma(a):
+    """
+    Performs the gamma function for each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the output of gamma function of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_tgamma)
 
 def lgamma(a):
+    """
+    Performs the logarithm of gamma function for each element in the array.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the output of logarithm of gamma function of each value from `a`.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_lgamma)
 
 def iszero(a):
+    """
+    Check if each element of the input is zero.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the output after checking if each value of `a` is 0.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_iszero)
 
 def isinf(a):
+    """
+    Check if each element of the input is infinity.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the output after checking if each value of `a` is inifnite.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_isinf)
 
 def isnan(a):
+    """
+    Check if each element of the input is NaN.
+
+    Parameters
+    ----------
+    a : af.Array
+        Multi dimensional arrayfire array.
+
+    Returns
+    --------
+    out : af.Array
+         array containing the output after checking if each value of `a` is NaN.
+
+    Note
+    -------
+    `a` must not be complex.
+    """
     return _arith_unary_func(a, backend.get().af_isnan)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/python-arrayfire.git



More information about the debian-science-commits mailing list