SE0288_IsPower is a standalone library that implements the Swift Evolution proposal
SE-0288: Adding isPower(of:)
to BinaryInteger.
You can use this package independently,
or as part of the standard library preview package.
This package adds a public API isPower(of:)
, as an extension method,
to the BinaryInteger
protocol.
It checks if an integer is a power of another.
That is, a.isPower(of: b)
checks whether there exists any integer n
such that a == pow(b, n)
is true.
import SE0288_IsPower
let x: Int = Int.random(in: 0000..<0288)
1.isPower(of: x) // 'true' since x^0 == 1
let y: UInt = 1000
y.isPower(of: 10) // 'true' since 10^3 == 1000
(-1).isPower(of: 1) // 'false'
(-32).isPower(of: -2) // 'true' since (-2)^5 == -32
You can add this library as a dependency to any Swift package.
Add this line to the dependencies
parameter in your Package.swift
file:
.package(
url: "https://github.com/apple/swift-se0288-is-power",
from: "1.0.0"),
Next, add the module as a dependency for your targets that will use the library:
.product(name: "SE0288_IsPower", package: "swift-se0288-is-power"),
You can now use import SE0288_IsPower
to make the library available in any Swift file.
Contributions to this package and the standard library preview package are welcomed and encouraged!
- For help using this package or the standard library preview package, please visit the Swift forums.
- For issues related to these packages, file a bug at bugs.swift.org.
- Changes or additions to the APIs are made through the Swift Evolution process. Please see the guide for Contributing to Swift for information.