Skip to content

Commit

Permalink
- Add MetaModelica builtin cons()
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoelund committed Nov 3, 2010
1 parent 5de9ba9 commit b2375a2
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Compiler/Builtin.mo
Expand Up @@ -1971,6 +1971,9 @@ protected constant DAE.Type list2boolean=(
protected constant DAE.Type AlistA2boolean=(
DAE.T_FUNCTION({("el",typeA),("lst",(DAE.T_LIST(typeA),NONE()))},DAE.T_BOOL_DEFAULT,DAE.NO_INLINE()),NONE());

protected constant DAE.Type AlistA2listA=(
DAE.T_FUNCTION({("el",typeA),("lst",(DAE.T_LIST(typeA),NONE()))},(DAE.T_LIST(typeA),NONE()),DAE.NO_INLINE()),NONE());

protected constant DAE.Type boxed2int=(
DAE.T_FUNCTION({("x",typeBoxedAny)},DAE.T_INTEGER_DEFAULT,DAE.NO_INLINE()),NONE());

Expand Down Expand Up @@ -3006,6 +3009,7 @@ algorithm
env = Env.extendFrameT(env, "listRest", listA2listA);
env = Env.extendFrameT(env, "listDelete", listAint2listA);
env = Env.extendFrameT(env, "listEmpty", list2boolean);
env = Env.extendFrameT(env, "cons", AlistA2listA);

// Array Operations
env = Env.extendFrameT(env, "arrayLength", marrayAny2int);
Expand Down
4 changes: 4 additions & 0 deletions c_runtime/meta_modelica_builtin.h
Expand Up @@ -235,6 +235,7 @@ typedef modelica_metatype listNth_rettype;
typedef modelica_metatype listRest_rettype;
typedef modelica_integer listEmpty_rettype;
typedef modelica_metatype listDelete_rettype;
typedef modelica_metatype cons_rettype;

listReverse_rettype listReverse(modelica_metatype);
listAppend_rettype listAppend(modelica_metatype,modelica_metatype);
Expand All @@ -246,6 +247,9 @@ listRest_rettype listRest(modelica_metatype);
listEmpty_rettype listEmpty(modelica_metatype);
listDelete_rettype listDelete(modelica_metatype, modelica_integer);

#define cons(X,XS) mmc_mk_cons(X,XS)
#define boxptr_cons(X,XS) mmc_mk_cons(X,XS)

/* Option Operations */
typedef modelica_boolean optionNone_rettype;
optionNone_rettype optionNone(modelica_metatype);
Expand Down

0 comments on commit b2375a2

Please sign in to comment.