From a392bbd0c957a00e3782c96e7ced84a29ff9dd88 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Tue, 15 Mar 2016 05:33:02 +0000
Subject: [PATCH] Play along w/ alphago
---
src/matrix.c | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/src/matrix.c b/src/matrix.c
index 2e7001e..ee14979 100644
--- a/src/matrix.c
+++ b/src/matrix.c
@@ -33,6 +33,35 @@
return (float)correct/truth.rows;
}
+void scale_matrix(matrix m, float scale)
+{
+ int i,j;
+ for(i = 0; i < m.rows; ++i){
+ for(j = 0; j < m.cols; ++j){
+ m.vals[i][j] *= scale;
+ }
+ }
+}
+
+matrix resize_matrix(matrix m, int size)
+{
+ int i;
+ if (m.rows == size) return m;
+ if (m.rows < size) {
+ m.vals = realloc(m.vals, size*sizeof(float*));
+ for (i = m.rows; i < size; ++i) {
+ m.vals[i] = calloc(m.cols, sizeof(float));
+ }
+ } else if (m.rows > size) {
+ for (i = size; i < m.rows; ++i) {
+ free(m.vals[i]);
+ }
+ m.vals = realloc(m.vals, size*sizeof(float*));
+ }
+ m.rows = size;
+ return m;
+}
+
void matrix_add_matrix(matrix from, matrix to)
{
assert(from.rows == to.rows && from.cols == to.cols);
@@ -114,6 +143,19 @@
return m;
}
+void matrix_to_csv(matrix m)
+{
+ int i, j;
+
+ for(i = 0; i < m.rows; ++i){
+ for(j = 0; j < m.cols; ++j){
+ if(j > 0) printf(",");
+ printf("%.17g", m.vals[i][j]);
+ }
+ printf("\n");
+ }
+}
+
void print_matrix(matrix m)
{
int i, j;
--
Gitblit v1.10.0