integerOps.cpp File Reference

#include "incls/_precompiled.incl"
#include "incls/_integerOps.cpp.incl"

Include dependency graph for integerOps.cpp:

Go to the source code of this file.

Functions

static void missing_code_for (char *s)
static int exponent (double x)
static int length_in_bits (Digit x)
static void shift_left (Digit d[], int length, int shift_count)
static void shift_right (Digit d[], int length, int shift_count)
static void check (bool p, char *s)
static void factorial (int n)
static void unfactorial (int n)
static void convert_to_double (int n)
static void convert_to_integer (double x)
static void convert_from_string (char *s)
void integerOps_init ()

Variables

static const int maxD = 36
static const int logB = sizeof(Digit)*8
static const Digit hlfB = 0x80000000
static const Digit oneB = 0xFFFFFFFF
const int sign_length = 1
const int exponent_length = 11
const int mantissa_length = 52
const int double_length = 64
const int exponent_bias = 1023
const int max_exponent = 2046


Function Documentation

static void check ( bool  p,
char *  s 
) [inline, static]

Definition at line 965 of file integerOps.cpp.

References fatal.

Referenced by IntegerOps::self_test().

static void convert_from_string ( char *  s  )  [static]

Definition at line 1025 of file integerOps.cpp.

References outputStream::cr(), Integer::print(), outputStream::print(), std, and IntegerOps::string_to_Integer().

Referenced by IntegerOps::self_test().

Here is the call graph for this function:

static void convert_to_double ( int  n  )  [static]

Definition at line 1008 of file integerOps.cpp.

References Integer::as_double(), IntegerOps::int_to_Integer(), outputStream::print_cr(), and std.

Referenced by IntegerOps::self_test().

Here is the call graph for this function:

static void convert_to_integer ( double  x  )  [static]

Definition at line 1016 of file integerOps.cpp.

References outputStream::cr(), IntegerOps::double_to_Integer(), Integer::print(), outputStream::print(), and std.

Referenced by IntegerOps::self_test().

Here is the call graph for this function:

static int exponent ( double  x  )  [inline, static]

Definition at line 55 of file integerOps.cpp.

References double_length, exponent_bias, exponent_length, logB, and sign_length.

Referenced by Integer::as_double(), IntegerOps::double_to_Integer(), and IntegerOps::double_to_Integer_result_size_in_bytes().

static void factorial ( int  n  )  [static]

Definition at line 970 of file integerOps.cpp.

References assert, IntegerOps::copy(), outputStream::cr(), IntegerOps::int_to_Integer(), IntegerOps::mul(), Integer::print(), outputStream::print(), and std.

Referenced by IntegerOps::self_test().

Here is the call graph for this function:

void integerOps_init (  ) 

Definition at line 1125 of file integerOps.cpp.

static int length_in_bits ( Digit  x  )  [static]

Definition at line 64 of file integerOps.cpp.

Referenced by IntegerOps::double_to_Integer().

static void missing_code_for ( char *  s  )  [static]

Definition at line 48 of file integerOps.cpp.

References fatal1.

Referenced by IntegerOps::and(), IntegerOps::and_result_size_in_bytes(), IntegerOps::ash(), IntegerOps::ash_result_size_in_bytes(), IntegerOps::div(), IntegerOps::div_result_size_in_bytes(), IntegerOps::Integer_to_string_result_size_in_bytes(), IntegerOps::mod(), IntegerOps::mod_result_size_in_bytes(), IntegerOps::or(), IntegerOps::or_result_size_in_bytes(), IntegerOps::qr_decomposition(), IntegerOps::string_to_Integer_result_size_in_bytes(), IntegerOps::xor(), and IntegerOps::xor_result_size_in_bytes().

static void shift_left ( Digit  d[],
int  length,
int  shift_count 
) [static]

Definition at line 73 of file integerOps.cpp.

References logB.

Referenced by Integer::as_double(), and IntegerOps::double_to_Integer().

static void shift_right ( Digit  d[],
int  length,
int  shift_count 
) [static]

Definition at line 109 of file integerOps.cpp.

References logB.

Referenced by Integer::as_double(), and IntegerOps::double_to_Integer().

static void unfactorial ( int  n  )  [static]

Definition at line 985 of file integerOps.cpp.

References assert, IntegerOps::copy(), outputStream::cr(), IntegerOps::div(), IntegerOps::int_to_Integer(), IntegerOps::mul(), Integer::print(), outputStream::print(), and std.

Referenced by IntegerOps::self_test().

Here is the call graph for this function:


Variable Documentation

const int double_length = 64

Definition at line 41 of file integerOps.cpp.

Referenced by Integer::as_double(), IntegerOps::double_to_Integer(), and exponent().

const int exponent_bias = 1023

Definition at line 42 of file integerOps.cpp.

Referenced by Integer::as_double(), and exponent().

const int exponent_length = 11

Definition at line 39 of file integerOps.cpp.

Referenced by Integer::as_double(), IntegerOps::double_to_Integer(), and exponent().

const Digit hlfB = 0x80000000 [static]

Definition at line 30 of file integerOps.cpp.

Referenced by IntegerOps::qr_decomposition().

const int logB = sizeof(Digit)*8 [static]

Definition at line 29 of file integerOps.cpp.

Referenced by Integer::as_double(), IntegerOps::double_to_Integer(), IntegerOps::double_to_Integer_result_size_in_bytes(), exponent(), Integer::length_in_bits(), shift_left(), and shift_right().

const int mantissa_length = 52

Definition at line 40 of file integerOps.cpp.

Referenced by Integer::as_double(), and IntegerOps::double_to_Integer().

const int max_exponent = 2046

Definition at line 43 of file integerOps.cpp.

Referenced by Integer::as_double().

const int maxD = 36 [static]

Definition at line 28 of file integerOps.cpp.

Referenced by IntegerOps::as_char(), and IntegerOps::Integer_to_string().

const Digit oneB = 0xFFFFFFFF [static]

Definition at line 31 of file integerOps.cpp.

Referenced by IntegerOps::qr_decomposition().

const int sign_length = 1

Definition at line 38 of file integerOps.cpp.

Referenced by Integer::as_double(), IntegerOps::double_to_Integer(), and exponent().


Generated on Mon Oct 9 13:41:20 2006 for Strongtalk VM by  doxygen 1.4.7