Diff for /rpl/src/rplexternals.h between versions 1.91 and 1.92

version 1.91, 2018/05/30 16:56:07 version 1.92, 2018/05/31 09:41:09
Line 983 Line 983
   
 #define createComplexMatrixObject  #define createComplexMatrixObject
   
   // Array
   
   #define isArray(rpl_object) \
       ((*rpl_object).type == TBL)
   
   #define ifIsArray(rpl_object) if (isArray(rpl_object))
   #define elseIfIsArray(rpl_object) } else if (isArray(rpl_object))
   
   #define createArray(rpl_object, size) do { \
       int __i; \
       if (rpl_object != NULL) systemError("Reallocated object"); \
       if ((rpl_object = _allocation(TBL)) == NULL) \
           systemError("Memory allocation error"); \
       (*((struct_tableau *) (*rpl_object).objet)).nombre_elements = size; \
       if (((*((struct_tableau *) (*rpl_object).objet)).elements = malloc( \
               size * sizeof(struct_objet *))) == NULL) \
           systemError("Memory allocation error"); \
       for(__i = 0; __i < size; __i++) { \
           nullify((*((struct_tableau *) (*rpl_object).objet)).elements[__i]); \
           createIntegerObject((*((struct_tableau *) (*rpl_object).objet)) \
                   .elements[__i]); } \
       } while(0)
   
   #define setObjectIntoArray(rpl_array, pos, rpl_object) do { \
           typeof(pos) __position = pos; __position--; \
           ifIsArray(rpl_array) { \
               if ((__position < 0) || (__position >= (*((struct_tableau *) \
                       (*rpl_array).objet)).nombre_elements)) \
                   executionError("Element out of range"); \
               if ((*rpl_array).nombre_occurrences > 1) \
               { \
                   struct_objet *__tmp_rpl_object; \
                   if ((__tmp_rpl_object = _copie_objet(rpl_array, 'O')) == NULL) \
                       systemError("Memory allocation error"); \
                   _liberation(rpl_array); \
                   rpl_array = __tmp_rpl_object; \
               } \
               _liberation((*((struct_tableau *) (*rpl_array).objet)) \
                       .elements[__position]); \
               (*((struct_tableau *) (*rpl_array).objet)).elements[__position] = \
                       rpl_object; \
           } \
           else executionError("Type mistmatch error"); \
           nullify(rpl_object); \
       } while(0)
   
   #define getObjectFromArray()
   
 // Binary integer  // Binary integer
   
 #define setBinaryInteger(rpl_object, value) do { \  #define setBinaryInteger(rpl_object, value) do { \

Removed from v.1.91  
changed lines
  Added in v.1.92


CVSweb interface <joel.bertrand@systella.fr>