}
public Complex getProduct_as_Complex(){
if(this.suppressMessages)Conv.suppressMessages();
if(!this.productDone)this.calcProduct();
Complex product= Complex.zero();
switch(this.type){
case 0:
case 1:
case 2:
case 3:
case 18: product= new Complex(((Double)this.productt.get(0)).doubleValue());
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 16:
case 17: if(this.productlongToDouble){
product= new Complex(((Double)this.productt.get(0)).doubleValue());
}
else{
product= new Complex(((Long)this.productt.get(0)).doubleValue());
}
break;
case 12: product= new Complex(((BigDecimal)this.productt.get(0)).doubleValue());
break;
case 13: product= new Complex(((BigInteger)this.productt.get(0)).doubleValue());
break;
case 14:
case 15: throw new IllegalArgumentException("The " + this.typeName[this.type] + " is not a numerical type for which a productas Complex is meaningful/supported");
default: throw new IllegalArgumentException("Data type not identified by this method");
}