X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Ftest%2Ftest_utils.c;fp=src%2Ftest%2Ftest_utils.c;h=0000000000000000000000000000000000000000;hb=f87ff0f5116c0c1c59c5608e46563ff0f79e5d43;hp=96972eebffc90ddddfaf3509fc91daadf23194c1;hpb=53fa233d8fbeaf4d51a4874ba69d8472d01d04ba;p=valse.git diff --git a/src/test/test_utils.c b/src/test/test_utils.c deleted file mode 100644 index 96972ee..0000000 --- a/src/test/test_utils.c +++ /dev/null @@ -1,103 +0,0 @@ -#include -#include -#include -#include -#include "utils.h" - -// Check if array == refArray -void compareArray(const char* ID, const void* array, const void* refArray, int size, - int isinteger) -{ - Real EPS = 1e-5; //precision - printf("Checking %s\n",ID); - Real maxError = 0.0; - for (int i=0; i= maxError) - maxError = error; - } - if (maxError >= EPS) - printf(" Inaccuracy: max(abs(error)) = %g >= %g\n",maxError,EPS); - else - printf(" OK\n"); -} - -void compareArray_real(const char* ID, const void* array, const void* refArray, int size) -{ - return compareArray(ID, array, refArray, size, 0); -} - -void compareArray_int(const char* ID, const void* array, const void* refArray, int size) -{ - return compareArray(ID, array, refArray, size, 1); -} - -// Read array by columns (as in MATLAB) and return by-rows encoding -void* readArray(const char* fileName, int isinteger) -{ - // need to prepend 'data/' (not really nice code...) - char* fullFileName = (char*)calloc(5+strlen(fileName)+1, sizeof(char)); - strcat(fullFileName, "data/"); - strcat(fullFileName, fileName); - - // first pass to know how many elements to allocate - char* command = (char*)calloc(12+strlen(fullFileName)+8+1, sizeof(char)); - strcat(command, "wc -l "); - strcat(command, fullFileName); - FILE *arraySize = popen(command, "r"); - free(command); - char* bufferNum = (char*)calloc(64, sizeof(char)); - fgets(bufferNum, sizeof(bufferNum), arraySize); - int n = atoi(bufferNum); - pclose(arraySize); - - // open file for reading - FILE* arrayFile = fopen(fullFileName, "r"); - free(fullFileName); - - // read all values, and convert them to by-rows matrices format - size_t elementSize = isinteger ? sizeof(int) : sizeof(Real); - void* array = malloc(n*elementSize); - for (int i=0; i