From b86e88413d4c6ec428aaedb147f7675f28882fe4 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Fri, 14 Jul 2023 12:36:50 +0930 Subject: clang-format -i applied to src unittest misc --- src/mbest.c | 206 +++++++++++++++++++++++++++++------------------------------- 1 file changed, 100 insertions(+), 106 deletions(-) (limited to 'src/mbest.c') diff --git a/src/mbest.c b/src/mbest.c index aec4d29..9c1a6c5 100644 --- a/src/mbest.c +++ b/src/mbest.c @@ -27,50 +27,47 @@ */ +#include "mbest.h" + #include #include #include #include #include -#include "mbest.h" - struct MBEST *mbest_create(int entries) { - int i,j; - struct MBEST *mbest; + int i, j; + struct MBEST *mbest; - assert(entries > 0); - mbest = (struct MBEST *)malloc(sizeof(struct MBEST)); - assert(mbest != NULL); + assert(entries > 0); + mbest = (struct MBEST *)malloc(sizeof(struct MBEST)); + assert(mbest != NULL); - mbest->entries = entries; - mbest->list = (struct MBEST_LIST *)malloc(entries*sizeof(struct MBEST_LIST)); - assert(mbest->list != NULL); + mbest->entries = entries; + mbest->list = + (struct MBEST_LIST *)malloc(entries * sizeof(struct MBEST_LIST)); + assert(mbest->list != NULL); - for(i=0; ientries; i++) { - for(j=0; jlist[i].index[j] = 0; - mbest->list[i].error = 1E32; - } + for (i = 0; i < mbest->entries; i++) { + for (j = 0; j < MBEST_STAGES; j++) mbest->list[i].index[j] = 0; + mbest->list[i].error = 1E32; + } - return mbest; + return mbest; } - void mbest_destroy(struct MBEST *mbest) { - assert(mbest != NULL); - free(mbest->list); - free(mbest); + assert(mbest != NULL); + free(mbest->list); + free(mbest); } - /* apply weighting to VQ for efficient VQ search */ void mbest_precompute_weight(float cb[], float w[], int k, int m) { - for (int j=0; jlist; - int entries = mbest->entries; - - found = 0; - for(i=0; ilist; + int entries = mbest->entries; + + found = 0; + for (i = 0; i < entries && !found; i++) + if (error < list[i].error) { + found = 1; + memmove(&list[i + 1], &list[i], + sizeof(struct MBEST_LIST) * (entries - i - 1)); + memcpy(&list[i].index[0], &index[0], sizeof(int) * MBEST_STAGES); + list[i].error = error; + } } - void mbest_print(char title[], struct MBEST *mbest) { - int i,j; - - fprintf(stderr, "%s\n", title); - for(i=0; ientries; i++) { - for(j=0; jlist[i].index[j]); - fprintf(stderr, " %f\n", (double)mbest->list[i].error); - } + int i, j; + + fprintf(stderr, "%s\n", title); + for (i = 0; i < mbest->entries; i++) { + for (j = 0; j < MBEST_STAGES; j++) + fprintf(stderr, " %4d ", mbest->list[i].index[j]); + fprintf(stderr, " %f\n", (double)mbest->list[i].error); + } } - /*---------------------------------------------------------------------------*\ mbest_search @@ -120,49 +116,47 @@ void mbest_print(char title[], struct MBEST *mbest) { \*---------------------------------------------------------------------------*/ -void mbest_search( - const float *cb, /* VQ codebook to search */ - float vec[], /* target vector */ - int k, /* dimension of vector */ - int m, /* number on entries in codebook */ - struct MBEST *mbest, /* list of closest matches */ - int index[] /* indexes that lead us here */ -) -{ - int j; - - /* note weighting can be applied externally by modifying cb[] and vec: - - float e = 0.0; - for(i=0; ilist[mbest->entries - 1].error) - mbest_insert(mbest, index, e); +void mbest_search(const float *cb, /* VQ codebook to search */ + float vec[], /* target vector */ + int k, /* dimension of vector */ + int m, /* number on entries in codebook */ + struct MBEST *mbest, /* list of closest matches */ + int index[] /* indexes that lead us here */ +) { + int j; + + /* note weighting can be applied externally by modifying cb[] and vec: + + float e = 0.0; + for(i=0; ilist[mbest->entries - 1].error) + mbest_insert(mbest, index, e); + } } /*---------------------------------------------------------------------------*\ @@ -174,24 +168,24 @@ void mbest_search( \*---------------------------------------------------------------------------*/ -void mbest_search450(const float *cb, float vec[], float w[], int k,int shorterK, int m, struct MBEST *mbest, int index[]) +void mbest_search450(const float *cb, float vec[], float w[], int k, + int shorterK, int m, struct MBEST *mbest, int index[]) { - float e; - int i,j; - float diff; - - for(j=0; j