Packages
mdex
0.11.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.5
retired
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Fast and extensible Markdown for Elixir
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/mdex/comptime_utils.ex
# https://github.com/elixir-explorer/explorer/blob/d11216282bbdb0dcaef2519c2bfefda46c2981e0/lib/explorer/comptime_utils.ex
defmodule MDEx.ComptimeUtils do
@moduledoc false
def cpu_with_all_caps?(needed_flags, opts \\ []) do
opts = Keyword.validate!(opts, cpu_info_file_path: "/proc/cpuinfo", target: nil)
case File.read(opts[:cpu_info_file_path]) do
{:ok, contents} ->
flags =
contents
|> String.split("\n")
|> Stream.filter(&String.starts_with?(&1, "flags"))
|> Stream.map(fn line ->
[_, flags] = String.split(line, ": ")
String.split(flags)
end)
|> Stream.uniq()
|> Enum.to_list()
|> List.flatten()
Enum.all?(needed_flags, fn flag -> flag in flags end)
{:error, _} ->
false
end
end
end