public double effectiveSampleNumber_as_double() {
		boolean holdW = Stat.weightingOptionS;
		if (weightingReset) {
			if (weightingOptionI) {
				Stat.weightingOptionS = true;
			} else {
				Stat.weightingOptionS = false;
			}
		}
		double nEff = 0.0D;
		switch (type) {
		case 1:
			double[] dd = this.getArray_as_double();
			nEff = Stat.effectiveSampleNumber(dd);
			break;
		case 12:
			BigDecimal[] bd = this.getArray_as_BigDecimal();
			nEff = Stat.effectiveSampleNumber(bd).doubleValue();
			bd = null;
			break;
		case 14:
			throw new IllegalArgumentException("Complex cannot be converted to double");
		default:
			throw new IllegalArgumentException("This type number, " + type + ", should not be possible here!!!!");
		}
		Stat.weightingOptionS = holdW;
		return nEff;
	}