1 module tagion.testbench.dart.dartinfo; 2 import std.algorithm; 3 import std.algorithm.iteration : each; 4 import std.range; 5 import std.stdio; 6 import std.traits; 7 import tagion.communication.HiRPC : HiRPC; 8 import tagion.crypto.SecureInterfaceNet : SecureNet; 9 import tagion.utils.Random; 10 11 struct DartInfo { 12 const string dartfilename; 13 const string module_path; 14 const SecureNet net; 15 const HiRPC hirpc; 16 const string dartfilename2; 17 18 19 const ulong[] table = [ 20 0xABB9_13ab_cdef_1234, 21 0xABB9_14ab_cdef_1234, 22 0xABB9_15ab_cdef_1234 23 ]; 24 25 const ulong[] deep_table = [ 26 0xABB9_13ab_10ef_1234, 27 0xABB9_13ab_11ef_1234, 28 0xABB9_14ab_cdef_1234, 29 ]; 30 31 const enum FAKE = "$fake#"; 32 33 auto generateStates(const uint from, const uint to) { 34 auto rnd = RandomT(0x1234); 35 return recurrence!( 36 (a, n) => 37 a[n-1].progress(rnd.value(from,to)) 38 )(SequenceT(rnd.save, from)); 39 } 40 SequenceT[] states; 41 42 static auto generateFixedStates(const ulong samples) { 43 auto start = RandomT(0x1234); 44 auto rand_range = recurrence!(q{ 45 a[n-1].drop(1) 46 })(start); 47 48 return(rand_range 49 .take(samples) 50 .map!q{a.take(1)} 51 .joiner); 52 } 53 54 ReturnType!generateFixedStates fixed_states; 55 56 57 58 } 59 60 alias RandomT = Random!ulong; 61 alias SequenceT = Sequence!ulong; 62 63