genmin2.c File Reference

#include "machine.h"
#include "genmin2.h"

Include dependency graph for genmin2.c:

Go to the source code of this file.

Defines

#define MIN2(Xtype, Ytype)

Typedefs

typedef signed char integer1
typedef short integer2

Functions

void C2F() genmin2 (integer *n, void *dx, integer *incx, integer *xtyp, void *dy, integer *ytyp, integer *ind, integer *no)


Define Documentation

#define MIN2 ( Xtype,
Ytype   ) 

Value:

{\
Xtype *DX;\
Ytype *DY;\
    DY=(Ytype *)dy;\
    --DY;\
    DX=(Xtype *)dx;\
    --DX;\
    ix = 1;\
    for (i = 1; i <= *n; ++i) {\
      if ((Ytype)DX[ix] < DY[i]) {\
        DY[i] = (Ytype)DX[ix];\
        ind[i-1] = *no;}\
        ix = ix + *incx;\
    }\
}

Definition at line 7 of file genmin2.c.

Referenced by genmin2().


Typedef Documentation

typedef signed char integer1

Definition at line 3 of file genmin2.c.

typedef short integer2

Definition at line 4 of file genmin2.c.


Function Documentation

void C2F() genmin2 ( integer n,
void *  dx,
integer incx,
integer xtyp,
void *  dy,
integer ytyp,
integer ind,
integer no 
)

Definition at line 23 of file genmin2.c.

References i, ix, and MIN2.

00024 {
00025   static integer i,ix;
00026   /*    printf("%d %d\n",*xtyp,*ytyp);*/
00027   switch (*xtyp) {
00028   case 0:
00029     switch (*ytyp) {
00030     case 0:
00031       MIN2(double,double);
00032       break;
00033     case 4:
00034       MIN2(double,integer);
00035       break;
00036     case 2:
00037       MIN2(double,integer2);
00038       break;
00039     case 1:
00040       MIN2(double,integer1);
00041       break;
00042     case 14:
00043       MIN2(double,unsigned int);
00044       break;
00045     case 12:
00046       MIN2(double,unsigned short);
00047       break;
00048     case 11:
00049       MIN2(double,unsigned char);
00050       break;
00051     }
00052     break;
00053   case 1:
00054     switch (*ytyp) {
00055     case 0:
00056       MIN2(integer1,double);
00057       break;
00058     case 4:
00059       MIN2(integer1,integer);
00060       break;
00061     case 2:
00062       MIN2(integer1,integer2);
00063       break;
00064     case 1:
00065       MIN2(integer1,integer1);
00066       break;
00067     case 14:
00068       MIN2(integer1,unsigned int);
00069       break;
00070     case 12:
00071       MIN2(integer1,unsigned short);
00072       break;
00073     case 11:
00074       MIN2(integer1,unsigned char);
00075       break;
00076     }
00077     break;
00078   case 2:
00079     switch (*ytyp) {
00080     case 0:
00081       MIN2(integer2,double);
00082       break;
00083     case 4:
00084       MIN2(integer2,integer);
00085       break;
00086     case 2:
00087       MIN2(integer2,integer2);
00088       break;
00089     case 1:
00090       MIN2(integer2,integer1);
00091       break;
00092     case 14:
00093       MIN2(integer2,unsigned int);
00094       break;
00095     case 12:
00096       MIN2(integer2,unsigned short);
00097       break;
00098     case 11:
00099       MIN2(integer2,unsigned char);
00100       break;
00101     }
00102     break;
00103   case 4:
00104     switch (*ytyp) {
00105     case 0:
00106       MIN2(integer,double);
00107       break;
00108     case 2:
00109       MIN2(integer,integer2);
00110       break;
00111     case 4:
00112       MIN2(integer,integer);
00113       break;
00114     case 11:
00115       MIN2(integer,unsigned char);
00116       break;
00117     case 12:
00118       MIN2(integer,unsigned short);
00119       break;
00120     case 14:
00121       MIN2(integer,unsigned int);
00122       break;
00123     }
00124     break;
00125   case 11:
00126     switch (*ytyp) {
00127     case 0:
00128       MIN2(unsigned char,double);
00129       break;
00130     case 4:
00131       MIN2(unsigned char,integer);
00132       break;
00133     case 2:
00134       MIN2(unsigned char,integer2);
00135       break;
00136     case 1:
00137       MIN2(unsigned char,integer1);
00138       break;
00139     case 14:
00140       MIN2(unsigned char,unsigned int);
00141       break;
00142     case 12:
00143       MIN2(unsigned char,unsigned short);
00144       break;
00145     case 11:
00146       MIN2(unsigned char,unsigned char);
00147       break;
00148     }
00149     break;
00150   case 12:
00151     switch (*ytyp) {
00152     case 0:
00153       MIN2(unsigned short,double);
00154       break;
00155     case 4:
00156       MIN2(unsigned short,integer);
00157       break;
00158     case 2:
00159       MIN2(unsigned short,integer2);
00160       break;
00161     case 1:
00162       MIN2(unsigned short,integer1);
00163       break;
00164     case 14:
00165       MIN2(unsigned short,unsigned int);
00166       break;
00167     case 12:
00168       MIN2(unsigned short,unsigned short);
00169       break;
00170     case 11:
00171       MIN2(unsigned short,unsigned char);
00172       break;
00173     }
00174     break;
00175   case 14:
00176     switch (*ytyp) {
00177     case 0:
00178       MIN2(integer,double);
00179       break;
00180     case 4:
00181       MIN2(integer,integer);
00182       break;
00183     case 2:
00184       MIN2(integer,integer2);
00185       break;
00186     case 1:
00187       MIN2(integer,integer1);
00188       break;
00189     case 14:
00190       MIN2(integer,unsigned int);
00191       break;
00192     case 12:
00193       MIN2(integer,unsigned short);
00194       break;
00195     case 11:
00196       MIN2(integer,unsigned char);
00197       break;
00198     }
00199     break;
00200   }
00201 }


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