anchor.diff:  
   
   
  +%% @doc Return the smallest integral value not less than the argument.
   -spec ceiling(float()) -> integer().
  -%% @doc Return the smallest integral value not less than the argument.
   ceiling(X) ->
       T = erlang:trunc(X),
       case (X - T) of
  
positive.code:     end.
  
  
  -spec parse_option_assigned_arg([option_spec()], [option()], [string()], integer(),
                                  [string()], string(), string(), string()) ->
            {ok, {[option()], [string()]}} | {error, {Reason :: atom(), Data:: any()}}.
  %% @doc Parse an option where the argument is 'assigned' in the same string using
  %%      the '=' character, add it to the option accumulator and continue parsing the
  %%      rest of the arguments recursively. This syntax is only valid for long options.
  parse_option_assigned_arg(OptSpecList, OptAcc, ArgAcc, ArgPos, Args, OptStr, Long, Arg) ->
      case lists:keysearch(Long, ?OPT_LONG, OptSpecList) of
          {value, {_Name, _Short, Long, ArgSpec, _Help} = OptSpec} ->
  
negative.code:     OptAcc.
  
  
  -spec convert_option_no_arg(option_spec()) -> compound_option().
  convert_option_no_arg({Name, _Short, _Long, ArgSpec, _Help}) ->
      case ArgSpec of
          % Special case for booleans: if there is no argument we assume
  