示例#1
0
        public Vector(IEnumerable <double> data)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            var vec = data.ToArray();

            vector = new igraph_vector_t();
            DllImporter.igraph_vector_init_copy(vector, vec);
        }
示例#2
0
        public Matrix(double[,] mat)
        {
            if (mat == null)
            {
                throw new ArgumentNullException("mat");
            }
            matrix = new igraph_matrix_t();
            var nrows = mat.GetLength(0);
            var ncols = mat.GetLength(1);

            DllImporter.igraph_matrix_init(matrix, nrows, ncols);
            var colwise = new double[ncols * nrows];

            for (var j = 0; j < ncols; j++)
            {
                for (var i = 0; i < nrows; i++)
                {
                    colwise[j * nrows + i] = mat[i, j];
                }
            }
            DllImporter.igraph_vector_init_copy(matrix.data, colwise);
        }