Partial implementation of Bessel phase function

"管理员" <[email protected]> Mon, 8 Dec 2025 11:31:18 +0800
Newsgroups gmane.comp.mathematics.pari.devel
Message-ID <[email protected]>
R0VOIGJlc3NlbHBoYXNlKEdFTiBuLCBHRU4geiwgbG9uZyBwcmVjKSB7DQoJcGFyaV9zcCBh
diA9IGdldF9hdm1hKCksIGF2MjsNCglHRU4gb20sIGxpbSwgZXN0LCBwaGksIEosIFk7DQoJ
bG9uZyBsID0gcHJlY2lzaW9uKHopLCBzOw0KDQoJaWYgKGwpIHByZWMgPSBsOw0KDQoJbiA9
IGd0b2ZwKG4sIHByZWMpOw0KCWlmICh0eXAobikgIT0gdF9SRUFMKSBwYXJpX2Vycl9JTVBM
KCJiZXNzZWxwaGFzZSBmb3IgY29tcGxleCBvcmRlciIpOw0KCXogPSBndG9mcCh6LCBwcmVj
KTsNCglpZiAodHlwKHopICE9IHRfUkVBTCB8fCBzaWduZSh6KSA8IDApIHBhcmlfZXJyX0lN
UEwoImJlc3NlbHBoYXNlIGZvciBub25wb3NpdGl2ZSBhcmd1bWVudCIpOw0KCW9tID0gUGky
bigxLCBwcmVjKTsNCg0KCXMgPSBzaWduZShuKTsNCglpZiAocyA8IDApIG4gPSBtcGFicyhu
KTsNCg0KCWlmICghcyB8fCAhc2lnbmUoeikgfHwgZXhwbyhuKSA8IC0xKSB7DQoJCWVzdCA9
IHN1YnJyKHosIHNoaWZ0cihvbSwgLTIpKTsNCgl9IGVsc2Ugew0KCQlpbnQgY29uZDsNCgkJ
bGltID0gbjsNCgkJZXN0ID0gZ2VuXzA7DQoJCWNvbmQgPSBjbXBycih6LCBsaW0pID4gMDsN
CgkJYXYyID0gZ2V0X2F2bWEoKTsNCgkJd2hpbGUgKGNvbmQpIHsNCgkJCUdFTiBkeiwgZHBo
aSwgZHBoaW0xLCBsaW0yOw0KCQkJSiA9IHJlYWxfaShqYmVzc2VsKG4sIGxpbSwgcHJlYykp
Ow0KCQkJWSA9IHJlYWxfaSh5YmVzc2VsKG4sIGxpbSwgcHJlYykpOw0KCQkJcGhpID0gZ2Fy
Zyhta2NvbXBsZXgoSiwgWSksIHByZWMpOw0KCQkJcGhpID0gYWRkcnIocGhpLCBtdWxyaShv
bSwgcm91bmRyKGRpdnJyKGdzdWIoZXN0LCBwaGkpLCBvbSkpKSk7DQoJCQlkcGhpID0gZGl2
c3IoNCwgbXVscnIobXVscnIob20sIHopLCBhZGRycihzcXJyKEopLCBzcXJyKFkpKSkpOw0K
CQkJZHBoaW0xID0gc3Vic3IoMSwgZHBoaSk7DQoJCQlkeiA9IHN1YnJyKHosIGxpbSk7DQoJ
CQljb25kID0gMDsNCgkJCWlmIChzaWduZShkcGhpbTEpID4gMCkgew0KCQkJCWxpbTIgPSBz
aGlmdHIoZGl2cnIob20sIGRwaGltMSksIC0xKTsNCgkJCQljb25kID0gY21wcnIoZHosIGxp
bTIpID4gMDsNCgkJCQlpZiAoY29uZCkgZHogPSBsaW0yOw0KCQkJCWR6ID0gbXVscnIoZHos
IGRwaGkpOw0KCQkJCWxpbSA9IGFkZHJyKGxpbSwgbGltMik7DQoJCQl9DQoJCQllc3QgPSBh
ZGRycihwaGksIGR6KTsNCgkJCWlmIChnY19uZWVkZWQoYXYsIDIpKSB7DQoJCQkJaWYgKERF
QlVHTUVNPjEpIHBhcmlfd2Fybih3YXJubWVtLCAiYmVzc2VscGhhc2UiKTsNCgkJCQlnZXJl
cGlsZWFsbChhdjIsIDIsICZlc3QsICZsaW0pOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJaWYgKHNp
Z25lKHopKSB7DQoJCUogPSByZWFsX2koamJlc3NlbChuLCB6LCBwcmVjKSk7DQoJCVkgPSBy
ZWFsX2koeWJlc3NlbChuLCB6LCBwcmVjKSk7DQoJCXBoaSA9IGdhcmcobWtjb21wbGV4KEos
IFkpLCBwcmVjKTsNCgkJcGhpID0gYWRkcnIocGhpLCBtdWxyaShvbSwgcm91bmRyKGRpdnJy
KGdzdWIoZXN0LCBwaGkpLCBvbSkpKSk7DQoJfSBlbHNlIHsNCgkJcGhpID0gZXN0Ow0KCX0N
Cg0KCWlmIChzIDwgMCkgew0KCQlzaGlmdHJfaW5wbGFjZShvbSwgLTEpOw0KCQlwaGkgPSBh
ZGRycihwaGksIG11bHJyKG9tLCBuKSk7DQoJfQ0KDQoJcmV0dXJuIGdlcmVwaWxlY29weShh
diwgcGhpKTsNCn0=