aboutsummaryrefslogtreecommitdiff
path: root/devel/gpsim/files/patch-modules__stimuli.cc
blob: 7e2fdd54b5a9f3248660bd7d26f8540aaabc6b50 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--- modules/stimuli.cc.orig
+++ modules/stimuli.cc
@@ -216,7 +216,7 @@
   //----------------------------------------------------------------------
   //----------------------------------------------------------------------
 
-  PulseGen::PulseGen(const char *_name=0)
+  PulseGen::PulseGen(const char *_name)
     : StimulusBase(_name, "\
 Pulse Generator\n\
  Attributes:\n\
@@ -402,13 +402,20 @@
     setBreak(m_start_cycle + (*si).time, si);
 
   }
+
+  static bool compare_data_point(const ValueStimulusData &data_point1,
+                                 const ValueStimulusData &data_point2)
+  {
+    return (data_point1.time < data_point2.time);
+  }
+
   void PulseGen::put_data(ValueStimulusData &data_point)
   {
     list<ValueStimulusData>::iterator si;
     si = find(samples.begin(), samples.end(), data_point);
     if (si == samples.end()) {
       samples.push_back(data_point);
-      samples.sort();
+      samples.sort(compare_data_point);
     } else {
       delete (*si).v;
       (*si).v = data_point.v;