stack1.c File Reference

#include <string.h>
#include "stack-c.h"
#include "stack1.h"
#include "stack2.h"
#include "sciprint.h"

Include dependency graph for stack1.c:

Go to the source code of this file.

Defines

#define memused(it, mn)   ((((mn)*( it % 10))/sizeof(int))+1)

Functions

static int C2F (getwsmati)
int C2F() getmat (char *fname, integer *topk, integer *lw, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getrmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() getcmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() matsize (char *fname, integer *topk, integer *lw, integer *m, integer *n, unsigned long fname_len)
int C2F() getmati (char *fname, integer *topk, integer *spos, integer *lw, integer *it, integer *m, integer *n, integer *lr, integer *lc, int *inlistx, integer *nel, unsigned long fname_len)
int C2F() listcremat (char *fname, integer *lw, integer *numi, integer *stlw, integer *it, integer *m, integer *n, integer *lrs, integer *lcs, unsigned long fname_len)
int C2F() cremat (char *fname, integer *lw, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() fakecremat (integer *lw, integer *it, integer *m, integer *n, integer *lr, integer *lc)
int C2F() cremati (char *fname, integer *stlw, integer *it, integer *m, integer *n, integer *lr, integer *lc, int *flagx, unsigned long fname_len)
int C2F() crematvar (integer *id, integer *lw, integer *it, integer *m, integer *n, double *rtab, double *itab)
int C2F() crebmatvar (integer *id, integer *lw, integer *m, integer *n, integer *val)
int C2F() cresmatvar (integer *id, integer *lw, char *str, integer *lstr, unsigned long str_len)
int C2F() getlistimat (char *fname, integer *topk, integer *spos, integer *lnum, integer *it, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() getimat (char *fname, integer *topk, integer *lw, integer *it, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() getimati (char *fname, integer *topk, integer *spos, integer *lw, integer *it, integer *m, integer *n, integer *lr, int *inlistx, integer *nel, unsigned long fname_len)
int C2F() listcreimat (char *fname, integer *lw, integer *numi, integer *stlw, integer *it, integer *m, integer *n, integer *lrs, unsigned long fname_len)
int C2F() creimat (char *fname, integer *lw, integer *it, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() creimati (char *fname, integer *stlw, integer *it, integer *m, integer *n, integer *lr, int *flagx, unsigned long fname_len)
int C2F() getlistbmat (char *fname, integer *topk, integer *spos, integer *lnum, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() getbmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() matbsize (char *fname, integer *topk, integer *lw, integer *m, integer *n, unsigned long fname_len)
int C2F() getbmati (char *fname, integer *topk, integer *spos, integer *lw, integer *m, integer *n, integer *lr, int *inlistx, integer *nel, unsigned long fname_len)
int C2F() listcrebmat (char *fname, integer *lw, integer *numi, integer *stlw, integer *m, integer *n, integer *lrs, unsigned long fname_len)
int C2F() crebmat (char *fname, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() fakecrebmat (integer *lw, integer *m, integer *n, integer *lr)
int C2F() crebmati (char *fname, integer *stlw, integer *m, integer *n, integer *lr, int *flagx, unsigned long fname_len)
int C2F() getlistsparse (char *fname, integer *topk, integer *spos, integer *lnum, integer *it, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getsparse (char *fname, integer *topk, integer *lw, integer *it, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getrsparse (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lr, unsigned long fname_len)
int C2F() getsparsei (char *fname, integer *topk, integer *spos, integer *lw, integer *it, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lr, integer *lc, int *inlistx, integer *nellist, unsigned long fname_len)
int C2F() listcresparse (char *fname, integer *lw, integer *numi, integer *stlw, integer *it, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lrs, integer *lcs, unsigned long fname_len)
int C2F() cresparse (char *fname, integer *lw, integer *it, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lr, integer *lc, unsigned long fname_len)
int C2F() cresparsei (char *fname, integer *stlw, integer *it, integer *m, integer *n, integer *nel, integer *mnel, integer *icol, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getlistvect (char *fname, integer *topk, integer *spos, integer *lnum, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getvect (char *fname, integer *topk, integer *lw, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getrvect (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() vectsize (char *fname, integer *topk, integer *lw, integer *n, unsigned long fname_len)
int C2F() getlistscalar (char *fname, integer *topk, integer *spos, integer *lnum, integer *lr, unsigned long fname_len)
int C2F() getscalar (char *fname, integer *topk, integer *lw, integer *lr, unsigned long fname_len)
int C2F() getlistsmat (char *fname, integer *topk, integer *spos, integer *lnum, integer *m, integer *n, integer *ix, integer *j, integer *lr, integer *nlr, unsigned long fname_len)
int C2F() getsmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *ix, integer *j, integer *lr, integer *nlr, unsigned long fname_len)
int C2F() getsimat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *ix, integer *j, integer *lr, integer *nlr, unsigned long fname_len)
int C2F() getlistwsmat (char *fname, integer *topk, integer *spos, integer *lnum, integer *m, integer *n, integer *ilr, integer *ilrd, unsigned long fname_len)
int C2F() getwsmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *ilr, integer *ilrd, unsigned long fname_len)
static int C2F() getwsmati (char *fname, integer *topk, integer *spos, integer *lw, integer *m, integer *n, integer *ilr, integer *ilrd, int *inlistx, integer *nel, unsigned long fname_len)
int C2F() getsmati (char *fname, integer *topk, integer *spos, integer *lw, integer *m, integer *n, integer *ix, integer *j, integer *lr, integer *nlr, int *inlistx, int *nel, unsigned long fname_len)
int C2F() getsimati (char *fname, integer *topk, integer *spos, integer *lw, integer *m, integer *n, integer *ix, integer *j, integer *lr, integer *nlr, int *inlistx, integer *nel, unsigned long fname_len)
int C2F() listcresmat (char *fname, integer *lw, integer *numi, integer *stlw, integer *m, integer *n, integer *nchar, integer *job, integer *ilrs, unsigned long fname_len)
int C2F() cresmat (char *fname, integer *lw, integer *m, integer *n, integer *nchar, unsigned long fname_len)
int C2F() cresmat1 (char *fname, integer *lw, integer *m, integer *nchar, unsigned long fname_len)
int C2F() cresmat2 (char *fname, integer *lw, integer *nchar, integer *lr, unsigned long fname_len)
int C2F() cresmat3 (char *fname, integer *lw, integer *m, integer *n, integer *nchar, char *buffer, unsigned long fname_len, unsigned long buffer_len)
int C2F() cresmat4 (char *fname, integer *lw, integer *m, integer *nchar, integer *lr, unsigned long fname_len)
int C2F() cresmati (char *fname, integer *stlw, integer *m, integer *n, integer *nchar, integer *job, integer *lr, integer *sz, unsigned long fname_len)
int cre_smat_from_str_i (char *fname, integer *lw, integer *m, integer *n, char *Str[], unsigned long fname_len, integer *rep)
int cre_smat_from_str (char *fname, integer *lw, integer *m, integer *n, char *Str[], unsigned long fname_len)
int cre_listsmat_from_str (char *fname, integer *lw, integer *numi, integer *stlw, integer *m, integer *n, char *Str[], unsigned long fname_len)
int cre_sparse_from_ptr_i (char *fname, integer *lw, integer *m, integer *n, SciSparse *S, unsigned long fname_len, integer *rep)
int cre_sparse_from_ptr (char *fname, integer *lw, integer *m, integer *n, SciSparse *Str, unsigned long fname_len)
int cre_listsparse_from_ptr (char *fname, integer *lw, integer *numi, integer *stlw, integer *m, integer *n, SciSparse *Str, unsigned long fname_len)
int C2F() listcrestring (char *fname, integer *lw, integer *numi, integer *stlw, integer *nch, integer *ilrs, unsigned long fname_len)
int C2F() crestring (char *fname, integer *spos, integer *nchar, integer *ilrs, unsigned long fname_len)
int C2F() crestringi (char *fname, integer *stlw, integer *nchar, integer *ilrs, unsigned long fname_len)
int C2F() fakecresmat2 (integer *lw, integer *nchar, integer *lr)
int C2F() smatj (char *fname, integer *lw, integer *j, unsigned long fname_len)
int C2F() copysmat (char *fname, integer *flw, integer *tlw, unsigned long fname_len)
int C2F() setsimat (char *fname, integer *lw, integer *ix, integer *j, integer *nlr, unsigned long fname_len)
int crelist_G (integer *slw, integer *ilen, integer *lw, integer type)
int C2F() crelist (integer *slw, integer *ilen, integer *lw)
int C2F() cretlist (integer *slw, integer *ilen, integer *lw)
int C2F() cremlist (integer *slw, integer *ilen, integer *lw)
int C2F() lmatj (char *fname, integer *lw, integer *j, unsigned long fname_len)
int C2F() getilist (char *fname, integer *topk, integer *lw, integer *n, integer *ix, integer *ili, unsigned long fname_len)
int C2F() getpoly (char *fname, integer *topk, integer *lw, integer *it, integer *m, integer *n, char *namex, integer *namel, integer *ilp, integer *lr, integer *lc, unsigned long fname_len, unsigned long name_len)
int C2F() getonepoly (char *fname, integer *topk, integer *lw, integer *it, integer *md, char *namex, integer *namel, integer *lr, integer *lc, unsigned long fname_len, unsigned long name_len)
int C2F() pmatj (char *fname, integer *lw, integer *j, unsigned long fname_len)
int C2F() crewmat (char *fname, integer *lw, integer *m, integer *lr, unsigned long fname_len)
int C2F() crewimat (char *fname, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() getwimat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() crestringv (char *fname, integer *spos, integer *ilorig, integer *lw, unsigned long fname_len)
int C2F() listcrepointer (char *fname, integer *lw, integer *numi, integer *stlw, integer *lrs, unsigned long fname_len)
int C2F() crepointer (char *fname, integer *lw, integer *lr, unsigned long fname_len)
int C2F() crepointeri (char *fname, integer *stlw, integer *lr, int *flagx, unsigned long fname_len)
int C2F() lcrestringmatfromc (char *fname, integer *spos, integer *numi, integer *stlw, integer *lorig, integer *m, integer *n, unsigned long fname_len)
int C2F() crestringmatfromc (char *fname, integer *spos, integer *lorig, integer *m, integer *n, unsigned long fname_len)
int C2F() getlistvectrow (char *fname, integer *topk, integer *spos, integer *lnum, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getvectrow (char *fname, integer *topk, integer *spos, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getlistvectcol (char *fname, integer *topk, integer *spos, integer *lnum, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getvectcol (char *fname, integer *topk, integer *spos, integer *it, integer *m, integer *n, integer *lr, integer *lc, unsigned long fname_len)
int C2F() getlistsimat (char *fname, integer *topk, integer *spos, integer *lnum, integer *m, integer *n, integer *ix, integer *j, integer *lr, integer *nlr, unsigned long fname_len)
int C2F() getpointer (char *fname, integer *topk, integer *lw, integer *lr, unsigned long fname_len)
int C2F() getlistpointer (char *fname, integer *topk, integer *spos, integer *lnum, integer *lw, unsigned long fname_len)
int C2F() getpointeri (char *fname, integer *topk, integer *spos, integer *lw, integer *lr, int *inlistx, integer *nel, unsigned long fname_len)
int C2F() mspcreate (integer *lw, integer *m, integer *n, integer *nzMax, integer *it)
char * get_fname (char *fname, unsigned long fname_len)
int C2F() realmat ()
int C2F() copyobj (char *fname, integer *lw, integer *lwd, unsigned long fname_len)
int C2F() vcopyobj (char *fname, integer *lw, integer *lwd, unsigned long fname_len)
int C2F() swapmat (char *fname, integer *topk, integer *lw, integer *it1, integer *m1, integer *n1, integer *mn1, integer *it2, integer *m2, integer *n2, integer *mn2, unsigned long fname_len)
int C2F() insmat (integer *topk, integer *lw, integer *it, integer *m, integer *n, integer *lr, integer *lc, integer *lr1, integer *lc1)
int C2F() stackinfo (integer *lw, integer *typ)
int C2F() allmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, unsigned long fname_len)
int C2F() allmatset (char *fname, integer *lw, integer *m, integer *n, unsigned long fname_len)
int C2F() objvide (char *fname, integer *lw, unsigned long fname_len)
int C2F() getexternal (char *fname, integer *topk, integer *lw, char *namex, int *typex, void(*setfun) __PARAMS((char *, int *)), unsigned long fname_len, unsigned long name_len)
int C2F() checkval (char *fname, integer *ival1, integer *ival2, unsigned long fname_len)
int C2F() optvarget (char *fname, integer *topk, integer *iel, char *namex, unsigned long fname_len, unsigned long name_len)
int C2F() bufstore (char *fname, integer *lbuf, integer *lbufi, integer *lbuff, integer *lr, integer *nlr, unsigned long fname_len)
int C2F() credata (char *fname, integer *lw, integer m, unsigned long fname_len)
int C2F() crehmati (char *fname, integer *stlw, integer *m, integer *n, integer *lr, int *flagx, unsigned long fname_len)
int C2F() listcrehmat (char *fname, integer *lw, integer *numi, integer *stlw, integer *m, integer *n, integer *lrs, unsigned long fname_len)
int C2F() crehmat (char *fname, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() getlisthmat (char *fname, integer *topk, integer *spos, integer *lnum, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() gethmat (char *fname, integer *topk, integer *lw, integer *m, integer *n, integer *lr, unsigned long fname_len)
int C2F() gethmati (char *fname, integer *topk, integer *spos, integer *lw, integer *m, integer *n, integer *lr, int *inlistx, integer *nel, unsigned long fname_len)

Variables

static integer cx0 = 0
static integer cx1 = 1
static integer cx4 = 4
static int c_true = TRUE_
static int c_false = FALSE_
static char Fname [nlgh+1]


Define Documentation

#define memused ( it,
mn   )     ((((mn)*( it % 10))/sizeof(int))+1)

Definition at line 383 of file stack1.c.

Referenced by creimat(), creimati(), inextj(), listcreimat(), NoRhs(), and stcreate().


Function Documentation

int C2F() allmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
unsigned long  fname_len 
)

Definition at line 2859 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, istk, Lstk, lw, m, n, Rhs, topk, and TRUE_.

02860 {
02861   integer itype, il;
02862   il = iadr(*Lstk(*lw ));
02863   if (*istk(il ) < 0) il = iadr(*istk(il +1));
02864   itype = *istk(il );
02865   if (itype != 1 && itype != 2 && itype != 10) {
02866     Scierror(209,"%s: Argument %d wrong type argument, expecting a matrix\r\n",
02867              get_fname(fname,fname_len) ,  Rhs + (*lw - *topk));
02868     return FALSE_;
02869   }
02870   *m = *istk(il + 1);
02871   *n = *istk(il + 2);
02872   return TRUE_;
02873 } 

Here is the call graph for this function:

int C2F() allmatset ( char *  fname,
integer lw,
integer m,
integer n,
unsigned long  fname_len 
)

Definition at line 2880 of file stack1.c.

References iadr, istk, Lstk, lw, m, and n.

02881 {
02882   integer il;
02883   il = iadr(*Lstk(*lw ));
02884   if (*istk(il ) < 0) il = iadr(*istk(il +1));
02885   *istk(il + 1) = *m;
02886   *istk(il + 2) = *n;
02887   return 0;
02888 } 

int C2F() bufstore ( char *  fname,
integer lbuf,
integer lbufi,
integer lbuff,
integer lr,
integer nlr,
unsigned long  fname_len 
)

Definition at line 3016 of file stack1.c.

References bsiz, C2F, cvstr(), cx1, FALSE_, fname, fname_len, get_fname(), istk, lbuf, lbuff, lbufi, lr, nlr, and TRUE_.

03017 {
03018   *lbufi = *lbuf;
03019   *lbuff = *lbufi + *nlr - 1;
03020   *lbuf = *lbuff + 2;
03021   if (*lbuff > bsiz) {
03022     Scierror(999,"%f: No more space to store string arguments\r\n",
03023              get_fname(fname,fname_len) );
03024     return FALSE_;
03025   }
03026   /* lbufi is a Fortran indice ==> offset -1 at C level */
03027   C2F(cvstr)(nlr, istk(*lr ), C2F(cha1).buf + (*lbufi - 1), &cx1, *lbuff - (*lbufi - 1));
03028   C2F(cha1).buf[*lbuff] = '\0';
03029   return TRUE_;
03030 }

Here is the call graph for this function:

static int C2F ( getwsmati   )  [static]

Definition at line 22 of file stack1.c.

References C2F, c_true, FALSE_, get_fname(), getilist(), getmati(), ili, nv, and Rhs.

00034               : 
00035  *    checks that spos object is a list 
00036  *    checks that lnum-element of the list exists and is a matrix 
00037  *    extracts matrix information(it,m,n,lr,lc) 
00038  *     In  : 
00039  *       fname : name of calling function for error message 
00040  *       topk  : stack ref for error message 
00041  *       lw    : stack position 
00042  *     Out : 
00043  *       [it,m,n] matrix dimensions 
00044  *       lr : stk(lr+i-1)= real(a(i)) 
00045  *       lc : stk(lc+i-1)= imag(a(i)) exists only if it==1 
00046  *------------------------------------------------------------------ */
00047 
00048 int C2F(getlistmat)(char *fname,integer *topk,integer *spos,integer *lnum,integer *it,integer *m,integer *n,integer *lr,integer *lc,unsigned long fname_len)
00049 {
00050   integer nv, ili;
00051 
00052   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
00053     return FALSE_;
00054 
00055   if (*lnum > nv) {
00056     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
00057              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
00058     return FALSE_;
00059   }
00060   return C2F(getmati)(fname, topk, spos, &ili, it, m, n, lr, lc, &c_true, lnum, fname_len);
00061 } 

Here is the call graph for this function:

int C2F() checkval ( char *  fname,
integer ival1,
integer ival2,
unsigned long  fname_len 
)

Definition at line 2968 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), ival1, ival2, and TRUE_.

02969 {
02970   if (*ival1 != *ival2) 
02971   {
02972     Scierror(999,"%s: incompatible sizes \r\n",get_fname(fname,fname_len));
02973     return  FALSE_;
02974   } ;
02975   return  TRUE_;
02976 }

Here is the call graph for this function:

int C2F() copyobj ( char *  fname,
integer lw,
integer lwd,
unsigned long  fname_len 
)

Definition at line 2661 of file stack1.c.

References C2F, cx1, dcopy(), l, Lstk, lw, lwd, stk, and unsfdcopy().

Referenced by Ref2val(), and swapmat().

02662 {
02663   integer ix1,l,ld;
02664   l=*Lstk(*lw );
02665   ld=*Lstk(*lwd );
02666 
02667   ix1 = *Lstk(*lw +1) - l;
02668   /* check for overlaping region */
02669   if (l+ix1>ld||ld+ix1>l) 
02670     C2F(unsfdcopy)(&ix1, stk(l), &cx1, stk(ld), &cx1);
02671   else
02672     C2F(dcopy)(&ix1, stk(l), &cx1, stk(ld), &cx1);
02673   *Lstk(*lwd +1) = ld + ix1;
02674   return 0;
02675 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() copysmat ( char *  fname,
integer flw,
integer tlw,
unsigned long  fname_len 
)

Definition at line 1815 of file stack1.c.

References C2F, cx1, flw, iadr, icopy(), istk, Lstk, and tlw.

01816 {
01817   integer ix1;
01818   integer dflw, fflw;
01819   integer dtlw;
01820   dflw = iadr(*Lstk(*flw ));
01821   fflw = iadr(*Lstk(*flw +1));
01822   dtlw = iadr(*Lstk(*tlw ));
01823   ix1 = fflw - dflw;
01824   C2F(icopy)(&ix1, istk(dflw ), &cx1, istk(dtlw ), &cx1);
01825   *Lstk(*tlw +1) = *Lstk(*tlw ) + *Lstk(*flw +1) - *Lstk(*flw );
01826   return 0;
01827 }

Here is the call graph for this function:

int cre_listsmat_from_str ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer m,
integer n,
char *  Str[],
unsigned long  fname_len 
)

Definition at line 1549 of file stack1.c.

References cre_smat_from_str_i(), FALSE_, iadr, istk, Lstk, rep, sadr, and TRUE_.

Referenced by createlistvarfromptr().

01550 {
01551   int rep,ix1,il;
01552   if ( cre_smat_from_str_i(fname, stlw, m, n, Str, fname_len,&rep)== FALSE_ )
01553     return FALSE_;
01554   *stlw = rep;
01555   il = iadr(*Lstk(*lw ));
01556   ix1 = il + *istk(il +1) + 3;
01557   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
01558   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
01559   return TRUE_;
01560 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int cre_listsparse_from_ptr ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer m,
integer n,
SciSparse Str,
unsigned long  fname_len 
)

Definition at line 1627 of file stack1.c.

References cre_sparse_from_ptr_i(), FALSE_, iadr, istk, Lstk, rep, sadr, and TRUE_.

Referenced by createlistvarfromptr().

01628 {
01629   int rep,ix1,il;
01630   if ( cre_sparse_from_ptr_i(fname, stlw, m, n, Str, fname_len,&rep)== FALSE_ )
01631     return FALSE_;
01632   *stlw = rep;
01633   il = iadr(*Lstk(*lw ));
01634   ix1 = il + *istk(il +1) + 3;
01635   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
01636   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
01637   return TRUE_;
01638 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int cre_smat_from_str ( char *  fname,
integer lw,
integer m,
integer n,
char *  Str[],
unsigned long  fname_len 
)

Definition at line 1533 of file stack1.c.

References Bot, cre_smat_from_str_i(), FALSE_, get_fname(), Lstk, rep, and TRUE_.

Referenced by createvarfromptr().

01534 {
01535   int rep;
01536   
01537   if (*lw + 1 >= Bot) {
01538     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01539     return FALSE_;
01540   }
01541 
01542   if ( cre_smat_from_str_i(fname, Lstk(*lw ), m, n, Str, fname_len,&rep)== FALSE_ )
01543     return FALSE_;
01544   *Lstk(*lw+1) = rep;
01545   return TRUE_;
01546 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int cre_smat_from_str_i ( char *  fname,
integer lw,
integer m,
integer n,
char *  Str[],
unsigned long  fname_len,
integer rep 
)

Definition at line 1490 of file stack1.c.

References Bot, C2F, cvstr(), cx0, Err, FALSE_, get_fname(), iadr, ilp, istk, ix, l, lr1, Lstk, pos, sadr, and TRUE_.

Referenced by cre_listsmat_from_str(), and cre_smat_from_str().

01491 {
01492   integer ix1, ix, ilast, il, nnchar, lr1, kij, ilp;
01493   integer *pos;
01494 
01495   nnchar = 0;
01496   for (ix = 0 ; ix < (*m)*(*n) ; ++ix) nnchar += strlen(Str[ix]);
01497   
01498   il = iadr(*lw);
01499   ix1 = il + 4 + (nnchar + 1) + (*m * *n + 1);
01500   Err = sadr(ix1) - *Lstk(Bot );
01501   if (Err > 0) {
01502     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",
01503              get_fname(fname,fname_len));
01504     return  FALSE_;
01505   } ;
01506   *istk(il ) = 10;
01507   *istk(il + 1) = *m;
01508   *istk(il + 2) = *n;
01509   *istk(il + 3) = 0;
01510   ilp = il + 4;
01511   *istk(ilp ) = 1;
01512   ix = 0;
01513   ix1 = ilp + *m * *n;
01514   for (kij = ilp + 1; kij <= ix1; ++kij) {
01515     *istk(kij ) = *istk(kij - 1) + strlen(Str[ix]);
01516     ++ix;
01517   }
01518   ilast = ilp + *m * *n;
01519   lr1 = ilast + *istk(ilp );
01520   pos = istk(lr1);
01521   for ( ix = 0 ; ix < (*m)*(*n) ; ix++) 
01522     {
01523       int l = strlen(Str[ix]);
01524       C2F(cvstr)(&l, pos, Str[ix], &cx0, l);
01525       pos += l;
01526     }
01527   ix1 = ilast + *istk(ilast );
01528   *rep = sadr(ix1);
01529   return TRUE_;
01530 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int cre_sparse_from_ptr ( char *  fname,
integer lw,
integer m,
integer n,
SciSparse Str,
unsigned long  fname_len 
)

Definition at line 1612 of file stack1.c.

References Bot, cre_sparse_from_ptr_i(), FALSE_, get_fname(), Lstk, rep, and TRUE_.

Referenced by createvarfromptr().

01613 {
01614   int rep;
01615   if (*lw + 1 >= Bot) {
01616     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01617     return FALSE_;
01618   }
01619 
01620   if ( cre_sparse_from_ptr_i(fname, Lstk(*lw ), m, n, Str, fname_len,&rep)== FALSE_ )
01621     return FALSE_;
01622   *Lstk(*lw+1) = rep;
01623   return TRUE_;
01624 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int cre_sparse_from_ptr_i ( char *  fname,
integer lw,
integer m,
integer n,
SciSparse S,
unsigned long  fname_len,
integer rep 
)

Definition at line 1572 of file stack1.c.

References Bot, C2F, dcopy(), Err, FALSE_, get_fname(), iadr, icopy(), istk, lc, lr, Lstk, S, sadr, size, stk, and TRUE_.

Referenced by cre_listsparse_from_ptr(), and cre_sparse_from_ptr().

01573 {
01574   double size = (double) ( (S->nel)*(S->it + 1) );
01575 
01576   integer ix1,  il, lr, lc;
01577   integer cx1l=1;
01578   il = iadr(*lw);
01579 
01580   ix1 = il + 5 + *m + S->nel;
01581   Err = sadr(ix1)  - *Lstk(Bot );
01582   if (Err > -size ) {
01583     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",
01584              get_fname(fname,fname_len));
01585     return  FALSE_;
01586   } ;
01587   *istk(il ) = 5;
01588   /* note: code sligtly modified (remark of C. Deroulers in the newsgroup) */
01589   if ( (*m == 0)  |  (*n == 0) ) {
01590       *istk(il + 1) = 0; 
01591       *istk(il + 2) = 0;
01592   } else {
01593     *istk(il + 1) = *m; 
01594     *istk(il + 2) = *n;
01595   }
01596   /* end of the modified code */
01597   *istk(il + 3) = S->it;
01598   *istk(il + 4) = S->nel;
01599   C2F(icopy)(&S->m, S->mnel, &cx1l, istk(il+5 ), &cx1l);
01600   C2F(icopy)(&S->nel, S->icol, &cx1l, istk(il+5+*m ), &cx1l);
01601   ix1 = il + 5 + *m + S->nel;
01602   lr = sadr(ix1);
01603   lc = lr + S->nel;
01604   C2F(dcopy)(&S->nel, S->R, &cx1l, stk(lr), &cx1l);
01605   if ( S->it == 1) 
01606     C2F(dcopy)(&S->nel, S->I, &cx1l, stk(lc), &cx1l);
01607   *rep = lr + S->nel*(S->it+1);
01608   return TRUE_;
01609 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crebmat ( char *  fname,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 673 of file stack1.c.

References Bot, C2F, c_true, crebmati(), FALSE_, fname, fname_len, get_fname(), lr, Lstk, lw, m, n, sadr, and TRUE_.

Referenced by createvar(), createvarfrom(), cwritebmat(), and mvfromto().

00674 {
00675   integer ix1;
00676   
00677   if (*lw + 1 >= Bot) {
00678     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
00679     return FALSE_ ;
00680   }
00681 
00682   if ( C2F(crebmati)(fname, Lstk(*lw ), m, n, lr, &c_true, fname_len)== FALSE_)
00683     return FALSE_ ;
00684 
00685   ix1 = *lr + *m * *n + 2;
00686   *Lstk(*lw +1) = sadr(ix1);
00687   return TRUE_;
00688 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crebmati ( char *  fname,
integer stlw,
integer m,
integer n,
integer lr,
int flagx,
unsigned long  fname_len 
)

Definition at line 711 of file stack1.c.

References Bot, Err, FALSE_, flagx, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, m, Min, n, size, stlw, and TRUE_.

Referenced by crebmat(), fakecrebmat(), and listcrebmat().

00712 {
00713   double size = ((double) *m) * ((double) *n) ;
00714   integer il;
00715   il = iadr(*stlw);
00716   Err = il + 3  - iadr(*Lstk(Bot ));
00717   if (Err > -size ) {
00718     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
00719     return FALSE_;
00720   }
00721   if (*flagx) {
00722     *istk(il ) = 4;
00723     /*     si m*n=0 les deux dimensions sont mises a zero. */
00724     *istk(il + 1) = Min(*m , *m * *n);
00725     *istk(il + 2) = Min(*n,*m * *n);
00726   }
00727   *lr = il + 3;
00728   return TRUE_;
00729 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crebmatvar ( integer id,
integer lw,
integer m,
integer n,
integer val 
)

Definition at line 316 of file stack1.c.

References C2F, c__1, icopy(), id, lr, lw, m, n, putid(), and val.

00317 {
00318         extern int C2F(icopy)(integer *, integer *, integer *, integer *, integer *);
00319         extern int C2F(putid)(integer *, integer *);
00320 
00321         /* Local variables */
00322         static integer il, lr;
00323         integer i__1;
00324         static integer c__1 = 1;
00325 
00326         /* Parameter adjustments */
00327         --val;
00328         --id;
00329 
00330         C2F(putid)(&C2F(vstk).idstk[*lw * 6 - 6], &id[1]);
00331         il = C2F(vstk).lstk[*lw - 1] + C2F(vstk).lstk[*lw - 1] - 1;
00332         ((integer *)&C2F(stack))[il - 1] = 4;
00333         ((integer *)&C2F(stack))[il] = *m;
00334         ((integer *)&C2F(stack))[il + 1] = *n;
00335         lr = il + 3;
00336         i__1 = il + 3 + *m * *n + 2;
00337         C2F(vstk).lstk[*lw] = i__1 / 2 + 1;
00338         i__1 = *m * *n;
00339         C2F(icopy)(&i__1, &val[1], &c__1, &((integer *)&C2F(stack))[lr - 1], &c__1);
00340         return 0;
00341 } 

Here is the call graph for this function:

int C2F() credata ( char *  fname,
integer lw,
integer  m,
unsigned long  fname_len 
)

Definition at line 3036 of file stack1.c.

References Bot, Err, FALSE_, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, lw, m, and TRUE_.

Referenced by createdata().

03037 {
03038   integer lr;
03039   lr = *Lstk(*lw );
03040   if (*lw + 1 >= Bot) {
03041     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
03042     return FALSE_;
03043   }
03044   
03045   Err = lr   - *Lstk(Bot);
03046   if (Err > -m ) {
03047     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
03048     return FALSE_;
03049   };
03050   /*  *Lstk(*lw +1) = lr + 1 + m/sizeof(double);  */
03051   /*    type 0  */
03052   *istk(iadr(lr)) = 0;
03053   *Lstk(*lw +1) = lr + (m+sizeof(double)-1)/sizeof(double);
03054   return TRUE_;
03055 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crehmat ( char *  fname,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 3126 of file stack1.c.

References Bot, C2F, c_true, crehmati(), FALSE_, fname, fname_len, get_fname(), lr, Lstk, lw, m, n, and TRUE_.

Referenced by createvar(), createvarfrom(), and mvfromto().

03127 {
03128 
03129   if (*lw + 1 >= Bot) {
03130     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
03131     return FALSE_;
03132   }
03133   if ( C2F(crehmati)(fname, Lstk(*lw ), m, n, lr, &c_true, fname_len) == FALSE_)
03134     return FALSE_ ;
03135   *Lstk(*lw +1) = *lr + *m * *n;
03136   return TRUE_;
03137 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crehmati ( char *  fname,
integer stlw,
integer m,
integer n,
integer lr,
int flagx,
unsigned long  fname_len 
)

Definition at line 3063 of file stack1.c.

References Bot, Err, FALSE_, flagx, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, m, Min, n, sadr, size, stlw, and TRUE_.

Referenced by crehmat(), and listcrehmat().

03064 {
03065   integer ix1;
03066   integer il;
03067   double size = ((double) *m) * ((double) *n);
03068   il = iadr(*stlw);
03069   ix1 = il + 4;
03070   Err = sadr(ix1) - *Lstk(Bot );
03071   if ( (double) Err > -size ) {
03072     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
03073     return FALSE_;
03074   };
03075   if (*flagx) {
03076     *istk(il ) = 9;
03077     /* if m*n=0 then both dimensions are to be set to zero */
03078     *istk(il + 1) = Min(*m , *m * *n);
03079     *istk(il + 2) = Min(*n ,*m * *n);
03080     *istk(il + 3) = 0;
03081   }
03082   ix1 = il + 4;
03083   *lr = sadr(ix1);
03084   return TRUE_;
03085 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() creimat ( char *  fname,
integer lw,
integer it,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 500 of file stack1.c.

References Bot, C2F, c_true, creimati(), FALSE_, fname, fname_len, get_fname(), it, lr, Lstk, lw, m, memused, n, sadr, and TRUE_.

Referenced by createvar(), createvarfrom(), and mxCreateNumericMatrix().

00501 {
00502 
00503   if (*lw + 1 >= Bot) {
00504     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
00505     return FALSE_;
00506   }
00507   if ( C2F(creimati)(fname, Lstk(*lw ), it, m, n, lr,&c_true, fname_len) == FALSE_)
00508     return FALSE_ ;
00509   *Lstk(*lw +1) = sadr(*lr + memused(*it,*m * *n));
00510   return TRUE_;
00511 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() creimati ( char *  fname,
integer stlw,
integer it,
integer m,
integer n,
integer lr,
int flagx,
unsigned long  fname_len 
)

Definition at line 517 of file stack1.c.

References Bot, Err, FALSE_, flagx, fname, fname_len, get_fname(), iadr, istk, it, lr, Lstk, m, memused, Min, n, sadr, size, stlw, and TRUE_.

Referenced by creimat(), listcreimat(), and stcreate().

00518 {
00519   integer ix1;
00520   integer il;
00521   double size =  memused(*it,((double)*m)*((double) *n));
00522   il = iadr(*stlw);
00523   ix1 = il + 4;
00524   Err = sadr(ix1) - *Lstk(Bot );
00525   if (Err > -size ) {
00526     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
00527     return FALSE_;
00528   };
00529   if (*flagx) {
00530     *istk(il ) = 8;
00531     /* if m*n=0 then both dimensions are to be set to zero */
00532     *istk(il + 1) = Min(*m , *m * *n);
00533     *istk(il + 2) = Min(*n ,*m * *n);
00534     *istk(il + 3) = *it;
00535   }
00536   ix1 = il + 4;
00537   *lr = ix1;
00538   return TRUE_;
00539 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crelist ( integer slw,
integer ilen,
integer lw 
)

Definition at line 1885 of file stack1.c.

References crelist_G(), ilen, and lw.

Referenced by createlist(), and createvar().

01886 {
01887   return crelist_G(slw,ilen,lw,15);
01888 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int crelist_G ( integer slw,
integer ilen,
integer lw,
integer  type 
)

Definition at line 1870 of file stack1.c.

References iadr, istk, Lstk, and sadr.

Referenced by crelist(), cremlist(), and cretlist().

01871 {
01872   integer ix1;
01873   integer il;
01874   il = iadr(*Lstk(*slw ));
01875   *istk(il ) = type;
01876   *istk(il + 1) = *ilen;
01877   *istk(il + 2) = 1;
01878   ix1 = il + *ilen + 3;
01879   *lw = sadr(ix1);
01880   if (*ilen == 0) *Lstk(*lw +1) = *lw;
01881   return 0;
01882 } 

Here is the caller graph for this function:

int C2F() cremat ( char *  fname,
integer lw,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 207 of file stack1.c.

References Bot, C2F, c_true, cremati(), FALSE_, fname, fname_len, get_fname(), it, lc, lr, Lstk, lw, m, n, and TRUE_.

Referenced by createcvar(), createcvarfrom(), createcvarfromptr(), createvar(), createvarfrom(), creatework(), cwritecmat(), cwritemat(), insmat(), mvfromto(), run(), and swapmat().

00208 {
00209 
00210   if (*lw + 1 >= Bot) {
00211     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
00212     return FALSE_;
00213   }
00214   if ( C2F(cremati)(fname, Lstk(*lw ), it, m, n, lr, lc, &c_true, fname_len) == FALSE_)
00215     return FALSE_ ;
00216   *Lstk(*lw +1) = *lr + *m * *n * (*it + 1);
00217   return TRUE_;
00218 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() cremati ( char *  fname,
integer stlw,
integer it,
integer m,
integer n,
integer lr,
integer lc,
int flagx,
unsigned long  fname_len 
)

Definition at line 238 of file stack1.c.

References Bot, Err, FALSE_, flagx, fname, fname_len, get_fname(), iadr, istk, it, lc, lr, Lstk, m, Min, n, sadr, size, stlw, and TRUE_.

Referenced by cremat(), fakecremat(), and listcremat().

00239 {
00240   integer ix1;
00241   integer il;
00242   double size = ((double) *m) * ((double) *n) * ((double) (*it + 1));
00243   il = iadr(*stlw);
00244   ix1 = il + 4;
00245   Err = sadr(ix1) - *Lstk(Bot );
00246   if ( (double) Err > -size ) {
00247     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
00248     return FALSE_;
00249   };
00250   if (*flagx) {
00251     *istk(il ) = 1;
00252     /* if m*n=0 then both dimensions are to be set to zero */
00253     *istk(il + 1) = Min(*m , *m * *n);
00254     *istk(il + 2) = Min(*n ,*m * *n);
00255     *istk(il + 3) = *it;
00256   }
00257   ix1 = il + 4;
00258   *lr = sadr(ix1);
00259   *lc = *lr + *m * *n;
00260   return TRUE_;
00261 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crematvar ( integer id,
integer lw,
integer it,
integer m,
integer n,
double *  rtab,
double *  itab 
)

Definition at line 271 of file stack1.c.

References C2F, c__1, id, isiz, it, itab, lc, lr, lw, m, n, putid(), rtab, and unsfdcopy().

00272 {
00273         extern int C2F(unsfdcopy)(integer *, double *, integer *, double *, integer *);
00274         extern int C2F(putid)(integer *, integer *);
00275 
00276         /* Local variables */
00277         integer i__1;
00278         static integer lc, il, lr;
00279         static integer c__1 = 1;
00280 
00281         /* Parameter adjustments */
00282         --itab;
00283         --rtab;
00284         --id;
00285 
00286         /* Function Body */
00287         C2F(putid)(&C2F(vstk).idstk[*lw * 6 - 6], &id[1]);
00288         il = C2F(vstk).lstk[*lw - 1] + C2F(vstk).lstk[*lw - 1] - 1;
00289         ((integer *)&C2F(stack))[il - 1] = 1;
00290         ((integer *)&C2F(stack))[il] = *m;
00291         ((integer *)&C2F(stack))[il + 1] = *n;
00292         ((integer *)&C2F(stack))[il + 2] = *it;
00293         i__1 = il + 4;
00294         lr = i__1 / 2 + 1;
00295         lc = lr + *m * *n;
00296         if (*lw < C2F(vstk).isiz) 
00297         {
00298                 i__1 = il + 4;
00299                 C2F(vstk).lstk[*lw] = i__1 / 2 + 1 + *m * *n * (*it + 1);
00300         }
00301         i__1 = *m * *n;
00302         C2F(unsfdcopy)(&i__1, &rtab[1], &c__1, &C2F(stack).Stk[lr - 1], &c__1);
00303         if (*it == 1) 
00304         {
00305                 i__1 = *m * *n;
00306                 C2F(unsfdcopy)(&i__1, &itab[1], &c__1, &C2F(stack).Stk[lc - 1], &c__1);
00307         }
00308         return 0;
00309 } 

Here is the call graph for this function:

int C2F() cremlist ( integer slw,
integer ilen,
integer lw 
)

Definition at line 1895 of file stack1.c.

References crelist_G(), ilen, and lw.

Referenced by createvar().

01896 {
01897   return crelist_G(slw,ilen,lw,17);
01898 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crepointer ( char *  fname,
integer lw,
integer lr,
unsigned long  fname_len 
)

Definition at line 2264 of file stack1.c.

References Bot, C2F, c_true, crepointeri(), FALSE_, fname, fname_len, get_fname(), lr, Lstk, lw, and TRUE_.

Referenced by createvar(), createvarfrom(), and crestringv().

02265 {
02266 
02267   if (*lw + 1 >= Bot) {
02268     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
02269     return FALSE_;
02270   }
02271   if ( C2F(crepointeri)(fname, Lstk(*lw ), lr, &c_true, fname_len) == FALSE_)
02272     return FALSE_ ;
02273   *Lstk(*lw +1) = *lr + 2;
02274   return TRUE_;
02275 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crepointeri ( char *  fname,
integer stlw,
integer lr,
int flagx,
unsigned long  fname_len 
)

Definition at line 2280 of file stack1.c.

References Bot, Err, FALSE_, flagx, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, sadr, stlw, and TRUE_.

Referenced by crepointer(), and listcrepointer().

02281 {
02282   integer ix1;
02283   integer il;
02284   il = iadr(*stlw);
02285   ix1 = il + 4;
02286   Err = sadr(ix1) + 2 - *Lstk(Bot );
02287   if (Err > 0) {
02288     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
02289     return FALSE_;
02290   };
02291   if (*flagx) {
02292     *istk(il ) = 128;
02293     /* if m*n=0 then both dimensions are to be set to zero */
02294     *istk(il + 1) = 1;
02295     *istk(il + 2) = 1;
02296     *istk(il + 3) = 0;
02297   }
02298   ix1 = il + 4;
02299   *lr = sadr(ix1);
02300   return TRUE_;
02301 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() cresmat ( char *  fname,
integer lw,
integer m,
integer n,
integer nchar,
unsigned long  fname_len 
)

Definition at line 1280 of file stack1.c.

References Bot, C2F, cresmati(), FALSE_, fname, fname_len, get_fname(), istk, job, lr, Lstk, lw, m, n, nchar, sadr, sz, and TRUE_.

Referenced by run().

01281 {
01282   int job = 1;
01283   integer ix1, ilast, sz,lr ;
01284   if (*lw + 1 >= Bot) {
01285     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01286     return  FALSE_;
01287   }
01288   if ( C2F(cresmati)(fname,Lstk(*lw), m, n, nchar, &job, &lr, &sz, fname_len) == FALSE_ )
01289     return FALSE_ ;
01290   ilast = lr - 1;
01291   ix1 = ilast + *istk(ilast );
01292   *Lstk(*lw +1) = sadr(ix1);
01293   /* empty strings */
01294   if ( *nchar == 0)   *Lstk(*lw +1) += 1;
01295   return TRUE_;
01296 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() cresmat1 ( char *  fname,
integer lw,
integer m,
integer nchar,
unsigned long  fname_len 
)

Definition at line 1306 of file stack1.c.

References Bot, C2F, cresmati(), FALSE_, fname, fname_len, get_fname(), istk, job, lr, Lstk, lw, m, n, nchar, sadr, sz, and TRUE_.

01307 {
01308   int job = 2, n=1;
01309   integer ix1, ilast, sz,lr ;
01310   if (*lw + 1 >= Bot) {
01311     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01312     return  FALSE_;
01313   }
01314   if ( C2F(cresmati)(fname,Lstk(*lw), m, &n, nchar, &job, &lr, &sz, fname_len) == FALSE_ )
01315     return FALSE_ ;
01316   ilast = lr - 1;
01317   ix1 = ilast + *istk(ilast );
01318   *Lstk(*lw +1) = sadr(ix1);
01319   return TRUE_;
01320 }

Here is the call graph for this function:

int C2F() cresmat2 ( char *  fname,
integer lw,
integer nchar,
integer lr,
unsigned long  fname_len 
)

Definition at line 1330 of file stack1.c.

References Bot, C2F, cresmati(), FALSE_, fname, fname_len, get_fname(), istk, job, lr, Lstk, lw, m, n, nchar, sadr, sz, and TRUE_.

Referenced by createvar(), createvarfrom(), cwritechain(), mvfromto(), and mxcreatestring().

01331 {
01332   int job = 1, n=1,m=1;
01333   integer ix1, ilast, sz ;
01334   if (*lw + 1 >= Bot) {
01335     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01336     return  FALSE_;
01337   }
01338   if ( C2F(cresmati)(fname,Lstk(*lw), &m, &n, nchar, &job, lr, &sz, fname_len) == FALSE_ )
01339     return FALSE_ ;
01340 
01341   ilast = *lr - 1;
01342   ix1 = ilast + *istk(ilast );
01343   *Lstk(*lw +1) = sadr(ix1);
01344   /* empty strings */
01345   if ( *nchar == 0)   *Lstk(*lw +1) += 1;
01346   *lr = ilast + *istk(ilast - 1);
01347   return TRUE_;
01348 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() cresmat3 ( char *  fname,
integer lw,
integer m,
integer n,
integer nchar,
char *  buffer,
unsigned long  fname_len,
unsigned long  buffer_len 
)

Definition at line 1359 of file stack1.c.

References Bot, buffer, buffer_len, C2F, cresmati(), cvstr(), cx0, FALSE_, fname, fname_len, get_fname(), istk, job, lr, lr1, Lstk, lw, m, n, nchar, sadr, sz, and TRUE_.

01360 {
01361   int job = 2;
01362   integer ix1, ilast, sz,lr,lr1 ;
01363   if (*lw + 1 >= Bot) {
01364     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01365     return  FALSE_;
01366   }
01367   if ( C2F(cresmati)(fname,Lstk(*lw), m, n, nchar, &job, &lr, &sz, fname_len) == FALSE_ )
01368     return FALSE_ ;
01369   ilast = lr - 1;
01370   ix1 = ilast + *istk(ilast );
01371   *Lstk(*lw +1) = sadr(ix1);
01372 
01373   lr1 = ilast + *istk(ilast - (*m)*(*n) );
01374   C2F(cvstr)(&sz, istk(lr1), buffer, &cx0, buffer_len);
01375   return TRUE_;
01376 } 

Here is the call graph for this function:

int C2F() cresmat4 ( char *  fname,
integer lw,
integer m,
integer nchar,
integer lr,
unsigned long  fname_len 
)

Definition at line 1385 of file stack1.c.

References Bot, Err, FALSE_, fname, fname_len, get_fname(), iadr, ilp, istk, ix, lr, Lstk, lw, m, nchar, sadr, and TRUE_.

Referenced by mxCreateCharMatrixFromStrings().

01386 {
01387   integer ix1,ix, ilast, il, nnchar, kij, ilp;
01388   if (*lw + 1 >= Bot) {
01389     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01390     return FALSE_;
01391   }
01392   nnchar = 0;
01393   ix1 = *m;
01394   for (ix = 1; ix <= ix1; ++ix) nnchar += *nchar;
01395   il = iadr(*Lstk(*lw ));
01396   ix1 = il + 4 + (nnchar + 1) * *m;
01397   Err = sadr(ix1) - *Lstk(Bot );
01398   if (Err > 0) {
01399     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
01400     return FALSE_;
01401   } 
01402   *istk(il ) = 10;
01403   *istk(il + 1) = *m;
01404   *istk(il + 2) = 1;
01405   *istk(il + 3) = 0;
01406   ilp = il + 4;
01407   *istk(ilp ) = 1;
01408   ix1 = ilp + *m;
01409   for (kij = ilp + 1; kij <= ix1; ++kij) {
01410     *istk(kij ) = *istk(kij - 1) + *nchar;
01411   }
01412   ilast = ilp + *m;
01413   ix1 = ilast + *istk(ilast );
01414   *Lstk(*lw +1) = sadr(ix1);
01415   *lr = ilast + 1;
01416   return TRUE_;
01417 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() cresmati ( char *  fname,
integer stlw,
integer m,
integer n,
integer nchar,
integer job,
integer lr,
integer sz,
unsigned long  fname_len 
)

Definition at line 1427 of file stack1.c.

References Bot, C2F, cx1, Err, FALSE_, fname, fname_len, get_fname(), iadr, icopy(), ilp, istk, ix, job, lr, Lstk, m, n, nchar, sadr, stlw, sz, and TRUE_.

Referenced by cresmat(), cresmat1(), cresmat2(), cresmat3(), and listcresmat().

01428 {
01429   integer ix1, ix, il, kij, ilp, mn= (*m)*(*n);
01430   il = iadr(*stlw);
01431  
01432  /* compute the size of chains */ 
01433   *sz = 0;
01434   switch ( *job ) 
01435     {
01436     case 1 : *sz = mn * nchar[0];   break;
01437     case 2 : for (ix = 0 ; ix < mn ; ++ix) *sz += nchar[ix];  break;
01438     case 3 : *sz = nchar[mn] - 1;  break;
01439     }
01440   /* check the stack for space */
01441   ix1 = il + 4 + mn + 1 + *sz;
01442   Err = sadr(ix1) - *Lstk(Bot );
01443   if (Err > 0) {
01444     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",
01445              get_fname(fname,fname_len));
01446     return FALSE_;
01447   };
01448   
01449   *istk(il ) = 10;
01450   *istk(il + 1) = *m;
01451   *istk(il + 2) = *n;
01452   *istk(il + 3) = 0;
01453   ilp = il + 4;
01454   *istk(ilp ) = 1;
01455   switch ( *job ) 
01456     {
01457     case 1 :
01458       ix1 = mn  + ilp;
01459       for (kij = ilp + 1; kij <= ix1; ++kij) {
01460         *istk(kij) = *istk(kij - 1) + nchar[0];
01461       }
01462       break;
01463     case 2 :
01464       ix = 0;
01465       ix1 = mn + ilp;
01466       for (kij = ilp + 1; kij <= ix1; ++kij) {
01467         *istk(kij ) = *istk(kij - 2 +1) + nchar[ix]; 
01468         ++ix;
01469       }
01470       break;
01471     case 3 :
01472       {
01473         ix1 = mn + 1;
01474         C2F(icopy)(&ix1, nchar, &cx1, istk(ilp ), &cx1);
01475       }
01476     }
01477   *lr = ilp + mn + 1;
01478   return TRUE_;
01479 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() cresmatvar ( integer id,
integer lw,
char *  str,
integer lstr,
unsigned long  str_len 
)

Definition at line 346 of file stack1.c.

References C2F, c__0, cvstr(), id, ilp, long, lr1, lstr, lw, putid(), str, and str_len.

00347 {
00348         extern int C2F(putid)(integer *, integer *);
00349         extern int C2F(cvstr)(integer *, integer *, char *, integer *, unsigned long );
00350 
00351         static integer il, mn, lr1, ix1, ilp;
00352         static integer ilast;
00353         static integer c__0 = 0;
00354 
00355         /* Parameter adjustments */
00356         --id;
00357 
00358         C2F(putid)(&C2F(vstk).idstk[*lw * 6 - 6], &id[1]);
00359         il = C2F(vstk).lstk[*lw - 1] + C2F(vstk).lstk[*lw - 1] - 1;
00360         mn = 1;
00361         ix1 = il + 4 + (*lstr + 1) + (mn + 1);
00362         ((integer *)&C2F(stack))[il - 1] = 10;
00363         ((integer *)&C2F(stack))[il] = 1;
00364         ((integer *)&C2F(stack))[il + 1] = 1;
00365         ((integer *)&C2F(stack))[il + 2] = 0;
00366         ilp = il + 4;
00367         ((integer *)&C2F(stack))[ilp - 1] = 1;
00368         ((integer *)&C2F(stack))[ilp] = ((integer *)&C2F(stack))[ilp - 1] + *lstr;
00369         ilast = ilp + mn;
00370         lr1 = ilast + ((integer *)&C2F(stack))[ilp - 1];
00371         C2F(cvstr)(lstr, &((integer *)&C2F(stack))[lr1 - 1], str, &c__0, str_len);
00372         ix1 = ilast + ((integer *)&C2F(stack))[ilast - 1];
00373         C2F(vstk).lstk[*lw] = ix1 / 2 + 1;
00374         return 0;
00375 }

Here is the call graph for this function:

int C2F() cresparse ( char *  fname,
integer lw,
integer it,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 876 of file stack1.c.

References Bot, C2F, cresparsei(), FALSE_, fname, fname_len, get_fname(), icol, it, lc, lr, Lstk, lw, m, mnel, n, nel, and TRUE_.

00877 {
00878   if (*lw + 1 >= Bot) {
00879     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
00880     return FALSE_ ;
00881   }
00882   
00883   if ( C2F(cresparsei)(fname, Lstk(*lw ), it, m, n, nel, mnel, icol, lr, lc, fname_len)
00884        == FALSE_) 
00885     return FALSE_ ;
00886   *Lstk(*lw +1) = *lr + *nel * (*it + 1);
00887   return TRUE_;
00888 } 

Here is the call graph for this function:

int C2F() cresparsei ( char *  fname,
integer stlw,
integer it,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 895 of file stack1.c.

References Bot, Err, FALSE_, fname, fname_len, get_fname(), iadr, icol, istk, it, lc, lr, Lstk, m, mnel, n, nel, sadr, stlw, and TRUE_.

Referenced by cresparse(), and listcresparse().

00896 {
00897   integer il,ix1;
00898 
00899   il = iadr(*stlw);
00900   ix1 = il + 5 + *m + *nel;
00901   Err = sadr(ix1) + *nel * (*it + 1) - *Lstk(Bot );
00902   if (Err > 0) {
00903     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
00904     return FALSE_;
00905   };
00906   *istk(il ) = 5;
00907   /*   if m*n=0 the 2 dims are set to zero */
00908   if ( *m == 0  ||  *n == 0 )  /* use this new test in place of the product m * n (bruno) */
00909     {
00910       *istk(il + 1) = 0; *istk(il + 2) = 0;
00911     }
00912   else
00913     {
00914       *istk(il + 1) = *m; *istk(il + 2) = *n;
00915     }
00916   *istk(il + 3) = *it;
00917   *istk(il + 4) = *nel;
00918   *mnel = il + 5;
00919   *icol = il + 5 + *m;
00920   ix1 = il + 5 + *m + *nel;
00921   *lr = sadr(ix1);
00922   *lc = *lr + *nel;
00923   return TRUE_;
00924 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crestring ( char *  fname,
integer spos,
integer nchar,
integer ilrs,
unsigned long  fname_len 
)

Definition at line 1676 of file stack1.c.

References C2F, crestringi(), FALSE_, fname, fname_len, ilrs, Lstk, nchar, sadr, spos, and TRUE_.

01677 {
01678   integer ix1;
01679   if ( C2F(crestringi)(fname, Lstk(*spos ), nchar, ilrs, fname_len) == FALSE_) 
01680     return FALSE_;
01681   ix1 = *ilrs + *nchar;
01682   *Lstk(*spos +1) = sadr(ix1);
01683   /* empty strings */
01684   if ( *nchar == 0)   *Lstk(*spos +1) += 1;
01685   return TRUE_;
01686 }

Here is the call graph for this function:

int C2F() crestringi ( char *  fname,
integer stlw,
integer nchar,
integer ilrs,
unsigned long  fname_len 
)

Definition at line 1700 of file stack1.c.

References Bot, Err, FALSE_, fname, fname_len, get_fname(), iadr, ilrs, istk, Lstk, nchar, sadr, stlw, and TRUE_.

Referenced by crestring(), and listcrestring().

01701 {
01702 
01703   integer ix1, ilast, il;
01704 
01705   il = iadr(*stlw);
01706   ix1 = il + 4 + (*nchar + 1);
01707   Err = sadr(ix1) - *Lstk(Bot );
01708   if (Err > 0) {
01709     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",
01710              get_fname(fname,fname_len));
01711     return FALSE_;
01712   } ;
01713   *istk(il ) = 10;
01714   *istk(il +1) = 1;
01715   *istk(il + 1 +1) = 1;
01716   *istk(il + 2 +1) = 0;
01717   *istk(il + 3 +1) = 1;
01718   *istk(il + 4 +1) = *istk(il + 3 +1) + *nchar;
01719   ilast = il + 5;
01720   *ilrs = ilast + *istk(ilast - 2 +1);
01721   return TRUE_;
01722 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crestringmatfromc ( char *  fname,
integer spos,
integer lorig,
integer m,
integer n,
unsigned long  fname_len 
)

Definition at line 2341 of file stack1.c.

References Bot, C2F, cstringf(), FALSE_, iadr, ierr, istk, lorig, Lstk, m, n, sadr, spos, stk, and TRUE_.

02342 {
02343   integer ix1;
02344   integer ierr;
02345   integer ilw;
02346   ilw = iadr(*Lstk(*spos ));
02347   ix1 = *Lstk(Bot ) - *Lstk(*spos );
02348   C2F(cstringf)((char ***)stk(*lorig ), istk(ilw ), m, n, &ix1, &ierr);
02349   if (ierr > 0) {
02350     Scierror(999,"Not enough memory\r\n");
02351     return FALSE_;
02352   }
02353   ix1 = ilw + 5 + *m * *n + *istk(ilw + 4 + *m * *n ) - 1;
02354   *Lstk(*spos +1) = sadr(ix1);
02355   return  TRUE_;
02356 }

Here is the call graph for this function:

int C2F() crestringv ( char *  fname,
integer spos,
integer ilorig,
integer lw,
unsigned long  fname_len 
)

Definition at line 2228 of file stack1.c.

References C2F, crepointer(), FALSE_, fname, fname_len, ierr, ilorig, istk, lw, spos, stk, stringc(), and TRUE_.

02229 {
02230   integer ierr;
02231   if (C2F(crepointer)(fname, spos, lw, fname_len) == FALSE_) 
02232     return FALSE_;
02233 
02234   C2F(stringc)(istk(*ilorig ), (char ***)stk(*lw ), &ierr);
02235 
02236   if (ierr != 0) {
02237     Scierror(999,"Not enough memory\r\n");
02238     return FALSE_;
02239   }
02240   return TRUE_;
02241 }

Here is the call graph for this function:

int C2F() cretlist ( integer slw,
integer ilen,
integer lw 
)

Definition at line 1890 of file stack1.c.

References crelist_G(), ilen, and lw.

Referenced by createvar().

01891 {
01892   return crelist_G(slw,ilen,lw,16);
01893 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() crewimat ( char *  fname,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 2166 of file stack1.c.

References Bot, Err, FALSE_, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, lw, m, n, sadr, size, and TRUE_.

02167 {
02168   double size = ((double) *m) * ((double) *n ); 
02169   integer ix1,il;
02170   if (*lw + 1 >= Bot) {
02171     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
02172     return FALSE_;
02173   }
02174   il = iadr(*Lstk(*lw ));
02175   Err = il + 3  - iadr(*Lstk(Bot ));
02176   if (Err > -size ) {
02177     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",
02178              get_fname(fname,fname_len));
02179     return FALSE_;
02180   }
02181   *istk(il ) = 4;
02182   *istk(il + 1) = *m;
02183   *istk(il + 2) = *n;
02184   *lr = il + 3;
02185   ix1 = il + 3 + *m * *n + 2;
02186   *Lstk(*lw +1) = sadr(ix1);
02187   return TRUE_;
02188 }

Here is the call graph for this function:

int C2F() crewmat ( char *  fname,
integer lw,
integer m,
integer lr,
unsigned long  fname_len 
)

Definition at line 2138 of file stack1.c.

References Bot, FALSE_, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, lw, m, sadr, and TRUE_.

02139 {
02140   integer il,ix1; 
02141   if (*lw + 1 >= Bot) {
02142     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
02143     return FALSE_;
02144   }
02145   il = iadr(*Lstk(*lw ));
02146   *m = *Lstk(Bot ) - sadr(il+4);
02147   *istk(il ) = 1;
02148   *istk(il + 1) = 1;
02149   *istk(il + 2) = *m;
02150   *istk(il + 3) = 0;
02151   ix1 = il + 4;
02152   *lr = sadr(il+4);
02153   *Lstk(*lw +1) = sadr(il+4) + *m;
02154   return TRUE_;
02155 }

Here is the call graph for this function:

int C2F() fakecrebmat ( integer lw,
integer m,
integer n,
integer lr 
)

Definition at line 695 of file stack1.c.

References Bot, C2F, c_false, crebmati(), FALSE_, L, lr, Lstk, lw, m, n, sadr, and TRUE_.

00696 {
00697   if (*lw + 1 >= Bot) {
00698     Scierror(18,"fakecrebmat: too many names\r\n");
00699     return FALSE_;
00700   }
00701   if ( C2F(crebmati)("crebmat", Lstk(*lw ), m, n, lr, &c_false, 7L)== FALSE_)
00702     return FALSE_ ;
00703   *Lstk(*lw +1) = sadr( *lr + *m * *n + 2);
00704   return TRUE_;
00705 } 

Here is the call graph for this function:

int C2F() fakecremat ( integer lw,
integer it,
integer m,
integer n,
integer lr,
integer lc 
)

Definition at line 225 of file stack1.c.

References Bot, C2F, c_false, cremati(), FALSE_, it, L, lc, lr, Lstk, lw, m, n, and TRUE_.

00226 {
00227   if (*lw + 1 >= Bot) return FALSE_;
00228   if (C2F(cremati)("cremat", Lstk(*lw ), it, m, n, lr, lc, &c_false, 6L) == FALSE_) 
00229     return FALSE_;
00230   *Lstk(*lw +1) = *lr + *m * *n * (*it + 1);
00231   return TRUE_;
00232 } 

Here is the call graph for this function:

int C2F() fakecresmat2 ( integer lw,
integer nchar,
integer lr 
)

Definition at line 1729 of file stack1.c.

References Bot, C2F, Err, error, FALSE_, iadr, istk, lr, Lstk, lw, nchar, retval(), sadr, and TRUE_.

01730 {
01731   static integer cx17 = 17;
01732   int retval;
01733   static integer ilast;
01734   static integer il;
01735   il = iadr((*Lstk(*lw)));
01736   Err = sadr(il + 4 + (*nchar + 1)) - *Lstk(Bot);
01737   if (Err > 0) {
01738     C2F(error)(&cx17);
01739     retval = FALSE_;
01740   } else {
01741     ilast = il + 5;
01742     *Lstk(*lw+1) = sadr(ilast + *istk(ilast));
01743     *lr = ilast + *istk(ilast - 1);
01744     retval = TRUE_;
01745   }
01746   return retval;
01747 }

Here is the call graph for this function:

char* get_fname ( char *  fname,
unsigned long  fname_len 
)

Definition at line 2619 of file stack1.c.

References Fname, i, int, Min, and nlgh.

Referenced by allmat(), bufstore(), C2F(), checklhs(), checkval(), cmatbptr(), cmatcptr(), cmatptr(), cmatsptr(), cre_smat_from_str(), cre_smat_from_str_i(), cre_sparse_from_ptr(), cre_sparse_from_ptr_i(), creadbmat(), creadchain(), creadchains(), creadcmat(), creadmat(), crebmat(), crebmati(), credata(), crehmat(), crehmati(), creimat(), creimati(), cremat(), cremati(), crepointer(), crepointeri(), cresmat(), cresmat1(), cresmat2(), cresmat3(), cresmat4(), cresmati(), cresparse(), cresparsei(), crestringi(), crewimat(), crewmat(), errorinfo(), getbmati(), getcmat(), getexternal(), gethmati(), getilist(), getimati(), getlistbmat(), getlisthmat(), getlistimat(), getlistpointer(), getlistscalar(), getlistsimat(), getlistsmat(), getlistsparse(), getlistvect(), getlistvectcol(), getlistvectrow(), getlistwsmat(), getmati(), getonepoly(), getpointeri(), getpoly(), getrmat(), getrsparse(), getrvect(), getscalar(), getsmati(), getsparsei(), getvect(), getvectcol(), getvectrow(), getwimat(), getwsmati(), lmatj(), matbsize(), matsize(), Name2ptr(), Name2where(), optvarget(), pmatj(), scistring(), smatj(), vcopyobj(), and vectsize().

02620 {
02621   int i;
02622   strncpy(Fname,fname,Min(fname_len,nlgh));
02623   Fname[fname_len] = '\0';
02624   for ( i= 0 ; i < (int) fname_len ; i++) 
02625     if (Fname[i] == ' ') { Fname[i]= '\0'; break;}
02626   return Fname;
02627 }

Here is the caller graph for this function:

int C2F() getbmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 581 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getbmati(), lr, Lstk, lw, m, n, and topk.

Referenced by cmatbptr(), creadbmat(), getrhsvar(), and matbsize().

00582 {
00583   return C2F(getbmati)(fname, topk, lw, Lstk(*lw ), m, n, lr, &c_false, &cx0, fname_len);
00584 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getbmati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer m,
integer n,
integer lr,
int inlistx,
integer nel,
unsigned long  fname_len 
)

Definition at line 609 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, inlistx, istk, lr, lw, m, n, nel, Rhs, spos, topk, and TRUE_.

Referenced by getbmat(), and getlistbmat().

00610 {
00611   integer il;
00612 
00613   il = iadr(*lw);
00614   if (*istk(il ) < 0)    il = iadr(*istk(il +1));
00615 
00616   if (*istk(il ) != 4) {
00617     if (*inlistx) 
00618       Scierror(999,"%s: argument %d >(%d) should be a boolean matrix\r\n",
00619                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
00620     else 
00621       Scierror(208,"%s: argument %d should be a boolean matrix\r\n",get_fname(fname,fname_len),
00622                Rhs + (*spos - *topk));
00623     return FALSE_;
00624   };
00625   *m = *istk(il +1);
00626   *n = *istk(il +2);
00627   *lr = il + 3;
00628   return  TRUE_;
00629 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getcmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 103 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getmat(), it, lc, lr, lw, m, n, Rhs, topk, and TRUE_.

Referenced by cmatcptr(), and creadcmat().

00104 {
00105   integer lc, it;
00106 
00107   if ( C2F(getmat)(fname, topk, lw, &it, m, n, lr, &lc, fname_len) == FALSE_ )
00108     return FALSE_;
00109 
00110   if (it != 1) {
00111     Scierror(202,"%s: Argument %d: wrong type argument expecting a complex matrix\r\n",
00112            get_fname(fname,fname_len), Rhs + (*lw - *topk));
00113     return FALSE_;
00114   }
00115   return TRUE_;
00116 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getexternal ( char *  fname,
integer topk,
integer lw,
char *  namex,
int typex,
void *setfun   __PARAMS((char *, int *)),
unsigned long  fname_len,
unsigned long  name_len 
)

Definition at line 2926 of file stack1.c.

References C2F, cvstr(), cx1, FALSE_, fname, get_fname(), getsmat(), gettype(), i, irep, istk, lr, lw, m, n, namex, nlr, Rhs, topk, TRUE_, and typex.

Referenced by getrhsvar().

02927 {
02928   int ret_value;
02929   integer irep;
02930   integer m, n;
02931   integer il, lr;
02932   integer nlr;
02933   int i;
02934   il = C2F(gettype)(lw);
02935   switch ( il) {
02936   case 11 : case 13 : case 15 :
02937     ret_value = TRUE_;
02938     *typex = FALSE_;
02939     break;
02940   case 10 :
02941     ret_value = C2F(getsmat)(fname, topk, lw, &m, &n, &cx1, &cx1, &lr, &nlr, fname_len);
02942     *typex = TRUE_;
02943     for (i=0; i < (int)name_len ; i++ ) namex[i] = ' ';
02944     if (ret_value == TRUE_) 
02945       {
02946         C2F(cvstr)(&nlr, istk(lr ), namex, &cx1, name_len);
02947         namex[nlr] = '\0';
02948         (*setfun)(namex, &irep); /* , name_len); */
02949         if (irep == 1) 
02950           {
02951             Scierror(50,"%s: entry point %s not found in predefined tables or link table\r\n",get_fname(fname,fname_len),namex);
02952             ret_value = FALSE_;
02953           }
02954       }
02955     break;
02956   default: 
02957     Scierror(211,"%s: Argument %d: wrong type argument, expecting a function\r\n\tor string (external function)\r\n",
02958              get_fname(fname,fname_len), Rhs + (*lw - *topk));
02959     ret_value = FALSE_;
02960     break;
02961   }
02962   return ret_value;
02963 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() gethmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 3179 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, gethmati(), lr, Lstk, lw, m, n, and topk.

Referenced by getrhsvar().

03180 {
03181   return C2F(gethmati)(fname, topk, lw,Lstk(*lw), m, n, lr, &c_false, &cx0, fname_len);
03182 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() gethmati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer m,
integer n,
integer lr,
int inlistx,
integer nel,
unsigned long  fname_len 
)

Definition at line 3188 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, inlistx, istk, lr, lw, m, n, nel, Rhs, sadr, spos, topk, and TRUE_.

Referenced by gethmat(), and getlisthmat().

03189 {
03190   integer il;
03191   il = iadr(*lw);
03192   if (*istk(il ) < 0) il = iadr(*istk(il +1));
03193   if (*istk(il ) != 9) {
03194     if (*inlistx) 
03195       Scierror(999,"%s: argument %d >(%d) should be a matrix of handle\r\n",
03196                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
03197     else 
03198       Scierror(201,"%s: argument %d should be a matrix of handle\r\n",get_fname(fname,fname_len),
03199                Rhs + (*spos - *topk));
03200     return  FALSE_;
03201   }
03202   *m = *istk(il + 1);
03203   *n = *istk(il + 2);
03204   *lr = sadr(il+4);
03205   return TRUE_;
03206 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getilist ( char *  fname,
integer topk,
integer lw,
integer n,
integer ix,
integer ili,
unsigned long  fname_len 
)

Definition at line 1950 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, ili, istk, ix, Lstk, lw, n, Rhs, sadr, topk, and TRUE_.

Referenced by C2F(), getlistbmat(), getlisthmat(), getlistimat(), getlistpointer(), getlistscalar(), getlistsimat(), getlistsmat(), getlistsparse(), getlistvectcol(), getlistvectrow(), getlistwsmat(), getrhsvar(), and lmatj().

01951 {
01952   integer ix1;
01953   integer itype, il;
01954 
01955   il = iadr(*Lstk(*lw ));
01956   if (*istk(il ) < 0) {
01957     il = iadr(*istk(il +1));
01958   }
01959 
01960   itype = *istk(il );
01961   if (itype < 15 || itype > 17) {
01962     Scierror(210,"%s: Argument %d: wrong type argument, expecting a list\r\n",
01963              get_fname(fname,fname_len) , Rhs + (*lw - *topk));
01964     return FALSE_;
01965   }
01966   *n = *istk(il +1);
01967   if (*ix <= *n) {
01968     ix1 = il + 3 + *n;
01969     *ili = sadr(ix1) + *istk(il + 2 + (*ix - 1) ) - 1;
01970   } else {
01971     *ili = 0;
01972   }
01973   return TRUE_;
01974 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getimat ( char *  fname,
integer topk,
integer lw,
integer it,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 429 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getimati(), it, lr, Lstk, lw, m, n, and topk.

Referenced by getrhsvar().

00430 {
00431   return C2F(getimati)(fname, topk, lw,Lstk(*lw),it,m, n, lr,&c_false, &cx0, fname_len);
00432 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getimati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer it,
integer m,
integer n,
integer lr,
int inlistx,
integer nel,
unsigned long  fname_len 
)

Definition at line 438 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, inlistx, istk, it, lr, lw, m, n, nel, Rhs, spos, topk, and TRUE_.

Referenced by getimat(), and getlistimat().

00439 {
00440   integer il;
00441   il = iadr(*lw);
00442   if (*istk(il ) < 0) il = iadr(*istk(il +1));
00443   if (*istk(il ) != 8 ) {
00444     if (*inlistx) 
00445       Scierror(999,"%s: argument %d >(%d) should be an int matrix\r\n",
00446                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
00447     else 
00448       Scierror(201,"%s: argument %d should be a real or complex matrix\r\n",get_fname(fname,fname_len),
00449                Rhs + (*spos - *topk));
00450     return  FALSE_;
00451   }
00452   *m = *istk(il + 1);
00453   *n = *istk(il + 2);
00454   *it = *istk(il + 3);
00455   *lr = il+4;
00456   return TRUE_;
00457 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getlistbmat ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 553 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getbmati(), getilist(), ili, lnum, lr, m, n, nv, Rhs, spos, and topk.

Referenced by getlistrhsvar().

00554 {
00555   integer nv;
00556   integer ili;
00557 
00558   if (C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len)== FALSE_)
00559     return FALSE_ ;
00560 
00561   if (*lnum > nv) {
00562     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
00563              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
00564     return FALSE_ ;
00565   }
00566   
00567   return C2F(getbmati)(fname, topk, spos, &ili, m, n, lr, &c_true, lnum, fname_len);
00568 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getlisthmat ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 3152 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), gethmati(), getilist(), ili, lnum, lr, m, n, nv, Rhs, spos, and topk.

03153 {
03154   integer nv, ili;
03155 
03156   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
03157     return FALSE_;
03158 
03159   if (*lnum > nv) {
03160     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
03161              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
03162     return FALSE_;
03163   }
03164   return C2F(gethmati)(fname, topk, spos, &ili, m, n, lr, &c_true, lnum, fname_len);
03165 } 

Here is the call graph for this function:

int C2F() getlistimat ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer it,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 402 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getimati(), ili, it, lnum, lr, m, n, nv, Rhs, spos, and topk.

Referenced by getlistrhsvar().

00403 {
00404   integer nv, ili;
00405 
00406   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
00407     return FALSE_;
00408 
00409   if (*lnum > nv) {
00410     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
00411              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
00412     return FALSE_;
00413   }
00414   return C2F(getimati)(fname, topk, spos, &ili,it, m, n, lr,  &c_true, lnum, fname_len);
00415 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getlistpointer ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer lw,
unsigned long  fname_len 
)

Definition at line 2519 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getpointeri(), ili, lnum, lw, nv, Rhs, spos, and topk.

Referenced by getlistrhsvar().

02520 {
02521   integer nv, ili;
02522 
02523   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
02524     return FALSE_;
02525 
02526   if (*lnum > nv) {
02527     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
02528              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
02529     return FALSE_;
02530   }
02531   return C2F(getpointeri)(fname, topk, spos, &ili, lw, &c_true, lnum, fname_len);
02532 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getlistscalar ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer lr,
unsigned long  fname_len 
)

Definition at line 1022 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getmati(), ili, it, lc, lnum, lr, m, n, nv, Rhs, spos, topk, and TRUE_.

01023 {
01024   integer m, n;
01025   integer lc, it, nv;
01026   integer ili;
01027   
01028   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
01029     return FALSE_;
01030 
01031   if (*lnum > nv) {
01032     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
01033              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
01034     return FALSE_;
01035   }
01036   
01037   if ( C2F(getmati)(fname, topk, spos, &ili, &it, &m, &n, lr, &lc, &c_true, lnum, fname_len)
01038        == FALSE_)
01039     return FALSE_;
01040 
01041   if (m * n != 1) {
01042     Scierror(999,"%s: argument %d > (%d) should be a scalar\r\n",
01043              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
01044     return FALSE_;
01045   }
01046   return TRUE_;
01047 }

Here is the call graph for this function:

int C2F() getlistsimat ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer m,
integer n,
integer ix,
integer j,
integer lr,
integer nlr,
unsigned long  fname_len 
)

Definition at line 2481 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getsmati(), ili, ix, j, lnum, lr, m, n, nlr, nv, Rhs, spos, and topk.

Referenced by getlistrhsvar().

02482 {
02483   integer nv;
02484   integer ili;
02485 
02486   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_) 
02487     return FALSE_;
02488 
02489   if (*lnum > nv) {
02490     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
02491              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
02492     return FALSE_;
02493   }
02494   return  C2F(getsmati)(fname, topk, spos, &ili, m, n, ix, j, lr, nlr, &c_true, lnum, fname_len);
02495 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getlistsmat ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer m,
integer n,
integer ix,
integer j,
integer lr,
integer nlr,
unsigned long  fname_len 
)

Definition at line 1095 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getsmati(), ili, ix, j, lnum, lr, m, n, nlr, nv, Rhs, spos, and topk.

01096 {
01097   integer nv, ili;
01098 
01099   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
01100     return FALSE_;
01101 
01102   if (*lnum > nv) {
01103     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
01104              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
01105     return FALSE_;
01106   }
01107   return C2F(getsmati)(fname, topk, spos, &ili,  m, n, ix,j, lr, nlr, &c_true, lnum, fname_len);
01108 } 

Here is the call graph for this function:

int C2F() getlistsparse ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer it,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 750 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getsparsei(), icol, ili, it, lc, lnum, lr, m, mnel, n, nel, nv, Rhs, spos, and topk.

Referenced by getlistrhsvar().

00751 {
00752   integer  nv;
00753   integer ili;
00754 
00755   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_) 
00756     return FALSE_ ;
00757   
00758   if (*lnum > nv) {
00759     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
00760              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
00761     return FALSE_;
00762   }
00763 
00764   return C2F(getsparsei)(fname, topk, spos, &ili, it, m, n, nel, mnel, icol, lr, lc, &c_true, lnum, fname_len);
00765 
00766 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getlistvect ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 937 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), it, lc, lnum, lr, m, n, Rhs, spos, topk, and TRUE_.

00938 {
00939   if (C2F(getlistmat)(fname, topk, spos, lnum, it, m, n, lr, lc, fname_len)== FALSE_) 
00940     return FALSE_;
00941 
00942   if (*m != 1 && *n != 1) {
00943     Scierror(999,"%s: argument %d >(%d) should be a vector \r\n",
00944              get_fname(fname,fname_len),Rhs + (*spos - *topk), *lnum);
00945     return  FALSE_;
00946   }
00947   return TRUE_;
00948 } 

Here is the call graph for this function:

int C2F() getlistvectcol ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 2423 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getmati(), ili, it, lc, lnum, lr, m, n, nv, Rhs, spos, topk, and TRUE_.

02424 {
02425   integer nv;
02426   integer ili;
02427   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_) 
02428     return FALSE_;
02429 
02430   if (*lnum > nv) {
02431     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
02432              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
02433     return FALSE_;
02434   }
02435   if ( C2F(getmati)(fname, topk, spos, &ili, it, m, n, lr, lc, &c_true, lnum, fname_len)
02436        == FALSE_)
02437     return FALSE_;
02438 
02439   if (*n != 1) {
02440     Scierror(999,"%s: argument %d >(%d) should be a column vector \r\n",
02441              get_fname(fname,fname_len),Rhs + (*spos - *topk), *lnum);
02442     return FALSE_;
02443   }
02444   return TRUE_;
02445 }

Here is the call graph for this function:

int C2F() getlistvectrow ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 2362 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getmati(), ili, it, lc, lnum, lr, m, n, nv, Rhs, spos, topk, and TRUE_.

02363 {
02364   integer nv;
02365   integer ili;
02366 
02367   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_) 
02368     return FALSE_;
02369 
02370   if (*lnum > nv) {
02371     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
02372              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
02373     return FALSE_;
02374   }
02375 
02376   if (C2F(getmati)(fname, topk, spos, &ili, it, m, n, lr, lc, &c_true, lnum, fname_len)== 
02377       FALSE_) 
02378     return FALSE_;
02379   if (*m != 1) {
02380     Scierror(999,"%s: argument %d >(%d) should be a row vector \r\n",
02381              get_fname(fname,fname_len),Rhs + (*spos - *topk), *lnum);
02382     return FALSE_;
02383   }
02384   return TRUE_;
02385 } 

Here is the call graph for this function:

int C2F() getlistwsmat ( char *  fname,
integer topk,
integer spos,
integer lnum,
integer m,
integer n,
integer ilr,
integer ilrd,
unsigned long  fname_len 
)

Definition at line 1157 of file stack1.c.

References C2F, c_true, FALSE_, fname, fname_len, get_fname(), getilist(), getwsmati(), ili, ilr, ilrd, lnum, m, n, nv, Rhs, spos, and topk.

Referenced by getlistrhsvar().

01158 {
01159   integer nv, ili;
01160 
01161   if ( C2F(getilist)(fname, topk, spos, &nv, lnum, &ili, fname_len) == FALSE_)
01162     return FALSE_;
01163 
01164   if (*lnum > nv) {
01165     Scierror(999,"%s: argument %d should be a list of size at least %d \r\n",
01166              get_fname(fname,fname_len), Rhs+(*spos - *topk), *lnum);
01167     return FALSE_;
01168   }
01169   return C2F(getwsmati)(fname, topk, spos, &ili, m, n, ilr, ilrd, &c_true, lnum, fname_len);
01170 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getmat ( char *  fname,
integer topk,
integer lw,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 76 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getmati(), it, lc, lr, Lstk, lw, m, n, and topk.

Referenced by getcmat(), getrhscvar(), getrhsvar(), getrmat(), getvect(), insmat(), matsize(), and swapmat().

00077 {
00078   return C2F(getmati)(fname, topk, lw,Lstk(*lw), it, m, n, lr, lc, &c_false, &cx0, fname_len);
00079 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getmati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer it,
integer m,
integer n,
integer lr,
integer lc,
int inlistx,
integer nel,
unsigned long  fname_len 
)

Definition at line 142 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, inlistx, istk, it, lc, lr, lw, m, n, nel, Rhs, sadr, spos, topk, and TRUE_.

Referenced by C2F(), getlistscalar(), getlistvectcol(), getlistvectrow(), getmat(), getvectcol(), and getvectrow().

00143 {
00144   integer il;
00145   il = iadr(*lw);
00146   if (*istk(il ) < 0) il = iadr(*istk(il +1));
00147   if (*istk(il ) != 1) {
00148     if (*inlistx) 
00149       Scierror(999,"%s: argument %d >(%d) should be a real or complex matrix\r\n",
00150                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
00151     else 
00152       Scierror(201,"%s: argument %d should be a real or complex matrix\r\n",get_fname(fname,fname_len),
00153                Rhs + (*spos - *topk));
00154     return  FALSE_;
00155   }
00156   *m = *istk(il + 1);
00157   *n = *istk(il + 2);
00158   *it = *istk(il + 3);
00159   *lr = sadr(il+4);
00160   if (*it == 1)  *lc = *lr + *m * *n;
00161   return TRUE_;
00162 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getonepoly ( char *  fname,
integer topk,
integer lw,
integer it,
integer md,
char *  namex,
integer namel,
integer lr,
integer lc,
unsigned long  fname_len,
unsigned long  name_len 
)

Definition at line 2037 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getpoly(), ilp, istk, it, L, lc, lr, lw, m, md, n, namel, namex, topk, and TRUE_.

02038 {
02039   integer m, n;
02040   integer ilp;
02041 
02042   if (C2F(getpoly)(fname, topk, lw, it, &m, &n, namex, namel, &ilp, lr, lc, fname_len, 4L)
02043       == FALSE_)
02044     return FALSE_;
02045 
02046   if (m * n != 1) {
02047     Scierror(998,"%s: argument should be a polygon\r\n",
02048              get_fname(fname,fname_len));
02049     return FALSE_;
02050   }
02051   *md = *istk(ilp +1) - *istk(ilp ) - 1;
02052   *lr += *istk(ilp );
02053   *lc += *istk(ilp );
02054   return TRUE_;
02055 } 

Here is the call graph for this function:

int C2F() getpointer ( char *  fname,
integer topk,
integer lw,
integer lr,
unsigned long  fname_len 
)

Definition at line 2501 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getpointeri(), lr, Lstk, lw, and topk.

Referenced by getrhsvar().

02502 {
02503   return C2F(getpointeri)(fname, topk, lw,Lstk(*lw), lr, &c_false, &cx0, fname_len);
02504 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getpointeri ( char *  fname,
integer topk,
integer spos,
integer lw,
integer lr,
int inlistx,
integer nel,
unsigned long  fname_len 
)

Definition at line 2538 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, inlistx, istk, lr, lw, nel, Rhs, sadr, sciprint(), spos, topk, and TRUE_.

Referenced by getlistpointer(), and getpointer().

02539 {
02540   integer il;
02541   il = iadr(*lw);
02542   if (*istk(il ) < 0) il = iadr(*istk(il +1));
02543   if (*istk(il ) != 128) {
02544     sciprint("----%d\r\n",*istk(il));
02545     if (*inlistx) 
02546       Scierror(999,"%s: argument %d >(%d) should be a boxed pointer\r\n",
02547                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
02548     else 
02549       Scierror(201,"%s: argument %d should be a boxed pointer\r\n",get_fname(fname,fname_len),
02550                Rhs + (*spos - *topk));
02551     return  FALSE_;
02552   }
02553   *lr = sadr(il+4);
02554   return TRUE_;
02555 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getpoly ( char *  fname,
integer topk,
integer lw,
integer it,
integer m,
integer n,
char *  namex,
integer namel,
integer ilp,
integer lr,
integer lc,
unsigned long  fname_len,
unsigned long  name_len 
)

Definition at line 1998 of file stack1.c.

References C2F, cvstr(), cx1, FALSE_, fname, fname_len, get_fname(), iadr, ilp, istk, it, L, lc, lr, Lstk, lw, m, n, namel, namex, Rhs, sadr, topk, and TRUE_.

Referenced by getonepoly(), and pmatj().

01999 {
02000   integer ix1;
02001 
02002   integer il;
02003   il = iadr(*Lstk(*lw ));
02004   if (*istk(il ) != 2) {
02005     Scierror(212,"%s: Argument %d: wrong type argument, expecting a polynomial matrix\r\n",
02006              get_fname(fname,fname_len), Rhs + (*lw - *topk));
02007     return FALSE_;
02008   } ;
02009   *m = *istk(il +1);
02010   *n = *istk(il +2);
02011   *it = *istk(il + 3);
02012   *namel = 4;
02013   C2F(cvstr)(namel, istk(il + 4), namex, &cx1, 4L);
02014  L11:
02015   if (*namel > 0) {
02016     if ( namex[*namel - 1] == ' ') {
02017       --(*namel);
02018       goto L11;
02019     }
02020   }
02021   *ilp = il + 8;
02022   ix1 = *ilp + *m * *n + 1;
02023   *lr = sadr(ix1) - 1;
02024   *lc = *lr + *istk(*ilp + *m * *n ) - 1;
02025   return  TRUE_;
02026 
02027 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getrmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 85 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getmat(), it, lc, lr, lw, m, n, Rhs, topk, and TRUE_.

Referenced by cmatptr(), creadmat(), getrvect(), and getscalar().

00086 {
00087   integer lc, it;
00088 
00089   if ( C2F(getmat)(fname, topk, lw, &it, m, n, lr, &lc, fname_len) == FALSE_ )
00090     return FALSE_;
00091 
00092   if (it != 0) {
00093     Scierror(202,"%s: Argument %d: wrong type argument expecting a real matrix\r\n",
00094              get_fname(fname,fname_len), Rhs + (*lw - *topk));
00095     return FALSE_;
00096   }
00097   return TRUE_;
00098 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getrsparse ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lr,
unsigned long  fname_len 
)

Definition at line 787 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getsparse(), icol, it, lc, lr, lw, m, mnel, n, nel, Rhs, topk, and TRUE_.

00788 {
00789   integer lc, it;  
00790   if ( C2F(getsparse)(fname, topk, lw, &it, m, n, nel, mnel, icol, lr, &lc, fname_len) == FALSE_ ) 
00791     return FALSE_;
00792 
00793   if (it != 0) {
00794     Scierror(202,"%s: Argument %d: wrong type argument expecting a real matrix\r\n",
00795              get_fname(fname,fname_len), Rhs + (*lw - *topk));
00796     return FALSE_;
00797   }
00798   return TRUE_;
00799 }

Here is the call graph for this function:

int C2F() getrvect ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 980 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getrmat(), lr, lw, m, n, Rhs, topk, and TRUE_.

00981 {
00982   if ( C2F(getrmat)(fname, topk, lw, m, n, lr, fname_len)  == FALSE_)
00983     return FALSE_;
00984 
00985   if (*m != 1 && *n != 1) {
00986     Scierror(203,"%s: Argument %d: wrong type argument expecting a real vector\r\n",
00987              get_fname(fname,fname_len), Rhs + (*lw - *topk));
00988     return FALSE_;
00989   }
00990   return TRUE_ ;
00991 }

Here is the call graph for this function:

int C2F() getscalar ( char *  fname,
integer topk,
integer lw,
integer lr,
unsigned long  fname_len 
)

Definition at line 1059 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getrmat(), lr, lw, m, n, Rhs, topk, and TRUE_.

01060 {
01061   integer m, n;
01062 
01063   if ( C2F(getrmat)(fname, topk, lw, &m, &n, lr, fname_len) == FALSE_) 
01064     return  FALSE_;
01065 
01066   if (m * n != 1) {
01067     Scierror(204,"%s: Argument %d: wrong wrong type argument expecting a scalar\r\n",
01068              get_fname(fname,fname_len),Rhs + (*lw - *topk));
01069     return FALSE_ ; 
01070   };
01071   return TRUE_;
01072 } 

Here is the call graph for this function:

int C2F() getsimat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer ix,
integer j,
integer lr,
integer nlr,
unsigned long  fname_len 
)

Definition at line 1143 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getsimati(), ix, j, lr, Lstk, lw, m, n, nlr, and topk.

Referenced by run().

01144 {
01145   return C2F(getsimati)(fname, topk, lw, Lstk(*lw), m, n, ix,j , lr ,nlr,  &c_false, &cx0, fname_len);
01146 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getsimati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer m,
integer n,
integer ix,
integer j,
integer lr,
integer nlr,
int inlistx,
integer nel,
unsigned long  fname_len 
)

Definition at line 1230 of file stack1.c.

References iadr, istk, ix, j, lr, lw, m, n, and nlr.

Referenced by getsimat(), and getsmati().

01231 {
01232   integer k, il =  iadr(*lw);
01233   if (*istk(il ) < 0) il = iadr(*istk(il +1)); 
01234   *m = *istk(il + 1);
01235   *n = *istk(il + 2);
01236   k = *ix - 1 + (*j - 1) * *m;
01237   *lr = il + 4 + *m * *n + *istk(il + 4 + k );
01238   *nlr = *istk(il + 4 + k +1) - *istk(il + 4 + k );
01239   return 0;
01240 }

Here is the caller graph for this function:

int C2F() getsmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer ix,
integer j,
integer lr,
integer nlr,
unsigned long  fname_len 
)

Definition at line 1125 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getsmati(), ix, j, lr, Lstk, lw, m, n, nlr, and topk.

Referenced by cmatsptr(), creadchain(), creadchains(), getexternal(), getlengthchain(), getrhsvar(), and smatj().

01126 {
01127   return C2F(getsmati)(fname, topk, lw, Lstk(*lw), m, n, ix,j , lr ,nlr,  &c_false, &cx0, fname_len);
01128 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getsmati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer m,
integer n,
integer ix,
integer j,
integer lr,
integer nlr,
int inlistx,
int nel,
unsigned long  fname_len 
)

Definition at line 1213 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getsimati(), iadr, inlistx, istk, ix, j, lr, lw, m, n, nel, nlr, Rhs, spos, topk, and TRUE_.

Referenced by getlistsimat(), getlistsmat(), and getsmat().

01214 {
01215   integer il = iadr(*lw);
01216   if (*istk(il ) < 0) il = iadr(*istk(il +1));
01217   if (*istk(il ) != 10 ) {
01218     if (*inlistx) 
01219       Scierror(999,"%s: argument %d >(%d) should be a  string  matrix\r\n",
01220                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
01221     else 
01222       Scierror(201,"%s: argument %d should be a string matrix\r\n",get_fname(fname,fname_len),
01223                Rhs + (*spos - *topk));
01224     return  FALSE_;
01225   }
01226   C2F(getsimati)(fname, topk, spos, lw, m, n, ix,j , lr ,nlr, inlistx, nel, fname_len);
01227   return TRUE_;
01228 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getsparse ( char *  fname,
integer topk,
integer lw,
integer it,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 778 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getsparsei(), icol, it, lc, lr, Lstk, lw, m, mnel, n, nel, and topk.

Referenced by getrhsvar(), and getrsparse().

00779 {
00780   return C2F(getsparsei)(fname, topk, lw, Lstk(*lw ), it, m, n, nel, mnel, icol, lr, lc, &c_false, &cx0, fname_len);
00781 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getsparsei ( char *  fname,
integer topk,
integer spos,
integer lw,
integer it,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lr,
integer lc,
int inlistx,
integer nellist,
unsigned long  fname_len 
)

Definition at line 805 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, icol, inlistx, istk, it, lc, lr, lw, m, mnel, n, nel, nellist, Rhs, sadr, spos, topk, and TRUE_.

Referenced by getlistsparse(), and getsparse().

00806 {
00807   integer il;
00808 
00809   il = iadr(*lw);
00810   if (*istk(il ) < 0)   il = iadr(*istk(il +1));
00811 
00812   if (*istk(il ) != 5) {
00813     if (*inlistx) 
00814       Scierror(999,"%s: argument %d >(%d) should be a sparse matrix\r\n",
00815                get_fname(fname,fname_len), Rhs + (*spos - *topk), *nellist);
00816     else 
00817       Scierror(999,"%s: argument %d should be a sparse matrix\r\n",
00818                get_fname(fname,fname_len), Rhs + (*spos - *topk));
00819     return FALSE_;
00820   }
00821   *m   = *istk(il + 1);
00822   *n   = *istk(il + 2);
00823   *it  = *istk(il + 3);
00824   *nel = *istk(il + 4);
00825   *mnel = il + 5;
00826   *icol = il + 5 + *m;
00827   *lr = sadr(il + 5 + *m + *nel);
00828   if (*it == 1)  *lc = *lr + *nel;
00829   return TRUE_;
00830 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getvect ( char *  fname,
integer topk,
integer lw,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 962 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getmat(), it, lc, lr, lw, m, n, Rhs, topk, and TRUE_.

Referenced by vectsize().

00963 {
00964   if ( C2F(getmat)(fname, topk, lw, it, m, n, lr, lc, fname_len) == FALSE_) 
00965     return FALSE_;
00966 
00967   if (*m != 1 && *n != 1) {
00968     Scierror(214,"%s: Argument %d: wrong type argument expecting a vector\r\n",
00969              get_fname(fname,fname_len), Rhs + (*lw - *topk));
00970     return FALSE_;
00971   };
00972   return  TRUE_;
00973 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() getvectcol ( char *  fname,
integer topk,
integer spos,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 2465 of file stack1.c.

References C2F, c_false, cx0, FALSE_, fname, fname_len, get_fname(), getmati(), it, lc, lr, Lstk, m, n, Rhs, spos, topk, and TRUE_.

02466 {
02467 
02468   if ( C2F(getmati)(fname, topk, spos, Lstk(*spos ), it, m, n, lr, lc, &c_false, &cx0, fname_len)
02469        == FALSE_ ) 
02470     return FALSE_;
02471 
02472   if (*n != 1) {
02473     Scierror(999,"%s: argument %d should be a column vector \r\n",
02474              get_fname(fname,fname_len),Rhs + (*spos - *topk));
02475     return FALSE_;
02476   }
02477   return TRUE_;
02478 }

Here is the call graph for this function:

int C2F() getvectrow ( char *  fname,
integer topk,
integer spos,
integer it,
integer m,
integer n,
integer lr,
integer lc,
unsigned long  fname_len 
)

Definition at line 2406 of file stack1.c.

References C2F, c_false, cx0, FALSE_, fname, fname_len, get_fname(), getmati(), it, lc, lr, Lstk, m, n, Rhs, spos, topk, and TRUE_.

02407 {
02408   if (C2F(getmati)(fname, topk, spos, Lstk(*spos ), it, m, n, lr, lc, &c_false, &cx0, fname_len) == FALSE_) 
02409     return FALSE_;
02410 
02411   if (*m != 1) {
02412     Scierror(999,"%s: argument %d should be a row vector \r\n",
02413              get_fname(fname,fname_len),Rhs + (*spos - *topk));
02414     return FALSE_;
02415   }
02416   return TRUE_ ;
02417 } 

Here is the call graph for this function:

int C2F() getwimat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer lr,
unsigned long  fname_len 
)

Definition at line 2200 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, istk, lr, Lstk, lw, m, n, Rhs, topk, and TRUE_.

02201 {
02202   integer il;
02203   il = iadr(*Lstk(*lw ));
02204   if (*istk(il ) < 0) {
02205     il = iadr(*istk(il +1));
02206   }
02207   if (*istk(il ) != 4) {
02208     Scierror(213,"%s: Argument %d: wrong type argument, expecting a working\r\n\tinteger matrix\r\n",
02209              get_fname(fname,fname_len),Rhs + (*lw - *topk));
02210     return FALSE_;
02211   };
02212   *m = *istk(il + 1);
02213   *n = *istk(il + 2);
02214   *lr = il + 3;
02215   return TRUE_;
02216 } 

Here is the call graph for this function:

int C2F() getwsmat ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
integer ilr,
integer ilrd,
unsigned long  fname_len 
)

Definition at line 1179 of file stack1.c.

References C2F, c_false, cx0, fname, fname_len, getwsmati(), ilr, ilrd, Lstk, lw, m, n, and topk.

Referenced by __PARAMS(), getrhsvar(), and GetString().

01180 {
01181   return C2F(getwsmati)(fname, topk, lw,Lstk(*lw), m, n, ilr, ilrd, &c_false, &cx0, fname_len);
01182 }

Here is the call graph for this function:

Here is the caller graph for this function:

static int C2F() getwsmati ( char *  fname,
integer topk,
integer spos,
integer lw,
integer m,
integer n,
integer ilr,
integer ilrd,
int inlistx,
integer nel,
unsigned long  fname_len 
) [static]

Definition at line 1188 of file stack1.c.

References FALSE_, fname, fname_len, get_fname(), iadr, ilr, ilrd, inlistx, istk, lw, m, n, nel, Rhs, spos, topk, and TRUE_.

Referenced by getlistwsmat(), and getwsmat().

01189 {
01190     integer il;
01191     il = iadr(*lw);
01192     if (*istk(il ) < 0) il = iadr(*istk(il +1));
01193     if (*istk(il ) != 10) {
01194       if (*inlistx)
01195         Scierror(999,"%s: argument %d >(%d) should be a matrix of strings\r\n",
01196                  get_fname(fname,fname_len), Rhs + (*spos - *topk), *nel);
01197       else 
01198         Scierror(207,"%s: Argument %d : wrong type argument, expecting a matrix of strings\r\n",
01199                  get_fname(fname,fname_len), Rhs + (*spos - *topk));
01200       return FALSE_;
01201     }
01202     *m = *istk(il + 1);
01203     *n = *istk(il + 2);
01204     *ilrd = il + 4;
01205     *ilr =  il + 5 + *m * *n;
01206     return TRUE_;
01207 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() insmat ( integer topk,
integer lw,
integer it,
integer m,
integer n,
integer lr,
integer lc,
integer lr1,
integer lc1 
)

Definition at line 2778 of file stack1.c.

References C2F, c_n1, cremat(), dcopy(), FALSE_, getmat(), it, it1, L, lc, lc1, lr, lr1, lw, m, m1, n, n1, stk, topk, and TRUE_.

02779 {
02780 
02781   integer ix1;
02782   integer c_n1 = -1;
02783   integer m1, n1;
02784   integer lc0, it1, lr0;
02785   
02786   if (C2F(getmat)("insmat", topk, lw, &it1, &m1, &n1, &lr0, &lc0, 6L) == FALSE_) 
02787     return FALSE_;
02788 
02789   if (C2F(cremat)("insmat", lw, it, m, n, lr, lc, 6L)  == FALSE_) 
02790     return FALSE_;
02791 
02792   ix1 = *lw + 1;
02793 
02794   if (C2F(cremat)("insmat", &ix1, &it1, &m1, &n1, lr1, lc1, 6L) == FALSE_) 
02795     return FALSE_;
02796 
02797   ix1 = m1 * n1 * (it1 + 1);
02798   C2F(dcopy)(&ix1, stk(lr0 ), &c_n1, stk(*lr1 ), &c_n1);
02799   return TRUE_;
02800 } 

Here is the call graph for this function:

int C2F() lcrestringmatfromc ( char *  fname,
integer spos,
integer numi,
integer stlw,
integer lorig,
integer m,
integer n,
unsigned long  fname_len 
)

Definition at line 2310 of file stack1.c.

References Bot, C2F, cstringf(), FALSE_, iadr, ierr, istk, lorig, Lstk, m, n, numi, sadr, spos, stk, stlw, and TRUE_.

02311 {
02312   integer ix1;
02313   integer ierr;
02314   integer il, ilw;
02315   ilw = iadr(*stlw);
02316   ix1 = *Lstk(Bot ) - *stlw;
02317   C2F(cstringf)((char ***)stk(*lorig ), istk(ilw ), m, n, &ix1, &ierr);
02318   if (ierr > 0) {
02319     Scierror(999,"Not enough memory\r\n");
02320     return FALSE_;
02321   }
02322   ix1 = ilw + 5 + *m * *n + *istk(ilw + 4 + *m * *n ) - 1;
02323   *stlw = sadr(ix1);
02324   il = iadr(*Lstk(*spos ));
02325   ix1 = il + *istk(il +1) + 3;
02326   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
02327   if (*numi == *istk(il +1)) {
02328     *Lstk(*spos +1) = *stlw;
02329   }
02330   return TRUE_;
02331 }

Here is the call graph for this function:

int C2F() listcrebmat ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer m,
integer n,
integer lrs,
unsigned long  fname_len 
)

Definition at line 641 of file stack1.c.

References C2F, c_true, crebmati(), FALSE_, fname, fname_len, iadr, istk, lrs, Lstk, lw, m, n, numi, sadr, stlw, and TRUE_.

Referenced by createlistvarfrom(), and createlistvarfromptr().

00642 {
00643   integer ix1;
00644   integer il;
00645 
00646   if ( C2F(crebmati)(fname, stlw, m, n, lrs, &c_true, fname_len)== FALSE_) 
00647     return FALSE_;
00648 
00649   ix1 = *lrs + *m * *n + 2;
00650   *stlw = sadr(ix1);
00651   il = iadr(*Lstk(*lw ));
00652   ix1 = il + *istk(il +1) + 3;
00653   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
00654   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
00655   return TRUE_;
00656 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() listcrehmat ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer m,
integer n,
integer lrs,
unsigned long  fname_len 
)

Definition at line 3097 of file stack1.c.

References C2F, c_true, crehmati(), FALSE_, fname, fname_len, iadr, istk, lrs, Lstk, lw, m, n, numi, sadr, stlw, and TRUE_.

Referenced by createlistvarfrom().

03098 {
03099   integer ix1,il ;
03100     
03101   if (C2F(crehmati)(fname, stlw, m, n, lrs, &c_true, fname_len)==FALSE_)
03102     return FALSE_ ;
03103 
03104   *stlw = *lrs + *m * *n;
03105   il = iadr(*Lstk(*lw ));
03106   ix1 = il + *istk(il +1) + 3;
03107   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
03108   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
03109   return TRUE_;
03110 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() listcreimat ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer it,
integer m,
integer n,
integer lrs,
unsigned long  fname_len 
)

Definition at line 470 of file stack1.c.

References C2F, c_true, creimati(), FALSE_, fname, fname_len, iadr, istk, it, lrs, Lstk, lw, m, memused, n, numi, sadr, stlw, and TRUE_.

Referenced by createlistvarfrom(), and createlistvarfromptr().

00471 {
00472   integer ix1,il ;
00473     
00474   if (C2F(creimati)(fname, stlw,it, m, n, lrs, &c_true, fname_len)==FALSE_)
00475     return FALSE_ ;
00476   *stlw = sadr(*lrs + memused(*it,*m * *n));
00477   il = iadr(*Lstk(*lw ));
00478   ix1 = il + *istk(il +1) + 3;
00479   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
00480   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
00481   return TRUE_;
00482 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() listcremat ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer it,
integer m,
integer n,
integer lrs,
integer lcs,
unsigned long  fname_len 
)

Definition at line 175 of file stack1.c.

References C2F, c_true, cremati(), FALSE_, fname, fname_len, iadr, istk, it, lcs, lrs, Lstk, lw, m, n, numi, sadr, stlw, and TRUE_.

Referenced by createlistcvarfrom(), createlistcvarfromptr(), createlistvarfrom(), and createlistvarfromptr().

00176 {
00177   integer ix1,il ;
00178     
00179   if (C2F(cremati)(fname, stlw, it, m, n, lrs, lcs, &c_true, fname_len)==FALSE_)
00180     return FALSE_ ;
00181 
00182   *stlw = *lrs + *m * *n * (*it + 1);
00183   il = iadr(*Lstk(*lw ));
00184   ix1 = il + *istk(il +1) + 3;
00185   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
00186   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
00187   return TRUE_;
00188 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() listcrepointer ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer lrs,
unsigned long  fname_len 
)

Definition at line 2247 of file stack1.c.

References C2F, c_true, crepointeri(), FALSE_, fname, fname_len, iadr, istk, lrs, Lstk, lw, numi, sadr, stlw, and TRUE_.

Referenced by createlistvarfrom(), and createlistvarfromptr().

02248 {
02249   integer ix1,il ;
02250   if (C2F(crepointeri)(fname, stlw,  lrs, &c_true, fname_len)==FALSE_)
02251     return FALSE_ ;
02252   *stlw = *lrs + 2;
02253   il = iadr(*Lstk(*lw ));
02254   ix1 = il + *istk(il +1) + 3;
02255   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
02256   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
02257   return TRUE_;
02258 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() listcresmat ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer m,
integer n,
integer nchar,
integer job,
integer ilrs,
unsigned long  fname_len 
)

Definition at line 1256 of file stack1.c.

References C2F, cresmati(), FALSE_, fname, fname_len, iadr, ilrs, istk, job, Lstk, lw, m, n, nchar, numi, sadr, stlw, sz, and TRUE_.

01257 {
01258   integer ix1;
01259   integer il, sz;
01260 
01261   if ( C2F(cresmati)(fname, stlw, m, n, nchar, job, ilrs, &sz, fname_len) == FALSE_ )
01262     return FALSE_;
01263   ix1 = *ilrs + sz;
01264   *stlw = sadr(ix1);
01265   il = iadr(*Lstk(*lw ));
01266   ix1 = il + *istk(il +1) + 3;
01267   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
01268   if (*numi == *istk(il +1))  *Lstk(*lw +1) = *stlw;
01269   return TRUE_;
01270 } 

Here is the call graph for this function:

int C2F() listcresparse ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer it,
integer m,
integer n,
integer nel,
integer mnel,
integer icol,
integer lrs,
integer lcs,
unsigned long  fname_len 
)

Definition at line 843 of file stack1.c.

References C2F, cresparsei(), FALSE_, fname, fname_len, iadr, icol, istk, it, lcs, lrs, Lstk, lw, m, mnel, n, nel, numi, sadr, stlw, and TRUE_.

00844 {
00845   integer ix1,il;
00846 
00847   if (C2F(cresparsei)(fname, stlw, it, m, n, nel, mnel, icol, lrs, lcs, fname_len)== FALSE_) 
00848     return FALSE_ ;
00849 
00850   *stlw = *lrs + *nel * (*it + 1);
00851   il = iadr(*Lstk(*lw ));
00852   ix1 = il + *istk(il +1) + 3;
00853   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
00854   if (*numi == *istk(il +1)) {
00855     *Lstk(*lw +1) = *stlw;
00856   }
00857   return TRUE_;
00858 } 

Here is the call graph for this function:

int C2F() listcrestring ( char *  fname,
integer lw,
integer numi,
integer stlw,
integer nch,
integer ilrs,
unsigned long  fname_len 
)

Definition at line 1647 of file stack1.c.

References C2F, crestringi(), FALSE_, fname, fname_len, iadr, ilrs, istk, Lstk, lw, nch, numi, sadr, stlw, and TRUE_.

Referenced by createlistvarfrom(), and createlistvarfromptr().

01648 {
01649   integer ix1, il ;
01650 
01651   if ( C2F(crestringi)(fname, stlw, nch, ilrs, fname_len) == FALSE_ )
01652     return FALSE_;
01653 
01654   ix1 = *ilrs - 1 + *istk(*ilrs - 2 +1);
01655   *stlw = sadr(ix1);
01656   il = iadr(*Lstk(*lw ));
01657   ix1 = il + *istk(il +1) + 3;
01658   *istk(il + 2 + *numi ) = *stlw - sadr(ix1) + 1;
01659   if (*numi == *istk(il +1)) {
01660     *Lstk(*lw +1) = *stlw;
01661   }
01662   return TRUE_;
01663 }

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() lmatj ( char *  fname,
integer lw,
integer j,
unsigned long  fname_len 
)

Definition at line 1910 of file stack1.c.

References Bot, C2F, cx1, dcopy(), Err, FALSE_, fname, fname_len, get_fname(), getilist(), iadr, istk, j, Lstk, lw, n, sadr, stk, and TRUE_.

01911 {
01912   integer ix1, ix2;
01913   integer n;
01914   integer il, ilj, slj;
01915   if (*lw + 1 >= Bot) {
01916     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01917     return FALSE_;
01918   }
01919   ix1 = *lw - 1;
01920   ix2 = *lw - 1;
01921   if (! C2F(getilist)(fname, &ix1, &ix2, &n, j, &ilj, fname_len)) 
01922     return FALSE_;
01923   if (*j > n)       return FALSE_;
01924   /*     a ameliorer */
01925   il = iadr(*Lstk(*lw - 2 +1));
01926   ix1 = il + 3 + n;
01927   slj = sadr(ix1) + *istk(il + 2 + (*j - 1) ) - 1;
01928   n = *istk(il + 2 + *j ) - *istk(il + 2 + (*j - 1) );
01929   Err = *Lstk(*lw ) + n - *Lstk(Bot );
01930   if (Err > 0) return FALSE_;
01931   C2F(dcopy)(&n, stk(slj ), &cx1, stk(*Lstk(*lw ) ), &cx1);
01932   *Lstk(*lw +1) = *Lstk(*lw ) + n;
01933   return TRUE_;
01934 } 

Here is the call graph for this function:

int C2F() matbsize ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
unsigned long  fname_len 
)

Definition at line 592 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getbmat(), lr, lw, m, m1, n, n1, Rhs, topk, and TRUE_.

00593 {
00594   integer m1, n1, lr;
00595   if ( C2F(getbmat)(fname, topk, lw, &m1, &n1, &lr, fname_len) == FALSE_)
00596     return FALSE_;
00597   if (*m != m1 || *n != n1) {
00598     Scierror(205,"%s: Argument %d, wrong matrix size (%d,%d) expected\r\n",
00599              get_fname(fname,fname_len),Rhs + (*lw - *topk),*m,*n);
00600     return FALSE_;
00601   }
00602   return TRUE_;
00603 } 

Here is the call graph for this function:

int C2F() matsize ( char *  fname,
integer topk,
integer lw,
integer m,
integer n,
unsigned long  fname_len 
)

Definition at line 124 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getmat(), it, lc, lr, lw, m, m1, n, n1, Rhs, topk, and TRUE_.

00125 {
00126   integer m1, n1, lc, it, lr;
00127   
00128   if (  C2F(getmat)(fname, topk, lw, &it, &m1, &n1, &lr, &lc, fname_len)  == FALSE_)
00129     return FALSE_;
00130   if (*m != m1 || *n != n1) {
00131     Scierror(205,"%s: Argument %d: wrong matrix size (%d,%d) expected \r\n",
00132              get_fname(fname,fname_len), Rhs + (*lw - *topk), *m,*n);
00133     return FALSE_;
00134   }
00135   return  TRUE_;
00136 }

Here is the call graph for this function:

int C2F() mspcreate ( integer lw,
integer m,
integer n,
integer nzMax,
integer it 
)

Definition at line 2561 of file stack1.c.

References Bot, C2F, Err, FALSE_, iadr, ir, istk, it, Lstk, lw, m, n, pr, Rhs, sadr, size, stk, Top, and TRUE_.

Referenced by mxCreateSparse().

02562 {
02563   integer ix1;
02564   integer jc, il, ir; int NZMAX;
02565   int k,pr;
02566   double size;
02567   if (*lw + 1 >= Bot) {
02568     Scierror(18,"too many names\r\n");
02569     return FALSE_;
02570   }
02571 
02572   il = iadr(*Lstk(*lw ));
02573   NZMAX=*nzMax;
02574   if (NZMAX==0) NZMAX=1;
02575   ix1 = il + 4 + (*n + 1) + NZMAX;
02576   size = (*it + 1) * NZMAX ;
02577   Err = sadr(ix1)  - *Lstk(Bot );
02578   if (Err > -size ) {
02579     Scierror(17,"stack size exceeded (Use stacksize function to increase it)\r\n");
02580     return FALSE_;
02581   };
02582   *istk(il ) = 7;
02583   /*        si m*n=0 les deux dimensions sont mises a zero. 
02584   *istk(il +1) = Min(*m , *m * *n);
02585   *istk(il + 1 +1) = Min(*n, *m * *n);     */
02586   *istk(il +1) = *m;
02587   *istk(il + 2) = *n;
02588   *istk(il + 3) = *it;
02589   *istk(il + 4) = NZMAX;
02590   jc = il + 5;
02591 
02592   for (k=0; k<*n+1; ++k) *istk(jc+k)=0;  /* Jc =0 */
02593   ir = jc + *n + 1;
02594   for (k=0; k<NZMAX; ++k) *istk(ir+k)=0;   /* Ir = 0 */
02595   pr = sadr(ir + NZMAX );
02596 
02597   for (k=0; k<NZMAX; ++k) *stk(pr+k)=0;    /* Pr =0  */
02598   ix1 = il + 4 + (*n + 1) + NZMAX;
02599   *Lstk(*lw +1) = sadr(ix1) + (*it + 1) * NZMAX + 1;
02600 
02601   C2F(intersci).ntypes[*lw-Top+Rhs-1] = '$';
02602   C2F(intersci).iwhere[*lw-Top+Rhs-1] = *Lstk(*lw);
02603   /* C2F(intersci).lad[*lw-Top+Rhs-1] = should point to numeric data */
02604   return TRUE_;
02605 }

Here is the caller graph for this function:

int C2F() objvide ( char *  fname,
integer lw,
unsigned long  fname_len 
)

Definition at line 2898 of file stack1.c.

References iadr, istk, Lstk, lw, and Rhs.

02899 {
02900   if (*lw == 0 || Rhs < 0) {
02901     ++(*lw);
02902   }
02903   *istk(iadr(*Lstk(*lw )) ) = 0;
02904   *Lstk(*lw +1) = *Lstk(*lw ) + 2;
02905   return 0;
02906 }

int C2F() optvarget ( char *  fname,
integer topk,
integer iel,
char *  namex,
unsigned long  fname_len,
unsigned long  name_len 
)

Definition at line 2985 of file stack1.c.

References C2F, cvname(), cx0, FALSE_, Fin, fname, fname_len, get_fname(), id, iel, name_len, namex, nsiz, Rhs, stackg(), and TRUE_.

02986 {
02987   integer id[nsiz];
02988   C2F(cvname)(id, namex, &cx0, name_len);
02989   Fin = 0;
02990   /*     recupere la variable et incremente top */
02991   C2F(stackg)(id);
02992   if (Fin == 0) {
02993     Scierror(999,"%s: optional argument %d not given and default value %s not found\r\n",
02994              get_fname(fname,fname_len),*iel,namex);
02995     return FALSE_;
02996   }
02997   ++Rhs;
02998   return TRUE_;
02999 }

Here is the call graph for this function:

int C2F() pmatj ( char *  fname,
integer lw,
integer j,
unsigned long  fname_len 
)

Definition at line 2066 of file stack1.c.

References Bot, C2F, cx1, cx4, dcopy(), Err, FALSE_, fname, fname_len, get_fname(), getpoly(), iadr, icopy(), ilp, istk, it, ix, j, L, l, lc, lr, Lstk, lw, m, m2, Max, n, n2, namel, namex, sadr, stk, Top, and TRUE_.

02067 {
02068   integer ix1, ix2;
02069   char namex[4];
02070   integer incj;
02071   integer ix, l, m, n, namel;
02072   integer l2, m2, n2, lc, il, lj, it, lr, il2, ilp;
02073 
02074   if (*lw + 1 >= Bot) {
02075     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
02076     return FALSE_;
02077   }
02078   ix1 = *lw - 1;
02079   ix2 = *lw - 1;
02080   if (! C2F(getpoly)(fname, &ix1, &ix2, &it, &m, &n, namex, &namel, &ilp, &lr, &lc, fname_len, 4L)) {
02081     return FALSE_;
02082   }
02083   if (*j > n)     return FALSE_;
02084 
02085   /*     a ameliorer */
02086   il = iadr(*Lstk(*lw - 2 +1));
02087   incj = (*j - 1) * m;
02088   il2 = iadr(*Lstk(*lw ));
02089   ix1 = il2 + 4;
02090   l2 = sadr(ix1);
02091   m2 = Max(m,1);
02092   ix1 = il + 9 + m * n;
02093   l = sadr(ix1);
02094   n = *istk(il + 8 + m * n );
02095   ix1 = il2 + 9 + m2;
02096   l2 = sadr(ix1);
02097   n2 = *istk(il + 8 + incj + m ) - *istk(il + 8 + incj );
02098   Err = l2 + n2 * (it + 1) - *Lstk(Bot );
02099   if (Err > 0) {
02100     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
02101     return FALSE_;
02102   }
02103   C2F(icopy)(&cx4, istk(il + 3 +1), &cx1, istk(il2 + 3 +1), &cx1);
02104   il2 += 8;
02105   il = il + 8 + incj;
02106   lj = l - 1 + *istk(il );
02107   *istk(il2 ) = 1;
02108   ix1 = m2;
02109   for (ix = 1; ix <= ix1; ++ix) {
02110     *istk(il2 + ix ) = *istk(il2 - 1 + ix ) + *istk(il + ix ) - *istk(il - 1 + ix );
02111   }
02112   C2F(dcopy)(&n2, stk(lj ), &cx1, stk(l2 ), &cx1);
02113   if (it == 1) {
02114     C2F(dcopy)(&n2, stk(lj + n ), &cx1, stk(l2 + n2 ), &cx1);
02115   }
02116   *Lstk(Top +1) = l2 + n2 * (it + 1);
02117   il2 += -8;
02118   *istk(il2 ) = 2;
02119   *istk(il2 +1) = m2;
02120   *istk(il2 + 1 +1) = 1;
02121   *istk(il2 + 2 +1) = it;
02122   return TRUE_;
02123 }

Here is the call graph for this function:

int C2F() realmat (  ) 

Definition at line 2635 of file stack1.c.

References iadr, istk, Lstk, m, n, sadr, and Top.

02636 {
02637   integer ix1;
02638   integer m, n, il;
02639 
02640   il = iadr(*Lstk(Top ));
02641   if (*istk(il + 3 ) == 0) return 0;
02642   m = *istk(il + 1);
02643   n = *istk(il + 2);
02644   *istk(il + 3) = 0;
02645   ix1 = il + 4;
02646   *Lstk(Top +1) = sadr(ix1) + m * n;
02647   return 0;
02648 }

int C2F() setsimat ( char *  fname,
integer lw,
integer ix,
integer j,
integer nlr,
unsigned long  fname_len 
)

Definition at line 1846 of file stack1.c.

References iadr, istk, ix, j, Lstk, lw, m, and nlr.

01847 {
01848   integer k, m, il;
01849   il = iadr(*Lstk(*lw ));
01850   m = *istk(il +1);
01851   k = *ix - 1 + (*j - 1) * m;
01852   *istk(il + 4 + k +1) = *istk(il + 4 + k ) + *nlr;
01853   return 0;
01854 }

int C2F() smatj ( char *  fname,
integer lw,
integer j,
unsigned long  fname_len 
)

Definition at line 1758 of file stack1.c.

References Bot, C2F, cx1, Err, FALSE_, fname, fname_len, get_fname(), getsmat(), iadr, icopy(), il1, istk, ix, j, lr, Lstk, lw, m, n, sadr, and TRUE_.

01759 {
01760   integer ix1, ix2;
01761   integer incj;
01762   integer ix, m, n;
01763   integer lj, nj, lr, il1, il2, nlj;
01764   integer il1j, il2p;
01765 
01766   if (*lw + 1 >= Bot) {
01767     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
01768     return FALSE_;
01769   }
01770   ix1 = *lw - 1;
01771   ix2 = *lw - 1;
01772   
01773   if (! C2F(getsmat)(fname, &ix1, &ix2, &m, &n, &cx1, &cx1, &lr, &nlj, fname_len)) 
01774     return FALSE_;
01775   if (*j > n) return FALSE_;
01776   
01777   il1 = iadr(*Lstk(*lw - 2 +1));
01778   il2 = iadr(*Lstk(*lw ));
01779   /*     nombre de caracteres de la jieme colonne */
01780   incj = (*j - 1) * m;
01781   nj = *istk(il1 + 4 + incj + m ) - *istk(il1 + 4 + incj );
01782   /*     test de place */
01783   ix1 = il2 + 4 + m + nj + 1;
01784   Err = sadr(ix1) - *Lstk(Bot );
01785   if (Err > 0) {
01786     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",get_fname(fname,fname_len));
01787     return FALSE_;
01788   }
01789   *istk(il2 ) = 10;
01790   *istk(il2 +1) = m;
01791   *istk(il2 + 1 +1) = 1;
01792   *istk(il2 + 2 +1) = 0;
01793   il2p = il2 + 4;
01794   il1j = il1 + 4 + incj;
01795   *istk(il2p ) = 1;
01796   ix1 = m;
01797   for (ix = 1; ix <= ix1; ++ix) {
01798     *istk(il2p + ix ) = *istk(il2p - 1 + ix ) + *istk(il1j + ix ) - *istk(il1j + ix - 2 +1);
01799   }
01800   lj = *istk(il1 + 4 + incj ) + il1 + 4 + m * n;
01801   C2F(icopy)(&nj, istk(lj ), &cx1, istk(il2 + 4 + m +1), &cx1);
01802   ix1 = il2 + 4 + m + nj + 1;
01803   *Lstk(*lw +1) = sadr(ix1);
01804   return TRUE_;
01805 } 

Here is the call graph for this function:

int C2F() stackinfo ( integer lw,
integer typ 
)

Definition at line 2810 of file stack1.c.

References iadr, istk, ix, l, Lstk, lw, m, Min, n, sadr, sciprint(), stk, and typ.

02811 {
02812   integer ix, l, m, n;
02813   integer il, nn;
02814 
02815   if (*lw == 0) {
02816     return 0;
02817   }
02818   il = iadr(*Lstk(*lw ));
02819   if (*istk(il ) < 0) {
02820     il = iadr(*istk(il +1));
02821   }
02822   m = *istk(il +1);
02823   n = *istk(il + 1 +1);
02824 
02825   sciprint("-----------------stack-info-----------------\r\n");
02826   sciprint("lw=%d -[istk]-> il lw+1 -[istk]-> %d \r\n",
02827            *lw,iadr(*Lstk(*lw+1)));
02828   sciprint("istk(%d:..) ->[%d %d %d %d ....]\r\n",
02829            il, istk(il),istk(il+1),istk(il+2),istk(il+3) );
02830   if (*typ == 1) {
02831     l = sadr(il+4);
02832     nn = Min(m*n,3);
02833     for (ix = 0; ix <= nn-1 ; ++ix) {
02834       sciprint("%5.2f  ",stk(l + ix ));
02835     }
02836   } else {
02837     l = il + 4;
02838     nn = Min(m*n,3);
02839     for (ix = 0; ix <= nn-1; ++ix) {
02840       sciprint("%5d  ",istk(l + ix ));
02841     }
02842   }
02843   sciprint("\r\n-----------------stack-info-----------------\r\n");
02844   return 0;
02845 }

Here is the call graph for this function:

int C2F() swapmat ( char *  fname,
integer topk,
integer lw,
integer it1,
integer m1,
integer n1,
integer mn1,
integer it2,
integer m2,
integer n2,
integer mn2,
unsigned long  fname_len 
)

Definition at line 2725 of file stack1.c.

References C2F, copyobj(), cremat(), FALSE_, fname, fname_len, getmat(), it1, it2, lc, lr, lw, m1, m2, mn1, mn2, n1, n2, topk, and TRUE_.

02726 {
02727   integer ix1, ix2;
02728   integer lc, lr;
02729   ix1 = *lw + 1;
02730 
02731   if ( C2F(cremat)(fname, &ix1, it1, m1, n1, &lr, &lc, fname_len)== FALSE_)
02732     return FALSE_ ;
02733 
02734   ix1 = *lw + 2;
02735   C2F(copyobj)(fname, lw, &ix1, fname_len);
02736   ix1 = *lw + 1;
02737   C2F(copyobj)(fname, &ix1, lw, fname_len);
02738   ix1 = *lw + 2;
02739   ix2 = *lw + 1;
02740   C2F(copyobj)(fname, &ix1, &ix2, fname_len);
02741   if ( C2F(getmat)(fname, topk, lw, it1, m1, n1, &lr, &lc, fname_len) == FALSE_ )
02742     return FALSE_;
02743 
02744   ix1 = *lw + 1;
02745 
02746   if (C2F(getmat)(fname, topk, &ix1, it2, m2, n2, &lr, &lc, fname_len) == FALSE_ )
02747     return FALSE_;
02748 
02749   *mn1 = *m1 * *n1;
02750   *mn2 = *m2 * *n2;
02751 
02752   return TRUE_;
02753 } 

Here is the call graph for this function:

int C2F() vcopyobj ( char *  fname,
integer lw,
integer lwd,
unsigned long  fname_len 
)

Definition at line 2686 of file stack1.c.

References Bot, C2F, cx1, dcopy(), Err, FALSE_, fname, fname_len, get_fname(), l, Lstk, lw, lwd, stk, TRUE_, and unsfdcopy().

Referenced by mexCallSCI(), mvfromto(), run(), and VCopyObj().

02687 {
02688   integer l;
02689   integer l1, lv;
02690   l = *Lstk(*lw );
02691   lv = *Lstk(*lw +1) - *Lstk(*lw );
02692   l1 = *Lstk(*lwd );
02693   if (*lwd + 1 >= Bot) {
02694     Scierror(18,"%s: too many names\r\n",get_fname(fname,fname_len));
02695     return FALSE_;
02696   }
02697   Err = *Lstk(*lwd ) + lv - *Lstk(Bot );
02698   if (Err > 0) {
02699     Scierror(17,"%s: stack size exceeded (Use stacksize function to increase it)\r\n",
02700              get_fname(fname,fname_len));
02701     return FALSE_;
02702   }
02703   /* check for overlaping region */
02704   if (l+lv>l1||l1+lv>l) 
02705     C2F(unsfdcopy)(&lv, stk(l), &cx1, stk(l1), &cx1);
02706   else
02707     C2F(dcopy)(&lv, stk(l), &cx1, stk(l1), &cx1);
02708 
02709   *Lstk(*lwd +1) = *Lstk(*lwd ) + lv;
02710   return TRUE_;
02711 } 

Here is the call graph for this function:

Here is the caller graph for this function:

int C2F() vectsize ( char *  fname,
integer topk,
integer lw,
integer n,
unsigned long  fname_len 
)

Definition at line 999 of file stack1.c.

References C2F, FALSE_, fname, fname_len, get_fname(), getvect(), it1, lc, lr, lw, m1, n, n1, Rhs, topk, and TRUE_.

01000 {
01001   integer m1, n1, lc, lr, it1;
01002 
01003   if ( C2F(getvect)(fname, topk, lw, &it1, &m1, &n1, &lr, &lc, fname_len) == FALSE_) 
01004     return FALSE_;
01005 
01006   if (*n != m1 * n1) {
01007     Scierror(206,"%s: Argument %d wrong vector size (%d) expected\r\n",
01008              get_fname(fname,fname_len), Rhs + (*lw - *topk), *n);
01009     return FALSE_;
01010   }
01011   return TRUE_;
01012 } 

Here is the call graph for this function:


Variable Documentation

int c_false = FALSE_ [static]

Definition at line 19 of file stack1.c.

Referenced by fakecrebmat(), fakecremat(), getbmat(), gethmat(), getimat(), getmat(), getpointer(), getsimat(), getsmat(), getsparse(), getvectcol(), getvectrow(), and getwsmat().

int c_true = TRUE_ [static]

Definition at line 18 of file stack1.c.

Referenced by C2F(), crebmat(), crehmat(), creimat(), cremat(), crepointer(), getlistbmat(), getlisthmat(), getlistimat(), getlistpointer(), getlistscalar(), getlistsimat(), getlistsmat(), getlistsparse(), getlistvectcol(), getlistvectrow(), getlistwsmat(), listcrebmat(), listcrehmat(), listcreimat(), listcremat(), and listcrepointer().

integer cx0 = 0 [static]

Definition at line 15 of file stack1.c.

Referenced by C2F(), callscifun(), cre_smat_from_str_i(), createlistvarfrom(), createvarfrom(), cresmat3(), CreSmatFromHist(), cwritebmat(), cwritechain(), cwritecmat(), cwritemat(), getbmat(), gethmat(), getimat(), getmat(), getpointer(), getsimat(), getsmat(), getsparse(), getvectcol(), getvectrow(), getwsmat(), intbdiagr(), optvarget(), scibuiltin(), scifunction(), scirun(), scistring(), and str2name().

integer cx1 = 1 [static]

Definition at line 16 of file stack1.c.

integer cx4 = 4 [static]

Definition at line 17 of file stack1.c.

Referenced by getrhssys(), pmatj(), scibuiltin(), and scifunction().

char Fname[nlgh+1] [static]

Definition at line 2617 of file stack1.c.

Referenced by get_fname().


Generated on Sun Mar 4 15:17:03 2007 for Scilab [trunk] by  doxygen 1.5.1