Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef SCOPLIB_MATRIX_H
00040 # define SCOPLIB_MATRIX_H
00041
00042 # include <stdio.h>
00043 # include <scoplib/macros.h>
00044 # include <scoplib/vector.h>
00045
00046
00047 # if defined(__cplusplus)
00048 extern "C"
00049 {
00050 # endif
00051
00052
00062 struct scoplib_matrix
00063 {
00064 unsigned NbRows;
00065 unsigned NbColumns;
00066 scoplib_int_t ** p;
00068 scoplib_int_t * p_Init;
00070 int p_Init_size;
00072 };
00073 typedef struct scoplib_matrix scoplib_matrix_t;
00074 typedef struct scoplib_matrix * scoplib_matrix_p;
00075
00076
00084 struct scoplib_matrix_list
00085 {
00086 scoplib_matrix_p elt;
00087 struct scoplib_matrix_list* next;
00089 };
00090 typedef struct scoplib_matrix_list scoplib_matrix_list_t;
00091 typedef struct scoplib_matrix_list * scoplib_matrix_list_p;
00092
00093
00094
00095
00096
00097 void scoplib_matrix_print_structure(FILE *, scoplib_matrix_p, int);
00098 void scoplib_matrix_print(FILE *, scoplib_matrix_p);
00099 void scoplib_matrix_print_dot_scop(FILE *, scoplib_matrix_p, int,
00100 int, char **, int, char **,
00101 int, char **);
00102
00103 void scoplib_matrix_list_print_structure(FILE *,
00104 scoplib_matrix_list_p, int);
00105 void scoplib_matrix_list_print(FILE *, scoplib_matrix_list_p);
00106 void scoplib_matrix_list_print_dot_scop(FILE *, scoplib_matrix_list_p,
00107 int, int, char **, int,
00108 char **, int, char **);
00109
00110
00111
00112
00113
00114 scoplib_matrix_p scoplib_matrix_read(FILE *);
00115 scoplib_matrix_list_p scoplib_matrix_list_read(FILE *);
00116 scoplib_matrix_p scoplib_matrix_read_arrays(FILE *, char ***, int *);
00117
00118
00119
00120
00121
00122 scoplib_matrix_p scoplib_matrix_malloc(unsigned, unsigned);
00123 void scoplib_matrix_free_inside(scoplib_matrix_p);
00124 void scoplib_matrix_free(scoplib_matrix_p);
00125
00126 scoplib_matrix_list_p scoplib_matrix_list_malloc();
00127 void scoplib_matrix_list_free(scoplib_matrix_list_p);
00128
00129
00130
00131
00132
00133 scoplib_matrix_p scoplib_matrix_ncopy(scoplib_matrix_p, int);
00134 scoplib_matrix_p scoplib_matrix_copy(scoplib_matrix_p);
00135 void scoplib_matrix_replace_vector(scoplib_matrix_p, scoplib_vector_p, int);
00136 void scoplib_matrix_insert_vector(scoplib_matrix_p, scoplib_vector_p, int);
00137 void scoplib_matrix_add_vector(scoplib_matrix_p, scoplib_vector_p, int);
00138 void scoplib_matrix_sub_vector(scoplib_matrix_p, scoplib_vector_p, int);
00139 scoplib_matrix_p scoplib_matrix_from_vector(scoplib_vector_p);
00140 void scoplib_matrix_replace_matrix(scoplib_matrix_p, scoplib_matrix_p, int);
00141 void scoplib_matrix_insert_matrix(scoplib_matrix_p, scoplib_matrix_p, int);
00142 scoplib_matrix_p scoplib_matrix_concat(scoplib_matrix_p, scoplib_matrix_p);
00143 int scoplib_matrix_equal(scoplib_matrix_p, scoplib_matrix_p);
00144
00145 # if defined(__cplusplus)
00146 }
00147 # endif
00148 #endif