v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::bigint::FromStringAccumulator Class Reference

#include <bigint.h>

Collaboration diagram for v8::bigint::FromStringAccumulator:

Public Types

enum class  Result { kOk , kMaxSizeExceeded }
 

Public Member Functions

 FromStringAccumulator (int max_digits)
 
template<class CharIt >
ALWAYS_INLINE CharIt Parse (CharIt start, CharIt end, digit_t radix)
 
Result result ()
 
int ResultLength ()
 
template<class CharIt >
CharIt ParsePowerTwo (CharIt current, CharIt end, digit_t radix)
 
template<class CharIt >
CharIt Parse (CharIt start, CharIt end, digit_t radix)
 

Private Member Functions

template<class CharIt >
ALWAYS_INLINE CharIt ParsePowerTwo (CharIt start, CharIt end, digit_t radix)
 
ALWAYS_INLINE bool AddPart (digit_t multiplier, digit_t part, bool is_last)
 
ALWAYS_INLINE bool AddPart (digit_t part)
 

Private Attributes

digit_t stack_parts_ [kStackParts]
 
std::vector< digit_theap_parts_
 
digit_t max_multiplier_ {0}
 
digit_t last_multiplier_
 
const int max_digits_
 
Result result_ {Result::kOk}
 
int stack_parts_used_ {0}
 
bool inline_everything_ {false}
 
uint8_t radix_ {0}
 

Friends

class ProcessorImpl
 

Detailed Description

Definition at line 389 of file bigint.h.

Member Enumeration Documentation

◆ Result

Enumerator
kOk 
kMaxSizeExceeded 

Definition at line 391 of file bigint.h.

Constructor & Destructor Documentation

◆ FromStringAccumulator()

v8::bigint::FromStringAccumulator::FromStringAccumulator ( int max_digits)
inlineexplicit

Definition at line 402 of file bigint.h.

Member Function Documentation

◆ AddPart() [1/2]

bool v8::bigint::FromStringAccumulator::AddPart ( digit_t multiplier,
digit_t part,
bool is_last )
private

Definition at line 564 of file bigint.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddPart() [2/2]

bool v8::bigint::FromStringAccumulator::AddPart ( digit_t part)
private

Definition at line 596 of file bigint.h.

◆ Parse() [1/2]

template<class CharIt >
ALWAYS_INLINE CharIt v8::bigint::FromStringAccumulator::Parse ( CharIt start,
CharIt end,
digit_t radix )
Here is the caller graph for this function:

◆ Parse() [2/2]

template<class CharIt >
CharIt v8::bigint::FromStringAccumulator::Parse ( CharIt start,
CharIt end,
digit_t radix )

Definition at line 515 of file bigint.h.

Here is the call graph for this function:

◆ ParsePowerTwo() [1/2]

template<class CharIt >
CharIt v8::bigint::FromStringAccumulator::ParsePowerTwo ( CharIt current,
CharIt end,
digit_t radix )

Definition at line 479 of file bigint.h.

Here is the call graph for this function:

◆ ParsePowerTwo() [2/2]

template<class CharIt >
ALWAYS_INLINE CharIt v8::bigint::FromStringAccumulator::ParsePowerTwo ( CharIt start,
CharIt end,
digit_t radix )
private
Here is the caller graph for this function:

◆ result()

Result v8::bigint::FromStringAccumulator::result ( )
inline

Definition at line 416 of file bigint.h.

Here is the caller graph for this function:

◆ ResultLength()

int v8::bigint::FromStringAccumulator::ResultLength ( )
inline

Definition at line 417 of file bigint.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ ProcessorImpl

friend class ProcessorImpl
friend

Definition at line 425 of file bigint.h.

Member Data Documentation

◆ heap_parts_

std::vector<digit_t> v8::bigint::FromStringAccumulator::heap_parts_
private

Definition at line 434 of file bigint.h.

◆ inline_everything_

bool v8::bigint::FromStringAccumulator::inline_everything_ {false}
private

Definition at line 440 of file bigint.h.

◆ last_multiplier_

digit_t v8::bigint::FromStringAccumulator::last_multiplier_
private

Definition at line 436 of file bigint.h.

◆ max_digits_

const int v8::bigint::FromStringAccumulator::max_digits_
private

Definition at line 437 of file bigint.h.

◆ max_multiplier_

digit_t v8::bigint::FromStringAccumulator::max_multiplier_ {0}
private

Definition at line 435 of file bigint.h.

◆ radix_

uint8_t v8::bigint::FromStringAccumulator::radix_ {0}
private

Definition at line 441 of file bigint.h.

◆ result_

Result v8::bigint::FromStringAccumulator::result_ {Result::kOk}
private

Definition at line 438 of file bigint.h.

◆ stack_parts_

digit_t v8::bigint::FromStringAccumulator::stack_parts_[kStackParts]
private

Definition at line 433 of file bigint.h.

◆ stack_parts_used_

int v8::bigint::FromStringAccumulator::stack_parts_used_ {0}
private

Definition at line 439 of file bigint.h.


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