diff options
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 106 |
1 files changed, 53 insertions, 53 deletions
@@ -1,61 +1,61 @@ -#include <stdio.h> #include <assert.h> +#include <stdio.h> #include <string.h> #include "matfile.h" double floats[5] = {0.0, 1.0, 3.14, 2.72, 5.5}; int main(void) { - FILE *fp = fopen("test.mat", "w"); - if (fp == NULL) { - perror("fopen"); - return -1; - } - - // Write File Header - assert(write_header(fp)); - - // Setup Array Dimensions - int32_t dims[2] = {1, 5}; - mData_t dim_data; - dim_data.data = (void *)&dims; - dim_data.tag.type = miINT32; - dim_data.tag.size = 8; - - // Array Flags - mArrayFlags_t flags; - memset(&flags, 0, sizeof(flags)); - flags.global = 0; - flags.complex = 0; - flags.logical = 0; - flags.class = mxDOUBLE_CLASS; - - mData_t flags_data; - flags_data.tag.type = miUINT32; - flags_data.tag.size = 8; - flags_data.data = (void *)&flags; - - // Name - mSmallData_t name; - name.tag.type = miINT8; - name.tag.size = 1; - name.data = 'A'; - - mData_t data; - data.tag.type = miDOUBLE; - data.tag.size = sizeof(floats); - data.data = (void *)floats; - - mTag_t array; - array.type = miMATRIX; - array.size = 96; - - fwrite((void *)&array, 1, sizeof(array), fp); - write_data(fp, flags_data); - write_data(fp, dim_data); - write_small_data(fp, name); - write_data(fp, data); - - fclose(fp); - return 0; + FILE *fp = fopen("test.mat", "w"); + if (fp == NULL) { + perror("fopen"); + return -1; + } + + // Write File Header + assert(write_header(fp)); + + // Setup Array Dimensions + int32_t dims[2] = {1, 5}; + mData_t dim_data; + dim_data.data = (void *)&dims; + dim_data.tag.type = miINT32; + dim_data.tag.size = 8; + + // Array Flags + mArrayFlags_t flags; + memset(&flags, 0, sizeof(flags)); + flags.global = 0; + flags.complex = 0; + flags.logical = 0; + flags.class = mxDOUBLE_CLASS; + + mData_t flags_data; + flags_data.tag.type = miUINT32; + flags_data.tag.size = 8; + flags_data.data = (void *)&flags; + + // Name + mSmallData_t name; + name.tag.type = miINT8; + name.tag.size = 1; + name.data = 'A'; + + mData_t data; + data.tag.type = miDOUBLE; + data.tag.size = sizeof(floats); + data.data = (void *)floats; + + mTag_t array; + array.type = miMATRIX; + array.size = 96; + + fwrite((void *)&array, 1, sizeof(array), fp); + write_data(fp, flags_data); + write_data(fp, dim_data); + write_small_data(fp, name); + write_data(fp, data); + + fclose(fp); + return 0; } |
