- GOTOs

From: Douglas G. Danforth <"Douglas>
Date: Fri, 28 Oct 2005 12:30:59 -0400

----boundary-LibPST-iamunique-1715848038_-_- Content-type: text/plain Ah, The zip file seems to be for a FIR (Finite Impulse Response) filter and not a goto remover. -Doug CFB Software wrote: -----Original Message----- From: blackbox{([at]})nowhere.xy Behalf Of Campbell, Robert D (SELEX) (UK Edinburgh) Sent: Thursday, 27 October 2005 5:37 PM To: BlackBox Mailing List Subject: [BlackBox] - GOTOs But I did finally come up with a general purpose technique that, I guess, could be automated. It does nothing to make the code comprehensible, it has no pretensions to efficiency, but it did allow me to produce a useful outcome. (I don't use it often, but by coincidence I used it yesterday, and once in February!) Ingenious! However, this approach would really have to be a very last, desperate, resort. How are you able to have any trust in the results of a program that is so incomprehensible? To complete the circle of this correspondence this algorithm (Remez) is discussed in Numerical Recipes. The authors acknowledge that the results are 'Optimum', but they do not like or include it because it is too complicated to code. They advocate a different simpler approach whose results are 'nearly as good' (which means 'not as good'!). A quick Google search revealed an alternative implementation (?) of the Remez Algorithm in C. I might be on the wrong track altogether. Knowing absolutely nothing at all about the underlying theory I'm unable to judge whether or not this is a solution to the same problem, or whether it has any use. However, this one I was able to read and have some confidence that I would be able to debug it if necessary: http://www.janovetz.com/jake/remez/remez-19980711.zip It would not be too difficult to translate it into Oberon / CP. Hmmm ... maybe a C to Oberon translator should be the next project ... Chris Burrows CFB Software http://www.cfbsoftware.com/gpcp --- BlackBox --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy ----boundary-LibPST-iamunique-1715848038_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3MgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJcZm5pbFxmY2hh cnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBOZXc7fX0NCntc Y29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7fQ0KXHVjMVxw YXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyNCANCntcKlxodG1sdGFnMjQzIDwhRE9DVFlQRSBo dG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPn0NCntc KlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sdGFnMTkgPGh0bWw+fQ0Ke1wqXGh0bWx0YWcyIFxw YXIgfQ0Ke1wqXGh0bWx0YWczNCA8aGVhZD59DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRt bHRhZzI0MSAgIH0NCntcKlxodG1sdGFnMSBccGFyIH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wq XGh0bWx0YWcxNzcgPHRpdGxlPn0NCntcKlxodG1sdGFnMjQxIH0NCntcKlxodG1sdGFnMTg1IDwv dGl0bGU+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wq XGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWc1MCA8Ym9keSBiZ2NvbG9yPSIjZmZmZmZmIiB0 ZXh0PSIjMDAwMDAwIj59XGh0bWxydGYgXHZpZXdraW5kNQ0Ke1wqXGJhY2tncm91bmQge1xzaHB7 XCpcc2hwaW5zdHtcc3B7XHNuIGZpbGxDb2xvcn17XHN2IDE2Nzc3MjE1fX17XHNwe1xzbiBmRmls bGVkfXtcc3YgMX19fX19XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfXtcKlxodG1sdGFn NjR9XGh0bWxydGYge1xodG1scnRmMCBBaCwNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1UaGUgemlwIGZpbGUgc2VlbXMg dG8gYmUgZm9yIGEgRklSIChGaW5pdGUgSW1wdWxzZSBSZXNwb25zZSkgZmlsdGVyIGFuZA0Ke1wq XGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgbm90IGEgZ290byByZW1vdmVyLg0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfS1Eb3VnDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9Q0ZCIFNvZnR3YXJlIHdyb3Rl Og0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1c aHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGUgY2l0ZT0i bWlkQU1FVEhZU1QyajAzb0hNd1ZONzAwMDAwMmVhQGFtZXRoeXN0Mi5vYmVyb24uY2giXHBhciAg dHlwZT0iY2l0ZSI+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBh ciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGUgdHlwZT0i Y2l0ZSI+fVxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRt bHRhZzI0MCAgICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0ZiB7XHBh cmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGk3MjAgLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS1cbGluZQ0KRnJvbToge30NCntcKlxodG1sdGFnODQgPGEg Y2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmJsYWNrYm94QG9i ZXJvbi5jaCI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpi bGFja2JveEBvYmVyb24uY2gifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBibGFja2JveEBv YmVyb24uY2hcaHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzkyIDwvYT59IFt7fQ0Ke1wqXGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZy ZWV0ZXh0IiBocmVmPSJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIj59XGh0bWxydGYge1xmaWVs ZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaCJ9fXtcZmxk cnNsdFxjZjFcdWwgXGh0bWxydGYwIG1haWx0bzpibGFja2JveEBvYmVyb24uY2hcaHRtbHJ0ZiB9 XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59XSBPbiBc bGluZQ0KQmVoYWxmIE9mIENhbXBiZWxsLCBSb2JlcnQgRCAoU0VMRVgpIChVSyBFZGluYnVyZ2gp XGxpbmUNClNlbnQ6IFRodXJzZGF5LCAyNyBPY3RvYmVyIDIwMDUgNTozNyBQTVxsaW5lDQpUbzog QmxhY2tCb3ggTWFpbGluZyBMaXN0XGxpbmUNClN1YmplY3Q6IFtCbGFja0JveF0gLSBHT1RPc1xs aW5lDQpcbGluZQ0KXGxpbmUNCkJ1dCBJIGRpZCBmaW5hbGx5IGNvbWUgdXAgd2l0aCBhIGdlbmVy YWwgcHVycG9zZSB0ZWNobmlxdWUgXGxpbmUNCnRoYXQsIEkgZ3Vlc3MsIGNvdWxkIGJlIGF1dG9t YXRlZC4gSXQgZG9lcyBub3RoaW5nIHRvIG1ha2UgXGxpbmUNCnRoZSBjb2RlIGNvbXByZWhlbnNp YmxlLCBpdCBoYXMgbm8gcHJldGVuc2lvbnMgdG8gZWZmaWNpZW5jeSwgXGxpbmUNCmJ1dCBpdCBk aWQgYWxsb3cgbWUgdG8gcHJvZHVjZSBhIHVzZWZ1bCBvdXRjb21lLiAoSSBkb24ndCB1c2UgXGxp bmUNCml0IG9mdGVuLCBidXQgYnkgY29pbmNpZGVuY2UgSSB1c2VkIGl0IHllc3RlcmRheSwgYW5k IG9uY2UgaW4gXGxpbmUNCkZlYnJ1YXJ5ISlcbGluZQ0KICAgIFxodG1scnRmXHBhcn1caHRtbHJ0 ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnMTA0IDwvYmxvY2tx dW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntc KlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0ZiB7 XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGkzNjAg DQp7XCpcaHRtbHRhZzI0NCA8IS0tLS0+fVxsaW5lDQpJbmdlbmlvdXMhIEhvd2V2ZXIsIHRoaXMg YXBwcm9hY2ggd291bGQgcmVhbGx5IGhhdmUgdG8gYmUgYSB2ZXJ5IGxhc3QsXGxpbmUNCmRlc3Bl cmF0ZSwgcmVzb3J0LiBcbGluZQ0KXGxpbmUNCkhvdyBhcmUgeW91IGFibGUgdG8gaGF2ZSBhbnkg dHJ1c3QgaW4gdGhlIHJlc3VsdHMgb2YgYSBwcm9ncmFtIHRoYXQgaXNcbGluZQ0Kc28gaW5jb21w cmVoZW5zaWJsZT8gXGxpbmUNClxsaW5lDQogIFxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wq XGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBh ciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGUgdHlwZT0i Y2l0ZSI+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7 XCpcaHRtbHRhZzI0MCAgICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0 ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGk3 MjAgVG8gY29tcGxldGUgdGhlIGNpcmNsZSBvZiB0aGlzIGNvcnJlc3BvbmRlbmNlIHRoaXMgYWxn b3JpdGhtIFxsaW5lDQooUmVtZXopIGlzIGRpc2N1c3NlZCBpbiBOdW1lcmljYWwgUmVjaXBlcy4g VGhlIGF1dGhvcnMgXGxpbmUNCmFja25vd2xlZGdlIHRoYXQgdGhlIHJlc3VsdHMgYXJlICdPcHRp bXVtJywgYnV0IHRoZXkgZG8gbm90IFxsaW5lDQpsaWtlIG9yIGluY2x1ZGUgaXQgYmVjYXVzZSBp dCBpcyB0b28gY29tcGxpY2F0ZWQgdG8gY29kZS4gXGxpbmUNClRoZXkgYWR2b2NhdGUgYSBkaWZm ZXJlbnQgc2ltcGxlciBhcHByb2FjaCB3aG9zZSByZXN1bHRzIGFyZSBcbGluZQ0KJ25lYXJseSBh cyBnb29kJyAod2hpY2ggbWVhbnMgJ25vdCBhcyBnb29kJyEpLlxsaW5lDQpcbGluZQ0KICAgIFxo dG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcxMzYgPC9wcmU+fVxodG1scnRmIH1c aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxo dG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxo dG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3 cmFwPSIiPn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYg e1xodG1scnRmMCBcbGkzNjAgDQp7XCpcaHRtbHRhZzI0NCA8IS0tLS0+fVxsaW5lDQpBIHF1aWNr IEdvb2dsZSBzZWFyY2ggcmV2ZWFsZWQgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24gKD8p IG9mIHRoZVxsaW5lDQpSZW1leiBBbGdvcml0aG0gaW4gQy4gSSBtaWdodCBiZSBvbiB0aGUgd3Jv bmcgdHJhY2sgYWx0b2dldGhlci4gS25vd2luZ1xsaW5lDQphYnNvbHV0ZWx5IG5vdGhpbmcgYXQg YWxsIGFib3V0IHRoZSB1bmRlcmx5aW5nIHRoZW9yeSBJJ20gdW5hYmxlIHRvXGxpbmUNCmp1ZGdl IHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgYSBzb2x1dGlvbiB0byB0aGUgc2FtZSBwcm9ibGVtLCBv ciB3aGV0aGVyXGxpbmUNCml0IGhhcyBhbnkgdXNlLiBcbGluZQ0KXGxpbmUNCkhvd2V2ZXIsIHRo aXMgb25lIEkgd2FzIGFibGUgdG8gcmVhZCBhbmQgaGF2ZSBzb21lIGNvbmZpZGVuY2UgdGhhdCBJ XGxpbmUNCndvdWxkIGJlIGFibGUgdG8gZGVidWcgaXQgaWYgbmVjZXNzYXJ5OiBcbGluZQ0KXGxp bmUNCnt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhy ZWY9Imh0dHA6Ly93d3cuamFub3ZldHouY29tL2pha2UvcmVtZXovcmVtZXotMTk5ODA3MTEuemlw Ij59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cDovL3d3dy5qYW5v dmV0ei5jb20vamFrZS9yZW1lei9yZW1lei0xOTk4MDcxMS56aXAifX17XGZsZHJzbHRcY2YxXHVs IFxodG1scnRmMCBodHRwOi8vd3d3Lmphbm92ZXR6LmNvbS9qYWtlL3JlbWV6L3JlbWV6LTE5OTgw NzExLnppcFxodG1scnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1s dGFnOTIgPC9hPn0gXGxpbmUNClxsaW5lDQpJdCB3b3VsZCBub3QgYmUgdG9vIGRpZmZpY3VsdCB0 byB0cmFuc2xhdGUgaXQgaW50byBPYmVyb24gLyBDUC4gXGxpbmUNClxsaW5lDQpIbW1tIC4uLiBt YXliZSBhIEMgdG8gT2Jlcm9uIHRyYW5zbGF0b3Igc2hvdWxkIGJlIHRoZSBuZXh0IHByb2plY3Qg Li4uXGxpbmUNClxsaW5lDQpDaHJpcyBCdXJyb3dzXGxpbmUNCkNGQiBTb2Z0d2FyZVxsaW5lDQp7 fQ0Ke1wqXGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJo dHRwOi8vd3d3LmNmYnNvZnR3YXJlLmNvbS9ncGNwIj59XGh0bWxydGYge1xmaWVsZHtcKlxmbGRp bnN0e0hZUEVSTElOSyAiaHR0cDovL3d3dy5jZmJzb2Z0d2FyZS5jb20vZ3BjcCJ9fXtcZmxkcnNs dFxjZjFcdWwgXGh0bWxydGYwIGh0dHA6Ly93d3cuY2Zic29mdHdhcmUuY29tL2dwY3BcaHRtbHJ0 ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzkyIDwvYT59XGxp bmUNClxsaW5lDQotLS0gQmxhY2tCb3hcbGluZQ0KLS0tIHNlbmQgc3ViamVjdCBIRUxQIG9yIFVO U1VCU0NSSUJFIHRvIHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJi cmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpibGFja2JveEBvYmVyb24uY2giPn1caHRtbHJ0ZiB7XGZp ZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoIn19e1xm bGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgYmxhY2tib3hAb2Jlcm9uLmNoXGh0bWxydGYgfVxodG1s cnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fVxsaW5lDQpcbGlu ZQ0KXGxpbmUNCiAgXGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3By ZT59XGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFn MTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFn MCBccGFyIH0NCntcKlxodG1sdGFnNTggPC9ib2R5Pn0NCntcKlxodG1sdGFnMiBccGFyIH0NCntc KlxodG1sdGFnMjcgPC9odG1sPn0NCntcKlxodG1sdGFnMyBccGFyIH0NCntcKlxodG1sfX0Ac2xh dGUgaXQg ----boundary-LibPST-iamunique-1715848038_-_--- Received on Fri Oct 28 2005 - 18:30:59 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:07 UTC