gentriu.c File Reference

#include "machine.h"
#include "gentriu.h"

Include dependency graph for gentriu.c:

Go to the source code of this file.

Defines

#define TRIU(Type)

Typedefs

typedef signed char integer1
typedef short integer2

Functions

int C2F() gentriu (integer *typ, integer *m, integer *n, integer *k, int *dx)


Define Documentation

#define TRIU ( Type   ) 

Value:

{\
Type *DX;\
    DX=(Type *)dx;\
    kk = *k;\
    nn = *n;\
    l = 0;\
    if (kk>0) {\
      for (i = 0; i < (*m)*kk; ++i) \
         DX[i] = 0;\
      l = l+ (*m)*kk;\
      nn = nn - kk;\
      kk = 0;}\
    ls = l +1 - kk;\
    ll = *m -1 + kk;\
    for (j = 1; j <= nn; ++j) {\
      if (ll > 0) {\
        for (i = 0; i < ll; ++i) \
          DX[ls+i] = 0;\
        ll--;\
        ls = ls + *m +1;\
      }\
    }\
 }

Definition at line 8 of file gentriu.c.

Referenced by gentriu().


Typedef Documentation

typedef signed char integer1

Definition at line 3 of file gentriu.c.

typedef short integer2

Definition at line 4 of file gentriu.c.


Function Documentation

int C2F() gentriu ( integer typ,
integer m,
integer n,
integer k,
int dx 
)

Definition at line 32 of file gentriu.c.

References i, j, l, ls, TRIU, and typ.

00033 {
00034   static integer kk, l, ls, ll, j, i, nn;
00035 
00036   switch (*typ) {
00037   case 1:
00038     TRIU(integer1);
00039     break;
00040   case 2:
00041     TRIU(integer2);
00042     break;
00043   case 4:
00044     TRIU(integer);
00045     break;
00046   case 11:
00047     TRIU(unsigned char);
00048     break;
00049   case 12:
00050     TRIU(unsigned short);
00051     break;
00052   case 14:
00053     TRIU(unsigned int);
00054     break;
00055   }
00056   return 0;
00057 }


Generated on Sun Mar 4 16:08:00 2007 for Scilab [trunk] by  doxygen 1.5.1