diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..2d4d699 Binary files /dev/null and b/.DS_Store differ diff --git a/imageInput.c b/imageInput.c index bb30de1..b433e1b 100644 --- a/imageInput.c +++ b/imageInput.c @@ -3,20 +3,214 @@ #include #include "imageInput.h" +// Größe eines temporären Puffers #define BUFFER_SIZE 100 + +// Fester Header-String, der am Anfang jeder gültigen Bilddatei stehen muss #define FILE_HEADER_STRING "__info2_image_file_format__" -// TODO Implementieren Sie geeignete Hilfsfunktionen für das Lesen der Bildserie aus einer Datei - -// TODO Vervollständigen Sie die Funktion readImages unter Benutzung Ihrer Hilfsfunktionen -GrayScaleImageSeries *readImages(const char *path) +/* + * Prüft den Dateiheader und liest Bildanzahl, Breite und Höhe aus. + * Gibt 1 (true) zurück, wenn alles gültig ist, sonst 0 (false). + */ +static int checkheader(FILE *path, unsigned short *count, unsigned short *width, unsigned short *height) { - GrayScaleImageSeries *series = NULL; - + unsigned int headerlen = strlen(FILE_HEADER_STRING); + unsigned char header[64]; + + // Prüfen, ob der Header-String in den Puffer passt + if (headerlen >= sizeof(header)) + { + return 0; + } + + // Header aus Datei lesen – muss exakt gleich lang sein + if (fread(header, 1, headerlen, path) != headerlen) + { + return 0; + } + + // Header vergleichen – Datei muss mit FILE_HEADER_STRING beginnen + if (strncmp((char *)header, FILE_HEADER_STRING, headerlen) != 0) + { + return 0; + } + + // Danach folgen im File: count, width, height (je 2 Bytes) + if (fread(count, sizeof(unsigned short), 1, path) != 1) + return 0; + + if (fread(width, sizeof(unsigned short), 1, path) != 1) + return 0; + + if (fread(height, sizeof(unsigned short), 1, path) != 1) + return 0; + + return 1; +} + +/* + * Reserviert Speicher für eine Serie von Graustufenbildern. + * Legt: + * - Hauptstruktur + * - Array von Bildern + * - Array von Labels + * - Für jedes Bild einen Pixelpuffer + * an. + */ +static GrayScaleImageSeries *allocateSeries(unsigned short count, unsigned short width, unsigned short height) +{ + // Platz für die Gesamtstruktur anfordern + GrayScaleImageSeries *series = malloc(sizeof(GrayScaleImageSeries)); + if (series == NULL) + { + return NULL; + } + + series->count = count; + + // Arrays für Bilder und Labels anlegen + series->images = calloc(count, sizeof(GrayScaleImage)); + series->labels = calloc(count, sizeof(unsigned char)); + + if (series->images == NULL || series->labels == NULL) + { + return NULL; + } + + // Jedem Bild Höhe, Breite und einen eigenen Pixelpuffer zuweisen + for (unsigned int i = 0; i < count; i++) + { + series->images[i].height = height; + series->images[i].width = width; + + // Für jedes Bild einen Puffer anlegen: width * height Pixel + series->images[i].buffer = calloc(height * width, sizeof(GrayScalePixelType)); + + if (series->images[i].buffer == NULL) + { + // Falls ein Puffer fehlschlägt → alles bisherige wieder freigeben + clearSeries(series); + return NULL; + } + } + return series; } -// TODO Vervollständigen Sie die Funktion clearSeries, welche eine Bildserie vollständig aus dem Speicher freigibt +/* + * Liest die Pixeldaten und Labels aller Bilder aus der Datei. + * Reihenfolge in der Datei je Bild: + * 1. Pixelwerte (width*height Stück) + * 2. 1 Byte Label + */ +static int loadImageData(FILE *file, GrayScaleImageSeries *series, unsigned short count, unsigned short width, unsigned short height) +{ + for (unsigned int i = 0; i < count; i++) + { + size_t pixelCount = width * height; + + // Pixeldaten in den Bildpuffer schreiben + if (fread(series->images[i].buffer, sizeof(GrayScalePixelType), pixelCount, file) != pixelCount) + { + return 0; + } + + // Label lesen (1 Byte) + if (fread(&series->labels[i], sizeof(unsigned char), 1, file) != 1) + { + return 0; + } + } + + return 1; +} + +// Schliesst eine Datei, sofern sie geöffnet ist +static void closefile(FILE *file) +{ + if (file != NULL) + { + fclose(file); + } +} + +/* + * Hauptfunktion zum Einlesen der Bilddaten: + * 1. Datei öffnen + * 2. Header + Metadaten lesen + * 3. Speicher anlegen + * 4. Pixeldaten + Labels laden + * 5. Datei schließen + * 6. Zeiger auf fertige Daten zurückgeben + */ +GrayScaleImageSeries *readImages(const char *path) +{ + unsigned short count, width, height; + GrayScaleImageSeries *series = NULL; + + // Datei im binären Modus öffnen + FILE *file = fopen(path, "rb"); + if (file == NULL) + { + return NULL; + } + + // Header überprüfen und Metadaten lesen + if (!checkheader(file, &count, &width, &height)) + { + closefile(file); + return NULL; + } + + // Speicher für Serie anlegen + series = allocateSeries(count, width, height); + if (series == NULL) + { + closefile(file); + return NULL; + } + + // Bilddaten laden + if (!loadImageData(file, series, count, width, height)) + { + clearSeries(series); + closefile(file); + return NULL; + } + + // Datei schließen und fertige Struktur zurückgeben + closefile(file); + + return series; +} + +/* + * Gibt den gesamten reservierten Speicher der Bildserie wieder frei. + * Dazu: + * - alle Pixelpuffer + * - Bilderarray + * - Labelsarray + * - Hauptstruktur + */ void clearSeries(GrayScaleImageSeries *series) { -} \ No newline at end of file + if (series != NULL) + { + // Erst alle Bildpuffer freigeben + for (unsigned int i = 0; i < series->count; i++) + { + free(series->images[i].buffer); + } + + // Danach Arrays freigeben + free(series->images); + free(series->labels); + + // Am Ende die Struktur selbst + free(series); + } + + // count, width, height müssen nicht auf 0 gesetzt werden, + // da sie bei einer Neu-Allokation sowieso überschrieben werden. +} diff --git a/matrix.c b/matrix.c index bc11915..b2ca76a 100644 --- a/matrix.c +++ b/matrix.c @@ -41,7 +41,7 @@ Matrix createMatrix(unsigned int rows, unsigned int cols) // Erstellt eine neue Matrix mit gegebener Zeilen- und Spaltenanzahl Matrix createMatrix(unsigned int rows, unsigned int cols) { - Matrix matrix = {0, 0, NULL}; // Initialisierung mit leeren Werten + Matrix matrix = {NULL,0, 0}; // Initialisierung mit leeren Werten if (rows == 0 || cols == 0) return matrix; // Ungültige Dimensionen → leere Matrix zurückgeben matrix.rows = rows; @@ -85,7 +85,7 @@ MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int co // Addiert zwei Matrizen miteinander (entweder elementweise oder mit Broadcasting) Matrix add(const Matrix matrix1, const Matrix matrix2) { - Matrix result = {0, 0, NULL}; + Matrix result = {NULL,0, 0}; // Elementweise Addition: gleiche Dimensionen if (matrix1.rows == matrix2.rows && matrix1.cols == matrix2.cols) { @@ -120,7 +120,7 @@ Matrix add(const Matrix matrix1, const Matrix matrix2) // Multipliziert zwei Matrizen miteinander (Matrixmultiplikation) Matrix multiply(const Matrix matrix1, const Matrix matrix2) { - Matrix result = {0, 0, NULL}; + Matrix result = {NULL,0, 0}; if (matrix1.cols != matrix2.rows) return result; // Dimensionen müssen passen: A.cols == B.rows diff --git a/matrix.h b/matrix.h index 00942ca..47a2319 100644 --- a/matrix.h +++ b/matrix.h @@ -8,9 +8,9 @@ typedef float MatrixType; // TODO Matrixtyp definieren // ***************************************************** typedef struct { + MatrixType *buffer; unsigned int rows; unsigned int cols; - MatrixType *buffer; } Matrix; // ***************************************************** diff --git a/neuralNetworkTests.c b/neuralNetworkTests.c index 21ab370..e993e5f 100644 --- a/neuralNetworkTests.c +++ b/neuralNetworkTests.c @@ -8,7 +8,38 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) { - // TODO + FILE *file = fopen(path, "wb"); + if (!file) { + fprintf(stderr, "Fehler: Datei konnte nicht geöffnet werden.\n"); + return; + } + + // Header schreiben + const char *header = "__info2_neural_network_file_format__"; + fwrite(header, sizeof(char), strlen(header), file); + + // Erste Dimension: Input der ersten Schicht + unsigned int inputDim = nn.layers[0].weights.cols; + fwrite(&inputDim, sizeof(unsigned int), 1, file); + + // Für jede Schicht + for (int i = 0; i < nn.numberOfLayers; i++) { + Layer layer = nn.layers[i]; + + // Output-Dimension + unsigned int outputDim = layer.weights.rows; + fwrite(&outputDim, sizeof(unsigned int), 1, file); + + // Weights + fwrite(layer.weights.buffer, sizeof(MatrixType), + layer.weights.rows * layer.weights.cols, file); + + // Biases + fwrite(layer.biases.buffer, sizeof(MatrixType), + layer.biases.rows * layer.biases.cols, file); + } + + fclose(file); } void test_loadModelReturnsCorrectNumberOfLayers(void) diff --git a/runImageInputTests.dSYM/Contents/Info.plist b/runImageInputTests.dSYM/Contents/Info.plist new file mode 100644 index 0000000..cfe5e59 --- /dev/null +++ b/runImageInputTests.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.runImageInputTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/runImageInputTests.dSYM/Contents/Resources/DWARF/runImageInputTests b/runImageInputTests.dSYM/Contents/Resources/DWARF/runImageInputTests new file mode 100644 index 0000000..920bb89 Binary files /dev/null and b/runImageInputTests.dSYM/Contents/Resources/DWARF/runImageInputTests differ diff --git a/runImageInputTests.dSYM/Contents/Resources/Relocations/x86_64/runImageInputTests.yml b/runImageInputTests.dSYM/Contents/Resources/Relocations/x86_64/runImageInputTests.yml new file mode 100644 index 0000000..17b9bf4 --- /dev/null +++ b/runImageInputTests.dSYM/Contents/Resources/Relocations/x86_64/runImageInputTests.yml @@ -0,0 +1,110 @@ +--- +triple: 'x86_64-apple-darwin' +binary-path: runImageInputTests +relocations: + - { offset: 0x26, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectNumberOfImages, symObjAddr: 0x0, symBinAddr: 0x100000A80, symSize: 0xB0 } + - { offset: 0x6E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectNumberOfImages, symObjAddr: 0x0, symBinAddr: 0x100000A80, symSize: 0xB0 } + - { offset: 0xAE, size: 0x8, addend: 0x0, symName: _prepareImageFile, symObjAddr: 0xB0, symBinAddr: 0x100000B30, symSize: 0x160 } + - { offset: 0x15E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectImageWidth, symObjAddr: 0x210, symBinAddr: 0x100000C90, symSize: 0x130 } + - { offset: 0x19E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectImageHeight, symObjAddr: 0x340, symBinAddr: 0x100000DC0, symSize: 0x130 } + - { offset: 0x1DE, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectLabels, symObjAddr: 0x470, symBinAddr: 0x100000EF0, symSize: 0x130 } + - { offset: 0x23A, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsNullOnNotExistingPath, symObjAddr: 0x5A0, symBinAddr: 0x100001020, symSize: 0x50 } + - { offset: 0x25E, size: 0x8, addend: 0x0, symName: _test_readImagesFailsOnWrongFileTag, symObjAddr: 0x5F0, symBinAddr: 0x100001070, symSize: 0x90 } + - { offset: 0x290, size: 0x8, addend: 0x0, symName: _setUp, symObjAddr: 0x680, symBinAddr: 0x100001100, symSize: 0x10 } + - { offset: 0x2A5, size: 0x8, addend: 0x0, symName: _tearDown, symObjAddr: 0x690, symBinAddr: 0x100001110, symSize: 0x10 } + - { offset: 0x2BA, size: 0x8, addend: 0x0, symName: _main, symObjAddr: 0x6A0, symBinAddr: 0x100001120, symSize: 0xC4 } + - { offset: 0x569, size: 0x8, addend: 0x0, symName: _readImages, symObjAddr: 0x0, symBinAddr: 0x1000011F0, symSize: 0x120 } + - { offset: 0x58A, size: 0x8, addend: 0x0, symName: _readImages, symObjAddr: 0x0, symBinAddr: 0x1000011F0, symSize: 0x120 } + - { offset: 0x5F8, size: 0x8, addend: 0x0, symName: _checkheader, symObjAddr: 0x120, symBinAddr: 0x100001310, symSize: 0x160 } + - { offset: 0x66C, size: 0x8, addend: 0x0, symName: _closefile, symObjAddr: 0x280, symBinAddr: 0x100001470, symSize: 0x30 } + - { offset: 0x690, size: 0x8, addend: 0x0, symName: _allocateSeries, symObjAddr: 0x2B0, symBinAddr: 0x1000014A0, symSize: 0x180 } + - { offset: 0x6FE, size: 0x8, addend: 0x0, symName: _loadImageData, symObjAddr: 0x430, symBinAddr: 0x100001620, symSize: 0xE0 } + - { offset: 0x796, size: 0x8, addend: 0x0, symName: _clearSeries, symObjAddr: 0x510, symBinAddr: 0x100001700, symSize: 0x7D } + - { offset: 0xAB0, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x100001780, symSize: 0x60 } + - { offset: 0xAC9, size: 0x8, addend: 0x0, symName: _UnityStrOk, symObjAddr: 0x4390, symBinAddr: 0x100005CD0, symSize: 0x0 } + - { offset: 0xAFD, size: 0x8, addend: 0x0, symName: _UnityStrPass, symObjAddr: 0x4393, symBinAddr: 0x100005CD3, symSize: 0x0 } + - { offset: 0xB1E, size: 0x8, addend: 0x0, symName: _UnityStrFail, symObjAddr: 0x4398, symBinAddr: 0x100005CD8, symSize: 0x0 } + - { offset: 0xB33, size: 0x8, addend: 0x0, symName: _UnityStrIgnore, symObjAddr: 0x439D, symBinAddr: 0x100005CDD, symSize: 0x0 } + - { offset: 0xB54, size: 0x8, addend: 0x0, symName: _UnityStrErrShorthand, symObjAddr: 0x43B0, symBinAddr: 0x100005CF0, symSize: 0x0 } + - { offset: 0xB75, size: 0x8, addend: 0x0, symName: _UnityStrErrFloat, symObjAddr: 0x43E0, symBinAddr: 0x100005D20, symSize: 0x0 } + - { offset: 0xB96, size: 0x8, addend: 0x0, symName: _UnityStrErrDouble, symObjAddr: 0x4400, symBinAddr: 0x100005D40, symSize: 0x0 } + - { offset: 0xBB7, size: 0x8, addend: 0x0, symName: _UnityStrErr64, symObjAddr: 0x4420, symBinAddr: 0x100005D60, symSize: 0x0 } + - { offset: 0xBCC, size: 0x8, addend: 0x0, symName: _UnityStrErrDetailStack, symObjAddr: 0x4440, symBinAddr: 0x100005D80, symSize: 0x0 } + - { offset: 0xBE1, size: 0x8, addend: 0x0, symName: _UnityPrintFloat, symObjAddr: 0x5D0, symBinAddr: 0x100001D50, symSize: 0x6D0 } + - { offset: 0xC04, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.sig_digits, symObjAddr: 0x4464, symBinAddr: 0x100005DA4, symSize: 0x0 } + - { offset: 0xC1A, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.min_scaled, symObjAddr: 0x4468, symBinAddr: 0x100005DA8, symSize: 0x0 } + - { offset: 0xC30, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.max_scaled, symObjAddr: 0x446C, symBinAddr: 0x100005DAC, symSize: 0x0 } + - { offset: 0xE00, size: 0x8, addend: 0x0, symName: _Unity, symBinAddr: 0x100007008, symSize: 0x0 } + - { offset: 0xEE8, size: 0x8, addend: 0x0, symName: _UnityQuickCompare, symObjAddr: 0xAE68, symBinAddr: 0x100007000, symSize: 0x0 } + - { offset: 0xF81, size: 0x8, addend: 0x0, symName: _UnityStrExpected, symObjAddr: 0x4470, symBinAddr: 0x100005DB0, symSize: 0x0 } + - { offset: 0xFA2, size: 0x8, addend: 0x0, symName: _UnityStrWas, symObjAddr: 0x447B, symBinAddr: 0x100005DBB, symSize: 0x0 } + - { offset: 0xFC3, size: 0x8, addend: 0x0, symName: _UnityStrSpacer, symObjAddr: 0x4605, symBinAddr: 0x100005F45, symSize: 0x0 } + - { offset: 0xFD8, size: 0x8, addend: 0x0, symName: _UnityStrDetail1Name, symObjAddr: 0x4608, symBinAddr: 0x100005F48, symSize: 0x0 } + - { offset: 0xFF9, size: 0x8, addend: 0x0, symName: _UnityStrDetail2Name, symObjAddr: 0x4612, symBinAddr: 0x100005F52, symSize: 0x0 } + - { offset: 0x100E, size: 0x8, addend: 0x0, symName: _UnityStrGt, symObjAddr: 0x4490, symBinAddr: 0x100005DD0, symSize: 0x0 } + - { offset: 0x102F, size: 0x8, addend: 0x0, symName: _UnityStrLt, symObjAddr: 0x44B0, symBinAddr: 0x100005DF0, symSize: 0x0 } + - { offset: 0x1050, size: 0x8, addend: 0x0, symName: _UnityStrOrEqual, symObjAddr: 0x44C2, symBinAddr: 0x100005E02, symSize: 0x0 } + - { offset: 0x1071, size: 0x8, addend: 0x0, symName: _UnityStrNotEqual, symObjAddr: 0x44D0, symBinAddr: 0x100005E10, symSize: 0x0 } + - { offset: 0x1086, size: 0x8, addend: 0x0, symName: _UnityStrPointless, symObjAddr: 0x44F0, symBinAddr: 0x100005E30, symSize: 0x0 } + - { offset: 0x10A7, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForExpected, symObjAddr: 0x4620, symBinAddr: 0x100005F60, symSize: 0x0 } + - { offset: 0x10C8, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForActual, symObjAddr: 0x4640, symBinAddr: 0x100005F80, symSize: 0x0 } + - { offset: 0x10E9, size: 0x8, addend: 0x0, symName: _UnityStrElement, symObjAddr: 0x4527, symBinAddr: 0x100005E67, symSize: 0x0 } + - { offset: 0x10FE, size: 0x8, addend: 0x0, symName: _UnityStrInf, symObjAddr: 0x4531, symBinAddr: 0x100005E71, symSize: 0x0 } + - { offset: 0x111F, size: 0x8, addend: 0x0, symName: _UnityStrNegInf, symObjAddr: 0x4540, symBinAddr: 0x100005E80, symSize: 0x0 } + - { offset: 0x1134, size: 0x8, addend: 0x0, symName: _UnityStrNaN, symObjAddr: 0x4552, symBinAddr: 0x100005E92, symSize: 0x0 } + - { offset: 0x1155, size: 0x8, addend: 0x0, symName: _UnityStrDet, symObjAddr: 0x4556, symBinAddr: 0x100005E96, symSize: 0x0 } + - { offset: 0x1176, size: 0x8, addend: 0x0, symName: _UnityStrInvalidFloatTrait, symObjAddr: 0x4570, symBinAddr: 0x100005EB0, symSize: 0x0 } + - { offset: 0x1197, size: 0x8, addend: 0x0, symName: _UnityStrNot, symObjAddr: 0x4584, symBinAddr: 0x100005EC4, symSize: 0x0 } + - { offset: 0x11AC, size: 0x8, addend: 0x0, symName: _UnityStrDelta, symObjAddr: 0x4590, symBinAddr: 0x100005ED0, symSize: 0x0 } + - { offset: 0x11CD, size: 0x8, addend: 0x0, symName: _UnityStrNull, symObjAddr: 0x4659, symBinAddr: 0x100005F99, symSize: 0x0 } + - { offset: 0x11E2, size: 0x8, addend: 0x0, symName: _UnityStrMemory, symObjAddr: 0x45B0, symBinAddr: 0x100005EF0, symSize: 0x0 } + - { offset: 0x11F7, size: 0x8, addend: 0x0, symName: _UnityStrByte, symObjAddr: 0x45C2, symBinAddr: 0x100005F02, symSize: 0x0 } + - { offset: 0x120C, size: 0x8, addend: 0x0, symName: _UnityStrBreaker, symObjAddr: 0x45D0, symBinAddr: 0x100005F10, symSize: 0x0 } + - { offset: 0x122D, size: 0x8, addend: 0x0, symName: _UnityStrResultsTests, symObjAddr: 0x45E8, symBinAddr: 0x100005F28, symSize: 0x0 } + - { offset: 0x124E, size: 0x8, addend: 0x0, symName: _UnityStrResultsFailures, symObjAddr: 0x45F0, symBinAddr: 0x100005F30, symSize: 0x0 } + - { offset: 0x1263, size: 0x8, addend: 0x0, symName: _UnityStrResultsIgnored, symObjAddr: 0x45FB, symBinAddr: 0x100005F3B, symSize: 0x0 } + - { offset: 0x13DC, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x100001780, symSize: 0x60 } + - { offset: 0x140E, size: 0x8, addend: 0x0, symName: _UnityPrintChar, symObjAddr: 0x60, symBinAddr: 0x1000017E0, symSize: 0xD0 } + - { offset: 0x1432, size: 0x8, addend: 0x0, symName: _UnityPrintLen, symObjAddr: 0x130, symBinAddr: 0x1000018B0, symSize: 0x130 } + - { offset: 0x1472, size: 0x8, addend: 0x0, symName: _UnityPrintNumberHex, symObjAddr: 0x260, symBinAddr: 0x1000019E0, symSize: 0x90 } + - { offset: 0x14C5, size: 0x8, addend: 0x0, symName: _UnityPrintIntNumberByStyle, symObjAddr: 0x2F0, symBinAddr: 0x100001A70, symSize: 0x100 } + - { offset: 0x14F7, size: 0x8, addend: 0x0, symName: _UnityPrintNumber, symObjAddr: 0x3F0, symBinAddr: 0x100001B70, symSize: 0x50 } + - { offset: 0x1529, size: 0x8, addend: 0x0, symName: _UnityPrintUintNumberByStyle, symObjAddr: 0x440, symBinAddr: 0x100001BC0, symSize: 0x60 } + - { offset: 0x155B, size: 0x8, addend: 0x0, symName: _UnityPrintNumberUnsigned, symObjAddr: 0x4A0, symBinAddr: 0x100001C20, symSize: 0x90 } + - { offset: 0x1590, size: 0x8, addend: 0x0, symName: _UnityPrintMask, symObjAddr: 0x530, symBinAddr: 0x100001CB0, symSize: 0xA0 } + - { offset: 0x1673, size: 0x8, addend: 0x0, symName: _UnityConcludeTest, symObjAddr: 0xCA0, symBinAddr: 0x100002420, symSize: 0xC0 } + - { offset: 0x1689, size: 0x8, addend: 0x0, symName: _UnityTestResultsBegin, symObjAddr: 0xD60, symBinAddr: 0x1000024E0, symSize: 0x60 } + - { offset: 0x16BE, size: 0x8, addend: 0x0, symName: _UnityAssertBits, symObjAddr: 0xDC0, symBinAddr: 0x100002540, symSize: 0xE0 } + - { offset: 0x1720, size: 0x8, addend: 0x0, symName: _UnityTestResultsFailBegin, symObjAddr: 0xEA0, symBinAddr: 0x100002620, symSize: 0x40 } + - { offset: 0x1746, size: 0x8, addend: 0x0, symName: _UnityAddMsgIfSpecified, symObjAddr: 0xEE0, symBinAddr: 0x100002660, symSize: 0xA0 } + - { offset: 0x176C, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntNumber, symObjAddr: 0xF80, symBinAddr: 0x100002700, symSize: 0xD0 } + - { offset: 0x17CE, size: 0x8, addend: 0x0, symName: _UnityAssertEqualUintNumber, symObjAddr: 0x1050, symBinAddr: 0x1000027D0, symSize: 0xD0 } + - { offset: 0x1830, size: 0x8, addend: 0x0, symName: _UnityAssertIntGreaterOrLessOrEqualNumber, symObjAddr: 0x1120, symBinAddr: 0x1000028A0, symSize: 0x1A0 } + - { offset: 0x18B0, size: 0x8, addend: 0x0, symName: _UnityAssertUintGreaterOrLessOrEqualNumber, symObjAddr: 0x12C0, symBinAddr: 0x100002A40, symSize: 0x1A0 } + - { offset: 0x1930, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntArray, symObjAddr: 0x1460, symBinAddr: 0x100002BE0, symSize: 0x3C0 } + - { offset: 0x1A28, size: 0x8, addend: 0x0, symName: _UnityIsOneArrayNull, symObjAddr: 0x1820, symBinAddr: 0x100002FA0, symSize: 0xB0 } + - { offset: 0x1A7F, size: 0x8, addend: 0x0, symName: _UnityAssertWithinFloatArray, symObjAddr: 0x18D0, symBinAddr: 0x100003050, symSize: 0x460 } + - { offset: 0x1C09, size: 0x8, addend: 0x0, symName: _UnityFloatsWithin, symObjAddr: 0x1D30, symBinAddr: 0x1000034B0, symSize: 0x5F0 } + - { offset: 0x1E8D, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsWithin, symObjAddr: 0x2320, symBinAddr: 0x100003AA0, symSize: 0xE0 } + - { offset: 0x1EEF, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsNotWithin, symObjAddr: 0x2400, symBinAddr: 0x100003B80, symSize: 0xE0 } + - { offset: 0x1F51, size: 0x8, addend: 0x0, symName: _UnityAssertGreaterOrLessFloat, symObjAddr: 0x24E0, symBinAddr: 0x100003C60, symSize: 0x1A0 } + - { offset: 0x1FC2, size: 0x8, addend: 0x0, symName: _UnityAssertFloatSpecial, symObjAddr: 0x2680, symBinAddr: 0x100003E00, symSize: 0x600 } + - { offset: 0x21AC, size: 0x8, addend: 0x0, symName: _UnityAssertIntNumbersWithin, symObjAddr: 0x2C80, symBinAddr: 0x100004400, symSize: 0x150 } + - { offset: 0x221D, size: 0x8, addend: 0x0, symName: _UnityAssertUintNumbersWithin, symObjAddr: 0x2DD0, symBinAddr: 0x100004550, symSize: 0x150 } + - { offset: 0x228E, size: 0x8, addend: 0x0, symName: _UnityAssertNumbersArrayWithin, symObjAddr: 0x2F20, symBinAddr: 0x1000046A0, symSize: 0x4E0 } + - { offset: 0x2396, size: 0x8, addend: 0x0, symName: _UnityAssertEqualString, symObjAddr: 0x3400, symBinAddr: 0x100004B80, symSize: 0x180 } + - { offset: 0x23F8, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStrings, symObjAddr: 0x3580, symBinAddr: 0x100004D00, symSize: 0xA0 } + - { offset: 0x242D, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringLen, symObjAddr: 0x3620, symBinAddr: 0x100004DA0, symSize: 0x1A0 } + - { offset: 0x249E, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStringsLen, symObjAddr: 0x37C0, symBinAddr: 0x100004F40, symSize: 0xB0 } + - { offset: 0x24E2, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringArray, symObjAddr: 0x3870, symBinAddr: 0x100004FF0, symSize: 0x2B0 } + - { offset: 0x2590, size: 0x8, addend: 0x0, symName: _UnityAssertEqualMemory, symObjAddr: 0x3B20, symBinAddr: 0x1000052A0, symSize: 0x2A0 } + - { offset: 0x264C, size: 0x8, addend: 0x0, symName: _UnityNumToPtr, symObjAddr: 0x3DC0, symBinAddr: 0x100005540, symSize: 0xB0 } + - { offset: 0x2685, size: 0x8, addend: 0x0, symName: _UnityFloatToPtr, symObjAddr: 0x3E70, symBinAddr: 0x1000055F0, symSize: 0x20 } + - { offset: 0x26AF, size: 0x8, addend: 0x0, symName: _UnityFail, symObjAddr: 0x3E90, symBinAddr: 0x100005610, symSize: 0xA0 } + - { offset: 0x26E4, size: 0x8, addend: 0x0, symName: _UnityIgnore, symObjAddr: 0x3F30, symBinAddr: 0x1000056B0, symSize: 0xC0 } + - { offset: 0x2719, size: 0x8, addend: 0x0, symName: _UnityMessage, symObjAddr: 0x3FF0, symBinAddr: 0x100005770, symSize: 0x70 } + - { offset: 0x274E, size: 0x8, addend: 0x0, symName: _UnityDefaultTestRun, symObjAddr: 0x4060, symBinAddr: 0x1000057E0, symSize: 0xD0 } + - { offset: 0x2792, size: 0x8, addend: 0x0, symName: _UnitySetTestFile, symObjAddr: 0x4130, symBinAddr: 0x1000058B0, symSize: 0x20 } + - { offset: 0x27B8, size: 0x8, addend: 0x0, symName: _UnityBegin, symObjAddr: 0x4150, symBinAddr: 0x1000058D0, symSize: 0xA0 } + - { offset: 0x27DE, size: 0x8, addend: 0x0, symName: _UnityEnd, symObjAddr: 0x41F0, symBinAddr: 0x100005970, symSize: 0xC8 } +... diff --git a/runMatrixTests.dSYM/Contents/Info.plist b/runMatrixTests.dSYM/Contents/Info.plist new file mode 100644 index 0000000..53f0f1a --- /dev/null +++ b/runMatrixTests.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.runMatrixTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests b/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests new file mode 100644 index 0000000..820a9e9 Binary files /dev/null and b/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests differ diff --git a/runMatrixTests.dSYM/Contents/Resources/Relocations/x86_64/runMatrixTests.yml b/runMatrixTests.dSYM/Contents/Resources/Relocations/x86_64/runMatrixTests.yml new file mode 100644 index 0000000..dbcd55b --- /dev/null +++ b/runMatrixTests.dSYM/Contents/Resources/Relocations/x86_64/runMatrixTests.yml @@ -0,0 +1,115 @@ +--- +triple: 'x86_64-apple-darwin' +binary-path: runMatrixTests +relocations: + - { offset: 0x26, size: 0x8, addend: 0x0, symName: _test_createMatrixFailsOnZeroDimensions, symObjAddr: 0x0, symBinAddr: 0x100001130, symSize: 0x100 } + - { offset: 0x5D, size: 0x8, addend: 0x0, symName: _test_createMatrixFailsOnZeroDimensions, symObjAddr: 0x0, symBinAddr: 0x100001130, symSize: 0x100 } + - { offset: 0x8F, size: 0x8, addend: 0x0, symName: _test_createMatrixReturnsCorrectMatrixDimensions, symObjAddr: 0x100, symBinAddr: 0x100001230, symSize: 0x80 } + - { offset: 0xCF, size: 0x8, addend: 0x0, symName: _test_clearMatrixSetsMembersToNull, symObjAddr: 0x180, symBinAddr: 0x1000012B0, symSize: 0x90 } + - { offset: 0xF3, size: 0x8, addend: 0x0, symName: _test_addReturnsCorrectResult, symObjAddr: 0x210, symBinAddr: 0x100001340, symSize: 0x1E0 } + - { offset: 0x161, size: 0x8, addend: 0x0, symName: _test_addFailsOnDifferentInputDimensions, symObjAddr: 0x3F0, symBinAddr: 0x100001520, symSize: 0x140 } + - { offset: 0x1C0, size: 0x8, addend: 0x0, symName: _test_addSupportsBroadcasting, symObjAddr: 0x530, symBinAddr: 0x100001660, symSize: 0x220 } + - { offset: 0x23C, size: 0x8, addend: 0x0, symName: _test_multiplyReturnsCorrectResults, symObjAddr: 0x750, symBinAddr: 0x100001880, symSize: 0x1B0 } + - { offset: 0x2AB, size: 0x8, addend: 0x0, symName: _test_multiplyFailsOnWrongInputDimensions, symObjAddr: 0x900, symBinAddr: 0x100001A30, symSize: 0x140 } + - { offset: 0x30A, size: 0x8, addend: 0x0, symName: _test_getMatrixAtReturnsCorrectResult, symObjAddr: 0xA40, symBinAddr: 0x100001B70, symSize: 0xB0 } + - { offset: 0x34A, size: 0x8, addend: 0x0, symName: _test_getMatrixAtFailsOnIndicesOutOfRange, symObjAddr: 0xAF0, symBinAddr: 0x100001C20, symSize: 0xA0 } + - { offset: 0x37C, size: 0x8, addend: 0x0, symName: _test_setMatrixAtSetsCorrectValue, symObjAddr: 0xB90, symBinAddr: 0x100001CC0, symSize: 0xC0 } + - { offset: 0x3BC, size: 0x8, addend: 0x0, symName: _test_setMatrixAtFailsOnIndicesOutOfRange, symObjAddr: 0xC50, symBinAddr: 0x100001D80, symSize: 0xC0 } + - { offset: 0x3FE, size: 0x8, addend: 0x0, symName: _setUp, symObjAddr: 0xD10, symBinAddr: 0x100001E40, symSize: 0x10 } + - { offset: 0x413, size: 0x8, addend: 0x0, symName: _tearDown, symObjAddr: 0xD20, symBinAddr: 0x100001E50, symSize: 0x10 } + - { offset: 0x428, size: 0x8, addend: 0x0, symName: _main, symObjAddr: 0xD30, symBinAddr: 0x100001E60, symSize: 0x154 } + - { offset: 0x515, size: 0x8, addend: 0x0, symName: _createMatrix, symObjAddr: 0x0, symBinAddr: 0x100001FC0, symSize: 0x90 } + - { offset: 0x522, size: 0x8, addend: 0x0, symName: _createMatrix, symObjAddr: 0x0, symBinAddr: 0x100001FC0, symSize: 0x90 } + - { offset: 0x566, size: 0x8, addend: 0x0, symName: _clearMatrix, symObjAddr: 0x90, symBinAddr: 0x100002050, symSize: 0x50 } + - { offset: 0x58A, size: 0x8, addend: 0x0, symName: _setMatrixAt, symObjAddr: 0xE0, symBinAddr: 0x1000020A0, symSize: 0x60 } + - { offset: 0x5D8, size: 0x8, addend: 0x0, symName: _getMatrixAt, symObjAddr: 0x140, symBinAddr: 0x100002100, symSize: 0x70 } + - { offset: 0x61C, size: 0x8, addend: 0x0, symName: _add, symObjAddr: 0x1B0, symBinAddr: 0x100002170, symSize: 0x230 } + - { offset: 0x700, size: 0x8, addend: 0x0, symName: _multiply, symObjAddr: 0x3E0, symBinAddr: 0x1000023A0, symSize: 0x14C } + - { offset: 0x83A, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x1000024F0, symSize: 0x60 } + - { offset: 0x853, size: 0x8, addend: 0x0, symName: _UnityStrOk, symObjAddr: 0x4390, symBinAddr: 0x100006AA0, symSize: 0x0 } + - { offset: 0x887, size: 0x8, addend: 0x0, symName: _UnityStrPass, symObjAddr: 0x4393, symBinAddr: 0x100006AA3, symSize: 0x0 } + - { offset: 0x8A8, size: 0x8, addend: 0x0, symName: _UnityStrFail, symObjAddr: 0x4398, symBinAddr: 0x100006AA8, symSize: 0x0 } + - { offset: 0x8BD, size: 0x8, addend: 0x0, symName: _UnityStrIgnore, symObjAddr: 0x439D, symBinAddr: 0x100006AAD, symSize: 0x0 } + - { offset: 0x8DE, size: 0x8, addend: 0x0, symName: _UnityStrErrShorthand, symObjAddr: 0x43B0, symBinAddr: 0x100006AC0, symSize: 0x0 } + - { offset: 0x8FF, size: 0x8, addend: 0x0, symName: _UnityStrErrFloat, symObjAddr: 0x43E0, symBinAddr: 0x100006AF0, symSize: 0x0 } + - { offset: 0x920, size: 0x8, addend: 0x0, symName: _UnityStrErrDouble, symObjAddr: 0x4400, symBinAddr: 0x100006B10, symSize: 0x0 } + - { offset: 0x941, size: 0x8, addend: 0x0, symName: _UnityStrErr64, symObjAddr: 0x4420, symBinAddr: 0x100006B30, symSize: 0x0 } + - { offset: 0x956, size: 0x8, addend: 0x0, symName: _UnityStrErrDetailStack, symObjAddr: 0x4440, symBinAddr: 0x100006B50, symSize: 0x0 } + - { offset: 0x96B, size: 0x8, addend: 0x0, symName: _UnityPrintFloat, symObjAddr: 0x5D0, symBinAddr: 0x100002AC0, symSize: 0x6D0 } + - { offset: 0x98E, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.sig_digits, symObjAddr: 0x4464, symBinAddr: 0x100006B74, symSize: 0x0 } + - { offset: 0x9A4, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.min_scaled, symObjAddr: 0x4468, symBinAddr: 0x100006B78, symSize: 0x0 } + - { offset: 0x9BA, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.max_scaled, symObjAddr: 0x446C, symBinAddr: 0x100006B7C, symSize: 0x0 } + - { offset: 0xB8A, size: 0x8, addend: 0x0, symName: _Unity, symBinAddr: 0x100008008, symSize: 0x0 } + - { offset: 0xC72, size: 0x8, addend: 0x0, symName: _UnityQuickCompare, symObjAddr: 0xAE68, symBinAddr: 0x100008000, symSize: 0x0 } + - { offset: 0xD0B, size: 0x8, addend: 0x0, symName: _UnityStrExpected, symObjAddr: 0x4470, symBinAddr: 0x100006B80, symSize: 0x0 } + - { offset: 0xD2C, size: 0x8, addend: 0x0, symName: _UnityStrWas, symObjAddr: 0x447B, symBinAddr: 0x100006B8B, symSize: 0x0 } + - { offset: 0xD4D, size: 0x8, addend: 0x0, symName: _UnityStrSpacer, symObjAddr: 0x4605, symBinAddr: 0x100006D15, symSize: 0x0 } + - { offset: 0xD62, size: 0x8, addend: 0x0, symName: _UnityStrDetail1Name, symObjAddr: 0x4608, symBinAddr: 0x100006D18, symSize: 0x0 } + - { offset: 0xD83, size: 0x8, addend: 0x0, symName: _UnityStrDetail2Name, symObjAddr: 0x4612, symBinAddr: 0x100006D22, symSize: 0x0 } + - { offset: 0xD98, size: 0x8, addend: 0x0, symName: _UnityStrGt, symObjAddr: 0x4490, symBinAddr: 0x100006BA0, symSize: 0x0 } + - { offset: 0xDB9, size: 0x8, addend: 0x0, symName: _UnityStrLt, symObjAddr: 0x44B0, symBinAddr: 0x100006BC0, symSize: 0x0 } + - { offset: 0xDDA, size: 0x8, addend: 0x0, symName: _UnityStrOrEqual, symObjAddr: 0x44C2, symBinAddr: 0x100006BD2, symSize: 0x0 } + - { offset: 0xDFB, size: 0x8, addend: 0x0, symName: _UnityStrNotEqual, symObjAddr: 0x44D0, symBinAddr: 0x100006BE0, symSize: 0x0 } + - { offset: 0xE10, size: 0x8, addend: 0x0, symName: _UnityStrPointless, symObjAddr: 0x44F0, symBinAddr: 0x100006C00, symSize: 0x0 } + - { offset: 0xE31, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForExpected, symObjAddr: 0x4620, symBinAddr: 0x100006D30, symSize: 0x0 } + - { offset: 0xE52, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForActual, symObjAddr: 0x4640, symBinAddr: 0x100006D50, symSize: 0x0 } + - { offset: 0xE73, size: 0x8, addend: 0x0, symName: _UnityStrElement, symObjAddr: 0x4527, symBinAddr: 0x100006C37, symSize: 0x0 } + - { offset: 0xE88, size: 0x8, addend: 0x0, symName: _UnityStrInf, symObjAddr: 0x4531, symBinAddr: 0x100006C41, symSize: 0x0 } + - { offset: 0xEA9, size: 0x8, addend: 0x0, symName: _UnityStrNegInf, symObjAddr: 0x4540, symBinAddr: 0x100006C50, symSize: 0x0 } + - { offset: 0xEBE, size: 0x8, addend: 0x0, symName: _UnityStrNaN, symObjAddr: 0x4552, symBinAddr: 0x100006C62, symSize: 0x0 } + - { offset: 0xEDF, size: 0x8, addend: 0x0, symName: _UnityStrDet, symObjAddr: 0x4556, symBinAddr: 0x100006C66, symSize: 0x0 } + - { offset: 0xF00, size: 0x8, addend: 0x0, symName: _UnityStrInvalidFloatTrait, symObjAddr: 0x4570, symBinAddr: 0x100006C80, symSize: 0x0 } + - { offset: 0xF21, size: 0x8, addend: 0x0, symName: _UnityStrNot, symObjAddr: 0x4584, symBinAddr: 0x100006C94, symSize: 0x0 } + - { offset: 0xF36, size: 0x8, addend: 0x0, symName: _UnityStrDelta, symObjAddr: 0x4590, symBinAddr: 0x100006CA0, symSize: 0x0 } + - { offset: 0xF57, size: 0x8, addend: 0x0, symName: _UnityStrNull, symObjAddr: 0x4659, symBinAddr: 0x100006D69, symSize: 0x0 } + - { offset: 0xF6C, size: 0x8, addend: 0x0, symName: _UnityStrMemory, symObjAddr: 0x45B0, symBinAddr: 0x100006CC0, symSize: 0x0 } + - { offset: 0xF81, size: 0x8, addend: 0x0, symName: _UnityStrByte, symObjAddr: 0x45C2, symBinAddr: 0x100006CD2, symSize: 0x0 } + - { offset: 0xF96, size: 0x8, addend: 0x0, symName: _UnityStrBreaker, symObjAddr: 0x45D0, symBinAddr: 0x100006CE0, symSize: 0x0 } + - { offset: 0xFB7, size: 0x8, addend: 0x0, symName: _UnityStrResultsTests, symObjAddr: 0x45E8, symBinAddr: 0x100006CF8, symSize: 0x0 } + - { offset: 0xFD8, size: 0x8, addend: 0x0, symName: _UnityStrResultsFailures, symObjAddr: 0x45F0, symBinAddr: 0x100006D00, symSize: 0x0 } + - { offset: 0xFED, size: 0x8, addend: 0x0, symName: _UnityStrResultsIgnored, symObjAddr: 0x45FB, symBinAddr: 0x100006D0B, symSize: 0x0 } + - { offset: 0x1166, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x1000024F0, symSize: 0x60 } + - { offset: 0x1198, size: 0x8, addend: 0x0, symName: _UnityPrintChar, symObjAddr: 0x60, symBinAddr: 0x100002550, symSize: 0xD0 } + - { offset: 0x11BC, size: 0x8, addend: 0x0, symName: _UnityPrintLen, symObjAddr: 0x130, symBinAddr: 0x100002620, symSize: 0x130 } + - { offset: 0x11FC, size: 0x8, addend: 0x0, symName: _UnityPrintNumberHex, symObjAddr: 0x260, symBinAddr: 0x100002750, symSize: 0x90 } + - { offset: 0x124F, size: 0x8, addend: 0x0, symName: _UnityPrintIntNumberByStyle, symObjAddr: 0x2F0, symBinAddr: 0x1000027E0, symSize: 0x100 } + - { offset: 0x1281, size: 0x8, addend: 0x0, symName: _UnityPrintNumber, symObjAddr: 0x3F0, symBinAddr: 0x1000028E0, symSize: 0x50 } + - { offset: 0x12B3, size: 0x8, addend: 0x0, symName: _UnityPrintUintNumberByStyle, symObjAddr: 0x440, symBinAddr: 0x100002930, symSize: 0x60 } + - { offset: 0x12E5, size: 0x8, addend: 0x0, symName: _UnityPrintNumberUnsigned, symObjAddr: 0x4A0, symBinAddr: 0x100002990, symSize: 0x90 } + - { offset: 0x131A, size: 0x8, addend: 0x0, symName: _UnityPrintMask, symObjAddr: 0x530, symBinAddr: 0x100002A20, symSize: 0xA0 } + - { offset: 0x13FD, size: 0x8, addend: 0x0, symName: _UnityConcludeTest, symObjAddr: 0xCA0, symBinAddr: 0x100003190, symSize: 0xC0 } + - { offset: 0x1413, size: 0x8, addend: 0x0, symName: _UnityTestResultsBegin, symObjAddr: 0xD60, symBinAddr: 0x100003250, symSize: 0x60 } + - { offset: 0x1448, size: 0x8, addend: 0x0, symName: _UnityAssertBits, symObjAddr: 0xDC0, symBinAddr: 0x1000032B0, symSize: 0xE0 } + - { offset: 0x14AA, size: 0x8, addend: 0x0, symName: _UnityTestResultsFailBegin, symObjAddr: 0xEA0, symBinAddr: 0x100003390, symSize: 0x40 } + - { offset: 0x14D0, size: 0x8, addend: 0x0, symName: _UnityAddMsgIfSpecified, symObjAddr: 0xEE0, symBinAddr: 0x1000033D0, symSize: 0xA0 } + - { offset: 0x14F6, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntNumber, symObjAddr: 0xF80, symBinAddr: 0x100003470, symSize: 0xD0 } + - { offset: 0x1558, size: 0x8, addend: 0x0, symName: _UnityAssertEqualUintNumber, symObjAddr: 0x1050, symBinAddr: 0x100003540, symSize: 0xD0 } + - { offset: 0x15BA, size: 0x8, addend: 0x0, symName: _UnityAssertIntGreaterOrLessOrEqualNumber, symObjAddr: 0x1120, symBinAddr: 0x100003610, symSize: 0x1A0 } + - { offset: 0x163A, size: 0x8, addend: 0x0, symName: _UnityAssertUintGreaterOrLessOrEqualNumber, symObjAddr: 0x12C0, symBinAddr: 0x1000037B0, symSize: 0x1A0 } + - { offset: 0x16BA, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntArray, symObjAddr: 0x1460, symBinAddr: 0x100003950, symSize: 0x3C0 } + - { offset: 0x17B2, size: 0x8, addend: 0x0, symName: _UnityIsOneArrayNull, symObjAddr: 0x1820, symBinAddr: 0x100003D10, symSize: 0xB0 } + - { offset: 0x1809, size: 0x8, addend: 0x0, symName: _UnityAssertWithinFloatArray, symObjAddr: 0x18D0, symBinAddr: 0x100003DC0, symSize: 0x460 } + - { offset: 0x1993, size: 0x8, addend: 0x0, symName: _UnityFloatsWithin, symObjAddr: 0x1D30, symBinAddr: 0x100004220, symSize: 0x5F0 } + - { offset: 0x1C17, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsWithin, symObjAddr: 0x2320, symBinAddr: 0x100004810, symSize: 0xE0 } + - { offset: 0x1C79, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsNotWithin, symObjAddr: 0x2400, symBinAddr: 0x1000048F0, symSize: 0xE0 } + - { offset: 0x1CDB, size: 0x8, addend: 0x0, symName: _UnityAssertGreaterOrLessFloat, symObjAddr: 0x24E0, symBinAddr: 0x1000049D0, symSize: 0x1A0 } + - { offset: 0x1D4C, size: 0x8, addend: 0x0, symName: _UnityAssertFloatSpecial, symObjAddr: 0x2680, symBinAddr: 0x100004B70, symSize: 0x600 } + - { offset: 0x1F36, size: 0x8, addend: 0x0, symName: _UnityAssertIntNumbersWithin, symObjAddr: 0x2C80, symBinAddr: 0x100005170, symSize: 0x150 } + - { offset: 0x1FA7, size: 0x8, addend: 0x0, symName: _UnityAssertUintNumbersWithin, symObjAddr: 0x2DD0, symBinAddr: 0x1000052C0, symSize: 0x150 } + - { offset: 0x2018, size: 0x8, addend: 0x0, symName: _UnityAssertNumbersArrayWithin, symObjAddr: 0x2F20, symBinAddr: 0x100005410, symSize: 0x4E0 } + - { offset: 0x2120, size: 0x8, addend: 0x0, symName: _UnityAssertEqualString, symObjAddr: 0x3400, symBinAddr: 0x1000058F0, symSize: 0x180 } + - { offset: 0x2182, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStrings, symObjAddr: 0x3580, symBinAddr: 0x100005A70, symSize: 0xA0 } + - { offset: 0x21B7, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringLen, symObjAddr: 0x3620, symBinAddr: 0x100005B10, symSize: 0x1A0 } + - { offset: 0x2228, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStringsLen, symObjAddr: 0x37C0, symBinAddr: 0x100005CB0, symSize: 0xB0 } + - { offset: 0x226C, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringArray, symObjAddr: 0x3870, symBinAddr: 0x100005D60, symSize: 0x2B0 } + - { offset: 0x231A, size: 0x8, addend: 0x0, symName: _UnityAssertEqualMemory, symObjAddr: 0x3B20, symBinAddr: 0x100006010, symSize: 0x2A0 } + - { offset: 0x23D6, size: 0x8, addend: 0x0, symName: _UnityNumToPtr, symObjAddr: 0x3DC0, symBinAddr: 0x1000062B0, symSize: 0xB0 } + - { offset: 0x240F, size: 0x8, addend: 0x0, symName: _UnityFloatToPtr, symObjAddr: 0x3E70, symBinAddr: 0x100006360, symSize: 0x20 } + - { offset: 0x2439, size: 0x8, addend: 0x0, symName: _UnityFail, symObjAddr: 0x3E90, symBinAddr: 0x100006380, symSize: 0xA0 } + - { offset: 0x246E, size: 0x8, addend: 0x0, symName: _UnityIgnore, symObjAddr: 0x3F30, symBinAddr: 0x100006420, symSize: 0xC0 } + - { offset: 0x24A3, size: 0x8, addend: 0x0, symName: _UnityMessage, symObjAddr: 0x3FF0, symBinAddr: 0x1000064E0, symSize: 0x70 } + - { offset: 0x24D8, size: 0x8, addend: 0x0, symName: _UnityDefaultTestRun, symObjAddr: 0x4060, symBinAddr: 0x100006550, symSize: 0xD0 } + - { offset: 0x251C, size: 0x8, addend: 0x0, symName: _UnitySetTestFile, symObjAddr: 0x4130, symBinAddr: 0x100006620, symSize: 0x20 } + - { offset: 0x2542, size: 0x8, addend: 0x0, symName: _UnityBegin, symObjAddr: 0x4150, symBinAddr: 0x100006640, symSize: 0xA0 } + - { offset: 0x2568, size: 0x8, addend: 0x0, symName: _UnityEnd, symObjAddr: 0x41F0, symBinAddr: 0x1000066E0, symSize: 0xC8 } +... diff --git a/runNeuralNetworkTests.dSYM/Contents/Info.plist b/runNeuralNetworkTests.dSYM/Contents/Info.plist new file mode 100644 index 0000000..54754af --- /dev/null +++ b/runNeuralNetworkTests.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.runNeuralNetworkTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/runNeuralNetworkTests.dSYM/Contents/Resources/DWARF/runNeuralNetworkTests b/runNeuralNetworkTests.dSYM/Contents/Resources/DWARF/runNeuralNetworkTests new file mode 100644 index 0000000..4de33b7 Binary files /dev/null and b/runNeuralNetworkTests.dSYM/Contents/Resources/DWARF/runNeuralNetworkTests differ diff --git a/runNeuralNetworkTests.dSYM/Contents/Resources/Relocations/x86_64/runNeuralNetworkTests.yml b/runNeuralNetworkTests.dSYM/Contents/Resources/Relocations/x86_64/runNeuralNetworkTests.yml new file mode 100644 index 0000000..8e2f955 --- /dev/null +++ b/runNeuralNetworkTests.dSYM/Contents/Resources/Relocations/x86_64/runNeuralNetworkTests.yml @@ -0,0 +1,129 @@ +--- +triple: 'x86_64-apple-darwin' +binary-path: runNeuralNetworkTests +relocations: + - { offset: 0x26, size: 0x8, addend: 0x0, symName: _test_loadModelReturnsCorrectNumberOfLayers, symObjAddr: 0x0, symBinAddr: 0x100000FD0, symSize: 0x250 } + - { offset: 0x5E, size: 0x8, addend: 0x0, symName: _test_loadModelReturnsCorrectNumberOfLayers, symObjAddr: 0x0, symBinAddr: 0x100000FD0, symSize: 0x250 } + - { offset: 0x126, size: 0x8, addend: 0x0, symName: _prepareNeuralNetworkFile, symObjAddr: 0x250, symBinAddr: 0x100001220, symSize: 0x150 } + - { offset: 0x1CA, size: 0x8, addend: 0x0, symName: _test_loadModelReturnsCorrectWeightDimensions, symObjAddr: 0x3A0, symBinAddr: 0x100001370, symSize: 0x1F0 } + - { offset: 0x256, size: 0x8, addend: 0x0, symName: _test_loadModelReturnsCorrectBiasDimensions, symObjAddr: 0x590, symBinAddr: 0x100001560, symSize: 0x1F0 } + - { offset: 0x2E2, size: 0x8, addend: 0x0, symName: _test_loadModelReturnsCorrectWeights, symObjAddr: 0x780, symBinAddr: 0x100001750, symSize: 0x240 } + - { offset: 0x37D, size: 0x8, addend: 0x0, symName: _test_loadModelReturnsCorrectBiases, symObjAddr: 0x9C0, symBinAddr: 0x100001990, symSize: 0x240 } + - { offset: 0x418, size: 0x8, addend: 0x0, symName: _test_loadModelFailsOnWrongFileTag, symObjAddr: 0xC00, symBinAddr: 0x100001BD0, symSize: 0xE0 } + - { offset: 0x474, size: 0x8, addend: 0x0, symName: _test_clearModelSetsMembersToNull, symObjAddr: 0xCE0, symBinAddr: 0x100001CB0, symSize: 0x230 } + - { offset: 0x500, size: 0x8, addend: 0x0, symName: _test_predictReturnsCorrectLabels, symObjAddr: 0xF10, symBinAddr: 0x100001EE0, symSize: 0x3B0 } + - { offset: 0x641, size: 0x8, addend: 0x0, symName: _someActivation, symObjAddr: 0x12C0, symBinAddr: 0x100002290, symSize: 0x70 } + - { offset: 0x681, size: 0x8, addend: 0x0, symName: _setUp, symObjAddr: 0x1330, symBinAddr: 0x100002300, symSize: 0x10 } + - { offset: 0x696, size: 0x8, addend: 0x0, symName: _tearDown, symObjAddr: 0x1340, symBinAddr: 0x100002310, symSize: 0x10 } + - { offset: 0x6AB, size: 0x8, addend: 0x0, symName: _main, symObjAddr: 0x1350, symBinAddr: 0x100002320, symSize: 0xF4 } + - { offset: 0xA85, size: 0x8, addend: 0x0, symName: _createMatrix, symObjAddr: 0x0, symBinAddr: 0x100002420, symSize: 0x90 } + - { offset: 0xA92, size: 0x8, addend: 0x0, symName: _createMatrix, symObjAddr: 0x0, symBinAddr: 0x100002420, symSize: 0x90 } + - { offset: 0xAD6, size: 0x8, addend: 0x0, symName: _clearMatrix, symObjAddr: 0x90, symBinAddr: 0x1000024B0, symSize: 0x50 } + - { offset: 0xAFA, size: 0x8, addend: 0x0, symName: _setMatrixAt, symObjAddr: 0xE0, symBinAddr: 0x100002500, symSize: 0x60 } + - { offset: 0xB48, size: 0x8, addend: 0x0, symName: _getMatrixAt, symObjAddr: 0x140, symBinAddr: 0x100002560, symSize: 0x70 } + - { offset: 0xB8C, size: 0x8, addend: 0x0, symName: _add, symObjAddr: 0x1B0, symBinAddr: 0x1000025D0, symSize: 0x230 } + - { offset: 0xC70, size: 0x8, addend: 0x0, symName: _multiply, symObjAddr: 0x3E0, symBinAddr: 0x100002800, symSize: 0x14C } + - { offset: 0xDAA, size: 0x8, addend: 0x0, symName: _loadModel, symObjAddr: 0x0, symBinAddr: 0x100002950, symSize: 0x190 } + - { offset: 0xE8C, size: 0x8, addend: 0x0, symName: _loadModel, symObjAddr: 0x0, symBinAddr: 0x100002950, symSize: 0x190 } + - { offset: 0xF26, size: 0x8, addend: 0x0, symName: _checkFileHeader, symObjAddr: 0x190, symBinAddr: 0x100002AE0, symSize: 0xD0 } + - { offset: 0xF7C, size: 0x8, addend: 0x0, symName: _readDimension, symObjAddr: 0x260, symBinAddr: 0x100002BB0, symSize: 0x50 } + - { offset: 0xFB2, size: 0x8, addend: 0x0, symName: _readLayer, symObjAddr: 0x2B0, symBinAddr: 0x100002C00, symSize: 0x80 } + - { offset: 0x1005, size: 0x8, addend: 0x0, symName: _isEmptyLayer, symObjAddr: 0x330, symBinAddr: 0x100002C80, symSize: 0x80 } + - { offset: 0x102D, size: 0x8, addend: 0x0, symName: _clearLayer, symObjAddr: 0x3B0, symBinAddr: 0x100002D00, symSize: 0x40 } + - { offset: 0x1051, size: 0x8, addend: 0x0, symName: _clearModel, symObjAddr: 0x3F0, symBinAddr: 0x100002D40, symSize: 0x70 } + - { offset: 0x1094, size: 0x8, addend: 0x0, symName: _assignActivations, symObjAddr: 0x460, symBinAddr: 0x100002DB0, symSize: 0x80 } + - { offset: 0x10D4, size: 0x8, addend: 0x0, symName: _argmax, symObjAddr: 0x4E0, symBinAddr: 0x100002E30, symSize: 0x110 } + - { offset: 0x1142, size: 0x8, addend: 0x0, symName: _predict, symObjAddr: 0x5F0, symBinAddr: 0x100002F40, symSize: 0x70 } + - { offset: 0x11B1, size: 0x8, addend: 0x0, symName: _imageBatchToMatrixOfImageVectors, symObjAddr: 0x660, symBinAddr: 0x100002FB0, symSize: 0x120 } + - { offset: 0x122D, size: 0x8, addend: 0x0, symName: _forward, symObjAddr: 0x780, symBinAddr: 0x1000030D0, symSize: 0x140 } + - { offset: 0x12B9, size: 0x8, addend: 0x0, symName: _readMatrix, symObjAddr: 0x8C0, symBinAddr: 0x100003210, symSize: 0x80 } + - { offset: 0x130B, size: 0x8, addend: 0x0, symName: _relu, symObjAddr: 0x940, symBinAddr: 0x100003290, symSize: 0xA0 } + - { offset: 0x134B, size: 0x8, addend: 0x0, symName: _softmax, symObjAddr: 0x9E0, symBinAddr: 0x100003330, symSize: 0x197 } + - { offset: 0x16D7, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x1000034D0, symSize: 0x60 } + - { offset: 0x16F0, size: 0x8, addend: 0x0, symName: _UnityStrOk, symObjAddr: 0x4390, symBinAddr: 0x100007A50, symSize: 0x0 } + - { offset: 0x1724, size: 0x8, addend: 0x0, symName: _UnityStrPass, symObjAddr: 0x4393, symBinAddr: 0x100007A53, symSize: 0x0 } + - { offset: 0x1745, size: 0x8, addend: 0x0, symName: _UnityStrFail, symObjAddr: 0x4398, symBinAddr: 0x100007A58, symSize: 0x0 } + - { offset: 0x175A, size: 0x8, addend: 0x0, symName: _UnityStrIgnore, symObjAddr: 0x439D, symBinAddr: 0x100007A5D, symSize: 0x0 } + - { offset: 0x177B, size: 0x8, addend: 0x0, symName: _UnityStrErrShorthand, symObjAddr: 0x43B0, symBinAddr: 0x100007A70, symSize: 0x0 } + - { offset: 0x179C, size: 0x8, addend: 0x0, symName: _UnityStrErrFloat, symObjAddr: 0x43E0, symBinAddr: 0x100007AA0, symSize: 0x0 } + - { offset: 0x17BD, size: 0x8, addend: 0x0, symName: _UnityStrErrDouble, symObjAddr: 0x4400, symBinAddr: 0x100007AC0, symSize: 0x0 } + - { offset: 0x17DE, size: 0x8, addend: 0x0, symName: _UnityStrErr64, symObjAddr: 0x4420, symBinAddr: 0x100007AE0, symSize: 0x0 } + - { offset: 0x17F3, size: 0x8, addend: 0x0, symName: _UnityStrErrDetailStack, symObjAddr: 0x4440, symBinAddr: 0x100007B00, symSize: 0x0 } + - { offset: 0x1808, size: 0x8, addend: 0x0, symName: _UnityPrintFloat, symObjAddr: 0x5D0, symBinAddr: 0x100003AA0, symSize: 0x6D0 } + - { offset: 0x182B, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.sig_digits, symObjAddr: 0x4464, symBinAddr: 0x100007B24, symSize: 0x0 } + - { offset: 0x1841, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.min_scaled, symObjAddr: 0x4468, symBinAddr: 0x100007B28, symSize: 0x0 } + - { offset: 0x1857, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.max_scaled, symObjAddr: 0x446C, symBinAddr: 0x100007B2C, symSize: 0x0 } + - { offset: 0x1A27, size: 0x8, addend: 0x0, symName: _Unity, symBinAddr: 0x100009008, symSize: 0x0 } + - { offset: 0x1B0F, size: 0x8, addend: 0x0, symName: _UnityQuickCompare, symObjAddr: 0xAE68, symBinAddr: 0x100009000, symSize: 0x0 } + - { offset: 0x1BA8, size: 0x8, addend: 0x0, symName: _UnityStrExpected, symObjAddr: 0x4470, symBinAddr: 0x100007B30, symSize: 0x0 } + - { offset: 0x1BC9, size: 0x8, addend: 0x0, symName: _UnityStrWas, symObjAddr: 0x447B, symBinAddr: 0x100007B3B, symSize: 0x0 } + - { offset: 0x1BEA, size: 0x8, addend: 0x0, symName: _UnityStrSpacer, symObjAddr: 0x4605, symBinAddr: 0x100007CC5, symSize: 0x0 } + - { offset: 0x1BFF, size: 0x8, addend: 0x0, symName: _UnityStrDetail1Name, symObjAddr: 0x4608, symBinAddr: 0x100007CC8, symSize: 0x0 } + - { offset: 0x1C20, size: 0x8, addend: 0x0, symName: _UnityStrDetail2Name, symObjAddr: 0x4612, symBinAddr: 0x100007CD2, symSize: 0x0 } + - { offset: 0x1C35, size: 0x8, addend: 0x0, symName: _UnityStrGt, symObjAddr: 0x4490, symBinAddr: 0x100007B50, symSize: 0x0 } + - { offset: 0x1C56, size: 0x8, addend: 0x0, symName: _UnityStrLt, symObjAddr: 0x44B0, symBinAddr: 0x100007B70, symSize: 0x0 } + - { offset: 0x1C77, size: 0x8, addend: 0x0, symName: _UnityStrOrEqual, symObjAddr: 0x44C2, symBinAddr: 0x100007B82, symSize: 0x0 } + - { offset: 0x1C98, size: 0x8, addend: 0x0, symName: _UnityStrNotEqual, symObjAddr: 0x44D0, symBinAddr: 0x100007B90, symSize: 0x0 } + - { offset: 0x1CAD, size: 0x8, addend: 0x0, symName: _UnityStrPointless, symObjAddr: 0x44F0, symBinAddr: 0x100007BB0, symSize: 0x0 } + - { offset: 0x1CCE, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForExpected, symObjAddr: 0x4620, symBinAddr: 0x100007CE0, symSize: 0x0 } + - { offset: 0x1CEF, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForActual, symObjAddr: 0x4640, symBinAddr: 0x100007D00, symSize: 0x0 } + - { offset: 0x1D10, size: 0x8, addend: 0x0, symName: _UnityStrElement, symObjAddr: 0x4527, symBinAddr: 0x100007BE7, symSize: 0x0 } + - { offset: 0x1D25, size: 0x8, addend: 0x0, symName: _UnityStrInf, symObjAddr: 0x4531, symBinAddr: 0x100007BF1, symSize: 0x0 } + - { offset: 0x1D46, size: 0x8, addend: 0x0, symName: _UnityStrNegInf, symObjAddr: 0x4540, symBinAddr: 0x100007C00, symSize: 0x0 } + - { offset: 0x1D5B, size: 0x8, addend: 0x0, symName: _UnityStrNaN, symObjAddr: 0x4552, symBinAddr: 0x100007C12, symSize: 0x0 } + - { offset: 0x1D7C, size: 0x8, addend: 0x0, symName: _UnityStrDet, symObjAddr: 0x4556, symBinAddr: 0x100007C16, symSize: 0x0 } + - { offset: 0x1D9D, size: 0x8, addend: 0x0, symName: _UnityStrInvalidFloatTrait, symObjAddr: 0x4570, symBinAddr: 0x100007C30, symSize: 0x0 } + - { offset: 0x1DBE, size: 0x8, addend: 0x0, symName: _UnityStrNot, symObjAddr: 0x4584, symBinAddr: 0x100007C44, symSize: 0x0 } + - { offset: 0x1DD3, size: 0x8, addend: 0x0, symName: _UnityStrDelta, symObjAddr: 0x4590, symBinAddr: 0x100007C50, symSize: 0x0 } + - { offset: 0x1DF4, size: 0x8, addend: 0x0, symName: _UnityStrNull, symObjAddr: 0x4659, symBinAddr: 0x100007D19, symSize: 0x0 } + - { offset: 0x1E09, size: 0x8, addend: 0x0, symName: _UnityStrMemory, symObjAddr: 0x45B0, symBinAddr: 0x100007C70, symSize: 0x0 } + - { offset: 0x1E1E, size: 0x8, addend: 0x0, symName: _UnityStrByte, symObjAddr: 0x45C2, symBinAddr: 0x100007C82, symSize: 0x0 } + - { offset: 0x1E33, size: 0x8, addend: 0x0, symName: _UnityStrBreaker, symObjAddr: 0x45D0, symBinAddr: 0x100007C90, symSize: 0x0 } + - { offset: 0x1E54, size: 0x8, addend: 0x0, symName: _UnityStrResultsTests, symObjAddr: 0x45E8, symBinAddr: 0x100007CA8, symSize: 0x0 } + - { offset: 0x1E75, size: 0x8, addend: 0x0, symName: _UnityStrResultsFailures, symObjAddr: 0x45F0, symBinAddr: 0x100007CB0, symSize: 0x0 } + - { offset: 0x1E8A, size: 0x8, addend: 0x0, symName: _UnityStrResultsIgnored, symObjAddr: 0x45FB, symBinAddr: 0x100007CBB, symSize: 0x0 } + - { offset: 0x2003, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x1000034D0, symSize: 0x60 } + - { offset: 0x2035, size: 0x8, addend: 0x0, symName: _UnityPrintChar, symObjAddr: 0x60, symBinAddr: 0x100003530, symSize: 0xD0 } + - { offset: 0x2059, size: 0x8, addend: 0x0, symName: _UnityPrintLen, symObjAddr: 0x130, symBinAddr: 0x100003600, symSize: 0x130 } + - { offset: 0x2099, size: 0x8, addend: 0x0, symName: _UnityPrintNumberHex, symObjAddr: 0x260, symBinAddr: 0x100003730, symSize: 0x90 } + - { offset: 0x20EC, size: 0x8, addend: 0x0, symName: _UnityPrintIntNumberByStyle, symObjAddr: 0x2F0, symBinAddr: 0x1000037C0, symSize: 0x100 } + - { offset: 0x211E, size: 0x8, addend: 0x0, symName: _UnityPrintNumber, symObjAddr: 0x3F0, symBinAddr: 0x1000038C0, symSize: 0x50 } + - { offset: 0x2150, size: 0x8, addend: 0x0, symName: _UnityPrintUintNumberByStyle, symObjAddr: 0x440, symBinAddr: 0x100003910, symSize: 0x60 } + - { offset: 0x2182, size: 0x8, addend: 0x0, symName: _UnityPrintNumberUnsigned, symObjAddr: 0x4A0, symBinAddr: 0x100003970, symSize: 0x90 } + - { offset: 0x21B7, size: 0x8, addend: 0x0, symName: _UnityPrintMask, symObjAddr: 0x530, symBinAddr: 0x100003A00, symSize: 0xA0 } + - { offset: 0x229A, size: 0x8, addend: 0x0, symName: _UnityConcludeTest, symObjAddr: 0xCA0, symBinAddr: 0x100004170, symSize: 0xC0 } + - { offset: 0x22B0, size: 0x8, addend: 0x0, symName: _UnityTestResultsBegin, symObjAddr: 0xD60, symBinAddr: 0x100004230, symSize: 0x60 } + - { offset: 0x22E5, size: 0x8, addend: 0x0, symName: _UnityAssertBits, symObjAddr: 0xDC0, symBinAddr: 0x100004290, symSize: 0xE0 } + - { offset: 0x2347, size: 0x8, addend: 0x0, symName: _UnityTestResultsFailBegin, symObjAddr: 0xEA0, symBinAddr: 0x100004370, symSize: 0x40 } + - { offset: 0x236D, size: 0x8, addend: 0x0, symName: _UnityAddMsgIfSpecified, symObjAddr: 0xEE0, symBinAddr: 0x1000043B0, symSize: 0xA0 } + - { offset: 0x2393, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntNumber, symObjAddr: 0xF80, symBinAddr: 0x100004450, symSize: 0xD0 } + - { offset: 0x23F5, size: 0x8, addend: 0x0, symName: _UnityAssertEqualUintNumber, symObjAddr: 0x1050, symBinAddr: 0x100004520, symSize: 0xD0 } + - { offset: 0x2457, size: 0x8, addend: 0x0, symName: _UnityAssertIntGreaterOrLessOrEqualNumber, symObjAddr: 0x1120, symBinAddr: 0x1000045F0, symSize: 0x1A0 } + - { offset: 0x24D7, size: 0x8, addend: 0x0, symName: _UnityAssertUintGreaterOrLessOrEqualNumber, symObjAddr: 0x12C0, symBinAddr: 0x100004790, symSize: 0x1A0 } + - { offset: 0x2557, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntArray, symObjAddr: 0x1460, symBinAddr: 0x100004930, symSize: 0x3C0 } + - { offset: 0x264F, size: 0x8, addend: 0x0, symName: _UnityIsOneArrayNull, symObjAddr: 0x1820, symBinAddr: 0x100004CF0, symSize: 0xB0 } + - { offset: 0x26A6, size: 0x8, addend: 0x0, symName: _UnityAssertWithinFloatArray, symObjAddr: 0x18D0, symBinAddr: 0x100004DA0, symSize: 0x460 } + - { offset: 0x2830, size: 0x8, addend: 0x0, symName: _UnityFloatsWithin, symObjAddr: 0x1D30, symBinAddr: 0x100005200, symSize: 0x5F0 } + - { offset: 0x2AB4, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsWithin, symObjAddr: 0x2320, symBinAddr: 0x1000057F0, symSize: 0xE0 } + - { offset: 0x2B16, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsNotWithin, symObjAddr: 0x2400, symBinAddr: 0x1000058D0, symSize: 0xE0 } + - { offset: 0x2B78, size: 0x8, addend: 0x0, symName: _UnityAssertGreaterOrLessFloat, symObjAddr: 0x24E0, symBinAddr: 0x1000059B0, symSize: 0x1A0 } + - { offset: 0x2BE9, size: 0x8, addend: 0x0, symName: _UnityAssertFloatSpecial, symObjAddr: 0x2680, symBinAddr: 0x100005B50, symSize: 0x600 } + - { offset: 0x2DD3, size: 0x8, addend: 0x0, symName: _UnityAssertIntNumbersWithin, symObjAddr: 0x2C80, symBinAddr: 0x100006150, symSize: 0x150 } + - { offset: 0x2E44, size: 0x8, addend: 0x0, symName: _UnityAssertUintNumbersWithin, symObjAddr: 0x2DD0, symBinAddr: 0x1000062A0, symSize: 0x150 } + - { offset: 0x2EB5, size: 0x8, addend: 0x0, symName: _UnityAssertNumbersArrayWithin, symObjAddr: 0x2F20, symBinAddr: 0x1000063F0, symSize: 0x4E0 } + - { offset: 0x2FBD, size: 0x8, addend: 0x0, symName: _UnityAssertEqualString, symObjAddr: 0x3400, symBinAddr: 0x1000068D0, symSize: 0x180 } + - { offset: 0x301F, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStrings, symObjAddr: 0x3580, symBinAddr: 0x100006A50, symSize: 0xA0 } + - { offset: 0x3054, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringLen, symObjAddr: 0x3620, symBinAddr: 0x100006AF0, symSize: 0x1A0 } + - { offset: 0x30C5, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStringsLen, symObjAddr: 0x37C0, symBinAddr: 0x100006C90, symSize: 0xB0 } + - { offset: 0x3109, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringArray, symObjAddr: 0x3870, symBinAddr: 0x100006D40, symSize: 0x2B0 } + - { offset: 0x31B7, size: 0x8, addend: 0x0, symName: _UnityAssertEqualMemory, symObjAddr: 0x3B20, symBinAddr: 0x100006FF0, symSize: 0x2A0 } + - { offset: 0x3273, size: 0x8, addend: 0x0, symName: _UnityNumToPtr, symObjAddr: 0x3DC0, symBinAddr: 0x100007290, symSize: 0xB0 } + - { offset: 0x32AC, size: 0x8, addend: 0x0, symName: _UnityFloatToPtr, symObjAddr: 0x3E70, symBinAddr: 0x100007340, symSize: 0x20 } + - { offset: 0x32D6, size: 0x8, addend: 0x0, symName: _UnityFail, symObjAddr: 0x3E90, symBinAddr: 0x100007360, symSize: 0xA0 } + - { offset: 0x330B, size: 0x8, addend: 0x0, symName: _UnityIgnore, symObjAddr: 0x3F30, symBinAddr: 0x100007400, symSize: 0xC0 } + - { offset: 0x3340, size: 0x8, addend: 0x0, symName: _UnityMessage, symObjAddr: 0x3FF0, symBinAddr: 0x1000074C0, symSize: 0x70 } + - { offset: 0x3375, size: 0x8, addend: 0x0, symName: _UnityDefaultTestRun, symObjAddr: 0x4060, symBinAddr: 0x100007530, symSize: 0xD0 } + - { offset: 0x33B9, size: 0x8, addend: 0x0, symName: _UnitySetTestFile, symObjAddr: 0x4130, symBinAddr: 0x100007600, symSize: 0x20 } + - { offset: 0x33DF, size: 0x8, addend: 0x0, symName: _UnityBegin, symObjAddr: 0x4150, symBinAddr: 0x100007620, symSize: 0xA0 } + - { offset: 0x3405, size: 0x8, addend: 0x0, symName: _UnityEnd, symObjAddr: 0x41F0, symBinAddr: 0x1000076C0, symSize: 0xC8 } +...