| 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
 | | Quintiq file version 2.0 |  | #parent: #root |  | MethodOverride FindOrCreateSharedWith ( |  |   LibOpt_ScopeThin scope, |  |   LibOpt_Group group |  | ) as LibOpt_ScopeShared |  | { |  |   TextBody: |  |   [* |  |     vector := NumberVector::Construct( this.Set() ); |  |      |  |     if( vector.Size() <= scope.Index() ) |  |     { |  |       vector.Resize( scope.Index() + 1 ); |  |     } |  |     vector.Set( scope.Index(), vector.Get( scope.Index() ).BitOr( scope.Mask() ) ); |  |      |  |     group_vector := this.GroupVectorAdd( scope, group ); |  |     vector_bin := vector.AsBinaryValue(); |  |     result := LibOpt_ScopeSharedVector::FindSetVector( vector_bin, this.Type(), group_vector ); |  |     if( isnull( result ) ) |  |     { |  |       result := this.Owner().ScopeSharedOwned( relnew, |  |                                                LibOpt_ScopeSharedVector, |  |                                                Set := vector_bin, |  |                                                Type := this.Type(), |  |                                                GroupVector := group_vector |  |                                                ); |  |      |  |       this.CopyScopesTo( scope, group, result ); |  |     } |  |      |  |     return result; |  |   *] |  | } | 
 |