summaryrefslogtreecommitdiff
path: root/content/math/transforms
diff options
context:
space:
mode:
authormzuenni <michi.zuendorf@gmail.com>2025-08-22 18:21:28 +0200
committermzuenni <michi.zuendorf@gmail.com>2025-08-22 18:21:28 +0200
commit102e1dfaed9720ef2151288317903473506221d8 (patch)
treeac56a9613ab0639ddd247b8014b3b19fa7dfa76c /content/math/transforms
parentc30de75ac12e6503a220c321353c3f78b118c474 (diff)
added generating functions stuff
Diffstat (limited to 'content/math/transforms')
-rw-r--r--content/math/transforms/seriesOperations.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/content/math/transforms/seriesOperations.cpp b/content/math/transforms/seriesOperations.cpp
index b405698..d3e3072 100644
--- a/content/math/transforms/seriesOperations.cpp
+++ b/content/math/transforms/seriesOperations.cpp
@@ -1,4 +1,4 @@
-vector<ll> poly_inv(const vector<ll>& a, int n) {
+vector<ll> poly_inv(const vector<ll>& a, int n) { // a[0] == 1
vector<ll> q = {powMod(a[0], mod-2, mod)};
for (int len = 1; len < n; len *= 2){
vector<ll> a2 = a, q2 = q;
@@ -35,13 +35,13 @@ vector<ll> poly_integr(vector<ll> a) {
return a;
}
-vector<ll> poly_log(vector<ll> a, int n) {
+vector<ll> poly_log(vector<ll> a, int n) { // a[0] == 1
a = mul(poly_deriv(a), poly_inv(a, n));
a.resize(n-1);
return poly_integr(a);
}
-vector<ll> poly_exp(vector<ll> a, int n) {
+vector<ll> poly_exp(vector<ll> a, int n) { // a[0] == 0
vector<ll> q = {1};
for (int len = 1; len < n; len *= 2) {
vector<ll> p = poly_log(q, 2*len);