Best Python code snippet using pandera_python
mlarray.py
Source:mlarray.py  
1# Copyright 2014-2015 MathWorks, Inc.2"""3Type-specific multidimensional arrays for4use when working with MATLAB.5This module defines type-specific multidimensional arrays to use when6evaluating functions using MATLAB. They are different from Python7sequences in the following ways:8    * They use strong typing. They can only contain values of the9     specified type. Attempting to insert values that cannot be represented10     in the specified type raises an exception.11    * They are multidimensional. The size of an empty array is (0,0).12    All arrays created using these classes are rectangular.13    * They use MATLAB style indexing.14    * They slice using views and not shallow copies.15Classes16-------17    * double - array of Python float seen as MATLAB double18    * single - array of Python float seen as MATLAB single19    * uint8 - array of Python int seen as MATLAB uint820    * int8 - array of Python int seen as MATLAB int821    * uint16 - array of Python int seen as MATLAB uint1622    * int16 - array of Python int seen as MATLAB int1623    * uint32 - array of Python int or long seen as MATLAB uint3224    * int32 - array of Python int seen as MATLAB int3225    * uint64 - array of Python int or long seen as MATLAB uint6426    * int64 - array of Python int or long seen as MATLAB int6427    * logical - array of Python bool seen as MATLAB logical28"""29from _internal.mlarray_sequence import _MLArrayMetaClass30class double(_MLArrayMetaClass):31    def __init__(self, initializer=None, size=None, is_complex=False):32        """33        A new matlab array whose items are initialized from the optional34        "initializer" value which must be a sequence. Initializer will be35        marshaled as an array of doubles,if possible, inside of MATLAB.36        "is_complex" can be set to True if the elements should be marshaled37        in as complex values.38        :param initializer: sequence39        :param size: sequence40        :param is_complex: bool41        """42        try:43            super(double, self).__init__('d', initializer, size, is_complex)44        except Exception as ex:45            raise ex46class single(_MLArrayMetaClass):47    def __init__(self, initializer=None, size=None, is_complex=False):48        """49        A new matlab array whose items are initialized from the optional50        "initializer" value which must be a sequence. Initializer will be51         marshaled as an array of singles,if possible, inside of MATLAB.52        "is_complex" can be set to True if the elements should be marshaled53        in as complex values.54        :param initializer: sequence55        :param size: sequence56        :param is_complex: bool57        """58        try:59            super(single, self).__init__('f', initializer, size, is_complex)60        except Exception as ex:61            raise ex62class uint8(_MLArrayMetaClass):63    def __init__(self, initializer=None, size=None, is_complex=False):64        """65        A new matlab array whose items are initialized from the optional66        "initializer" value which must be a sequence. Initializer will be67        marshaled as an array of uint8,if possible, inside of MATLAB.68        "is_complex" can be set to True if the elements should be marshaled69        in as complex values.70        :param initializer: sequence71        :param size: sequence72        :param is_complex: bool73        """74        try:75            super(uint8, self).__init__('B', initializer, size, is_complex)76        except Exception as ex:77            raise ex78class int8(_MLArrayMetaClass):79    def __init__(self, initializer=None, size=None, is_complex=False):80        """81        A new matlab array whose items are initialized from the optional82        "initializer" value which must be a sequence. Initializer will be83        marshaled as an array of int8,if possible, inside of MATLAB.84        "is_complex" can be set to True if the elements should be marshaled85        in as complex values.86        :param initializer: sequence87        :param size: sequence88        :param is_complex: bool89        """90        try:91            super(int8, self).__init__('b', initializer, size, is_complex)92        except Exception as ex:93            raise ex94class uint16(_MLArrayMetaClass):95    def __init__(self, initializer=None, size=None, is_complex=False):96        """97        A new matlab array whose items are initialized from the optional98        "initializer" value which must be a sequence. Initializer will be99        marshaled as an array of uint16,if possible, inside of MATLAB.100        "is_complex" can be set to True if the elements should be marshaled101         in as complex values.102        :param initializer: sequence103        :param size: sequence104        :param is_complex: bool105        """106        try:107            super(uint16, self).__init__('H', initializer, size, is_complex)108        except Exception as ex:109            raise ex110class int16(_MLArrayMetaClass):111    def __init__(self, initializer=None, size=None, is_complex=False):112        """113        A new matlab array whose items are initialized from the optional114         "initializer" value which must be a sequence. Initializer will be115         marshaled as an array of int16,if possible, inside of MATLAB.116        "is_complex" can be set to True if the elements should be marshaled117        in as complex values.118        :param initializer: sequence119        :param size: sequence120        :param is_complex: bool121        """122        try:123            super(int16, self).__init__('h', initializer, size, is_complex)124        except Exception as ex:125            raise ex126class uint32(_MLArrayMetaClass):127    def __init__(self, initializer=None, size=None, is_complex=False):128        """129        A new matlab array whose items are initialized from the optional130        "initializer" value which must be a sequence. Initializer will be131        marshaled as an array of unit32,if possible, inside of MATLAB.132        "is_complex" can be set to True if the elements should be marshaled133        in as complex values.134        :param initializer: sequence135        :param size: sequence136        :param is_complex: bool137        """138        try:139            super(uint32, self).__init__('I', initializer, size, is_complex)140        except Exception as ex:141            raise ex142class int32(_MLArrayMetaClass):143    def __init__(self, initializer=None, size=None, is_complex=False):144        """145        A new matlab array whose items are initialized from the optional146        "initializer" value which must be a sequence. Initializer will be147        marshaled as an array of int32,if possible, inside of MATLAB.148        "is_complex" can be set to True if the elements should be marshaled149        in as complex values.150        :param initializer: sequence151        :param size: sequence152        :param is_complex: bool153        """154        try:155            super(int32, self).__init__('i', initializer, size, is_complex)156        except Exception as ex:157            raise ex158class uint64(_MLArrayMetaClass):159    def __init__(self, initializer=None, size=None, is_complex=False):160        """161        A new matlab array whose items are initialized from the optional162        "initializer" value which must be a sequence. Initializer will be163        marshaled as an array of uint64,if possible, inside of MATLAB.164        "is_complex" can be set to True if the elements should be marshaled165        in as complex values.166        :param initializer: sequence167        :param size: sequence168        :param is_complex: bool169        """170        try:171            super(uint64, self).__init__('L', initializer, size, is_complex)172        except Exception as ex:173            raise ex174class int64(_MLArrayMetaClass):175    def __init__(self, initializer=None, size=None, is_complex=False):176        """177        A new matlab array whose items are initialized from the optional178        "initializer" value which must be a sequence. Initializer will be179        marshaled as an array of int64,if possible, inside of MATLAB.180        "is_complex" can be set to True if the elements should be marshaled181        in as complex values.182        :param initializer: sequence183        :param size: sequence184        :param is_complex: bool185        """186        try:187            super(int64, self).__init__('l', initializer, size, is_complex)188        except Exception as ex:189            raise ex190class logical(_MLArrayMetaClass):191    def __init__(self, initializer=None, size=None):192        """193        A new matlab array whose items are initialized from the optional194        "initializer" value which must be a sequence. Initializer will be195        marshaled as an array of logicals,if possible, inside of MATLAB.196        :param initializer: sequence197        :param size: sequence198        """199        try:200            super(logical, self).__init__('B', initializer, size)201        except Exception as ex:202            raise ex203    def __getitem__(self, index):204        value = super(logical, self).__getitem__(index)205        if isinstance(value, type(self)):206            return value207        else:...helper_functions.py
Source:helper_functions.py  
1import numpy as np2import pytest3from integration_test_functions import Polynomial, Exponential, Sinusoid4from utils.set_up_backend import set_up_backend5from utils.set_log_level import set_log_level6def get_test_functions(dim, backend):7    """Here we define a bunch of functions that will be used for testing.8    Args:9        dim (int): Dimensionality of test functions to use.10        backend (string): Numerical backend used for the integration11    """12    if dim == 1:13        return [14            # Real numbers15            Polynomial(4.0, [2.0], is_complex=False, backend=backend),  # y = 216            Polynomial(0, [0, 1], is_complex=False, backend=backend),  # y = x17            Polynomial(18                2 / 3, [0, 0, 2], domain=[[0, 1]], is_complex=False, backend=backend19            ),  # y = 2x^220            # y = -3x^3+2x^2-x+321            Polynomial(22                27.75,23                [3, -1, 2, -3],24                domain=[[-2, 1]],25                is_complex=False,26                backend=backend,27            ),28            # y = 7x^4-3x^3+2x^2-x+329            Polynomial(30                44648.0 / 15.0,31                [3, -1, 2, -3, 7],32                domain=[[-4, 4]],33                is_complex=False,34                backend=backend,35            ),36            # # y = -x^5+7x^4-3x^3+2x^2-x+337            Polynomial(38                8939.0 / 60.0,39                [3, -1, 2, -3, 7, -1],40                domain=[[2, 3]],41                is_complex=False,42                backend=backend,43            ),44            Exponential(45                np.exp(1) - np.exp(-2),46                domain=[[-2, 1]],47                is_complex=False,48                backend=backend,49            ),50            Exponential(51                (np.exp(2) - 1.0) / np.exp(3),52                domain=[[-3, -1]],53                is_complex=False,54                backend=backend,55            ),56            Sinusoid(57                2 * np.sin(1) * np.sin(1),58                domain=[[0, 2]],59                is_complex=False,60                backend=backend,61            ),62            #63            # Complex numbers64            Polynomial(4.0j, [2.0j], is_complex=True, backend=backend),  # y = 2j65            Polynomial(0, [0, 1j], is_complex=True, backend=backend),  # y = xj66            # y=7x^4-3jx^3+2x^2-jx+367            Polynomial(68                44648.0 / 15.0,69                [3, -1j, 2, -3j, 7],70                domain=[[-4, 4]],71                is_complex=True,72                backend=backend,73            ),74        ]75    elif dim == 3:76        return [77            # Real numbers78            Polynomial(79                48.0, [2.0], dim=3, is_complex=False, backend=backend80            ),  # f(x,y,z) = 281            Polynomial(82                0, [0, 1], dim=3, is_complex=False, backend=backend83            ),  # f(x,y,z) = x + y + z84            # f(x,y,z) = x^2+y^2+z^285            Polynomial(8.0, coeffs=[0, 0, 1], dim=3, is_complex=False, backend=backend),86            # e^x+e^y+e^z87            Exponential(88                27 * (np.exp(3) - 1) / np.exp(2),89                dim=3,90                domain=[[-2, 1], [-2, 1], [-2, 1]],91                is_complex=False,92                backend=backend,93            ),94            Sinusoid(95                24 * np.sin(1) ** 2,96                dim=3,97                domain=[[0, 2], [0, 2], [0, 2]],98                is_complex=False,99                backend=backend,100            ),101            # e^x+e^y+e^z102            Exponential(103                1.756,104                dim=3,105                domain=[[-0.05, 0.1], [-0.25, 0.2], [-np.exp(1), np.exp(1)]],106                is_complex=False,107                backend=backend,108            ),109            #110            # Complex numbers111            Polynomial(112                48.0j, [2.0j], dim=3, is_complex=True, backend=backend113            ),  # f(x,y,z) = 2j114            Polynomial(115                0, [0, 1.0j], dim=3, is_complex=True, backend=backend116            ),  # f(x,y,z) = xj117            Polynomial(118                8.0j, coeffs=[0, 0, 1.0j], dim=3, is_complex=True, backend=backend119            ),  # j*x^2+j*y^2+j*z^2120        ]121    elif dim == 10:122        return [123            # Real numbers124            # f(x_1, ..., x_10) = x_1^2+x_2^2+...125            Polynomial(126                3413.33333333,127                coeffs=[0, 0, 1],128                dim=10,129                is_complex=False,130                backend=backend,131            ),132            # Complex numbers133            # f(x_1, ..., x_10) = j*x_1^2+j*x_2^2+...134            Polynomial(135                3413.33333333j,136                coeffs=[0, 0, 1.0j],137                dim=10,138                is_complex=True,139                backend=backend,140            ),141        ]142    else:143        raise ValueError("Not testing functions implemented for dim " + str(dim))144def compute_integration_test_errors(145    integrator,146    integrator_args,147    dim,148    use_complex,149    backend,150):151    """Computes errors on all test functions for given dimension and integrator.152    Args:153        integrator (torchquad.base_integrator): Integrator to use.154        integrator_args (dict): Arguments for the integrator.155        dim (int): Dimensionality of the example functions to choose.156        use_complex (Boolean): If True, skip complex example functions.157        backend (string): Numerical backend for the example functions.158    Returns:159        (list, list): Absolute errors on all example functions and the chosen160            example functions161    """162    errors = []163    chosen_functions = []164    # Compute integration errors on the chosen functions and remember those165    # functions166    for test_function in get_test_functions(dim, backend):167        if not use_complex and test_function.is_complex:168            continue169        if backend == "torch":170            errors.append(171                np.abs(172                    test_function.evaluate(integrator, integrator_args)173                    .cpu()174                    .detach()175                    .numpy()176                    - test_function.expected_result177                )178            )179        else:180            errors.append(181                np.abs(182                    test_function.evaluate(integrator, integrator_args)183                    - test_function.expected_result184                )185            )186        chosen_functions.append(test_function)187    return errors, chosen_functions188def setup_test_for_backend(test_func, backend, dtype_name):189    """190    Create a function to execute a test function with the given numerical backend.191    If the backend is not installed, skip the test.192    Args:193        test_func (function(backend, dtype_name)): The function which runs tests194        backend (string): The numerical backend195        dtype_name ("float32", "float64" or None): Floating point precision. If None, the global precision is not changed.196    Returns:197        function: A test function for Pytest198    """199    def func():200        pytest.importorskip(backend)201        set_log_level("INFO")202        set_up_backend(backend, dtype_name)203        if dtype_name is None:204            return test_func(backend)205        return test_func(backend, dtype_name)...common.py
Source:common.py  
1#2# Some common useful functions3#4import os5import numpy as np6import gdal7def get_basename(filepath):8    """9    Get filename basename without extension10    For example:11    >>> get_basename("/path/to/a/file.123sdufg.sdfs.tiff")12    'file.123sdufg.sdfs'13    """14    bfn = os.path.basename(filepath)15    splt = bfn.split(os.extsep)16    return os.extsep.join(splt[:-1]) if len(splt) > 1 else splt[0]17def get_dtype(depth, is_complex, signed=True):18    """19    Method to convert the pair (depth={1,2,4,8}, is_complex={True,False})20    into numpy dtype21    For example,22    >>> get_type(4, False)23    <type 'numpy.float32'>24    """25    if depth == 1 and not is_complex:26        return np.uint827    elif depth == 2 and not is_complex:28        return np.uint16 if not signed else np.int1629    elif depth == 4 and not is_complex:30        return np.float3231    elif depth == 8 and not is_complex:32        return np.float6433    elif depth == 8 and is_complex:34        return np.complex6435    elif depth == 16 and is_complex:36        return np.complex12837    else:38        raise AssertionError("Data type is not recognized")39def get_gdal_dtype(depth, is_complex, signed=True):40    """41    Method to convert the pair (depth={1,2,4,8}, is_complex={True,False})42    If is_complex == True, depth corresponds real and imaginary parts43    to GDAL data type : gdal.GDT_Byte, ...44    >>> get_gdal_dtype(4, False) == gdal.GDT_Float3245    True46    >>> get_gdal_dtype(8, True) == gdal.GDT_CFloat3247    True48    """49    if depth == 1 and not is_complex:50        return gdal.GDT_Byte51    elif depth == 2 and not is_complex:52        return gdal.GDT_UInt16 if not signed else gdal.GDT_Int1653    elif depth == 4 and not is_complex:54        return gdal.GDT_Float3255    elif depth == 8 and not is_complex:56        return gdal.GDT_Float6457    elif depth == 8 and is_complex:58        return gdal.GDT_CFloat3259    elif depth == 16 and is_complex:60        return gdal.GDT_CFloat6461    else:62        raise AssertionError("Data type is not recognized")63def gdal_to_numpy_datatype(gdal_datatype):64    """65    Method to convert gdal data type to numpy dtype66    >>> gdal_to_numpy_datatype(gdal.GDT_Float32) == np.float3267    True68    """69    if gdal_datatype == gdal.GDT_Byte:70        return np.uint871    elif gdal_datatype == gdal.GDT_Int16:72        return np.int1673    elif gdal_datatype == gdal.GDT_Int32:74        return np.int3275    elif gdal_datatype == gdal.GDT_UInt16:76        return np.uint1677    elif gdal_datatype == gdal.GDT_UInt32:78        return np.uint3279    elif gdal_datatype == gdal.GDT_Float32:80        return np.float3281    elif gdal_datatype == gdal.GDT_Float64:82        return np.float6483    elif gdal_datatype == gdal.GDT_CInt16:84        # No associated type -> cast to complex6485        return np.complex6486    elif gdal_datatype == gdal.GDT_CInt32:87        # No associated type -> cast to complex6488        return np.complex6489    elif gdal_datatype == gdal.GDT_CFloat32:90        return np.complex6491    elif gdal_datatype == gdal.GDT_CFloat64:92        return np.complex12893    else:94        raise AssertionError("Data type '%i' is not recognized" % gdal_datatype)95def numpy_to_gdal_datatype(dtype):96    """97    Method to convert numpy data type to gdal dtype98    """99    if dtype == np.uint8:100        return gdal.GDT_Byte101    elif dtype == np.int16:102        return gdal.GDT_Int16103    elif dtype == np.int32:104        return gdal.GDT_Int32105    elif dtype == np.uint16:106        return gdal.GDT_UInt16107    elif dtype == np.uint32:108        return gdal.GDT_UInt32109    elif dtype == np.float32:110        return gdal.GDT_Float32111    elif dtype == np.float64:112        return gdal.GDT_Float64113    elif dtype == np.complex64:114        return gdal.GDT_CFloat32115    elif dtype == np.complex128:116        return gdal.GDT_CFloat64117    else:...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
