//============================================= void KVDigitalFilter::ApplyTo(float* datax, const int NSamples, int reverse) const { // Copiato +- da KVSignal.cxx // Diversa la convenzione per a0 b0! long double* datay = new long double[NSamples]; int i = 0, k = 0; switch (reverse) { case 0:// direct for (i = 0; i < Ncoeff; i++) { // primo loop su Npunti datay[i] = a[0] * datax[i]; for (k = 0; k < i; k++) datay[i] += a[k + 1] * datax[i - k - 1] + b[k + 1] * datay[i - k - 1]; } for (i = Ncoeff; i < NSamples; i++) { //secondo loop. cambia l'indice interno. datay[i] = a[0] * datax[i]; for (k = 0; k < Ncoeff - 1; k++) datay[i] += a[k + 1] * datax[i - k - 1] + b[k + 1] * datay[i - k - 1]; } break; // end of direct case 1: //reverse: cut & paste from direct and NSamples-1- for (i = 0; i < Ncoeff; i++) { // primo loop su Npunti datay[NSamples - 1 - i] = a[0] * datax[NSamples - 1 - i]; for (k = 0; k < i; k++) datay[NSamples - 1 - i] += a[k + 1] * datax[NSamples - 1 - (i - k - 1)] + b[k + 1] * datay[NSamples - 1 - (i - k - 1)]; } for (i = Ncoeff; i < NSamples; i++) { //secondo loop. cambia l'indice interno. datay[NSamples - 1 - i] = a[0] * datax[NSamples - 1 - i]; for (k = 0; k < Ncoeff - 1; k++) datay[NSamples - 1 - i] += a[k + 1] * datax[NSamples - 1 - (i - k - 1)] + b[k + 1] * datay[NSamples - 1 - (i - k - 1)]; } break; case -1: // bidirectional ApplyTo(datax, NSamples, 0); ApplyTo(datax, NSamples, 1); return; default: printf("ERROR in %s: reverse=%d not supported\n", __PRETTY_FUNCTION__, reverse); }// end of reverse switch. /*----------------------------------------------*/ // void *memcpy(void *dest, const void *src, size_t n); for (int i = 0; i < NSamples; i++) datax[i] = (float)datay[i]; delete [] datay; }
void RichTxt::FormatInfo::ApplyTo(RichPara::Format& fmt) const { ApplyTo((RichPara::CharFormat &)fmt); if(paravalid & ALIGN) fmt.align = align; if(paravalid & RULER) fmt.ruler = ruler; if(paravalid & BEFORE) fmt.before = before; if(paravalid & LM) fmt.lm = lm; if(paravalid & INDENT) fmt.indent = indent; if(paravalid & RM) fmt.rm = rm; if(paravalid & AFTER) fmt.after = after; if(paravalid & TABSIZE) fmt.tabsize = tabsize; if(paravalid & BULLET) fmt.bullet = bullet; if(paravalid & NEWPAGE) fmt.newpage = newpage; if(paravalid & KEEP) fmt.keep = keep; if(paravalid & KEEPNEXT) fmt.keepnext = keepnext; if(paravalid & ORPHAN) fmt.orphan = orphan; if(paravalid & LABEL) fmt.label = label; if(paravalid & NUMBERING) { fmt.before_number = before_number; fmt.after_number = after_number; fmt.reset_number = reset_number; memcpy(fmt.number, number, sizeof(number)); } if(paravalid & TABS) fmt.tab = tab; if(paravalid & STYLE) fmt.styleid = styleid; if(paravalid & SPACING) fmt.linespacing = linespacing; if(paravalid & RULERINK) fmt.rulerink = rulerink; if(paravalid & RULERSTYLE) fmt.rulerstyle = rulerstyle; }
bool ScreenTransferFunctionInstance::ExecuteOn( View& view ) { ApplyTo( view ); return true; }
void ApplyGraphicLabelsDlg::OnBnClickedOk() { ApplyTo(); OnOK(); }