Azure IoT common library

Dependents:   STM32F746_iothub_client_sample_mqtt f767zi_mqtt iothub_client_sample_amqp iothub_client_sample_http ... more

Revision:
22:10640b226104
Parent:
21:b92006c5b9ff
Child:
24:96ae4d5375ef
--- a/azure_c_shared_utility/macro_utils.h	Fri Feb 24 14:01:41 2017 -0800
+++ b/azure_c_shared_utility/macro_utils.h	Fri Mar 10 11:48:28 2017 -0800
@@ -3,15 +3,22 @@
 
 /*THIS FILE IS GENERATED*/
 /*DO NOT EDIT BY HAND!!!*/
-/*instead edit macro_utils.tt */
+/*instead edit macro_utils.tt here: http://www.github.com/azure/azure-macro-utils-c.git */
+/*and then copy the generated file overwriting this one*/
+
 
 #ifndef MACRO_UTILS_H
 #define MACRO_UTILS_H
 
 #include <string.h>
-#include "azure_c_shared_utility/optimize_size.h"
-
-/*"pointer or NULL" macro - because when printf-ing arguments NULL is not valid for %p or %s (section 7.1.4 of C11 standard) */
+
+#if (defined OPTIMIZE_RETURN_CODES)
+    #define __FAILURE__ 1
+#else
+    #define __FAILURE__ __LINE__
+#endif
+
+/*"pointer or NULL" macro - because when printf-ing arguments NULL is not valid for %s (section 7.1.4 of C11 standard) */
 #define P_OR_NULL(p) (((p)!=NULL)?(p):"NULL")
 
 #define TOSTRING_(x) #x
@@ -3289,6 +3296,1033 @@
 #define DIV2_1 0
 #define DIV2_0 0
 
+#define MOD2(x) C2(MOD2_,x)
+#define MOD2_1024 0
+#define MOD2_1023 1
+#define MOD2_1022 0
+#define MOD2_1021 1
+#define MOD2_1020 0
+#define MOD2_1019 1
+#define MOD2_1018 0
+#define MOD2_1017 1
+#define MOD2_1016 0
+#define MOD2_1015 1
+#define MOD2_1014 0
+#define MOD2_1013 1
+#define MOD2_1012 0
+#define MOD2_1011 1
+#define MOD2_1010 0
+#define MOD2_1009 1
+#define MOD2_1008 0
+#define MOD2_1007 1
+#define MOD2_1006 0
+#define MOD2_1005 1
+#define MOD2_1004 0
+#define MOD2_1003 1
+#define MOD2_1002 0
+#define MOD2_1001 1
+#define MOD2_1000 0
+#define MOD2_999 1
+#define MOD2_998 0
+#define MOD2_997 1
+#define MOD2_996 0
+#define MOD2_995 1
+#define MOD2_994 0
+#define MOD2_993 1
+#define MOD2_992 0
+#define MOD2_991 1
+#define MOD2_990 0
+#define MOD2_989 1
+#define MOD2_988 0
+#define MOD2_987 1
+#define MOD2_986 0
+#define MOD2_985 1
+#define MOD2_984 0
+#define MOD2_983 1
+#define MOD2_982 0
+#define MOD2_981 1
+#define MOD2_980 0
+#define MOD2_979 1
+#define MOD2_978 0
+#define MOD2_977 1
+#define MOD2_976 0
+#define MOD2_975 1
+#define MOD2_974 0
+#define MOD2_973 1
+#define MOD2_972 0
+#define MOD2_971 1
+#define MOD2_970 0
+#define MOD2_969 1
+#define MOD2_968 0
+#define MOD2_967 1
+#define MOD2_966 0
+#define MOD2_965 1
+#define MOD2_964 0
+#define MOD2_963 1
+#define MOD2_962 0
+#define MOD2_961 1
+#define MOD2_960 0
+#define MOD2_959 1
+#define MOD2_958 0
+#define MOD2_957 1
+#define MOD2_956 0
+#define MOD2_955 1
+#define MOD2_954 0
+#define MOD2_953 1
+#define MOD2_952 0
+#define MOD2_951 1
+#define MOD2_950 0
+#define MOD2_949 1
+#define MOD2_948 0
+#define MOD2_947 1
+#define MOD2_946 0
+#define MOD2_945 1
+#define MOD2_944 0
+#define MOD2_943 1
+#define MOD2_942 0
+#define MOD2_941 1
+#define MOD2_940 0
+#define MOD2_939 1
+#define MOD2_938 0
+#define MOD2_937 1
+#define MOD2_936 0
+#define MOD2_935 1
+#define MOD2_934 0
+#define MOD2_933 1
+#define MOD2_932 0
+#define MOD2_931 1
+#define MOD2_930 0
+#define MOD2_929 1
+#define MOD2_928 0
+#define MOD2_927 1
+#define MOD2_926 0
+#define MOD2_925 1
+#define MOD2_924 0
+#define MOD2_923 1
+#define MOD2_922 0
+#define MOD2_921 1
+#define MOD2_920 0
+#define MOD2_919 1
+#define MOD2_918 0
+#define MOD2_917 1
+#define MOD2_916 0
+#define MOD2_915 1
+#define MOD2_914 0
+#define MOD2_913 1
+#define MOD2_912 0
+#define MOD2_911 1
+#define MOD2_910 0
+#define MOD2_909 1
+#define MOD2_908 0
+#define MOD2_907 1
+#define MOD2_906 0
+#define MOD2_905 1
+#define MOD2_904 0
+#define MOD2_903 1
+#define MOD2_902 0
+#define MOD2_901 1
+#define MOD2_900 0
+#define MOD2_899 1
+#define MOD2_898 0
+#define MOD2_897 1
+#define MOD2_896 0
+#define MOD2_895 1
+#define MOD2_894 0
+#define MOD2_893 1
+#define MOD2_892 0
+#define MOD2_891 1
+#define MOD2_890 0
+#define MOD2_889 1
+#define MOD2_888 0
+#define MOD2_887 1
+#define MOD2_886 0
+#define MOD2_885 1
+#define MOD2_884 0
+#define MOD2_883 1
+#define MOD2_882 0
+#define MOD2_881 1
+#define MOD2_880 0
+#define MOD2_879 1
+#define MOD2_878 0
+#define MOD2_877 1
+#define MOD2_876 0
+#define MOD2_875 1
+#define MOD2_874 0
+#define MOD2_873 1
+#define MOD2_872 0
+#define MOD2_871 1
+#define MOD2_870 0
+#define MOD2_869 1
+#define MOD2_868 0
+#define MOD2_867 1
+#define MOD2_866 0
+#define MOD2_865 1
+#define MOD2_864 0
+#define MOD2_863 1
+#define MOD2_862 0
+#define MOD2_861 1
+#define MOD2_860 0
+#define MOD2_859 1
+#define MOD2_858 0
+#define MOD2_857 1
+#define MOD2_856 0
+#define MOD2_855 1
+#define MOD2_854 0
+#define MOD2_853 1
+#define MOD2_852 0
+#define MOD2_851 1
+#define MOD2_850 0
+#define MOD2_849 1
+#define MOD2_848 0
+#define MOD2_847 1
+#define MOD2_846 0
+#define MOD2_845 1
+#define MOD2_844 0
+#define MOD2_843 1
+#define MOD2_842 0
+#define MOD2_841 1
+#define MOD2_840 0
+#define MOD2_839 1
+#define MOD2_838 0
+#define MOD2_837 1
+#define MOD2_836 0
+#define MOD2_835 1
+#define MOD2_834 0
+#define MOD2_833 1
+#define MOD2_832 0
+#define MOD2_831 1
+#define MOD2_830 0
+#define MOD2_829 1
+#define MOD2_828 0
+#define MOD2_827 1
+#define MOD2_826 0
+#define MOD2_825 1
+#define MOD2_824 0
+#define MOD2_823 1
+#define MOD2_822 0
+#define MOD2_821 1
+#define MOD2_820 0
+#define MOD2_819 1
+#define MOD2_818 0
+#define MOD2_817 1
+#define MOD2_816 0
+#define MOD2_815 1
+#define MOD2_814 0
+#define MOD2_813 1
+#define MOD2_812 0
+#define MOD2_811 1
+#define MOD2_810 0
+#define MOD2_809 1
+#define MOD2_808 0
+#define MOD2_807 1
+#define MOD2_806 0
+#define MOD2_805 1
+#define MOD2_804 0
+#define MOD2_803 1
+#define MOD2_802 0
+#define MOD2_801 1
+#define MOD2_800 0
+#define MOD2_799 1
+#define MOD2_798 0
+#define MOD2_797 1
+#define MOD2_796 0
+#define MOD2_795 1
+#define MOD2_794 0
+#define MOD2_793 1
+#define MOD2_792 0
+#define MOD2_791 1
+#define MOD2_790 0
+#define MOD2_789 1
+#define MOD2_788 0
+#define MOD2_787 1
+#define MOD2_786 0
+#define MOD2_785 1
+#define MOD2_784 0
+#define MOD2_783 1
+#define MOD2_782 0
+#define MOD2_781 1
+#define MOD2_780 0
+#define MOD2_779 1
+#define MOD2_778 0
+#define MOD2_777 1
+#define MOD2_776 0
+#define MOD2_775 1
+#define MOD2_774 0
+#define MOD2_773 1
+#define MOD2_772 0
+#define MOD2_771 1
+#define MOD2_770 0
+#define MOD2_769 1
+#define MOD2_768 0
+#define MOD2_767 1
+#define MOD2_766 0
+#define MOD2_765 1
+#define MOD2_764 0
+#define MOD2_763 1
+#define MOD2_762 0
+#define MOD2_761 1
+#define MOD2_760 0
+#define MOD2_759 1
+#define MOD2_758 0
+#define MOD2_757 1
+#define MOD2_756 0
+#define MOD2_755 1
+#define MOD2_754 0
+#define MOD2_753 1
+#define MOD2_752 0
+#define MOD2_751 1
+#define MOD2_750 0
+#define MOD2_749 1
+#define MOD2_748 0
+#define MOD2_747 1
+#define MOD2_746 0
+#define MOD2_745 1
+#define MOD2_744 0
+#define MOD2_743 1
+#define MOD2_742 0
+#define MOD2_741 1
+#define MOD2_740 0
+#define MOD2_739 1
+#define MOD2_738 0
+#define MOD2_737 1
+#define MOD2_736 0
+#define MOD2_735 1
+#define MOD2_734 0
+#define MOD2_733 1
+#define MOD2_732 0
+#define MOD2_731 1
+#define MOD2_730 0
+#define MOD2_729 1
+#define MOD2_728 0
+#define MOD2_727 1
+#define MOD2_726 0
+#define MOD2_725 1
+#define MOD2_724 0
+#define MOD2_723 1
+#define MOD2_722 0
+#define MOD2_721 1
+#define MOD2_720 0
+#define MOD2_719 1
+#define MOD2_718 0
+#define MOD2_717 1
+#define MOD2_716 0
+#define MOD2_715 1
+#define MOD2_714 0
+#define MOD2_713 1
+#define MOD2_712 0
+#define MOD2_711 1
+#define MOD2_710 0
+#define MOD2_709 1
+#define MOD2_708 0
+#define MOD2_707 1
+#define MOD2_706 0
+#define MOD2_705 1
+#define MOD2_704 0
+#define MOD2_703 1
+#define MOD2_702 0
+#define MOD2_701 1
+#define MOD2_700 0
+#define MOD2_699 1
+#define MOD2_698 0
+#define MOD2_697 1
+#define MOD2_696 0
+#define MOD2_695 1
+#define MOD2_694 0
+#define MOD2_693 1
+#define MOD2_692 0
+#define MOD2_691 1
+#define MOD2_690 0
+#define MOD2_689 1
+#define MOD2_688 0
+#define MOD2_687 1
+#define MOD2_686 0
+#define MOD2_685 1
+#define MOD2_684 0
+#define MOD2_683 1
+#define MOD2_682 0
+#define MOD2_681 1
+#define MOD2_680 0
+#define MOD2_679 1
+#define MOD2_678 0
+#define MOD2_677 1
+#define MOD2_676 0
+#define MOD2_675 1
+#define MOD2_674 0
+#define MOD2_673 1
+#define MOD2_672 0
+#define MOD2_671 1
+#define MOD2_670 0
+#define MOD2_669 1
+#define MOD2_668 0
+#define MOD2_667 1
+#define MOD2_666 0
+#define MOD2_665 1
+#define MOD2_664 0
+#define MOD2_663 1
+#define MOD2_662 0
+#define MOD2_661 1
+#define MOD2_660 0
+#define MOD2_659 1
+#define MOD2_658 0
+#define MOD2_657 1
+#define MOD2_656 0
+#define MOD2_655 1
+#define MOD2_654 0
+#define MOD2_653 1
+#define MOD2_652 0
+#define MOD2_651 1
+#define MOD2_650 0
+#define MOD2_649 1
+#define MOD2_648 0
+#define MOD2_647 1
+#define MOD2_646 0
+#define MOD2_645 1
+#define MOD2_644 0
+#define MOD2_643 1
+#define MOD2_642 0
+#define MOD2_641 1
+#define MOD2_640 0
+#define MOD2_639 1
+#define MOD2_638 0
+#define MOD2_637 1
+#define MOD2_636 0
+#define MOD2_635 1
+#define MOD2_634 0
+#define MOD2_633 1
+#define MOD2_632 0
+#define MOD2_631 1
+#define MOD2_630 0
+#define MOD2_629 1
+#define MOD2_628 0
+#define MOD2_627 1
+#define MOD2_626 0
+#define MOD2_625 1
+#define MOD2_624 0
+#define MOD2_623 1
+#define MOD2_622 0
+#define MOD2_621 1
+#define MOD2_620 0
+#define MOD2_619 1
+#define MOD2_618 0
+#define MOD2_617 1
+#define MOD2_616 0
+#define MOD2_615 1
+#define MOD2_614 0
+#define MOD2_613 1
+#define MOD2_612 0
+#define MOD2_611 1
+#define MOD2_610 0
+#define MOD2_609 1
+#define MOD2_608 0
+#define MOD2_607 1
+#define MOD2_606 0
+#define MOD2_605 1
+#define MOD2_604 0
+#define MOD2_603 1
+#define MOD2_602 0
+#define MOD2_601 1
+#define MOD2_600 0
+#define MOD2_599 1
+#define MOD2_598 0
+#define MOD2_597 1
+#define MOD2_596 0
+#define MOD2_595 1
+#define MOD2_594 0
+#define MOD2_593 1
+#define MOD2_592 0
+#define MOD2_591 1
+#define MOD2_590 0
+#define MOD2_589 1
+#define MOD2_588 0
+#define MOD2_587 1
+#define MOD2_586 0
+#define MOD2_585 1
+#define MOD2_584 0
+#define MOD2_583 1
+#define MOD2_582 0
+#define MOD2_581 1
+#define MOD2_580 0
+#define MOD2_579 1
+#define MOD2_578 0
+#define MOD2_577 1
+#define MOD2_576 0
+#define MOD2_575 1
+#define MOD2_574 0
+#define MOD2_573 1
+#define MOD2_572 0
+#define MOD2_571 1
+#define MOD2_570 0
+#define MOD2_569 1
+#define MOD2_568 0
+#define MOD2_567 1
+#define MOD2_566 0
+#define MOD2_565 1
+#define MOD2_564 0
+#define MOD2_563 1
+#define MOD2_562 0
+#define MOD2_561 1
+#define MOD2_560 0
+#define MOD2_559 1
+#define MOD2_558 0
+#define MOD2_557 1
+#define MOD2_556 0
+#define MOD2_555 1
+#define MOD2_554 0
+#define MOD2_553 1
+#define MOD2_552 0
+#define MOD2_551 1
+#define MOD2_550 0
+#define MOD2_549 1
+#define MOD2_548 0
+#define MOD2_547 1
+#define MOD2_546 0
+#define MOD2_545 1
+#define MOD2_544 0
+#define MOD2_543 1
+#define MOD2_542 0
+#define MOD2_541 1
+#define MOD2_540 0
+#define MOD2_539 1
+#define MOD2_538 0
+#define MOD2_537 1
+#define MOD2_536 0
+#define MOD2_535 1
+#define MOD2_534 0
+#define MOD2_533 1
+#define MOD2_532 0
+#define MOD2_531 1
+#define MOD2_530 0
+#define MOD2_529 1
+#define MOD2_528 0
+#define MOD2_527 1
+#define MOD2_526 0
+#define MOD2_525 1
+#define MOD2_524 0
+#define MOD2_523 1
+#define MOD2_522 0
+#define MOD2_521 1
+#define MOD2_520 0
+#define MOD2_519 1
+#define MOD2_518 0
+#define MOD2_517 1
+#define MOD2_516 0
+#define MOD2_515 1
+#define MOD2_514 0
+#define MOD2_513 1
+#define MOD2_512 0
+#define MOD2_511 1
+#define MOD2_510 0
+#define MOD2_509 1
+#define MOD2_508 0
+#define MOD2_507 1
+#define MOD2_506 0
+#define MOD2_505 1
+#define MOD2_504 0
+#define MOD2_503 1
+#define MOD2_502 0
+#define MOD2_501 1
+#define MOD2_500 0
+#define MOD2_499 1
+#define MOD2_498 0
+#define MOD2_497 1
+#define MOD2_496 0
+#define MOD2_495 1
+#define MOD2_494 0
+#define MOD2_493 1
+#define MOD2_492 0
+#define MOD2_491 1
+#define MOD2_490 0
+#define MOD2_489 1
+#define MOD2_488 0
+#define MOD2_487 1
+#define MOD2_486 0
+#define MOD2_485 1
+#define MOD2_484 0
+#define MOD2_483 1
+#define MOD2_482 0
+#define MOD2_481 1
+#define MOD2_480 0
+#define MOD2_479 1
+#define MOD2_478 0
+#define MOD2_477 1
+#define MOD2_476 0
+#define MOD2_475 1
+#define MOD2_474 0
+#define MOD2_473 1
+#define MOD2_472 0
+#define MOD2_471 1
+#define MOD2_470 0
+#define MOD2_469 1
+#define MOD2_468 0
+#define MOD2_467 1
+#define MOD2_466 0
+#define MOD2_465 1
+#define MOD2_464 0
+#define MOD2_463 1
+#define MOD2_462 0
+#define MOD2_461 1
+#define MOD2_460 0
+#define MOD2_459 1
+#define MOD2_458 0
+#define MOD2_457 1
+#define MOD2_456 0
+#define MOD2_455 1
+#define MOD2_454 0
+#define MOD2_453 1
+#define MOD2_452 0
+#define MOD2_451 1
+#define MOD2_450 0
+#define MOD2_449 1
+#define MOD2_448 0
+#define MOD2_447 1
+#define MOD2_446 0
+#define MOD2_445 1
+#define MOD2_444 0
+#define MOD2_443 1
+#define MOD2_442 0
+#define MOD2_441 1
+#define MOD2_440 0
+#define MOD2_439 1
+#define MOD2_438 0
+#define MOD2_437 1
+#define MOD2_436 0
+#define MOD2_435 1
+#define MOD2_434 0
+#define MOD2_433 1
+#define MOD2_432 0
+#define MOD2_431 1
+#define MOD2_430 0
+#define MOD2_429 1
+#define MOD2_428 0
+#define MOD2_427 1
+#define MOD2_426 0
+#define MOD2_425 1
+#define MOD2_424 0
+#define MOD2_423 1
+#define MOD2_422 0
+#define MOD2_421 1
+#define MOD2_420 0
+#define MOD2_419 1
+#define MOD2_418 0
+#define MOD2_417 1
+#define MOD2_416 0
+#define MOD2_415 1
+#define MOD2_414 0
+#define MOD2_413 1
+#define MOD2_412 0
+#define MOD2_411 1
+#define MOD2_410 0
+#define MOD2_409 1
+#define MOD2_408 0
+#define MOD2_407 1
+#define MOD2_406 0
+#define MOD2_405 1
+#define MOD2_404 0
+#define MOD2_403 1
+#define MOD2_402 0
+#define MOD2_401 1
+#define MOD2_400 0
+#define MOD2_399 1
+#define MOD2_398 0
+#define MOD2_397 1
+#define MOD2_396 0
+#define MOD2_395 1
+#define MOD2_394 0
+#define MOD2_393 1
+#define MOD2_392 0
+#define MOD2_391 1
+#define MOD2_390 0
+#define MOD2_389 1
+#define MOD2_388 0
+#define MOD2_387 1
+#define MOD2_386 0
+#define MOD2_385 1
+#define MOD2_384 0
+#define MOD2_383 1
+#define MOD2_382 0
+#define MOD2_381 1
+#define MOD2_380 0
+#define MOD2_379 1
+#define MOD2_378 0
+#define MOD2_377 1
+#define MOD2_376 0
+#define MOD2_375 1
+#define MOD2_374 0
+#define MOD2_373 1
+#define MOD2_372 0
+#define MOD2_371 1
+#define MOD2_370 0
+#define MOD2_369 1
+#define MOD2_368 0
+#define MOD2_367 1
+#define MOD2_366 0
+#define MOD2_365 1
+#define MOD2_364 0
+#define MOD2_363 1
+#define MOD2_362 0
+#define MOD2_361 1
+#define MOD2_360 0
+#define MOD2_359 1
+#define MOD2_358 0
+#define MOD2_357 1
+#define MOD2_356 0
+#define MOD2_355 1
+#define MOD2_354 0
+#define MOD2_353 1
+#define MOD2_352 0
+#define MOD2_351 1
+#define MOD2_350 0
+#define MOD2_349 1
+#define MOD2_348 0
+#define MOD2_347 1
+#define MOD2_346 0
+#define MOD2_345 1
+#define MOD2_344 0
+#define MOD2_343 1
+#define MOD2_342 0
+#define MOD2_341 1
+#define MOD2_340 0
+#define MOD2_339 1
+#define MOD2_338 0
+#define MOD2_337 1
+#define MOD2_336 0
+#define MOD2_335 1
+#define MOD2_334 0
+#define MOD2_333 1
+#define MOD2_332 0
+#define MOD2_331 1
+#define MOD2_330 0
+#define MOD2_329 1
+#define MOD2_328 0
+#define MOD2_327 1
+#define MOD2_326 0
+#define MOD2_325 1
+#define MOD2_324 0
+#define MOD2_323 1
+#define MOD2_322 0
+#define MOD2_321 1
+#define MOD2_320 0
+#define MOD2_319 1
+#define MOD2_318 0
+#define MOD2_317 1
+#define MOD2_316 0
+#define MOD2_315 1
+#define MOD2_314 0
+#define MOD2_313 1
+#define MOD2_312 0
+#define MOD2_311 1
+#define MOD2_310 0
+#define MOD2_309 1
+#define MOD2_308 0
+#define MOD2_307 1
+#define MOD2_306 0
+#define MOD2_305 1
+#define MOD2_304 0
+#define MOD2_303 1
+#define MOD2_302 0
+#define MOD2_301 1
+#define MOD2_300 0
+#define MOD2_299 1
+#define MOD2_298 0
+#define MOD2_297 1
+#define MOD2_296 0
+#define MOD2_295 1
+#define MOD2_294 0
+#define MOD2_293 1
+#define MOD2_292 0
+#define MOD2_291 1
+#define MOD2_290 0
+#define MOD2_289 1
+#define MOD2_288 0
+#define MOD2_287 1
+#define MOD2_286 0
+#define MOD2_285 1
+#define MOD2_284 0
+#define MOD2_283 1
+#define MOD2_282 0
+#define MOD2_281 1
+#define MOD2_280 0
+#define MOD2_279 1
+#define MOD2_278 0
+#define MOD2_277 1
+#define MOD2_276 0
+#define MOD2_275 1
+#define MOD2_274 0
+#define MOD2_273 1
+#define MOD2_272 0
+#define MOD2_271 1
+#define MOD2_270 0
+#define MOD2_269 1
+#define MOD2_268 0
+#define MOD2_267 1
+#define MOD2_266 0
+#define MOD2_265 1
+#define MOD2_264 0
+#define MOD2_263 1
+#define MOD2_262 0
+#define MOD2_261 1
+#define MOD2_260 0
+#define MOD2_259 1
+#define MOD2_258 0
+#define MOD2_257 1
+#define MOD2_256 0
+#define MOD2_255 1
+#define MOD2_254 0
+#define MOD2_253 1
+#define MOD2_252 0
+#define MOD2_251 1
+#define MOD2_250 0
+#define MOD2_249 1
+#define MOD2_248 0
+#define MOD2_247 1
+#define MOD2_246 0
+#define MOD2_245 1
+#define MOD2_244 0
+#define MOD2_243 1
+#define MOD2_242 0
+#define MOD2_241 1
+#define MOD2_240 0
+#define MOD2_239 1
+#define MOD2_238 0
+#define MOD2_237 1
+#define MOD2_236 0
+#define MOD2_235 1
+#define MOD2_234 0
+#define MOD2_233 1
+#define MOD2_232 0
+#define MOD2_231 1
+#define MOD2_230 0
+#define MOD2_229 1
+#define MOD2_228 0
+#define MOD2_227 1
+#define MOD2_226 0
+#define MOD2_225 1
+#define MOD2_224 0
+#define MOD2_223 1
+#define MOD2_222 0
+#define MOD2_221 1
+#define MOD2_220 0
+#define MOD2_219 1
+#define MOD2_218 0
+#define MOD2_217 1
+#define MOD2_216 0
+#define MOD2_215 1
+#define MOD2_214 0
+#define MOD2_213 1
+#define MOD2_212 0
+#define MOD2_211 1
+#define MOD2_210 0
+#define MOD2_209 1
+#define MOD2_208 0
+#define MOD2_207 1
+#define MOD2_206 0
+#define MOD2_205 1
+#define MOD2_204 0
+#define MOD2_203 1
+#define MOD2_202 0
+#define MOD2_201 1
+#define MOD2_200 0
+#define MOD2_199 1
+#define MOD2_198 0
+#define MOD2_197 1
+#define MOD2_196 0
+#define MOD2_195 1
+#define MOD2_194 0
+#define MOD2_193 1
+#define MOD2_192 0
+#define MOD2_191 1
+#define MOD2_190 0
+#define MOD2_189 1
+#define MOD2_188 0
+#define MOD2_187 1
+#define MOD2_186 0
+#define MOD2_185 1
+#define MOD2_184 0
+#define MOD2_183 1
+#define MOD2_182 0
+#define MOD2_181 1
+#define MOD2_180 0
+#define MOD2_179 1
+#define MOD2_178 0
+#define MOD2_177 1
+#define MOD2_176 0
+#define MOD2_175 1
+#define MOD2_174 0
+#define MOD2_173 1
+#define MOD2_172 0
+#define MOD2_171 1
+#define MOD2_170 0
+#define MOD2_169 1
+#define MOD2_168 0
+#define MOD2_167 1
+#define MOD2_166 0
+#define MOD2_165 1
+#define MOD2_164 0
+#define MOD2_163 1
+#define MOD2_162 0
+#define MOD2_161 1
+#define MOD2_160 0
+#define MOD2_159 1
+#define MOD2_158 0
+#define MOD2_157 1
+#define MOD2_156 0
+#define MOD2_155 1
+#define MOD2_154 0
+#define MOD2_153 1
+#define MOD2_152 0
+#define MOD2_151 1
+#define MOD2_150 0
+#define MOD2_149 1
+#define MOD2_148 0
+#define MOD2_147 1
+#define MOD2_146 0
+#define MOD2_145 1
+#define MOD2_144 0
+#define MOD2_143 1
+#define MOD2_142 0
+#define MOD2_141 1
+#define MOD2_140 0
+#define MOD2_139 1
+#define MOD2_138 0
+#define MOD2_137 1
+#define MOD2_136 0
+#define MOD2_135 1
+#define MOD2_134 0
+#define MOD2_133 1
+#define MOD2_132 0
+#define MOD2_131 1
+#define MOD2_130 0
+#define MOD2_129 1
+#define MOD2_128 0
+#define MOD2_127 1
+#define MOD2_126 0
+#define MOD2_125 1
+#define MOD2_124 0
+#define MOD2_123 1
+#define MOD2_122 0
+#define MOD2_121 1
+#define MOD2_120 0
+#define MOD2_119 1
+#define MOD2_118 0
+#define MOD2_117 1
+#define MOD2_116 0
+#define MOD2_115 1
+#define MOD2_114 0
+#define MOD2_113 1
+#define MOD2_112 0
+#define MOD2_111 1
+#define MOD2_110 0
+#define MOD2_109 1
+#define MOD2_108 0
+#define MOD2_107 1
+#define MOD2_106 0
+#define MOD2_105 1
+#define MOD2_104 0
+#define MOD2_103 1
+#define MOD2_102 0
+#define MOD2_101 1
+#define MOD2_100 0
+#define MOD2_99 1
+#define MOD2_98 0
+#define MOD2_97 1
+#define MOD2_96 0
+#define MOD2_95 1
+#define MOD2_94 0
+#define MOD2_93 1
+#define MOD2_92 0
+#define MOD2_91 1
+#define MOD2_90 0
+#define MOD2_89 1
+#define MOD2_88 0
+#define MOD2_87 1
+#define MOD2_86 0
+#define MOD2_85 1
+#define MOD2_84 0
+#define MOD2_83 1
+#define MOD2_82 0
+#define MOD2_81 1
+#define MOD2_80 0
+#define MOD2_79 1
+#define MOD2_78 0
+#define MOD2_77 1
+#define MOD2_76 0
+#define MOD2_75 1
+#define MOD2_74 0
+#define MOD2_73 1
+#define MOD2_72 0
+#define MOD2_71 1
+#define MOD2_70 0
+#define MOD2_69 1
+#define MOD2_68 0
+#define MOD2_67 1
+#define MOD2_66 0
+#define MOD2_65 1
+#define MOD2_64 0
+#define MOD2_63 1
+#define MOD2_62 0
+#define MOD2_61 1
+#define MOD2_60 0
+#define MOD2_59 1
+#define MOD2_58 0
+#define MOD2_57 1
+#define MOD2_56 0
+#define MOD2_55 1
+#define MOD2_54 0
+#define MOD2_53 1
+#define MOD2_52 0
+#define MOD2_51 1
+#define MOD2_50 0
+#define MOD2_49 1
+#define MOD2_48 0
+#define MOD2_47 1
+#define MOD2_46 0
+#define MOD2_45 1
+#define MOD2_44 0
+#define MOD2_43 1
+#define MOD2_42 0
+#define MOD2_41 1
+#define MOD2_40 0
+#define MOD2_39 1
+#define MOD2_38 0
+#define MOD2_37 1
+#define MOD2_36 0
+#define MOD2_35 1
+#define MOD2_34 0
+#define MOD2_33 1
+#define MOD2_32 0
+#define MOD2_31 1
+#define MOD2_30 0
+#define MOD2_29 1
+#define MOD2_28 0
+#define MOD2_27 1
+#define MOD2_26 0
+#define MOD2_25 1
+#define MOD2_24 0
+#define MOD2_23 1
+#define MOD2_22 0
+#define MOD2_21 1
+#define MOD2_20 0
+#define MOD2_19 1
+#define MOD2_18 0
+#define MOD2_17 1
+#define MOD2_16 0
+#define MOD2_15 1
+#define MOD2_14 0
+#define MOD2_13 1
+#define MOD2_12 0
+#define MOD2_11 1
+#define MOD2_10 0
+#define MOD2_9 1
+#define MOD2_8 0
+#define MOD2_7 1
+#define MOD2_6 0
+#define MOD2_5 1
+#define MOD2_4 0
+#define MOD2_3 1
+#define MOD2_2 0
+#define MOD2_1 1
+#define MOD2_0 0
+
 #define THE_NTH_ARG(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, P23, P24, P25, P26, P27, P28, P29, P30, P31, P32, P33, P34, P35, P36, P37, P38, P39, P40, P41, P42, P43, P44, P45, P46, P47, P48, P49, P50, P51, P52, P53, P54, P55, P56, P57, P58, P59, P60, P61, P62, P63, P64, P65, P66, P67, P68, P69, P70, P71, P72, P73, P74, P75, P76, P77, P78, P79, P80, P81, P82, P83, P84, P85, P86, P87, P88, P89, P90, P91, P92, P93, P94, P95, P96, P97, P98, P99, P100, P101, P102, P103, P104, P105, P106, P107, P108, P109, P110, P111, P112, P113, P114, P115, P116, P117, P118, P119, P120, P121, P122, P123, P124,  ... ) P124
 
 #define _TRIGGER_PARENTHESIS_(...) ,