MCPcopy Create free account
hub / github.com/ashvardanian/StringZilla / module_reset_capabilities

Function module_reset_capabilities

python/stringzillas.c:1820–1853  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1818 "Side effects: updates stringzillas.__capabilities__ and __capabilities_str__.";
1819
1820static PyObject *module_reset_capabilities(PyObject *self, PyObject *args) {
1821 PyObject *caps_obj = NULL;
1822 if (!PyArg_ParseTuple(args, "O", &caps_obj)) return NULL;
1823
1824 sz_capability_t caps = 0;
1825 if (parse_and_intersect_capabilities(caps_obj, &caps) != 0) return NULL;
1826
1827 // Update the default hardware capabilities
1828 default_hardware_capabilities = caps;
1829
1830 // Recompute and set module-level capability exports
1831 sz_cptr_t cap_strings[SZ_CAPABILITIES_COUNT];
1832 sz_size_t cap_count = sz_capabilities_to_strings_implementation_(caps, cap_strings, SZ_CAPABILITIES_COUNT);
1833 PyObject *caps_tuple = PyTuple_New(cap_count);
1834 if (!caps_tuple) return NULL;
1835 for (sz_size_t i = 0; i < cap_count; i++) {
1836 PyObject *cap_str = PyUnicode_FromString(cap_strings[i]);
1837 if (!cap_str) {
1838 Py_DECREF(caps_tuple);
1839 return NULL;
1840 }
1841 PyTuple_SET_ITEM(caps_tuple, i, cap_str);
1842 }
1843 if (PyObject_SetAttrString(self, "__capabilities__", caps_tuple) != 0) {
1844 Py_DECREF(caps_tuple);
1845 return NULL;
1846 }
1847 Py_DECREF(caps_tuple);
1848
1849 sz_cptr_t caps_str = sz_capabilities_to_string_implementation_(caps);
1850 if (PyObject_SetAttrString(self, "__capabilities_str__", PyUnicode_FromString(caps_str)) != 0) { return NULL; }
1851
1852 Py_RETURN_NONE;
1853}
1854
1855static char const doc_to_device[] = //
1856 "to_device(strs: sz.Strs) -> sz.Strs\n\n"

Callers

nothing calls this directly

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…