Jspice3
noiinteg.c File Reference
#include "spice.h"
#include <stdio.h>
#include <math.h>
#include "cktdefs.h"
#include "noisedef.h"
#include "util.h"
Include dependency graph for noiinteg.c:

Go to the source code of this file.

Functions

double Nintegrate (double noizDens, double lnNdens, double lnNlstDens, GENERIC *dataptr)
 

Function Documentation

double Nintegrate ( double  noizDens,
double  lnNdens,
double  lnNlstDens,
GENERIC dataptr 
)

Definition at line 32 of file noiinteg.c.

38 {
39  Ndata *data = (Ndata*)dataptr;
40  double exponent;
41  double a;
42 
43  exponent = (lnNdens - lnNlstDens) / data->delLnFreq;
44 
45  if ( FABS(exponent) < N_INTFTHRESH ) {
46  return (noizDens * data->delFreq);
47  }
48  else {
49  a = exp(lnNdens - exponent*data->lnFreq);
50  exponent += 1.0;
51 
52  if (FABS(exponent) < N_INTUSELOG) {
53  return (a * (data->lnFreq - data->lnLastFreq));
54  }
55  else {
56  return (a * ((exp(exponent * data->lnFreq) -
57  exp(exponent * data->lnLastFreq)) / exponent));
58  }
59  }
60 }
double delLnFreq
Definition: noisedef.h:28
#define N_INTFTHRESH
Definition: noisedef.h:105
if(TDesc==NULL)
Definition: cd.c:1326
double lnLastFreq
Definition: noisedef.h:27
#define N_INTUSELOG
Definition: noisedef.h:112
double lnFreq
Definition: noisedef.h:26
Definition: sced.h:120
#define FABS(a)
Definition: util.h:41
double delFreq
Definition: noisedef.h:21
Definition: noisedef.h:18