Adapt to coding conventions.
[libfirm] / matrix.h
index a9d26a0..162f761 100644 (file)
--- a/matrix.h
+++ b/matrix.h
@@ -1,3 +1,29 @@
+/*
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ */
+
+/**
+ * @file
+ * @brief   PBQP matrix.
+ * @date    02.10.2008
+ * @author  Sebastian Buchwald
+ * @version $Id$
+ */
 #ifndef KAPS_MATRIX_H
 #define KAPS_MATRIX_H
 
@@ -10,6 +36,8 @@ pbqp_matrix *pbqp_matrix_copy(pbqp *pbqp, pbqp_matrix *m);
 
 pbqp_matrix *pbqp_matrix_copy_and_transpose(pbqp *pbqp, pbqp_matrix *m);
 
+void pbqp_matrix_transpose(pbqp *pbqp, pbqp_matrix *mat);
+
 /* sum += summand */
 void pbqp_matrix_add(pbqp_matrix *sum, pbqp_matrix *summand);
 
@@ -18,6 +46,12 @@ void pbqp_matrix_set(pbqp_matrix *mat, unsigned row, unsigned col, num value);
 num pbqp_matrix_get_col_min(pbqp_matrix *matrix, unsigned col_index, vector *flags);
 num pbqp_matrix_get_row_min(pbqp_matrix *matrix, unsigned row_index, vector *flags);
 
+unsigned pbqp_matrix_get_col_min_index(pbqp_matrix *matrix, unsigned col_index, vector *flags);
+unsigned pbqp_matrix_get_row_min_index(pbqp_matrix *matrix, unsigned row_index, vector *flags);
+
+void pbqp_matrix_set_col_value(pbqp_matrix *mat, unsigned col, num value);
+void pbqp_matrix_set_row_value(pbqp_matrix *mat, unsigned row, num value);
+
 void pbqp_matrix_sub_col_value(pbqp_matrix *matrix, unsigned col_index,
                vector *flags, num value);
 void pbqp_matrix_sub_row_value(pbqp_matrix *matrix, unsigned row_index,
@@ -25,4 +59,7 @@ void pbqp_matrix_sub_row_value(pbqp_matrix *matrix, unsigned row_index,
 
 int pbqp_matrix_is_zero(pbqp_matrix *mat, vector *src_vec, vector *tgt_vec);
 
+void pbqp_matrix_add_to_all_cols(pbqp_matrix *mat, vector *vec);
+void pbqp_matrix_add_to_all_rows(pbqp_matrix *mat, vector *vec);
+
 #endif /* KAPS_MATRIX_H */