URI: 
       tutility.cpp - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
  HTML git clone git://src.adamsgaard.dk/sphere
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
       tutility.cpp (1615B)
       ---
            1 // MISC. UTILITY FUNCTIONS
            2 
            3 #include "datatypes.h"
            4 
            5 
            6 //Round a / b to nearest higher integer value
            7 unsigned int iDivUp(unsigned int a, unsigned int b)
            8 {
            9     return (a % b != 0) ? (a / b + 1) : (a / b);
           10 }
           11 
           12 // Swap two arrays pointers
           13 void swapFloatArrays(Float* arr1, Float* arr2)
           14 {
           15     Float* tmp = arr1;
           16     arr1 = arr2;
           17     arr2 = tmp;
           18 }
           19 
           20 // Get minimum value in 1D array 
           21 Float minVal(Float* arr, int length)
           22 {
           23     Float min = 1.0e13; // initialize with a large number
           24     unsigned int i;
           25     Float val;
           26     for (i=0; i<length; ++i) {
           27         val = arr[i];
           28         if (val < min) min = val;
           29     }
           30     return min;
           31 }
           32 
           33 // Get maximum value in 1d array
           34 Float maxVal(Float* arr, int length)
           35 {
           36     Float max = -1.0e13; // initialize with a small number
           37     unsigned int i;
           38     Float val;
           39     for (i=0; i<length; ++i) {
           40         val = arr[i];
           41         if (val > max) max = val;
           42     }
           43     return max;
           44 }
           45 
           46 // Get minimum value in 3d array
           47 Float minVal(Float3* arr, int length)
           48 {
           49     Float min = 1.0e13; // initialize with a large number
           50     unsigned int i;
           51     Float3 val;
           52     for (i=0; i<length; ++i) {
           53         val = arr[i];
           54         if (val.x < min) min = val.x;
           55         if (val.y < min) min = val.y;
           56         if (val.z < min) min = val.z;
           57     }
           58     return min;
           59 }
           60 
           61 // Get maximum value in 3d array
           62 Float maxVal(Float3* arr, int length)
           63 {
           64     Float max = -1.0e13; // initialize with a small number
           65     unsigned int i;
           66     Float3 val;
           67     for (i=0; i<length; ++i) {
           68         val = arr[i];
           69         if (val.x > max) max = val.x;
           70         if (val.y > max) max = val.y;
           71         if (val.z > max) max = val.z;
           72     }
           73     return max;
           74 }