~ubuntu-branches/ubuntu/karmic/scilab/karmic

« back to all changes in this revision

Viewing changes to routines/int/geninsert2.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
 
 
6
#define INSERT2(Type) {\
 
7
Type *FROM;\
 
8
Type *TO;\
 
9
    FROM=(Type *)from;\
 
10
    --FROM;\
 
11
    TO=(Type *)to;\
 
12
    --TO;\
 
13
    i1 = *mj;\
 
14
    for (j = 1; j <= i1; ++j) {\
 
15
        ljj = (indxj[j] - 1) * (*mr);\
 
16
        jj = (j - 1) * (*m3);\
 
17
        i2 = *mi;\
 
18
        for (i = 1; i <= i2; ++i)\
 
19
            TO[indxi[i] + ljj] = FROM[(i - 1 + jj) * (*inc3) + 1];\
 
20
    }\
 
21
}
 
22
 
 
23
int C2F(geninsert2)(typ,mj,mi,indxj,indxi,to,mr,from,m3,inc3)
 
24
integer *typ;
 
25
integer *mi,*mj,*mr,*m3,*inc3;
 
26
integer *indxi,*indxj;
 
27
integer *from;
 
28
integer *to;
 
29
{
 
30
  integer i1, i2;
 
31
  static integer i, j, l, ljj,jj;
 
32
 
 
33
  --indxi;
 
34
  --indxj;
 
35
 
 
36
  switch (*typ) {
 
37
  case 1:
 
38
    INSERT2(integer1);
 
39
    break;
 
40
  case 2:
 
41
    INSERT2(integer2);
 
42
    break;
 
43
  case 4:
 
44
    INSERT2(integer);
 
45
    break;
 
46
  case 11:
 
47
    INSERT2(unsigned char);
 
48
    break;
 
49
  case 12:
 
50
    INSERT2(unsigned short);
 
51
    break;
 
52
  case 14:
 
53
    INSERT2(unsigned int);
 
54
    break;
 
55
  }
 
56
}
 
57