pdtAdd 182 ompi/datatype/ompi_datatype.h ompi_datatype_add( ompi_datatype_t* pdtBase, const ompi_datatype_t* pdtAdd, size_t count, pdtAdd 185 ompi/datatype/ompi_datatype.h return opal_datatype_add( &pdtBase->super, &pdtAdd->super, count, disp, extent ); pdtAdd 235 opal/datatype/opal_datatype.h OPAL_DECLSPEC int32_t opal_datatype_add( opal_datatype_t* pdtBase, const opal_datatype_t* pdtAdd, size_t count, pdtAdd 105 opal/datatype/opal_datatype_add.c int32_t opal_datatype_add( opal_datatype_t* pdtBase, const opal_datatype_t* pdtAdd, pdtAdd 124 opal/datatype/opal_datatype_add.c if( extent == -1 ) extent = (pdtAdd->ub - pdtAdd->lb); pdtAdd 127 opal/datatype/opal_datatype_add.c if( OPAL_DATATYPE_LB == pdtAdd->id ) { pdtAdd 139 opal/datatype/opal_datatype_add.c } else if( OPAL_DATATYPE_UB == pdtAdd->id ) { pdtAdd 154 opal/datatype/opal_datatype_add.c OPAL_DATATYPE_COMPUTE_REQUIRED_ENTRIES( pdtAdd, count, extent, place_needed ); pdtAdd 162 opal/datatype/opal_datatype_add.c OPAL_DATATYPE_LB_UB_CONT( count, disp, pdtAdd->lb, pdtAdd->ub, extent, lb, ub ); pdtAdd 168 opal/datatype/opal_datatype_add.c true_lb = lb - (pdtAdd->lb - pdtAdd->true_lb); pdtAdd 169 opal/datatype/opal_datatype_add.c true_ub = ub - (pdtAdd->ub - pdtAdd->true_ub); pdtAdd 191 opal/datatype/opal_datatype_add.c if( (pdtAdd->flags ^ pdtBase->flags) & OPAL_DATATYPE_FLAG_USER_LB ) { pdtAdd 205 opal/datatype/opal_datatype_add.c if( (pdtBase->flags ^ pdtAdd->flags) & OPAL_DATATYPE_FLAG_USER_UB ) { pdtAdd 223 opal/datatype/opal_datatype_add.c pdtBase->align = IMAX( pdtBase->align, pdtAdd->align ); pdtAdd 250 opal/datatype/opal_datatype_add.c if( (0 == count) || (0 == pdtAdd->size) ) { pdtAdd 257 opal/datatype/opal_datatype_add.c pdtBase->size += count * pdtAdd->size; pdtAdd 268 opal/datatype/opal_datatype_add.c pdtBase->bdt_used |= pdtAdd->bdt_used; pdtAdd 281 opal/datatype/opal_datatype_add.c if( (pdtAdd->flags & (OPAL_DATATYPE_FLAG_PREDEFINED | OPAL_DATATYPE_FLAG_DATA)) == (OPAL_DATATYPE_FLAG_PREDEFINED | OPAL_DATATYPE_FLAG_DATA) ) { pdtAdd 283 opal/datatype/opal_datatype_add.c pdtBase->ptypes[pdtAdd->id] += count; pdtAdd 284 opal/datatype/opal_datatype_add.c pLast->elem.common.type = pdtAdd->id; pdtAdd 289 opal/datatype/opal_datatype_add.c pLast->elem.common.flags = pdtAdd->flags & ~(OPAL_DATATYPE_FLAG_COMMITTED); pdtAdd 290 opal/datatype/opal_datatype_add.c if( (extent != (ptrdiff_t)pdtAdd->size) && (count > 1) ) { /* gaps around the datatype */ pdtAdd 295 opal/datatype/opal_datatype_add.c pdtBase->loops += pdtAdd->loops; pdtAdd 296 opal/datatype/opal_datatype_add.c pdtBase->flags |= (pdtAdd->flags & OPAL_DATATYPE_FLAG_USER_LB); pdtAdd 297 opal/datatype/opal_datatype_add.c pdtBase->flags |= (pdtAdd->flags & OPAL_DATATYPE_FLAG_USER_UB); pdtAdd 298 opal/datatype/opal_datatype_add.c if( (NULL != pdtBase->ptypes) && (NULL != pdtAdd->ptypes) ) { pdtAdd 300 opal/datatype/opal_datatype_add.c if( pdtAdd->ptypes[i] != 0 ) pdtBase->ptypes[i] += (count * pdtAdd->ptypes[i]); pdtAdd 302 opal/datatype/opal_datatype_add.c if( (1 == pdtAdd->desc.used) && (extent == (pdtAdd->ub - pdtAdd->lb)) && pdtAdd 303 opal/datatype/opal_datatype_add.c (extent == pdtAdd->desc.desc[0].elem.extent) ){ pdtAdd 304 opal/datatype/opal_datatype_add.c pLast->elem = pdtAdd->desc.desc[0].elem; pdtAdd 314 opal/datatype/opal_datatype_add.c CREATE_LOOP_START( pLast, count, pdtAdd->desc.used + 1, extent, pdtAdd 315 opal/datatype/opal_datatype_add.c (pdtAdd->flags & ~(OPAL_DATATYPE_FLAG_COMMITTED)) ); pdtAdd 321 opal/datatype/opal_datatype_add.c for( i = 0; i < pdtAdd->desc.used; i++ ) { pdtAdd 322 opal/datatype/opal_datatype_add.c pLast->elem = pdtAdd->desc.desc[i].elem; pdtAdd 330 opal/datatype/opal_datatype_add.c pdtBase->desc.used += pdtAdd->desc.used; pdtAdd 334 opal/datatype/opal_datatype_add.c CREATE_LOOP_END( pLast, pdtAdd->desc.used + 1, pLoop[index].elem.disp, pdtAdd 335 opal/datatype/opal_datatype_add.c pdtAdd->size, pLoop->loop.common.flags ); pdtAdd 346 opal/datatype/opal_datatype_add.c localFlags = pdtBase->flags & pdtAdd->flags; pdtAdd 349 opal/datatype/opal_datatype_add.c && ((disp + pdtAdd->true_lb) == old_true_ub) /* and there is no gap between them */ pdtAdd 350 opal/datatype/opal_datatype_add.c && ( ((ptrdiff_t)pdtAdd->size == extent) /* the size and the extent of the pdtAdd 362 opal/datatype/opal_datatype_add.c pdtBase->nbElems += (count * pdtAdd->nbElems);