Bug fixes:
fix function rdivide fix a copy/paste bug in cpline add copying of tlines
This commit is contained in:
parent
3e37603abb
commit
79e2aa9174
|
|
@ -39,16 +39,18 @@ static void copy_complex(DoubleComplex s, Complex_t *d)
|
|||
static DoubleComplex divide(DoubleComplex n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / denom;
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
|
||||
static DoubleComplex rdivide(double n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1 * n2._Val[0] + n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1 * n2._Val[0] - n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1 * n2._Val[0]) / denom;
|
||||
rez._Val[1] = (-1. * n1 * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -116,10 +118,10 @@ void cm_cpline (ARGS)
|
|||
double bon = o*l/C0*sqrt(ero);
|
||||
DoubleComplex ge = _Cbuild(aen, ben);
|
||||
DoubleComplex go = _Cbuild(aon, bon);
|
||||
DoubleComplex tango = _Cmulcr(ctanh(_Cmulcr(go, l)), 2.);
|
||||
DoubleComplex tange = _Cmulcr(ctanh(_Cmulcr(ge, l)), 2.);
|
||||
DoubleComplex singo = _Cmulcr(csinh(_Cmulcr(go, l)), 2.);
|
||||
DoubleComplex singe = _Cmulcr(csinh(_Cmulcr(ge, l)), 2.);
|
||||
DoubleComplex tango = _Cmulcr(ctanh(go), 2.);
|
||||
DoubleComplex tange = _Cmulcr(ctanh(ge), 2.);
|
||||
DoubleComplex singo = _Cmulcr(csinh(go), 2.);
|
||||
DoubleComplex singe = _Cmulcr(csinh(ge), 2.);
|
||||
|
||||
DoubleComplex zotango = rdivide(zo, tango);
|
||||
DoubleComplex zetange = rdivide(ze, tange);
|
||||
|
|
|
|||
|
|
@ -41,16 +41,18 @@ static void copy_complex(DoubleComplex s, Complex_t *d)
|
|||
static DoubleComplex divide(DoubleComplex n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / denom;
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
|
||||
static DoubleComplex rdivide(double n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1 * n2._Val[0] + n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1 * n2._Val[0] - n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1 * n2._Val[0]) / denom;
|
||||
rez._Val[1] = (-1. * n1 * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,16 +32,18 @@ typedef double complex DoubleComplex;
|
|||
static DoubleComplex divide(DoubleComplex n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / denom;
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
|
||||
static DoubleComplex rdivide(double n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1 * n2._Val[0] + n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1 * n2._Val[0] - n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1 * n2._Val[0]) / denom;
|
||||
rez._Val[1] = (-1. * n1 * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -33,16 +33,18 @@ typedef double complex DoubleComplex;
|
|||
static DoubleComplex divide(DoubleComplex n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / denom;
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
|
||||
static DoubleComplex rdivide(double n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1 * n2._Val[0] + n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1 * n2._Val[0] - n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1 * n2._Val[0]) / denom;
|
||||
rez._Val[1] = (-1. * n1 * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,16 +31,18 @@ typedef double complex DoubleComplex;
|
|||
static DoubleComplex divide(DoubleComplex n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1._Val[0] * n2._Val[0] + n1._Val[1] * n2._Val[1]) / denom;
|
||||
rez._Val[1] = (n1._Val[1] * n2._Val[0] - n1._Val[0] * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
|
||||
static DoubleComplex rdivide(double n1, DoubleComplex n2)
|
||||
{
|
||||
DoubleComplex rez;
|
||||
rez._Val[0] = (n1 * n2._Val[0] + n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
rez._Val[1] = (n1 * n2._Val[0] - n1 * n2._Val[1]) / (n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1]);
|
||||
double denom = n2._Val[0] * n2._Val[0] + n2._Val[1] * n2._Val[1];
|
||||
rez._Val[0] = (n1 * n2._Val[0]) / denom;
|
||||
rez._Val[1] = (-1. * n1 * n2._Val[1]) / denom;
|
||||
return rez;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ copy %cmsrc%\table.cm %dst%\lib\ngspice\table.cm
|
|||
copy %cmsrc%\xtraevt.cm %dst%\lib\ngspice\xtraevt.cm
|
||||
copy %cmsrc%\xtradev.cm %dst%\lib\ngspice\xtradev.cm
|
||||
copy %cmsrc%\spice2poly.cm %dst%\lib\ngspice\spice2poly.cm
|
||||
copy %cmsrc%\tlines.cm %dst%\lib\ngspice\tlines.cm
|
||||
copy xspice\verilog\ivlng.dll %dst%\lib\ngspice\ivlng.dll
|
||||
copy xspice\verilog\shim.vpi %dst%\lib\ngspice\ivlng.vpi
|
||||
|
||||
|
|
@ -50,6 +51,7 @@ copy %cmsrc%\table64.cm %dst%\lib\ngspice\table.cm
|
|||
copy %cmsrc%\xtraevt64.cm %dst%\lib\ngspice\xtraevt.cm
|
||||
copy %cmsrc%\xtradev64.cm %dst%\lib\ngspice\xtradev.cm
|
||||
copy %cmsrc%\spice2poly64.cm %dst%\lib\ngspice\spice2poly.cm
|
||||
copy %cmsrc%\tlines64.cm %dst%\lib\ngspice\tlines.cm
|
||||
copy xspice\verilog\ivlng.dll %dst%\lib\ngspice\ivlng.dll
|
||||
copy xspice\verilog\shim.vpi %dst%\lib\ngspice\ivlng.vpi
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ copy %cmsrc%\table.cm %dst%\lib\ngspice\table.cm
|
|||
copy %cmsrc%\xtraevt.cm %dst%\lib\ngspice\xtraevt.cm
|
||||
copy %cmsrc%\xtradev.cm %dst%\lib\ngspice\xtradev.cm
|
||||
copy %cmsrc%\spice2poly.cm %dst%\lib\ngspice\spice2poly.cm
|
||||
copy %cmsrc%\tlines.cm %dst%\lib\ngspice\tlines.cm
|
||||
copy xspice\verilog\ivlng.dll %dst%\lib\ngspice\ivlng.dll
|
||||
copy xspice\verilog\shim.vpi %dst%\lib\ngspice\ivlng.vpi
|
||||
|
||||
|
|
@ -50,6 +51,7 @@ copy %cmsrc%\table64.cm %dst%\lib\ngspice\table.cm
|
|||
copy %cmsrc%\xtraevt64.cm %dst%\lib\ngspice\xtraevt.cm
|
||||
copy %cmsrc%\xtradev64.cm %dst%\lib\ngspice\xtradev.cm
|
||||
copy %cmsrc%\spice2poly64.cm %dst%\lib\ngspice\spice2poly.cm
|
||||
copy %cmsrc%\tlines64.cm %dst%\lib\ngspice\tlines.cm
|
||||
copy xspice\verilog\ivlng.dll %dst%\lib\ngspice\ivlng.dll
|
||||
copy xspice\verilog\shim.vpi %dst%\lib\ngspice\ivlng.vpi
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue