示例#1
0
int  Zoltan_Order_Init_Tree (struct Zoltan_Order_Struct *order, int blocknbr, int leavesnbr)
{
    Zoltan_Order_Free_Struct(order);

    order->ancestor = (int *) ZOLTAN_MALLOC(blocknbr*sizeof(int));
    order->start = (int *) ZOLTAN_MALLOC((blocknbr+1)*sizeof(int));
    order->leaves = (int *) ZOLTAN_MALLOC((leavesnbr+1)*sizeof(int));

    if ((order->ancestor == NULL) || (order->start == NULL) || (order->leaves == NULL)) {
        Zoltan_Order_Free_Struct(order);
        return (ZOLTAN_MEMERR);
    }
    order->needfree = 1;
    return (ZOLTAN_OK);
}
示例#2
0
static void Zoltan_Free_Zoltan_Struct_Members(ZZ *zz)
{
  Zoltan_Free_Machine_Desc(&(zz->Machine_Desc));
  Zoltan_Free_Params(&(zz->Params));
  Zoltan_Timer_Destroy(&(zz->ZTime));
  Zoltan_Free_Structures(zz);  /* Algorithm-specific structures */
  Zoltan_LB_Free_Struct(&(zz->LB));
  Zoltan_Order_Free_Struct(&(zz->Order));
}