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

#include <bigint-internal.h>

Inheritance diagram for v8::bigint::ProcessorImpl:
Collaboration diagram for v8::bigint::ProcessorImpl:

Public Member Functions

 ProcessorImpl (Platform *platform)
 
 ~ProcessorImpl ()
 
Status get_and_clear_status ()
 
void Multiply (RWDigits Z, Digits X, Digits Y)
 
void MultiplySingle (RWDigits Z, Digits X, digit_t y)
 
void MultiplySchoolbook (RWDigits Z, Digits X, Digits Y)
 
void MultiplyKaratsuba (RWDigits Z, Digits X, Digits Y)
 
void KaratsubaStart (RWDigits Z, Digits X, Digits Y, RWDigits scratch, int k)
 
void KaratsubaChunk (RWDigits Z, Digits X, Digits Y, RWDigits scratch)
 
void KaratsubaMain (RWDigits Z, Digits X, Digits Y, RWDigits scratch, int n)
 
void Divide (RWDigits Q, Digits A, Digits B)
 
void DivideSingle (RWDigits Q, digit_t *remainder, Digits A, digit_t b)
 
void DivideSchoolbook (RWDigits Q, RWDigits R, Digits A, Digits B)
 
void DivideBurnikelZiegler (RWDigits Q, RWDigits R, Digits A, Digits B)
 
void Modulo (RWDigits R, Digits A, Digits B)
 
void ToString (char *out, uint32_t *out_length, Digits X, int radix, bool sign)
 
void ToStringImpl (char *out, uint32_t *out_length, Digits X, int radix, bool sign, bool use_fast_algorithm)
 
void FromString (RWDigits Z, FromStringAccumulator *accumulator)
 
void FromStringClassic (RWDigits Z, FromStringAccumulator *accumulator)
 
void FromStringLarge (RWDigits Z, FromStringAccumulator *accumulator)
 
void FromStringBasePowerOfTwo (RWDigits Z, FromStringAccumulator *accumulator)
 
bool should_terminate ()
 
void AddWorkEstimate (uintptr_t estimate)
 
- Public Member Functions inherited from v8::bigint::Processor
void Destroy ()
 
Status Multiply (RWDigits Z, Digits X, Digits Y)
 
Status Divide (RWDigits Q, Digits A, Digits B)
 
Status Modulo (RWDigits R, Digits A, Digits B)
 
Status ToString (char *out, uint32_t *out_length, Digits X, int radix, bool sign)
 
Status FromString (RWDigits Z, FromStringAccumulator *accumulator)
 

Static Public Attributes

static const uintptr_t kWorkEstimateThreshold = 5000000
 

Private Attributes

uintptr_t work_estimate_ {0}
 
Status status_ {Status::kOk}
 
Platformplatform_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::bigint::Processor
static ProcessorNew (Platform *platform)
 
- Protected Member Functions inherited from v8::bigint::Processor
 ~Processor ()=default
 

Detailed Description

Definition at line 27 of file bigint-internal.h.

Constructor & Destructor Documentation

◆ ProcessorImpl()

v8::bigint::ProcessorImpl::ProcessorImpl ( Platform * platform)
explicit

Definition at line 19 of file bigint-internal.cc.

◆ ~ProcessorImpl()

v8::bigint::ProcessorImpl::~ProcessorImpl ( )

Definition at line 21 of file bigint-internal.cc.

Member Function Documentation

◆ AddWorkEstimate()

void v8::bigint::ProcessorImpl::AddWorkEstimate ( uintptr_t estimate)
inline

Definition at line 86 of file bigint-internal.h.

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

◆ Divide()

void v8::bigint::ProcessorImpl::Divide ( RWDigits Q,
Digits A,
Digits B )

Definition at line 52 of file bigint-internal.cc.

Here is the call graph for this function:

◆ DivideBurnikelZiegler()

void v8::bigint::ProcessorImpl::DivideBurnikelZiegler ( RWDigits Q,
RWDigits R,
Digits A,
Digits B )

Definition at line 197 of file div-burnikel.cc.

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

◆ DivideSchoolbook()

void v8::bigint::ProcessorImpl::DivideSchoolbook ( RWDigits Q,
RWDigits R,
Digits A,
Digits B )

Definition at line 94 of file div-schoolbook.cc.

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

◆ DivideSingle()

void v8::bigint::ProcessorImpl::DivideSingle ( RWDigits Q,
digit_t * remainder,
Digits A,
digit_t b )

Definition at line 29 of file div-schoolbook.cc.

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

◆ FromString()

void v8::bigint::ProcessorImpl::FromString ( RWDigits Z,
FromStringAccumulator * accumulator )

Definition at line 306 of file fromstring.cc.

Here is the call graph for this function:

◆ FromStringBasePowerOfTwo()

void v8::bigint::ProcessorImpl::FromStringBasePowerOfTwo ( RWDigits Z,
FromStringAccumulator * accumulator )

Definition at line 240 of file fromstring.cc.

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

◆ FromStringClassic()

void v8::bigint::ProcessorImpl::FromStringClassic ( RWDigits Z,
FromStringAccumulator * accumulator )

Definition at line 13 of file fromstring.cc.

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

◆ FromStringLarge()

void v8::bigint::ProcessorImpl::FromStringLarge ( RWDigits Z,
FromStringAccumulator * accumulator )

Definition at line 89 of file fromstring.cc.

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

◆ get_and_clear_status()

Status v8::bigint::ProcessorImpl::get_and_clear_status ( )

Definition at line 23 of file bigint-internal.cc.

◆ KaratsubaChunk()

void v8::bigint::ProcessorImpl::KaratsubaChunk ( RWDigits Z,
Digits X,
Digits Y,
RWDigits scratch )

Definition at line 137 of file mul-karatsuba.cc.

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

◆ KaratsubaMain()

void v8::bigint::ProcessorImpl::KaratsubaMain ( RWDigits Z,
Digits X,
Digits Y,
RWDigits scratch,
int n )

Definition at line 151 of file mul-karatsuba.cc.

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

◆ KaratsubaStart()

void v8::bigint::ProcessorImpl::KaratsubaStart ( RWDigits Z,
Digits X,
Digits Y,
RWDigits scratch,
int k )

Definition at line 103 of file mul-karatsuba.cc.

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

◆ Modulo()

void v8::bigint::ProcessorImpl::Modulo ( RWDigits R,
Digits A,
Digits B )

Definition at line 87 of file bigint-internal.cc.

Here is the call graph for this function:

◆ Multiply()

void v8::bigint::ProcessorImpl::Multiply ( RWDigits Z,
Digits X,
Digits Y )

Definition at line 36 of file bigint-internal.cc.

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

◆ MultiplyKaratsuba()

void v8::bigint::ProcessorImpl::MultiplyKaratsuba ( RWDigits Z,
Digits X,
Digits Y )

Definition at line 91 of file mul-karatsuba.cc.

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

◆ MultiplySchoolbook()

void v8::bigint::ProcessorImpl::MultiplySchoolbook ( RWDigits Z,
Digits X,
Digits Y )

Definition at line 49 of file mul-schoolbook.cc.

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

◆ MultiplySingle()

void v8::bigint::ProcessorImpl::MultiplySingle ( RWDigits Z,
Digits X,
digit_t y )

Definition at line 13 of file mul-schoolbook.cc.

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

◆ should_terminate()

bool v8::bigint::ProcessorImpl::should_terminate ( )
inline

Definition at line 77 of file bigint-internal.h.

Here is the caller graph for this function:

◆ ToString()

void v8::bigint::ProcessorImpl::ToString ( char * out,
uint32_t * out_length,
Digits X,
int radix,
bool sign )

Definition at line 558 of file tostring.cc.

Here is the call graph for this function:

◆ ToStringImpl()

void v8::bigint::ProcessorImpl::ToStringImpl ( char * out,
uint32_t * out_length,
Digits X,
int radix,
bool sign,
bool use_fast_algorithm )

Definition at line 565 of file tostring.cc.

Here is the call graph for this function:

Member Data Documentation

◆ kWorkEstimateThreshold

const uintptr_t v8::bigint::ProcessorImpl::kWorkEstimateThreshold = 5000000
static

Definition at line 84 of file bigint-internal.h.

◆ platform_

Platform* v8::bigint::ProcessorImpl::platform_
private

Definition at line 99 of file bigint-internal.h.

◆ status_

Status v8::bigint::ProcessorImpl::status_ {Status::kOk}
private

Definition at line 98 of file bigint-internal.h.

◆ work_estimate_

uintptr_t v8::bigint::ProcessorImpl::work_estimate_ {0}
private

Definition at line 97 of file bigint-internal.h.


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