All Projects → kedixa → klibcpp

kedixa / klibcpp

Licence: other
kedixa's Cplusplus Library(timer, multiarray, unsigned_bigint, bigint, rational)

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to klibcpp

break infinity.js
A replacement for decimal.js for incremental games who want to deal with very large numbers (bigger in magnitude than 1e308, up to as much as 1e(9e15) ) and want to prioritize speed over accuracy.
Stars: ✭ 145 (+752.94%)
Mutual labels:  bignum, biginteger, bignumber
as-bignum
Fixed length big numbers for AssemblyScript 🚀
Stars: ✭ 49 (+188.24%)
Mutual labels:  bignum, biginteger, bigint
BigInteger
Be limited not by the size of your register but by the bulk of your RAM.
Stars: ✭ 13 (-23.53%)
Mutual labels:  biginteger, bigint, bignumber
BigNumber
A really long long long long long long number in C++
Stars: ✭ 37 (+117.65%)
Mutual labels:  biginteger, bigint, bignumber
hebimath
arbitrary precision arithmetic library
Stars: ✭ 37 (+117.65%)
Mutual labels:  bignum, bignumber
bigint
bigint is a C++ library which can handle Very very Big Integers. It can calculate factorial of 1000000... it can go any big. It may be useful in Competitive Coding and Scientific Calculations which deals with very very large Integers. It can also be used in Decryption process. It has many inbuilt functions which can be very useful.
Stars: ✭ 34 (+100%)
Mutual labels:  biginteger, bigint
BhimIntegers
BhimIntegers🚀 is a C++ library that is useful when we are dealing with BigIntegers💥💥. We can handle big integers (integers having a size bigger than the long long int data type) and we can perform arithmetic operations📘 like addition, multiplication, subtraction, division, equality check, etc📐📐. Also, there are several functions like factorial, …
Stars: ✭ 43 (+152.94%)
Mutual labels:  biginteger, bignumber
Base62
PHP Base62 encoder and decoder for integers and big integers with Laravel 5 support.
Stars: ✭ 16 (-5.88%)
Mutual labels:  biginteger, bigint
nein-math
NeinMath is playing around with arbitrary precision integers, written in pure managed code, not using any unsafe stuff, and a bit faster than the build-in .NET type for integers with a few thousand bits.
Stars: ✭ 14 (-17.65%)
Mutual labels:  biginteger, bignumber
UInt256
An UInt256 library written in Swift 4
Stars: ✭ 20 (+17.65%)
Mutual labels:  biginteger, bigint
swift-numberkit
Advanced numeric data types for Swift 5, including BigInt, Rational, and Complex numbers.
Stars: ✭ 47 (+176.47%)
Mutual labels:  biginteger, bigint
libzahl
Suckless big integer library
Stars: ✭ 24 (+41.18%)
Mutual labels:  bignum, bigint
evm-bn
Convert fixed-point numbers to ethers big numbers and vice-versa.
Stars: ✭ 33 (+94.12%)
Mutual labels:  bignumber
decimal
An arbitrary-precision decimal floating-point arithmetic package for Go
Stars: ✭ 28 (+64.71%)
Mutual labels:  bignum
biginteger
A PHP library to work with big integers.
Stars: ✭ 19 (+11.76%)
Mutual labels:  biginteger
protobuf-ts
Protobuf and RPC for TypeScript
Stars: ✭ 527 (+3000%)
Mutual labels:  bigint
vallang
Generic immutable recursive data representation API targeted at source code models and more.
Stars: ✭ 28 (+64.71%)
Mutual labels:  biginteger
DataTypes
Built-in data types
Stars: ✭ 34 (+100%)
Mutual labels:  bigint
Swift-MathEagle
A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int, big frac, big rational, graphs and general handy extensions and functions.
Stars: ✭ 41 (+141.18%)
Mutual labels:  biginteger
id-mask
IDMask is a Java library for masking internal ids (e.g. from your DB) when they need to be published to hide their actual value and to prevent forging. It has support optional randomisation has a wide support for various Java types including long, UUID and BigInteger. This library bases its security on strong cryptographic primitives.
Stars: ✭ 39 (+129.41%)
Mutual labels:  biginteger

klibcpp

klibcpp (Kedixa's Cplusplus Library)

Content

  • timer: 计时器
  • multiarray: 多维数组
  • unsigned_bigint: 无符号大整数类
  • bigint: 带符号大整数类
  • rational: 有理数类

Compile and Run

  1. 编译环境:需要带有g++(4.8或更高版本)编译器的编译环境,例如Linux、"Windows Subsystem for Linux"、MinGW、Cygwin等。

  2. 将代码克隆到本地,并将路径切换到klibcpp目录下,执行以下命令:

    make
    

该命令用于编译类库和函数库,并在lib目录下生成libklibcpp.a 和 libklibcpp.so。默认情况下,使用g++编译器来执行编译,如果系统中包含多个版本的编译器,可以借助以下方式更换编译器版本(例如g++-6):
make CXX=g++-6

  1. 代码测试:进入test文件夹,执行以下命令(第二条表示指定编译器版本的命令):
    make check
    make CXX=g++-6 check
    

即使check成功,也只能说明在有限的测试样例下代码无误,若读者发现代码中有错误或不足,欢迎指出或探讨。

  1. 应用:阅读doc目录下的说明可以发现相应类和函数的功能,查看test目录下的代码可以快速理解如何使用类和函数。
    将类和函数应用到自己的代码中,需要包含相应的头文件,并在编译指令中采用以下方式:
    g++ -std=c++11 -I klibcpp/include main.cpp klibcpp/lib/libklibcpp.a -o main.out
    

注:

  • 代码暂时仅在WSL下编译通过,MinGW的某些版本会报"to_string is not a member of std",这是MinGW的一个BUG。
  • 使用clang++ 编译器的较高版本可能会报 -Wpessimizing-move,可使用"make CXX=clang++ EXT_FLAGS=-Wno-pessimizing-move"暂时解决。

LICENSE

Apache License 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].