~ubuntu-branches/ubuntu/hoary/scilab/hoary

« back to all changes in this revision

Viewing changes to routines/int/genmcusum.c

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2002-03-21 16:57:43 UTC
  • Revision ID: james.westby@ubuntu.com-20020321165743-e9mv12c1tb1plztg
Tags: upstream-2.6
ImportĀ upstreamĀ versionĀ 2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "../machine.h"
 
2
typedef char integer1;
 
3
typedef short integer2;
 
4
/*     Copyright INRIA */
 
5
static integer c__1 = 1;
 
6
#define MCUSUM(Type) {\
 
7
Type *A;\
 
8
Type *V;\
 
9
    A=(Type *)a;\
 
10
    if (*job == 0) {\
 
11
         C2F(gencusum)(typ,&mn, A, &c__1);\
 
12
    }\
 
13
    else if (*job == 1) {\
 
14
        for (j = 0; j < *n; ++j) {\
 
15
            C2F(gencusum)(typ,m, &A[j * (*na) ], &c__1);\
 
16
        }}\
 
17
    else if (*job == 2) {\
 
18
        for (i = 0; i < *m; ++i) {\
 
19
            C2F(gencusum)(typ,n, &A[i], na);\
 
20
        }\
 
21
    }\
 
22
}
 
23
 
 
24
int C2F(genmcusum)(typ,job, a, na, m, n)
 
25
     integer *typ, *job, *a, *na, *m, *n;
 
26
{
 
27
  extern integer  C2F(gencusum)();
 
28
  static integer  i, j, mn;
 
29
 
 
30
  mn=(*m)*(*n);
 
31
 
 
32
  switch (*typ) {
 
33
  case 1:
 
34
    MCUSUM(integer1);
 
35
    break;
 
36
  case 2:
 
37
    MCUSUM(integer2);
 
38
    break;
 
39
  case 4:
 
40
    MCUSUM(integer);
 
41
    break;
 
42
  case 11:
 
43
    MCUSUM(unsigned char);
 
44
    break;
 
45
  case 12:
 
46
    MCUSUM(unsigned short);
 
47
    break;
 
48
  case 14:
 
49
    MCUSUM(unsigned int);
 
50
    break;
 
51
  }
 
52
}