Revision 1172 branches/threaded2merge/src/linad99/fvar.hpp

fvar.hpp (revision 1172)
627 627
{
628 628
 public:
629 629
#if defined(USE_VECTOR_SHAPE_POOL)
630
   static vector_shape_pool *xpool;
630
   static __thread vector_shape_pool *xpool;
631 631
   void *operator  new(size_t);
632 632
   void operator  delete(void *ptr, size_t n)
633 633
   {
......
1071 1071
 */
1072 1072
class gradient_structure
1073 1073
{
1074
   static char cmpdif_file_name[61];
1075
   static DF_FILE *fp;
1074
   static __thread char cmpdif_file_name[61];
1075
   static __thread DF_FILE* fp;
1076 1076
 public:
1077 1077
#if defined(NO_DERIVS)
1078 1078
   static int no_derivatives;
1079 1079
#endif
1080 1080
 private:
1081 1081
   static long int USE_FOR_HESSIAN;
1082
   static long int NVAR;
1082
   static __thread long int NVAR;
1083 1083
   static int NUM_RETURN_ARRAYS;
1084
   static dvariable **RETURN_ARRAYS;
1085
   static int RETURN_ARRAYS_PTR;
1086
   static dvariable **RETURN_PTR_CONTAINER;
1087
   static long int TOTAL_BYTES;
1088
   static long int PREVIOUS_TOTAL_BYTES;
1089
   static unsigned long ARRAY_MEMBLOCK_SIZE;	//js
1090
   static humungous_pointer ARRAY_MEMBLOCK_BASE;
1091
   static humungous_pointer ARRAY_MEMBLOCK_BASEA;
1092
   static humungous_pointer ARRAY_MEMBLOCK_SAVE;
1084
   static __thread dvariable** RETURN_ARRAYS;
1085
   static __thread int RETURN_ARRAYS_PTR;
1086
   static __thread dvariable** RETURN_PTR_CONTAINER;
1087
   static __thread long int TOTAL_BYTES;
1088
   static __thread long int PREVIOUS_TOTAL_BYTES;
1089
   static __thread unsigned long ARRAY_MEMBLOCK_SIZE;	//js
1090
   static __thread char* ARRAY_MEMBLOCK_BASE;
1091
   static __thread char* ARRAY_MEMBLOCK_BASEA;
1092
   static __thread char* ARRAY_MEMBLOCK_SAVE;
1093 1093
 public:
1094 1094
   static double *get_ARRAY_MEMBLOCK_BASE()
1095 1095
   {
1096 1096
      return (double *) ARRAY_MEMBLOCK_BASE;
1097 1097
   }
1098 1098
 private:
1099
   static double *variables_save;
1099
   static __thread double* variables_save;
1100 1100
#ifdef __BORLANDC__
1101
   static long int CMPDIF_BUFFER_SIZE;
1102
   static long int GRADSTACK_BUFFER_SIZE;
1101
   static __thread long int CMPDIF_BUFFER_SIZE;
1102
   static __thread long int GRADSTACK_BUFFER_SIZE;
1103 1103
#else
1104
   static long long int CMPDIF_BUFFER_SIZE;
1105
   static long long int GRADSTACK_BUFFER_SIZE;
1104
   static __thread long long int CMPDIF_BUFFER_SIZE;
1105
   static __thread long long int GRADSTACK_BUFFER_SIZE;
1106 1106
#endif
1107
   static unsigned int MAX_NVAR_OFFSET;
1108
   static int save_var_file_flag;
1107
   static __thread unsigned int MAX_NVAR_OFFSET;
1108
   static __thread int save_var_file_flag;
1109 1109
   static int save_var_flag;
1110 1110

  
1111 1111
   static int MAX_DLINKS;
1112
   static indvar_offset_list *INDVAR_LIST;
1112
   static __thread indvar_offset_list* INDVAR_LIST;
1113 1113
   static int NUM_DEPENDENT_VARIABLES;
1114
   static dependent_variables_information *DEPVARS_INFO;
1114
   static __thread dependent_variables_information* DEPVARS_INFO;
1115 1115

  
1116 1116
   // this needs to be a static member function so other static
1117 1117
   // member functions can call it
1118 1118
   static void check_set_error(const char *variable_name);
1119 1119

  
1120
   static int instances;
1120
   static __thread int instances;
1121 1121
   int x;
1122 1122

  
1123 1123
 public:
......
1125 1125
   {
1126 1126
   };				// exception class
1127 1127

  
1128
   static int Hybrid_bounded_flag;
1129
   static double *hessian_ptr;
1128
   static __thread int Hybrid_bounded_flag;
1129
   static __thread double* hessian_ptr;
1130 1130
   static int get_USE_FOR_HESSIAN(void)
1131 1131
   {
1132 1132
      return USE_FOR_HESSIAN;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff