derivlog, derivlog_shallow: logarithm derivative of x, equals x'/x

"管理员" <[email protected]> Sun, 15 Feb 2026 17:50:59 +0800
Newsgroups gmane.comp.mathematics.pari.devel
Message-ID <[email protected]>
Lyogbm90IG5vcm1hbGl6ZWQgKi8NCk5PSU5MSU5FDQpzdGF0aWMgR0VOIF9zZXJfcmViYXNl
KEdFTiB4LCBsb25nIG4pDQp7DQoJbG9uZyBpLCBqLCBsID0gbGcoeCksIGUgPSB2YWxzZXIo
eCksIHYgPSB2YXJuKHgpLCBkLCBuZXdsOw0KCUdFTiByZXM7DQoJZCA9IGUgLSBuOyBuZXds
ID0gbCArIGQ7DQoJaWYgKG5ld2wgPD0gMikgcmV0dXJuIHplcm9zZXIodiwgbik7DQoJcmVz
ID0gY2dldGcobmV3bCwgdF9TRVIpOw0KCXJlc1sxXSA9IGV2YWx2YWxzZXIobikgfCBldmFs
dmFybih2KTsNCglqID0gZCArIDI7DQoJZm9yIChpID0gMjsgaSA8IGo7IGkrKykgZ2VsKHJl
cyxpKSA9IGdlbl8wOw0KCW1lbWNweShyZXMgKyBpLCB4ICsgKGkgLSBkKSwgKG5ld2wgLSBp
KSpzaXplb2YobG9uZykpOw0KCXJldHVybiByZXM7DQp9DQoNCi8qIGQvZHggbG9nKGYoeCkp
ID0gZicoeCkvZih4KSAqLw0KTk9JTkxJTkUNCnN0YXRpYyBHRU4gZGVyaXZsb2dfc2hhbGxv
dyhHRU4geCkgew0KCWxvbmcgdCA9IHR5cCh4KSwgdiwgZSwgaSwgbDsNCglHRU4gcmVzID0g
Z25pbCwgeSwgTiwgRDsNCg0KCWlmIChpc19tYXR2ZWNfdCh0KSkgew0KCQlyZXMgPSBjZ2V0
Z19jb3B5KHgsICZsKTsNCgkJZm9yIChpID0gMTsgaSA8IGw7IGkrKykNCgkJCWdlbChyZXMs
aSkgPSBkZXJpdmxvZ19zaGFsbG93KGdlbCh4LGkpKTsNCgkJcmV0dXJuIHJlczsNCgl9DQoN
CglpZiAoZ2VxdWFsMCh4KSkgcGFyaV9lcnJfSU5WKCJkZXJpdmxvZyIsIHgpOw0KCWlmIChp
c19jb25zdF90KHQpKSByZXR1cm4gZ2VuXzA7DQoNCglzd2l0Y2godCkNCgl7DQoJY2FzZSB0
X1BPTDoNCgkJdiA9IHZhcm4oeCk7DQoJCWlmIChSZ1hfaXNfbW9ub21pYWwoeCkpIHsNCgkJ
CXJlcyA9IGdkaXZzZyhkZWdwb2woeCksIHBvbF94KHYpKTsNCgkJfSBlbHNlIHsNCgkJCXJl
cyA9IGdkaXYoUmdYX2Rlcml2KHgpLCB4KTsNCgkJfQ0KCQlpZiAoZ3ZhcihyZXMpICE9IHYp
DQoJCQlyZXMgPSBzY2FsYXJwb2xfc2hhbGxvdyhyZXMsIHZhcm4oeCkpOw0KCQlicmVhazsN
CgljYXNlIHRfU0VSOg0KCQlsID0gbGcoeCk7IHkgPSB4Ow0KCQlpZiAobCA+IDIgJiYgZ2Vx
dWFsMChnZWwoeCwyKSkpIHsNCgkJCWxvbmcgaSA9IDI7DQoJCQlwYXJpX3dhcm4od2FybmVy
LCJub3JtYWxpemluZyBhIHNlcmllcyB3aXRoIDAgbGVhZGluZyB0ZXJtIik7DQoJCQl5ID0g
bGVhZmNvcHkoeCk7DQoJCQlkbyBnZWwoeSxpKyspID0gZ2VuXzA7DQoJCQl3aGlsZSAoaSA8
IGwgJiYgZ2VxdWFsMChnZWwoeSxpKSkpOw0KCQkJeSA9IG5vcm1hbGl6ZXNlcih5KTsNCgkJ
fQ0KCQllID0gdmFsc2VyKHkpOw0KCQlpZiAoZSkgew0KCQkJaWYgKHggPT0geSkgeSA9IGxl
YWZjb3B5KHkpOw0KCQkJc2V0dmFsc2VyKHksIDApOw0KCQl9DQoJCXJlcyA9IGdkaXYoZGVy
aXZzZXIoeSksIHkpOw0KCQlpZiAoZSkgew0KCQkJcmVzID0gX3Nlcl9yZWJhc2UocmVzLCAt
MSk7DQoJCQlyZXNbMV0gfD0gZXZhbHNpZ25lKDEpOw0KCQkJZ2VsKHJlcywyKSA9IHN0b2ko
ZSk7DQoJCX0NCgkJYnJlYWs7DQoJY2FzZSB0X1JGUkFDOg0KCQlOID0gZ2VsKHgsMSk7IEQg
PSBnZWwoeCwyKTsgdiA9IHZhcm4oRCk7DQoJCWlmICghaXNfUmdYKE4sIHYpKSB7DQoJCQly
ZXMgPSBnbmVnX2koZGVyaXZsb2dfc2hhbGxvdyhEKSk7DQoJCQlicmVhazsNCgkJfQ0KCQl5
ID0gUmdYX3N1YihSZ1hfbXVsKFJnWF9kZXJpdihOKSxEKSxSZ1hfbXVsKE4sUmdYX2Rlcml2
KEQpKSk7DQoJCXJlcyA9IGdkaXYoeSxnbXVsKE4sRCkpOw0KCQlpZiAoZ3ZhcihyZXMpICE9
IHYpDQoJCQlyZXMgPSBzY2FsYXJwb2xfc2hhbGxvdyhyZXMsIHZhcm4oeCkpOw0KCQlicmVh
azsNCglkZWZhdWx0Og0KCQlyZXMgPSBnZGl2KGRlcml2KHgsLTEpLHgpOw0KCX0NCglyZXR1
cm4gcmVzOw0KfQ0KDQpOT0lOTElORQ0KR0VOIGRlcml2bG9nKEdFTiB4KSB7DQoJcGFyaV9z
cCBhdiA9IGdldF9hdm1hKCk7DQoJcmV0dXJuIF9nZXJlcGlsZWNvcHkoYXYsIGRlcml2bG9n
X3NoYWxsb3coeCkpOw0KfQ==