Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > > site-packages > numpy > core >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
include | Directory | - | - | |
lib | Directory | - | - | |
tests | Directory | - | - | |
__init__.py | File | 5779 bytes | April 17 2025 13:10:58. | |
__init__.pyi | File | 126 bytes | April 17 2025 13:10:58. | |
_add_newdocs.py | File | 208972 bytes | April 17 2025 13:10:58. | |
_add_newdocs_scalars.py | File | 12106 bytes | April 17 2025 13:10:58. | |
_asarray.py | File | 3884 bytes | April 17 2025 13:10:58. | |
_asarray.pyi | File | 1086 bytes | April 17 2025 13:10:58. | |
_dtype.py | File | 10606 bytes | April 17 2025 13:10:58. | |
_dtype_ctypes.py | File | 3673 bytes | April 17 2025 13:10:58. | |
_exceptions.py | File | 5379 bytes | April 17 2025 13:10:58. | |
_internal.py | File | 28348 bytes | April 17 2025 13:10:58. | |
_internal.pyi | File | 1032 bytes | April 17 2025 13:10:58. | |
_machar.py | File | 11565 bytes | April 17 2025 13:10:58. | |
_methods.py | File | 8613 bytes | April 17 2025 13:10:58. | |
_multiarray_tests.cpython-311-x86_64-linux-gnu.so | File | 175512 bytes | April 17 2025 13:11:30. | |
_multiarray_umath.cpython-311-x86_64-linux-gnu.so | File | 6959064 bytes | April 17 2025 13:11:30. | |
_operand_flag_tests.cpython-311-x86_64-linux-gnu.so | File | 16944 bytes | April 17 2025 13:11:30. | |
_rational_tests.cpython-311-x86_64-linux-gnu.so | File | 59688 bytes | April 17 2025 13:11:30. | |
_simd.cpython-311-x86_64-linux-gnu.so | File | 2586024 bytes | April 17 2025 13:11:30. | |
_string_helpers.py | File | 2852 bytes | April 17 2025 13:10:58. | |
_struct_ufunc_tests.cpython-311-x86_64-linux-gnu.so | File | 17048 bytes | April 17 2025 13:11:30. | |
_type_aliases.py | File | 7534 bytes | April 17 2025 13:10:58. | |
_type_aliases.pyi | File | 404 bytes | April 17 2025 13:10:58. | |
_ufunc_config.py | File | 13944 bytes | April 17 2025 13:10:58. | |
_ufunc_config.pyi | File | 1066 bytes | April 17 2025 13:10:58. | |
_umath_tests.cpython-311-x86_64-linux-gnu.so | File | 41992 bytes | April 17 2025 13:11:30. | |
arrayprint.py | File | 63608 bytes | April 17 2025 13:10:58. | |
arrayprint.pyi | File | 4428 bytes | April 17 2025 13:10:58. | |
cversions.py | File | 347 bytes | April 17 2025 13:10:58. | |
defchararray.py | File | 73617 bytes | April 17 2025 13:10:58. | |
defchararray.pyi | File | 9216 bytes | April 17 2025 13:10:58. | |
einsumfunc.py | File | 51868 bytes | April 17 2025 13:10:58. | |
einsumfunc.pyi | File | 4860 bytes | April 17 2025 13:10:58. | |
fromnumeric.py | File | 128821 bytes | April 17 2025 13:10:58. | |
fromnumeric.pyi | File | 23510 bytes | April 17 2025 13:10:58. | |
function_base.py | File | 19836 bytes | April 17 2025 13:10:58. | |
function_base.pyi | File | 4725 bytes | April 17 2025 13:10:58. | |
generate_numpy_api.py | File | 7654 bytes | April 17 2025 13:10:58. | |
getlimits.py | File | 25865 bytes | April 17 2025 13:10:58. | |
getlimits.pyi | File | 82 bytes | April 17 2025 13:10:58. | |
memmap.py | File | 11771 bytes | April 17 2025 13:10:58. | |
memmap.pyi | File | 55 bytes | April 17 2025 13:10:58. | |
multiarray.py | File | 56097 bytes | April 17 2025 13:10:58. | |
multiarray.pyi | File | 24768 bytes | April 17 2025 13:10:58. | |
numeric.py | File | 77014 bytes | April 17 2025 13:10:58. | |
numeric.pyi | File | 14230 bytes | April 17 2025 13:10:58. | |
numerictypes.py | File | 18098 bytes | April 17 2025 13:10:58. | |
numerictypes.pyi | File | 3267 bytes | April 17 2025 13:10:58. | |
overrides.py | File | 7093 bytes | April 17 2025 13:10:58. | |
records.py | File | 37533 bytes | April 17 2025 13:10:58. | |
records.pyi | File | 5692 bytes | April 17 2025 13:10:58. | |
setup.py | File | 48182 bytes | April 17 2025 13:10:58. | |
setup_common.py | File | 17085 bytes | April 17 2025 13:10:58. | |
shape_base.py | File | 29743 bytes | April 17 2025 13:10:58. | |
shape_base.pyi | File | 2774 bytes | April 17 2025 13:10:58. | |
umath.py | File | 2040 bytes | April 17 2025 13:10:58. | |
umath_tests.py | File | 389 bytes | April 17 2025 13:10:58. |
#!/usr/bin/env python3 import os import argparse import genapi from genapi import \ TypeApi, GlobalVarApi, FunctionApi, BoolValuesApi import numpy_api # use annotated api when running under cpychecker h_template = r""" #if defined(_MULTIARRAYMODULE) || defined(WITH_CPYCHECKER_STEALS_REFERENCE_TO_ARG_ATTRIBUTE) typedef struct { PyObject_HEAD npy_bool obval; } PyBoolScalarObject; extern NPY_NO_EXPORT PyTypeObject PyArrayMapIter_Type; extern NPY_NO_EXPORT PyTypeObject PyArrayNeighborhoodIter_Type; extern NPY_NO_EXPORT PyBoolScalarObject _PyArrayScalar_BoolValues[2]; %s #else #if defined(PY_ARRAY_UNIQUE_SYMBOL) #define PyArray_API PY_ARRAY_UNIQUE_SYMBOL #endif #if defined(NO_IMPORT) || defined(NO_IMPORT_ARRAY) extern void **PyArray_API; #else #if defined(PY_ARRAY_UNIQUE_SYMBOL) void **PyArray_API; #else static void **PyArray_API=NULL; #endif #endif %s #if !defined(NO_IMPORT_ARRAY) && !defined(NO_IMPORT) static int _import_array(void) { int st; PyObject *numpy = PyImport_ImportModule("numpy.core._multiarray_umath"); PyObject *c_api = NULL; if (numpy == NULL) { return -1; } c_api = PyObject_GetAttrString(numpy, "_ARRAY_API"); Py_DECREF(numpy); if (c_api == NULL) { PyErr_SetString(PyExc_AttributeError, "_ARRAY_API not found"); return -1; } if (!PyCapsule_CheckExact(c_api)) { PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is not PyCapsule object"); Py_DECREF(c_api); return -1; } PyArray_API = (void **)PyCapsule_GetPointer(c_api, NULL); Py_DECREF(c_api); if (PyArray_API == NULL) { PyErr_SetString(PyExc_RuntimeError, "_ARRAY_API is NULL pointer"); return -1; } /* Perform runtime check of C API version */ if (NPY_VERSION != PyArray_GetNDArrayCVersion()) { PyErr_Format(PyExc_RuntimeError, "module compiled against "\ "ABI version 0x%%x but this version of numpy is 0x%%x", \ (int) NPY_VERSION, (int) PyArray_GetNDArrayCVersion()); return -1; } if (NPY_FEATURE_VERSION > PyArray_GetNDArrayCFeatureVersion()) { PyErr_Format(PyExc_RuntimeError, "module compiled against "\ "API version 0x%%x but this version of numpy is 0x%%x . "\ "Check the section C-API incompatibility at the "\ "Troubleshooting ImportError section at "\ "https://numpy.org/devdocs/user/troubleshooting-importerror.html"\ "#c-api-incompatibility "\ "for indications on how to solve this problem .", \ (int) NPY_FEATURE_VERSION, (int) PyArray_GetNDArrayCFeatureVersion()); return -1; } /* * Perform runtime check of endianness and check it matches the one set by * the headers (npy_endian.h) as a safeguard */ st = PyArray_GetEndianness(); if (st == NPY_CPU_UNKNOWN_ENDIAN) { PyErr_SetString(PyExc_RuntimeError, "FATAL: module compiled as unknown endian"); return -1; } #if NPY_BYTE_ORDER == NPY_BIG_ENDIAN if (st != NPY_CPU_BIG) { PyErr_SetString(PyExc_RuntimeError, "FATAL: module compiled as big endian, but " "detected different endianness at runtime"); return -1; } #elif NPY_BYTE_ORDER == NPY_LITTLE_ENDIAN if (st != NPY_CPU_LITTLE) { PyErr_SetString(PyExc_RuntimeError, "FATAL: module compiled as little endian, but " "detected different endianness at runtime"); return -1; } #endif return 0; } #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NULL; } } #define import_array1(ret) {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return ret; } } #define import_array2(msg, ret) {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, msg); return ret; } } #endif #endif """ c_template = r""" /* These pointers will be stored in the C-object for use in other extension modules */ void *PyArray_API[] = { %s }; """ def generate_api(output_dir, force=False): basename = 'multiarray_api' h_file = os.path.join(output_dir, '__%s.h' % basename) c_file = os.path.join(output_dir, '__%s.c' % basename) targets = (h_file, c_file) sources = numpy_api.multiarray_api if (not force and not genapi.should_rebuild(targets, [numpy_api.__file__, __file__])): return targets else: do_generate_api(targets, sources) return targets def do_generate_api(targets, sources): header_file = targets[0] c_file = targets[1] global_vars = sources[0] scalar_bool_values = sources[1] types_api = sources[2] multiarray_funcs = sources[3] multiarray_api = sources[:] module_list = [] extension_list = [] init_list = [] # Check multiarray api indexes multiarray_api_index = genapi.merge_api_dicts(multiarray_api) genapi.check_api_dict(multiarray_api_index) numpyapi_list = genapi.get_api_functions('NUMPY_API', multiarray_funcs) # Create dict name -> *Api instance api_name = 'PyArray_API' multiarray_api_dict = {} for f in numpyapi_list: name = f.name index = multiarray_funcs[name][0] annotations = multiarray_funcs[name][1:] multiarray_api_dict[f.name] = FunctionApi(f.name, index, annotations, f.return_type, f.args, api_name) for name, val in global_vars.items(): index, type = val multiarray_api_dict[name] = GlobalVarApi(name, index, type, api_name) for name, val in scalar_bool_values.items(): index = val[0] multiarray_api_dict[name] = BoolValuesApi(name, index, api_name) for name, val in types_api.items(): index = val[0] internal_type = None if len(val) == 1 else val[1] multiarray_api_dict[name] = TypeApi( name, index, 'PyTypeObject', api_name, internal_type) if len(multiarray_api_dict) != len(multiarray_api_index): keys_dict = set(multiarray_api_dict.keys()) keys_index = set(multiarray_api_index.keys()) raise AssertionError( "Multiarray API size mismatch - " "index has extra keys {}, dict has extra keys {}" .format(keys_index - keys_dict, keys_dict - keys_index) ) extension_list = [] for name, index in genapi.order_dict(multiarray_api_index): api_item = multiarray_api_dict[name] extension_list.append(api_item.define_from_array_api_string()) init_list.append(api_item.array_api_define()) module_list.append(api_item.internal_define()) # Write to header s = h_template % ('\n'.join(module_list), '\n'.join(extension_list)) genapi.write_file(header_file, s) # Write to c-code s = c_template % ',\n'.join(init_list) genapi.write_file(c_file, s) return targets def main(): parser = argparse.ArgumentParser() parser.add_argument( "-o", "--outdir", type=str, help="Path to the output directory" ) parser.add_argument( "-i", "--ignore", type=str, help="An ignored input - may be useful to add a " "dependency between custom targets" ) args = parser.parse_args() outdir_abs = os.path.join(os.getcwd(), args.outdir) generate_api(outdir_abs) if __name__ == "__main__": main()
SILENT KILLER Tool