annotate wgt_himed.c @ 32:5b77348383b7

Add makefile
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Sun, 18 Jan 2015 20:48:40 -0500
parents e374cdd5e1e7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
1 /*
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2 * R : A Computer Language for Statistical Data Analysis
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 * Copyright (C) 2006--2007 the R Development Core Team
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4 *
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or modify
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8 * (at your option) any later version.
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 *
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
13 * GNU General Public License for more details.
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
14 *
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
16 * along with this program; if not, write to the Free Software
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
18
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
19 Used to be part of ./qn_sn.c
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
20
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
21 Note by MM: We have explicit permission from P.Rousseeuw to
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
22 licence it under the GNU Public Licence.
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
23
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
24 See also ../inst/Copyrights
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
25 */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
26 #include <inttypes.h>
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
27 /* ^^^^^^^^^^ is supposedly more common and standard than
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
28 * #include <stdint.h>
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
29 * or #include <sys/types.h> */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
30 /* --> int64_t ; if people don't have the above, they can forget about it.. */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
31 /* #include "int64.h" */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
32
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
33 #include <math.h> /* -> <math.h> and much more */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
34
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
35 #define _i_whimed_
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
36 #include "wgt_himed_templ.h"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
37
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
38 #define _d_whimed_
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
39 #include "wgt_himed_templ.h"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
40
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
41
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
42 void wgt_himed_i(double *x, int *n, int *iw, double *res)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
43 {
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
44 double *a_srt, *acand;
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
45 int *iw_cand, nn = (int)*n;
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
46
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
47 acand = (double *)malloc(nn*sizeof(double));
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
48 a_srt = (double *)malloc(nn*sizeof(double));
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
49 iw_cand= (int *) malloc(nn*sizeof(int));
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
50
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
51 *res = whimed_i(x, (int *)iw, nn, acand, a_srt, iw_cand);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
52 }
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
53
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
54 void wgt_himed(double *x, int *n, double *w, double *res)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
55 {
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
56 double *a_srt, *a_cand, *w_cand;
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
57 int nn = (int)*n;
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
58
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
59 a_cand = (double *) malloc(nn*sizeof(double));
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
60 a_srt = (double *) malloc(nn*sizeof(double));
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
61 w_cand = (double *) malloc(nn*sizeof(double));
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
62
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
63 *res = whimed(x, w, nn, a_cand, a_srt, w_cand);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
64 }