AALanguage
The best language for those who have nothing to do
Loading...
Searching...
No Matches
large Class Reference

A class for AALanguage variables of type large that implement long arithmetic. More...

#include <Large.h>

Public Member Functions

 large ()
 Default constructor, absolute number value is set to 0.
 
 large (std::string str)
 Constructor from a string representation of a number.
 
 large (long long value)
 Constructor from a long long equivalent of a number.
 
largeoperator+= (const large &value)
 
largeoperator-= (const large &value)
 
largeoperator*= (const large &value)
 
largeoperator/= (const large &value)
 
largeoperator%= (const large &value)
 
large operator++ (::int32_t d)
 
large operator-- (::int32_t d)
 
largeoperator++ ()
 
largeoperator-- ()
 
large operator- ()
 
bool operator== (large val)
 
bool operator!= (large val)
 
bool operator<= (large val)
 
bool operator>= (large val)
 
bool operator> (large val)
 
bool operator< (large val)
 
large operator+ (large val)
 A plus operation that uses columnar addition.
 
large operator- (large val)
 A minus operation that uses subtraction in a column.
 
large operator* (large val)
 A multiplication operation that uses column multiplication.
 
large operator/ (long long val)
 An operation of division by long long long using a columnar calculation.
 
large operator/ (large val)
 An operation of integer division by a large number. Uses the binary search algorithm and multiplication to check for equality. O(logN) asymptotics.
 
large operator% (large val)
 
std::string ToString ()
 Converting a large number into a string.
 

Private Types

enum  Sign { Plus , Minus }
 

Private Member Functions

std::string GetNum ()
 
large pow (large val)
 

Private Attributes

std::string num
 
Sign sign
 

Detailed Description

A class for AALanguage variables of type large that implement long arithmetic.

Definition at line 9 of file Large.h.

Member Enumeration Documentation

◆ Sign

enum large::Sign
private
Enumerator
Plus 
Minus 

Definition at line 59 of file Large.h.

Constructor & Destructor Documentation

◆ large() [1/3]

large::large ( )

Default constructor, absolute number value is set to 0.

Definition at line 3 of file Large.cpp.

References num, Plus, and sign.

Referenced by operator%(), operator*(), operator+(), operator++(), operator++(), operator-(), operator-(), operator--(), operator--(), operator/(), and operator/().

◆ large() [2/3]

large::large ( std::string str)

Constructor from a string representation of a number.

Parameters
strA string containing a number in simplified mathematical form

Definition at line 7 of file Large.cpp.

References Minus, num, Plus, and sign.

◆ large() [3/3]

large::large ( long long value)

Constructor from a long long equivalent of a number.

Parameters
valueA long long number equivalent

Definition at line 19 of file Large.cpp.

References Minus, num, Plus, and sign.

Member Function Documentation

◆ GetNum()

std::string large::GetNum ( )
private

Definition at line 25 of file Large.cpp.

References num.

Referenced by operator%(), operator*(), operator+(), operator-(), operator/(), operator<(), and operator==().

◆ operator!=()

bool large::operator!= ( large val)

Definition at line 66 of file Large.cpp.

◆ operator%()

large large::operator% ( large val)

Definition at line 214 of file Large.cpp.

References GetNum(), large(), num, and sign.

◆ operator%=()

large & large::operator%= ( const large & value)

Definition at line 40 of file Large.cpp.

◆ operator*()

large large::operator* ( large val)

A multiplication operation that uses column multiplication.

Definition at line 146 of file Large.cpp.

References GetNum(), large(), num, and sign.

◆ operator*=()

large & large::operator*= ( const large & value)

Definition at line 34 of file Large.cpp.

◆ operator+()

large large::operator+ ( large val)

A plus operation that uses columnar addition.

Definition at line 92 of file Large.cpp.

References GetNum(), large(), Minus, num, Plus, and sign.

◆ operator++() [1/2]

large & large::operator++ ( )

Definition at line 53 of file Large.cpp.

References large().

◆ operator++() [2/2]

large large::operator++ ( ::int32_t d)

Definition at line 43 of file Large.cpp.

References large().

◆ operator+=()

large & large::operator+= ( const large & value)

Definition at line 28 of file Large.cpp.

◆ operator-() [1/2]

large large::operator- ( )

Definition at line 59 of file Large.cpp.

References large().

◆ operator-() [2/2]

large large::operator- ( large val)

A minus operation that uses subtraction in a column.

Definition at line 116 of file Large.cpp.

References GetNum(), large(), Minus, num, Plus, and sign.

◆ operator--() [1/2]

large & large::operator-- ( )

Definition at line 56 of file Large.cpp.

References large().

◆ operator--() [2/2]

large large::operator-- ( ::int32_t d)

Definition at line 48 of file Large.cpp.

References large().

◆ operator-=()

large & large::operator-= ( const large & value)

Definition at line 31 of file Large.cpp.

◆ operator/() [1/2]

large large::operator/ ( large val)

An operation of integer division by a large number. Uses the binary search algorithm and multiplication to check for equality. O(logN) asymptotics.

Definition at line 199 of file Large.cpp.

References GetNum(), large(), num, and sign.

◆ operator/() [2/2]

large large::operator/ ( long long val)

An operation of division by long long long using a columnar calculation.

Definition at line 167 of file Large.cpp.

References large(), num, Plus, and sign.

◆ operator/=()

large & large::operator/= ( const large & value)

Definition at line 37 of file Large.cpp.

◆ operator<()

bool large::operator< ( large val)

Definition at line 78 of file Large.cpp.

References GetNum(), Minus, num, and sign.

◆ operator<=()

bool large::operator<= ( large val)

Definition at line 69 of file Large.cpp.

◆ operator==()

bool large::operator== ( large val)

Definition at line 62 of file Large.cpp.

References GetNum(), and num.

◆ operator>()

bool large::operator> ( large val)

Definition at line 75 of file Large.cpp.

◆ operator>=()

bool large::operator>= ( large val)

Definition at line 72 of file Large.cpp.

◆ pow()

large large::pow ( large val)
private

Definition at line 223 of file Large.cpp.

References num.

◆ ToString()

std::string large::ToString ( )

Converting a large number into a string.

Returns
String representation.

Definition at line 220 of file Large.cpp.

References Minus, num, and sign.

Member Data Documentation

◆ num

std::string large::num
private

◆ sign

Sign large::sign
private

The documentation for this class was generated from the following files: