Beispiel #1
0
term_t heap_float(heap_t *hp, double value)
{
	float_value_t *f;
	int gap = sizeof(*f);
	f = (float_value_t *)heap_alloc(hp, gap);
	f->value = value;
	return tag_float(f);
}
Beispiel #2
0
value& value::operator=(float val)
{
    if(!tag_)
        set(tag_float(val));
    else switch(tag_->get_type())
    {
    case tag_type::Float:
        static_cast<tag_float&>(*tag_).set(val);
        break;
    case tag_type::Double:
        static_cast<tag_double&>(*tag_).set(val);
        break;

    default:
        throw std::bad_cast();
    }
    return *this;
}
value_initializer::value_initializer(float val)             : value(tag_float(val)) {}
Beispiel #4
0
tag_value& tag_value::operator=(float x) {
  *this = tag_float(x);
  return *this;
}