anchor.diff:  %%%
   %%% Utilizes a two level queue and will monitor a process for communication.
   %%% In the event of communication, it will mark it as a comunication-bound
  -%%% process.
  +%%% process. This attempts to be a fairly accurate clone of CML's scheduler,
  +%%% evem dowm to the function names.
   %%%
   -module(erlam_sched_single_cml).
   -behaviour(erlam_scheduler).
  
positive.code: 
  %% @private
  %% @doc Mark the Process as Communication-bound.
  markTid( Proc ) -> Proc#process{notes=true}.
  
  %% @private
  %% @doc Mark the Process as NOT Communication-bound.
  unmarkTid( Proc ) -> Proc#process{notes=false}.
  
  %% @private
  %% @doc Is the process marked as Communication bount.
  isMarked( #process{notes=N} ) -> (N==true).
  
  %% @private
  %% @doc Set the current process. This also updates the number or reductions to
  %%   max number.
  %% @end
  setCurThread( Process, State ) ->
      {ok, State#state{curThread=Process, curReduct=?MAX_REDUCS}}.
  % No need for a getCurThread as we can unify over the state during each tick.
  
  
negative.code: 
  %% @private
  %% @doc Move the top process of the secondary queue to the primary.
  -spec promote( #state{} ) -> {ok, #state{}}.
  promote( #state{rdyQ1=Q1, rdyQ2=Q2} = State ) ->
      case queue:out( Q2 ) of
          {empty, _} -> {ok, State};
  