gendiag.c File Reference

#include "machine.h"

Include dependency graph for gendiag.c:

Go to the source code of this file.

Defines

#define Abs(x)   ( ( (x) >= 0) ? (x) : -( x) )
#define DIAG(Type)

Typedefs

typedef signed char integer1
typedef short integer2

Functions

int C2F() gendiag (integer *typ, integer *n, integer *k, int *dx, int *dy)


Define Documentation

#define Abs ( x   )     ( ( (x) >= 0) ? (x) : -( x) )

Definition at line 6 of file gendiag.c.

#define DIAG ( Type   ) 

Value:

{\
Type *DX;\
Type *DY;\
    DX=(Type *)dx;\
    DY=(Type *)dy;\
    --DY;\
    for (i = 1; i <= nn*nn; ++i) {\
       DY[i] = 0;}\
    if (*k>=0) {\
      iy=1+(*k)*nn;}\
    else {\
      iy=1-(*k);}\
    for (i = 0; i < *n; ++i) {\
       DY[iy+i*(nn+1)] = DX[i];}\
 }

Definition at line 8 of file gendiag.c.

Referenced by gendiag().


Typedef Documentation

typedef signed char integer1

Definition at line 2 of file gendiag.c.

typedef short integer2

Definition at line 3 of file gendiag.c.


Function Documentation

int C2F() gendiag ( integer typ,
integer n,
integer k,
int dx,
int dy 
)

Definition at line 24 of file gendiag.c.

References Abs, DIAG, i, n, and typ.

00030 {
00031   static integer i, iy, nn;
00032 
00033   nn = *n+Abs(*k);
00034 
00035   switch (*typ) {
00036   case 1:
00037     DIAG(integer1);
00038     break;
00039   case 2:
00040     DIAG(integer2);
00041     break;
00042   case 4:
00043     DIAG(integer);
00044     break;
00045   case 11:
00046     DIAG(unsigned char);
00047     break;
00048   case 12:
00049     DIAG(unsigned short);
00050     break;
00051   case 14:
00052     DIAG(unsigned int);
00053     break;
00054   }
00055   return 0;
00056 }


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