#include "matrix.h"
#include "cutil.h"
#include "freelist.h"
#include "callcpp.h"
Go to the source code of this file.
MATRIX create_matrix | ( | int | dimension | ) |
Allocate memory and initilize it.
Allocate a piece of memory to hold a matrix of choice list pointers & initialize all the elements of the matrix to NOT_CLASSIFIED
Definition at line 38 of file matrix.cpp.
References matrix_put, memalloc(), and NOT_CLASSIFIED.
Referenced by record_piece_ratings().
00038 { 00039 MATRIX m; 00040 int x; 00041 int y; 00042 00043 m = (MATRIX) memalloc ((dimension * dimension + 1) * sizeof (LIST)); 00044 m[0] = (LIST) dimension; 00045 for (x = 0; x < dimension; x++) 00046 for (y = 0; y < dimension; y++) 00047 matrix_put(m, x, y, NOT_CLASSIFIED); 00048 return (m); 00049 }
void free_matrix | ( | MATRIX | matrix | ) |
Deallocate the memory taken up by a matrix of match ratings.
Definition at line 56 of file matrix.cpp.
References free_choices, matrix_dimension, matrix_get, memfree(), and NOT_CLASSIFIED.
Referenced by chop_word_main().
00056 { 00057 int x; 00058 int y; 00059 int dimension = matrix_dimension (matrix); 00060 CHOICES matrix_cell; 00061 00062 for (x = 0; x < dimension; x++) { 00063 for (y = 0; y < dimension; y++) { 00064 matrix_cell = matrix_get (matrix, x, y); 00065 if (matrix_cell != NOT_CLASSIFIED) 00066 free_choices(matrix_cell); 00067 } 00068 } 00069 memfree(matrix); 00070 }
void print_matrix | ( | MATRIX | rating_matrix | ) |
Print the best guesses out of the match rating matrix.
Definition at line 77 of file matrix.cpp.
References class_probability, class_string, cprintf(), first, matrix_dimension, matrix_get, new_line, NOT_CLASSIFIED, second, and third.
Referenced by word_associator().
00077 { 00078 int x; 00079 int dimension; 00080 int spread; 00081 CHOICES rating; 00082 00083 cprintf ("Ratings Matrix (top choices)\n"); 00084 00085 dimension = matrix_dimension (rating_matrix); 00086 /* Do each diagonal */ 00087 for (spread = 0; spread < dimension; spread++) { 00088 /* For each spot */ 00089 for (x = 0; x < dimension - spread; x++) { 00090 /* Process one square */ 00091 rating = matrix_get (rating_matrix, x, x + spread); 00092 00093 if (rating != NOT_CLASSIFIED) { 00094 cprintf ("\t[%d,%d] : ", x, x + spread); 00095 if (first (rating)) 00096 cprintf ("%-10s%4.0f\t|\t", 00097 class_string (first (rating)), 00098 class_probability (first (rating))); 00099 if (second (rating)) 00100 cprintf ("%-10s%4.0f\t|\t", 00101 class_string (second (rating)), 00102 class_probability (second (rating))); 00103 if (third (rating)) 00104 cprintf ("%-10s%4.0f\n", 00105 class_string (third (rating)), 00106 class_probability (third (rating))); 00107 else 00108 new_line(); 00109 } 00110 } 00111 } 00112 }