{"id":14110985,"name":"github.com/client9/big","ecosystem":"go","description":"Package byteorder provides functions for decoding and encoding\nlittle and big endian integer types from/to byte slices.\n\nPackage big implements arbitrary-precision arithmetic (big numbers).\nThe following numeric types are supported:\n\nThe zero value for an Int, Rat, or Float correspond to 0. Thus, new\nvalues can be declared in the usual ways and denote 0 without further\ninitialization:\n\nAlternatively, new values can be allocated and initialized with factory\nfunctions of the form:\n\nFor instance, NewInt(x) returns an *Int set to the value of the int64\nargument x, NewRat(a, b) returns a *Rat set to the fraction a/b where\na and b are int64 values, and NewFloat(f) returns a *Float initialized\nto the float64 argument f. More flexibility is provided with explicit\nsetters, for instance:\n\nSetters, numeric operations and predicates are represented as methods of\nthe form:\n\nwith T one of Int, Rat, or Float. For unary and binary operations, the\nresult is the receiver (usually named z in that case; see below); if it\nis one of the operands x or y it may be safely overwritten (and its memory\nreused).\n\nArithmetic expressions are typically written as a sequence of individual\nmethod calls, with each call corresponding to an operation. The receiver\ndenotes the result and the method arguments are the operation's operands.\nFor instance, given three *Int values a, b and c, the invocation\n\ncomputes the sum a + b and stores the result in c, overwriting whatever\nvalue was held in c before. Unless specified otherwise, operations permit\naliasing of parameters, so it is perfectly ok to write\n\nto accumulate values x in a sum.\n\n(By always passing in a result value via the receiver, memory use can be\nmuch better controlled. Instead of having to allocate new memory for each\nresult, an operation can reuse the space allocated for the result value,\nand overwrite that value with the new result in the process.)\n\nNotational convention: Incoming method parameters (including the receiver)\nare named consistently in the API to clarify their use. Incoming operands\nare usually named x, y, a, b, and so on, but never z. A parameter specifying\nthe result is named z (typically the receiver).\n\nFor instance, the arguments for (*Int).Add are named x and y, and because\nthe receiver specifies the result destination, it is called z:\n\nMethods of this form typically return the incoming receiver as well, to\nenable simple call chaining.\n\nMethods which don't require a result value to be passed in (for instance,\nInt.Sign), simply return the result. In this case, the receiver is typically\nthe first operand, named x:\n\nVarious methods support conversions between strings and corresponding\nnumeric values, and vice versa: *Int, *Rat, and *Float values implement\nthe Stringer interface for a (default) string representation of the value,\nbut also provide SetString methods to initialize a value from a string in\na variety of supported formats (see the respective SetString documentation).\n\nFinally, *Int, *Rat, and *Float satisfy fmt.Scanner for scanning\nand (except for *Rat) the Formatter interface for formatted printing.\n\nThis example demonstrates how to use big.Rat to compute the\nfirst 15 terms in the sequence of rational convergents for\nthe constant e (base of natural logarithm).\n\n\nThis example demonstrates how to use big.Int to compute the smallest\nFibonacci number with 100 decimal digits and to test whether it is prime.\n\n\nThis example shows how to use big.Float to compute the square root of 2 with\na precision of 200 bits, and how to print the result as a decimal number.","homepage":"https://github.com/client9/big","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/client9/big","keywords_array":[],"namespace":"github.com/client9","versions_count":0,"first_release_published_at":null,"latest_release_published_at":"2026-03-24T12:56:37.501Z","latest_release_number":null,"last_synced_at":"2026-04-25T02:47:31.345Z","created_at":"2026-03-24T12:56:33.477Z","updated_at":"2026-04-25T02:47:31.345Z","registry_url":"https://pkg.go.dev/github.com/client9/big","install_command":"go get github.com/client9/big","documentation_url":"https://pkg.go.dev/github.com/client9/big#section-documentation","metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-24T14:58:55.182Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.213845423458525,"dependent_packages_count":4.8854191443486705,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.049632283903598},"purl":"pkg:golang/github.com/client9/big","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/client9/big","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/client9/big","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/client9/big/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fclient9%2Fbig/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fclient9%2Fbig/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fclient9%2Fbig/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fclient9%2Fbig/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fclient9%2Fbig/codemeta","maintainers":[]}