@@ -69,8 +69,8 @@ static inline uint64_t fastHexToU64(const char *inStr) {
6969 return result;
7070}
7171
72- static void parseLine (char *line, ParseResult &parseResult, int32_t &curFails ,
73- int32_t &curBitDiffs) {
72+ static void parseLine (const char *line, ParseResult &parseResult,
73+ int32_t &curFails, int32_t & curBitDiffs) {
7474
7575 if (line[0 ] == ' #' ) {
7676 return ;
@@ -82,7 +82,7 @@ static void parseLine(char *line, ParseResult &parseResult, int32_t &curFails,
8282 expectedFloatRaw = fastHexToU32 (line + 5 );
8383 expectedDoubleRaw = fastHexToU64 (line + 14 );
8484
85- char *num = line + 31 ;
85+ const char *num = line + 31 ;
8686
8787 float floatResult = LIBC_NAMESPACE::strtof (num, nullptr );
8888
@@ -133,7 +133,7 @@ static void parseLine(char *line, ParseResult &parseResult, int32_t &curFails,
133133}
134134
135135ParseStatus checkBuffer (ParseResult &parseResult) {
136- constexpr const char *lines[ 6 ] = {
136+ constexpr const char *LINES[ ] = {
137137 " 3C00 3F800000 3FF0000000000000 1" ,
138138 " 3D00 3FA00000 3FF4000000000000 1.25" ,
139139 " 3D9A 3FB33333 3FF6666666666666 1.4" ,
@@ -145,9 +145,8 @@ ParseStatus checkBuffer(ParseResult &parseResult) {
145145 int32_t curBitDiffs = 0 ; // A bitdiff is when the expected result and actual
146146 // result are off by +/- 1 bit.
147147
148- for (uint8_t i = 0 ; i < 6 ; i++) {
149- auto line = const_cast <char *>(lines[i]);
150- parseLine (line, parseResult, curFails, curBitDiffs);
148+ for (uint8_t i = 0 ; i < sizeof (LINES) / sizeof (LINES[0 ]); i++) {
149+ parseLine (LINES[i], parseResult, curFails, curBitDiffs);
151150 }
152151
153152 parseResult.totalBitDiffs += curBitDiffs;
@@ -163,7 +162,7 @@ ParseStatus checkFile(char *inputFileName, ParseResult &parseResult) {
163162 int32_t curFails = 0 ; // Only counts actual failures, not bitdiffs.
164163 int32_t curBitDiffs = 0 ; // A bitdiff is when the expected result and actual
165164 // result are off by +/- 1 bit.
166- char line[100 ];
165+ char line[1000 ];
167166
168167 auto *fileHandle = LIBC_NAMESPACE::fopen (inputFileName, " r" );
169168
@@ -233,5 +232,5 @@ TEST(LlvmLibcStrToFloatComparisonTest, CheckFloats) {
233232 EXPECT_EQ (parseResult.detailedBitDiffs [1 ], 0u ); // float high
234233 EXPECT_EQ (parseResult.detailedBitDiffs [2 ], 0u ); // double low
235234 EXPECT_EQ (parseResult.detailedBitDiffs [3 ], 0u ); // double high
236- EXPECT_EQ ( parseResult.total , 6u );
235+ LIBC_NAMESPACE::printf ( " Total lines: %d \n " , parseResult.total );
237236}
0 commit comments