Re: [f2py] Python Call Back in Fortran

Darren <[email protected]> Mon, 30 Jul 2012 13:26:40 +0000 (UTC)
Newsgroups gmane.comp.python.f2py.user
Message-ID <[email protected]>
UGVhcnUgUGV0ZXJzb24gPHBlYXJ1QC4uLj4gd3JpdGVzOgoKPiAKPiAKPiBIaSxIZXJlIGZvbGxv
d3MgYW4gZXhhbXBsZSB0aGF0IGlsbHVzdHJhdGVzIGhvdyB0byBoYW5kbGUgdGhpcyB1c2FnZSAK
Y2FzZTohZm9vLmY5MDpzdWJyb3V0aW5lIHN1YjEocHl0aG9uX2NhbGxiYWNrKcKgICFmMnB5IGlu
dGVudChjYWxsYmFjaykgCnB5dGhvbl9jYWxsYmFjayDCoCBleHRlcm5hbCBweXRob25fY2FsbGJh
Y2sKPiDCoCAhZjJweSBjYWxsIHB5dGhvbl9jYWxsYmFjaygwLDAsMCkgIWRlZmluZSBweXRob25f
Y2FsbGJhY2sgc2lnbmF0dXJlwqAgY2FsbCAKc3ViMigxLDIsMyllbmQgc3Vicm91dGluZSBzdWIx
c3Vicm91dGluZSBzdWIyKGFyZzEsYXJnMixhcmczKcKgIGludGVnZXIgYXJnMSwgCmFyZzIsIGFy
ZzPCoCBleHRlcm5hbCBweXRob25fY2FsbGJhY2sKPiDCoCBjYWxsIHB5dGhvbl9jYWxsYmFjayhh
cmcxLGFyZzIsYXJnMynCoCBlbmQgc3Vicm91dGluZSBzdWIyIWVvZmYycHkgLWMgLW0gZXggCmZv
by5mOTA+Pj4gZGVmIGNiKGFyZzEsIGFyZzIsIGFyZzMpOi4uLsKgwqDCoMKgIHByaW50ICdjYWxs
aW5nIHB5dGhvbiBjYiglcywgJXMsIAolcyknICUgKGFyZzEsIGFyZzIsIGFyZzMpCj4gLi4uwqDC
oMKgwqAgLi4uwqDCoMKgwqAgPj4+IGltcG9ydCBleD4+PiBleC5zdWIxKGNiKWNhbGxpbmcgcHl0
aG9uIGNiKDEsIDIsIAozKUhUSCxQZWFydQo+IE9uIFN1biwgRmViIDYsIDIwMTEgYXQgMToxMSBB
TSwgR2FldGFuIEtlbndheSA8a2Vud2F5IDxhdD4gdXRpYXMudXRvcm9udG8uY2E+IAp3cm90ZTpI
ZWxsbyBJIGhhdmUgYSBxdWVzdGlvbiBhYm91dCBweXRob24gY2FsbGJhY2tzIGluIEZvcnRyYW4u
IEkndmUgYmVlbiBhYmxlIAp0byBzZXR1cCBzaW1wbGUgcHl0aG9uIGNhbGwgYmFja3Mgd2l0aCBu
byBpc3N1ZS4gVGhlIHByb2JsZW0gSSdtIGhhdmluZyBpcyBJIApuZWVkIGEgd2F5IHRvICJzdG9y
ZSIgdGhlIGNhbGwgYmFjayBmdW5jdGlvbiBoYW5kbGUgaW4gRm9ydHJhbi4gSSBuZWVkIHRvIGNh
bGwgCnRoZSBweXRob24gY2FsbGJhY2sgZnJvbSBhIEZvcnRyYW4gZnVuY3Rpb24gdGhhdCBJIGNh
bid0IGV4cGxpY2l0bHkgcGFzcyB0aGUgCnB5dGhvbiBmdW5jdGlvbiBoYW5kbGUgdG8gLsKgIEkg
bmVlZCB0byBoYXZlIHNvbWV0aGluZyBsaWtlIGJlbG93LiBTdWJyb3V0aW5lIApzdWIxIGlzIHdy
YXBwZWQgYW5kIHN1YjIgaGFzIGEgZml4ZWQgZm9ybSB0aGF0IGlzIGFjdHVhbGx5IGNhbGxlZCBm
cm9tIGFuZCAKaW50ZXJuYWwgUEVUU2MgZnVuY3Rpb24gYW5kIEkgY2FuJ3QgY2hhbmdlIHRoZSBz
ZXF1ZW5jZSBvZiBhcmd1bWVudHMuc3Vicm91dGluZSAKc3ViMShweXRob25fY2FsbGJhY2spwqDC
oMKgIGV4dGVybmFsIHB5dGhvbl9jYWxsYmFja2VuZCBzdWJyb3V0aW5lIHN1YjFzdWJyb3V0aW5l
IApzdWIyKGFyZzEsYXJnMixhcmczKWV4dGVybmFsIHB5dGhvbl9jYWxsYmFjayEgSSB3YW50IHRv
IGNhbGwgcHl0aG9uX2NhbGxiYWNrIApoZXJlwqDCoMKgIGNhbGwgcHl0aG9uX2NhbGxiYWNrKGFy
ZzEsYXJnMixhcmczKWVuZCBzdWJyb3V0aW5lIHN1YjJJdCB3b3VsZCBiZSBuaWNlIAppZiB5b3Ug
Y291bGQganVzdCBwdXQgdGhlIGNhbGxiYWNrIGludG8gYSBtb2R1bGUgYW5kIG1ha2UgdGhhdCBh
dmFpbGFibGUgaW4gCnN1YjIuIElzIHRoaXMgcG9zc2libGUgaW4gZm9ydHJhbj8gVGhlIGNvZGUg
YXMgYWJvdmUgY29tcGlsZXMsIGJ1dCB3aGVuIHlvdSB0cnkgCnRvIGltcG9ydCBpdCBpbnRvIFB5
dGhvbiwgcHl0aG9uIGNvbXBsYWlucyB0aGF0IHB5dGhvbl9jYWxsYmFjayBpcyBub3QgZGVmaW5l
ZC4gCklzIHRoZXJlIGEgd2F5IHRvIHRyaWNrIHRoZSBjb21waWxlciBpbnRvIHVzaW5nIHRoZSBj
YWxsYmFjayBkZWZpbmVkIGluIHRoZSBweWYgCmZpbGU/IMKgSXMgdGhlcmUgc29tZSB3YXkgb2Yg
dGVsbGluZyBmMnB5IHdpdGggYW4gaW50ZW50KGNhbGxiYWNrKSB0aGF0IHRoZSAKZXh0ZXJuYWwg
cHl0aG9uX2NhbGxiYWNrIGluIHN1YjIgaXMgYWN0dWFsbHkgZGVmaW5lZCBhcyBweXRob24gY2Fs
bGJhY2s/SWYgCmFueW9uZSBoYXMgYW55IHN1Z2dlc3Rpb25zIG9yIGtub3cgdGhpcyBpcyBlbnRp
cmVseSBpbXBvc3NpYmxlIGluIGZvcnRyYW4gaXQgCndvdWxkIGJlIGdyZWF0bHkgYXBwcmVjaWF0
ZWQuR2FldGFuIApLZW53YXlfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwo+IGYycHktdXNlcnMgbWFpbGluZyBsaXN0ZjJweS11c2Vycy0KWTRsNm9jRGlwV0N1
dkZKZlg4Mi8vd0BwdWJsaWMuZ21hbmUub3JnaHR0cDovL2NlbnMuaW9jLmVlL21haWxtYW4vbGlz
dGluZm8vZjJweS0KdXNlcnMKPiAKPiAKPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwo+IGYycHktdXNlcnMgbWFpbGluZyBsaXN0Cj4gZjJw
eS11c2Vyc0AuLi4KPiBodHRwOi8vY2Vucy5pb2MuZWUvbWFpbG1hbi9saXN0aW5mby9mMnB5LXVz
ZXJzCj4gCgoKCkkndmUgYmVlbiB0cnlpbmcgdG8gcmV0YWluIGEgcmVmZXJlbmNlIHRvIGEgcHl0
aG9uIGNhbGxiYWNrIHJlZmVyZW5jZSBpbiB0aGUgCkZvcnRyYW4gbWVtb3J5IHNwYWNlLiAKClRv
IGNvbXBpbGUgdGhpcyBmb3J0cmFuIGV4YW1wbGUsIEkgYW0gdXNpbmcgbWluZ3c6CnB5dGhvbiBD
OlxQeXRob24yN1xTY3JpcHRzXGYycHkucHkgLWMgLW0gZXggZm9vLmY5MAoKVGhlIGV4YW1wbGUg
d29ya2VkIGFzIGRlZmluZWQsIGhvd2V2ZXIgSSB3YXMgaG9waW5nIHRvIGFjaGlldmUgdGhlIGFk
ZGVkIApmdW5jdGlvbmFsaXR5IG9mIHJldGFpbmluZyB0aGUgZnVuY3Rpb24gcmVmZXJlbmNlL3Bv
aW50ZXIgZm9yIGdlbmVyYWwgdXNlLiBXaGF0IApJIGZvdW5kIGludGVyZXN0aW5nIGFuZCBzdXJw
cmlzaW5nIHdoZW4gcGxheWluZyB3aXRoIHlvdXIgZXhhbXBsZSB3YXMgdGhhdCB3aGVuIApJIG1h
bnVhbGx5IHNldCBleC5weXRob25fY2FsbGJhY2sgdGhyb3VnaCBweXRob24sIHN1YjIgYmVoYXZl
ZCBzbGlnaHRseSAKZGlmZmVyZW50bHkuIFNlZSBiZWxvdy4KCj4+PiBkaXIoZXgpClsnX19kb2Nf
XycsICdfX2ZpbGVfXycsICdfX25hbWVfXycsICdfX3BhY2thZ2VfXycsICdfX3ZlcnNpb25fXycs
ICdzdWIxJywgCidzdWIyJ10KPj4+IGRlZiBjYWxsYmFjayh4LHkseik6Ci4uLiAgICAgcHJpbnQo
eCArIHkgKyB6KQouLi4KPj4+IGNhbGxiYWNrKDEsMiwzKQo2Cj4+PiBleC5zdWIxKGNhbGxiYWNr
KQo2Cj4+PiBleC5zdWIyKDEsMiwzKQpDYWxsLWJhY2sgY2JfcHl0aG9uX2NhbGxiYWNrX2luX3N1
YjFfX3VzZXJfX3JvdXRpbmVzIGZhaWxlZC4KVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxh
c3QpOgogIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CmV4LmVycm9yOiBjYjog
Q2FsbGJhY2sgcHl0aG9uX2NhbGxiYWNrIG5vdCBkZWZpbmVkIChhcyBhbiBhcmd1bWVudCBvciBt
b2R1bGUgZXggCmF0dHJpYnV0ZSkuCgo+Pj4gZXgucHl0aG9uX2NhbGxiYWNrID0gY2FsbGJhY2sK
Pj4+IGV4LnN1YjIoMSwyLDMpCmNhcGlfcmV0dXJuIGlzIE5VTEwKQ2FsbC1iYWNrIGNiX3B5dGhv
bl9jYWxsYmFja19pbl9zdWIxX191c2VyX19yb3V0aW5lcyBmYWlsZWQuClRyYWNlYmFjayAobW9z
dCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxl
PgpUeXBlRXJyb3I6IGNhbGxiYWNrKCkgdGFrZXMgZXhhY3RseSAzIGFyZ3VtZW50cyAoMCBnaXZl
bikKClNob3VsZCBhbnl0aGluZyBsaWtlIHRoaXMgYmUgcG9zc2libGU/CgpJJ3ZlIGV4cGVyaW1l
bnRlZCB3aXRoIHByb2NlZHVyZSBwb2ludGVycyBhcyBzaGFyZWQgKG9yIG1vZHVsZSkgdmFyaWFi
bGVzLiAKVW5mb3J0dW5hdGVseSwgUHl0aG9uIG9ubHkgc2VlcyB0aGVzZSBhcyBGbG9hdDMyIG51
bXB5IG9iamVjdHMuIEF0dGVtcHRzIHRvIHNldCAKdGhlbSBhcmVuJ3Qgd29ya2luZyBvdXQgZm9y
IG1lLCBhbmQgYXMgc3VjaCB0aGUgY2FsbHMgdG8gdGhlIHBvaW50ZWQgcHJvY2VkdXJlcyAKY3Jh
c2hlcyBhcyBvbmUgbWlnaHQgZXhwZWN0IHdpdGggYW4gaW5jb3JyZWN0ZWQgcG9pbnRlZC10byBm
dW5jdGlvbi4KIApJcyB0aGVyZSBhIHdheSB0byBwZXJtYW5lbnRseSByZXRhaW4gY2FsbGJhY2sg
ZnVuY3Rpb25zIGluIGYycHkncyBjdXJyZW50IHN0YXRlPwpJZiBub3QsIHdoYXQgd291bGQgYmUg
cmVxdWlyZWQ/CgpUaGFua3MKCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpmMnB5LXVzZXJzIG1haWxpbmcgbGlzdApmMnB5LXVzZXJzQGNlbnMuaW9j
LmVlCmh0dHA6Ly9jZW5zLmlvYy5lZS9tYWlsbWFuL2xpc3RpbmZvL2YycHktdXNlcnMK