X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctsim%2Ffilter.cpp;h=4ac901786c29a9b274cf75d589491dfd24c2046a;hb=f692b2d39f56ffbafc04283f32233c098aa2978b;hp=43b2d539320af25a54381ae8ec224faff2e8febf;hpb=0300d191a0f6e13334cd4eba1fb6d83c2351e600;p=ctsim.git diff --git a/libctsim/filter.cpp b/libctsim/filter.cpp index 43b2d53..4ac9017 100644 --- a/libctsim/filter.cpp +++ b/libctsim/filter.cpp @@ -7,9 +7,9 @@ ** Date Started: Aug 1984 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2000 Kevin Rosenberg ** -** $Id: filter.cpp,v 1.28 2000/11/10 15:29:37 kevin Exp $ +** $Id: filter.cpp,v 1.35 2001/01/28 19:10:18 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -228,7 +228,7 @@ SignalFilter::convertFilterNameToID (const char *filterName) int filterID = FILTER_INVALID; for (int i = 0; i < s_iFilterCount; i++) -cc if (strcasecmp (filterName, s_aszFilterName[i]) == 0) { + if (strcasecmp (filterName, s_aszFilterName[i]) == 0) { filterID = i; break; } @@ -364,12 +364,13 @@ SignalFilter::spatialResponseCalc (int filterID, double bw, double x, double par double zinc = (zmax - zmin) / (n - 1); double z = zmin; - double q [n]; + double* q = new double [n]; for (int i = 0; i < n; i++, z += zinc) q[i] = frequencyResponse (filterID, bw, z, param) * cos (TWOPI * z * x); double y = 2 * integrateSimpson (zmin, zmax, q, n); - + delete q; + return (y); } @@ -558,30 +559,21 @@ SignalFilter::spatialResponseAnalytic (int filterID, double bw, double x, double } -/* NAME - * sinc Return sin(x)/x function - * - * SYNOPSIS - * v = sinc (x, mult) - * double v sinc value - * double x, mult - * - * DESCRIPTION - * v = sin(x * mult) / x; - */ +// Functions that are inline in filter.h + + +// sinc Return sin(x)/x function +// v = sinc (x, mult) +// Calculates sin(x * mult) / x; + +// integral_abscos Returns integral of u*cos(u) +// +// q = integral_abscos (u, w) +// double q Integral value +// double u Integration variable +// double w Upper integration boundary +// Returns the value of integral of u*cos(u)*dV for V = 0 to w -/* NAME - * integral_abscos Returns integral of u*cos(u) - * - * SYNOPSIS - * q = integral_abscos (u, w) - * double q Integral value - * double u Integration variable - * double w Upper integration boundary - * - * DESCRIPTION - * Returns the value of integral of u*cos(u)*dV for V = 0 to w - */