00001 /*-----------------------------------------------------------------------------------*/ 00002 /* INRIA 2006 */ 00003 /* Allan CORNET */ 00004 /*-----------------------------------------------------------------------------------*/ 00005 #ifdef HAVE_LIMITS_H 00006 #include <limits.h> 00007 #define MAXLONG LONG_MAX 00008 #else 00009 #ifdef HAVE_VALUES_H 00010 #include <values.h> 00011 #endif /* HAVE_VALUES_H */ 00012 #endif /* !HAVE_LIMITS_H */ 00013 00014 #include "stackinfo.h" 00015 #include "stack-def.h" 00016 /*-----------------------------------------------------------------------------------*/ 00017 #ifndef MAXLONG 00018 #define MAXLONG LONG_MAX 00019 #endif 00020 00021 #ifndef LONG_MAX 00022 #define LONG_MAX 2147483647L 00023 #endif 00024 00025 #ifndef MAXLONG 00026 #define MAXLONG LONG_MAX 00027 #endif 00028 /*-----------------------------------------------------------------------------------*/ 00029 integer C2F(getstackinfo)(integer *total,integer *used) 00030 { 00031 *used = C2F(vstk).lstk[C2F(vstk).isiz - 1] - C2F(vstk).lstk[C2F(vstk).bot - 1] + 1; 00032 *total = C2F(vstk).lstk[C2F(vstk).isiz - 1] - C2F(vstk).lstk[0]; 00033 return(0); 00034 } 00035 /*-----------------------------------------------------------------------------------*/ 00036 integer C2F(getgstackinfo)(integer *total,integer *used) 00037 { 00038 *used = C2F(vstk).lstk[C2F(vstk).gtop] - C2F(vstk).lstk[C2F(vstk).isiz + 1] + 1; 00039 *total = C2F(vstk).lstk[C2F(vstk).gbot - 1] - C2F(vstk).lstk[C2F(vstk).isiz + 1] ; 00040 return(0); 00041 } 00042 /*-----------------------------------------------------------------------------------*/ 00043 integer C2F(getvariablesinfo)(integer *total,integer *used) 00044 { 00045 *used = C2F(vstk).isiz - C2F(vstk).bot ; 00046 *total = C2F(vstk).isiz - 1; 00047 return 0; 00048 } 00049 /*-----------------------------------------------------------------------------------*/ 00050 integer C2F(getgvariablesinfo)(integer *total,integer *used) 00051 { 00052 *used = C2F(vstk).gtop - C2F(vstk).isiz - 1; 00053 *total = 10000 - C2F(vstk).isiz - 1; 00054 return 0; 00055 } 00056 /*-----------------------------------------------------------------------------------*/ 00057 BOOL is_a_valid_size_for_scilab_stack(int sizestack) 00058 { 00059 BOOL bOK=TRUE; 00060 double dsize = ((double) sizeof(double)) * (sizestack); 00061 unsigned long ulsize = ((unsigned long)sizeof(double)) * (sizestack); 00062 if ( dsize != (double) ulsize) 00063 { 00064 bOK=FALSE; 00065 } 00066 return bOK; 00067 } 00068 /*-----------------------------------------------------------------------------------*/ 00069 unsigned long get_max_memory_for_scilab_stack(void) 00070 { 00071 return MAXLONG/sizeof(double); 00072 } 00073 /*-----------------------------------------------------------------------------------*/ 00074
1.5.1