@Test
	public void testWithShort() throws InterruptedException {
		// Getting the runtime reference from system
		int mb = 1024 * 1024;
		Runtime runtime = Runtime.getRuntime();
		System.out.println("Used Memory:"
				+ (runtime.totalMemory() - runtime.freeMemory()) / mb);

		int x = 30000;
		int y = 30000;

		SimilarityMatrix m;
		try {
			m = new SimilarityMatrix(x, y, NUMBER_PRECISION.DOUBLE);

			// Print used memory
			System.out.println("Double:"
					+ (runtime.totalMemory() - runtime.freeMemory()) / mb);
		} catch (Throwable t) {
			System.out.println("failed");
		}
		m = null;
		System.gc();
		try {
			m = new SimilarityMatrix(x, y, NUMBER_PRECISION.DOUBLE, true);

			// Print used memory
			System.out.println("Double:"
					+ (runtime.totalMemory() - runtime.freeMemory()) / mb);
		} catch (Throwable t) {
			System.out.println("failed");
		}
		m = null;
		System.gc();
		try {
			m = new SimilarityMatrix(x, y, NUMBER_PRECISION.FLOAT);

			// Print used memory
			System.out.println("Float:"
					+ (runtime.totalMemory() - runtime.freeMemory()) / mb);
		} catch (Throwable t) {
			System.out.println("failed");
		}
		m = null;
		System.gc();
		try {
			m = new SimilarityMatrix(x, y, NUMBER_PRECISION.FLOAT, true);

			// Print used memory
			System.out.println("Float symm:"
					+ (runtime.totalMemory() - runtime.freeMemory()) / mb);
		} catch (Throwable t) {
			System.out.println("failed");
		}

		m = null;
		System.gc();
		try {
			m = new SimilarityMatrix(x, y, NUMBER_PRECISION.SHORT);

			// Print used memory
			System.out.println("Short:"
					+ (runtime.totalMemory() - runtime.freeMemory()) / mb);
		} catch (Throwable t) {
			System.out.println("failed");
		}

		m = null;
		System.gc();
		try {
			m = new SimilarityMatrix(x, y, NUMBER_PRECISION.SHORT, true);

			// Print used memory
			System.out.println("Short symm:"
					+ (runtime.totalMemory() - runtime.freeMemory()) / mb);
		} catch (Throwable t) {
			System.out.println("failed");
		}
	}