Skip to content

Commit

Permalink
Expected output
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoelund authored and OpenModelica-Hudson committed Oct 18, 2017
1 parent 6b70c75 commit 4e94bc5
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 91 deletions.
15 changes: 9 additions & 6 deletions flattening/modelica/arrays/BadVariabilityBug3150.mo
@@ -1,6 +1,6 @@
// name: BadVariabilityBug3150 [BUG: https://trac.openmodelica.org/OpenModelica/ticket/3150]
// keywords: array
// status: correct
// status: incorrect
//
// Testing the array reduction constant-ness calculation
//
Expand All @@ -22,9 +22,12 @@ end BadVariabilityBug3150;


// Result:
// class BadVariabilityBug3150
// parameter Integer nReg(min = 2) = 2;
// constant Boolean hexReg[1].initialize_p1 = true;
// constant Boolean hexReg[2].initialize_p1 = false;
// end BadVariabilityBug3150;
// Error processing file: BadVariabilityBug3150.mo
// [flattening/modelica/arrays/BadVariabilityBug3150.mo:20:29-20:101:writable] Error: Component hexReg[2].initialize_p1 of variability CONST has binding false of higher variability PARAM.
// Error: Error occurred while flattening model BadVariabilityBug3150
//
// # Error encountered! Exiting...
// # Please check the error message and the flags.
//
// Execution failed!
// endResult
88 changes: 44 additions & 44 deletions metamodelica/meta/ListReductionCodegen.mo
Expand Up @@ -58,7 +58,7 @@ end ListReduction;
// Result:
// function ListReduction.f
// output String s = "
// ";
// ";
// protected String sList;
// protected String sArr;
// protected list<#Real> reals1 = List(#(1.0), #(2.0), #(3.0));
Expand All @@ -67,93 +67,93 @@ end ListReduction;
// protected Real[7] realsArr2 = {-3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0};
// protected Real[3] realsArr3;
// algorithm
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(r for r in reals1));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(r for r in reals1));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(r for r in reals1));
// s := s + "
// ";
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(r for r in reals1));
// s := s + "
// ";
// s := s + "{3.5,7.0,10.5}";
// s := s + anyString(list(#(3.5 * unbox(r)) for r guard unbox(r) > 0.0 in reals2));
// s := s + "
// ";
// s := s + "-7.0";
// s := s + anyString(#(ListReduction.myMin(3.5 * unbox(r) for r guard abs(unbox(r)) < 3.0 in reals2)));
// s := s + "
// ";
// s := s + "0.0";
// s := s + anyString(#(0.0));
// s := s + "
// ";
// realsArr3 := {1.0, 2.0, 3.0};
// realsArr3 := array(unbox(r) for r in reals1);
// s := s + "{" + realString(realsArr3[1]) + "," + realString(realsArr3[2]) + "," + realString(realsArr3[3]) + "," + "}";
// s := s + "
// ";
// s := s + "1.0";
// s := s + anyString(#(min(unbox(r) for r in reals1)));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(max(unbox(r) for r in reals1)));
// s := s + "
// ";
// s := s + "4.5";
// s := s + anyString(#(realMax(1.5 * unbox(r) for r in reals1)));
// s := s + "
// ";
// s := s + "21.0";
// s := s + anyString(#(sum(3.5 * unbox(r) for r guard unbox(r) > 0.0 in reals2)));
// s := s + "
// ";
// s := s + "257.25";
// s := s + anyString(#(product(3.5 * unbox(r) for r guard unbox(r) > 0.0 in reals2)));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(realMin(unbox(r) for r guard unbox(r) > 2.0 in reals1)));
// s := s + "
// ";
// sList := s;
// s := "
// ";
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{3.5,7.0,10.5}";
// s := s + anyString(list(#(3.5 * r) for r guard r > 0.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]}));
// s := s + "
// ";
// s := s + "-7.0";
// s := s + anyString(#(ListReduction.myMin(3.5 * r for r guard abs(r) < 3.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]})));
// s := s + "
// ";
// s := s + "0.0";
// s := s + anyString(#(0.0));
// s := s + "
// ";
// realsArr3 := {1.0, 2.0, 3.0};
// realsArr3 := {realsArr1[1], realsArr1[2], realsArr1[3]};
// s := s + "{" + realString(realsArr3[1]) + "," + realString(realsArr3[2]) + "," + realString(realsArr3[3]) + "," + "}";
// s := s + "
// ";
// s := s + "1.0";
// s := s + anyString(#(min({realsArr1[1], realsArr1[2], realsArr1[3]})));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(max({realsArr1[1], realsArr1[2], realsArr1[3]})));
// s := s + "
// ";
// s := s + "4.5";
// s := s + anyString(#(max(1.5 * realsArr1[3], max(1.5 * realsArr1[2], 1.5 * realsArr1[1]))));
// s := s + "
// ";
// s := s + "21.0";
// s := s + anyString(#(sum(3.5 * r for r guard r > 0.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]})));
// s := s + "
// ";
// s := s + "257.25";
// s := s + anyString(#(product(3.5 * r for r guard r > 0.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]})));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(realMin(r for r guard r > 2.0 in {realsArr1[1], realsArr1[2], realsArr1[3]})));
// s := s + "
// ";
// sArr := s;
Expand All @@ -173,20 +173,20 @@ end ListReduction;
//
// class ListReduction
// String s = "
// {1.0,2.0,3.0}
// {3.0,2.0,1.0}
// {3.0,2.0,1.0}
// {1.0,2.0,3.0}
// {3.5,7.0,10.5}
// -7.0
// 0.0
// {1.0,2.0,3.0,}
// 1.0
// 3.0
// 4.5
// 21.0
// 257.25
// 3.0
// ";
// {1, 2, 3}
// {3, 2, 1}
// {3, 2, 1}
// {1, 2, 3}
// {3.5, 7, 10.5}
// -7
// 0
// {1.0,2.0,3.0,}
// 1
// 3
// 4.5
// 21
// 257.25
// 3
// ";
// end ListReduction;
// endResult
82 changes: 41 additions & 41 deletions metamodelica/meta/ListReductionInterpret.mo
Expand Up @@ -65,7 +65,7 @@ end ListReduction;
// Result:
// function ListReduction.f
// output String s = "
// ";
// ";
// protected String sList;
// protected String sArr;
// protected list<#Real> reals1 = List(#(1.0), #(2.0), #(3.0));
Expand All @@ -74,87 +74,87 @@ end ListReduction;
// protected Real[7] realsArr2 = {-3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0};
// protected Real[3] realsArr3;
// algorithm
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(r for r in reals1));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(r for r in reals1));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(r for r in reals1));
// s := s + "
// ";
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(r for r in reals1));
// s := s + "
// ";
// s := s + "{3.5,7.0,10.5}";
// s := s + anyString(list(#(3.5 * unbox(r)) for r guard unbox(r) > 0.0 in reals2));
// s := s + "
// ";
// s := s + "0.0";
// s := s + anyString(#(0.0));
// s := s + "
// ";
// realsArr3 := {1.0, 2.0, 3.0};
// realsArr3 := array(unbox(r) for r in reals1);
// s := s + "{" + realString(realsArr3[1]) + "," + realString(realsArr3[2]) + "," + realString(realsArr3[3]) + "," + "}";
// s := s + "
// ";
// s := s + "1.0";
// s := s + anyString(#(min(unbox(r) for r in reals1)));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(max(unbox(r) for r in reals1)));
// s := s + "
// ";
// s := s + "4.5";
// s := s + anyString(#(realMax(1.5 * unbox(r) for r in reals1)));
// s := s + "
// ";
// s := s + "21.0";
// s := s + anyString(#(sum(3.5 * unbox(r) for r guard unbox(r) > 0.0 in reals2)));
// s := s + "
// ";
// s := s + "257.25";
// s := s + anyString(#(product(3.5 * unbox(r) for r guard unbox(r) > 0.0 in reals2)));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(realMin(unbox(r) for r guard unbox(r) > 2.0 in reals1)));
// s := s + "
// ";
// sList := s;
// s := "
// ";
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{3.0,2.0,1.0}";
// s := s + anyString(listReverse(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{1.0,2.0,3.0}";
// s := s + anyString(list(#(r) for r in {realsArr1[1], realsArr1[2], realsArr1[3]}));
// s := s + "
// ";
// s := s + "{3.5,7.0,10.5}";
// s := s + anyString(list(#(3.5 * r) for r guard r > 0.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]}));
// s := s + "
// ";
// s := s + "0.0";
// s := s + anyString(#(0.0));
// s := s + "
// ";
// realsArr3 := {1.0, 2.0, 3.0};
// realsArr3 := {realsArr1[1], realsArr1[2], realsArr1[3]};
// s := s + "{" + realString(realsArr3[1]) + "," + realString(realsArr3[2]) + "," + realString(realsArr3[3]) + "," + "}";
// s := s + "
// ";
// s := s + "1.0";
// s := s + anyString(#(min({realsArr1[1], realsArr1[2], realsArr1[3]})));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(max({realsArr1[1], realsArr1[2], realsArr1[3]})));
// s := s + "
// ";
// s := s + "4.5";
// s := s + anyString(#(max(1.5 * realsArr1[3], max(1.5 * realsArr1[2], 1.5 * realsArr1[1]))));
// s := s + "
// ";
// s := s + "21.0";
// s := s + anyString(#(sum(3.5 * r for r guard r > 0.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]})));
// s := s + "
// ";
// s := s + "257.25";
// s := s + anyString(#(product(3.5 * r for r guard r > 0.0 in {realsArr2[1], realsArr2[2], realsArr2[3], realsArr2[4], realsArr2[5], realsArr2[6], realsArr2[7]})));
// s := s + "
// ";
// s := s + "3.0";
// s := s + anyString(#(realMin(r for r guard r > 2.0 in {realsArr1[1], realsArr1[2], realsArr1[3]})));
// s := s + "
// ";
// sArr := s;
Expand All @@ -168,19 +168,19 @@ end ListReduction;
//
// class ListReduction
// constant String s = "
// {1.0,2.0,3.0}
// {3.0,2.0,1.0}
// {3.0,2.0,1.0}
// {1.0,2.0,3.0}
// {3.5,7.0,10.5}
// 0.0
// {1.0,2.0,3.0,}
// 1.0
// 3.0
// 4.5
// 21.0
// 257.25
// 3.0
// ";
// {1.0,2.0,3.0}
// {3.0,2.0,1.0}
// {3.0,2.0,1.0}
// {1.0,2.0,3.0}
// {3.5,7.0,10.5}
// 0.0
// {1.0,2.0,3.0,}
// 1.0
// 3.0
// 4.5
// 21.0
// 257.25
// 3.0
// ";
// end ListReduction;
// endResult

0 comments on commit 4e94bc5

Please sign in to comment.