public Complex weightedStandarError_as_Complex() {
		boolean hold = Stat.nFactorOptionS;
		if (nFactorReset) {
			if (nFactorOptionI) {
				Stat.nFactorOptionS = true;
			} else {
				Stat.nFactorOptionS = false;
			}
		}

		boolean hold2 = Stat.nEffOptionS;
		if (nEffReset) {
			if (nEffOptionI) {
				Stat.nEffOptionS = true;
			} else {
				Stat.nEffOptionS = false;
			}
		}

		boolean holdW = Stat.weightingOptionS;
		if (weightingReset) {
			if (weightingOptionI) {
				Stat.weightingOptionS = true;
			} else {
				Stat.weightingOptionS = false;
			}
		}

		Complex standardError = Complex.zero();
		if (!weightsSupplied) {
			System.out.println("weightedStandardError_as_Complex: no weights supplied - unweighted value returned");
			standardError = this.standardError_as_Complex();
		} else {
			Complex[] cc = this.getArray_as_Complex();
			Complex[] wc = amWeights.getArray_as_Complex();
			standardError = Stat.standardError(cc, wc);
		}
		Stat.nFactorOptionS = hold;
		Stat.nEffOptionS = hold2;
		Stat.weightingOptionS = holdW;

		return standardError;

	}