double_prims.cpp File Reference

#include "incls/_precompiled.incl"
#include "incls/_double_prims.cpp.incl"
#include <math.h>
#include <float.h>

Include dependency graph for double_prims.cpp:

Go to the source code of this file.

Defines

#define ASSERT_RECEIVER   assert(receiver->is_double(), "receiver must be double")
#define DOUBLE_RELATIONAL_OP(op)
#define DOUBLE_ARITH_OP(op)

Functions

static oop new_double (double value)
 PRIM_DECL_2 (doubleOopPrimitives::lessThan, oop receiver, oop argument)
 PRIM_DECL_2 (doubleOopPrimitives::greaterThan, oop receiver, oop argument)
 PRIM_DECL_2 (doubleOopPrimitives::lessThanOrEqual, oop receiver, oop argument)
 PRIM_DECL_2 (doubleOopPrimitives::greaterThanOrEqual, oop receiver, oop argument)
 PRIM_DECL_2 (doubleOopPrimitives::equal, oop receiver, oop argument)
 PRIM_DECL_2 (doubleOopPrimitives::notEqual, oop receiver, oop argument)
 PRIM_DECL_2 (doubleOopPrimitives::mod, oop receiver, oop argument)
 PRIM_DECL_1 (doubleOopPrimitives::cosine, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::sine, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::tangent, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::arcCosine, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::arcSine, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::arcTangent, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::hyperbolicCosine, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::hyperbolicSine, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::hyperbolicTangent, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::sqrt, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::squared, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::ln, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::exp, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::log10, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::isNan, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::isFinite, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::floor, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::smi_floor, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::ceiling, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::exponent, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::mantissa, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::truncated, oop receiver)
 PRIM_DECL_2 (doubleOopPrimitives::timesTwoPower, oop receiver, oop argument)
 PRIM_DECL_1 (doubleOopPrimitives::roundedAsSmallInteger, oop receiver)
 PRIM_DECL_1 (doubleOopPrimitives::asSmallInteger, oop receiver)
 PRIM_DECL_2 (doubleOopPrimitives::printFormat, oop receiver, oop argument)
 PRIM_DECL_1 (doubleOopPrimitives::printString, oop receiver)
 PRIM_DECL_0 (doubleOopPrimitives::max_value)
 PRIM_DECL_0 (doubleOopPrimitives::min_positive_value)
 PRIM_DECL_1 (doubleOopPrimitives::store_string, oop receiver)
 PRIM_DECL_3 (doubleOopPrimitives::mandelbrot, oop re, oop im, oop n)


Define Documentation

#define ASSERT_RECEIVER   assert(receiver->is_double(), "receiver must be double")

Definition at line 41 of file double_prims.cpp.

#define DOUBLE_ARITH_OP ( op   ) 

Value:

ASSERT_RECEIVER;                                                    \
  if (!argument->is_double())                                         \
    return markSymbol(vmSymbols::first_argument_has_wrong_type());    \
  return new_double(doubleOop(receiver)->value() op doubleOop(argument)->value())

Definition at line 50 of file double_prims.cpp.

#define DOUBLE_RELATIONAL_OP ( op   ) 

Value:

ASSERT_RECEIVER;                                                    \
  if (!argument->is_double())                                         \
    return markSymbol(vmSymbols::first_argument_has_wrong_type());    \
  return doubleOop(receiver)->value() op doubleOop(argument)->value() \
         ? trueObj : falseObj

Definition at line 43 of file double_prims.cpp.

Referenced by PRIM_DECL_2().


Function Documentation

static oop new_double ( double  value  )  [inline, static]

Definition at line 33 of file double_prims.cpp.

References Universe::allocate(), doubleKlassObj, memOopDesc::init_untagged_contents_mark(), oopSize, memOopDesc::set_klass_field(), and doubleOopDesc::set_value().

Referenced by PRIM_DECL_0(), PRIM_DECL_1(), and PRIM_DECL_2().

Here is the call graph for this function:

PRIM_DECL_0 ( doubleOopPrimitives::min_positive_value   ) 

Definition at line 345 of file double_prims.cpp.

References new_double(), and PROLOGUE_0.

Here is the call graph for this function:

PRIM_DECL_0 ( doubleOopPrimitives::max_value   ) 

Definition at line 340 of file double_prims.cpp.

References new_double(), and PROLOGUE_0.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::store_string  ,
oop  receiver 
)

Definition at line 350 of file double_prims.cpp.

References ASSERT_RECEIVER, byteArrayOopDesc::byte_at_put(), oopFactory::new_byteArray(), PROLOGUE_1, and doubleOopDesc::value().

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::printString  ,
oop  receiver 
)

Definition at line 323 of file double_prims.cpp.

References ASSERT_RECEIVER, byteArrayOopDesc::byte_at_put(), K, oopFactory::new_byteArray(), NEW_RESOURCE_ARRAY, and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::asSmallInteger  ,
oop  receiver 
)

Definition at line 289 of file double_prims.cpp.

References as_smiOop(), ASSERT_RECEIVER, markSymbol(), PROLOGUE_1, smi_max, smi_min, and doubleOopDesc::value().

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::roundedAsSmallInteger  ,
oop  receiver 
)

Definition at line 274 of file double_prims.cpp.

References as_smiOop(), ASSERT_RECEIVER, markSymbol(), PROLOGUE_1, smi_max, smi_min, and doubleOopDesc::value().

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::truncated  ,
oop  receiver 
)

Definition at line 259 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), PROLOGUE_1, and doubleOopDesc::value().

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::mantissa  ,
oop  receiver 
)

Definition at line 252 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::exponent  ,
oop  receiver 
)

Definition at line 244 of file double_prims.cpp.

References as_smiOop(), ASSERT_RECEIVER, and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::ceiling  ,
oop  receiver 
)

Definition at line 237 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::smi_floor  ,
oop  receiver 
)

Definition at line 224 of file double_prims.cpp.

References as_smiOop(), ASSERT_RECEIVER, markSymbol(), PROLOGUE_1, smi_max, smi_min, and doubleOopDesc::value().

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::floor  ,
oop  receiver 
)

Definition at line 217 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), PROLOGUE_1, and doubleOopDesc::value().

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::isFinite  ,
oop  receiver 
)

Definition at line 211 of file double_prims.cpp.

References ASSERT_RECEIVER, falseObj, PROLOGUE_1, and trueObj.

PRIM_DECL_1 ( doubleOopPrimitives::isNan  ,
oop  receiver 
)

Definition at line 205 of file double_prims.cpp.

References ASSERT_RECEIVER, falseObj, PROLOGUE_1, and trueObj.

PRIM_DECL_1 ( doubleOopPrimitives::log10  ,
oop  receiver 
)

Definition at line 199 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::exp  ,
oop  receiver 
)

Definition at line 193 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::ln  ,
oop  receiver 
)

Definition at line 187 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::squared  ,
oop  receiver 
)

Definition at line 181 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::sqrt  ,
oop  receiver 
)

Definition at line 175 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::hyperbolicTangent  ,
oop  receiver 
)

Definition at line 169 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::hyperbolicSine  ,
oop  receiver 
)

Definition at line 163 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::hyperbolicCosine  ,
oop  receiver 
)

Definition at line 157 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::arcTangent  ,
oop  receiver 
)

Definition at line 151 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::arcSine  ,
oop  receiver 
)

Definition at line 145 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::arcCosine  ,
oop  receiver 
)

Definition at line 139 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::tangent  ,
oop  receiver 
)

Definition at line 132 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::sine  ,
oop  receiver 
)

Definition at line 126 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_1 ( doubleOopPrimitives::cosine  ,
oop  receiver 
)

Definition at line 120 of file double_prims.cpp.

References ASSERT_RECEIVER, new_double(), and PROLOGUE_1.

Here is the call graph for this function:

PRIM_DECL_2 ( doubleOopPrimitives::printFormat  ,
oop  receiver,
oop  argument 
)

Definition at line 306 of file double_prims.cpp.

References ASSERT_RECEIVER, doubleByteArrayOopDesc::copy_null_terminated(), byteArrayOopDesc::copy_null_terminated(), oopDesc::is_byteArray(), oopDesc::is_doubleByteArray(), lprintf(), markSymbol(), and PROLOGUE_2.

Here is the call graph for this function:

PRIM_DECL_2 ( doubleOopPrimitives::timesTwoPower  ,
oop  receiver,
oop  argument 
)

Definition at line 266 of file double_prims.cpp.

References ASSERT_RECEIVER, oopDesc::is_smi(), markSymbol(), new_double(), and PROLOGUE_2.

Here is the call graph for this function:

PRIM_DECL_2 ( doubleOopPrimitives::mod  ,
oop  receiver,
oop  argument 
)

Definition at line 110 of file double_prims.cpp.

References ASSERT_RECEIVER, oopDesc::is_double(), markSymbol(), new_double(), and PROLOGUE_2.

Here is the call graph for this function:

PRIM_DECL_2 ( doubleOopPrimitives::notEqual  ,
oop  receiver,
oop  argument 
)

Definition at line 82 of file double_prims.cpp.

References DOUBLE_RELATIONAL_OP, and PROLOGUE_2.

PRIM_DECL_2 ( doubleOopPrimitives::equal  ,
oop  receiver,
oop  argument 
)

Definition at line 77 of file double_prims.cpp.

References DOUBLE_RELATIONAL_OP, and PROLOGUE_2.

PRIM_DECL_2 ( doubleOopPrimitives::greaterThanOrEqual  ,
oop  receiver,
oop  argument 
)

Definition at line 72 of file double_prims.cpp.

References DOUBLE_RELATIONAL_OP, and PROLOGUE_2.

PRIM_DECL_2 ( doubleOopPrimitives::lessThanOrEqual  ,
oop  receiver,
oop  argument 
)

Definition at line 67 of file double_prims.cpp.

References DOUBLE_RELATIONAL_OP, and PROLOGUE_2.

PRIM_DECL_2 ( doubleOopPrimitives::greaterThan  ,
oop  receiver,
oop  argument 
)

Definition at line 62 of file double_prims.cpp.

References DOUBLE_RELATIONAL_OP, and PROLOGUE_2.

PRIM_DECL_2 ( doubleOopPrimitives::lessThan  ,
oop  receiver,
oop  argument 
)

Definition at line 57 of file double_prims.cpp.

References DOUBLE_RELATIONAL_OP, and PROLOGUE_2.

PRIM_DECL_3 ( doubleOopPrimitives::mandelbrot  ,
oop  re,
oop  im,
oop  n 
)

Definition at line 365 of file double_prims.cpp.

References as_smiOop(), oopDesc::is_double(), markSymbol(), PROLOGUE_3, smiOopDesc::value(), and doubleOopDesc::value().

Here is the call graph for this function:


Generated on Mon Oct 9 13:40:28 2006 for Strongtalk VM by  doxygen 1.4.7