/usr/include/linbox/blackbox/sparse.inl is in liblinbox-dev 1.1.6~rc0-4.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /* -*- mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* linbox/blackbox/sparse.inl
* Copyright (C) 1999-2001 William J Turner,
* 2001-2002 Bradford Hovinen
*
* Written by William J Turner <wjturner@math.ncsu.edu>,
* Bradford Hovinen <hovinen@cis.udel.edu>
*
* ------------------------------------
* Modified by Bradford Hovinen <hovinen@cis.udel.edu>
*
* Refactoring:
* - Eliminated SparseMatrixAux and moved that functionality into Sparse0
* - Made SparseMatrixBase parameterized only on the element type
* - New read/write implementations for SparseMatrixBase, supporting multiple
* formats
* - Eliminated Gaussian elimination code
* - Added iterators, including ColOfRowsIterator, RawIterator, and
* RawIndexIterator
* - Eliminated operator []; added getEntry; changed put_value to setEntry
* ------------------------------------
*
* See COPYING for license information.
*/
#ifndef __BLACKBOX_SPARSE_INL
#define __BLACKBOX_SPARSE_INL
#include "linbox/blackbox/sparse.h"
namespace LinBox
{
template <class Field, class BElement, class _Row, class BRow>
SparseMatrix<Field,_Row> *SparseMatrixFactory<Field, BElement, _Row, BRow>::makeBlackbox (const Field &F)
{
SparseMatrix<Field, _Row> *A = new SparseMatrix<Field, _Row> (F, rowdim (), coldim ());
typename SparseMatrixBase<BElement, BRow>::ConstRawIterator i;
typename SparseMatrixBase<BElement, BRow>::ConstRawIndexedIterator j;
for (i = _A.rawBegin (), j = _A.rawIndexedBegin (); i != _A.rawEnd (); ++i, ++j)
F.init (A->refEntry (j.rowIndex (), j.colIndex ()), *i);
return A;
}
}
#endif // __BLACKBOX_SPARSE_INL
|