Bignumber-billjeff - C++ Based Number Class

  •        0

IntroductionThis is a C++ based big number class. I host this project just for fun. There are some powerful libs for high precision arithmetic operations such as GMP. I hope to improve my coding ability through this project. LogJan/8/2008 - Update wiki page. Jan/16/2008 - BigInt Class, write the souce code for ctr for arguments such as string/C-string/int etc and test the code. Jan/29/2008 - Implement add/minus function for int( class BigInt ). Jan/31/2008 - Implement and debug for add operation. Feb/8/2008 - Implement memory model for bigint class. Feb/10/2008 - Implement power(m, n) function, solve several bugs, upload source codes to svn repository in trunk directory. Feb/19/2008 - Implement factorial(n) function. Solve several bugs including bugs in pdivide function. Feb/21/2008 - Debug operator %, find some bugs in pminus() function and solve them. Feb/22/2008 - BigReal ctors implementation and debug. Feb/23/2008 - BigReal constructor function implement. Mar/3/2008 - BigReal ctor debug, test several test cases for BigReal. Mar/4/2008 - BigReal debug, finish debuging ctors. Implement copy ctor. Mar/6/2008 - Implement BigReal's ctor for BigInt and vice versa; Implement operator>> for BigReal; Implement operator= for BigReal. Mar/11/2008 - Implement member function swap for BigReal and BigInt; Implement swap function in func.h; Implement pcomp, ==, !=, >=, >, <=, < . Mar/12/2008 - Debug: ==, !=, >=, >, <=, < and pcomp. Mar/25/2008 - BigReal::Add() implement. Mar/26/2008 - BigReal::add() implement and debug. Mar/27/2008 - BigReal::add() debug. April/1/2008 - BigReal::add() debug, finish positive add positive and negative add negative function debug. April/2/2008 - Implement pminus() and finish implement add() function. April/10/2008 - Implement minus() and test it. April/13/2008 - Implement BigReal::multiply() and test it. April/15/2008 - Implement BigReal and BigInt's divide function. April/22/2008 - Implement BigReal's divide function, debug BigInt and BigReal's divide function. May/6/2008 - Debug BigReal::Divide, BigInt::Divide, BigReal::resultAdjust. May/8/2008 - Finish debugging about BigReal::divide. Add several overloaded functions in func.h and func.cpp files. May/12/2008 - Implement sqrt and abs function in func.cpp May/13/2008 - Solve bugs in BigReal::pcomp, sqrt for BigInt. May/14/2008 - Implement billjeff::sqrt for BigReal and finish debug it. Debug billjeff::abs template function. Implement operator% for BigInt and test it. May/20/2008 - Impelment isPrime() in func.cpp and debug it. May/24/2008 - Add keyword explicit to BigInt and BigReals' ctors which are used to construct BigReal and BigInt's object from other types such as int/string etc. And finish debug T18 in test_bigreal.cpp. Add overloaded function in func.h for comparison and math operations. See svn diff for more details. May/26/2008 - Implement and debug fib(BigInt) and fib(int) in func.cpp. May/27/2008 - Implement gcd and lcm in func.h, and debug them. May/28/2008 - Finish Implement functions specified in func.h. Add try...catch block to new and delete statements. May/29/2008 - Improve power function using binary way. Release the version 1.0 of BigNumber. Current WorkTo implement sqr, sqrt, log, pi calculation, isprime, nextPrime, gcd, lcm, fibnacci, abs, bit, random, math related functions. To implement XML-RPC supported server program. TODOMulti-thread support. Reference some functions from other libs. Limit the value of mem ;



Related Projects

Boost - CPP Library

Boost provides free peer-reviewed portable C++ source libraries. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. It supports String, Containers, Streams, Generic programming, Concurrent programming, Math, Memory and lot more.

JSONCPP - A C++ library for interacting with JSON

JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files.


JsonRpc-Cpp is an OpenSource implementation of JSON-RPC protocol in C++. JSON-RPC is a lightweight remote procedure call protocol similar to XML-RPC.


PhatStudio is a Visual Studio plugin which lets you quickly navigate to any file in your project in just a few keystrokes, even for very large projects. It also includes a header flip/switch to related file feature, bound to Alt+S by default. Header flip will switch between a .cpp file and corresponding .h/.hpp file. It will also switch between other related file types, such as aspx/aspx.cs and ascx/ascx.cs.


C++ unit testing framework, very cutdown compared to CppUnit but very simple and implemented entirely using header files.


An inversion of control mechanism for C++. cpp-resolver takes advantage of the strengths of C++ to check the resolution of dependencies at link time, while promoting proper separation of concerns.


CppTest is a portable and powerful, yet simple, unit testing framework for handling automated tests in C++. The focus lies on usability and extendability. Several output formats are supported and new ones are easily added.

XML CppDom

A C++ based XML loader and writer with an internal DOM representation. It is very lightweight and high-performance. The goal of this project is to provide a lightweight C++ interface for XML programming that is similar in API and functionality to JDOM.

CppUTest (Moved!)

This project has been moved to github. Please check the current project page at: ---------------------------------------------------------- CppUTest is a unit testing framework. Its main goal is to provide a simple unit testing framework that can also work well with embedded systems. It also provides support for working with C.