v8  8.4.371 (node 14.15.5)
V8 is Google's open source JavaScript engine
BigInt Class Reference

#include <v8.h>

Inheritance diagram for BigInt:
Collaboration diagram for BigInt:

Public Member Functions

uint64_t Uint64Value (bool *lossless=nullptr) const
 
int64_t Int64Value (bool *lossless=nullptr) const
 
int WordCount () const
 
void ToWordsArray (int *sign_bit, int *word_count, uint64_t *words) const
 
- Public Member Functions inherited from Value
V8_INLINE bool IsUndefined () const
 
V8_INLINE bool IsNull () const
 
V8_INLINE bool IsNullOrUndefined () const
 
bool IsTrue () const
 
bool IsFalse () const
 
bool IsName () const
 
V8_INLINE bool IsString () const
 
bool IsSymbol () const
 
bool IsFunction () const
 
bool IsArray () const
 
bool IsObject () const
 
bool IsBigInt () const
 
bool IsBoolean () const
 
bool IsNumber () const
 
bool IsExternal () const
 
bool IsInt32 () const
 
bool IsUint32 () const
 
bool IsDate () const
 
bool IsArgumentsObject () const
 
bool IsBigIntObject () const
 
bool IsBooleanObject () const
 
bool IsNumberObject () const
 
bool IsStringObject () const
 
bool IsSymbolObject () const
 
bool IsNativeError () const
 
bool IsRegExp () const
 
bool IsAsyncFunction () const
 
bool IsGeneratorFunction () const
 
bool IsGeneratorObject () const
 
bool IsPromise () const
 
bool IsMap () const
 
bool IsSet () const
 
bool IsMapIterator () const
 
bool IsSetIterator () const
 
bool IsWeakMap () const
 
bool IsWeakSet () const
 
bool IsArrayBuffer () const
 
bool IsArrayBufferView () const
 
bool IsTypedArray () const
 
bool IsUint8Array () const
 
bool IsUint8ClampedArray () const
 
bool IsInt8Array () const
 
bool IsUint16Array () const
 
bool IsInt16Array () const
 
bool IsUint32Array () const
 
bool IsInt32Array () const
 
bool IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsBigInt64Array () const
 
bool IsBigUint64Array () const
 
bool IsDataView () const
 
bool IsSharedArrayBuffer () const
 
bool IsProxy () const
 
bool IsWasmModuleObject () const
 
bool IsModuleNamespaceObject () const
 
V8_WARN_UNUSED_RESULT MaybeLocal< BigIntToBigInt (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< NumberToNumber (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToDetailString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ObjectToObject (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< IntegerToInteger (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToUint32 (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Int32ToInt32 (Local< Context > context) const
 
Local< BooleanToBoolean (Isolate *isolate) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToArrayIndex (Local< Context > context) const
 
bool BooleanValue (Isolate *isolate) const
 
V8_WARN_UNUSED_RESULT Maybe< double > NumberValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int64_t > IntegerValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< uint32_t > Uint32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int32_t > Int32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< bool > Equals (Local< Context > context, Local< Value > that) const
 
bool StrictEquals (Local< Value > that) const
 
bool SameValue (Local< Value > that) const
 
Local< StringTypeOf (Isolate *)
 
Maybe< bool > InstanceOf (Local< Context > context, Local< Object > object)
 
template<class T >
ValueCast (T *value)
 

Static Public Member Functions

static Local< BigIntNew (Isolate *isolate, int64_t value)
 
static Local< BigIntNewFromUnsigned (Isolate *isolate, uint64_t value)
 
static MaybeLocal< BigIntNewFromWords (Local< Context > context, int sign_bit, int word_count, const uint64_t *words)
 
static V8_INLINE BigIntCast (v8::Value *obj)
 
- Static Public Member Functions inherited from Value
template<class T >
static V8_INLINE ValueCast (T *value)
 

Detailed Description

A JavaScript BigInt value (https://tc39.github.io/proposal-bigint)

Definition at line 3500 of file v8.h.

Member Function Documentation

◆ Cast()

BigInt * Cast ( v8::Value obj)
static

Definition at line 11570 of file v8.h.

◆ Int64Value()

int64_t Int64Value ( bool *  lossless = nullptr) const

Returns the value of this BigInt as a signed 64-bit integer. If lossless is provided, it will reflect whether this BigInt was truncated or not.

◆ New()

static Local<BigInt> New ( Isolate isolate,
int64_t  value 
)
static

◆ NewFromUnsigned()

static Local<BigInt> NewFromUnsigned ( Isolate isolate,
uint64_t  value 
)
static

◆ NewFromWords()

static MaybeLocal<BigInt> NewFromWords ( Local< Context context,
int  sign_bit,
int  word_count,
const uint64_t *  words 
)
static

Creates a new BigInt object using a specified sign bit and a specified list of digits/words. The resulting number is calculated as:

(-1)^sign_bit * (words[0] * (2^64)^0 + words[1] * (2^64)^1 + ...)

◆ ToWordsArray()

void ToWordsArray ( int *  sign_bit,
int *  word_count,
uint64_t *  words 
) const

Writes the contents of this BigInt to a specified memory location. sign_bit must be provided and will be set to 1 if this BigInt is negative. *word_count has to be initialized to the length of the words array. Upon return, it will be set to the actual number of words that would be needed to store this BigInt (i.e. the return value of WordCount()).

◆ Uint64Value()

uint64_t Uint64Value ( bool *  lossless = nullptr) const

Returns the value of this BigInt as an unsigned 64-bit integer. If lossless is provided, it will reflect whether the return value was truncated or wrapped around. In particular, it is set to false if this BigInt is negative.

◆ WordCount()

int WordCount ( ) const

Returns the number of 64-bit words needed to store the result of ToWordsArray().


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