Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InitOrderIndexState()

void System.Linq.Parallel.TakeOrSkipWhileQueryOperator< TResult >.InitOrderIndexState ( )
inlineprivate

Definition at line 173 of file TakeOrSkipWhileQueryOperator.cs.

174 {
175 OrdinalIndexState state = OrdinalIndexState.Increasing;
176 OrdinalIndexState ordinalIndexState = base.Child.OrdinalIndexState;
177 if (_indexedPredicate != null)
178 {
179 state = OrdinalIndexState.Correct;
180 _limitsParallelism = ordinalIndexState == OrdinalIndexState.Increasing;
181 }
182 OrdinalIndexState ordinalIndexState2 = ordinalIndexState.Worse(OrdinalIndexState.Correct);
183 if (ordinalIndexState2.IsWorseThan(state))
184 {
185 _prematureMerge = true;
186 }
187 if (!_take)
188 {
189 ordinalIndexState2 = ordinalIndexState2.Worse(OrdinalIndexState.Increasing);
190 }
192 }

References System.Linq.Parallel.TakeOrSkipWhileQueryOperator< TResult >._indexedPredicate, System.Linq.Parallel.TakeOrSkipWhileQueryOperator< TResult >._limitsParallelism, System.Linq.Parallel.TakeOrSkipWhileQueryOperator< TResult >._prematureMerge, System.Linq.Parallel.TakeOrSkipWhileQueryOperator< TResult >._take, System.Linq.Parallel.UnaryQueryOperator< TResult, TResult >.SetOrdinalIndexState(), and System.state.

Referenced by System.Linq.Parallel.TakeOrSkipWhileQueryOperator< TResult >.TakeOrSkipWhileQueryOperator().