// // Created by frederik on 1/11/25. // #include "MMS24-25.h" #include #include #include #include void info(char* fmt,...) { fprintf(stderr, "[\x1B[37;1m INFO \x1B[0m] \x1B[34m'"); va_list args; va_start(args, fmt); vfprintf(stderr, fmt, args); va_end(args); fprintf(stderr, "'\x1B[0m\n"); } void success(char* fmt,...) { fprintf(stderr, "[\x1B[32;1m PASS \x1B[0m] \x1B[34m'"); va_list args; va_start(args, fmt); vfprintf(stderr, fmt, args); va_end(args); fprintf(stderr, "'\x1B[0m\n"); } void error(const char* fmt, ...) { va_list args; fprintf(stderr, "<\x1B[31;1m ERROR \x1B[0m: \x1B[34m'"); va_start(args, fmt); vfprintf(stderr, fmt, args); va_end(args); fprintf(stderr, "'\x1B[0m >\n"); exit(-1); } void testInterpolation() { info("testInterpolation"); double dRangeMin = -3; double dRangeMax = 3; double dRangeStep = 0.33; for (double dX1=dRangeMin;dX1 (%lf, %lf); %lf", dX1, dY1, dX2, dY2, dX, dR1, dR2); } } } } } success("testInterpolation();"); } void testSineAndReadWriteDoubleArraySingle(int nValues, int dPLen, double dAmp) { info("Trying: %d, %d, %lf", nValues, dPLen, dAmp); char* fileName = NULL; fileName = malloc(100*sizeof(char)); if (fileName == NULL) { error("Could not allocate Memory for `fileName`!"); } sprintf(fileName, "sine_%d_%d_%lf.results.txt", nValues, dPLen, dAmp); double *pdSineValues = generateSineValues( nValues, dPLen, dAmp ); writeDoubleArray( pdSineValues, nValues, fileName ); success("Wrote %d values to %s", nValues, fileName); double *pdReadValues = NULL; int iReadValues = readDoubleArray( fileName, &pdReadValues ); if (iReadValues != nValues) { error("Failed to read the correct number of values: %d != %d", iReadValues, nValues); } success("Read %d values from %s", iReadValues, fileName); for (int i=0; i