Anonymous user
Verify distribution uniformity/Naive: Difference between revisions
Verify distribution uniformity/Naive (view source)
Revision as of 19:15, 13 September 2016
, 7 years ago→{{header|Elixir}}: change Dict(deprecated) -> Map
m (→{{header|REXX}}: added highlighting.) |
(→{{header|Elixir}}: change Dict(deprecated) -> Map) |
||
Line 366:
{{trans|Erlang}}
<lang elixir>defmodule VerifyDistribution do
def naive( generator, times, delta_percent
dict = Enum.reduce( List.duplicate(generator, times), Map.new,
values =
average = Enum.sum( values ) /
delta = average * (delta_percent / 100)
fun = fn {_key, value} -> abs(value - average) > delta end
too_large_dict = Enum.filter( dict, fun )
return(
end
def return( 0, _too_large_dict, _average, _delta ), do: :ok
def return( _n, too_large_dict, average, delta ) do
{:error, {
end
def update_counter( fun, dict ), do:
end
fun = fn -> Dice.dice7 end
IO.inspect VerifyDistribution.naive( fun, 100000, 3 )
|