gendot.c File Reference

#include "machine.h"

Include dependency graph for gendot.c:

Go to the source code of this file.

Defines

#define DOT(Type)

Typedefs

typedef signed char integer1
typedef short integer2

Functions

int C2F() gendot (integer *typ, integer *n, int *dx, integer *incx, int *dy, integer *incy)


Define Documentation

#define DOT ( Type   ) 

Value:

{\
Type *DX;\
Type *DY;\
Type C;\
    DX=(Type *)dx;\
    --DX;\
    DY=(Type *)dy;\
    --DY;\
    if (*n <= 0) return (Type)itemp;\
    ix = 1;iy = 1;\
    if (*incx < 0) ix = (-(*n) + 1) * *incx + 1;\
    if (*incy < 0) iy = (-(*n) + 1) * *incy + 1;\
    for (i = 1; i <= i1; ++i) {\
        itemp += DX[ix] * DY[iy];\
        ix += *incx;\
        iy += *incy;\
    }\
    C = (Type) itemp;\
    return C;\
}

Definition at line 6 of file gendot.c.

Referenced by gendot().


Typedef Documentation

typedef signed char integer1

Definition at line 2 of file gendot.c.

typedef short integer2

Definition at line 3 of file gendot.c.


Function Documentation

int C2F() gendot ( integer typ,
integer n,
int dx,
integer incx,
int dy,
integer incy 
)

Definition at line 27 of file gendot.c.

References DOT, i, i1, ix, n, and typ.

00032 {
00033   integer i1;
00034   static integer i, itemp, ix, iy;
00035 
00036   itemp = 0;
00037   i1 = *n;
00038 
00039   switch (*typ) {
00040   case 1:
00041     DOT(integer1);
00042     break;
00043   case 2:
00044     DOT(integer2);
00045     break;
00046   case 4:
00047     DOT(integer);
00048     break;
00049   case 11:
00050     DOT(unsigned char);
00051     break;
00052   case 12:
00053     DOT(unsigned short);
00054     break;
00055   case 14:
00056     DOT(unsigned int);
00057     break;
00058   }
00059   return 0;
00060 }


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