39 |
* |
* |
40 |
*******************************************************************/ |
*******************************************************************/ |
41 |
#include <iostream> |
#include <iostream> |
|
#include <string.h> |
|
42 |
#include "discsignal.hh" |
#include "discsignal.hh" |
43 |
|
|
44 |
DiscSignal &DiscSignal::add ( DiscSignal &src ) |
DiscSignal &DiscSignal::add ( DiscSignal &src ) |
113 |
assert(fst > 0 && snd > 0 && snd > fst); |
assert(fst > 0 && snd > 0 && snd > fst); |
114 |
if (snd > this->length()) |
if (snd > this->length()) |
115 |
snd = length(); |
snd = length(); |
116 |
double *dres = (double *)malloc(sizeof(double) * (snd - fst)); |
// double *dres = new double[(snd - fst)]; |
117 |
memcpy(dres, (this->get_data() + fst), sizeof(double) * (snd - fst)); |
//memcpy(dres, (this->get_data() + fst), sizeof(double) * (snd - fst)); |
118 |
|
double *dres = new double[snd - fst](this->get_data() + fst); |
119 |
DiscSignal *res = new DiscSignal(dres, snd - fst); |
DiscSignal *res = new DiscSignal(dres, snd - fst); |
120 |
return *res; |
return *res; |
121 |
} |
} |
127 |
fst = 0; |
fst = 0; |
128 |
if (size + fst >= length()) |
if (size + fst >= length()) |
129 |
fst -= size + fst - length(); |
fst -= size + fst - length(); |
130 |
double *dres = (double *)malloc(sizeof(double) * size); |
//double *dres = new double[size]; |
131 |
memcpy(dres, (this->get_data() + fst), sizeof(double) * size); |
// memcpy(dres, (this->get_data() + fst), sizeof(double) * size); |
132 |
|
double *dres = new double[size](this->get_data() + fst); |
133 |
DiscSignal *res = new DiscSignal(dres, size); |
DiscSignal *res = new DiscSignal(dres, size); |
134 |
return *res; |
return *res; |
135 |
} |
} |