Merge branch 'pre-master' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master

This commit is contained in:
Holger Vogt 2023-02-18 18:55:21 +01:00
commit 9f581acd6b
6 changed files with 11 additions and 21 deletions

View File

@ -179,7 +179,9 @@ com_fft(wordlist *wl)
fftw_execute(plan_forward);
scale = (double) fpts - 1.0;
for (j = 0; j < fpts; j++) {
fdvec[i][0].cx_real = out[0][0]/scale/2.0;
fdvec[i][0].cx_imag = 0.0;
for (j = 1; j < fpts; j++) {
fdvec[i][j].cx_real = out[j][0]/scale;
fdvec[i][j].cx_imag = out[j][1]/scale;
}
@ -212,7 +214,7 @@ com_fft(wordlist *wl)
scale = (double) fpts - 1.0;
/* Re(x[0]), Re(x[N/2]), Re(x[1]), Im(x[1]), Re(x[2]), Im(x[2]), ... Re(x[N/2-1]), Im(x[N/2-1]). */
fdvec[i][0].cx_real = in[0]/scale;
fdvec[i][0].cx_real = in[0]/scale/2.0;
fdvec[i][0].cx_imag = 0.0;
for (j = 1; j < fpts-1; j++) {
fdvec[i][j].cx_real = in[2*j]/scale;

View File

@ -773,7 +773,9 @@ cx_fft(void *data, short int type, int length, int *newlength, short int *newtyp
fftw_execute(plan_forward);
scale = (double) fpts - 1.0;
for (i = 0; i < fpts; i++) {
outdata[0].cx_real = out[0][0]/scale/2.0;
outdata[0].cx_imag = 0.0;
for (i = 1; i < fpts; i++) {
outdata[i].cx_real = out[i][0]/scale;
outdata[i].cx_imag = out[i][1]/scale;
}
@ -798,7 +800,7 @@ cx_fft(void *data, short int type, int length, int *newlength, short int *newtyp
scale = (double) fpts - 1.0;
/* Re(x[0]), Re(x[N/2]), Re(x[1]), Im(x[1]), Re(x[2]), Im(x[2]), ... Re(x[N/2-1]), Im(x[N/2-1]). */
outdata[0].cx_real = datax[0]/scale;
outdata[0].cx_real = datax[0]/scale/2.0;
outdata[0].cx_imag = 0.0;
for (i = 1; i < fpts-1; i++) {
outdata[i].cx_real = datax[2*i]/scale;

View File

@ -50,18 +50,6 @@ double osdi_pnjlim(bool init, bool *check, double vnew, double vold, double vt,
return res;
}
double osdi_typedpnjlim(bool init, bool *check, double vnew, double vold, double vt,
double vcrit, double type) {
if (init) {
*check = true;
return vcrit;
}
int icheck = 0;
double res = DEVpnjlim(type*vnew, vold, vt, vcrit, &icheck);
*check = icheck != 0;
return res;
}
double osdi_limvds(bool init, bool *check, double vnew, double vold) {
if (init) {
*check = true;

View File

@ -96,8 +96,7 @@ typedef void (*osdi_log_ptr)(void *handle, char *msg, uint32_t lvl);
double osdi_pnjlim(bool init, bool *icheck, double vnew, double vold, double vt,
double vcrit);
double osdi_typedpnjlim(bool init, bool *icheck, double vnew, double vold, double vt,
double vcrit, double type);
double osdi_limvds(bool init, bool *icheck, double vnew, double vold);
double osdi_limitlog(bool init, bool *icheck, double vnew, double vold,
double LIM_TOL);

View File

@ -174,13 +174,13 @@ extern int OSDIload(GENmodel *inModel, CKTcircuit *ckt) {
sim_info.flags |= CALC_NOISE | ANALYSIS_NOISE;
}
int ret = OK;
OsdiRegistryEntry *entry = osdi_reg_entry_model(inModel);
const OsdiDescriptor *descr = entry->descriptor;
uint32_t eval_flags = 0;
#ifdef USE_OMP
int ret = OK;
/* use openmp 3.0 tasks to parallelize linked list transveral */
#pragma omp parallel
#pragma omp single

View File

@ -338,7 +338,6 @@ extern OsdiObjectFile load_object_file(const char *input) {
for (uint32_t i = 0; i < lim_table_len; i++) {
int expected_args = -1;
IS_LIM_FUN("pnjlim", 2, osdi_pnjlim)
IS_LIM_FUN("typedpnjlim", 3, osdi_typedpnjlim)
IS_LIM_FUN("limvds", 0, osdi_limvds)
IS_LIM_FUN("fetlim", 1, osdi_fetlim)
IS_LIM_FUN("limitlog", 1, osdi_limitlog)