aboutsummaryrefslogtreecommitdiff
path: root/src/octave.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/octave.c')
-rw-r--r--src/octave.c167
1 files changed, 83 insertions, 84 deletions
diff --git a/src/octave.c b/src/octave.c
index 9fbb9ba..c57bae1 100644
--- a/src/octave.c
+++ b/src/octave.c
@@ -9,7 +9,6 @@
\*---------------------------------------------------------------------------*/
-
/*
Copyright (C) 2012 David Rowe
@@ -27,116 +26,116 @@
along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-#include <stdio.h>
-#include <stdarg.h>
-
#include "octave.h"
+#include <stdarg.h>
+#include <stdio.h>
+
#ifdef ARM_MATH_CM4
#include "Trace.h"
#endif
#define OCTAVE_BUFSIZE 2048
-
-void flush_buffer(FILE* f, char* buffer,size_t* buf_idx_ptr)
-{
+void flush_buffer(FILE* f, char* buffer, size_t* buf_idx_ptr) {
#ifdef ARM_MATH_CM4
- trace_write(buffer,*buf_idx_ptr);
+ trace_write(buffer, *buf_idx_ptr);
#else
- fwrite(buffer,*buf_idx_ptr,1,f);
+ fwrite(buffer, *buf_idx_ptr, 1, f);
#endif
- *buf_idx_ptr = 0;
+ *buf_idx_ptr = 0;
}
-void handle_buffer(FILE* f, char* buffer,const size_t max_buf, size_t* buf_idx_ptr, size_t l)
-{
- *buf_idx_ptr += l;
- if (*buf_idx_ptr > max_buf - 64)
- {
- flush_buffer(f, buffer,buf_idx_ptr);
- }
+void handle_buffer(FILE* f, char* buffer, const size_t max_buf,
+ size_t* buf_idx_ptr, size_t l) {
+ *buf_idx_ptr += l;
+ if (*buf_idx_ptr > max_buf - 64) {
+ flush_buffer(f, buffer, buf_idx_ptr);
+ }
}
-signed int printf_buffer(FILE* f, char* buffer,const size_t max_buf, size_t* buf_idx_ptr, const char *pFormat, ...)
-{
- va_list ap;
- signed int rc;
-
- va_start(ap, pFormat);
- rc = vsnprintf(&buffer[*buf_idx_ptr], max_buf - *buf_idx_ptr, pFormat, ap);
- va_end(ap);
- if (rc>0)
- {
- handle_buffer(f, buffer,max_buf,buf_idx_ptr,rc);
- }
- return rc;
+signed int printf_buffer(FILE* f, char* buffer, const size_t max_buf,
+ size_t* buf_idx_ptr, const char* pFormat, ...) {
+ va_list ap;
+ signed int rc;
+
+ va_start(ap, pFormat);
+ rc = vsnprintf(&buffer[*buf_idx_ptr], max_buf - *buf_idx_ptr, pFormat, ap);
+ va_end(ap);
+ if (rc > 0) {
+ handle_buffer(f, buffer, max_buf, buf_idx_ptr, rc);
+ }
+ return rc;
}
-
-void printf_header(FILE* f, char* buffer,const size_t max_buf, size_t* buf_idx_ptr, const char *name, const char *dtype, int rows, int cols, int isFloat)
-{
+void printf_header(FILE* f, char* buffer, const size_t max_buf,
+ size_t* buf_idx_ptr, const char* name, const char* dtype,
+ int rows, int cols, int isFloat) {
#ifdef ARM_MATH_CM4
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# hex: %s\n", isFloat?"true":"false");
-#endif
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# name: %s\n", name);
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# type: %s\n",dtype);
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# rows: %d\n", rows);
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# columns: %d\n", cols);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# hex: %s\n",
+ isFloat ? "true" : "false");
+#endif
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# name: %s\n", name);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# type: %s\n", dtype);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# rows: %d\n", rows);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# columns: %d\n",
+ cols);
}
-void octave_save_int(FILE *f, char name[], int data[], int rows, int cols)
-{
- int r,c;
- char buffer[OCTAVE_BUFSIZE];
- size_t buf_idx = 0;
-
- printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols, 0);
-
- for(r=0; r<rows; r++) {
- for(c=0; c<cols; c++)
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " %d", data[r*cols+c]);
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n");
- }
-
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n");
- flush_buffer(f, buffer, &buf_idx);
+void octave_save_int(FILE* f, char name[], int data[], int rows, int cols) {
+ int r, c;
+ char buffer[OCTAVE_BUFSIZE];
+ size_t buf_idx = 0;
+
+ printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols,
+ 0);
+
+ for (r = 0; r < rows; r++) {
+ for (c = 0; c < cols; c++)
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " %d",
+ data[r * cols + c]);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n");
+ }
+
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n");
+ flush_buffer(f, buffer, &buf_idx);
}
-void octave_save_float(FILE *f, char name[], float data[], int rows, int cols, int col_len)
-{
- int r,c;
- char buffer[OCTAVE_BUFSIZE];
- size_t buf_idx = 0;
+void octave_save_float(FILE* f, char name[], float data[], int rows, int cols,
+ int col_len) {
+ int r, c;
+ char buffer[OCTAVE_BUFSIZE];
+ size_t buf_idx = 0;
- printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols, 1);
+ printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols,
+ 1);
- for(r=0; r<rows; r++) {
- for(c=0; c<cols; c++)
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " %f", data[r*col_len+c]);
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n");
- }
+ for (r = 0; r < rows; r++) {
+ for (c = 0; c < cols; c++)
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " %f",
+ data[r * col_len + c]);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n");
+ }
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n");
- flush_buffer(f, buffer, &buf_idx);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n");
+ flush_buffer(f, buffer, &buf_idx);
}
+void octave_save_complex(FILE* f, char name[], COMP data[], int rows, int cols,
+ int col_len) {
+ int r, c;
+ char buffer[OCTAVE_BUFSIZE];
+ size_t buf_idx = 0;
-void octave_save_complex(FILE *f, char name[], COMP data[], int rows, int cols, int col_len)
-{
- int r,c;
- char buffer[OCTAVE_BUFSIZE];
- size_t buf_idx = 0;
-
- printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "complex matrix", rows, cols, 1);
-
- for(r=0; r<rows; r++) {
+ printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "complex matrix",
+ rows, cols, 1);
- for(c=0; c<cols; c++)
- {
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " (%f,%f)", data[r*col_len+c].real, data[r*col_len+c].imag);
- }
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n");
+ for (r = 0; r < rows; r++) {
+ for (c = 0; c < cols; c++) {
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " (%f,%f)",
+ data[r * col_len + c].real, data[r * col_len + c].imag);
}
- printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n");
- flush_buffer(f, buffer, &buf_idx);
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n");
+ }
+ printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n");
+ flush_buffer(f, buffer, &buf_idx);
}