/*
 * call-seq:
 *      rd.to_ary    -> Array
 *
 * converts the Raindrops structure to an Array
 */
static VALUE to_ary(VALUE self)
{
        struct raindrops *r = get(self);
        VALUE rv = rb_ary_new2(r->size);
        size_t i;
        unsigned long base = (unsigned long)r->drops;

        for (i = 0; i < r->size; i++) {
                rb_ary_push(rv, ULONG2NUM(*((unsigned long *)base)));
                base += raindrop_size;
        }

        return rv;
}