anchor.diff:    end.
   
   format(NK,V,V0) ->
  -  {lists:reverse(NK),V0/1024/1024,V/1024/1024,divide(V,V0)}.
  +  {lists:reverse(NK),V0,V,divide(V,V0)}.
   
   divide(_V,0) -> 1.0;
   divide(V,V0) -> V/V0.
  
positive.code:       getallocdata())).
  
  calls() ->
    io:fwrite("~-20w~11w~11w~11w~11w~n",[allocator,alloc,dealloc,free,realloc]),
    lists:foreach(
      fun(L)->io:fwrite("~-20w~11w~11w~11w~11w~n",L)end,
      lists:foldl(
        fun({[X,alloc]  ,A},             T)  -> [[X,A,0,0,0]|T];
           ({[X,dealloc],D},[[X,A,0,0,0]|T]) -> [[X,A,D,0,0]|T];
           ({[X,free]   ,F},[[X,A,D,0,0]|T]) -> [[X,A,D,F,0]|T];
           ({[X,realloc],R},[[X,A,D,F,0]|T]) -> [[X,A,D,F,R]|T]
        end,
        [],
        lists:sort(aggregate([allocator,info],[calls])))).
  
  allocs() ->
    allocs(allocd).
  
negative.code:    ," They print sorted and formatted info from aggregate/2."
     ,""
     ,"calls/0 -> ok"
     ," prints the number of calls to the various alloc functions."
     ," there are 4 calls; allocate, deallocate, reallocate and free,"
     ," and three flavours; mseg (memory mmapped), sys (system malloc),"
     ," and allocator specific."
     ,""
     ,"allocs(SortColumn,TagsToKeep) -> ok"
     ,"allocs(SortColumn) -> allocs(SortColumn,[allocator,group])"
     ,"allocs() -> allocs(allocd,[allocator,group])"
  