VBMicrolensing 5.3__cp37-cp37m-musllinux_1_2_x86_64.whl → 5.3.2__cp37-cp37m-musllinux_1_2_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of VBMicrolensing might be problematic. Click here for more details.

Binary file
@@ -280,11 +280,10 @@ VBMicrolensing::VBMicrolensing() {
280
280
  RelTol = 0;
281
281
  suntable = false;
282
282
  parallaxephemeris = true;
283
+ tsat = 0;
283
284
  possat = 0;
284
285
  nsat = 0;
285
286
  ndatasat = 0;
286
- startsat = 0;
287
- stepsat = 0;
288
287
  satellite = 0;
289
288
  parallaxsystem = 1;
290
289
  t0_par_fixed = 0;
@@ -334,6 +333,7 @@ VBMicrolensing::VBMicrolensing() {
334
333
  SelectedMethod = Method::Nopoly;
335
334
  turn_off_secondary_source = turn_off_secondary_lens = false;
336
335
  t_in_HJD = true;
336
+ parallaxextrapolation = 0;
337
337
  // testnewcoefs = true;
338
338
  }
339
339
 
@@ -341,12 +341,12 @@ VBMicrolensing::~VBMicrolensing() {
341
341
  if (nsat) {
342
342
  for (int i = 0; i < nsat; i++) {
343
343
  for (int j = 0; j < ndatasat[i]; j++) free(possat[i][j]);
344
+ free(tsat[i]);
344
345
  free(possat[i]);
345
346
  }
347
+ free(tsat);
346
348
  free(possat);
347
349
  free(ndatasat);
348
- free(startsat);
349
- free(stepsat);
350
350
  }
351
351
  if (suntable) {
352
352
  for (int j = 0; j < ndataEar; j++) free(posEar[j]);
@@ -4882,6 +4882,7 @@ void VBMicrolensing::PSPLAstroLightCurve(double* pr, double* ts, double* mags, d
4882
4882
  iastro = 5;
4883
4883
  dPosAng = 0;
4884
4884
  t0old = 1.e200;
4885
+ parallaxextrapolation = 0;
4885
4886
 
4886
4887
  for (int i = 0; i < np; i++) {
4887
4888
  ComputeParallax(ts[i], t0);
@@ -4913,6 +4914,7 @@ void VBMicrolensing::ESPLAstroLightCurve(double* pr, double* ts, double* mags, d
4913
4914
  iastro = 6;
4914
4915
  dPosAng = 0;
4915
4916
  t0old = 1.e200;
4917
+ parallaxextrapolation = 0;
4916
4918
 
4917
4919
  for (int i = 0; i < np; i++) {
4918
4920
  ComputeParallax(ts[i], t0);
@@ -4944,6 +4946,7 @@ void VBMicrolensing::BinaryAstroLightCurve(double* pr, double* ts, double* mags,
4944
4946
  double salpha = sin(pr[3]), calpha = cos(pr[3]);
4945
4947
  dPosAng = 0;
4946
4948
  t0old = 1.e200;
4949
+ parallaxextrapolation = 0;
4947
4950
 
4948
4951
  for (int i = 0; i < np; i++) {
4949
4952
  ComputeParallax(ts[i], t0);
@@ -4979,6 +4982,7 @@ void VBMicrolensing::BinaryAstroLightCurveOrbital(double* pr, double* ts, double
4979
4982
  double w, phi0, inc, phi, Cinc, Sinc, Cphi, Sphi, Cphi0, Sphi0, pphi0, COm, SOm, s_true;
4980
4983
  double w13, w123, den, den0;
4981
4984
  t0old = 1.e200;
4985
+ parallaxextrapolation = 0;
4982
4986
 
4983
4987
  w13 = w1 * w1 + w3 * w3;
4984
4988
  w123 = sqrt(w13 + w2 * w2);
@@ -5047,6 +5051,7 @@ void VBMicrolensing::BinaryAstroLightCurveKepler(double* pr, double* ts, double*
5047
5051
  double arm1, arm2;
5048
5052
  double X[3], Y[3], Z[3], r[2], x[2];
5049
5053
  t0old = 1.e200;
5054
+ parallaxextrapolation = 0;
5050
5055
 
5051
5056
  smix = 1 + szs * szs;
5052
5057
  sqsmix = sqrt(smix);
@@ -5147,6 +5152,7 @@ void VBMicrolensing::BinSourceAstroLightCurveXallarap(double* pr, double* ts, do
5147
5152
  iastro = 12;
5148
5153
  dPosAng = 0;
5149
5154
  t0old = 1.e200;
5155
+ parallaxextrapolation = 0;
5150
5156
 
5151
5157
  s[2] = -(s[0] * w[0] + s[1] * w[1]) / w[2]; // Impose velocity orthogonal to position
5152
5158
  s3D = sqrt(s[0] * s[0] + s[1] * s[1] + s[2] * s[2]);
@@ -5268,6 +5274,7 @@ void VBMicrolensing::BinSourceBinLensAstroLightCurve(double* pr, double* ts, dou
5268
5274
  double ss[3] = { (t01 - t02) * tE_inv,u2 - u1,0 };
5269
5275
  double L[3], Om[3], Y[3], norm, normOm, s3D, wstot, qs,phis0;
5270
5276
  double u0B, t0B, vuB, vt0B, s1, s2, uB, tnB, paitB, paiuB, alphas;
5277
+ parallaxextrapolation = 0;
5271
5278
 
5272
5279
  // Binary lens calculations
5273
5280
  u0 = pr[2];
@@ -5443,6 +5450,7 @@ void VBMicrolensing::TripleAstroLightCurve(double* pr, double* ts, double* mags,
5443
5450
  double Et[2];
5444
5451
  iastro = 12;
5445
5452
  dPosAng = 0;
5453
+ parallaxextrapolation = 0;
5446
5454
 
5447
5455
  s[0] = exp(pr[0]) / (q[0] + q[1]);
5448
5456
  s[1] = s[0] * q[0];
@@ -5622,6 +5630,7 @@ void VBMicrolensing::BinSourceLightCurve(double* pr, double* ts, double* mags, d
5622
5630
  void VBMicrolensing::BinSourceLightCurveParallax(double* pr, double* ts, double* mags, double* y1s, double* y2s, int np) {
5623
5631
  double u1 = pr[2], u2 = pr[3], t01 = pr[4], t02 = pr[5], tE_inv = exp(-pr[0]), FR = exp(pr[1]), tn, u, u0, pai1 = pr[6], pai2 = pr[7], w1 = pr[8], w2 = pr[9], w3 = pr[10];
5624
5632
  t0old = 0;
5633
+ parallaxextrapolation = 0;
5625
5634
 
5626
5635
  for (int i = 0; i < np; i++) {
5627
5636
  ComputeParallax(ts[i], t0);
@@ -5652,6 +5661,7 @@ void VBMicrolensing::BinSourceLightCurveXallarap(double* pr, double* ts, double*
5652
5661
  double s, s_true, w, phi0, inc, phi, Cinc, Sinc, Cphi, Sphi, Cphi0, Sphi0, COm, SOm;
5653
5662
  double w13, w123, den, den0, du0, dt0;
5654
5663
  t0old = 0;
5664
+ parallaxextrapolation = 0;
5655
5665
 
5656
5666
 
5657
5667
  s = sqrt((u1 - u2) * (u1 - u2) + (t01 - t02) * (t01 - t02) * (tE_inv * tE_inv));
@@ -6393,12 +6403,12 @@ void VBMicrolensing::SetObjectCoordinates(char* modelfile, char* sateltabledir)
6393
6403
  if (nsat) {
6394
6404
  for (int i = 0; i < nsat; i++) {
6395
6405
  for (int j = 0; j < ndatasat[i]; j++) free(possat[i][j]);
6406
+ free(tsat[i]);
6396
6407
  free(possat[i]);
6397
6408
  }
6409
+ free(tsat);
6398
6410
  free(possat);
6399
6411
  free(ndatasat);
6400
- free(startsat);
6401
- free(stepsat);
6402
6412
  }
6403
6413
  // Looking for satellite table files in the specified directory
6404
6414
  sprintf(filename, "%s%csatellite*.txt", sateltabledir, systemslash);
@@ -6413,10 +6423,9 @@ void VBMicrolensing::SetObjectCoordinates(char* modelfile, char* sateltabledir)
6413
6423
  }
6414
6424
 
6415
6425
 
6426
+ tsat = (double**)malloc(sizeof(double*) * nsat);
6416
6427
  possat = (double***)malloc(sizeof(double**) * nsat);
6417
6428
  ndatasat = (int*)malloc(sizeof(int) * nsat);
6418
- startsat = (double*)malloc(sizeof(double) * nsat);
6419
- stepsat = (double*)malloc(sizeof(double) * nsat);
6420
6429
 
6421
6430
  // Reading satellite table files
6422
6431
  ic = 0;
@@ -6462,6 +6471,7 @@ void VBMicrolensing::SetObjectCoordinates(char* modelfile, char* sateltabledir)
6462
6471
  fclose(f);
6463
6472
 
6464
6473
  // Allocating memory according to the length of the table
6474
+ tsat[ic] = (double*)malloc(sizeof(double) * ndatasat[ic]);
6465
6475
  possat[ic] = (double**)malloc(sizeof(double*) * ndatasat[ic]);
6466
6476
 
6467
6477
  for (int j = 0; j < ndatasat[ic]; j++) {
@@ -6486,19 +6496,10 @@ void VBMicrolensing::SetObjectCoordinates(char* modelfile, char* sateltabledir)
6486
6496
  // Reading data
6487
6497
  if (f) {
6488
6498
  double tcur;
6489
- startsat[ic] = stepsat[ic]= - 1;
6490
6499
  for (int id = 0; id < ndatasat[ic]; id++) {
6491
6500
 
6492
- if (fscanf(f, "%lf %lf %lf %lf %lf", &tcur, &RA, &Dec, &dis, &phiprec) == 5) {
6493
- if (stepsat[ic] < 0) {
6494
- if (startsat[ic] < 0) {
6495
- startsat[ic] = tcur;
6496
- }
6497
- else {
6498
- stepsat[ic] = tcur - startsat[ic];
6499
- startsat[ic] -= 2450000.0;
6500
- }
6501
- }
6501
+ if (fscanf(f, "%lf %lf %lf %lf %lf", &(tsat[ic][id]), &RA, &Dec, &dis, &phiprec) == 5) {
6502
+ tsat[ic][id] -= 2450000;
6502
6503
  RA *= M_PI / 180;
6503
6504
  Dec *= M_PI / 180;
6504
6505
  for (int i = 0; i < 3; i++) {
@@ -6571,7 +6572,7 @@ void VBMicrolensing::ComputeParallax(double t, double t0) {
6571
6572
  static double x1, y1, vx, vy, Ear[3], vEar[3];
6572
6573
  static double r, sp, ty, Spit, dLtof;
6573
6574
  int c = 0, ic;
6574
-
6575
+
6575
6576
  if (!coordinates_set) {
6576
6577
  printf("\nUse SetObjectCoordinates to input target coordinates");
6577
6578
  return;
@@ -6648,6 +6649,8 @@ void VBMicrolensing::ComputeParallax(double t, double t0) {
6648
6649
  ty = (t - startEar) / stepEar;
6649
6650
  ic = (int)floor(ty);
6650
6651
  ty -= ic;
6652
+ if (ic < 0) { parallaxextrapolation = 1; ic = 0; ty = 0; }
6653
+ if (ic >= ndataEar) { parallaxextrapolation = 1; ic = ndataEar - 1; ty = 1; }
6651
6654
  for (int i = 0; i < 3; i++) Ear[i] = posEar[ic][i] * (1 - ty) + posEar[ic + 1][i] * ty;
6652
6655
  lighttravel = 0;
6653
6656
  for (int i = 0; i < 3; i++) lighttravel += Ear[i] * Obj[i];
@@ -6660,6 +6663,8 @@ void VBMicrolensing::ComputeParallax(double t, double t0) {
6660
6663
  ty = (told - startEar) / stepEar;
6661
6664
  ic = (int)floor(ty);
6662
6665
  ty -= ic;
6666
+ if (ic < 0) { parallaxextrapolation = 1; ic = 0; ty = 0; }
6667
+ if (ic >= ndataEar) { parallaxextrapolation = 1; ic = ndataEar - 1; ty = 1; }
6663
6668
  for (int i = 0; i < 3; i++) Ear[i] = posEar[ic][i] * (1 - ty) + posEar[ic + 1][i] * ty;
6664
6669
  lighttravel = 0;
6665
6670
  for (int i = 0; i < 3; i++) lighttravel += Ear[i] * Obj[i];
@@ -6826,9 +6831,32 @@ void VBMicrolensing::ComputeParallax(double t, double t0) {
6826
6831
 
6827
6832
  if (satellite > 0 && satellite <= nsat) {
6828
6833
  if (ndatasat[satellite - 1] > 2) {
6829
- ty = (t - startsat[satellite - 1]) / stepsat[satellite - 1];
6830
- ic = (int) floor(ty);
6831
- ty -= ic;
6834
+ int left, right;
6835
+ if (t < tsat[satellite - 1][0]) {
6836
+ ic = 0;
6837
+ parallaxextrapolation = 2;
6838
+ }
6839
+ else {
6840
+ if (t > tsat[satellite - 1][ndatasat[satellite - 1] - 1]) {
6841
+ ic = ndatasat[satellite - 1] - 2;
6842
+ parallaxextrapolation = 2;
6843
+ }
6844
+ else {
6845
+ left = 0;
6846
+ right = ndatasat[satellite - 1] - 1;
6847
+ while (right - left > 1) {
6848
+ ic = (right + left) / 2;
6849
+ if (tsat[satellite - 1][ic] > t) {
6850
+ right = ic;
6851
+ }
6852
+ else {
6853
+ left = ic;
6854
+ }
6855
+ }
6856
+ ic = left;
6857
+ }
6858
+ }
6859
+ ty = t - tsat[satellite - 1][ic];
6832
6860
  for (int i = 0; i < 3; i++) {
6833
6861
  Spit = possat[satellite - 1][ic][i] * (1 - ty) + possat[satellite - 1][ic + 1][i] * ty;
6834
6862
  Et[0] += Spit * rad[i];
@@ -74,7 +74,7 @@ class VBMicrolensing
74
74
  0.3 };
75
75
 
76
76
  int* ndatasat;
77
- double *** possat, * startsat, * stepsat;
77
+ double** tsat, *** possat;
78
78
  double** posEar, startEar, stepEar;
79
79
  int ndataEar;
80
80
  double Mag0;
@@ -158,8 +158,10 @@ public:
158
158
  static void SetSuntablefile(char* instring) { strcpy(Suntablefile, instring); }
159
159
  double Tol, RelTol, a1, a2,corrquad, corrquad2, safedist;
160
160
  double mass_radius_exponent, mass_luminosity_exponent, lens_mass_luminosity_exponent;
161
- int satellite, parallaxsystem, t0_par, t0_par_fixed, nsat;
161
+ int satellite, parallaxsystem, t0_par_fixed, nsat;
162
+ double t0_par;
162
163
  bool suntable, parallaxephemeris;
164
+ int parallaxextrapolation;
163
165
  int minannuli, maxannuli, nannuli, NPS, NPcrit;
164
166
  int newtonstep;
165
167
  double y_1, y_2, av, therr, astrox1, astrox2;
@@ -607,3 +609,4 @@ inline double _point::operator-(_point p2) {
607
609
 
608
610
 
609
611
  #endif
612
+
@@ -35,6 +35,8 @@ PYBIND11_MODULE(VBMicrolensing, m) {
35
35
  "Number of points in critical curves.");
36
36
  vbm.def_readwrite("parallaxephemeris", &VBMicrolensing::parallaxephemeris,
37
37
  "True for parallax calculation with ephemeris, False for parallax calculation with Kepler equation");
38
+ vbm.def_readwrite("parallaxextrapolation", &VBMicrolensing::parallaxextrapolation,
39
+ "If non-zero, extrapolation has been used because the input time is outside the lookup tables");
38
40
  vbm.def_readwrite("parallaxsystem", &VBMicrolensing::parallaxsystem,
39
41
  "0 for parallel-perpendicular, 1 for North-Eeast.");
40
42
  vbm.def_readwrite("t0_par_fixed", &VBMicrolensing::t0_par_fixed,
@@ -498,6 +500,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
498
500
  self.PSPLLightCurveParallax(params.data(), times.data(), mags.data(),
499
501
  y1s.data(), y2s.data(), times.size());
500
502
  std::vector< std::vector<double> > results{ mags,y1s,y2s };
503
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
501
504
  return results;
502
505
  },
503
506
  R"mydelimiter(
@@ -544,6 +547,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
544
547
  results: list[list[float],list[float],list[float]]
545
548
  [Magnification array, source position y1 array, source position y2 array]
546
549
  )mydelimiter");
550
+
547
551
  vbm.def("ESPLLightCurveParallax",
548
552
  [](VBMicrolensing& self, std::vector<double> params, std::vector<double> times)
549
553
  {
@@ -563,6 +567,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
563
567
  self.ESPLLightCurveParallax(params.data(), times.data(), mags.data(),
564
568
  y1s.data(), y2s.data(), times.size());
565
569
  std::vector< std::vector<double> > results{ mags,y1s,y2s };
570
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
566
571
  return results;
567
572
  },
568
573
  R"mydelimiter(
@@ -638,6 +643,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
638
643
  results: list[list[float],list[float],list[float]]
639
644
  [Magnification array, source position y1 array, source position y2 array]
640
645
  )mydelimiter");
646
+
641
647
  vbm.def("BinaryLightCurveParallax",
642
648
  [](VBMicrolensing& self, std::vector<double> params, std::vector<double> times)
643
649
  {
@@ -657,6 +663,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
657
663
  self.BinaryLightCurveParallax(params.data(), times.data(), mags.data(),
658
664
  y1s.data(), y2s.data(), times.size());
659
665
  std::vector< std::vector<double> > results{ mags,y1s,y2s };
666
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
660
667
  return results;
661
668
 
662
669
  },
@@ -699,6 +706,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
699
706
  self.BinaryLightCurveOrbital(params.data(), times.data(), mags.data(),
700
707
  y1s.data(), y2s.data(), separations.data(), times.size());
701
708
  std::vector< std::vector<double> > results{ mags,y1s,y2s, separations };
709
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
702
710
  return results;
703
711
  },
704
712
  R"mydelimiter(
@@ -742,6 +750,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
742
750
  self.BinaryLightCurveKepler(params.data(), times.data(), mags.data(),
743
751
  y1s.data(), y2s.data(), separations.data(), times.size());
744
752
  std::vector< std::vector<double> > results{ mags,y1s,y2s, separations };
753
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
745
754
  return results;
746
755
  },
747
756
  R"mydelimiter(
@@ -812,6 +821,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
812
821
  self.BinSourceLightCurveParallax(params.data(), times.data(), mags.data(),
813
822
  y1s.data(), y2s.data(), times.size());
814
823
  std::vector< std::vector<double> > results{ mags,y1s,y2s };
824
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
815
825
  return results;
816
826
  },
817
827
  R"mydelimiter(
@@ -913,6 +923,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
913
923
  self.BinSourceExtLightCurveXallarap(params.data(), times.data(), mags.data(),
914
924
  y1s1.data(), y2s1.data(), y1s2.data(), y2s2.data(), times.size());
915
925
  std::vector< std::vector<double> > results{ mags,y1s1,y2s1,y1s2,y2s2 };
926
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
916
927
  return results;
917
928
  },
918
929
  R"mydelimiter(
@@ -1039,6 +1050,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1039
1050
  self.BinSourceLightCurveXallarap(params.data(), times.data(), mags.data(),
1040
1051
  y1s.data(), y2s.data(), separations.data(), times.size());
1041
1052
  std::vector< std::vector<double> > results{ mags,y1s,y2s, separations };
1053
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1042
1054
  return results;
1043
1055
  },
1044
1056
  R"mydelimiter(
@@ -1114,6 +1126,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1114
1126
  self.TripleLightCurveParallax(params.data(), times.data(), mags.data(),
1115
1127
  y1s.data(), y2s.data(), times.size());
1116
1128
  std::vector< std::vector<double> > results{ mags,y1s,y2s };
1129
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1117
1130
  return results;
1118
1131
  },
1119
1132
  R"mydelimiter(
@@ -1212,6 +1225,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1212
1225
  self.PSPLAstroLightCurve(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1213
1226
  y1s.data(), y2s.data(), times.size());
1214
1227
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s,y2s };
1228
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1215
1229
  return results;
1216
1230
  },
1217
1231
  R"mydelimiter(
@@ -1262,6 +1276,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1262
1276
  self.ESPLAstroLightCurve(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1263
1277
  y1s.data(), y2s.data(), times.size());
1264
1278
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s,y2s };
1279
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1265
1280
  return results;
1266
1281
  },
1267
1282
  R"mydelimiter(
@@ -1314,6 +1329,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1314
1329
  self.BinaryAstroLightCurve(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1315
1330
  y1s.data(), y2s.data(), times.size());
1316
1331
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s,y2s };
1332
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1317
1333
  return results;
1318
1334
  },
1319
1335
  R"mydelimiter(
@@ -1366,6 +1382,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1366
1382
  self.BinaryAstroLightCurveOrbital(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1367
1383
  y1s.data(), y2s.data(), seps.data(), times.size());
1368
1384
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s,y2s, seps };
1385
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1369
1386
  return results;
1370
1387
  },
1371
1388
  R"mydelimiter(
@@ -1419,6 +1436,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1419
1436
  self.BinaryAstroLightCurveKepler(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1420
1437
  y1s.data(), y2s.data(), seps.data(), times.size());
1421
1438
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s,y2s, seps };
1439
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1422
1440
  return results;
1423
1441
  },
1424
1442
  R"mydelimiter(
@@ -1475,6 +1493,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1475
1493
  self.BinSourceAstroLightCurveXallarap(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1476
1494
  y1s1.data(), y2s1.data(), y1s2.data(), y2s2.data(), times.size());
1477
1495
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s1,y2s1,y1s2,y2s2 };
1496
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1478
1497
  return results;
1479
1498
  },
1480
1499
  R"mydelimiter(
@@ -1532,6 +1551,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1532
1551
  self.BinSourceBinLensAstroLightCurve(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1533
1552
  y1s1.data(), y2s1.data(), y1s2.data(), y2s2.data(), seps.data(), times.size());
1534
1553
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s1,y2s1,y1s2,y2s2,seps };
1554
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1535
1555
  return results;
1536
1556
  },
1537
1557
  R"mydelimiter(
@@ -1590,6 +1610,7 @@ PYBIND11_MODULE(VBMicrolensing, m) {
1590
1610
  self.TripleAstroLightCurve(params.data(), times.data(), mags.data(), c1s.data(), c2s.data(), c1l.data(), c2l.data(),
1591
1611
  y1s.data(), y2s.data(), times.size());
1592
1612
  std::vector< std::vector<double> > results{ mags, c1s, c2s, c1l, c2l,y1s,y2s };
1613
+ if (self.parallaxextrapolation > 0) py::print("Input time is outside range of lookup tables: extrapolation is used.");
1593
1614
  return results;
1594
1615
  },
1595
1616
  R"mydelimiter(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: VBMicrolensing
3
- Version: 5.3
3
+ Version: 5.3.2
4
4
  Summary: VBMicrolensing is a tool for efficient computation in gravitational microlensing events using the advanced contour integration method, supporting single, binary and multiple lenses.
5
5
  Keywords: Microlensing magnification and astrometry
6
6
  Author-Email: Valerio Bozza <valboz@sa.infn.it>, Vito Saggese <vitosaggese.vs@gmail.com>
@@ -1,16 +1,16 @@
1
- vbmicrolensing.libs/libgcc_s-a0b57c20.so.1,sha256=XPAr2giQZFaQKDEig3i_sQM7zfbaGkuhwmZ9ryvu-Vk,148041
2
1
  vbmicrolensing.libs/libstdc++-0d31ccbe.so.6.0.32,sha256=QyUTnI2umnGgPmNJ-6F_BVIAJnq6-70cNoEWpma6EFQ,3494521
3
- vbmicrolensing-5.3.dist-info/METADATA,sha256=HzYzW5BnoiFafPOeleHg4fPbbRFJv77W2eUO194B0EY,5252
4
- vbmicrolensing-5.3.dist-info/RECORD,,
5
- vbmicrolensing-5.3.dist-info/WHEEL,sha256=VD5qNWUX2PlorvsBg10rG2vDW3VtMA76SqyaXGf3aAM,116
6
- vbmicrolensing-5.3.dist-info/licenses/LICENSE,sha256=9Mshi9y3rHWswcmBvMd7l39rm2wqMn1ySJ_J_MvpDbo,7651
2
+ vbmicrolensing.libs/libgcc_s-a0b57c20.so.1,sha256=XPAr2giQZFaQKDEig3i_sQM7zfbaGkuhwmZ9ryvu-Vk,148041
3
+ vbmicrolensing-5.3.2.dist-info/RECORD,,
4
+ vbmicrolensing-5.3.2.dist-info/METADATA,sha256=bidNAxqv5zF1F1VwKuCYc-1wrliBCScqHBWhuBnBYv4,5254
5
+ vbmicrolensing-5.3.2.dist-info/WHEEL,sha256=VD5qNWUX2PlorvsBg10rG2vDW3VtMA76SqyaXGf3aAM,116
6
+ vbmicrolensing-5.3.2.dist-info/licenses/LICENSE,sha256=9Mshi9y3rHWswcmBvMd7l39rm2wqMn1ySJ_J_MvpDbo,7651
7
+ VBMicrolensing/VBMicrolensing.so,sha256=ZD65rBSVDHUkhMpgyK37PO5dZaPw0loi_b3QGal-1KA,871081
7
8
  VBMicrolensing/__init__.py,sha256=4Vvgfp21A_YOYqJUvBxXgWLOGannprtI4bZG31ELQgY,339
8
- VBMicrolensing/VBMicrolensing.so,sha256=fk4HibcpCEGH-nz6oxueBspT_OW0E08FHsu_74Lf9Ms,858793
9
- VBMicrolensing/lib/VBMicrolensingLibrary.cpp,sha256=DdN0jqrT4YTH9B2jUpgsO6utA7Yv9iRRZxr-0h4qgxI,281308
10
- VBMicrolensing/lib/python_bindings.cpp,sha256=ZeD0kqafLExPqgvsITdlFJ4moBoahhgukIGTcqClTlU,86363
11
- VBMicrolensing/lib/VBMicrolensingLibrary.h,sha256=pW9MKGPGSh2N4nJLI5u-3cz1sfGowbL4jEBWdZCWrKE,23085
9
+ VBMicrolensing/data/OB151212coords.txt,sha256=j8i1PA8r1atAO22li0KxM2cVWUDGF9tMaNurX-6Vx0o,18
12
10
  VBMicrolensing/data/SunEphemeris.txt,sha256=6PIPZoa6L38ITLUFDWFcmbREWgQkrGZePtDmgjaa-F8,1591038
13
- VBMicrolensing/data/satellite2.txt,sha256=wEySAu6SiUc7y5Vmx_B5jUnStpEtUyYp4u-HKlvb4Wk,112560
14
11
  VBMicrolensing/data/satellite1.txt,sha256=JzmXrT2aUJxoArVcXyZyGfscwSFIow_0fRh_ZMcxNS0,110290
15
- VBMicrolensing/data/OB151212coords.txt,sha256=j8i1PA8r1atAO22li0KxM2cVWUDGF9tMaNurX-6Vx0o,18
16
12
  VBMicrolensing/data/ESPL.tbl,sha256=Pv6QdMo1hJAlDdh2Znci9YHRej9gyrrASuLaegKiMsQ,488032
13
+ VBMicrolensing/data/satellite2.txt,sha256=wEySAu6SiUc7y5Vmx_B5jUnStpEtUyYp4u-HKlvb4Wk,112560
14
+ VBMicrolensing/lib/python_bindings.cpp,sha256=dv1-zDIeY8LQjzyRPve36u8izZ4l1MZT1usr8Q3nTzo,88784
15
+ VBMicrolensing/lib/VBMicrolensingLibrary.cpp,sha256=OwRjlNWctKf8uHsWHSNyigniM6CjoJtOCrYkTCCkheU,282167
16
+ VBMicrolensing/lib/VBMicrolensingLibrary.h,sha256=t-jyw6gEUfT6uh7LtlNWBHyuuZXRAf-jeboMzjN5Lt0,23110