On Wed, Dec 7, 2016 at 8:21 AM, Savolainen, Petri (Nokia - FI/Espoo) <petri.savolai...@nokia-bell-labs.com> wrote: > >> >> +int32_t odp_random_repeatable_data(uint8_t *buf, uint32_t len, >> >> + odp_random_kind_t kind, uint32_t >> *seed); >> >> >> > >> > If pseudo/deterministic is not a good term for this, then I think it's >> better to profile it strictly for testing (all production cases are >> covered by odp_random_data()). Also for testing the kind is not needed, we >> just say that: "this is good only for testing, do not use for production". >> If kind would be there, it would give two ways to achieve "cryptograptic >> quality" randoms and that's not the intention of the call. Also a larger >> seed enables better randomness of the output. >> >> Actually if you want to test the implementation of a cryptographic >> algorithm you need repeatable cryptographic data as input. This is >> just being consistent across the API. You would never use the >> repeatable variant in production and I don't think that would be a >> point of confusion. The term "cryptographic quality" simply refers to >> the statistical properties of the data, and nothing more should be >> read into that term. >> > > OK. This is then the compromise > > /** > * Generate repeatable random data for testing purposes > * > * For testing purposes it is often useful to generate "random" sequences > * that are repeatable... > * > * This function should be used only for testing purposes, use > odp_random_data() > * for production. > */ > int32_t odp_random_test_data(uint8_t *buf, uint32_t len, odp_random_kind_t > kind, uint64_t *seed); > > > -Petri
I'll send a v7 with these changes. > > >> > >> > >> > /** >> > * Generate repeatable random data for testing purposes >> > * >> > * For testing purposes it is often useful to generate "random" >> sequences >> > * that are repeatable... >> > * >> > * This function should be used only for testing purposes, use >> odp_random_data() >> > * for production. >> > */ >> > int32_t odp_random_test_data(uint8_t *buf, uint32_t len, uint64_t >> *seed); >> > >> > >> > -Petri >> >