| 3 | 
  | 
 | 
| 4 | 
  | 
#include "MakeStamps.hpp" | 
| 5 | 
  | 
#include "MoleculeStamp.hpp" | 
| 6 | 
+ | 
#include "simError.h" | 
| 7 | 
+ | 
#ifdef IS_MPI | 
| 8 | 
+ | 
#include "mpiBASS.h" | 
| 9 | 
+ | 
#endif // is_mpi | 
| 10 | 
  | 
 | 
| 11 | 
  | 
LinkedMolStamp::~LinkedMolStamp(){  | 
| 12 | 
  | 
  if( mol_stamp != NULL ) delete mol_stamp; | 
| 62 | 
  | 
 | 
| 63 | 
  | 
    // if the key is less than zero, we've had an overflow error | 
| 64 | 
  | 
 | 
| 65 | 
< | 
    fprintf( stderr, | 
| 66 | 
< | 
             "There has been an overflow error in the hash key."); | 
| 67 | 
< | 
    exit(0); | 
| 65 | 
> | 
    sprintf( painCave.errMsg, | 
| 66 | 
> | 
             "There has been an overflow error in the MakeStamps hash key."); | 
| 67 | 
> | 
    painCave.isFatal = 1; | 
| 68 | 
> | 
    simError(); | 
| 69 | 
> | 
#ifdef IS_MPI | 
| 70 | 
> | 
    if( painCave.isEventLoop ){ | 
| 71 | 
> | 
      if( worldRank == 0 ) mpiInterfaceExit(); | 
| 72 | 
> | 
    } | 
| 73 | 
> | 
#endif //is_mpi | 
| 74 | 
  | 
  } | 
| 75 | 
  | 
   | 
| 76 | 
  | 
  return key; | 
| 113 | 
  | 
  switch( the_event->evt.asmt.asmt_type ){ | 
| 114 | 
  | 
     | 
| 115 | 
  | 
  case STRING: | 
| 116 | 
< | 
    current_mol->assignString( the_event->evt.asmt.lhs, | 
| 117 | 
< | 
                               the_event->evt.asmt.rhs.sval ); | 
| 108 | 
< | 
    return 1; | 
| 116 | 
> | 
    the_event->err_msg = current_mol->assignString( the_event->evt.asmt.lhs, | 
| 117 | 
> | 
                                      the_event->evt.asmt.rhs.sval ); | 
| 118 | 
  | 
    break; | 
| 119 | 
  | 
 | 
| 120 | 
  | 
  case DOUBLE: | 
| 121 | 
< | 
    current_mol->assignDouble( the_event->evt.asmt.lhs, | 
| 122 | 
< | 
                               the_event->evt.asmt.rhs.dval ); | 
| 114 | 
< | 
    return 1; | 
| 121 | 
> | 
    the_event->err_msg = current_mol->assignDouble( the_event->evt.asmt.lhs, | 
| 122 | 
> | 
                                      the_event->evt.asmt.rhs.dval ); | 
| 123 | 
  | 
    break; | 
| 124 | 
< | 
 | 
| 124 | 
> | 
     | 
| 125 | 
  | 
  case INT: | 
| 126 | 
< | 
    current_mol->assignInt( the_event->evt.asmt.lhs, | 
| 127 | 
< | 
                            the_event->evt.asmt.rhs.ival ); | 
| 120 | 
< | 
    return 1; | 
| 126 | 
> | 
    the_event->err_msg = current_mol->assignInt( the_event->evt.asmt.lhs, | 
| 127 | 
> | 
                                   the_event->evt.asmt.rhs.ival ); | 
| 128 | 
  | 
    break; | 
| 129 | 
  | 
 | 
| 130 | 
  | 
  default: | 
| 133 | 
  | 
    return 0; | 
| 134 | 
  | 
    break; | 
| 135 | 
  | 
  } | 
| 136 | 
< | 
  return 0; | 
| 136 | 
> | 
  if( the_event->err_msg != NULL ) return 0; | 
| 137 | 
> | 
  return 1; | 
| 138 | 
  | 
} | 
| 139 | 
  | 
 | 
| 140 | 
  | 
int MakeStamps::moleculeEnd( event* the_event ){ | 
| 154 | 
  | 
  the_event->err_msg = current_mol->addAtom( current_atom, | 
| 155 | 
  | 
                                             the_event->evt.blk_index ); | 
| 156 | 
  | 
  if( the_event->err_msg != NULL ) return 0; | 
| 149 | 
– | 
 | 
| 157 | 
  | 
  return 1; | 
| 158 | 
  | 
} | 
| 159 | 
  | 
 | 
| 179 | 
  | 
  switch( the_event->evt.asmt.asmt_type ){ | 
| 180 | 
  | 
     | 
| 181 | 
  | 
  case STRING: | 
| 182 | 
< | 
    current_atom->assignString( the_event->evt.asmt.lhs, | 
| 183 | 
< | 
                               the_event->evt.asmt.rhs.sval ); | 
| 182 | 
> | 
    the_event->err_msg =  | 
| 183 | 
> | 
      current_atom->assignString( the_event->evt.asmt.lhs, | 
| 184 | 
> | 
                                  the_event->evt.asmt.rhs.sval ); | 
| 185 | 
> | 
    if( the_event->err_msg != NULL ) return 0; | 
| 186 | 
  | 
    return 1; | 
| 187 | 
  | 
    break; | 
| 188 | 
  | 
 | 
| 189 | 
  | 
  case DOUBLE: | 
| 190 | 
< | 
    current_atom->assignDouble( the_event->evt.asmt.lhs, | 
| 191 | 
< | 
                               the_event->evt.asmt.rhs.dval ); | 
| 192 | 
< | 
    return 1; | 
| 190 | 
> | 
    the_event->err_msg =  | 
| 191 | 
> | 
      current_atom->assignDouble( the_event->evt.asmt.lhs, | 
| 192 | 
> | 
                                  the_event->evt.asmt.rhs.dval ); | 
| 193 | 
> | 
    if( the_event->err_msg != NULL ) return 0; | 
| 194 | 
> | 
    return 1;     | 
| 195 | 
  | 
    break; | 
| 196 | 
  | 
 | 
| 197 | 
  | 
  case INT: | 
| 198 | 
< | 
    current_atom->assignInt( the_event->evt.asmt.lhs, | 
| 199 | 
< | 
                            the_event->evt.asmt.rhs.ival ); | 
| 198 | 
> | 
    the_event->err_msg =  | 
| 199 | 
> | 
      current_atom->assignInt( the_event->evt.asmt.lhs, | 
| 200 | 
> | 
                               the_event->evt.asmt.rhs.ival ); | 
| 201 | 
> | 
    if( the_event->err_msg != NULL ) return 0; | 
| 202 | 
  | 
    return 1; | 
| 203 | 
  | 
    break; | 
| 204 | 
  | 
 |