gensum.c File Reference

#include "machine.h"

Include dependency graph for gensum.c:

Go to the source code of this file.

Defines

#define SUM(Type)

Typedefs

typedef signed char integer1
typedef short integer2

Functions

integer C2F() gensum (integer *typ, integer *n, integer *dx, integer *incx)


Define Documentation

#define SUM ( Type   ) 

Value:

{\
Type *DX;\
 DX=(Type *)dx;\
 --DX;\
 if (*incx == 1) {\
   for (i = 1; i <= *n; ++i) dtemp += (integer)DX[i];\
 }\
 else {\
   i1 = *n * *incx;i2 = *incx;\
   for (i = 1; i2 < 0 ? i >= i1 : i <= i1; i += i2) dtemp += (integer)DX[i];\
 }\
}

Definition at line 6 of file gensum.c.

Referenced by gensum().


Typedef Documentation

typedef signed char integer1

Definition at line 2 of file gensum.c.

typedef short integer2

Definition at line 3 of file gensum.c.


Function Documentation

integer C2F() gensum ( integer typ,
integer n,
integer dx,
integer incx 
)

Definition at line 19 of file gensum.c.

References i, i1, i2, n, SUM, and typ.

Referenced by genmsum().

00021 {
00022     integer  i1, i2;
00023     static integer i, dtemp;
00024 
00025 
00026     dtemp = 0;
00027     if (*n <= 0) return dtemp;
00028 
00029     switch (*typ) {
00030     case 1:
00031       SUM(integer1);
00032       break;
00033     case 2:
00034       SUM(integer2);
00035       break;
00036     case 4:
00037       SUM(integer);
00038       break;
00039     case 11:
00040       SUM(unsigned char);
00041       break;
00042     case 12:
00043       SUM(unsigned short);
00044       break;
00045     case 14:
00046       SUM(unsigned int);
00047       break;
00048     }
00049     return dtemp;
00050 }

Here is the caller graph for this function:


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