Method: Concurrent::CAtomicFixnum#decrement

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

#decrement(*args) ⇒ Object Also known as: down



54
55
56
57
58
59
60
61
62
63
# File 'ext/concurrent-ruby-ext/atomic_fixnum.c', line 54

VALUE method_atomic_fixnum_decrement(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));
}