Bug Summary

File:OMCompiler/Compiler/boot/build/DiffAlgorithm.c
Warning:line 1987, column 7
Value stored to '_b' is never read

Annotated Source Code

[?] Use j/k keys for keyboard navigation

1#ifdef OMC_BASE_FILE
2 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "DiffAlgorithm.h"
8#define _OMC_LIT0_data"myersGreedyPathToDiff: This cannot happen\n" "myersGreedyPathToDiff: This cannot happen\n"
9static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT0,42,_OMC_LIT0_data)struct { mmc_uint_t header; const char data[(42)+1]; } _OMC_LIT_STRUCT0
= { ((((mmc_uint_t)42)<<(3))+((1<<(3+3))+5)), "myersGreedyPathToDiff: This cannot happen\n"
}
;
10#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
11#define _OMC_LIT1_data"myersDiff: This cannot happen" "myersDiff: This cannot happen"
12static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1,29,_OMC_LIT1_data)struct { mmc_uint_t header; const char data[(29)+1]; } _OMC_LIT_STRUCT1
= { ((((mmc_uint_t)29)<<(3))+((1<<(3+3))+5)), "myersDiff: This cannot happen"
}
;
13#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
14#define _OMC_LIT2_data"" ""
15static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,0,_OMC_LIT2_data)struct { mmc_uint_t header; const char data[(0)+1]; } _OMC_LIT_STRUCT2
= { ((((mmc_uint_t)0)<<(3))+((1<<(3+3))+5)), "" }
;
16#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
17#define _OMC_LIT3_data"<equal>" "<equal>"
18static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3,7,_OMC_LIT3_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT3
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "<equal>"
}
;
19#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
20#define _OMC_LIT4_data"</equal>" "</equal>"
21static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT4,8,_OMC_LIT4_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT4
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "</equal>"
}
;
22#define _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT4)((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))
23#define _OMC_LIT5_data"<add>" "<add>"
24static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,5,_OMC_LIT5_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT5
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "<add>"
}
;
25#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
26#define _OMC_LIT6_data"</add>" "</add>"
27static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,6,_OMC_LIT6_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT6
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "</add>"
}
;
28#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
29#define _OMC_LIT7_data"<del>" "<del>"
30static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT7,5,_OMC_LIT7_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT7
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "<del>"
}
;
31#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
32#define _OMC_LIT8_data"</del>" "</del>"
33static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT8,6,_OMC_LIT8_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT8
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "</del>"
}
;
34#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
35#define _OMC_LIT9_data"" ""
36static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT9,7,_OMC_LIT9_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT9
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), ""
}
;
37#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
38#define _OMC_LIT10_data"" ""
39static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT10,4,_OMC_LIT10_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT10
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), ""
}
;
40#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
41#define _OMC_LIT11_data"" ""
42static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,7,_OMC_LIT11_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT11
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), ""
}
;
43#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
44#include "util/modelica.h"
45
46#include "DiffAlgorithm_includes.h"
47
48
49/* default, do not make protected functions static */
50#if !defined(PROTECTED_FUNCTION_STATIC)
51#define PROTECTED_FUNCTION_STATIC
52#endif
53PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_trimCommonSuffix(threadData_t *threadData, modelica_metatype _arr1, modelica_integer _start1, modelica_integer _inEnd1, modelica_metatype _arr2, modelica_integer _start2, modelica_integer _inEnd2, modelica_fnptr _equals, modelica_metatype _acc, modelica_integer *out_end1, modelica_integer *out_end2);
54PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_trimCommonSuffix(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _start1, modelica_metatype _inEnd1, modelica_metatype _arr2, modelica_metatype _start2, modelica_metatype _inEnd2, modelica_fnptr _equals, modelica_metatype _acc, modelica_metatype *out_end1, modelica_metatype *out_end2);
55static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_trimCommonSuffix,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_trimCommonSuffix
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_trimCommonSuffix,0}};
56#define boxvar_DiffAlgorithm_trimCommonSuffix((void*)((char*)(&(boxvar_lit_DiffAlgorithm_trimCommonSuffix
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_trimCommonSuffix)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_trimCommonSuffix
).header) + 3))
57PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_trimCommonPrefix(threadData_t *threadData, modelica_metatype _arr1, modelica_integer _inStart1, modelica_integer _end1, modelica_metatype _arr2, modelica_integer _inStart2, modelica_integer _end2, modelica_fnptr _equals, modelica_metatype _acc, modelica_integer *out_start1, modelica_integer *out_start2);
58PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_trimCommonPrefix(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _inStart1, modelica_metatype _end1, modelica_metatype _arr2, modelica_metatype _inStart2, modelica_metatype _end2, modelica_fnptr _equals, modelica_metatype _acc, modelica_metatype *out_start1, modelica_metatype *out_start2);
59static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_trimCommonPrefix,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_trimCommonPrefix
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_trimCommonPrefix,0}};
60#define boxvar_DiffAlgorithm_trimCommonPrefix((void*)((char*)(&(boxvar_lit_DiffAlgorithm_trimCommonPrefix
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_trimCommonPrefix)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_trimCommonPrefix
).header) + 3))
61PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_myersGreedyPathToDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_integer _start1, modelica_integer _start2, modelica_metatype _paths);
62PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_myersGreedyPathToDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_metatype _start1, modelica_metatype _start2, modelica_metatype _paths);
63static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_myersGreedyPathToDiff,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_myersGreedyPathToDiff
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_myersGreedyPathToDiff,0}};
64#define boxvar_DiffAlgorithm_myersGreedyPathToDiff((void*)((char*)(&(boxvar_lit_DiffAlgorithm_myersGreedyPathToDiff
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_myersGreedyPathToDiff)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_myersGreedyPathToDiff
).header) + 3))
65PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_myersGreedyDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_integer _start1, modelica_integer _end1, modelica_integer _start2, modelica_integer _end2);
66PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_myersGreedyDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_metatype _start1, modelica_metatype _end1, modelica_metatype _start2, modelica_metatype _end2);
67static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_myersGreedyDiff,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_myersGreedyDiff
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_myersGreedyDiff,0}};
68#define boxvar_DiffAlgorithm_myersGreedyDiff((void*)((char*)(&(boxvar_lit_DiffAlgorithm_myersGreedyDiff
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_myersGreedyDiff)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_myersGreedyDiff
).header) + 3))
69PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_onlyRemovals(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_integer _start1, modelica_integer _end1, modelica_integer _start2, modelica_integer _end2);
70PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_onlyRemovals(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_metatype _start1, modelica_metatype _end1, modelica_metatype _start2, modelica_metatype _end2);
71static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_onlyRemovals,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_onlyRemovals
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_onlyRemovals,0}};
72#define boxvar_DiffAlgorithm_onlyRemovals((void*)((char*)(&(boxvar_lit_DiffAlgorithm_onlyRemovals)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_onlyRemovals)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_onlyRemovals)
.header) + 3))
73PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_onlyAdditions(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_integer _start1, modelica_integer _end1, modelica_integer _start2, modelica_integer _end2);
74PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_onlyAdditions(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_metatype _start1, modelica_metatype _end1, modelica_metatype _start2, modelica_metatype _end2);
75static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_onlyAdditions,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_onlyAdditions
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_onlyAdditions,0}};
76#define boxvar_DiffAlgorithm_onlyAdditions((void*)((char*)(&(boxvar_lit_DiffAlgorithm_onlyAdditions
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_onlyAdditions)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_onlyAdditions
).header) + 3))
77PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_endList(threadData_t *threadData, modelica_metatype _inlst, modelica_integer _ind, modelica_metatype _inacc);
78PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_endList(threadData_t *threadData, modelica_metatype _inlst, modelica_metatype _ind, modelica_metatype _inacc);
79static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_endList,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_endList
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_endList,0}};
80#define boxvar_DiffAlgorithm_endList((void*)((char*)(&(boxvar_lit_DiffAlgorithm_endList).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_endList)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_endList).header
) + 3))
81PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_addToList(threadData_t *threadData, modelica_metatype _inlst, modelica_integer _ind, modelica_metatype _inacc, modelica_integer _newd, modelica_metatype _t, modelica_integer *out_d, modelica_metatype *out_acc);
82PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_addToList(threadData_t *threadData, modelica_metatype _inlst, modelica_metatype _ind, modelica_metatype _inacc, modelica_metatype _newd, modelica_metatype _t, modelica_metatype *out_d, modelica_metatype *out_acc);
83static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_addToList,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_addToList
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_addToList,0}};
84#define boxvar_DiffAlgorithm_addToList((void*)((char*)(&(boxvar_lit_DiffAlgorithm_addToList).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_addToList)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_addToList).header
) + 3))
85PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_diffSeq(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_integer _inStart1, modelica_integer _inEnd1, modelica_integer _inStart2, modelica_integer _inEnd2, modelica_metatype _inPrefixes, modelica_metatype _inSuffixes);
86PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_diffSeq(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_metatype _inStart1, modelica_metatype _inEnd1, modelica_metatype _inStart2, modelica_metatype _inEnd2, modelica_metatype _inPrefixes, modelica_metatype _inSuffixes);
87static const MMC_DEFSTRUCTLIT(boxvar_lit_DiffAlgorithm_diffSeq,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_DiffAlgorithm_diffSeq
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_DiffAlgorithm_diffSeq,0}};
88#define boxvar_DiffAlgorithm_diffSeq((void*)((char*)(&(boxvar_lit_DiffAlgorithm_diffSeq).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_DiffAlgorithm_diffSeq)((void*)((char*)(&(boxvar_lit_DiffAlgorithm_diffSeq).header
) + 3))
89
90PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_trimCommonSuffix(threadData_t *threadData, modelica_metatype _arr1, modelica_integer _start1, modelica_integer _inEnd1, modelica_metatype _arr2, modelica_integer _start2, modelica_integer _inEnd2, modelica_fnptr _equals, modelica_metatype _acc, modelica_integer *out_end1, modelica_integer *out_end2)
91{
92 modelica_metatype _suffixes = NULL((void*)0);
93 modelica_integer _end1;
94 modelica_integer _end2;
95 modelica_metatype _lst = NULL((void*)0);
96 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
97 MMC_SO()mmc_check_stackoverflow(threadData);
98 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
99 _suffixes = _acc;
100 _end1 = _inEnd1;
101 _end2 = _inEnd2;
102 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
103 _lst = tmpMeta[0];
104#line 564 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
105 while(1)
106#line 564 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
107 {
108#line 564 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
109 if(!(((_start1 <= _end1) && (_start2 <= _end2))?mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))), arrayGet(_arr1,_end1) /* DAE.ASUB */, arrayGet(_arr2,_end2) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, arrayGet(_arr1,_end1) /* DAE.ASUB */, arrayGet(_arr2,_end2) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_equals) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype, modelica_metatype)) (
(*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3)))
+ (1))))))) (threadData, ((*(void**)(((void*)((void**)(((void
*)((char*)(_equals) - 3))) + (2)))))), nobox_arrayGet(threadData
,_arr1,_end1) , nobox_arrayGet(threadData,_arr2,_end2) ) : ((
modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3
))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr1,
_end1) , nobox_arrayGet(threadData,_arr2,_end2) ))) >> 1
)
:0)) break;
110#line 565 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
111 tmpMeta[1] = mmc_mk_cons(arrayGet(_arr1,_end1)nobox_arrayGet(threadData,_arr1,_end1) /* DAE.ASUB */, _lst);
112#line 565 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
113 _lst = tmpMeta[1];
114#line 114 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
115
116#line 566 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
117 _end1 = ((modelica_integer) -1) + _end1;
118#line 118 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
119
120#line 567 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
121 _end2 = ((modelica_integer) -1) + _end2;
122#line 122 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
123 }
124
125#line 569 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
126 if((!listEmpty(_lst)((*(mmc_uint_t*)((void*)((char*)(_lst) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
127#line 569 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
128 {
129#line 570 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
130 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(3), _lst);
131#line 570 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
132 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _suffixes);
133#line 570 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
134 _suffixes = tmpMeta[1];
135#line 135 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
136 }
137 _return: OMC_LABEL_UNUSED__attribute__((unused))
138 if (out_end1) { *out_end1 = _end1; }
139 if (out_end2) { *out_end2 = _end2; }
140 return _suffixes;
141}
142PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_trimCommonSuffix(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _start1, modelica_metatype _inEnd1, modelica_metatype _arr2, modelica_metatype _start2, modelica_metatype _inEnd2, modelica_fnptr _equals, modelica_metatype _acc, modelica_metatype *out_end1, modelica_metatype *out_end2)
143{
144 modelica_integer tmp1;
145 modelica_integer tmp2;
146 modelica_integer tmp3;
147 modelica_integer tmp4;
148 modelica_integer _end1;
149 modelica_integer _end2;
150 modelica_metatype _suffixes = NULL((void*)0);
151 tmp1 = mmc_unbox_integer(_start1)(((mmc_sint_t) (_start1)) >> 1);
152 tmp2 = mmc_unbox_integer(_inEnd1)(((mmc_sint_t) (_inEnd1)) >> 1);
153 tmp3 = mmc_unbox_integer(_start2)(((mmc_sint_t) (_start2)) >> 1);
154 tmp4 = mmc_unbox_integer(_inEnd2)(((mmc_sint_t) (_inEnd2)) >> 1);
155 _suffixes = omc_DiffAlgorithm_trimCommonSuffix(threadData, _arr1, tmp1, tmp2, _arr2, tmp3, tmp4, _equals, _acc, &_end1, &_end2);
156 /* skip box _suffixes; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
157 if (out_end1) { *out_end1 = mmc_mk_icon(_end1); }
158 if (out_end2) { *out_end2 = mmc_mk_icon(_end2); }
159 return _suffixes;
160}
161
162PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_trimCommonPrefix(threadData_t *threadData, modelica_metatype _arr1, modelica_integer _inStart1, modelica_integer _end1, modelica_metatype _arr2, modelica_integer _inStart2, modelica_integer _end2, modelica_fnptr _equals, modelica_metatype _acc, modelica_integer *out_start1, modelica_integer *out_start2)
163{
164 modelica_metatype _prefixes = NULL((void*)0);
165 modelica_integer _start1;
166 modelica_integer _start2;
167 modelica_metatype _lst = NULL((void*)0);
168 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
169 MMC_SO()mmc_check_stackoverflow(threadData);
170 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
171 _prefixes = _acc;
172 _start1 = _inStart1;
173 _start2 = _inStart2;
174 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
175 _lst = tmpMeta[0];
176#line 536 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
177 while(1)
178#line 536 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
179 {
180#line 536 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
181 if(!(((_start1 <= _end1) && (_start2 <= _end2))?mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))), arrayGet(_arr1,_start1) /* DAE.ASUB */, arrayGet(_arr2,_start2) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, arrayGet(_arr1,_start1) /* DAE.ASUB */, arrayGet(_arr2,_start2) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_equals) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype, modelica_metatype)) (
(*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3)))
+ (1))))))) (threadData, ((*(void**)(((void*)((void**)(((void
*)((char*)(_equals) - 3))) + (2)))))), nobox_arrayGet(threadData
,_arr1,_start1) , nobox_arrayGet(threadData,_arr2,_start2) ) :
((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3
))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr1,
_start1) , nobox_arrayGet(threadData,_arr2,_start2) ))) >>
1)
:0)) break;
182#line 537 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
183 tmpMeta[1] = mmc_mk_cons(arrayGet(_arr1,_start1)nobox_arrayGet(threadData,_arr1,_start1) /* DAE.ASUB */, _lst);
184#line 537 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
185 _lst = tmpMeta[1];
186#line 186 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
187
188#line 538 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
189 _start1 = ((modelica_integer) 1) + _start1;
190#line 190 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
191
192#line 539 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
193 _start2 = ((modelica_integer) 1) + _start2;
194#line 194 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
195 }
196
197#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
198 if((!listEmpty(_lst)((*(mmc_uint_t*)((void*)((char*)(_lst) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
199#line 541 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
200 {
201#line 542 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
202 tmpMeta[2] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(3), listReverse(_lst));
203#line 542 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
204 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _prefixes);
205#line 542 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
206 _prefixes = tmpMeta[1];
207#line 207 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
208 }
209 _return: OMC_LABEL_UNUSED__attribute__((unused))
210 if (out_start1) { *out_start1 = _start1; }
211 if (out_start2) { *out_start2 = _start2; }
212 return _prefixes;
213}
214PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_trimCommonPrefix(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _inStart1, modelica_metatype _end1, modelica_metatype _arr2, modelica_metatype _inStart2, modelica_metatype _end2, modelica_fnptr _equals, modelica_metatype _acc, modelica_metatype *out_start1, modelica_metatype *out_start2)
215{
216 modelica_integer tmp1;
217 modelica_integer tmp2;
218 modelica_integer tmp3;
219 modelica_integer tmp4;
220 modelica_integer _start1;
221 modelica_integer _start2;
222 modelica_metatype _prefixes = NULL((void*)0);
223 tmp1 = mmc_unbox_integer(_inStart1)(((mmc_sint_t) (_inStart1)) >> 1);
224 tmp2 = mmc_unbox_integer(_end1)(((mmc_sint_t) (_end1)) >> 1);
225 tmp3 = mmc_unbox_integer(_inStart2)(((mmc_sint_t) (_inStart2)) >> 1);
226 tmp4 = mmc_unbox_integer(_end2)(((mmc_sint_t) (_end2)) >> 1);
227 _prefixes = omc_DiffAlgorithm_trimCommonPrefix(threadData, _arr1, tmp1, tmp2, _arr2, tmp3, tmp4, _equals, _acc, &_start1, &_start2);
228 /* skip box _prefixes; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
229 if (out_start1) { *out_start1 = mmc_mk_icon(_start1); }
230 if (out_start2) { *out_start2 = mmc_mk_icon(_start2); }
231 return _prefixes;
232}
233
234PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_myersGreedyPathToDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_integer _start1, modelica_integer _start2, modelica_metatype _paths)
235{
236 modelica_metatype _out = NULL((void*)0);
237 modelica_integer _x1;
238 modelica_integer _x2;
239 modelica_integer _y1;
240 modelica_integer _y2;
241 modelica_integer _d1;
242 modelica_integer _d2;
243 modelica_metatype _lst = NULL((void*)0);
244 modelica_metatype _t = NULL((void*)0);
245 modelica_integer tmp1;
246 modelica_integer tmp2;
247 modelica_integer tmp3;
248 modelica_integer tmp4;
249 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
250 MMC_SO()mmc_check_stackoverflow(threadData);
251 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
252 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
253 _out = tmpMeta[0];
254 // _x1 has no default value.
255 // _x2 has no default value.
256 // _y1 has no default value.
257 // _y2 has no default value.
258 _d1 = 3;
259 _d2 = 3;
260 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
261 _lst = tmpMeta[1];
262 // _t has no default value.
263#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
264 /* Pattern-matching assignment */
265#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
266 tmpMeta[2] = _paths;
267#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
268 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
269#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
270 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
271#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
272 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
273#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
274 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
275#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
276 tmp1 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
277#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
278 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
279#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
280 tmp2 = mmc_unbox_integer(tmpMeta[6])(((mmc_sint_t) (tmpMeta[6])) >> 1);
281#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
282 _x2 = tmp1 /* pattern as ty=Integer */;
283#line 481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
284 _y2 = tmp2 /* pattern as ty=Integer */;
285#line 285 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
286
287#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
288 {
289#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
290 modelica_metatype _path;
291#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
292 for (tmpMeta[2] = listRest(_paths)boxptr_listRest(threadData,_paths); !listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[2]=MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
)
293#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
294 {
295#line 482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
296 _path = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
297#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
298 /* Pattern-matching assignment */
299#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
300 tmpMeta[3] = _path;
301#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
302 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
303#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
304 tmp3 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
305#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
306 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
307#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
308 tmp4 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
309#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
310 _x1 = tmp3 /* pattern as ty=Integer */;
311#line 483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
312 _y1 = tmp4 /* pattern as ty=Integer */;
313#line 313 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
314
315#line 484 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
316 if(((_x2 - _x1 == ((modelica_integer) 1)) && (_y2 - _y1 == ((modelica_integer) 1))))
317#line 484 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
318 {
319#line 486 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
320 _d1 = 3;
321#line 321 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
322
323#line 487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
324 _t = arrayGet(_arr1,_start1 + _x1)nobox_arrayGet(threadData,_arr1,_start1 + _x1) /* DAE.ASUB */;
325#line 325 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
326 }
327 else
328 {
329 if(((_x2 - _x1 == ((modelica_integer) 1)) && (_y2 == _y1)))
330 {
331#line 490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
332 _d1 = 2;
333#line 333 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
334
335#line 491 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
336 _t = arrayGet(_arr1,_start1 + _x1)nobox_arrayGet(threadData,_arr1,_start1 + _x1) /* DAE.ASUB */;
337#line 337 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
338 }
339 else
340 {
341 if(((_y2 - _y1 == ((modelica_integer) 1)) && (_x2 == _x1)))
342 {
343#line 494 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
344 _d1 = 1;
345#line 345 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
346
347#line 495 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
348 _t = arrayGet(_arr2,_start2 + _y1)nobox_arrayGet(threadData,_arr2,_start2 + _y1) /* DAE.ASUB */;
349#line 349 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
350 }
351 else
352 {
353#line 498 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
354 fputs(MMC_STRINGDATA(_OMC_LIT0)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT0).header) + 3))) - 3)))->data)
,stdoutstdout);
355#line 355 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
356
357#line 499 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
358 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
359#line 359 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
360 }
361 }
362 }
363
364#line 501 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
365 if(listEmpty(_lst)((*(mmc_uint_t*)((void*)((char*)(_lst) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)
366#line 501 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
367 {
368#line 502 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
369 tmpMeta[3] = mmc_mk_cons(_t, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
370#line 502 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
371 _lst = tmpMeta[3];
372#line 372 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
373 }
374 else
375 {
376 if(((modelica_integer)_d1 == (modelica_integer)_d2))
377 {
378#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
379 tmpMeta[3] = mmc_mk_cons(_t, _lst);
380#line 504 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
381 _lst = tmpMeta[3];
382#line 382 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
383 }
384 else
385 {
386#line 506 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
387 tmpMeta[4] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon((modelica_integer)_d2), _lst);
388#line 506 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
389 tmpMeta[3] = mmc_mk_cons(tmpMeta[4], _out);
390#line 506 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
391 _out = tmpMeta[3];
392#line 392 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
393
394#line 507 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
395 tmpMeta[3] = mmc_mk_cons(_t, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
396#line 507 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
397 _lst = tmpMeta[3];
398#line 398 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
399 }
400 }
401
402#line 509 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
403 _d2 = (modelica_integer)_d1;
404#line 404 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
405
406#line 510 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
407 _x2 = _x1;
408#line 408 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
409
410#line 511 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
411 _y2 = _y1;
412#line 412 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
413 }
414 }
415
416#line 513 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
417 if((!listEmpty(_lst)((*(mmc_uint_t*)((void*)((char*)(_lst) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
418#line 513 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
419 {
420#line 514 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
421 tmpMeta[3] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon((modelica_integer)_d2), _lst);
422#line 514 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
423 tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _out);
424#line 514 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
425 _out = tmpMeta[2];
426#line 426 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
427 }
428 _return: OMC_LABEL_UNUSED__attribute__((unused))
429 return _out;
430}
431PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_myersGreedyPathToDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_metatype _start1, modelica_metatype _start2, modelica_metatype _paths)
432{
433 modelica_integer tmp1;
434 modelica_integer tmp2;
435 modelica_metatype _out = NULL((void*)0);
436 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
437 tmp1 = mmc_unbox_integer(_start1)(((mmc_sint_t) (_start1)) >> 1);
438 tmp2 = mmc_unbox_integer(_start2)(((mmc_sint_t) (_start2)) >> 1);
439 _out = omc_DiffAlgorithm_myersGreedyPathToDiff(threadData, _arr1, _arr2, tmp1, tmp2, _paths);
440 /* skip box _out; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
441 return _out;
442}
443
444PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_myersGreedyDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_integer _start1, modelica_integer _end1, modelica_integer _start2, modelica_integer _end2)
445{
446 modelica_metatype _out = NULL((void*)0);
447 modelica_integer _len1;
448 modelica_integer _len2;
449 modelica_integer _maxIter;
450 modelica_integer _sz;
451 modelica_integer _middle;
452 modelica_integer _x;
453 modelica_integer _y;
454 modelica_metatype _V = NULL((void*)0);
455 modelica_metatype _paths = NULL((void*)0);
456 modelica_metatype _prevPath = NULL((void*)0);
457 modelica_integer tmp1;
458 modelica_integer tmp2;
459 modelica_integer tmp3;
460 modelica_integer tmp4;
461 modelica_integer tmp5;
462 modelica_integer tmp6;
463 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
464 MMC_SO()mmc_check_stackoverflow(threadData);
465 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
466 // _out has no default value.
467 // _len1 has no default value.
468 // _len2 has no default value.
469 // _maxIter has no default value.
470 // _sz has no default value.
471 // _middle has no default value.
472 // _x has no default value.
473 // _y has no default value.
474 // _V has no default value.
475 // _paths has no default value.
476 // _prevPath has no default value.
477#line 435 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
478 _len1 = ((modelica_integer) 1) + _end1 - _start1;
479#line 479 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
480
481#line 436 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
482 _len2 = ((modelica_integer) 1) + _end2 - _start2;
483#line 483 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
484
485#line 437 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
486 _maxIter = _len1 + _len2;
487#line 487 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
488
489#line 438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
490 _sz = ((modelica_integer) 1) + (((modelica_integer) 2)) * (_maxIter);
491#line 491 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
492
493#line 439 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
494 _middle = ((modelica_integer) 1) + _maxIter;
495#line 495 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
496
497#line 440 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
498 _V = arrayCreate(_sz, mmc_mk_integermmc_mk_icon(((modelica_integer) 0)));
499#line 499 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
500
501#line 441 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
502 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
503#line 441 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
504 _paths = arrayCreate(_sz, tmpMeta[0]);
505#line 505 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
506
507#line 442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
508 tmp4 = ((modelica_integer) 0); tmp5 = 1; tmp6 = _maxIter;
509#line 442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
510 if(!(((tmp5 > 0) && (tmp4 > tmp6)) || ((tmp5 < 0) && (tmp4 < tmp6))))
511#line 442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
512 {
513#line 442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
514 modelica_integer _D;
515#line 442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
516 for(_D = ((modelica_integer) 0); in_range_integer(_D, tmp4, tmp6); _D += tmp5)
517#line 442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
518 {
519#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
520 tmp1 = (-_D); tmp2 = ((modelica_integer) 2); tmp3 = _D;
521#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
522 if(!tmp2) {
523#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
524 FILE_INFO info = omc_dummyFileInfo{"",0,0,0,0,0};
525#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
526 omc_assert(threadData, info, "assertion range step != 0 failed");
527#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
528 } else if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
529#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
530 {
531#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
532 modelica_integer _k;
533#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
534 for(_k = (-_D); in_range_integer(_k, tmp1, tmp3); _k += tmp2)
535#line 443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
536 {
537#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
538 if(((_k == (-_D)) || ((_k != _D) && (mmc_unbox_integer(arrayGet(_V,((modelica_integer) -1) + _k + _middle) /* DAE.ASUB */)(((mmc_sint_t) (nobox_arrayGet(threadData,_V,((modelica_integer
) -1) + _k + _middle))) >> 1)
< mmc_unbox_integer(arrayGet(_V,((modelica_integer) 1) + _k + _middle) /* DAE.ASUB */)(((mmc_sint_t) (nobox_arrayGet(threadData,_V,((modelica_integer
) 1) + _k + _middle))) >> 1)
))))
539#line 444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
540 {
541#line 445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
542 _x = mmc_unbox_integer(arrayGet(_V,((modelica_integer) 1) + _k + _middle) /* DAE.ASUB */)(((mmc_sint_t) (nobox_arrayGet(threadData,_V,((modelica_integer
) 1) + _k + _middle))) >> 1)
;
543#line 543 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
544
545#line 446 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
546 _prevPath = arrayGet(_paths,((modelica_integer) 1) + _k + _middle)nobox_arrayGet(threadData,_paths,((modelica_integer) 1) + _k +
_middle)
/* DAE.ASUB */;
547#line 547 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
548 }
549 else
550 {
551#line 448 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
552 _x = ((modelica_integer) 1) + mmc_unbox_integer(arrayGet(_V,((modelica_integer) -1) + _k + _middle) /* DAE.ASUB */)(((mmc_sint_t) (nobox_arrayGet(threadData,_V,((modelica_integer
) -1) + _k + _middle))) >> 1)
;
553#line 553 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
554
555#line 449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
556 _prevPath = arrayGet(_paths,((modelica_integer) -1) + _k + _middle)nobox_arrayGet(threadData,_paths,((modelica_integer) -1) + _k
+ _middle)
/* DAE.ASUB */;
557#line 557 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
558 }
559
560#line 451 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
561 _y = _x - _k;
562#line 562 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
563
564#line 452 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
565 tmpMeta[1] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(_x), mmc_mk_integermmc_mk_icon(_y));
566#line 452 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
567 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], _prevPath);
568#line 452 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
569 arrayUpdate(_paths,_k + _middle,tmpMeta[0])boxptr_arrayUpdate(threadData,_paths,mmc_mk_icon(_k + _middle
),tmpMeta[0])
;
570#line 570 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
571
572#line 453 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
573 while(1)
574#line 453 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
575 {
576#line 453 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
577 if(!(((_x < _len1) && (_y < _len2))?mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))), arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_equals) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype, modelica_metatype)) (
(*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3)))
+ (1))))))) (threadData, ((*(void**)(((void*)((void**)(((void
*)((char*)(_equals) - 3))) + (2)))))), nobox_arrayGet(threadData
,_arr1,_start1 + _x) , nobox_arrayGet(threadData,_arr2,_start2
+ _y) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
, modelica_metatype)) ((*(void**)(((void*)((void**)(((void*)(
(char*)(_equals) - 3))) + (1))))))) (threadData, nobox_arrayGet
(threadData,_arr1,_start1 + _x) , nobox_arrayGet(threadData,_arr2
,_start2 + _y) ))) >> 1)
:0)) break;
578#line 454 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
579 _x = ((modelica_integer) 1) + _x;
580#line 580 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
581
582#line 455 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
583 _y = ((modelica_integer) 1) + _y;
584#line 584 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
585
586#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
587 tmpMeta[1] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(_x), mmc_mk_integermmc_mk_icon(_y));
588#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
589 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], arrayGet(_paths,_k + _middle)nobox_arrayGet(threadData,_paths,_k + _middle) /* DAE.ASUB */);
590#line 456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
591 arrayUpdate(_paths,_k + _middle,tmpMeta[0])boxptr_arrayUpdate(threadData,_paths,mmc_mk_icon(_k + _middle
),tmpMeta[0])
;
592#line 592 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
593 }
594
595#line 458 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
596 arrayUpdate(_V,_k + _middle,mmc_mk_integer(_x))boxptr_arrayUpdate(threadData,_V,mmc_mk_icon(_k + _middle),mmc_mk_icon
(_x))
;
597#line 597 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
598
599#line 459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
600 if(((_x >= _len1) && (_y >= _len2)))
601#line 459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
602 {
603#line 461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
604 _out = omc_DiffAlgorithm_myersGreedyPathToDiff(threadData, _arr1, _arr2, _start1, _start2, arrayGet(_paths,_k + _middle)nobox_arrayGet(threadData,_paths,_k + _middle) /* DAE.ASUB */);
605#line 605 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
606
607#line 462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
608 goto _return;
609#line 609 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
610 }
611 }
612 }
613 }
614 }
615
616#line 466 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
617 fputs(MMC_STRINGDATA(_OMC_LIT1)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT1).header) + 3))) - 3)))->data)
,stdoutstdout);
618#line 618 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
619
620#line 467 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
621 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
622#line 622 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
623 _return: OMC_LABEL_UNUSED__attribute__((unused))
624 return _out;
625}
626PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_myersGreedyDiff(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_metatype _start1, modelica_metatype _end1, modelica_metatype _start2, modelica_metatype _end2)
627{
628 modelica_integer tmp1;
629 modelica_integer tmp2;
630 modelica_integer tmp3;
631 modelica_integer tmp4;
632 modelica_metatype _out = NULL((void*)0);
633 tmp1 = mmc_unbox_integer(_start1)(((mmc_sint_t) (_start1)) >> 1);
634 tmp2 = mmc_unbox_integer(_end1)(((mmc_sint_t) (_end1)) >> 1);
635 tmp3 = mmc_unbox_integer(_start2)(((mmc_sint_t) (_start2)) >> 1);
636 tmp4 = mmc_unbox_integer(_end2)(((mmc_sint_t) (_end2)) >> 1);
637 _out = omc_DiffAlgorithm_myersGreedyDiff(threadData, _arr1, _arr2, _equals, tmp1, tmp2, tmp3, tmp4);
638 /* skip box _out; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
639 return _out;
640}
641
642PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_onlyRemovals(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_integer _start1, modelica_integer _end1, modelica_integer _start2, modelica_integer _end2)
643{
644 modelica_metatype _out = NULL((void*)0);
645 modelica_integer _x;
646 modelica_integer _y;
647 modelica_integer _d;
648 modelica_metatype _lst = NULL((void*)0);
649 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
650 MMC_SO()mmc_check_stackoverflow(threadData);
651 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
652 // _out has no default value.
653 _x = ((modelica_integer) 0);
654 _y = ((modelica_integer) 0);
655 _d = 3;
656 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
657 _lst = tmpMeta[0];
658#line 372 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
659 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
660#line 372 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
661 _out = tmpMeta[1];
662#line 662 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
663
664#line 374 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
665 while(1)
666#line 374 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
667 {
668#line 374 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
669 if(!((_start1 + _x <= _end1) && (_start2 + _y <= _end2))) break;
670#line 378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
671 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))), arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_equals) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype, modelica_metatype)) (
(*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3)))
+ (1))))))) (threadData, ((*(void**)(((void*)((void**)(((void
*)((char*)(_equals) - 3))) + (2)))))), nobox_arrayGet(threadData
,_arr1,_start1 + _x) , nobox_arrayGet(threadData,_arr2,_start2
+ _y) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
, modelica_metatype)) ((*(void**)(((void*)((void**)(((void*)(
(char*)(_equals) - 3))) + (1))))))) (threadData, nobox_arrayGet
(threadData,_arr1,_start1 + _x) , nobox_arrayGet(threadData,_arr2
,_start2 + _y) ))) >> 1)
)
672#line 378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
673 {
674#line 379 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
675 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 3, arrayGet(_arr1,_start1 + _x)nobox_arrayGet(threadData,_arr1,_start1 + _x) /* DAE.ASUB */ ,&_d ,&_lst);
676#line 676 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
677
678#line 380 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
679 _x = ((modelica_integer) 1) + _x;
680#line 680 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
681
682#line 381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
683 _y = ((modelica_integer) 1) + _y;
684#line 684 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
685 }
686 else
687 {
688 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))), arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isWhitespace) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isWhitespace) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_isWhitespace) - 3))) + (2)))))), nobox_arrayGet(threadData,_arr2
,_start2 + _y) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_isWhitespace
) - 3))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr2
,_start2 + _y) ))) >> 1)
)
689 {
690#line 384 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
691 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 1, arrayGet(_arr2,_start2 + _y)nobox_arrayGet(threadData,_arr2,_start2 + _y) /* DAE.ASUB */ ,&_d ,&_lst);
692#line 692 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
693
694#line 386 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
695 _y = ((modelica_integer) 1) + _y;
696#line 696 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
697 }
698 else
699 {
700#line 388 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
701 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 2, arrayGet(_arr1,_start1 + _x)nobox_arrayGet(threadData,_arr1,_start1 + _x) /* DAE.ASUB */ ,&_d ,&_lst);
702#line 702 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
703
704#line 390 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
705 _x = ((modelica_integer) 1) + _x;
706#line 706 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
707 }
708 }
709 }
710
711#line 394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
712 while(1)
713#line 394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
714 {
715#line 394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
716 if(!(_start1 + _x <= _end1)) break;
717#line 395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
718 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))), arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isWhitespace) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isWhitespace) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_isWhitespace) - 3))) + (2)))))), nobox_arrayGet(threadData,_arr1
,_start1 + _x) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_isWhitespace
) - 3))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr1
,_start1 + _x) ))) >> 1)
)
719#line 395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
720 {
721#line 396 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
722 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 2, arrayGet(_arr1,_start1 + _x)nobox_arrayGet(threadData,_arr1,_start1 + _x) /* DAE.ASUB */ ,&_d ,&_lst);
723#line 723 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
724
725#line 397 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
726 _x = ((modelica_integer) 1) + _x;
727#line 727 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
728 }
729 else
730 {
731#line 399 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
732 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
733#line 733 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
734 }
735 }
736
737#line 403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
738 while(1)
739#line 403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
740 {
741#line 403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
742 if(!(_start2 + _y <= _end2)) break;
743#line 404 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
744 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))), arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isWhitespace) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isWhitespace) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_isWhitespace) - 3))) + (2)))))), nobox_arrayGet(threadData,_arr2
,_start2 + _y) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_isWhitespace
) - 3))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr2
,_start2 + _y) ))) >> 1)
)
745#line 404 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
746 {
747#line 405 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
748 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 1, arrayGet(_arr2,_start2 + _y)nobox_arrayGet(threadData,_arr2,_start2 + _y) /* DAE.ASUB */ ,&_d ,&_lst);
749#line 749 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
750
751#line 406 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
752 _y = ((modelica_integer) 1) + _y;
753#line 753 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
754 }
755 else
756 {
757#line 408 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
758 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
759#line 759 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
760 }
761 }
762
763#line 412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
764 _out = omc_DiffAlgorithm_endList(threadData, _out, (modelica_integer)_d, _lst);
765#line 765 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
766
767#line 415 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
768 _out = listReverse(_out);
769#line 769 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
770 _return: OMC_LABEL_UNUSED__attribute__((unused))
771 return _out;
772}
773PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_onlyRemovals(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_metatype _start1, modelica_metatype _end1, modelica_metatype _start2, modelica_metatype _end2)
774{
775 modelica_integer tmp1;
776 modelica_integer tmp2;
777 modelica_integer tmp3;
778 modelica_integer tmp4;
779 modelica_metatype _out = NULL((void*)0);
780 tmp1 = mmc_unbox_integer(_start1)(((mmc_sint_t) (_start1)) >> 1);
781 tmp2 = mmc_unbox_integer(_end1)(((mmc_sint_t) (_end1)) >> 1);
782 tmp3 = mmc_unbox_integer(_start2)(((mmc_sint_t) (_start2)) >> 1);
783 tmp4 = mmc_unbox_integer(_end2)(((mmc_sint_t) (_end2)) >> 1);
784 _out = omc_DiffAlgorithm_onlyRemovals(threadData, _arr1, _arr2, _equals, _isWhitespace, _toString, tmp1, tmp2, tmp3, tmp4);
785 /* skip box _out; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
786 return _out;
787}
788
789PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_onlyAdditions(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_integer _start1, modelica_integer _end1, modelica_integer _start2, modelica_integer _end2)
790{
791 modelica_metatype _out = NULL((void*)0);
792 modelica_integer _x;
793 modelica_integer _y;
794 modelica_integer _d;
795 modelica_metatype _lst = NULL((void*)0);
796 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
797 MMC_SO()mmc_check_stackoverflow(threadData);
798 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
799 // _out has no default value.
800 _x = ((modelica_integer) 0);
801 _y = ((modelica_integer) 0);
802 _d = 3;
803 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
804 _lst = tmpMeta[0];
805#line 301 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
806 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
807#line 301 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
808 _out = tmpMeta[1];
809#line 809 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
810
811#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
812 while(1)
813#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
814 {
815#line 303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
816 if(!((_start1 + _x <= _end1) && (_start2 + _y <= _end2))) break;
817#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
818 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))), arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_equals) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype, modelica_metatype)) (
(*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3)))
+ (1))))))) (threadData, ((*(void**)(((void*)((void**)(((void
*)((char*)(_equals) - 3))) + (2)))))), nobox_arrayGet(threadData
,_arr1,_start1 + _x) , nobox_arrayGet(threadData,_arr2,_start2
+ _y) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
, modelica_metatype)) ((*(void**)(((void*)((void**)(((void*)(
(char*)(_equals) - 3))) + (1))))))) (threadData, nobox_arrayGet
(threadData,_arr1,_start1 + _x) , nobox_arrayGet(threadData,_arr2
,_start2 + _y) ))) >> 1)
)
819#line 307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
820 {
821#line 308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
822 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 3, arrayGet(_arr1,_start1 + _x)nobox_arrayGet(threadData,_arr1,_start1 + _x) /* DAE.ASUB */ ,&_d ,&_lst);
823#line 823 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
824
825#line 309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
826 _x = ((modelica_integer) 1) + _x;
827#line 827 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
828
829#line 310 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
830 _y = ((modelica_integer) 1) + _y;
831#line 831 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
832 }
833 else
834 {
835 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))), arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isWhitespace) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isWhitespace) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_isWhitespace) - 3))) + (2)))))), nobox_arrayGet(threadData,_arr1
,_start1 + _x) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_isWhitespace
) - 3))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr1
,_start1 + _x) ))) >> 1)
)
836 {
837#line 313 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
838 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 2, arrayGet(_arr1,_start1 + _x)nobox_arrayGet(threadData,_arr1,_start1 + _x) /* DAE.ASUB */ ,&_d ,&_lst);
839#line 839 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
840
841#line 315 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
842 _x = ((modelica_integer) 1) + _x;
843#line 843 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
844 }
845 else
846 {
847#line 317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
848 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 1, arrayGet(_arr2,_start2 + _y)nobox_arrayGet(threadData,_arr2,_start2 + _y) /* DAE.ASUB */ ,&_d ,&_lst);
849#line 849 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
850
851#line 319 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
852 _y = ((modelica_integer) 1) + _y;
853#line 853 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
854 }
855 }
856 }
857
858#line 323 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
859 while(1)
860#line 323 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
861 {
862#line 323 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
863 if(!(_start1 + _x <= _end1)) break;
864#line 324 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
865 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))), arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, arrayGet(_arr1,_start1 + _x) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isWhitespace) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isWhitespace) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_isWhitespace) - 3))) + (2)))))), nobox_arrayGet(threadData,_arr1
,_start1 + _x) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_isWhitespace
) - 3))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr1
,_start1 + _x) ))) >> 1)
)
866#line 324 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
867 {
868#line 325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
869 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 2, arrayGet(_arr1,_start1 + _x)nobox_arrayGet(threadData,_arr1,_start1 + _x) /* DAE.ASUB */ ,&_d ,&_lst);
870#line 870 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
871
872#line 326 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
873 _x = ((modelica_integer) 1) + _x;
874#line 874 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
875 }
876 else
877 {
878#line 328 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
879 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
880#line 880 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
881 }
882 }
883
884#line 332 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
885 while(1)
886#line 332 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
887 {
888#line 332 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
889 if(!(_start2 + _y <= _end2)) break;
890#line 333 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
891 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 2))), arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isWhitespace), 1)))) (threadData, arrayGet(_arr2,_start2 + _y) /* DAE.ASUB */))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isWhitespace) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isWhitespace) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_isWhitespace) - 3))) + (2)))))), nobox_arrayGet(threadData,_arr2
,_start2 + _y) ) : ((modelica_metatype(*)(threadData_t*, modelica_metatype
)) ((*(void**)(((void*)((void**)(((void*)((char*)(_isWhitespace
) - 3))) + (1))))))) (threadData, nobox_arrayGet(threadData,_arr2
,_start2 + _y) ))) >> 1)
)
892#line 333 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
893 {
894#line 334 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
895 _out = omc_DiffAlgorithm_addToList(threadData, _out, (modelica_integer)_d, _lst, 1, arrayGet(_arr2,_start2 + _y)nobox_arrayGet(threadData,_arr2,_start2 + _y) /* DAE.ASUB */ ,&_d ,&_lst);
896#line 896 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
897
898#line 335 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
899 _y = ((modelica_integer) 1) + _y;
900#line 900 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
901 }
902 else
903 {
904#line 337 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
905 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
906#line 906 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
907 }
908 }
909
910#line 341 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
911 _out = omc_DiffAlgorithm_endList(threadData, _out, (modelica_integer)_d, _lst);
912#line 912 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
913
914#line 344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
915 _out = listReverse(_out);
916#line 916 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
917 _return: OMC_LABEL_UNUSED__attribute__((unused))
918 return _out;
919}
920PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_onlyAdditions(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_metatype _start1, modelica_metatype _end1, modelica_metatype _start2, modelica_metatype _end2)
921{
922 modelica_integer tmp1;
923 modelica_integer tmp2;
924 modelica_integer tmp3;
925 modelica_integer tmp4;
926 modelica_metatype _out = NULL((void*)0);
927 tmp1 = mmc_unbox_integer(_start1)(((mmc_sint_t) (_start1)) >> 1);
928 tmp2 = mmc_unbox_integer(_end1)(((mmc_sint_t) (_end1)) >> 1);
929 tmp3 = mmc_unbox_integer(_start2)(((mmc_sint_t) (_start2)) >> 1);
930 tmp4 = mmc_unbox_integer(_end2)(((mmc_sint_t) (_end2)) >> 1);
931 _out = omc_DiffAlgorithm_onlyAdditions(threadData, _arr1, _arr2, _equals, _isWhitespace, _toString, tmp1, tmp2, tmp3, tmp4);
932 /* skip box _out; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
933 return _out;
934}
935
936PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_endList(threadData_t *threadData, modelica_metatype _inlst, modelica_integer _ind, modelica_metatype _inacc)
937{
938 modelica_metatype _lst = NULL((void*)0);
939 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
940 MMC_SO()mmc_check_stackoverflow(threadData);
941 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
942 _lst = _inlst;
943#line 271 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
944 if((!listEmpty(_inacc)((*(mmc_uint_t*)((void*)((char*)(_inacc) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
945#line 271 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
946 {
947#line 272 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
948 tmpMeta[1] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon((modelica_integer)_ind), listReverse(_inacc));
949#line 272 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
950 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], _lst);
951#line 272 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
952 _lst = tmpMeta[0];
953#line 953 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
954 }
955 _return: OMC_LABEL_UNUSED__attribute__((unused))
956 return _lst;
957}
958PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_endList(threadData_t *threadData, modelica_metatype _inlst, modelica_metatype _ind, modelica_metatype _inacc)
959{
960 modelica_integer tmp1;
961 modelica_metatype _lst = NULL((void*)0);
962 tmp1 = mmc_unbox_integer(_ind)(((mmc_sint_t) (_ind)) >> 1);
963 _lst = omc_DiffAlgorithm_endList(threadData, _inlst, tmp1, _inacc);
964 /* skip box _lst; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
965 return _lst;
966}
967
968PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_addToList(threadData_t *threadData, modelica_metatype _inlst, modelica_integer _ind, modelica_metatype _inacc, modelica_integer _newd, modelica_metatype _t, modelica_integer *out_d, modelica_metatype *out_acc)
969{
970 modelica_metatype _lst = NULL((void*)0);
971 modelica_integer _d;
972 modelica_metatype _acc = NULL((void*)0);
973 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
974 MMC_SO()mmc_check_stackoverflow(threadData);
975 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
976 _lst = _inlst;
977 _d = (modelica_integer)_newd;
978 _acc = _inacc;
979#line 255 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
980 if(((modelica_integer)_ind == (modelica_integer)_newd))
981#line 255 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
982 {
983#line 256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
984 tmpMeta[0] = mmc_mk_cons(_t, _acc);
985#line 256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
986 _acc = tmpMeta[0];
987#line 987 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
988 }
989 else
990 {
991#line 258 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
992 if((!listEmpty(_inacc)((*(mmc_uint_t*)((void*)((char*)(_inacc) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
993#line 258 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
994 {
995#line 259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
996 tmpMeta[1] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon((modelica_integer)_ind), listReverse(_acc));
997#line 259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
998 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], _lst);
999#line 259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1000 _lst = tmpMeta[0];
1001#line 1001 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1002 }
1003
1004#line 261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1005 tmpMeta[0] = mmc_mk_cons(_t, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1006#line 261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1007 _acc = tmpMeta[0];
1008#line 1008 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1009 }
1010 _return: OMC_LABEL_UNUSED__attribute__((unused))
1011 if (out_d) { *out_d = _d; }
1012 if (out_acc) { *out_acc = _acc; }
1013 return _lst;
1014}
1015PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_addToList(threadData_t *threadData, modelica_metatype _inlst, modelica_metatype _ind, modelica_metatype _inacc, modelica_metatype _newd, modelica_metatype _t, modelica_metatype *out_d, modelica_metatype *out_acc)
1016{
1017 modelica_integer tmp1;
1018 modelica_integer tmp2;
1019 modelica_integer _d;
1020 modelica_metatype _lst = NULL((void*)0);
1021 tmp1 = mmc_unbox_integer(_ind)(((mmc_sint_t) (_ind)) >> 1);
1022 tmp2 = mmc_unbox_integer(_newd)(((mmc_sint_t) (_newd)) >> 1);
1023 _lst = omc_DiffAlgorithm_addToList(threadData, _inlst, tmp1, _inacc, tmp2, _t, &_d, out_acc);
1024 /* skip box _lst; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
1025 if (out_d) { *out_d = mmc_mk_icon(_d); }
1026 /* skip box _acc; list<polymorphic<T>> */
1027 return _lst;
1028}
1029
1030PROTECTED_FUNCTION_STATIC modelica_metatype omc_DiffAlgorithm_diffSeq(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_integer _inStart1, modelica_integer _inEnd1, modelica_integer _inStart2, modelica_integer _inEnd2, modelica_metatype _inPrefixes, modelica_metatype _inSuffixes)
1031{
1032 jmp_buf *old_mmc_jumper = threadData->mmc_jumper;
1033 modelica_metatype _out = NULL((void*)0);
1034 modelica_integer _start1;
1035 modelica_integer _end1;
1036 modelica_integer _start2;
1037 modelica_integer _end2;
1038 modelica_integer _len1;
1039 modelica_integer _len2;
1040 modelica_metatype _prefixes = NULL((void*)0);
1041 modelica_metatype _suffixes = NULL((void*)0);
1042 modelica_boolean tmp9;
1043 modelica_boolean tmp13;
1044 modelica_boolean tmp14;
1045 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
1046 MMC_SO()mmc_check_stackoverflow(threadData);
1047 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1048 // _out has no default value.
1049 _start1 = _inStart1;
1050 _end1 = _inEnd1;
1051 _start2 = _inStart2;
1052 _end2 = _inEnd2;
1053 // _len1 has no default value.
1054 // _len2 has no default value.
1055 _prefixes = _inPrefixes;
1056 _suffixes = _inSuffixes;
1057#line 199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1058 _len1 = ((modelica_integer) 1) + _end1 - _start1;
1059#line 1059 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1060
1061#line 200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1062 _len2 = ((modelica_integer) 1) + _end2 - _start2;
1063#line 1063 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1064
1065#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1066 if(((_len1 < ((modelica_integer) 1)) && (_len2 < ((modelica_integer) 1))))
1067#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1068 {
1069#line 207 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1070 _out = omc_List_append__reverse(threadData, _prefixes, _suffixes);
1071#line 1071 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1072
1073#line 208 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1074 goto _return;
1075#line 1075 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1076 }
1077 else
1078 {
1079 if((_len1 < ((modelica_integer) 1)))
1080 {
1081#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1082 {
1083#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1084 modelica_metatype _D_24tmpVar1;
1085#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1086 modelica_metatype* tmp1;
1087#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1088 modelica_metatype _D_24tmpVar0;
1089#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1090 int tmp2;
1091#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1092 modelica_integer tmp3;
1093#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1094 modelica_integer tmp4;
1095#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1096 modelica_integer _e;
1097#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1098 tmp3 = 1 /* Range step-value */;
1099#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1100 tmp4 = _end2 /* Range stop-value */;
1101#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1102 _e = _start2 /* Range start-value */;
1103#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1104 _e = (_start2 /* Range start-value */)-tmp3;
1105#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1106 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1107#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1108 _D_24tmpVar1 = tmpMeta[2]; /* defaultValue */
1109#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1110 tmp1 = &_D_24tmpVar1;
1111#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1112 while(1) {
1113#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1114 tmp2 = 1;
1115#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1116 if (tmp3 > 0 ? _e+tmp3 <= tmp4 : _e+tmp3 >= tmp4) {
1117#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1118 _e += tmp3;
1119#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1120 tmp2--;
1121#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1122 }
1123#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1124 if (tmp2 == 0) {
1125#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1126 _D_24tmpVar0 = arrayGet(_arr2,_e)nobox_arrayGet(threadData,_arr2,_e) /* DAE.ASUB */;
1127#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1128 *tmp1 = mmc_mk_cons(_D_24tmpVar0,0);
1129#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1130 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
1131#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1132 } else if (tmp2 == 1) {
1133#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1134 break;
1135#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1136 } else {
1137#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1138 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1139#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1140 }
1141#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1142 }
1143#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1144 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
1145#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1146 tmpMeta[1] = _D_24tmpVar1;
1147#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1148 }
1149#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1150 tmpMeta[3] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(1), tmpMeta[1]);
1151#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1152 tmpMeta[0] = mmc_mk_cons(tmpMeta[3], _suffixes);
1153#line 210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1154 _out = omc_List_append__reverse(threadData, _prefixes, tmpMeta[0]);
1155#line 1155 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1156
1157#line 211 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1158 goto _return;
1159#line 1159 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1160 }
1161 else
1162 {
1163 if((_len2 < ((modelica_integer) 1)))
1164 {
1165#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1166 {
1167#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1168 modelica_metatype _D_24tmpVar3;
1169#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1170 modelica_metatype* tmp5;
1171#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1172 modelica_metatype _D_24tmpVar2;
1173#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1174 int tmp6;
1175#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1176 modelica_integer tmp7;
1177#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1178 modelica_integer tmp8;
1179#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1180 modelica_integer _e;
1181#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1182 tmp7 = 1 /* Range step-value */;
1183#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1184 tmp8 = _end1 /* Range stop-value */;
1185#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1186 _e = _start1 /* Range start-value */;
1187#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1188 _e = (_start1 /* Range start-value */)-tmp7;
1189#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1190 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1191#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1192 _D_24tmpVar3 = tmpMeta[2]; /* defaultValue */
1193#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1194 tmp5 = &_D_24tmpVar3;
1195#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1196 while(1) {
1197#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1198 tmp6 = 1;
1199#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1200 if (tmp7 > 0 ? _e+tmp7 <= tmp8 : _e+tmp7 >= tmp8) {
1201#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1202 _e += tmp7;
1203#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1204 tmp6--;
1205#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1206 }
1207#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1208 if (tmp6 == 0) {
1209#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1210 _D_24tmpVar2 = arrayGet(_arr1,_e)nobox_arrayGet(threadData,_arr1,_e) /* DAE.ASUB */;
1211#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1212 *tmp5 = mmc_mk_cons(_D_24tmpVar2,0);
1213#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1214 tmp5 = &MMC_CDR(*tmp5)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp5) - 3))) +
(2)))))
;
1215#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1216 } else if (tmp6 == 1) {
1217#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1218 break;
1219#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1220 } else {
1221#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1222 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1223#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1224 }
1225#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1226 }
1227#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1228 *tmp5 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
1229#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1230 tmpMeta[1] = _D_24tmpVar3;
1231#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1232 }
1233#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1234 tmpMeta[3] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(2), tmpMeta[1]);
1235#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1236 tmpMeta[0] = mmc_mk_cons(tmpMeta[3], _suffixes);
1237#line 213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1238 _out = omc_List_append__reverse(threadData, _prefixes, tmpMeta[0]);
1239#line 1239 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1240
1241#line 214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1242 goto _return;
1243#line 1243 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1244 }
1245 }
1246 }
1247
1248#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1249 tmp13 = (modelica_boolean)(_len1 == _len2);
1250#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1251 if(tmp13)
1252#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1253 {
1254#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1255 {
1256#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1257 modelica_boolean _D_24tmpVar5;
1258#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1259 modelica_boolean _D_24tmpVar4;
1260#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1261 int tmp10;
1262#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1263 modelica_metatype _e2_loopVar = 0;
1264#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1265 int tmp11;
1266#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1267 modelica_metatype _e2;
1268#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1269 modelica_metatype _e1_loopVar = 0;
1270#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1271 int tmp12;
1272#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1273 modelica_metatype _e1;
1274#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1275 _e2_loopVar = _arr2;
1276#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1277 tmp11 = 1;
1278#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1279 _e1_loopVar = _arr1;
1280#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1281 tmp12 = 1;
1282#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1283 _D_24tmpVar5 = 1; /* defaultValue */
1284#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1285 while(1) {
1286#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1287 tmp10 = 2;
1288#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1289 if (tmp11 <= arrayLength(_e2_loopVar)) {
1290#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1291 _e2 = arrayGet(_e2_loopVar, tmp11++)nobox_arrayGet(threadData,_e2_loopVar,tmp11++);
1292#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1293 tmp10--;
1294#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1295 }if (tmp12 <= arrayLength(_e1_loopVar)) {
1296#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1297 _e1 = arrayGet(_e1_loopVar, tmp12++)nobox_arrayGet(threadData,_e1_loopVar,tmp12++);
1298#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1299 tmp10--;
1300#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1301 }
1302#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1303 if (tmp10 == 0) {
1304#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1305 _D_24tmpVar4 = mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 2))), _e1, _e2) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_equals), 1)))) (threadData, _e1, _e2))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_equals) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype, modelica_metatype)) (
(*(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3)))
+ (1))))))) (threadData, ((*(void**)(((void*)((void**)(((void
*)((char*)(_equals) - 3))) + (2)))))), _e1, _e2) : ((modelica_metatype
(*)(threadData_t*, modelica_metatype, modelica_metatype)) ((*
(void**)(((void*)((void**)(((void*)((char*)(_equals) - 3))) +
(1))))))) (threadData, _e1, _e2))) >> 1)
;
1306#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1307 _D_24tmpVar5 = (_D_24tmpVar4 && _D_24tmpVar5);
1308#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1309 } else if (tmp10 == 2) {
1310#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1311 break;
1312#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1313 } else {
1314#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1315 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1316#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1317 }
1318#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1319 }
1320#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1321 tmp9 = _D_24tmpVar5;
1322#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1323 }
1324#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1325 tmp14 = tmp9;
1326#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1327 }
1328#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1329 else
1330#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1331 {
1332#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1333 tmp14 = 0;
1334#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1335 }
1336#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1337 if(tmp14)
1338#line 218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1339 {
1340#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1341 {
1342#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1343 modelica_metatype _D_24tmpVar9;
1344#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1345 modelica_metatype* tmp15;
1346#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1347 modelica_metatype _D_24tmpVar8;
1348#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1349 int tmp16;
1350#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1351 modelica_integer tmp17;
1352#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1353 modelica_integer tmp18;
1354#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1355 modelica_integer _e;
1356#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1357 tmp17 = 1 /* Range step-value */;
1358#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1359 tmp18 = _end1 /* Range stop-value */;
1360#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1361 _e = _start1 /* Range start-value */;
1362#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1363 _e = (_start1 /* Range start-value */)-tmp17;
1364#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1365 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1366#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1367 _D_24tmpVar9 = tmpMeta[2]; /* defaultValue */
1368#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1369 tmp15 = &_D_24tmpVar9;
1370#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1371 while(1) {
1372#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1373 tmp16 = 1;
1374#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1375 if (tmp17 > 0 ? _e+tmp17 <= tmp18 : _e+tmp17 >= tmp18) {
1376#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1377 _e += tmp17;
1378#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1379 tmp16--;
1380#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1381 }
1382#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1383 if (tmp16 == 0) {
1384#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1385 _D_24tmpVar8 = arrayGet(_arr1,_e)nobox_arrayGet(threadData,_arr1,_e) /* DAE.ASUB */;
1386#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1387 *tmp15 = mmc_mk_cons(_D_24tmpVar8,0);
1388#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1389 tmp15 = &MMC_CDR(*tmp15)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp15) - 3))) +
(2)))))
;
1390#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1391 } else if (tmp16 == 1) {
1392#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1393 break;
1394#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1395 } else {
1396#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1397 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1398#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1399 }
1400#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1401 }
1402#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1403 *tmp15 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
1404#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1405 tmpMeta[1] = _D_24tmpVar9;
1406#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1407 }
1408#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1409 tmpMeta[3] = mmc_mk_box2(0, mmc_mk_integermmc_mk_icon(3), tmpMeta[1]);
1410#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1411 tmpMeta[0] = mmc_mk_cons(tmpMeta[3], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1412#line 219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1413 _out = tmpMeta[0];
1414#line 1414 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1415
1416#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1417 goto _return;
1418#line 1418 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1419 }
1420
1421#line 224 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1422 _prefixes = omc_DiffAlgorithm_trimCommonPrefix(threadData, _arr1, _start1, _end1, _arr2, _start2, _end2, ((modelica_fnptr) _equals), _prefixes ,&_start1 ,&_start2);
1423#line 1423 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1424
1425#line 226 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1426 _suffixes = omc_DiffAlgorithm_trimCommonSuffix(threadData, _arr1, _start1, _end1, _arr2, _start2, _end2, ((modelica_fnptr) _equals), _suffixes ,&_end1 ,&_end2);
1427#line 1427 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1428
1429#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1430 if(((((_start1 != _inStart1) || (_start2 != _inStart2)) || (_end1 != _inEnd1)) || (_end2 != _inEnd2)))
1431#line 229 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1432 {
1433#line 230 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1434 _out = omc_DiffAlgorithm_diffSeq(threadData, _arr1, _arr2, ((modelica_fnptr) _equals), ((modelica_fnptr) _isWhitespace), ((modelica_fnptr) _toString), _start1, _end1, _start2, _end2, _prefixes, _suffixes);
1435#line 1435 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1436
1437#line 231 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1438 goto _return;
1439#line 1439 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1440 }
1441 else
1442 {
1443#line 1443 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1444 { /* matchcontinue expression */
1445 {
1446 volatile mmc_switch_type tmp21;
1447 int tmp22;
1448 tmp21 = 0;
1449 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1450 tmp20_top:
1451 threadData->mmc_jumper = &new_mmc_jumper;
1452 for (; tmp21 < 3; tmp21++) {
1453 switch (MMC_SWITCH_CAST(tmp21)(tmp21)) {
1454 case 0: {
1455 /* Pattern matching succeeded */
1456#line 234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1457 tmpMeta[0] = omc_DiffAlgorithm_onlyAdditions(threadData, _arr1, _arr2, ((modelica_fnptr) _equals), ((modelica_fnptr) _isWhitespace), ((modelica_fnptr) _toString), _start1, _end1, _start2, _end2);
1458#line 1458 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1459 goto tmp20_done;
1460 }
1461 case 1: {
1462 /* Pattern matching succeeded */
1463#line 235 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1464 tmpMeta[0] = omc_DiffAlgorithm_onlyRemovals(threadData, _arr1, _arr2, ((modelica_fnptr) _equals), ((modelica_fnptr) _isWhitespace), ((modelica_fnptr) _toString), _start1, _end1, _start2, _end2);
1465#line 1465 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1466 goto tmp20_done;
1467 }
1468 case 2: {
1469 /* Pattern matching succeeded */
1470#line 236 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1471 tmpMeta[0] = omc_DiffAlgorithm_myersGreedyDiff(threadData, _arr1, _arr2, ((modelica_fnptr) _equals), _start1, _end1, _start2, _end2);
1472#line 1472 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1473 goto tmp20_done;
1474 }
1475 }
1476 goto tmp20_end;
1477 tmp20_end: ;
1478 }
1479 goto goto_19;
1480 tmp20_done:
1481 (void)tmp21;
1482 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1483 goto tmp20_done2;
1484 goto_19:;
1485 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1486 if (++tmp21 < 3) {
1487 goto tmp20_top;
1488 }
1489 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1490 tmp20_done2:;
1491 }
1492 }
1493 _out = tmpMeta[0];
1494
1495#line 239 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1496 _out = omc_List_append__reverse(threadData, _prefixes, listAppend(_out, _suffixes));
1497#line 1497 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1498
1499#line 240 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1500 goto _return;
1501#line 1501 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1502 }
1503
1504#line 242 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1505 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1506#line 1506 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1507 _return: OMC_LABEL_UNUSED__attribute__((unused))
1508 threadData->mmc_jumper = old_mmc_jumper;
1509 return _out;
1510}
1511PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DiffAlgorithm_diffSeq(threadData_t *threadData, modelica_metatype _arr1, modelica_metatype _arr2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString, modelica_metatype _inStart1, modelica_metatype _inEnd1, modelica_metatype _inStart2, modelica_metatype _inEnd2, modelica_metatype _inPrefixes, modelica_metatype _inSuffixes)
1512{
1513 modelica_integer tmp1;
1514 modelica_integer tmp2;
1515 modelica_integer tmp3;
1516 modelica_integer tmp4;
1517 modelica_metatype _out = NULL((void*)0);
1518 tmp1 = mmc_unbox_integer(_inStart1)(((mmc_sint_t) (_inStart1)) >> 1);
1519 tmp2 = mmc_unbox_integer(_inEnd1)(((mmc_sint_t) (_inEnd1)) >> 1);
1520 tmp3 = mmc_unbox_integer(_inStart2)(((mmc_sint_t) (_inStart2)) >> 1);
1521 tmp4 = mmc_unbox_integer(_inEnd2)(((mmc_sint_t) (_inEnd2)) >> 1);
1522 _out = omc_DiffAlgorithm_diffSeq(threadData, _arr1, _arr2, _equals, _isWhitespace, _toString, tmp1, tmp2, tmp3, tmp4, _inPrefixes, _inSuffixes);
1523 /* skip box _out; list<tuple<#enumeration(Add, Delete, Equal), list<polymorphic<T>>>> */
1524 return _out;
1525}
1526
1527DLLExport
1528modelica_string omc_DiffAlgorithm_printActual(threadData_t *threadData, modelica_metatype _seq, modelica_fnptr _toString)
1529{
1530 modelica_string _res = NULL((void*)0);
1531 modelica_string _open = NULL((void*)0);
1532 modelica_string _close = NULL((void*)0);
1533 modelica_metatype _ts = NULL((void*)0);
1534 modelica_boolean _b;
1535 modelica_integer _i;
1536 modelica_string tmp1_c0 __attribute__((unused)) = 0;
1537 modelica_string tmp1_c1 __attribute__((unused)) = 0;
1538 modelica_boolean tmp1_c3 __attribute__((unused)) = 0;
1539 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
1540 MMC_SO()mmc_check_stackoverflow(threadData);
1541 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1542 // _res has no default value.
1543 // _open has no default value.
1544 // _close has no default value.
1545 // _ts has no default value.
1546 // _b has no default value.
1547 // _i has no default value.
1548#line 116 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1549 _i = omc_Print_saveAndClearBuf(threadData);
1550#line 1550 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1551
1552#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1553 {
1554#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1555 modelica_metatype _d;
1556#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1557 for (tmpMeta[0] = _seq; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
1558#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1559 {
1560#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1561 _d = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1562#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1563
1564#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1565
1566#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1567
1568#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1569
1570#line 1570 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1571 { /* match expression */
1572 modelica_metatype tmp4_1;
1573 tmp4_1 = _d;
1574 {
1575 volatile mmc_switch_type tmp4;
1576 int tmp5;
1577 tmp4 = 0;
1578 for (; tmp4 < 3; tmp4++) {
1579 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1580 case 0: {
1581 modelica_integer tmp6;
1582 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1583 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1584 if (3 != tmp6) goto tmp3_end;
1585 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1586 _ts = tmpMeta[6];
1587 /* Pattern matching succeeded */
1588#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1589 tmp1_c0 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1590#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1591 tmp1_c1 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1592#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1593 tmpMeta[1+2] = _ts;
1594#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1595 tmp1_c3 = 1;
1596#line 1596 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1597 goto tmp3_done;
1598 }
1599 case 1: {
1600 modelica_integer tmp7;
1601 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1602 tmp7 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1603 if (1 != tmp7) goto tmp3_end;
1604 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1605 _ts = tmpMeta[6];
1606 /* Pattern matching succeeded */
1607#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1608 tmp1_c0 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1609#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1610 tmp1_c1 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1611#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1612 tmpMeta[1+2] = _ts;
1613#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1614 tmp1_c3 = 1;
1615#line 1615 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1616 goto tmp3_done;
1617 }
1618 case 2: {
1619 modelica_integer tmp8;
1620 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1621 tmp8 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1622 if (2 != tmp8) goto tmp3_end;
1623 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1624 _ts = tmpMeta[6];
1625 /* Pattern matching succeeded */
1626#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1627 tmp1_c0 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1628#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1629 tmp1_c1 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1630#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1631 tmpMeta[1+2] = _ts;
1632#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1633 tmp1_c3 = 0;
1634#line 1634 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1635 goto tmp3_done;
1636 }
1637 }
1638 goto tmp3_end;
1639 tmp3_end: ;
1640 }
1641 goto goto_2;
1642 goto_2:;
1643 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1644 goto tmp3_done;
1645 tmp3_done:;
1646 }
1647 }
1648 _open = tmp1_c0;
1649 _close = tmp1_c1;
1650 _ts = tmpMeta[1+2];
1651 _b = tmp1_c3;
1652
1653#line 126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1654 if(((!listEmpty(_ts)((*(mmc_uint_t*)((void*)((char*)(_ts) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) && _b))
1655#line 126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1656 {
1657#line 127 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1658 omc_Print_printBuf(threadData, _open);
1659#line 1659 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1660
1661#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1662 {
1663#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1664 modelica_metatype _t;
1665#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1666 for (tmpMeta[1] = _ts; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
1667#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1668 {
1669#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1670 _t = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1671#line 129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1672 omc_Print_printBuf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (2)))))
) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (1)))))
)) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (2)))))
), _t) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (1)))))
)) (threadData, _t));
1673#line 1673 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1674 }
1675 }
1676
1677#line 131 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1678 omc_Print_printBuf(threadData, _close);
1679#line 1679 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1680 }
1681 }
1682 }
1683
1684#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1685 _res = omc_Print_getString(threadData);
1686#line 1686 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1687
1688#line 135 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1689 omc_Print_restoreBuf(threadData, _i);
1690#line 1690 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1691 _return: OMC_LABEL_UNUSED__attribute__((unused))
1692 return _res;
1693}
1694
1695DLLExport
1696modelica_string omc_DiffAlgorithm_printDiffXml(threadData_t *threadData, modelica_metatype _seq, modelica_fnptr _toString)
1697{
1698 modelica_string _res = NULL((void*)0);
1699 modelica_string _open = NULL((void*)0);
1700 modelica_string _close = NULL((void*)0);
1701 modelica_metatype _ts = NULL((void*)0);
1702 modelica_boolean _b;
1703 modelica_integer _i;
1704 modelica_string tmp1_c0 __attribute__((unused)) = 0;
1705 modelica_string tmp1_c1 __attribute__((unused)) = 0;
1706 modelica_boolean tmp1_c3 __attribute__((unused)) = 0;
1707 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
1708 MMC_SO()mmc_check_stackoverflow(threadData);
1709 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1710 // _res has no default value.
1711 // _open has no default value.
1712 // _close has no default value.
1713 // _ts has no default value.
1714 // _b has no default value.
1715 // _i has no default value.
1716#line 116 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1717 _i = omc_Print_saveAndClearBuf(threadData);
1718#line 1718 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1719
1720#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1721 {
1722#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1723 modelica_metatype _d;
1724#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1725 for (tmpMeta[0] = _seq; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
1726#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1727 {
1728#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1729 _d = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1730#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1731
1732#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1733
1734#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1735
1736#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1737
1738#line 1738 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1739 { /* match expression */
1740 modelica_metatype tmp4_1;
1741 tmp4_1 = _d;
1742 {
1743 volatile mmc_switch_type tmp4;
1744 int tmp5;
1745 tmp4 = 0;
1746 for (; tmp4 < 3; tmp4++) {
1747 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1748 case 0: {
1749 modelica_integer tmp6;
1750 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1751 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1752 if (3 != tmp6) goto tmp3_end;
1753 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1754 _ts = tmpMeta[6];
1755 /* Pattern matching succeeded */
1756#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1757 tmp1_c0 = _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3));
1758#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1759 tmp1_c1 = _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3));
1760#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1761 tmpMeta[1+2] = _ts;
1762#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1763 tmp1_c3 = 1;
1764#line 1764 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1765 goto tmp3_done;
1766 }
1767 case 1: {
1768 modelica_integer tmp7;
1769 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1770 tmp7 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1771 if (1 != tmp7) goto tmp3_end;
1772 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1773 _ts = tmpMeta[6];
1774 /* Pattern matching succeeded */
1775#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1776 tmp1_c0 = _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3));
1777#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1778 tmp1_c1 = _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3));
1779#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1780 tmpMeta[1+2] = _ts;
1781#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1782 tmp1_c3 = 1;
1783#line 1783 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1784 goto tmp3_done;
1785 }
1786 case 2: {
1787 modelica_integer tmp8;
1788 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1789 tmp8 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1790 if (2 != tmp8) goto tmp3_end;
1791 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1792 _ts = tmpMeta[6];
1793 /* Pattern matching succeeded */
1794#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1795 tmp1_c0 = _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3));
1796#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1797 tmp1_c1 = _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3));
1798#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1799 tmpMeta[1+2] = _ts;
1800#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1801 tmp1_c3 = 1;
1802#line 1802 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1803 goto tmp3_done;
1804 }
1805 }
1806 goto tmp3_end;
1807 tmp3_end: ;
1808 }
1809 goto goto_2;
1810 goto_2:;
1811 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1812 goto tmp3_done;
1813 tmp3_done:;
1814 }
1815 }
1816 _open = tmp1_c0;
1817 _close = tmp1_c1;
1818 _ts = tmpMeta[1+2];
1819 _b = tmp1_c3;
1820
1821#line 126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1822 if((!listEmpty(_ts)((*(mmc_uint_t*)((void*)((char*)(_ts) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
1823#line 126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1824 {
1825#line 127 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1826 omc_Print_printBuf(threadData, _open);
1827#line 1827 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1828
1829#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1830 {
1831#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1832 modelica_metatype _t;
1833#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1834 for (tmpMeta[1] = _ts; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
1835#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1836 {
1837#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1838 _t = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1839#line 129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1840 omc_Print_printBuf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (2)))))
) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (1)))))
)) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (2)))))
), _t) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (1)))))
)) (threadData, _t));
1841#line 1841 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1842 }
1843 }
1844
1845#line 131 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1846 omc_Print_printBuf(threadData, _close);
1847#line 1847 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1848 }
1849 }
1850 }
1851
1852#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1853 _res = omc_Print_getString(threadData);
1854#line 1854 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1855
1856#line 135 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1857 omc_Print_restoreBuf(threadData, _i);
1858#line 1858 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1859 _return: OMC_LABEL_UNUSED__attribute__((unused))
1860 return _res;
1861}
1862
1863DLLExport
1864modelica_string omc_DiffAlgorithm_printDiffTerminalColor(threadData_t *threadData, modelica_metatype _seq, modelica_fnptr _toString)
1865{
1866 modelica_string _res = NULL((void*)0);
1867 modelica_string _open = NULL((void*)0);
1868 modelica_string _close = NULL((void*)0);
1869 modelica_metatype _ts = NULL((void*)0);
1870 modelica_boolean _b;
1871 modelica_integer _i;
1872 modelica_string tmp1_c0 __attribute__((unused)) = 0;
1873 modelica_string tmp1_c1 __attribute__((unused)) = 0;
1874 modelica_boolean tmp1_c3 __attribute__((unused)) = 0;
1875 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
1876 MMC_SO()mmc_check_stackoverflow(threadData);
1877 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1878 // _res has no default value.
1879 // _open has no default value.
1880 // _close has no default value.
1881 // _ts has no default value.
1882 // _b has no default value.
1883 // _i has no default value.
1884#line 116 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1885 _i = omc_Print_saveAndClearBuf(threadData);
1886#line 1886 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1887
1888#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1889 {
1890#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1891 modelica_metatype _d;
1892#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1893 for (tmpMeta[0] = _seq; !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
1894#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1895 {
1896#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1897 _d = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
1898#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1899
1900#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1901
1902#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1903
1904#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1905
1906#line 1906 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1907 { /* match expression */
1908 modelica_metatype tmp4_1;
1909 tmp4_1 = _d;
1910 {
1911 volatile mmc_switch_type tmp4;
1912 int tmp5;
1913 tmp4 = 0;
1914 for (; tmp4 < 3; tmp4++) {
1915 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1916 case 0: {
1917 modelica_integer tmp6;
1918 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1919 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1920 if (3 != tmp6) goto tmp3_end;
1921 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1922 _ts = tmpMeta[6];
1923 /* Pattern matching succeeded */
1924#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1925 tmp1_c0 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1926#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1927 tmp1_c1 = _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3));
1928#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1929 tmpMeta[1+2] = _ts;
1930#line 120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1931 tmp1_c3 = 1;
1932#line 1932 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1933 goto tmp3_done;
1934 }
1935 case 1: {
1936 modelica_integer tmp7;
1937 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1938 tmp7 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1939 if (1 != tmp7) goto tmp3_end;
1940 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1941 _ts = tmpMeta[6];
1942 /* Pattern matching succeeded */
1943#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1944 tmp1_c0 = _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3));
1945#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1946 tmp1_c1 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
1947#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1948 tmpMeta[1+2] = _ts;
1949#line 122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1950 tmp1_c3 = 1;
1951#line 1951 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1952 goto tmp3_done;
1953 }
1954 case 2: {
1955 modelica_integer tmp8;
1956 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1957 tmp8 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
1958 if (2 != tmp8) goto tmp3_end;
1959 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1960 _ts = tmpMeta[6];
1961 /* Pattern matching succeeded */
1962#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1963 tmp1_c0 = _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3));
1964#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1965 tmp1_c1 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
1966#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1967 tmpMeta[1+2] = _ts;
1968#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1969 tmp1_c3 = 1;
1970#line 1970 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1971 goto tmp3_done;
1972 }
1973 }
1974 goto tmp3_end;
1975 tmp3_end: ;
1976 }
1977 goto goto_2;
1978 goto_2:;
1979 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1980 goto tmp3_done;
1981 tmp3_done:;
1982 }
1983 }
1984 _open = tmp1_c0;
1985 _close = tmp1_c1;
1986 _ts = tmpMeta[1+2];
1987 _b = tmp1_c3;
Value stored to '_b' is never read
1988
1989#line 126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1990 if((!listEmpty(_ts)((*(mmc_uint_t*)((void*)((char*)(_ts) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
))
1991#line 126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1992 {
1993#line 127 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1994 omc_Print_printBuf(threadData, _open);
1995#line 1995 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
1996
1997#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
1998 {
1999#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2000 modelica_metatype _t;
2001#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2002 for (tmpMeta[1] = _ts; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
2003#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2004 {
2005#line 128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2006 _t = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2007#line 129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2008 omc_Print_printBuf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (2)))))
) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (1)))))
)) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (2)))))
), _t) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_toString), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_toString) - 3)
)) + (1)))))
)) (threadData, _t));
2009#line 2009 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2010 }
2011 }
2012
2013#line 131 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2014 omc_Print_printBuf(threadData, _close);
2015#line 2015 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2016 }
2017 }
2018 }
2019
2020#line 134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2021 _res = omc_Print_getString(threadData);
2022#line 2022 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2023
2024#line 135 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2025 omc_Print_restoreBuf(threadData, _i);
2026#line 2026 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2027 _return: OMC_LABEL_UNUSED__attribute__((unused))
2028 return _res;
2029}
2030
2031DLLExport
2032modelica_metatype omc_DiffAlgorithm_diff(threadData_t *threadData, modelica_metatype _seq1, modelica_metatype _seq2, modelica_fnptr _equals, modelica_fnptr _isWhitespace, modelica_fnptr _toString)
2033{
2034 modelica_metatype _out = NULL((void*)0);
2035 modelica_integer _start1;
2036 modelica_integer _end1;
2037 modelica_integer _start2;
2038 modelica_integer _end2;
2039 modelica_integer _len1;
2040 modelica_integer _len2;
2041 modelica_metatype _arr1 = NULL((void*)0);
2042 modelica_metatype _arr2 = NULL((void*)0);
2043 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2044 MMC_SO()mmc_check_stackoverflow(threadData);
2045 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2046 // _out has no default value.
2047 // _start1 has no default value.
2048 // _end1 has no default value.
2049 // _start2 has no default value.
2050 // _end2 has no default value.
2051 // _len1 has no default value.
2052 // _len2 has no default value.
2053 // _arr1 has no default value.
2054 // _arr2 has no default value.
2055#line 80 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2056 _arr1 = listArray(_seq1);
2057#line 2057 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2058
2059#line 81 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2060 _arr2 = listArray(_seq2);
2061#line 2061 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2062
2063#line 82 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2064 _start1 = ((modelica_integer) 1);
2065#line 2065 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2066
2067#line 83 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2068 _start2 = ((modelica_integer) 1);
2069#line 2069 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2070
2071#line 84 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2072 _end1 = arrayLength(_arr1);
2073#line 2073 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2074
2075#line 85 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2076 _end2 = arrayLength(_arr2);
2077#line 2077 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2078
2079#line 86 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2080 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2081#line 86 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2082 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2083#line 86 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/Util/DiffAlgorithm.mo"
2084 _out = omc_DiffAlgorithm_diffSeq(threadData, _arr1, _arr2, ((modelica_fnptr) _equals), ((modelica_fnptr) _isWhitespace), ((modelica_fnptr) _toString), _start1, _end1, _start2, _end2, tmpMeta[0], tmpMeta[1]);
2085#line 2085 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/DiffAlgorithm.c"
2086 _return: OMC_LABEL_UNUSED__attribute__((unused))
2087 return _out;
2088}
2089