var searchIndex = {}; searchIndex["dense_mats"] = {"doc":"This crate contains strided dense tensor implementations.","items":[[4,"StorageOrder","dense_mats","Describe the storage order of a matrix.",null,null],[13,"F","","C storage order, ie column major storage for matrices\nThe dimensions are sorted in decreasing order of variation",0,null],[13,"C","","C storage order, ie row major storage for matrices\nThe dimensions are sorted in increasing order of variation",0,null],[13,"Unordered","","Nothing special can be assumed about the order",0,null],[0,"tensor","","",null,null],[3,"Axis","dense_mats::tensor","A type for indexing an axis of a tensor",null,null],[12,"0","","",1,null],[3,"Tensor","","A simple dense matrix",null,null],[3,"ChunkOuterBlocks","","An iterator over non-overlapping blocks of a tensor,\nalong the least-varying dimension",null,null],[3,"ChunkOuterBlocksMut","","An iterator over non-overlapping mutable blocks of a matrix,\nalong the least-varying dimension",null,null],[3,"Slices","","",null,null],[3,"SlicesMut","","",null,null],[6,"TensorView","","",null,null],[6,"TensorViewMut","","",null,null],[6,"TensorOwned","","",null,null],[6,"MatView","","",null,null],[6,"MatViewMut","","",null,null],[6,"MatOwned","","",null,null],[6,"VecView","","",null,null],[6,"VecViewMut","","",null,null],[6,"VecOwned","","",null,null],[11,"clone","","",1,null],[11,"fmt","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"zeros","","Create an all-zero tensor in C order",2,{"inputs":[{"name":"dimarray"}],"output":{"name":"tensorowned"}}],[11,"zeros_f","","Create an all-zero tensor in F order",2,{"inputs":[{"name":"dimarray"}],"output":{"name":"tensorowned"}}],[11,"ones","","Create an all-one tensor in C order",2,{"inputs":[{"name":"dimarray"}],"output":{"name":"tensorowned"}}],[11,"ones_f","","Create an all-one tensor in F order",2,{"inputs":[{"name":"dimarray"}],"output":{"name":"tensorowned"}}],[11,"ndims","","The number of dimensions of this tensor",2,null],[11,"strides","","The strides of the tensor.",2,null],[11,"strides_ref","","Get the strides by reference",2,null],[11,"data","","Access to the tensors's data",2,null],[11,"shape","","The shape of the tensor",2,null],[11,"shape_ref","","Get the shape by reference",2,null],[11,"is_contiguous","","Returns true if the array is contiguous, ie the fastest varying\naxis has stride 1, and no unused data is present in the array",2,null],[11,"can_ravel","","Checks whether all dimensions except the fastest varying one\nare contiguous. Having that property verified allows flattened\nviews of the tensor using `ravel()`. Otherwise copies have to be done.",2,null],[11,"ordering","","Get the storage order of this tensor",2,null],[11,"outer_dim","","Get the slowest varying dimension index",2,null],[11,"inner_dim","","Get the fastest varying dimension index",2,null],[11,"outer_stride","","The stride for the outer dimension",2,null],[11,"inner_stride","","The stride for the inner dimension",2,null],[11,"outer_shape","","The shape of the outer dimension",2,null],[11,"inner_shape","","The stride for the inner dimension",2,null],[11,"borrowed","","Get a view into this tensor",2,null],[11,"outer_block_iter","","Iteration on outer blocks views of size block_size",2,null],[11,"data_index","","Index into the data array for the given N-dimensional index",2,null],[11,"to_owned","","",2,null],[11,"iter_axis","","Iteration on the given axis",2,null],[11,"slice_dim","","Get a view as a tensor of lower dimension count, by\nslicing into the given axis at the given index",2,null],[11,"diag_view","","Get a view over the tensor's diagonal",2,null],[11,"ravel","","Get a flattened view of the tensor",2,null],[11,"middle_outer_views","","Slice along the least varying dimension of the matrix, from\nindex `start` and taking `count` vectors.",2,null],[11,"outer_block_iter_mut","","Iteration on mutable outer blocks views of size block_size",2,null],[11,"borrowed_mut","","Get a mutable view into this tensor",2,null],[11,"slice_dim_mut","","Get a mutable view as a tensor of lower dimension count, by\nslicing into the given axis at the given index",2,null],[11,"iter_axis_mut","","",2,null],[11,"middle_outer_views_mut","","Slice mutably along the least varying dimension of the matrix, from\nindex `start` and taking `count` vectors.",2,null],[11,"diag_view_mut","","Get a mutable view over the tensor's diagonal",2,null],[11,"index","","",2,null],[11,"index_mut","","",2,null],[11,"new_owned","","Create a dense matrix from owned data",2,null],[11,"eye","","Return the identity matrix of dimension `dim`",2,{"inputs":[{"name":"usize"}],"output":{"name":"matowned"}}],[11,"into_data","","Get the underlying data array as a vector",2,null],[11,"new_mat_view","","Create a view of a matrix implementing DenseMatView",2,null],[11,"rows","","The number of rows of the matrix",2,null],[11,"cols","","The number of cols of the matrix",2,null],[11,"row","","Get a view into the specified row",2,null],[11,"col","","Get a view into the specified column",2,null],[11,"data_mut","","Mutable access to the matrix's data",2,null],[11,"row_mut","","Get a mutable view into the specified row",2,null],[11,"col_mut","","Get a mutable view into the specified column",2,null],[11,"iter","","Iterate over a dense vector's values by reference",2,null],[11,"dim","","The number of dimensions",2,null],[11,"stride","","The stride of this vector",2,null],[11,"iter_mut","","Iterate over a dense vector's values by mutable reference",2,null],[11,"data_mut","","The underlying data as a mutable slice",2,null],[11,"next","","",3,null],[11,"next","","",4,null],[11,"next","","",5,null],[11,"next","","",6,null],[0,"errors","dense_mats","Error type for sprs",null,null],[4,"DMatError","dense_mats::errors","",null,null],[13,"IncompatibleDimensions","","",7,null],[13,"BadWorkspaceDimensions","","",7,null],[13,"IncompatibleStorages","","",7,null],[13,"BadStorageType","","",7,null],[13,"NotImplemented","","",7,null],[13,"OutOfBoundsIndex","","",7,null],[13,"EmptyView","","",7,null],[13,"UnorderedStorage","","",7,null],[13,"ZeroDimTensor","","",7,null],[11,"fmt","","",7,null],[11,"eq","","",7,null],[11,"description","","",7,null],[11,"fmt","","",7,null],[0,"array_like","dense_mats","This module is a simple workaround around the fact that arrays don't\nimplement Copy or Deref (even though in practice they are).\nThis enables asking for arrays as a generic bound",null,null],[8,"ArrayLike","dense_mats::array_like","",null,null],[16,"Pred","","",8,null],[16,"Succ","","",8,null],[10,"remove_val","","",8,null],[11,"ndims","","",8,null],[8,"ArrayLikeMut","","",null,null],[11,"fmt","dense_mats","",0,null],[11,"eq","","",0,null]],"paths":[[4,"StorageOrder"],[3,"Axis"],[3,"Tensor"],[3,"ChunkOuterBlocks"],[3,"ChunkOuterBlocksMut"],[3,"Slices"],[3,"SlicesMut"],[4,"DMatError"],[8,"ArrayLike"]]}; initSearch(searchIndex);