001 /* 002 Galois, a framework to exploit amorphous data-parallelism in irregular 003 programs. 004 005 Copyright (C) 2010, The University of Texas at Austin. All rights reserved. 006 UNIVERSITY EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES CONCERNING THIS SOFTWARE 007 AND DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR ANY 008 PARTICULAR PURPOSE, NON-INFRINGEMENT AND WARRANTIES OF PERFORMANCE, AND ANY 009 WARRANTY THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF TRADE. 010 NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF THE 011 SOFTWARE OR DOCUMENTATION. Under no circumstances shall University be liable 012 for incidental, special, indirect, direct or consequential damages or loss of 013 profits, interruption of business, or related expenses which may arise from use 014 of Software or Documentation, including but not limited to those resulting from 015 defects in Software and/or Documentation, or loss or inaccuracy of data of any 016 kind. 017 018 File: MutableInteger.java 019 020 */ 021 022 package util; 023 024 /** 025 * Object wrapper around an integer 026 * 027 * 028 */ 029 public class MutableInteger { 030 private int value; 031 032 /** 033 * Creates a new mutable integer with value 0 034 */ 035 public MutableInteger() { 036 value = 0; 037 } 038 039 /** 040 * Creates a new mutable integer with the given value 041 * 042 * @param value initial value 043 */ 044 public MutableInteger(int value) { 045 this.value = value; 046 } 047 048 public int get() { 049 return value; 050 } 051 052 public void set(int value) { 053 this.value = value; 054 } 055 056 public int incrementAndGet() { 057 return ++value; 058 } 059 060 public int getAndIncrement() { 061 return value++; 062 } 063 064 public void add(int delta) { 065 value += delta; 066 } 067 068 public int decrementAndGet() { 069 return --value; 070 } 071 072 public int getAndDecrement() { 073 return value--; 074 } 075 076 @Override 077 public String toString() { 078 return String.valueOf(value); 079 } 080 }