#include #include #include "llvm/System/Random.h" #define NUMBYTES 12 using namespace llvm; using namespace std; void PrintVector(vector); int main(void) { int x; unsigned char * bytes; vector v; char tmp[] = "abcdefghij"; vector v2(tmp, tmp + 10); sys::Random foo; srand(time(0)); for (int i = 0; i < 10; ++i) { int num = (int) rand() % 10; v.push_back(num); } printf("Before:\t"); ::PrintVector(v); //foo.ShuffleVector(v); printf("After:\t"); ::PrintVector(v); printf("Before:\t"); ::PrintVector(v2); //foo.ShuffleVector(v); printf("After:\t"); ::PrintVector(v2); printf("Random number between 0 and %i: %i \n", 10, foo.RandZero(10)); printf("Random number between 5 and 8: %i \n", foo.Rand(5, 8)); bytes = foo.GetBytes(NUMBYTES); if (bytes) { printf("%i random bytes: 0x", NUMBYTES); for (x = 0; x <= NUMBYTES - 1; x++) printf("%02x", bytes[x]); printf("\n"); } else printf("GetBytes() returned NULL!\n"); return 0; } template void PrintVector(T v) { // I know using int here is wrong... vector::iterator i = v.begin(); while (i != v.end()) { printf("%c ", *i); i++; } printf("\n"); }