OMCompiler/SimulationRuntime/c/meta/meta_modelica_builtin.h
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /* | ||
| 2 | * This file belongs to the OpenModelica Run-Time System | ||
| 3 | * | ||
| 4 | * Copyright (c) 1998-2026, Open Source Modelica Consortium (OSMC), c/o Linköpings | ||
| 5 | * universitet, Department of Computer and Information Science, SE-58183 Linköping, Sweden. All rights | ||
| 6 | * reserved. | ||
| 7 | * | ||
| 8 | * THIS PROGRAM IS PROVIDED UNDER THE TERMS OF THE BSD NEW LICENSE OR THE | ||
| 9 | * AGPL VERSION 3 LICENSE OR THE OSMC PUBLIC LICENSE (OSMC-PL) VERSION 1.8. ANY | ||
| 10 | * USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES RECIPIENT'S | ||
| 11 | * ACCEPTANCE OF THE BSD NEW LICENSE OR THE OSMC PUBLIC LICENSE OR THE AGPL | ||
| 12 | * VERSION 3, ACCORDING TO RECIPIENTS CHOICE. | ||
| 13 | * | ||
| 14 | * The OpenModelica software and the OSMC (Open Source Modelica Consortium) Public License | ||
| 15 | * (OSMC-PL) are obtained from OSMC, either from the above address, from the URLs: | ||
| 16 | * http://www.openmodelica.org or https://github.com/OpenModelica/ or | ||
| 17 | * http://www.ida.liu.se/projects/OpenModelica, and in the OpenModelica distribution. GNU | ||
| 18 | * AGPL version 3 is obtained from: https://www.gnu.org/licenses/licenses.html#GPL. The BSD NEW | ||
| 19 | * License is obtained from: http://www.opensource.org/licenses/BSD-3-Clause. | ||
| 20 | * | ||
| 21 | * This program is distributed WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY | ||
| 23 | * SET FORTH IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF | ||
| 24 | * OSMC-PL. | ||
| 25 | * | ||
| 26 | */ | ||
| 27 | |||
| 28 | /* File: meta_modelica_builtin.h | ||
| 29 | * Description: This is the C header file for the new builtin | ||
| 30 | * functions existing in MetaModelica. | ||
| 31 | */ | ||
| 32 | |||
| 33 | #ifndef META_MODELICA_BUILTIN_H_ | ||
| 34 | #define META_MODELICA_BUILTIN_H_ | ||
| 35 | |||
| 36 | #include "../openmodelica.h" | ||
| 37 | #include "../util/omc_msvc.h" | ||
| 38 | |||
| 39 | #if defined(__cplusplus) | ||
| 40 | extern "C" { | ||
| 41 | #endif | ||
| 42 | |||
| 43 | #include "meta_modelica_string.h" | ||
| 44 | #include "meta_modelica_builtin_boxptr.h" | ||
| 45 | #include "meta_modelica_string_lit.h" | ||
| 46 | |||
| 47 | typedef const modelica_metatype metamodelica_string_const; | ||
| 48 | |||
| 49 | extern metamodelica_string intString(modelica_integer); | ||
| 50 | extern modelica_string realString(modelica_real); | ||
| 51 | static inline metamodelica_string boolString(modelica_integer i) | ||
| 52 | { | ||
| 53 | 32464 | return mmc_strings_boolString[i]; | |
| 54 | } | ||
| 55 | |||
| 56 | /* String Character Conversion */ | ||
| 57 | |||
| 58 | #define stringCharInt(X) nobox_stringCharInt(threadData,X) | ||
| 59 | extern modelica_integer nobox_stringCharInt(threadData_t *threadData,metamodelica_string chr); | ||
| 60 | #define intStringChar(X) nobox_intStringChar(threadData,X) | ||
| 61 | extern metamodelica_string nobox_intStringChar(threadData_t *threadData,modelica_integer ix); | ||
| 62 | |||
| 63 | /* String Operations (MM extensions only) */ | ||
| 64 | #define stringInt(x) nobox_stringInt(threadData,x) | ||
| 65 | #define stringReal(x) nobox_stringReal(threadData,x) | ||
| 66 | extern modelica_integer nobox_stringInt(threadData_t*,metamodelica_string s); | ||
| 67 | extern modelica_real nobox_stringReal(threadData_t*,metamodelica_string s); | ||
| 68 | extern modelica_metatype stringListStringChar(metamodelica_string s); | ||
| 69 | extern metamodelica_string stringAppendList(modelica_metatype lst); | ||
| 70 | extern metamodelica_string stringDelimitList(modelica_metatype lst,metamodelica_string_const delimiter); | ||
| 71 | #define stringLength(x) MMC_STRLEN(x) | ||
| 72 | extern modelica_integer mmc_stringCompare(const void * str1,const void * str2); | ||
| 73 | #define stringGetStringChar(X,Y) boxptr_stringGetStringChar(threadData,X,mmc_mk_icon(Y)) | ||
| 74 | extern modelica_metatype boxptr_stringGetStringChar(threadData_t*,metamodelica_string str,modelica_metatype ix); | ||
| 75 | #define stringGet(X,Y) nobox_stringGet(threadData,X,Y) | ||
| 76 | extern modelica_integer nobox_stringGet(threadData_t *threadData,metamodelica_string str, modelica_integer ix); | ||
| 77 | #define stringGetNoBoundsChecking(str,ix) ((unsigned char*)MMC_STRINGDATA((str)))[(ix)-1] | ||
| 78 | #define stringUpdateStringChar(X,Y,Z) boxptr_stringUpdateStringChar(threadData,X,Y,mmc_mk_icon(Z)) | ||
| 79 | extern modelica_metatype boxptr_stringUpdateStringChar(threadData_t *,metamodelica_string str, metamodelica_string c, modelica_metatype ix); | ||
| 80 | extern modelica_integer stringHash(metamodelica_string_const); | ||
| 81 | extern modelica_integer stringHashDjb2(metamodelica_string_const s); | ||
| 82 | extern modelica_integer stringHashDjb2Continue(metamodelica_string_const s, modelica_integer hash); | ||
| 83 | extern modelica_integer intHashDjb2Continue(modelica_integer i, modelica_integer hash); | ||
| 84 | extern modelica_integer stringHashDjb2Mod(metamodelica_string_const s,modelica_integer mod); | ||
| 85 | extern modelica_integer stringHashSdbm(metamodelica_string_const str); | ||
| 86 | #define substring(X,Y,Z) boxptr_substring(threadData,X,mmc_mk_icon(Y),mmc_mk_icon(Z)) | ||
| 87 | extern modelica_metatype boxptr_substring(threadData_t *,metamodelica_string_const str, modelica_metatype start, modelica_metatype stop); | ||
| 88 | |||
| 89 | extern modelica_metatype boxptr_stringHashDjb2Mod(threadData_t*,modelica_metatype v,modelica_metatype mod); | ||
| 90 | |||
| 91 | /* List Operations */ | ||
| 92 | extern modelica_metatype listReverse(modelica_metatype); | ||
| 93 | extern modelica_metatype listReverseInPlace(modelica_metatype); | ||
| 94 | extern modelica_metatype listAppendDestroy(modelica_metatype, modelica_metatype); | ||
| 95 | #define listSetRest(X,Y) boxptr_listSetRest(threadData,X,Y) | ||
| 96 | #define listSetFirst(X,Y) boxptr_listSetFirst(threadData,X,Y) | ||
| 97 | extern void boxptr_listSetRest(threadData_t*,modelica_metatype,modelica_metatype); | ||
| 98 | extern void boxptr_listSetFirst(threadData_t*,modelica_metatype,modelica_metatype); | ||
| 99 | extern modelica_boolean listMember(modelica_metatype, modelica_metatype); | ||
| 100 | extern modelica_metatype listAppend(modelica_metatype,modelica_metatype); | ||
| 101 | extern modelica_integer listLength(modelica_metatype); | ||
| 102 | #define listGet(X,Y) boxptr_listGet(threadData,X,mmc_mk_icon(Y)) | ||
| 103 | #define listEmpty(LST) MMC_NILTEST(LST) | ||
| 104 | #define listDelete(X,Y) boxptr_listDelete(threadData,X,mmc_mk_icon(Y)) | ||
| 105 | #define listRest(X) boxptr_listRest(threadData,X) | ||
| 106 | #define listHead(X) boxptr_listHead(threadData,X) | ||
| 107 | |||
| 108 | #define isNone(X) MMC_OPTIONNONE(X) | ||
| 109 | #define isSome(X) MMC_OPTIONSOME(X) | ||
| 110 | |||
| 111 | extern modelica_metatype boxptr_listGet(threadData_t*,modelica_metatype,modelica_metatype); | ||
| 112 | extern modelica_metatype boxptr_listDelete(threadData_t*,modelica_metatype,modelica_metatype); | ||
| 113 | extern modelica_metatype boxptr_listRest(threadData_t*,modelica_metatype); | ||
| 114 | extern modelica_metatype boxptr_listHead(threadData_t*,modelica_metatype); | ||
| 115 | |||
| 116 | /* Option Operations */ | ||
| 117 | #define optionNone(x) (0==MMC_HDRSLOTS(MMC_GETHDR(x)) ? 1 : 0) | ||
| 118 | |||
| 119 | /* Array Operations */ | ||
| 120 | static inline modelica_integer arrayLength(modelica_metatype arr) | ||
| 121 | { | ||
| 122 |
355/986<unknown function 122>:
✗ Branch 0 not taken.
✗ Branch 0 not taken.
✓ Branch 1 taken 131659 times.
✓ Branch 1 taken 2641326 times.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 116839 times.
✓ Branch 3 taken 134131 times.
✓ Branch 3 taken 2484461 times.
✓ Branch 3 taken 77759 times.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 78918 times.
✓ Branch 5 taken 3769733 times.
✓ Branch 5 taken 736863 times.
✓ Branch 5 taken 11998200 times.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 34374 times.
✓ Branch 7 taken 255332 times.
✓ Branch 7 taken 2680161 times.
✓ Branch 7 taken 194678 times.
✓ Branch 7 taken 447432 times.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 245526 times.
✓ Branch 9 taken 3458961 times.
✓ Branch 9 taken 290174 times.
✓ Branch 9 taken 398815 times.
✓ Branch 9 taken 114023 times.
✓ Branch 9 taken 462893 times.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 17264 times.
✓ Branch 11 taken 1806 times.
✓ Branch 11 taken 3478418 times.
✓ Branch 11 taken 220911 times.
✓ Branch 11 taken 137781 times.
✓ Branch 11 taken 95331 times.
✓ Branch 11 taken 171593 times.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 18181 times.
✓ Branch 13 taken 1132 times.
✓ Branch 13 taken 1846 times.
✓ Branch 13 taken 37044 times.
✓ Branch 13 taken 18326 times.
✓ Branch 13 taken 54736 times.
✓ Branch 13 taken 18096 times.
✓ Branch 13 taken 10230 times.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 139 times.
✓ Branch 15 taken 1132 times.
✓ Branch 15 taken 68 times.
✓ Branch 15 taken 1977 times.
✓ Branch 15 taken 10070 times.
✓ Branch 15 taken 469989 times.
✓ Branch 15 taken 5659938 times.
✓ Branch 15 taken 19717 times.
✓ Branch 15 taken 2402185 times.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 17 taken 1120 times.
✓ Branch 17 taken 51 times.
✓ Branch 17 taken 50 times.
✓ Branch 17 taken 7999 times.
✓ Branch 17 taken 1828 times.
✗ Branch 17 not taken.
✓ Branch 17 taken 2731469 times.
✓ Branch 17 taken 28918 times.
✓ Branch 17 taken 16719 times.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 3359 times.
✓ Branch 19 taken 1120 times.
✓ Branch 19 taken 1725 times.
✓ Branch 19 taken 53 times.
✓ Branch 19 taken 3167 times.
✓ Branch 19 taken 887 times.
✓ Branch 19 taken 53452 times.
✓ Branch 19 taken 301990 times.
✓ Branch 19 taken 23840 times.
✓ Branch 19 taken 1 time.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 187 times.
✓ Branch 21 taken 1120 times.
✓ Branch 21 taken 91 times.
✓ Branch 21 taken 267 times.
✓ Branch 21 taken 26 times.
✓ Branch 21 taken 12299 times.
✓ Branch 21 taken 653199 times.
✓ Branch 21 taken 298114 times.
✓ Branch 21 taken 41918 times.
✓ Branch 21 taken 5216 times.
✓ Branch 21 taken 7800 times.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 23 taken 343 times.
✓ Branch 23 taken 129 times.
✗ Branch 23 not taken.
✓ Branch 23 taken 46 times.
✓ Branch 23 taken 225 times.
✓ Branch 23 taken 5467 times.
✓ Branch 23 taken 2437 times.
✓ Branch 23 taken 808982 times.
✓ Branch 23 taken 305622 times.
✓ Branch 23 taken 207522 times.
✓ Branch 23 taken 5610 times.
✓ Branch 23 taken 1822 times.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 3554 times.
✓ Branch 25 taken 465 times.
✗ Branch 25 not taken.
✓ Branch 25 taken 4 times.
✓ Branch 25 taken 3833 times.
✓ Branch 25 taken 2746 times.
✓ Branch 25 taken 898163 times.
✓ Branch 25 taken 297753 times.
✓ Branch 25 taken 12880 times.
✓ Branch 25 taken 5610 times.
✓ Branch 25 taken 227345 times.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✗ Branch 26 not taken.
✓ Branch 27 taken 3554 times.
✓ Branch 27 taken 139 times.
✗ Branch 27 not taken.
✓ Branch 27 taken 123 times.
✓ Branch 27 taken 46 times.
✓ Branch 27 taken 4908 times.
✓ Branch 27 taken 2180 times.
✓ Branch 27 taken 713 times.
✓ Branch 27 taken 8 times.
✓ Branch 27 taken 130483 times.
✓ Branch 27 taken 5612 times.
✓ Branch 27 taken 311037 times.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 1007365 times.
✓ Branch 29 taken 45 times.
✓ Branch 29 taken 2905407 times.
✓ Branch 29 taken 222 times.
✓ Branch 29 taken 1288 times.
✗ Branch 29 not taken.
✓ Branch 29 taken 47124 times.
✓ Branch 29 taken 57858 times.
✓ Branch 29 taken 297739 times.
✓ Branch 29 taken 121 times.
✓ Branch 29 taken 208054 times.
✓ Branch 29 taken 26433 times.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✗ Branch 30 not taken.
✓ Branch 31 taken 3336 times.
✓ Branch 31 taken 14 times.
✓ Branch 31 taken 9587559 times.
✓ Branch 31 taken 222 times.
✓ Branch 31 taken 1288 times.
✓ Branch 31 taken 1799 times.
✗ Branch 31 not taken.
✓ Branch 31 taken 657 times.
✓ Branch 31 taken 96969 times.
✓ Branch 31 taken 245921 times.
✓ Branch 31 taken 1524820 times.
✓ Branch 31 taken 106020 times.
✓ Branch 31 taken 3792604 times.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 7996 times.
✓ Branch 33 taken 10 times.
✓ Branch 33 taken 8 times.
✓ Branch 33 taken 1 time.
✓ Branch 33 taken 1288 times.
✓ Branch 33 taken 1799 times.
✓ Branch 33 taken 493 times.
✓ Branch 33 taken 9 times.
✓ Branch 33 taken 60224 times.
✓ Branch 33 taken 226825 times.
✓ Branch 33 taken 9 times.
✓ Branch 33 taken 5659 times.
✓ Branch 33 taken 145 times.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✗ Branch 34 not taken.
✓ Branch 35 taken 15212 times.
✓ Branch 35 taken 10 times.
✗ Branch 35 not taken.
✓ Branch 35 taken 1 time.
✓ Branch 35 taken 1288 times.
✓ Branch 35 taken 1650 times.
✓ Branch 35 taken 3729 times.
✗ Branch 35 not taken.
✓ Branch 35 taken 428573 times.
✓ Branch 35 taken 272211 times.
✗ Branch 35 not taken.
✓ Branch 35 taken 118704 times.
✓ Branch 35 taken 103 times.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 59 times.
✓ Branch 37 taken 10 times.
✗ Branch 37 not taken.
✓ Branch 37 taken 1288 times.
✗ Branch 37 not taken.
✓ Branch 37 taken 1650 times.
✓ Branch 37 taken 8 times.
✓ Branch 37 taken 2071 times.
✓ Branch 37 taken 2101 times.
✓ Branch 37 taken 272211 times.
✗ Branch 37 not taken.
✓ Branch 37 taken 22 times.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✓ Branch 39 taken 10 times.
✗ Branch 39 not taken.
✗ Branch 39 not taken.
✓ Branch 39 taken 1287 times.
✓ Branch 39 taken 1670 times.
✓ Branch 39 taken 20 times.
✓ Branch 39 taken 139 times.
✓ Branch 39 taken 98543 times.
✓ Branch 39 taken 2843 times.
✓ Branch 39 taken 36 times.
✓ Branch 39 taken 3314 times.
✓ Branch 39 taken 18 times.
✗ Branch 39 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✓ Branch 41 taken 10 times.
✗ Branch 41 not taken.
✗ Branch 41 not taken.
✗ Branch 41 not taken.
✓ Branch 41 taken 1287 times.
✓ Branch 41 taken 1670 times.
✓ Branch 41 taken 138 times.
✓ Branch 41 taken 175 times.
✓ Branch 41 taken 1085 times.
✗ Branch 41 not taken.
✓ Branch 41 taken 541573 times.
✓ Branch 41 taken 32812 times.
✓ Branch 41 taken 4446 times.
✓ Branch 41 taken 91852 times.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✗ Branch 42 not taken.
✓ Branch 43 taken 17 times.
✓ Branch 43 taken 26 times.
✗ Branch 43 not taken.
✗ Branch 43 not taken.
✗ Branch 43 not taken.
✓ Branch 43 taken 2408 times.
✗ Branch 43 not taken.
✓ Branch 43 taken 1670 times.
✓ Branch 43 taken 12 times.
✓ Branch 43 taken 4 times.
✓ Branch 43 taken 531 times.
✓ Branch 43 taken 2843 times.
✓ Branch 43 taken 806 times.
✓ Branch 43 taken 308 times.
✓ Branch 43 taken 91852 times.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✗ Branch 44 not taken.
✓ Branch 45 taken 140 times.
✓ Branch 45 taken 26 times.
✗ Branch 45 not taken.
✓ Branch 45 taken 2408 times.
✓ Branch 45 taken 40 times.
✓ Branch 45 taken 479 times.
✓ Branch 45 taken 4 times.
✓ Branch 45 taken 531 times.
✓ Branch 45 taken 7488 times.
✓ Branch 45 taken 148 times.
✓ Branch 45 taken 1246 times.
✓ Branch 45 taken 24 times.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✗ Branch 46 not taken.
✓ Branch 47 taken 187 times.
✗ Branch 47 not taken.
✓ Branch 47 taken 1 time.
✓ Branch 47 taken 56 times.
✓ Branch 47 taken 96 times.
✓ Branch 47 taken 4 times.
✓ Branch 47 taken 7 times.
✗ Branch 47 not taken.
✓ Branch 47 taken 148 times.
✓ Branch 47 taken 64 times.
✓ Branch 47 taken 289 times.
✓ Branch 47 taken 24 times.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 49 not taken.
✓ Branch 49 taken 1 time.
✗ Branch 49 not taken.
✓ Branch 49 taken 46 times.
✓ Branch 49 taken 1657 times.
✓ Branch 49 taken 8 times.
✗ Branch 49 not taken.
✓ Branch 49 taken 3 times.
✓ Branch 49 taken 332 times.
✓ Branch 49 taken 25 times.
✓ Branch 49 taken 34167 times.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✗ Branch 50 not taken.
✓ Branch 51 taken 12754127 times.
✗ Branch 51 not taken.
✓ Branch 51 taken 1 time.
✗ Branch 51 not taken.
✓ Branch 51 taken 46 times.
✓ Branch 51 taken 8 times.
✓ Branch 51 taken 892859 times.
✓ Branch 51 taken 15 times.
✓ Branch 51 taken 1515 times.
✗ Branch 51 not taken.
✓ Branch 51 taken 34167 times.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✗ Branch 52 not taken.
✓ Branch 53 taken 3336 times.
✗ Branch 53 not taken.
✓ Branch 53 taken 286 times.
✗ Branch 53 not taken.
✓ Branch 53 taken 1242 times.
✗ Branch 53 not taken.
✓ Branch 53 taken 15 times.
✓ Branch 53 taken 187 times.
✓ Branch 53 taken 366 times.
✓ Branch 53 taken 31537 times.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✗ Branch 54 not taken.
✓ Branch 55 taken 1510 times.
✗ Branch 55 not taken.
✗ Branch 55 not taken.
✗ Branch 55 not taken.
✓ Branch 55 taken 42295 times.
✓ Branch 55 taken 9422 times.
✗ Branch 55 not taken.
✓ Branch 55 taken 366 times.
✓ Branch 55 taken 45 times.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 56 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✗ Branch 57 not taken.
✓ Branch 57 taken 37 times.
✓ Branch 57 taken 366 times.
✓ Branch 57 taken 1815 times.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✗ Branch 58 not taken.
✓ Branch 59 taken 274 times.
✗ Branch 59 not taken.
✗ Branch 59 not taken.
✗ Branch 59 not taken.
✗ Branch 59 not taken.
✓ Branch 59 taken 27 times.
✓ Branch 59 taken 41 times.
✓ Branch 59 taken 16 times.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✗ Branch 60 not taken.
✓ Branch 61 taken 103 times.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✗ Branch 61 not taken.
✓ Branch 61 taken 132 times.
✓ Branch 61 taken 35 times.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✗ Branch 63 not taken.
✗ Branch 63 not taken.
✓ Branch 63 taken 10 times.
✗ Branch 63 not taken.
✓ Branch 63 taken 96 times.
✓ Branch 63 taken 156 times.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 64 not taken.
✗ Branch 65 not taken.
✗ Branch 65 not taken.
✗ Branch 65 not taken.
✓ Branch 65 taken 10 times.
✗ Branch 65 not taken.
✓ Branch 65 taken 14 times.
✓ Branch 65 taken 20 times.
✗ Branch 66 not taken.
✗ Branch 66 not taken.
✗ Branch 66 not taken.
✗ Branch 66 not taken.
✗ Branch 66 not taken.
✗ Branch 66 not taken.
✗ Branch 66 not taken.
✗ Branch 67 not taken.
✓ Branch 67 taken 8 times.
✗ Branch 67 not taken.
✓ Branch 67 taken 10 times.
✓ Branch 67 taken 688394 times.
✓ Branch 67 taken 1 time.
✓ Branch 67 taken 20 times.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✗ Branch 68 not taken.
✓ Branch 69 taken 59693 times.
✓ Branch 69 taken 8 times.
✗ Branch 69 not taken.
✓ Branch 69 taken 10 times.
✓ Branch 69 taken 1795 times.
✓ Branch 69 taken 1 time.
✓ Branch 69 taken 379 times.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✗ Branch 70 not taken.
✓ Branch 71 taken 59693 times.
✓ Branch 71 taken 8 times.
✗ Branch 71 not taken.
✓ Branch 71 taken 10 times.
✗ Branch 71 not taken.
✓ Branch 71 taken 972 times.
✓ Branch 71 taken 379 times.
✗ Branch 72 not taken.
✗ Branch 72 not taken.
✗ Branch 72 not taken.
✗ Branch 72 not taken.
✗ Branch 72 not taken.
✗ Branch 72 not taken.
✗ Branch 73 not taken.
✓ Branch 73 taken 8 times.
✗ Branch 73 not taken.
✓ Branch 73 taken 10 times.
✗ Branch 73 not taken.
✓ Branch 73 taken 2029 times.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 74 not taken.
✗ Branch 75 not taken.
✓ Branch 75 taken 17 times.
✗ Branch 75 not taken.
✓ Branch 75 taken 10 times.
✓ Branch 75 taken 398049 times.
✓ Branch 75 taken 3 times.
✗ Branch 76 not taken.
✗ Branch 76 not taken.
✗ Branch 76 not taken.
✗ Branch 76 not taken.
✗ Branch 76 not taken.
✓ Branch 77 taken 8 times.
✗ Branch 77 not taken.
✗ Branch 77 not taken.
✗ Branch 77 not taken.
✓ Branch 77 taken 3 times.
✗ Branch 78 not taken.
✗ Branch 78 not taken.
✗ Branch 78 not taken.
✗ Branch 78 not taken.
✗ Branch 78 not taken.
✓ Branch 79 taken 17 times.
✗ Branch 79 not taken.
✗ Branch 79 not taken.
✗ Branch 79 not taken.
✗ Branch 79 not taken.
✗ Branch 80 not taken.
✗ Branch 80 not taken.
✗ Branch 80 not taken.
✗ Branch 80 not taken.
✗ Branch 80 not taken.
✓ Branch 81 taken 8 times.
✗ Branch 81 not taken.
✗ Branch 81 not taken.
✓ Branch 81 taken 830 times.
✓ Branch 81 taken 377104 times.
✗ Branch 82 not taken.
✗ Branch 82 not taken.
✗ Branch 82 not taken.
✗ Branch 82 not taken.
✗ Branch 82 not taken.
✓ Branch 83 taken 8 times.
✓ Branch 83 taken 65 times.
✗ Branch 83 not taken.
✓ Branch 83 taken 26 times.
✓ Branch 83 taken 16390 times.
✗ Branch 84 not taken.
✗ Branch 84 not taken.
✗ Branch 84 not taken.
✗ Branch 84 not taken.
✗ Branch 84 not taken.
✓ Branch 85 taken 8 times.
✓ Branch 85 taken 65 times.
✗ Branch 85 not taken.
✗ Branch 85 not taken.
✓ Branch 85 taken 54 times.
✗ Branch 86 not taken.
✗ Branch 86 not taken.
✗ Branch 86 not taken.
✗ Branch 86 not taken.
✗ Branch 86 not taken.
✓ Branch 87 taken 8 times.
✓ Branch 87 taken 15375 times.
✗ Branch 87 not taken.
✗ Branch 87 not taken.
✓ Branch 87 taken 88 times.
✗ Branch 88 not taken.
✗ Branch 88 not taken.
✗ Branch 88 not taken.
✗ Branch 88 not taken.
✗ Branch 88 not taken.
✓ Branch 89 taken 8 times.
✓ Branch 89 taken 15278 times.
✗ Branch 89 not taken.
✗ Branch 89 not taken.
✓ Branch 89 taken 1161 times.
✗ Branch 90 not taken.
✗ Branch 90 not taken.
✗ Branch 90 not taken.
✗ Branch 90 not taken.
✗ Branch 90 not taken.
✓ Branch 91 taken 8 times.
✗ Branch 91 not taken.
✗ Branch 91 not taken.
✗ Branch 91 not taken.
✓ Branch 91 taken 1161 times.
✗ Branch 92 not taken.
✗ Branch 92 not taken.
✗ Branch 92 not taken.
✗ Branch 92 not taken.
✗ Branch 92 not taken.
✓ Branch 93 taken 8 times.
✓ Branch 93 taken 16 times.
✗ Branch 93 not taken.
✓ Branch 93 taken 438 times.
✓ Branch 93 taken 56572 times.
✗ Branch 94 not taken.
✗ Branch 94 not taken.
✗ Branch 94 not taken.
✗ Branch 94 not taken.
✗ Branch 94 not taken.
✓ Branch 95 taken 8 times.
✓ Branch 95 taken 130 times.
✗ Branch 95 not taken.
✓ Branch 95 taken 438 times.
✓ Branch 95 taken 1246 times.
✗ Branch 96 not taken.
✗ Branch 96 not taken.
✗ Branch 96 not taken.
✗ Branch 96 not taken.
✗ Branch 96 not taken.
✓ Branch 97 taken 16 times.
✓ Branch 97 taken 130 times.
✗ Branch 97 not taken.
✗ Branch 97 not taken.
✓ Branch 97 taken 1246 times.
✗ Branch 98 not taken.
✗ Branch 98 not taken.
✗ Branch 98 not taken.
✗ Branch 98 not taken.
✗ Branch 98 not taken.
✓ Branch 99 taken 16 times.
✓ Branch 99 taken 78652 times.
✗ Branch 99 not taken.
✗ Branch 99 not taken.
✓ Branch 99 taken 19932 times.
✗ Branch 100 not taken.
✗ Branch 100 not taken.
✗ Branch 100 not taken.
✗ Branch 100 not taken.
✗ Branch 100 not taken.
✗ Branch 101 not taken.
✗ Branch 101 not taken.
✗ Branch 101 not taken.
✗ Branch 101 not taken.
✓ Branch 101 taken 19926 times.
✗ Branch 102 not taken.
✗ Branch 102 not taken.
✗ Branch 102 not taken.
✗ Branch 102 not taken.
✗ Branch 102 not taken.
✓ Branch 103 taken 286 times.
✗ Branch 103 not taken.
✗ Branch 103 not taken.
✗ Branch 103 not taken.
✓ Branch 103 taken 2757 times.
✗ Branch 104 not taken.
✗ Branch 104 not taken.
✗ Branch 104 not taken.
✗ Branch 104 not taken.
✗ Branch 104 not taken.
✗ Branch 105 not taken.
✗ Branch 105 not taken.
✗ Branch 105 not taken.
✓ Branch 105 taken 71847 times.
✓ Branch 105 taken 327 times.
✗ Branch 106 not taken.
✗ Branch 106 not taken.
✗ Branch 106 not taken.
✗ Branch 106 not taken.
✗ Branch 106 not taken.
✗ Branch 107 not taken.
✗ Branch 107 not taken.
✗ Branch 107 not taken.
✗ Branch 107 not taken.
✓ Branch 107 taken 327 times.
✗ Branch 108 not taken.
✗ Branch 108 not taken.
✗ Branch 108 not taken.
✗ Branch 108 not taken.
✗ Branch 109 not taken.
✗ Branch 109 not taken.
✗ Branch 109 not taken.
✓ Branch 109 taken 10 times.
✗ Branch 110 not taken.
✗ Branch 110 not taken.
✗ Branch 110 not taken.
✗ Branch 110 not taken.
✗ Branch 111 not taken.
✗ Branch 111 not taken.
✗ Branch 111 not taken.
✓ Branch 111 taken 130335 times.
✗ Branch 112 not taken.
✗ Branch 112 not taken.
✗ Branch 112 not taken.
✓ Branch 113 taken 2016 times.
✗ Branch 113 not taken.
✓ Branch 113 taken 26924 times.
✗ Branch 114 not taken.
✗ Branch 114 not taken.
✗ Branch 114 not taken.
✓ Branch 115 taken 8 times.
✗ Branch 115 not taken.
✓ Branch 115 taken 6 times.
✗ Branch 116 not taken.
✗ Branch 116 not taken.
✗ Branch 116 not taken.
✓ Branch 117 taken 8 times.
✗ Branch 117 not taken.
✓ Branch 117 taken 54893 times.
✗ Branch 118 not taken.
✗ Branch 118 not taken.
✗ Branch 118 not taken.
✓ Branch 119 taken 1067 times.
✗ Branch 119 not taken.
✓ Branch 119 taken 54893 times.
✗ Branch 120 not taken.
✗ Branch 120 not taken.
✗ Branch 120 not taken.
✓ Branch 121 taken 8 times.
✗ Branch 121 not taken.
✓ Branch 121 taken 54893 times.
✗ Branch 122 not taken.
✗ Branch 122 not taken.
✗ Branch 122 not taken.
✗ Branch 123 not taken.
✗ Branch 123 not taken.
✓ Branch 123 taken 54893 times.
✗ Branch 124 not taken.
✗ Branch 124 not taken.
✗ Branch 124 not taken.
✓ Branch 125 taken 3078 times.
✓ Branch 125 taken 1832 times.
✓ Branch 125 taken 438 times.
✗ Branch 126 not taken.
✗ Branch 126 not taken.
✗ Branch 126 not taken.
✓ Branch 127 taken 16 times.
✓ Branch 127 taken 1832 times.
✓ Branch 127 taken 438 times.
✗ Branch 128 not taken.
✗ Branch 128 not taken.
✓ Branch 129 taken 2 times.
✓ Branch 129 taken 1106 times.
✗ Branch 130 not taken.
✗ Branch 130 not taken.
✓ Branch 131 taken 28 times.
✗ Branch 131 not taken.
✗ Branch 132 not taken.
✗ Branch 132 not taken.
✗ Branch 133 not taken.
✓ Branch 133 taken 542 times.
✗ Branch 134 not taken.
✗ Branch 134 not taken.
✗ Branch 135 not taken.
✓ Branch 135 taken 8 times.
✗ Branch 136 not taken.
✗ Branch 136 not taken.
✗ Branch 137 not taken.
✓ Branch 137 taken 4 times.
✗ Branch 138 not taken.
✗ Branch 138 not taken.
✗ Branch 139 not taken.
✓ Branch 139 taken 146 times.
✗ Branch 140 not taken.
✓ Branch 141 taken 8 times.
✗ Branch 142 not taken.
✓ Branch 143 taken 8 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 6 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 130 times.
✗ Branch 148 not taken.
✗ Branch 149 not taken.
✗ Branch 150 not taken.
✗ Branch 151 not taken.
✗ Branch 152 not taken.
✗ Branch 153 not taken.
<unknown function 53>:
✗ Branch 0 not taken.
✓ Branch 1 taken 158 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 158 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 1336279 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2235093 times.
|
1903562553 | return MMC_HDRSLOTS(MMC_GETHDR(arr)); |
| 123 | } | ||
| 124 | |||
| 125 | extern modelica_metatype arrayList(modelica_metatype); | ||
| 126 | extern modelica_metatype listArray(modelica_metatype); | ||
| 127 | extern modelica_metatype arrayCopy(modelica_metatype); | ||
| 128 | #define arrayGet(X,Y) nobox_arrayGet(threadData,X,Y) | ||
| 129 | extern modelica_metatype listArrayLiteral(modelica_metatype); | ||
| 130 | |||
| 131 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1714795713 times.
|
1714795713 | static inline modelica_metatype nobox_arrayGet(threadData_t *threadData,modelica_metatype arr,modelica_integer ix) |
| 132 | { | ||
| 133 | 1735346759 | int nelts = arrayLength(arr); | |
| 134 |
26/36<unknown function 122>:
✗ Branch 0 not taken.
✓ Branch 1 taken 774918 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1084314 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10168776 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 187589 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 184814 times.
nobox_arrayGet:
✓ Branch 0 taken 1514555847 times.
✓ Branch 1 taken 529137 times.
✓ Branch 2 taken 55004376 times.
✓ Branch 3 taken 1518169049 times.
✓ Branch 4 taken 7858709 times.
✓ Branch 5 taken 55225880 times.
✓ Branch 6 taken 200524 times.
✓ Branch 7 taken 11308833 times.
✓ Branch 8 taken 8654 times.
✓ Branch 9 taken 199341 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 60214 times.
✓ Branch 12 taken 112973 times.
✓ Branch 13 taken 53234 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 118304 times.
✓ Branch 16 taken 11444952 times.
✓ Branch 17 taken 5242 times.
✓ Branch 18 taken 2392 times.
✓ Branch 19 taken 11450168 times.
✗ Branch 20 not taken.
✓ Branch 21 taken 215017 times.
✓ Branch 22 taken 125609471 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 125609471 times.
|
1735346759 | if (ix < 1 || ix > nelts) |
| 135 | 2731 | MMC_THROW_INTERNAL(); | |
| 136 |
15/25<unknown function 122>:
✗ Branch 0 not taken.
✓ Branch 1 taken 466 times.
nobox_arrayGet:
✗ Branch 0 not taken.
✓ Branch 1 taken 3435 times.
✗ Branch 2 not taken.
✓ Branch 2 taken 30 times.
✗ Branch 3 not taken.
✓ Branch 3 taken 14837 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3449871 times.
✓ Branch 5 taken 6 times.
✗ Branch 6 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 7 times.
✓ Branch 7 taken 53156 times.
✓ Branch 7 taken 40 times.
✗ Branch 8 not taken.
✓ Branch 8 taken 53170 times.
✓ Branch 9 taken 4 times.
✗ Branch 9 not taken.
✓ Branch 9 taken 74 times.
✓ Branch 10 taken 14 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 26 times.
✓ Branch 12 taken 5216 times.
|
1521324121 | return MMC_STRUCTDATA(arr)[ix-1]; |
| 137 | } | ||
| 138 | |||
| 139 | 8251713 | static inline modelica_metatype arrayCreate(modelica_integer nelts, modelica_metatype val) | |
| 140 | { | ||
| 141 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 8251713 times.
|
8251713 | if (nelts < 0) { |
| 142 | ✗ | MMC_THROW(); | |
| 143 | } else { | ||
| 144 | 8251713 | void* arr = (struct mmc_struct*)mmc_mk_box_no_assign(nelts, MMC_ARRAY_TAG, MMC_IS_IMMEDIATE(val)); | |
| 145 | 8251713 | void **arrp = MMC_STRUCTDATA(arr); | |
| 146 | int i = 0; | ||
| 147 |
2/2✓ Branch 0 taken 1150072580 times.
✓ Branch 1 taken 8251713 times.
|
1158324293 | for(i=0; i<nelts; i++) |
| 148 | 1150072580 | arrp[i] = val; | |
| 149 | 8251713 | return arr; | |
| 150 | } | ||
| 151 | } | ||
| 152 | |||
| 153 | 9810888 | static inline modelica_metatype arrayCreateNoInit(modelica_integer nelts, modelica_metatype dummy __attribute__((unused)) | |
| 154 | ) | ||
| 155 | { | ||
| 156 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9810888 times.
|
9810888 | if (nelts < 0) { |
| 157 | ✗ | MMC_THROW(); | |
| 158 | } else { | ||
| 159 | 9810888 | return (struct mmc_struct*)mmc_mk_box_no_assign(nelts, MMC_ARRAY_TAG, 0); | |
| 160 | } | ||
| 161 | } | ||
| 162 | #define arrayGetNoBoundsChecking(arr,ix) (MMC_STRUCTDATA((arr))[(ix)-1]) | ||
| 163 | #define arrayUpdate(X,Y,Z) boxptr_arrayUpdate(threadData,X,mmc_mk_icon(Y),Z) | ||
| 164 | #define arrayUpdateNoBoundsChecking(X,Y,Z) boxptr_arrayUpdateNoBoundsChecking(threadData,X,mmc_mk_icon(Y),Z) | ||
| 165 | #define arrayClearIndex(X,Y) boxptr_arrayUpdateNoBoundsChecking(threadData,X,mmc_mk_icon(Y),mmc_mk_icon(0)) | ||
| 166 | extern modelica_metatype arrayAppend(modelica_metatype, modelica_metatype); | ||
| 167 | |||
| 168 | extern modelica_metatype boxptr_arrayGet(threadData_t *threadData,modelica_metatype,modelica_metatype); | ||
| 169 | 93537934 | static inline modelica_metatype boxptr_arrayUpdate(threadData_t *threadData,modelica_metatype arr, modelica_metatype i, modelica_metatype val) | |
| 170 | { | ||
| 171 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 93537934 times.
|
93537934 | int ix = mmc_unbox_integer(i); |
| 172 | 93537934 | int nelts = arrayLength(arr); | |
| 173 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 93537934 times.
|
93537934 | if (ix < 1 || ix > nelts) |
| 174 | ✗ | MMC_THROW_INTERNAL(); | |
| 175 | 93537934 | MMC_STRUCTDATA(arr)[ix-1] = val; | |
| 176 | 93537934 | return arr; | |
| 177 | } | ||
| 178 | |||
| 179 | extern modelica_metatype boxptr_arrayUpdate(threadData_t *threadData,modelica_metatype, modelica_metatype, modelica_metatype); | ||
| 180 | |||
| 181 | static inline modelica_metatype boxptr_arrayUpdateNoBoundsChecking(threadData_t *threadData __attribute__((unused)), modelica_metatype arr, modelica_metatype i, modelica_metatype val) | ||
| 182 | { | ||
| 183 | 70962485 | int ix = mmc_unbox_integer(i); | |
| 184 |
10/10✓ Branch 0 taken 143 times.
✓ Branch 0 taken 511748 times.
✓ Branch 1 taken 401 times.
✓ Branch 1 taken 1885650 times.
✓ Branch 2 taken 42139 times.
✓ Branch 3 taken 14433 times.
✓ Branch 4 taken 267 times.
✓ Branch 5 taken 19659 times.
✓ Branch 6 taken 4124 times.
✓ Branch 7 taken 79599 times.
|
59177322 | MMC_STRUCTDATA(arr)[ix-1] = val; |
| 185 | 1044713 | return arr; | |
| 186 | } | ||
| 187 | |||
| 188 | extern modelica_metatype boxptr_arrayUpdateNoBoundsChecking(threadData_t *threadData,modelica_metatype, modelica_metatype, modelica_metatype); | ||
| 189 | |||
| 190 | /* Misc Operations */ | ||
| 191 | #ifndef __cplusplus | ||
| 192 | #define print(X) fputs(MMC_STRINGDATA(X), stdout) | ||
| 193 | #endif | ||
| 194 | extern void boxptr_print(threadData_t*,modelica_metatype); | ||
| 195 | extern modelica_integer tick(void); | ||
| 196 | extern modelica_real mmc_clock(void); | ||
| 197 | #define equality(X,Y) boxptr_equality(threadData,X,Y) | ||
| 198 | extern void boxptr_equality(threadData_t *,modelica_metatype, modelica_metatype); | ||
| 199 | |||
| 200 | /* Weird RML stuff */ | ||
| 201 | #define getGlobalRoot(X) nobox_getGlobalRoot(threadData,X) | ||
| 202 | #define setGlobalRoot(X,V) boxptr_setGlobalRoot(threadData,mmc_mk_icon(X),V) | ||
| 203 | #define valueConstructor(val) MMC_HDRCTOR(MMC_GETHDR(val)) | ||
| 204 | #define isPresent(X) ((out##X)!=NULL) | ||
| 205 | |||
| 206 | extern modelica_metatype nobox_getGlobalRoot(threadData_t*,modelica_integer); | ||
| 207 | extern void boxptr_setGlobalRoot(threadData_t*,modelica_metatype, modelica_metatype); | ||
| 208 | extern modelica_metatype boxptr_valueConstructor(threadData_t*,modelica_metatype); | ||
| 209 | #define referenceEq(X,Y) ((X) == (Y)) | ||
| 210 | |||
| 211 | extern modelica_boolean setStackOverflowSignal(modelica_boolean); | ||
| 212 | extern metamodelica_string referenceDebugString(modelica_metatype fnptr); | ||
| 213 | extern metamodelica_string referencePointerString(modelica_metatype ptr); | ||
| 214 | |||
| 215 | #include "meta_modelica_builtin_boxvar.h" | ||
| 216 | |||
| 217 | DLLDataDirection extern struct record_description SourceInfo_SOURCEINFO__desc; | ||
| 218 | #define SourceInfo__SOURCEINFO(fileName,isReadOnly,lineNumberStart,columnNumberStart,lineNumberEnd,columnNumberEnd,lastModification) (mmc_mk_box8(3,&SourceInfo_SOURCEINFO__desc,fileName,isReadOnly,lineNumberStart,columnNumberStart,lineNumberEnd,columnNumberEnd,lastModification)) | ||
| 219 | |||
| 220 | #if defined(__cplusplus) | ||
| 221 | } | ||
| 222 | #endif | ||
| 223 | |||
| 224 | #endif /* META_MODELICA_BUILTIN_H_ */ | ||
| 225 |