summaryrefslogtreecommitdiff
path: root/log-fourier_integrator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'log-fourier_integrator.cpp')
-rw-r--r--log-fourier_integrator.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp
index b819456..1402678 100644
--- a/log-fourier_integrator.cpp
+++ b/log-fourier_integrator.cpp
@@ -14,6 +14,7 @@ int main(int argc, char* argv[]) {
Real Δτ = 0.1;
Real k = -0.01;
Real logShift = 0;
+ bool shiftSquare = false;
/* Iteration parameters */
Real ε = 1e-15;
@@ -27,7 +28,7 @@ int main(int argc, char* argv[]) {
int opt;
- while ((opt = getopt(argc, argv, "p:s:2:T:t:b:d:k:D:e:0:lg:x:P:h:")) != -1) {
+ while ((opt = getopt(argc, argv, "p:s:2:T:t:b:d:k:D:e:0:lg:x:P:h:S")) != -1) {
switch (opt) {
case 'p':
p = atoi(optarg);
@@ -74,6 +75,9 @@ int main(int argc, char* argv[]) {
case 'l':
loadData = true;
break;
+ case 'S':
+ shiftSquare = true;
+ break;
default:
exit(1);
}
@@ -84,7 +88,9 @@ int main(int argc, char* argv[]) {
Real Γ₀ = 1;
Real μ₀ = τ₀ > 0 ? (sqrt(1+4*Γ₀*τ₀)-1)/(2*τ₀) : Γ₀;
- LogarithmicFourierTransform fft(N, k, Δτ, pad, μ₀ * pow(10, logShift));
+ Real shift = μ₀ * pow(10, logShift);
+ if (shiftSquare) shift *= μ₀;
+ LogarithmicFourierTransform fft(N, k, Δτ, pad, shift);
std::cerr << "Starting, μ₀ = " << μ₀ << ", range " << fft.t(0) << " " << fft.t(N-1) << std::endl;