public void init(int seed) throws RNGException {
userUnifRand = findSymbol(USER_UNIF_RAND, !OPTIONAL);
userUnifInit = findSymbol(USER_UNIF_INIT, OPTIONAL);
userUnifNSeed = findSymbol(USER_UNIF_INIT, OPTIONAL);
userUnifSeedloc = findSymbol(USER_UNIF_INIT, OPTIONAL);
DLLInfo libInfo = DLL.findLibraryContainingSymbol(USER_UNIF_RAND);
userRngRFFI = RFFIFactory.getRFFI().getUserRngRFFI();
userRngRFFI.setLibrary(libInfo.path);
userRngRFFI.init(seed);
if (userUnifSeedloc != 0 && userUnifNSeed == 0) {
throw RNGException.raise(RError.Message.RNG_READ_SEEDS, false);