Mega Code Archive

 
Categories / C# / Collections Data Structure
 

Computes the indices

//http://cbucks.codeplex.com/ //ACADEMIC FREE LICENSE ("AFL") V. 3.0 using System; using System.Collections.Generic; using System.Text; namespace CBucks {   /// <summary>   /// The class which provides the array utility functions   /// </summary>   internal static class ArrayUtils {     /// <summary>     /// Computes the indices      /// </summary>     /// <param name="ind"> The linearized index </param>     /// <param name="cumSizes"> The array cumulative sizes </param>     /// <returns> The multidimensional indices </returns>     internal static int[] getIndices(int ind, int[] cumSizes) {       int[] inds = new int[cumSizes.Length];       int rm = ind;       for(int i = 0; i < inds.Length - 1; i++) {         inds[i] = rm / cumSizes[inds.Length - i - 2];         rm %= cumSizes[inds.Length - i - 2];       }  // end of for()       inds[inds.Length - 1] = rm;       return inds;     }  // end of getIndices()   }  // end of internal static class ArrayUtils }  // end of namespace CBucks