예제 #1
0
 //To Do: store this matrix efficiently.
 public unsafe void Refit(int[,] leafPreds)
 {
     Check.NonNull(leafPreds, nameof(leafPreds));
     var len1 = leafPreds.GetLength(0);//nrow
     var len2 = leafPreds.GetLength(1);//ncol
     var data = new int[len1 * len2];
     for (int i = 0; i< len1; ++i)
         for(int j = 0; j < len2; ++j)
         {
             data[i * len2 + j] = leafPreds[i, j];
         }
     fixed (int *dataPtr = data)
         PInvokeException.Check(PInvoke.BoosterRefit(Handle,dataPtr,len1,len2), nameof(PInvoke.BoosterRefit));
 }