prime

package module
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2023 License: GPL-3.0 Imports: 2 Imported by: 1

README

golang-prime

This package provides some functions for working with prime numbers.

Go Reference Go Report Card

Example

package main

import (
	"fmt"

	prime "github.com/theTardigrade/golang-prime"
)

func main() {
	var magicNumber int64 = 3

	fmt.Println(prime.Is(magicNumber))   // true
	fmt.Println(prime.Next(magicNumber)) // 5, true
	fmt.Println(prime.Prev(magicNumber)) // 2, true

	fmt.Println("*****")

	magicNumber = 120

	fmt.Println(prime.Is(magicNumber))   // false
	fmt.Println(prime.Next(magicNumber)) // 127, true
	fmt.Println(prime.Prev(magicNumber)) // 113, true

	fmt.Println("*****")

	magicNumber = 2

	fmt.Println(prime.Is(magicNumber))   // true
	fmt.Println(prime.Next(magicNumber)) // 3, true
	fmt.Println(prime.Prev(magicNumber)) // 0, false

	fmt.Println("*****")

	magicNumber = 1_000_000_000_000

	fmt.Println(prime.Is(magicNumber))   // false
	fmt.Println(prime.Next(magicNumber)) // 1000000000001, true
	fmt.Println(prime.Prev(magicNumber)) // 999999999997, true
}

Support

If you use this package, or find any value in it, please consider donating:

ko-fi

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BigIs added in v1.2.0

func BigIs(bigN *big.Int) bool

BigIs determines whether a given number of arbitrary size is prime.

func BigIsAdditive added in v1.2.0

func BigIsAdditive(bigN *big.Int) bool

BigIsAdditive determines whether a given number of arbitrary size is additively prime. This means that the number itself must be prime and the sum of its decimal digits must also be prime.

func BigNext added in v1.2.0

func BigNext(bigN *big.Int) (bigPrime *big.Int)

BigNext returns the next prime number after a given number of arbitrary size.

func BigNextAdditive added in v1.2.0

func BigNextAdditive(bigN *big.Int) (bigAdditivePrime *big.Int)

BigNextAdditive returns the next additive prime number after a given number of arbitrary size.

func BigPrev added in v1.2.0

func BigPrev(bigN *big.Int) (bigPrime *big.Int, exists bool)

BigPrev returns the previous prime number before a given number of arbitrary size. It also returns a boolean value that is set to false if no prime number exists before the given number.

func BigPrevAdditive added in v1.2.0

func BigPrevAdditive(bigN *big.Int) (bigAdditivePrime *big.Int, exists bool)

BigPrevAdditive returns the previous additive prime number before a given number of arbitrary size. It also returns a boolean value that is set to false if no additive prime number exists before the given number.

func Is

func Is(n int64) bool

Is determines whether a given 64-bit number is prime.

func IsAdditive added in v1.2.0

func IsAdditive(n int64) bool

IsAdditive determines whether a given 64-bit number is additively prime. This means that the number itself must be prime and the sum of its decimal digits must also be prime.

func Next

func Next(n int64) (prime int64, exists bool)

Next returns the next prime number after a given 64-bit number. It also returns a boolean value that is set to false if no prime number exists after the given number (not because there is no such number in the mathematical set of integers, but rather because there is no such number that can be represented by a 64-bit integer in Go).

func NextAdditive added in v1.2.0

func NextAdditive(n int64) (additivePrime int64, exists bool)

NextAdditive returns the next additive prime number after a given 64-bit number. It also returns a boolean value that is set to false if no additive prime number exists after the given number (not because there is no such number in the mathematical set of integers, but rather because there is no such number that can be represented by a 64-bit integer in Go).

func Prev added in v1.1.0

func Prev(n int64) (prime int64, exists bool)

Prev returns the previous prime number before a given 64-bit number. It also returns a boolean value that is set to false if no prime number exists before the given number.

func PrevAdditive added in v1.2.0

func PrevAdditive(n int64) (additivePrime int64, exists bool)

Prev returns the previous additive prime number before a given 64-bit number. It also returns a boolean value that is set to false if no additive prime number exists before the given number.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL