[Matrix-SIG] We should rename convolve in multiarraymodule

Travis Oliphant Oliphant.Travis@mayo.edu
Wed, 31 Mar 1999 09:23:28 -0600 (EST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---1333709111-467216601-922893808=:24988
Content-Type: TEXT/PLAIN; charset=US-ASCII

> FWIW I agree completely.

I've taken the liberty to create a patch against the 11beta source to fix
this convolve glitch.  The patch renames the "convolve" in the C-code to 
cross_correlate and defines a convolve in Numeric.py that calls
cross_correlate with the elements of the smallest argument reversed.

This should not break any code since convolve is still defined (now
correctly) unless that code relied on the "broken" behavior of convolve.


-- Travis



Help with patch:


If you have the patch utility, this patch can be applied by changing into
the top-level directory of the distribution (i.e. LLNLDistribution11beta)
and typing 

patch -p1 < full_path_name_to_corr_patch

e.g. if corr_patch is in the directory where 11beta.tgz sits then 

tar zxvf 11beta.tgz
cd LLNLDistribution11beta
patch -p1 <../corr_patch


---1333709111-467216601-922893808=:24988
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=corr_patch
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.04.9903310923280.24988@us2.mayo.edu>
Content-Description: Use diff -p1 <corr_patch while in directory LLNL..11beta/
Content-Disposition: attachment; filename=corr_patch

ZGlmZiAtciAtYyBMTE5MRGlzdHJpYnV0aW9uMTFiZXRhLm9yaWcvTnVtZXJp
Y2FsL0xpYi9OdW1lcmljLnB5IExMTkxEaXN0cmlidXRpb24xMWJldGEvTnVt
ZXJpY2FsL0xpYi9OdW1lcmljLnB5DQoqKiogTExOTERpc3RyaWJ1dGlvbjEx
YmV0YS5vcmlnL051bWVyaWNhbC9MaWIvTnVtZXJpYy5weQlUdWUgTWFyIDMw
IDE0OjE1OjAwIDE5OTkNCi0tLSBMTE5MRGlzdHJpYnV0aW9uMTFiZXRhL051
bWVyaWNhbC9MaWIvTnVtZXJpYy5weQlXZWQgTWFyIDMxIDA5OjExOjM4IDE5
OTkNCioqKioqKioqKioqKioqKg0KKioqIDQyLDQ4ICoqKioNCiAgcmVzaGFw
ZSA9IG11bHRpYXJyYXkucmVzaGFwZQ0KICByZXBlYXQgPSBtdWx0aWFycmF5
LnJlcGVhdA0KICBjaG9vc2UgPSBtdWx0aWFycmF5LmNob29zZQ0KISBjb252
b2x2ZSA9IG11bHRpYXJyYXkuY29udm9sdmUNCiAgQXJyYXlUeXBlID0gbXVs
dGlhcnJheS5hcnJheXR5cGUNCiAgDQogIGRlZiBzd2FwYXhlcyhhLCBheGlz
MSwgYXhpczIpOg0KLS0tIDQyLDU2IC0tLS0NCiAgcmVzaGFwZSA9IG11bHRp
YXJyYXkucmVzaGFwZQ0KICByZXBlYXQgPSBtdWx0aWFycmF5LnJlcGVhdA0K
ICBjaG9vc2UgPSBtdWx0aWFycmF5LmNob29zZQ0KISBjcm9zc19jb3JyZWxh
dGUgPSBtdWx0aWFycmF5LmNyb3NzX2NvcnJlbGF0ZQ0KISBkZWYgY29udm9s
dmUoYSx2LG1vZGU9MCk6DQohICAgICBpZiAobGVuKHYpID4gbGVuKGEpKToN
CiEgICAgICAgICB0ZW1wID0gYQ0KISAgICAgICAgIGEgPSB2DQohICAgICAg
ICAgdiA9IHRlbXANCiEgICAgICAgICBkZWwgdGVtcA0KISAgICAgcmV0dXJu
IGNyb3NzX2NvcnJlbGF0ZShhLGFzYXJyYXkodilbOjotMV0sbW9kZSkNCiEg
DQogIEFycmF5VHlwZSA9IG11bHRpYXJyYXkuYXJyYXl0eXBlDQogIA0KICBk
ZWYgc3dhcGF4ZXMoYSwgYXhpczEsIGF4aXMyKToNCmRpZmYgLXIgLWMgTExO
TERpc3RyaWJ1dGlvbjExYmV0YS5vcmlnL051bWVyaWNhbC9TcmMvbXVsdGlh
cnJheW1vZHVsZS5jIExMTkxEaXN0cmlidXRpb24xMWJldGEvTnVtZXJpY2Fs
L1NyYy9tdWx0aWFycmF5bW9kdWxlLmMNCioqKiBMTE5MRGlzdHJpYnV0aW9u
MTFiZXRhLm9yaWcvTnVtZXJpY2FsL1NyYy9tdWx0aWFycmF5bW9kdWxlLmMJ
VHVlIE1hciAzMCAxNDoxNTowMSAxOTk5DQotLS0gTExOTERpc3RyaWJ1dGlv
bjExYmV0YS9OdW1lcmljYWwvU3JjL211bHRpYXJyYXltb2R1bGUuYwlXZWQg
TWFyIDMxIDA5OjAxOjQ0IDE5OTkNCioqKioqKioqKioqKioqKg0KKioqIDY2
Nyw2NzMgKioqKg0KICAJcmV0dXJuIE5VTEw7DQogIH0NCiAgDQohIGV4dGVy
biBQeU9iamVjdCAqUHlBcnJheV9Db252b2x2ZShQeU9iamVjdCAqb3AxLCBQ
eU9iamVjdCAqb3AyLCBpbnQgbW9kZSkgew0KICAJUHlBcnJheU9iamVjdCAq
YXAxLCAqYXAyLCAqcmV0Ow0KICAJaW50IGxlbmd0aDsNCiAgCWludCBpLCBu
MSwgbjIsIG4sIG5fbGVmdCwgbl9yaWdodDsNCi0tLSA2NjcsNjczIC0tLS0N
CiAgCXJldHVybiBOVUxMOw0KICB9DQogIA0KISBleHRlcm4gUHlPYmplY3Qg
KlB5QXJyYXlfQ29ycmVsYXRlKFB5T2JqZWN0ICpvcDEsIFB5T2JqZWN0ICpv
cDIsIGludCBtb2RlKSB7DQogIAlQeUFycmF5T2JqZWN0ICphcDEsICphcDIs
ICpyZXQ7DQogIAlpbnQgbGVuZ3RoOw0KICAJaW50IGksIG4xLCBuMiwgbiwg
bl9sZWZ0LCBuX3JpZ2h0Ow0KKioqKioqKioqKioqKioqDQoqKiogNzE4LDcy
NCAqKioqDQogIAlkb3QgPSBtYXRyaXhNdWx0aXBseUZ1bmN0aW9uc1soaW50
KShyZXQtPmRlc2NyLT50eXBlX251bSldOw0KICAJaWYgKGRvdCA9PSBOVUxM
KSB7DQogIAkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsIA0K
ISAJCQkiY29udm9sdmUgbm90IGF2YWlsYWJsZSBmb3IgdGhpcyB0eXBlIik7
DQogIAkJZ290byBmYWlsOw0KICAJfQ0KICAJDQotLS0gNzE4LDcyNCAtLS0t
DQogIAlkb3QgPSBtYXRyaXhNdWx0aXBseUZ1bmN0aW9uc1soaW50KShyZXQt
PmRlc2NyLT50eXBlX251bSldOw0KICAJaWYgKGRvdCA9PSBOVUxMKSB7DQog
IAkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsIA0KISAJCQki
ZnVuY3Rpb24gbm90IGF2YWlsYWJsZSBmb3IgdGhpcyB0eXBlIik7DQogIAkJ
Z290byBmYWlsOw0KICAJfQ0KICAJDQoqKioqKioqKioqKioqKioNCioqKiAx
MDg5LDExMDMgKioqKg0KICAJcmV0dXJuIFB5QXJyYXlfSW5uZXJQcm9kdWN0
KGEwLCBzaGFwZSk7DQogIH0NCiAgDQohIHN0YXRpYyBjaGFyIGRvY19jb252
b2x2ZVtdID0gImNvbnZvbHZlKGEsdikiOw0KICANCiEgc3RhdGljIFB5T2Jq
ZWN0ICphcnJheV9jb252b2x2ZShQeU9iamVjdCAqZHVtbXksIFB5T2JqZWN0
ICphcmdzKSB7DQogIAlQeU9iamVjdCAqc2hhcGUsICphMDsNCiAgCWludCBt
b2RlPTA7DQogIAkNCiAgCWlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAi
T098aSIsICZhMCwgJnNoYXBlLCAmbW9kZSkpIHJldHVybiBOVUxMOw0KICAJ
DQohIAlyZXR1cm4gUHlBcnJheV9Db252b2x2ZShhMCwgc2hhcGUsIG1vZGUp
Ow0KICB9DQogIHN0YXRpYyBjaGFyIGRvY19hcmdtYXhbXSA9ICJhcmdtYXgo
YSkiOw0KICANCi0tLSAxMDg5LDExMDMgLS0tLQ0KICAJcmV0dXJuIFB5QXJy
YXlfSW5uZXJQcm9kdWN0KGEwLCBzaGFwZSk7DQogIH0NCiAgDQohIHN0YXRp
YyBjaGFyIGRvY19jb3JyZWxhdGVbXSA9ICJjcm9zc19jb3JyZWxhdGUoYSx2
KSI7DQogIA0KISBzdGF0aWMgUHlPYmplY3QgKmFycmF5X2NvcnJlbGF0ZShQ
eU9iamVjdCAqZHVtbXksIFB5T2JqZWN0ICphcmdzKSB7DQogIAlQeU9iamVj
dCAqc2hhcGUsICphMDsNCiAgCWludCBtb2RlPTA7DQogIAkNCiAgCWlmICgh
UHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT098aSIsICZhMCwgJnNoYXBlLCAm
bW9kZSkpIHJldHVybiBOVUxMOw0KICAJDQohIAlyZXR1cm4gUHlBcnJheV9D
b3JyZWxhdGUoYTAsIHNoYXBlLCBtb2RlKTsNCiAgfQ0KICBzdGF0aWMgY2hh
ciBkb2NfYXJnbWF4W10gPSAiYXJnbWF4KGEpIjsNCiAgDQoqKioqKioqKioq
KioqKioNCioqKiAxMTUyLDExNTggKioqKg0KICAJDQogIAl7ImFyZ21heCIs
CWFycmF5X2FyZ21heCwgMSwgZG9jX2FyZ21heH0sDQogIAl7ImlubmVycHJv
ZHVjdCIsCWFycmF5X2lubmVycHJvZHVjdCwgMSwgZG9jX2lubmVycHJvZHVj
dH0sIA0KISAJeyJjb252b2x2ZSIsIGFycmF5X2NvbnZvbHZlLCAxLCBkb2Nf
Y29udm9sdmV9LA0KICAJLyogIHsiYXJyYXlNYXAiLAlhcnJheV9hcnJheU1h
cCwgMSwgZG9jX2FycmF5TWFwfSwqLw0KICAJDQogIAl7TlVMTCwJCU5VTEws
IDB9CQkvKiBzZW50aW5lbCAqLw0KLS0tIDExNTIsMTE1OCAtLS0tDQogIAkN
CiAgCXsiYXJnbWF4IiwJYXJyYXlfYXJnbWF4LCAxLCBkb2NfYXJnbWF4fSwN
CiAgCXsiaW5uZXJwcm9kdWN0IiwJYXJyYXlfaW5uZXJwcm9kdWN0LCAxLCBk
b2NfaW5uZXJwcm9kdWN0fSwgDQohIAl7ImNyb3NzX2NvcnJlbGF0ZSIsIGFy
cmF5X2NvcnJlbGF0ZSwgMSwgZG9jX2NvcnJlbGF0ZX0sDQogIAkvKiAgeyJh
cnJheU1hcCIsCWFycmF5X2FycmF5TWFwLCAxLCBkb2NfYXJyYXlNYXB9LCov
DQogIAkNCiAgCXtOVUxMLAkJTlVMTCwgMH0JCS8qIHNlbnRpbmVsICovDQo=
---1333709111-467216601-922893808=:24988--