23#ifndef INTEGRATOR8580_H
24#define INTEGRATOR8580_H
26#include "FilterModelConfig8580.h"
31#include "siddefs-fp.h"
81 n_dac = fmc->getNormalizedCurrentFactor(wl);
91 assert(v > 1.0 && v < 2.0);
92 const double Vg = fmc->getVoiceDCVoltage() * v;
93 const double Vgt = Vg - fmc->getVth();
97 nVgt = fmc->getNormalizedValue(Vgt);
100 int solve(
int vi)
const;
105#if RESID_INLINING || defined(INTEGRATOR8580_CPP)
111int Integrator8580::solve(
int vi)
const
117 const unsigned int Vgst = nVgt - vx;
118 const unsigned int Vgdt = (vi < nVgt) ? nVgt - vi : 0;
120 const unsigned int Vgst_2 = Vgst * Vgst;
121 const unsigned int Vgdt_2 = Vgdt * Vgdt;
124 const int n_I_dac = n_dac * (
static_cast<int>(Vgst_2 - Vgdt_2) >> 15);
130 const int tmp = (vc >> 15) + (1 << 15);
131 assert(tmp < (1 << 16));
132 vx = fmc->getOpampRev(tmp);
135 return vx - (vc >> 14);
Definition: FilterModelConfig8580.h:41
Definition: Integrator8580.h:55
void setFc(double wl)
Definition: Integrator8580.h:77
void setV(double v)
Definition: Integrator8580.h:87