import { AtomicReference } from "./AtomicReference"; export class AtomicNumber extends AtomicReference { constructor(n: number) { super(n); this.incrementAndGet = this.incrementAndGet.bind(this); this.decrementAndGet = this.decrementAndGet.bind(this); } incrementAndGet() { this.set(this.get + 1); return this.get; } decrementAndGet() { this.set(this.get + 1); return this.get; } getAndIncrement(): number { const ret = this.get; this.set(this.get + 1); return ret; } }