Changeset 3894
- Timestamp:
- May 11, 2005, 9:35:40 PM (21 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 3 edited
-
cmd.data/gaussdeviate.c (modified) (1 diff)
-
cmd.data/init.c (modified) (4 diffs)
-
lib.data/gaussian.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.data/gaussdeviate.c
r2598 r3894 29 29 30 30 } 31 32 double int_gauss (int i); 33 34 int gaussintegral (int argc, char **argv) { 35 36 int i, Npts; 37 double mean, sigma; 38 Vector *vec; 39 40 if (argc != 5) goto usage; 41 42 if ((vec = SelectVector (argv[1], ANYVECTOR, TRUE)) == NULL) return (FALSE); 43 44 Npts = atoi (argv[2]); 45 mean = atof (argv[3]); 46 sigma = atof (argv[4]); 47 48 vec[0].Nelements = Npts; 49 REALLOCATE (vec[0].elements, float, Npts); 50 51 gauss_init (Npts); 52 for (i = 0; i < Npts; i++) { 53 vec[0].elements[i] = int_gauss (i); 54 } 55 return (TRUE); 56 57 usage: 58 fprintf (stderr, "USAGE: gaussintegral Npts mean sigma\n"); 59 return (FALSE); 60 61 } -
trunk/Ohana/src/opihi/cmd.data/init.c
r3105 r3894 27 27 int gaussjordan PROTO((int, char **)); 28 28 int gaussdeviate PROTO((int, char **)); 29 int gaussintegral PROTO((int, char **)); 29 30 int grid PROTO((int, char **)); 30 31 int gridify PROTO((int, char **)); … … 95 96 int vroll PROTO((int, char **)); 96 97 int vpop PROTO((int, char **)); 98 int vsmooth PROTO((int, char **)); 97 99 int wd PROTO((int, char **)); 98 100 int write_vectors PROTO((int, char **)); … … 127 129 {"gaussj", gaussjordan, "solve Ax = B (N-D)"}, 128 130 {"gaussdev", gaussdeviate, "generate a gaussian deviate vector"}, 131 {"gaussint", gaussintegral, "return the integrated gaussian vector"}, 129 132 {"grid", grid, "plot cartesian grid"}, 130 133 {"gridify", gridify, "convert vector triplet to buffer"}, … … 193 196 {"vload", vload, "load vectors on Kii"}, 194 197 {"vstat", vstat, "get info from imreg database"}, 198 {"vsmooth", vsmooth, "gaussian smooth of a vector"}, 195 199 {"vroll", vroll, "roll vector elements"}, 196 200 {"vpop", vpop, "remove first element"}, -
trunk/Ohana/src/opihi/lib.data/gaussian.c
r2598 r3894 1 1 # include "data.h" 2 2 3 static int Ngaussint ;3 static int Ngaussint = 0; 4 4 static double *gaussint; 5 5 … … 24 24 double mean, sigma; 25 25 26 /* no need to generate this if it already exists */ 27 if (Ngaussint == Nbin) return; 28 26 29 A = time(NULL); 27 30 for (B = 0; A == time(NULL); B++); … … 45 48 3.0*gaussian(x+dx3, mean, sigma)) * (dx1/8.0); 46 49 val += df; 47 if (val > (i / (double) Ngaussint)) {50 if (val > (i + 0.5) / (double) Ngaussint) { 48 51 gaussint[i] = x + dx / 2.0; 49 52 i++; … … 65 68 } 66 69 70 double int_gauss (int i) { 71 double y; 72 y = gaussint[i]; 73 return (y); 74 } 75
Note:
See TracChangeset
for help on using the changeset viewer.
