seqbuild 0.0.43__tar.gz → 0.0.45__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. {seqbuild-0.0.43 → seqbuild-0.0.45}/PKG-INFO +1 -1
  2. {seqbuild-0.0.43 → seqbuild-0.0.45}/pyproject.toml +1 -1
  3. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/easy_gen_struct.py +63 -7
  4. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild.egg-info/PKG-INFO +1 -1
  5. {seqbuild-0.0.43 → seqbuild-0.0.45}/setup.py +1 -1
  6. {seqbuild-0.0.43 → seqbuild-0.0.45}/LICENSE.txt +0 -0
  7. {seqbuild-0.0.43 → seqbuild-0.0.45}/README.md +0 -0
  8. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/__init__.py +0 -0
  9. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/__init__.py +0 -0
  10. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/approximators.py +0 -0
  11. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/differentials.py +0 -0
  12. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/fraction.py +0 -0
  13. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/multi_metric.py +0 -0
  14. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/not_equals.py +0 -0
  15. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/nvec_gen.py +0 -0
  16. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/prng_dec_delta.py +0 -0
  17. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/prng_dec_delta_.py +0 -0
  18. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/desi/seqcov_perm.py +0 -0
  19. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/__init__.py +0 -0
  20. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/cl_guide_parser.py +0 -0
  21. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/cmd_proc.py +0 -0
  22. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/comm_lang.py +0 -0
  23. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/make_cmd.py +0 -0
  24. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commlang_guide.md +0 -0
  25. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_11.txt +0 -0
  26. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_12error.txt +0 -0
  27. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_13.txt +0 -0
  28. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_14.txt +0 -0
  29. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_15.txt +0 -0
  30. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_16.txt +0 -0
  31. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_17.txt +0 -0
  32. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_18.txt +0 -0
  33. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_19.txt +0 -0
  34. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_20.txt +0 -0
  35. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_21.txt +0 -0
  36. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_22.txt +0 -0
  37. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_23.txt +0 -0
  38. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_24.txt +0 -0
  39. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_25.txt +0 -0
  40. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_26.txt +0 -0
  41. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_27.txt +0 -0
  42. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_28.txt +0 -0
  43. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_29.txt +0 -0
  44. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_30.txt +0 -0
  45. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_31.txt +0 -0
  46. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_32.txt +0 -0
  47. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_33.txt +0 -0
  48. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_34.txt +0 -0
  49. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_41.txt +0 -0
  50. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_42.txt +0 -0
  51. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_eight.txt +0 -0
  52. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_five.txt +0 -0
  53. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_four.txt +0 -0
  54. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_lcg_cmp.txt +0 -0
  55. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_lcg_cmp2.txt +0 -0
  56. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_nine.txt +0 -0
  57. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_one.txt +0 -0
  58. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_seven.txt +0 -0
  59. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_six.txt +0 -0
  60. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_ten.txt +0 -0
  61. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commond_three.txt +0 -0
  62. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/commondeth.txt +0 -0
  63. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/dummy_obj.txt +0 -0
  64. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/example_command.md +0 -0
  65. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_base_screen.png +0 -0
  66. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_help_cmd.png +0 -0
  67. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_help_make.png +0 -0
  68. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_help_screen.png +0 -0
  69. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_load_c9.png +0 -0
  70. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_realtime_command.png +0 -0
  71. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sample_script/seqbuild_show_numbers.png +0 -0
  72. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/face/sb_ui.py +0 -0
  73. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/__init__.py +0 -0
  74. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/extraneous.py +0 -0
  75. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/idectree.py +0 -0
  76. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/idt_proc.py +0 -0
  77. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/intfactor.py +0 -0
  78. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/lcg_v2.py +0 -0
  79. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/lcg_v3.py +0 -0
  80. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/mdr_v2.py +0 -0
  81. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/mod_prng.py +0 -0
  82. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/modulo_ops.py +0 -0
  83. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/n2mvf_autogen.py +0 -0
  84. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/pof_autogen.py +0 -0
  85. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/poly_output_fitter_.py +0 -0
  86. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/prng_pw_op.py +0 -0
  87. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/process_seq.py +0 -0
  88. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/seq_struct.py +0 -0
  89. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/intigers/tvec.py +0 -0
  90. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/__init__.py +0 -0
  91. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/ag_ext.py +0 -0
  92. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/csrch.py +0 -0
  93. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/iseq.py +0 -0
  94. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/matfactor_eval.py +0 -0
  95. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/minmax_freq.py +0 -0
  96. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/n2m.py +0 -0
  97. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/n2m_function.py +0 -0
  98. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/n2m_index.py +0 -0
  99. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/ngram.py +0 -0
  100. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/nsfr.py +0 -0
  101. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/puc.py +0 -0
  102. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/sp_op.py +0 -0
  103. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/vs_fit.py +0 -0
  104. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/vs_fit_mem.py +0 -0
  105. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/vs_fit_op.py +0 -0
  106. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/mini_dm/vs_srch.py +0 -0
  107. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/__init__.py +0 -0
  108. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/gg_gen.py +0 -0
  109. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/idt_gen.py +0 -0
  110. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/mdr_gen.py +0 -0
  111. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/optri_gen.py +0 -0
  112. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/rch_gen.py +0 -0
  113. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/sb_crypt.py +0 -0
  114. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/shadow_gen.py +0 -0
  115. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/ssi_load.py +0 -0
  116. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild/seqgen/ssi_netop.py +0 -0
  117. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild.egg-info/SOURCES.txt +0 -0
  118. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild.egg-info/dependency_links.txt +0 -0
  119. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild.egg-info/requires.txt +0 -0
  120. {seqbuild-0.0.43 → seqbuild-0.0.45}/seqbuild.egg-info/top_level.txt +0 -0
  121. {seqbuild-0.0.43 → seqbuild-0.0.45}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seqbuild
3
- Version: 0.0.43
3
+ Version: 0.0.45
4
4
  Summary: A collection of algorithms for pseudo-random number generation.
5
5
  Home-page: https://github.com/Changissnz/seqbuild
6
6
  Author: Richard Pham
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "seqbuild"
3
- version = "0.0.43"
3
+ version = "0.0.45"
4
4
  dependencies = [
5
5
  "numpy>=1.22.1",
6
6
  "matplotlib>=3.5.3",
@@ -25,15 +25,35 @@ DEFAULT_TBCLF_GEN_IOMAPS_SIZE_RANGE = [2,7]
25
25
  DEFAULT_TBCLF_GEN_IDF_CACHE_SIZE_RANGE = [100,455]
26
26
  DEFAULT_TBCLF_GEN_PWOP_WEIGHT_RANGE = [-66 - 2/3,66.6 + 2/3]
27
27
 
28
- # TODO:
29
- DEFAULT_TBCLF_TMP_CL_FILE_FOR_VECTORGEN = "tmp_SeqBuild_CL_file"
30
28
 
31
29
  # NOTE: generator may use vectors of length not in DEFAULT_TBCLF_GEN_VECTOR_LENGTH_RANGE, depending
32
30
  # on the parameters `vector_files` and `comm_lang_files`.
31
+ """
32
+ Generator that uses the Python float timestamp it calls upon instantiation, as the seed for a
33
+ PRNG `PRNGDecimalDelta` Q. Q helps with generating x number of primitive Comm Lang structures, x
34
+ in the range of DEFAULT_TBCLF_BUNCHED_STRUCT_SIZE. When `use_prng_for_prng_pr` is set to 0.0, Q
35
+ is the lone PRNG used to instantiate the parameters of those x primitives. Otherwise, other PRNGs
36
+ that Q generated or helped in generating may may be used to instantiate the remaining primitives.
37
+
38
+ The `shadow` PRNG requires at least 1 vector file, in order for this generator to generate it.
39
+
40
+ When `consistent_prng_output` is set to True, generator excludes these primitive structures:
41
+ - "pid","qval".
42
+ The mode is used to strictly generate integer values. It is useful for cross-deterministic output
43
+ (between any two devices running a recent version of Python 3).
44
+
45
+ NOTE: The rounding differences between devices that run on differing hardware result in significant
46
+ differences in output values from the same Comm Lang scripts, thereby making those scripts
47
+ non-deterministic. In general, this class is calculatively deterministic when its PRNG `PRNGDecimalDelta`
48
+ Q is set at the exact same time.
49
+
50
+ Setting `consistent_prng_output` makes the Comm Lang scripts produced bear deterministic output
51
+ values.
52
+ """
33
53
  class TimeBasedCommLangFileGenerator:
34
54
 
35
55
  def __init__(self,filepath:str,base_gen_name:str,use_prng_for_prng_pr:float,vector_files=[],\
36
- comm_lang_files=[]):
56
+ comm_lang_files=[],consistent_prng_output:bool=False):
37
57
 
38
58
  assert type(filepath) == str == type(base_gen_name)
39
59
  assert " " not in filepath
@@ -42,7 +62,8 @@ class TimeBasedCommLangFileGenerator:
42
62
  assert type(use_prng_for_prng_pr) in {int,float}
43
63
  assert 0. <= use_prng_for_prng_pr <= 1.0
44
64
  assert type(vector_files) == type(comm_lang_files) == list
45
-
65
+ assert type(consistent_prng_output) == bool
66
+
46
67
  self.filepath = filepath
47
68
  self.base_gen_name = base_gen_name
48
69
  self.gen_count = 0
@@ -57,6 +78,7 @@ class TimeBasedCommLangFileGenerator:
57
78
 
58
79
  q = modulo_in_range(int(self.t),DEFAULT_TBCLF_TIMESTAMP_SEEDSIZE_RANGE)
59
80
 
81
+ # schema #1: unstable
60
82
  '''
61
83
  Q = PRNGDecimalDelta(time.time()).__next__
62
84
  X = [add,sub]
@@ -69,6 +91,8 @@ class TimeBasedCommLangFileGenerator:
69
91
  '''
70
92
 
71
93
  self.t = time.time()
94
+
95
+ # schema #2: unstable
72
96
  """
73
97
  x = -1
74
98
  for _ in range(q -1):
@@ -97,6 +121,10 @@ class TimeBasedCommLangFileGenerator:
97
121
 
98
122
  if not self.valid_fp: return
99
123
 
124
+ self.consistent_prng_output = consistent_prng_output
125
+ if self.consistent_prng_output:
126
+ self.pdd = prg__single_to_int(self.pdd)
127
+
100
128
  self.clp = CommLangParser(self.filepath)
101
129
 
102
130
  self.preproc()
@@ -105,6 +133,9 @@ class TimeBasedCommLangFileGenerator:
105
133
  if len(self.vfiles) > 0:
106
134
  f.clear()
107
135
 
136
+ if self.consistent_prng_output:
137
+ f = f | {"pid","qval"}
138
+
108
139
  self.struct_list = sorted(set(DEFAULT_TBCLF_STRUCT_NAMES) - f)
109
140
  return
110
141
 
@@ -114,6 +145,9 @@ class TimeBasedCommLangFileGenerator:
114
145
  return -1
115
146
  '''
116
147
 
148
+ """
149
+ main method
150
+ """
117
151
  def generate(self):
118
152
  G = self.fetch_prg(True,True)
119
153
 
@@ -168,6 +202,11 @@ class TimeBasedCommLangFileGenerator:
168
202
  s,g = self.PRNG_seq_to_PRNG_tree__CL_command(merged_gen_names)
169
203
 
170
204
  self.update_CL_file(s)
205
+
206
+ if self.consistent_prng_output:
207
+ s,g = self.convert_prg_output(g,"int")
208
+ self.update_CL_file([s])
209
+
171
210
  self.write_out_to_CL_file()
172
211
  return
173
212
 
@@ -562,6 +601,12 @@ class TimeBasedCommLangFileGenerator:
562
601
 
563
602
  s = "set {} = make ssino with {},{},{},{}.".format(gen_name,\
564
603
  num_nodes,gen1,gen2,B[0],B[1],B[2],B[3])
604
+
605
+ if self.consistent_prng_output:
606
+
607
+ s2,gen_name2 = self.convert_prg_output(gen_name,"int")
608
+ return [s,s2],gen_name2
609
+
565
610
  return [s],gen_name
566
611
 
567
612
  # NOTE: does not cover all possible instantiation routes for `idforest`.
@@ -577,7 +622,7 @@ class TimeBasedCommLangFileGenerator:
577
622
 
578
623
  gen_name_1 = self.next_generator_name()
579
624
  s1 = "set {} = convert {} to int.".format(gen_name_1,prg)
580
-
625
+
581
626
  if gen_type == 0:
582
627
  s = "set {} = make idforest with {},{},{}.".format(\
583
628
  gen_name,V,ioname,gen_name_1)
@@ -715,6 +760,10 @@ class TimeBasedCommLangFileGenerator:
715
760
  op_seq_ = ",".join(op_seq)
716
761
  s = "set {} = merge {} with {}.".format(gen_name,prg_seq_,op_seq_)
717
762
 
763
+ if self.consistent_prng_output:
764
+ s2,gen_name2 = self.convert_prg_output(gen_name,"int")
765
+ return S + [s,s2],gen_name2
766
+
718
767
  return S + [s],gen_name
719
768
 
720
769
  def PRNG_seq_to_PRNG_tree__CL_command(self,prg_seq):
@@ -803,6 +852,9 @@ class TimeBasedCommLangFileGenerator:
803
852
  if len(nonzero_indices) > 0:
804
853
  assert 0 <= min(nonzero_indices) <= max(nonzero_indices) < n
805
854
 
855
+ if self.consistent_prng_output:
856
+ prg = prg__single_to_int(prg)
857
+
806
858
  def go_with_default_nonzero():
807
859
  d = prg_decimal(prg,[0.,1.])
808
860
  q = 1
@@ -818,8 +870,12 @@ class TimeBasedCommLangFileGenerator:
818
870
  return x
819
871
  return go_with_default_nonzero()
820
872
 
821
- r = [round(modulo_in_range(prg(),DEFAULT_TBCLF_LCG_PARAMETER_RANGE),5) \
822
- for _ in range(n)]
873
+ if self.consistent_prng_output:
874
+ r = [round(modulo_in_range(prg(),DEFAULT_TBCLF_LCG_PARAMETER_RANGE)) \
875
+ for _ in range(n)]
876
+ else:
877
+ r = [round(modulo_in_range(prg(),DEFAULT_TBCLF_LCG_PARAMETER_RANGE),5) \
878
+ for _ in range(n)]
823
879
 
824
880
  nzi = sorted(nonzero_indices)
825
881
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seqbuild
3
- Version: 0.0.43
3
+ Version: 0.0.45
4
4
  Summary: A collection of algorithms for pseudo-random number generation.
5
5
  Home-page: https://github.com/Changissnz/seqbuild
6
6
  Author: Richard Pham
@@ -5,7 +5,7 @@ with open('README.md') as f:
5
5
 
6
6
  setup(
7
7
  name='seqbuild',
8
- version='0.0.43',
8
+ version='0.0.45',
9
9
  description='A collection of algorithms for pseudo-random number generation.',
10
10
  long_description=readme,
11
11
  author='Richard Pham',
File without changes
File without changes
File without changes