swift-se0288-is-power

2.0.0

Preview package for Swift Evolution proposal SE-0288
apple/swift-se0288-is-power

What's New

2021-11-03T19:55:19Z

SE0288_IsPower

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.

Introduction

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

Usage

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.

Contributing

Contributions to this package and the standard library preview package are welcomed and encouraged!

Description

  • Swift Tools 5.1.0
View More Packages from this Author

Dependencies

  • None
Last updated: Fri Apr 26 2024 04:45:59 GMT-0900 (Hawaii-Aleutian Daylight Time)