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); }
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)); }