Linuxpops  3.01.04
Spectral Anaysis Package for Single Dish Data
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
findinterp.c
Go to the documentation of this file.
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <strings.h>
4 #include <string.h>
5 #include <math.h>
6 
7 #include "caclib_proto.h"
8 
9 #define MAX_GAP 5
10 
11 double v1a[8], v2a[8];
12 
13 int makeInterpTable(interval)
14 int interval;
15 {
16  int i;
17  double val = 0.0, frac, findx;
18 
19  if(interval > MAX_GAP)
20  {
21  return(1);
22  }
23 
24  findx = (double)interval + 1.0;
25 
26  frac = 1.0 / findx;
27 
28  for(i=0;i<interval;i++)
29  {
30  v1a[i] = frac * ((double)i + 1.0);
31  v2a[i] = 1.0 - v1a[i];
32  }
33 
34  log_msg("V1A: %d: %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f", interval,
35  v1a[0], v1a[1], v1a[2], v1a[3], v1a[4], v1a[5], v1a[6], v1a[7]);
36 
37  log_msg("V2A: %d: %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f", interval,
38  v2a[0], v2a[1], v2a[2], v2a[3], v2a[4], v2a[5], v2a[6], v2a[7]);
39 
40 
41  return(val);
42 }
43 
44 
45 int main(argc, argv)
46 int argc;
47 char *argv[];
48 {
49  int i, j;
50  double val, v1, v2;
51 
52  v1 = 0.0;
53  v2 = 1.0;
54 
55  log_msg("P1 = %f; P2 = %f", v1, v2);
56 
57  for(i=2;i<MAX_GAP;i++)
58  {
59  makeInterpTable(i);
60 
61  for(j=0;j<i;j++)
62  {
63  val = v1 * v1a[j] + v2 * v2a[j];
64  log_msg("V: %f", val);
65  }
66  }
67 
68  return(0);
69 }
70 
int main(void)
Definition: gsl_try_2.c:176
double v2a[8]
Definition: findinterp.c:11
int makeInterpTable(int interval)
Definition: findinterp.c:13
int log_msg(const char *fmt,...)
#define MAX_GAP
Definition: findinterp.c:9
double v1a[8]
Definition: findinterp.c:11