Method: Concurrent::CAtomicFixnum#increment

Defined in:
ext/concurrent-ruby-ext/atomic_fixnum.c

#increment(*args) ⇒ Object Also known as: up



43
44
45
46
47
48
49
50
51
52
# File 'ext/concurrent-ruby-ext/atomic_fixnum.c', line 43

VALUE method_atomic_fixnum_increment(int argc, VALUE* argv, VALUE self) {
  long long value = NUM2LL((VALUE) DATA_PTR(self));
  long long delta = 1;
  rb_check_arity(argc, 0, 1);
  if (argc == 1) {
    Check_Type(argv[0], T_FIXNUM);
    delta = NUM2LL(argv[0]);
  }
  return method_atomic_fixnum_value_set(self, LL2NUM(value + delta));
}