public double weightedStandardDeviation_of_ComplexModuli() {
		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;
			}
		}
		double varr = Double.NaN;
		if (!weightsSupplied) {
			System.out.println("weightedStandardDeviation_as_Complex: no weights supplied - unweighted value returned");
			varr = this.standardDeviation_of_ComplexModuli();
		} else {
			double[] cc = this.array_as_modulus_of_Complex();
			double[] wc = amWeights.array_as_modulus_of_Complex();
			varr = Stat.standardDeviation(cc, wc);
		}
		Stat.nFactorOptionS = hold;
		Stat.nEffOptionS = hold2;
		Stat.weightingOptionS = holdW;
		return varr;
	}