35 lines
622 B
C++
35 lines
622 B
C++
|
#include <cmath>
|
||
|
#include "Poly1dInterpolator.h"
|
||
|
|
||
|
void
|
||
|
Poly1dInterpolator::getData(char * buf, int row, int col, int & numEl)
|
||
|
{
|
||
|
if (row < this->NumberOfLines)
|
||
|
{
|
||
|
double res;
|
||
|
for (int i = 0; i < numEl; ++i)
|
||
|
{
|
||
|
res = evalPoly1d(poly, (double) col);
|
||
|
|
||
|
(*(double *) &buf[i * SizeV]) = res;
|
||
|
++col;
|
||
|
//not that here row stand for the dimension that is changing
|
||
|
if(col == this->LineWidth)
|
||
|
{
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
NoGoodFlag = 1;
|
||
|
EofFlag = -1;
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
void
|
||
|
Poly1dInterpolator::init(void * poly)
|
||
|
{
|
||
|
this->poly = static_cast<cPoly1d *>(poly);
|
||
|
}
|