// Trapezium Rule
case 0: ncoef = Complex.oneDarray(3);
ncoef[0].reset(dT2/4.0D, 0.0D);
ncoef[1].reset(dT2/2.0D, 0.0D);
ncoef[2].reset(dT2/4.0D, 0.0D);
super.zNumer=new ComplexPoly(2);
super.zNumer.resetPoly(ncoef);
super.zNumerDeg=2;
dcoef = Complex.oneDarray(3);
dcoef[0].reset(this.aConst - bT + cT2/4.0D, 0.0D);
dcoef[1].reset(-2.0D*this.aConst + bT + cT2/2.0D, 0.0D);
dcoef[2].reset(this.aConst + cT2/4.0D, 0.0D);
super.zDenom=new ComplexPoly(2);
super.zDenom.resetPoly(dcoef);
super.zDenomDeg=2;
super.zZeros = zNumer.roots();
super.zPoles = zDenom.roots();
break;
// Backward Rectangular Rule
case 1: ncoef = Complex.oneDarray(3);
ncoef[0].reset(0.0D, 0.0D);
ncoef[1].reset(0.0D, 0.0D);
ncoef[2].reset(dT2, 0.0D);
super.zNumer=new ComplexPoly(2);
super.zNumer.resetPoly(ncoef);
super.zNumerDeg=2;
dcoef = Complex.oneDarray(3);
dcoef[0].reset(this.aConst - bT, 0.0D);
dcoef[1].reset(-2.0D*this.aConst, 0.0D);
dcoef[2].reset(this.aConst + bT + cT2, 0.0D);
super.zDenom=new ComplexPoly(2);
super.zDenom.resetPoly(dcoef);
super.zDenomDeg=2;
super.zPoles = zDenom.roots();
super.zZeros = Complex.oneDarray(2);
super.zZeros[0].reset(0.0D, 0.0D);
super.zZeros[1].reset(0.0D, 0.0D);
break;
// Foreward Rectangular Rule
case 2: ncoef = Complex.oneDarray(3);
ncoef[0].reset(0.0D, 0.0D);
ncoef[1].reset(0.0D, 0.0D);
ncoef[2].reset(dT2, 0.0D);
super.zNumer=new ComplexPoly(2);
super.zNumer.resetPoly(ncoef);
super.zNumerDeg=2;
dcoef = Complex.oneDarray(3);
dcoef[0].reset(this.aConst - bT + cT2, 0.0D);
dcoef[1].reset(-2.0D*this.aConst + bT, 0.0D);
dcoef[2].reset(this.aConst, 0.0D);
super.zDenom=new ComplexPoly(2);
super.zDenom.resetPoly(dcoef);
super.zDenomDeg=2;
super.zPoles = zDenom.roots();
super.zZeros = Complex.oneDarray(2);
super.zZeros[0].reset(0.0D, 0.0D);