The short answer is that if you limit the statistical tests to those in PractRand with mostly default options, then 'yes', Xorshift cannot be said to be nonrandom up to 2^15 bytes. The point I was trying to make is that 'Xorshift cannot be said to be nonrandom up to 2^15 bytes' is true even if I run no randomness tests at all. This is as opposed to running all (easily available) randomness tests, which show Xorshift32 is not random up to 2^15 bytes.
For Windows, I typically already have (usually several version of free) Visual Studio installed, or just download and install the required runtime package. I've only just recently learned Linux and C over the last few years on my own for working with random numbers, as otherwise I am more competent on Windows using either Visual Basic or assembly language (so I probably should keep my opinions on Linux and C to myself).
A few critical points with your example (yes, I ramble): 1. To access the full power of PractRand in the sense you are looking for, in theory you should use additional command line switches. 2. The specific additional switches I use are '-tf 2 -te 1' (and 'stdin', instead of 'stdin32' might provide some additional benefit, but not sure about it with Xorshift). 3. However, doing so exposes issues with statistical calibration at ~64KB and lower. 4. Therefore, PractRand is not optimal for in-depth study...
TestU01: A C Library for Empirical Testing of Random Number Generators Page 5
P-values in TestU01 (and PractRand) are non-standard, so 0.5 (on average) is most likely. Values very close to 1 are 'too uniform' (i.e. a potential indication of a 'low-discrepancy sequence' and/or a PRNG run near its full period). From the TestU01 documentation: "Classical statistical textbooks usually say that when applying a test of hypothesis, one must select beforehand a rejection area R whose probability under H0 equals the target test level (e.g., 0.05 or 0.01), and reject H0 if and only...
P-values in TestU01 are non-standard, so 0.5 (on average) is most likely. Values very close to 1 are 'too uniform' (i.e. a potential indication of a 'low-discrepancy sequence' and/or a PRNG run near its full period). From the TestU01 documentation: "Classical statistical textbooks usually say that when applying a test of hypothesis, one must select beforehand a rejection area R whose probability under H0 equals the target test level (e.g., 0.05 or 0.01), and reject H0 if and only if Y ∈ R. This procedure...
TestU01 simply wants to draw your attention to anything statistically unlikely. I typically run the same PRNG on anywhere from a few dozen to a few thousand different seeds and perform meta-analysis of the set of results. In my experience, over hundreds of thousands of results, you should never see a p-value of less than 1.0e-08, or greater than 1 - 1.0e-08, from a good PRNG. If you do, then a single occurance (except perhaps, debatably, outside of perhaps 1.0e-15) is still not noteworthy unless...
I recommend compiling 0.94 first, since it should be fairly trouble free for .NET. Then try to merge pre0.95 into it, following some info here: https://sourceforge.net/p/pracrand/discussion/366935/thread/35c96c218d/ I actually run both GNU and Windows binaries of TestU01 (STDIN version compiled originally with Cygwin), PractRand and gjrand interchangably under WSL (sometimes piping output from a Windows exe PRNG source/graphical visualization tool to a GNU exe of one of those three).