# Unigine.Bits64 Struct (CS) > **Notice:** The functions listed below are the members of the **Unigine.MathLib** namespace. ## Bits64 Class ### Members --- ## void Clear ( ) Clears the value by setting all components/elements to 0. ## bool Contains ( Bits64 v ) ### Arguments - *Bits64* **v** ### Return value Return value. ## bool Contains ( long v ) ### Arguments - *long* **v** ### Return value Return value. ## bool Contains ( ulong v ) ### Arguments - *ulong* **v** ### Return value Return value. ## Bits64 operator~ ( Bits64 v ) Bitwise negation. Produces a bitwise complement of its operand by reversing each bit. ### Arguments - *Bits64* **v** - Value. ## Bits64 operator<< ( Bits64 v0 , int v1 ) Bitwise left shift. ### Arguments - *Bits64* **v0** - First value. - *int* **v1** - Second value. ## Bits64 operator>> ( Bits64 v0 , int v1 ) Bitwise right shift. ### Arguments - *Bits64* **v0** - First value. - *int* **v1** - Second value. ## Bits64 operator& ( Bits64 v0 , Bits64 v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *Bits64* **v0** - First value. - *Bits64* **v1** - Second value. ## Bits64 operator& ( Bits64 v0 , ulong v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *Bits64* **v0** - First value. - *ulong* **v1** - Second value. ## Bits64 operator& ( Bits64 v0 , long v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *Bits64* **v0** - First value. - *long* **v1** - Second value. ## ulong operator& ( ulong v0 , Bits64 v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *ulong* **v0** - First value. - *Bits64* **v1** - Second value. ## long operator& ( long v0 , Bits64 v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *long* **v0** - First value. - *Bits64* **v1** - Second value. ## Bits64 operator| ( Bits64 v0 , Bits64 v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *Bits64* **v0** - First value. - *Bits64* **v1** - Second value. ## Bits64 operator| ( Bits64 v0 , ulong v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *Bits64* **v0** - First value. - *ulong* **v1** - Second value. ## Bits64 operator| ( Bits64 v0 , long v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *Bits64* **v0** - First value. - *long* **v1** - Second value. ## ulong operator| ( ulong v0 , Bits64 v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *ulong* **v0** - First value. - *Bits64* **v1** - Second value. ## long operator| ( long v0 , Bits64 v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *long* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator== ( Bits64 v0 , Bits64 v1 ) Performs equal comparison. ### Arguments - *Bits64* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator== ( long v0 , Bits64 v1 ) Performs equal comparison. ### Arguments - *long* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator== ( ulong v0 , Bits64 v1 ) Performs equal comparison. ### Arguments - *ulong* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator== ( Bits64 v0 , long v1 ) Performs equal comparison. ### Arguments - *Bits64* **v0** - First value. - *long* **v1** - Second value. ## bool operator== ( Bits64 v0 , ulong v1 ) Performs equal comparison. ### Arguments - *Bits64* **v0** - First value. - *ulong* **v1** - Second value. ## bool operator!= ( Bits64 v0 , Bits64 v1 ) Not equal comparison. ### Arguments - *Bits64* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator!= ( long v0 , Bits64 v1 ) Not equal comparison. ### Arguments - *long* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator!= ( ulong v0 , Bits64 v1 ) Not equal comparison. ### Arguments - *ulong* **v0** - First value. - *Bits64* **v1** - Second value. ## bool operator!= ( Bits64 v0 , long v1 ) Not equal comparison. ### Arguments - *Bits64* **v0** - First value. - *long* **v1** - Second value. ## bool operator!= ( Bits64 v0 , ulong v1 ) Not equal comparison. ### Arguments - *Bits64* **v0** - First value. - *ulong* **v1** - Second value. ## bool operatortrue ( Bits64 v ) Returns **true** if the operand is both, not **null** and not **NaN**. ### Arguments - *Bits64* **v** - Value. ## bool operatorfalse ( Bits64 v ) Returns **true** if the operand is both, **null** and **NaN**. ### Arguments - *Bits64* **v** - Value. ## IEnumerator GetEnumerator ( ) Returns an [**IEnumerator**](https://docs.microsoft.com/dotnet/api/system.collections.ienumerator?view=net-5.0) for the object. ### Return value Return value. ## IEnumerator GetEnumerator ( ) Returns an [**IEnumerator**](https://docs.microsoft.com/dotnet/api/system.collections.ienumerator?view=net-5.0) for the object. ### Return value Return value. ## bool Equals ( Bits64 other ) Checks if the vector and the specified argument are equal (epsilon). ### Arguments - *Bits64* **other** - Value to be checked for equality. ### Return value Return value. ## bool Equals ( object obj ) Checks if the vector and the specified argument are equal (epsilon). ### Arguments - *[object](../../../../api/library/objects/class.object_cs.md)* **obj** ### Return value Return value. ## Int32 GetHashCode ( ) Returns a hash code for the current object. Serves as the default hash function. ### Return value Return value. ## string ToString ( ) Converts the current value to a *string* value. ### Return value Resulting *string* value. ## string ToString ( IFormatProvider provider ) Converts the current value to a *string* value. ### Arguments - *IFormatProvider* **provider** ### Return value Resulting *string* value. ## string ToString ( string format ) Converts the current value to a *string* value. ### Arguments - *string* **format** - String formatting to be used. A format string is composed of zero or more ordinary characters (excluding %) that are copied directly to the result string and control sequences, each of which results in fetching its own parameter. Each control sequence consists of a percent sign (%) followed by one or more of these elements, in order: - An optional number, a width specifier, that says how many characters (minimum) this conversion should result in. - An optional precision specifier that says how many decimal digits should be displayed for floating-point numbers. - A type specifier that says what type the argument data should be treated as. Possible types: - **c**: the argument is treated as an integer and presented as a character with that ASCII value. - **d** or **i**: the argument is treated as an integer and presented as a (signed) decimal number. - **o**: the argument is treated as an integer and presented as an octal number. - **u**: the argument is treated as an integer and presented as an unsigned decimal number. - **x**: the argument is treated as an integer and presented as a hexadecimal number (with lower-case letters). - **X**: the argument is treated as an integer and presented as a hexadecimal number (with upper-case letters). - **f**: the argument is treated as a float and presented as a floating-point number. - **g**: the same as e or f, the shortest one is selected. - **G**: the same as E or F, the shortest one is selected. - **e**: the argument is treated as using the scientific notation with lower-case 'e' (e.g. 1.2e+2). - **E**: the argument is treated as using the scientific notation with upper-case 'E' (e.g. 1.2E+2). - **s**: the argument is treated as and presented as a string. - **p**: the argument is treated as and presented as a pointer address. - **%**: a literal percent character. No argument is required. ### Return value Resulting *string* value. ## string ToString ( string format , IFormatProvider provider ) Converts the current value to a *string* value. ### Arguments - *string* **format** - String formatting to be used. A format string is composed of zero or more ordinary characters (excluding %) that are copied directly to the result string and control sequences, each of which results in fetching its own parameter. Each control sequence consists of a percent sign (%) followed by one or more of these elements, in order: - An optional number, a width specifier, that says how many characters (minimum) this conversion should result in. - An optional precision specifier that says how many decimal digits should be displayed for floating-point numbers. - A type specifier that says what type the argument data should be treated as. Possible types: - **c**: the argument is treated as an integer and presented as a character with that ASCII value. - **d** or **i**: the argument is treated as an integer and presented as a (signed) decimal number. - **o**: the argument is treated as an integer and presented as an octal number. - **u**: the argument is treated as an integer and presented as an unsigned decimal number. - **x**: the argument is treated as an integer and presented as a hexadecimal number (with lower-case letters). - **X**: the argument is treated as an integer and presented as a hexadecimal number (with upper-case letters). - **f**: the argument is treated as a float and presented as a floating-point number. - **g**: the same as e or f, the shortest one is selected. - **G**: the same as E or F, the shortest one is selected. - **e**: the argument is treated as using the scientific notation with lower-case 'e' (e.g. 1.2e+2). - **E**: the argument is treated as using the scientific notation with upper-case 'E' (e.g. 1.2E+2). - **s**: the argument is treated as and presented as a string. - **p**: the argument is treated as and presented as a pointer address. - **%**: a literal percent character. No argument is required. - *IFormatProvider* **provider** ### Return value Resulting *string* value.