firmware  v0.1.2
Chromation Spectrometer Dev-Kit
unity_internals.h
1 /* ==========================================
2  Unity Project - A Test Framework for C
3  Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams
4  [Released under MIT License. Please refer to license.txt for details]
5 ========================================== */
6 
7 #ifndef UNITY_INTERNALS_H
8 #define UNITY_INTERNALS_H
9 
10 #ifdef UNITY_INCLUDE_CONFIG_H
11 #include "unity_config.h"
12 #endif
13 
14 #ifndef UNITY_EXCLUDE_SETJMP_H
15 #include <setjmp.h>
16 #endif
17 
18 #ifndef UNITY_EXCLUDE_MATH_H
19 #include <math.h>
20 #endif
21 
22 /* Unity Attempts to Auto-Detect Integer Types
23  * Attempt 1: UINT_MAX, ULONG_MAX in <limits.h>, or default to 32 bits
24  * Attempt 2: UINTPTR_MAX in <stdint.h>, or default to same size as long
25  * The user may override any of these derived constants:
26  * UNITY_INT_WIDTH, UNITY_LONG_WIDTH, UNITY_POINTER_WIDTH */
27 #ifndef UNITY_EXCLUDE_STDINT_H
28 #include <stdint.h>
29 #endif
30 
31 #ifndef UNITY_EXCLUDE_LIMITS_H
32 #include <limits.h>
33 #endif
34 
35 /*-------------------------------------------------------
36  * Guess Widths If Not Specified
37  *-------------------------------------------------------*/
38 
39 /* Determine the size of an int, if not already specified.
40  * We cannot use sizeof(int), because it is not yet defined
41  * at this stage in the translation of the C program.
42  * Therefore, infer it from UINT_MAX if possible. */
43 #ifndef UNITY_INT_WIDTH
44  #ifdef UINT_MAX
45  #if (UINT_MAX == 0xFFFF)
46  #define UNITY_INT_WIDTH (16)
47  #elif (UINT_MAX == 0xFFFFFFFF)
48  #define UNITY_INT_WIDTH (32)
49  #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF)
50  #define UNITY_INT_WIDTH (64)
51  #endif
52  #else /* Set to default */
53  #define UNITY_INT_WIDTH (32)
54  #endif /* UINT_MAX */
55 #endif
56 
57 /* Determine the size of a long, if not already specified. */
58 #ifndef UNITY_LONG_WIDTH
59  #ifdef ULONG_MAX
60  #if (ULONG_MAX == 0xFFFF)
61  #define UNITY_LONG_WIDTH (16)
62  #elif (ULONG_MAX == 0xFFFFFFFF)
63  #define UNITY_LONG_WIDTH (32)
64  #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF)
65  #define UNITY_LONG_WIDTH (64)
66  #endif
67  #else /* Set to default */
68  #define UNITY_LONG_WIDTH (32)
69  #endif /* ULONG_MAX */
70 #endif
71 
72 /* Determine the size of a pointer, if not already specified. */
73 #ifndef UNITY_POINTER_WIDTH
74  #ifdef UINTPTR_MAX
75  #if (UINTPTR_MAX <= 0xFFFF)
76  #define UNITY_POINTER_WIDTH (16)
77  #elif (UINTPTR_MAX <= 0xFFFFFFFF)
78  #define UNITY_POINTER_WIDTH (32)
79  #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF)
80  #define UNITY_POINTER_WIDTH (64)
81  #endif
82  #else /* Set to default */
83  #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH
84  #endif /* UINTPTR_MAX */
85 #endif
86 
87 /*-------------------------------------------------------
88  * Int Support (Define types based on detected sizes)
89  *-------------------------------------------------------*/
90 
91 #if (UNITY_INT_WIDTH == 32)
92  typedef unsigned char UNITY_UINT8;
93  typedef unsigned short UNITY_UINT16;
94  typedef unsigned int UNITY_UINT32;
95  typedef signed char UNITY_INT8;
96  typedef signed short UNITY_INT16;
97  typedef signed int UNITY_INT32;
98 #elif (UNITY_INT_WIDTH == 16)
99  typedef unsigned char UNITY_UINT8;
100  typedef unsigned int UNITY_UINT16;
101  typedef unsigned long UNITY_UINT32;
102  typedef signed char UNITY_INT8;
103  typedef signed int UNITY_INT16;
104  typedef signed long UNITY_INT32;
105 #else
106  #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported)
107 #endif
108 
109 /*-------------------------------------------------------
110  * 64-bit Support
111  *-------------------------------------------------------*/
112 
113 #ifndef UNITY_SUPPORT_64
114  #if UNITY_LONG_WIDTH == 64 || UNITY_POINTER_WIDTH == 64
115  #define UNITY_SUPPORT_64
116  #endif
117 #endif
118 
119 #ifndef UNITY_SUPPORT_64
120  /* No 64-bit Support */
121  typedef UNITY_UINT32 UNITY_UINT;
122  typedef UNITY_INT32 UNITY_INT;
123 #else
124 
125  /* 64-bit Support */
126  #if (UNITY_LONG_WIDTH == 32)
127  typedef unsigned long long UNITY_UINT64;
128  typedef signed long long UNITY_INT64;
129  #elif (UNITY_LONG_WIDTH == 64)
130  typedef unsigned long UNITY_UINT64;
131  typedef signed long UNITY_INT64;
132  #else
133  #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported)
134  #endif
135  typedef UNITY_UINT64 UNITY_UINT;
136  typedef UNITY_INT64 UNITY_INT;
137 
138 #endif
139 
140 /*-------------------------------------------------------
141  * Pointer Support
142  *-------------------------------------------------------*/
143 
144 #if (UNITY_POINTER_WIDTH == 32)
145 #define UNITY_PTR_TO_INT UNITY_INT32
146 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
147 #elif (UNITY_POINTER_WIDTH == 64)
148 #define UNITY_PTR_TO_INT UNITY_INT64
149 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64
150 #elif (UNITY_POINTER_WIDTH == 16)
151 #define UNITY_PTR_TO_INT UNITY_INT16
152 #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16
153 #else
154  #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported)
155 #endif
156 
157 #ifndef UNITY_PTR_ATTRIBUTE
158 #define UNITY_PTR_ATTRIBUTE
159 #endif
160 
161 #ifndef UNITY_INTERNAL_PTR
162 #define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void*
163 #endif
164 
165 /*-------------------------------------------------------
166  * Float Support
167  *-------------------------------------------------------*/
168 
169 #ifdef UNITY_EXCLUDE_FLOAT
170 
171 /* No Floating Point Support */
172 #ifndef UNITY_EXCLUDE_DOUBLE
173 #define UNITY_EXCLUDE_DOUBLE /* Remove double when excluding float support */
174 #endif
175 #ifndef UNITY_EXCLUDE_FLOAT_PRINT
176 #define UNITY_EXCLUDE_FLOAT_PRINT
177 #endif
178 
179 #else
180 
181 /* Floating Point Support */
182 #ifndef UNITY_FLOAT_PRECISION
183 #define UNITY_FLOAT_PRECISION (0.00001f)
184 #endif
185 #ifndef UNITY_FLOAT_TYPE
186 #define UNITY_FLOAT_TYPE float
187 #endif
188 typedef UNITY_FLOAT_TYPE UNITY_FLOAT;
189 
190 /* isinf & isnan macros should be provided by math.h */
191 #ifndef isinf
192 /* The value of Inf - Inf is NaN */
193 #define isinf(n) (isnan((n) - (n)) && !isnan(n))
194 #endif
195 
196 #ifndef isnan
197 /* NaN is the only floating point value that does NOT equal itself.
198  * Therefore if n != n, then it is NaN. */
199 #define isnan(n) ((n != n) ? 1 : 0)
200 #endif
201 
202 #endif
203 
204 /*-------------------------------------------------------
205  * Double Float Support
206  *-------------------------------------------------------*/
207 
208 /* unlike float, we DON'T include by default */
209 #if defined(UNITY_EXCLUDE_DOUBLE) || !defined(UNITY_INCLUDE_DOUBLE)
210 
211  /* No Floating Point Support */
212  #ifndef UNITY_EXCLUDE_DOUBLE
213  #define UNITY_EXCLUDE_DOUBLE
214  #else
215  #undef UNITY_INCLUDE_DOUBLE
216  #endif
217 
218  #ifndef UNITY_EXCLUDE_FLOAT
219  #ifndef UNITY_DOUBLE_TYPE
220  #define UNITY_DOUBLE_TYPE double
221  #endif
222  typedef UNITY_FLOAT UNITY_DOUBLE;
223  /* For parameter in UnityPrintFloat(UNITY_DOUBLE), which aliases to double or float */
224  #endif
225 
226 #else
227 
228  /* Double Floating Point Support */
229  #ifndef UNITY_DOUBLE_PRECISION
230  #define UNITY_DOUBLE_PRECISION (1e-12)
231  #endif
232 
233  #ifndef UNITY_DOUBLE_TYPE
234  #define UNITY_DOUBLE_TYPE double
235  #endif
236  typedef UNITY_DOUBLE_TYPE UNITY_DOUBLE;
237 
238 #endif
239 
240 /*-------------------------------------------------------
241  * Output Method: stdout (DEFAULT)
242  *-------------------------------------------------------*/
243 #ifndef UNITY_OUTPUT_CHAR
244 /* Default to using putchar, which is defined in stdio.h */
245 #include <stdio.h>
246 #define UNITY_OUTPUT_CHAR(a) (void)putchar(a)
247 #else
248  /* If defined as something else, make sure we declare it here so it's ready for use */
249  #ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION
250 extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION;
251  #endif
252 #endif
253 
254 #ifndef UNITY_OUTPUT_FLUSH
255 #ifdef UNITY_USE_FLUSH_STDOUT
256 /* We want to use the stdout flush utility */
257 #include <stdio.h>
258 #define UNITY_OUTPUT_FLUSH() (void)fflush(stdout)
259 #else
260 /* We've specified nothing, therefore flush should just be ignored */
261 #define UNITY_OUTPUT_FLUSH()
262 #endif
263 #else
264 /* We've defined flush as something else, so make sure we declare it here so it's ready for use */
265 #ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION
266 extern void UNITY_OMIT_OUTPUT_FLUSH_HEADER_DECLARATION;
267 #endif
268 #endif
269 
270 #ifndef UNITY_OUTPUT_FLUSH
271 #define UNITY_FLUSH_CALL()
272 #else
273 #define UNITY_FLUSH_CALL() UNITY_OUTPUT_FLUSH()
274 #endif
275 
276 #ifndef UNITY_PRINT_EOL
277 #define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n')
278 #endif
279 
280 #ifndef UNITY_OUTPUT_START
281 #define UNITY_OUTPUT_START()
282 #endif
283 
284 #ifndef UNITY_OUTPUT_COMPLETE
285 #define UNITY_OUTPUT_COMPLETE()
286 #endif
287 
288 /*-------------------------------------------------------
289  * Footprint
290  *-------------------------------------------------------*/
291 
292 #ifndef UNITY_LINE_TYPE
293 #define UNITY_LINE_TYPE UNITY_UINT
294 #endif
295 
296 #ifndef UNITY_COUNTER_TYPE
297 #define UNITY_COUNTER_TYPE UNITY_UINT
298 #endif
299 
300 /*-------------------------------------------------------
301  * Language Features Available
302  *-------------------------------------------------------*/
303 #if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA)
304 # ifdef __GNUC__ /* includes clang */
305 # if !(defined(__WIN32__) && defined(__clang__)) && !defined(__TMS470__)
306 # define UNITY_WEAK_ATTRIBUTE __attribute__((weak))
307 # endif
308 # endif
309 #endif
310 
311 #ifdef UNITY_NO_WEAK
312 # undef UNITY_WEAK_ATTRIBUTE
313 # undef UNITY_WEAK_PRAGMA
314 #endif
315 
316 
317 /*-------------------------------------------------------
318  * Internal Structs Needed
319  *-------------------------------------------------------*/
320 
321 typedef void (*UnityTestFunction)(void);
322 
323 #define UNITY_DISPLAY_RANGE_INT (0x10)
324 #define UNITY_DISPLAY_RANGE_UINT (0x20)
325 #define UNITY_DISPLAY_RANGE_HEX (0x40)
326 
327 typedef enum
328 {
329 UNITY_DISPLAY_STYLE_INT = sizeof(int)+ UNITY_DISPLAY_RANGE_INT,
330  UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT,
331  UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT,
332  UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT,
333 #ifdef UNITY_SUPPORT_64
334  UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT,
335 #endif
336 
337 UNITY_DISPLAY_STYLE_UINT = sizeof(unsigned) + UNITY_DISPLAY_RANGE_UINT,
338  UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT,
339  UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT,
340  UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT,
341 #ifdef UNITY_SUPPORT_64
342  UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT,
343 #endif
344 
345  UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX,
346  UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX,
347  UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX,
348 #ifdef UNITY_SUPPORT_64
349  UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX,
350 #endif
351 
352  UNITY_DISPLAY_STYLE_UNKNOWN
353 } UNITY_DISPLAY_STYLE_T;
354 
355 #ifndef UNITY_EXCLUDE_FLOAT
356 typedef enum UNITY_FLOAT_TRAIT
357 {
358  UNITY_FLOAT_IS_NOT_INF = 0,
359  UNITY_FLOAT_IS_INF,
360  UNITY_FLOAT_IS_NOT_NEG_INF,
361  UNITY_FLOAT_IS_NEG_INF,
362  UNITY_FLOAT_IS_NOT_NAN,
363  UNITY_FLOAT_IS_NAN,
364  UNITY_FLOAT_IS_NOT_DET,
365  UNITY_FLOAT_IS_DET,
366  UNITY_FLOAT_INVALID_TRAIT
367 } UNITY_FLOAT_TRAIT_T;
368 #endif
369 
370 typedef enum
371 {
372  UNITY_ARRAY_TO_VAL = 0,
373  UNITY_ARRAY_TO_ARRAY
374 } UNITY_FLAGS_T;
375 
377 {
378  const char* TestFile;
379  const char* CurrentTestName;
380 #ifndef UNITY_EXCLUDE_DETAILS
381  const char* CurrentDetail1;
382  const char* CurrentDetail2;
383 #endif
384  UNITY_LINE_TYPE CurrentTestLineNumber;
385  UNITY_COUNTER_TYPE NumberOfTests;
386  UNITY_COUNTER_TYPE TestFailures;
387  UNITY_COUNTER_TYPE TestIgnores;
388  UNITY_COUNTER_TYPE CurrentTestFailed;
389  UNITY_COUNTER_TYPE CurrentTestIgnored;
390 #ifndef UNITY_EXCLUDE_SETJMP_H
391  jmp_buf AbortFrame;
392 #endif
393 };
394 
395 extern struct UNITY_STORAGE_T Unity;
396 
397 /*-------------------------------------------------------
398  * Test Suite Management
399  *-------------------------------------------------------*/
400 
401 void UnityBegin(const char* filename);
402 int UnityEnd(void);
403 void UnityConcludeTest(void);
404 void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum);
405 
406 /*-------------------------------------------------------
407  * Details Support
408  *-------------------------------------------------------*/
409 
410 #ifdef UNITY_EXCLUDE_DETAILS
411 #define UNITY_CLR_DETAILS()
412 #define UNITY_SET_DETAIL(d1)
413 #define UNITY_SET_DETAILS(d1,d2)
414 #else
415 #define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; }
416 #define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = 0; }
417 #define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = d1; Unity.CurrentDetail2 = d2; }
418 
419 #ifndef UNITY_DETAIL1_NAME
420 #define UNITY_DETAIL1_NAME "Function"
421 #endif
422 
423 #ifndef UNITY_DETAIL2_NAME
424 #define UNITY_DETAIL2_NAME "Argument"
425 #endif
426 #endif
427 
428 /*-------------------------------------------------------
429  * Test Output
430  *-------------------------------------------------------*/
431 
432 void UnityPrint(const char* string);
433 void UnityPrintLen(const char* string, const UNITY_UINT32 length);
434 void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number);
435 void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style);
436 void UnityPrintNumber(const UNITY_INT number);
437 void UnityPrintNumberUnsigned(const UNITY_UINT number);
438 void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles);
439 
440 #ifndef UNITY_EXCLUDE_FLOAT_PRINT
441 void UnityPrintFloat(const UNITY_DOUBLE input_number);
442 #endif
443 
444 /*-------------------------------------------------------
445  * Test Assertion Functions
446  *-------------------------------------------------------
447  * Use the macros below this section instead of calling
448  * these directly. The macros have a consistent naming
449  * convention and will pull in file and line information
450  * for you. */
451 
452 void UnityAssertEqualNumber(const UNITY_INT expected,
453  const UNITY_INT actual,
454  const char* msg,
455  const UNITY_LINE_TYPE lineNumber,
456  const UNITY_DISPLAY_STYLE_T style);
457 
458 void UnityAssertGreaterNumber(const UNITY_INT threshold,
459  const UNITY_INT actual,
460  const char* msg,
461  const UNITY_LINE_TYPE lineNumber,
462  const UNITY_DISPLAY_STYLE_T style);
463 
464 void UnityAssertSmallerNumber(const UNITY_INT threshold,
465  const UNITY_INT actual,
466  const char* msg,
467  const UNITY_LINE_TYPE lineNumber,
468  const UNITY_DISPLAY_STYLE_T style);
469 
470 void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
471  UNITY_INTERNAL_PTR actual,
472  const UNITY_UINT32 num_elements,
473  const char* msg,
474  const UNITY_LINE_TYPE lineNumber,
475  const UNITY_DISPLAY_STYLE_T style,
476  const UNITY_FLAGS_T flags);
477 
478 void UnityAssertBits(const UNITY_INT mask,
479  const UNITY_INT expected,
480  const UNITY_INT actual,
481  const char* msg,
482  const UNITY_LINE_TYPE lineNumber);
483 
484 void UnityAssertEqualString(const char* expected,
485  const char* actual,
486  const char* msg,
487  const UNITY_LINE_TYPE lineNumber);
488 
489 void UnityAssertEqualStringLen(const char* expected,
490  const char* actual,
491  const UNITY_UINT32 length,
492  const char* msg,
493  const UNITY_LINE_TYPE lineNumber);
494 
495 void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected,
496  const char** actual,
497  const UNITY_UINT32 num_elements,
498  const char* msg,
499  const UNITY_LINE_TYPE lineNumber,
500  const UNITY_FLAGS_T flags);
501 
502 void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected,
503  UNITY_INTERNAL_PTR actual,
504  const UNITY_UINT32 length,
505  const UNITY_UINT32 num_elements,
506  const char* msg,
507  const UNITY_LINE_TYPE lineNumber,
508  const UNITY_FLAGS_T flags);
509 
510 void UnityAssertNumbersWithin(const UNITY_UINT delta,
511  const UNITY_INT expected,
512  const UNITY_INT actual,
513  const char* msg,
514  const UNITY_LINE_TYPE lineNumber,
515  const UNITY_DISPLAY_STYLE_T style);
516 
517 void UnityFail(const char* message, const UNITY_LINE_TYPE line);
518 
519 void UnityIgnore(const char* message, const UNITY_LINE_TYPE line);
520 
521 #ifndef UNITY_EXCLUDE_FLOAT
522 void UnityAssertFloatsWithin(const UNITY_FLOAT delta,
523  const UNITY_FLOAT expected,
524  const UNITY_FLOAT actual,
525  const char* msg,
526  const UNITY_LINE_TYPE lineNumber);
527 
528 void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected,
529  UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual,
530  const UNITY_UINT32 num_elements,
531  const char* msg,
532  const UNITY_LINE_TYPE lineNumber,
533  const UNITY_FLAGS_T flags);
534 
535 void UnityAssertFloatSpecial(const UNITY_FLOAT actual,
536  const char* msg,
537  const UNITY_LINE_TYPE lineNumber,
538  const UNITY_FLOAT_TRAIT_T style);
539 #endif
540 
541 #ifndef UNITY_EXCLUDE_DOUBLE
542 void UnityAssertDoublesWithin(const UNITY_DOUBLE delta,
543  const UNITY_DOUBLE expected,
544  const UNITY_DOUBLE actual,
545  const char* msg,
546  const UNITY_LINE_TYPE lineNumber);
547 
548 void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected,
549  UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual,
550  const UNITY_UINT32 num_elements,
551  const char* msg,
552  const UNITY_LINE_TYPE lineNumber,
553  const UNITY_FLAGS_T flags);
554 
555 void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual,
556  const char* msg,
557  const UNITY_LINE_TYPE lineNumber,
558  const UNITY_FLOAT_TRAIT_T style);
559 #endif
560 
561 /*-------------------------------------------------------
562  * Helpers
563  *-------------------------------------------------------*/
564 
565 UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size);
566 #ifndef UNITY_EXCLUDE_FLOAT
567 UNITY_INTERNAL_PTR UnityFloatToPtr(const float num);
568 #endif
569 #ifndef UNITY_EXCLUDE_DOUBLE
570 UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num);
571 #endif
572 
573 /*-------------------------------------------------------
574  * Error Strings We Might Need
575  *-------------------------------------------------------*/
576 
577 extern const char UnityStrErrFloat[];
578 extern const char UnityStrErrDouble[];
579 extern const char UnityStrErr64[];
580 
581 /*-------------------------------------------------------
582  * Test Running Macros
583  *-------------------------------------------------------*/
584 
585 #ifndef UNITY_EXCLUDE_SETJMP_H
586 #define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0)
587 #define TEST_ABORT() longjmp(Unity.AbortFrame, 1)
588 #else
589 #define TEST_PROTECT() 1
590 #define TEST_ABORT() return
591 #endif
592 
593 /* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */
594 #ifndef RUN_TEST
595 #ifdef __STDC_VERSION__
596 #if __STDC_VERSION__ >= 199901L
597 #define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__))
598 #define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway)
599 #define RUN_TEST_FIRST_HELPER(first, ...) (first), #first
600 #define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway)
601 #define RUN_TEST_SECOND_HELPER(first, second, ...) (second)
602 #endif
603 #endif
604 #endif
605 
606 /* If we can't do the tricky version, we'll just have to require them to always include the line number */
607 #ifndef RUN_TEST
608 #ifdef CMOCK
609 #define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num)
610 #else
611 #define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__)
612 #endif
613 #endif
614 
615 #define TEST_LINE_NUM (Unity.CurrentTestLineNumber)
616 #define TEST_IS_IGNORED (Unity.CurrentTestIgnored)
617 #define UNITY_NEW_TEST(a) \
618  Unity.CurrentTestName = (a); \
619  Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \
620  Unity.NumberOfTests++;
621 
622 #ifndef UNITY_BEGIN
623 #define UNITY_BEGIN() UnityBegin(__FILE__)
624 #endif
625 
626 #ifndef UNITY_END
627 #define UNITY_END() UnityEnd()
628 #endif
629 
630 /*-----------------------------------------------
631  * Command Line Argument Support
632  *-----------------------------------------------*/
633 
634 #ifdef UNITY_USE_COMMAND_LINE_ARGS
635 int UnityParseOptions(int argc, char** argv);
636 int UnityTestMatches(void);
637 #endif
638 
639 /*-------------------------------------------------------
640  * Basic Fail and Ignore
641  *-------------------------------------------------------*/
642 
643 #define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line))
644 #define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line))
645 
646 /*-------------------------------------------------------
647  * Test Asserts
648  *-------------------------------------------------------*/
649 
650 #define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));}
651 #define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message))
652 #define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message))
653 
654 #define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
655 #define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
656 #define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
657 #define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
658 #define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
659 #define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
660 #define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
661 #define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
662 #define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
663 #define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
664 #define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
665 #define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line))
666 
667 
668 #define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
669 #define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
670 #define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
671 #define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
672 #define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
673 #define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
674 #define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
675 #define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
676 #define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
677 #define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
678 #define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
679 
680 
681 #define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
682 #define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
683 #define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
684 #define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
685 #define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
686 #define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
687 #define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
688 #define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
689 #define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
690 #define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
691 #define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertSmallerNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
692 
693 
694 
695 #define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT)
696 #define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8)
697 #define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16)
698 #define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32)
699 #define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT)
700 #define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8)
701 #define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16)
702 #define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32)
703 #define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8)
704 #define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16)
705 #define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32)
706 
707 #define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER)
708 #define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line))
709 #define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line))
710 #define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
711 
712 #define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY)
713 #define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY)
714 #define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY)
715 #define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY)
716 #define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY)
717 #define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY)
718 #define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY)
719 #define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY)
720 #define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY)
721 #define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY)
722 #define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY)
723 #define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY)
724 #define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
725 #define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
726 
727 #define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) expected, sizeof(int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL)
728 #define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL)
729 #define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL)
730 #define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL)
731 #define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) expected, sizeof(unsigned int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL)
732 #define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL)
733 #define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL)
734 #define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL)
735 #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )expected, 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL)
736 #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )expected, 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL)
737 #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )expected, 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL)
738 #define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) expected, sizeof(int*)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL)
739 #define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
740 #define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
741 
742 #ifdef UNITY_SUPPORT_64
743 #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
744 #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
745 #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
746 #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY)
747 #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY)
748 #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY)
749 #define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL)
750 #define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL)
751 #define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL)
752 #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64)
753 #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64)
754 #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64)
755 #else
756 #define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
757 #define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
758 #define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
759 #define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
760 #define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
761 #define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
762 #define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
763 #define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
764 #define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64)
765 #endif
766 
767 #ifdef UNITY_EXCLUDE_FLOAT
768 #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
769 #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
770 #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
771 #define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
772 #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
773 #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
774 #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
775 #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
776 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
777 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
778 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
779 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat)
780 #else
781 #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line))
782 #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message))
783 #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY)
784 #define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL)
785 #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF)
786 #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF)
787 #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN)
788 #define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET)
789 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF)
790 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF)
791 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN)
792 #define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET)
793 #endif
794 
795 #ifdef UNITY_EXCLUDE_DOUBLE
796 #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
797 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
798 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
799 #define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
800 #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
801 #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
802 #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
803 #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
804 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
805 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
806 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
807 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble)
808 #else
809 #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)line)
810 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual, (UNITY_LINE_TYPE)(line), message)
811 #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_ARRAY_TO_ARRAY)
812 #define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_ARRAY_TO_VAL)
813 #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF)
814 #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF)
815 #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN)
816 #define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET)
817 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF)
818 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF)
819 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN)
820 #define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET)
821 #endif
822 
823 /* End of UNITY_INTERNALS_H */
824 #endif