def len_(typesystem, node, obj): # Simplify len(array) to ndarray.shape[0] argtype = get_type(obj) if argtype.is_array: shape_attr = nodes.ArrayAttributeNode('shape', node.args[0]) new_node = nodes.index(shape_attr, 0) return new_node return Py_ssize_t
def len_(context, node, obj): # Simplify len(array) to ndarray.shape[0] argtype = get_type(obj) if argtype.is_array: shape_attr = nodes.ArrayAttributeNode('shape', node.args[0]) new_node = nodes.index(shape_attr, 0) return new_node return Py_ssize_t
def len_(typesystem, node, obj): # Simplify len(array) to ndarray.shape[0] argtype = get_type(obj) if argtype.is_array: shape_attr = nodes.ArrayAttributeNode('shape', node.args[0]) new_node = nodes.index(shape_attr, 0) return new_node elif argtype.is_string: return nodes.CoercionNode(nodes.typednode(node, size_t), Py_ssize_t) return Py_ssize_t # Object call