Go to the documentation of this file.
20 void lspline(
float xin [],
float yin [], int32_t nin,
21 float xout[],
float yout[], int32_t nout) {
28 for (
i = 0;
i < nout;
i++)
35 for (
i = 0;
i < nout;
i++) {
37 while (xin[
j] < xout[
i]) {
45 if (xout[
i] == xin[
j]) {
49 a = (yin[
j] - yin[
j - 1]) / (xin[
j] - xin[
j - 1]);
51 x = xout[
i] - xin[
j - 1];
59 float linterp(
float xin [],
float yin [], int32_t nin,
float xout) {
61 lspline(xin, yin, nin, &xout, &yout, 1);
67 int main(
int argc,
char *argv[]) {
72 float x1[5] = {1, 2, 3, 4, 5};
73 float y1[5] = {2.5, 4.5, 6.5, 8.5, 10.5};
74 float x2[9] = {-0.5, 0.5, 1.5, 1.9, 2.1, 3.5, 4.5, 5.0, 6.5};
77 float ylgint_(
float x1[],
float y1[], int32_t *n,
float *x2, int32_t * order);
81 for (
i = 0;
i < 7;
i++)
82 printf(
"%d %f %f %f %f\n",
i, x2[
i], y2[
i],
linterp(x1, y1, n, x2[
i]), ylgint_(x1, y1, &n, &x2[
i], &order));
float linterp(float xin[], float yin[], int32_t nin, float xout)
int main(int argc, char *argv[])
PGE01 indicating that PGE02 PGE01 V6 for and PGE01 V2 for MOD03 were used to produce the granule By convention adopted in all MODIS Terra PGE02 code versions are The fourth digit of the PGE02 version denotes the LUT version used to produce the granule The source of the metadata environment variable ProcessingCenter was changed from a QA LUT value to the Process Configuration A sign used in error in the second order term was changed to a
void lspline(float xin[], float yin[], int32_t nin, float xout[], float yout[], int32_t nout)