/*
* call-seq:
* rd.incr(index[, number]) -> result
*
* Increments the value referred to by the +index+ by +number+.
* +number+ defaults to +1+ if unspecified.
*/
static VALUE incr(int argc, VALUE *argv, VALUE self)
{
unsigned long nr = incr_decr_arg(argc, argv);
return ULONG2NUM(__sync_add_and_fetch(addr_of(self, argv[0]), nr));
}