1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method GetDurationValuesOnTypeLevel () const declarative as owning Reals 
 |  { 
 |    Description: 'Get the set of duration-related values to be used in the `CalcValuesAsRealVector` function of this `LibOpt_StatisticTimeTotal` with `IsType` = `true`.' 
 |    TextBody: 
 |    [* 
 |      values := construct( Reals ); 
 |       
 |      iterations := selectsortedset( this, Run.Iteration, iteration, 
 |                                     // FILTER 
 |                                     true, 
 |                                     // SORTING 
 |                                     iteration.IterationNr() 
 |                                   ); 
 |       
 |      if( this.IsAbsolute() ) 
 |      { 
 |        values := selectvalues( iterations, Elements, iteration, 
 |                                // FILTER 
 |                                true, 
 |                                // VALUE 
 |                                sum( iteration, IterationPartNM.IterationPart.SnapshotComponent, sc, 
 |                                     // FILTER 
 |                                     sc.Component().ComponentType() = this.ComponentType(), 
 |                                     // VALUE 
 |                                     sc.Duration().MinutesAsReal() * 60 
 |                                   ) 
 |                              ); 
 |      } 
 |      else 
 |      { 
 |        values := selectvalues( iterations, Elements, iteration, 
 |                                // FILTER 
 |                                true, 
 |                                // VALUE 
 |                                this.DivPercentage( sum( iteration, IterationPartNM.IterationPart.SnapshotComponent, sc, 
 |                                                         // FILTER 
 |                                                         sc.Component().ComponentType() = this.ComponentType(), 
 |                                                         // VALUE 
 |                                                         sc.Duration() 
 |                                                       ), 
 |                                                    iteration.Duration() 
 |                                                  ) 
 |                              ); 
 |      } 
 |       
 |      return &values; 
 |    *] 
 |    InterfaceProperties { Accessibility: 'Module' } 
 |  } 
 |  
  |