Skip to content

Commit 1ca7c7a

Browse files
author
José Valim
committed
Use :lists.member as it uses === and not ==
1 parent 3f71c03 commit 1ca7c7a

File tree

2 files changed

+6
-15
lines changed

2 files changed

+6
-15
lines changed

lib/elixir/lib/hash_set.ex

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ defmodule HashSet do
3838
import Bitwise
3939

4040
@compile :inline_list_funcs
41-
@compile { :inline, bucket_hash: 1, bucket_index: 1, bucket_nth_index: 2,
42-
bucket_next: 1, bucket_member?: 2 }
41+
@compile { :inline, bucket_hash: 1, bucket_index: 1, bucket_nth_index: 2, bucket_next: 1 }
4342

4443
@doc """
4544
Creates a new empty set.
@@ -189,11 +188,11 @@ defmodule HashSet do
189188
end
190189

191190
defp set_member?(ordered(bucket: bucket), member) do
192-
bucket_member?(member, bucket)
191+
:lists.member(member, bucket)
193192
end
194193

195194
defp set_member?(trie(root: root, depth: depth), member) do
196-
bucket_member?(member, node_bucket(root, depth, bucket_hash(member)))
195+
:lists.member(member, node_bucket(root, depth, bucket_hash(member)))
197196
end
198197

199198
defp set_delete(ordered(bucket: bucket, size: size) = set, member) do
@@ -261,10 +260,6 @@ defmodule HashSet do
261260

262261
## Bucket helpers
263262

264-
defp bucket_member?(k, [k|_]), do: true
265-
defp bucket_member?(k, [_|t]), do: bucket_member?(k, t)
266-
defp bucket_member?(_k, []), do: false
267-
268263
defp bucket_filter([e|bucket], fun, acc, count) do
269264
case fun.(e) do
270265
true -> bucket_filter(bucket, fun, [e|acc], count)

lib/elixir/lib/list_dict.ex

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ defmodule ListDict do
9494
acc = { [], [] }
9595

9696
{take, drop} = Enum.reduce dict, acc, fn({ k, v }, { take, drop }) ->
97-
if any_key?(k, keys) do
97+
if :lists.member(k, keys) do
9898
{ [{k, v}|take], drop }
9999
else
100100
{ take, [{k, v}|drop] }
@@ -105,11 +105,11 @@ defmodule ListDict do
105105
end
106106

107107
def take(dict, keys) do
108-
lc { k, _ } = tuple inlist dict, any_key?(k, keys), do: tuple
108+
lc { k, _ } = tuple inlist dict, :lists.member(k, keys), do: tuple
109109
end
110110

111111
def drop(dict, keys) do
112-
lc { k, _ } = tuple inlist dict, not any_key?(k, keys), do: tuple
112+
lc { k, _ } = tuple inlist dict, not :lists.member(k, keys), do: tuple
113113
end
114114

115115
def update!([{key, value}|dict], key, fun) do
@@ -143,8 +143,4 @@ defmodule ListDict do
143143
end
144144

145145
def to_list(dict), do: dict
146-
147-
defp any_key?(k, [k|_]), do: true
148-
defp any_key?(k, [_|t]), do: any_key?(k, t)
149-
defp any_key?(_k, []), do: false
150146
end

0 commit comments

Comments
 (0)