Index: /trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4352)
+++ /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4353)
@@ -254,5 +254,6 @@
                                      QVector<t_polarPoint*>* dataMP2) {
 
-  const int LENGTH = 10;  // number of epochs in one chunk
+  const int    LENGTH = 10;  // number of epochs in one chunk
+  const double SLIP   = 5.0; // cycle-slip threshold
 
   int numEpo = satStat.anaObs.size();
@@ -262,6 +263,8 @@
     // Compute Mean
     // ------------
-    double mean1 = 0.0;
-    double mean2 = 0.0;
+    bool   slipFlag = false;
+    double mean1    = 0.0;
+    double mean2    = 0.0;
+
     for (int ii = 0; ii < LENGTH; ii++) {
       int iEpo = chunkStart + ii;
@@ -269,5 +272,21 @@
       mean1 += anaObs->MP1;
       mean2 += anaObs->MP2;
-    }
+  
+      // Check Slip
+      // ----------
+      if (ii > 0) {
+        double diff1 = anaObs->MP1 - satStat.anaObs[iEpo-1]->MP1;
+        double diff2 = anaObs->MP2 - satStat.anaObs[iEpo-1]->MP2;
+        if (fabs(diff1) > SLIP || fabs(diff2) > SLIP) {
+          slipFlag = true;
+          break;
+        }
+      }
+    }
+
+    if (slipFlag) {
+      continue;
+    }
+
     mean1 /= LENGTH;
     mean2 /= LENGTH;
@@ -288,4 +307,6 @@
     double MP2 = sqrt(stddev2 / (LENGTH-1));
 
+    // Add new Point
+    // -------------
     const t_anaObs* anaObs = satStat.anaObs[chunkStart];
     (*dataMP1) << (new t_polarPoint(anaObs->az, anaObs->zen, MP1));
@@ -293,9 +314,14 @@
 
     _log->setRealNumberNotation(QTextStream::FixedNotation);
+
     _log->setRealNumberPrecision(2);
-    *_log << "MP1 " << prn << " " << anaObs->az << " " << anaObs->zen << " "
-          << MP1 << endl;
-    *_log << "MP2 " << prn << " " << anaObs->az << " " << anaObs->zen << " " 
-          << MP2 << endl;
-  }
-}
+    *_log << "MP1 " << prn << " " << anaObs->az << " " << anaObs->zen << " ";
+    _log->setRealNumberPrecision(3);
+    *_log << MP1 << endl;
+
+    _log->setRealNumberPrecision(2);
+    *_log << "MP2 " << prn << " " << anaObs->az << " " << anaObs->zen << " ";
+    _log->setRealNumberPrecision(3);
+    *_log << MP2 << endl;
+  }
+}
