seqbuild 0.0.41__tar.gz → 0.0.43__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 (122) hide show
  1. {seqbuild-0.0.41 → seqbuild-0.0.43}/PKG-INFO +1 -1
  2. {seqbuild-0.0.41 → seqbuild-0.0.43}/pyproject.toml +1 -1
  3. seqbuild-0.0.43/seqbuild/desi/approximators.py +180 -0
  4. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/fraction.py +2 -1
  5. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/comm_lang.py +2 -2
  6. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/easy_gen_struct.py +0 -3
  7. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/extraneous.py +11 -2
  8. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild.egg-info/PKG-INFO +1 -1
  9. {seqbuild-0.0.41 → seqbuild-0.0.43}/setup.py +1 -1
  10. seqbuild-0.0.41/seqbuild/desi/approximators.py +0 -0
  11. {seqbuild-0.0.41 → seqbuild-0.0.43}/LICENSE.txt +0 -0
  12. {seqbuild-0.0.41 → seqbuild-0.0.43}/README.md +0 -0
  13. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/__init__.py +0 -0
  14. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/__init__.py +0 -0
  15. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/differentials.py +0 -0
  16. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/multi_metric.py +0 -0
  17. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/not_equals.py +0 -0
  18. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/nvec_gen.py +0 -0
  19. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/prng_dec_delta.py +0 -0
  20. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/prng_dec_delta_.py +0 -0
  21. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/desi/seqcov_perm.py +0 -0
  22. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/__init__.py +0 -0
  23. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/cl_guide_parser.py +0 -0
  24. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/cmd_proc.py +0 -0
  25. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/make_cmd.py +0 -0
  26. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commlang_guide.md +0 -0
  27. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_11.txt +0 -0
  28. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_12error.txt +0 -0
  29. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_13.txt +0 -0
  30. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_14.txt +0 -0
  31. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_15.txt +0 -0
  32. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_16.txt +0 -0
  33. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_17.txt +0 -0
  34. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_18.txt +0 -0
  35. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_19.txt +0 -0
  36. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_20.txt +0 -0
  37. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_21.txt +0 -0
  38. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_22.txt +0 -0
  39. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_23.txt +0 -0
  40. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_24.txt +0 -0
  41. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_25.txt +0 -0
  42. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_26.txt +0 -0
  43. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_27.txt +0 -0
  44. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_28.txt +0 -0
  45. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_29.txt +0 -0
  46. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_30.txt +0 -0
  47. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_31.txt +0 -0
  48. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_32.txt +0 -0
  49. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_33.txt +0 -0
  50. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_34.txt +0 -0
  51. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_41.txt +0 -0
  52. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_42.txt +0 -0
  53. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_eight.txt +0 -0
  54. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_five.txt +0 -0
  55. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_four.txt +0 -0
  56. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_lcg_cmp.txt +0 -0
  57. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_lcg_cmp2.txt +0 -0
  58. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_nine.txt +0 -0
  59. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_one.txt +0 -0
  60. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_seven.txt +0 -0
  61. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_six.txt +0 -0
  62. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_ten.txt +0 -0
  63. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commond_three.txt +0 -0
  64. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/commondeth.txt +0 -0
  65. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/dummy_obj.txt +0 -0
  66. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/example_command.md +0 -0
  67. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_base_screen.png +0 -0
  68. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_help_cmd.png +0 -0
  69. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_help_make.png +0 -0
  70. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_help_screen.png +0 -0
  71. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_load_c9.png +0 -0
  72. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_realtime_command.png +0 -0
  73. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sample_script/seqbuild_show_numbers.png +0 -0
  74. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/face/sb_ui.py +0 -0
  75. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/__init__.py +0 -0
  76. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/idectree.py +0 -0
  77. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/idt_proc.py +0 -0
  78. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/intfactor.py +0 -0
  79. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/lcg_v2.py +0 -0
  80. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/lcg_v3.py +0 -0
  81. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/mdr_v2.py +0 -0
  82. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/mod_prng.py +0 -0
  83. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/modulo_ops.py +0 -0
  84. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/n2mvf_autogen.py +0 -0
  85. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/pof_autogen.py +0 -0
  86. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/poly_output_fitter_.py +0 -0
  87. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/prng_pw_op.py +0 -0
  88. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/process_seq.py +0 -0
  89. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/seq_struct.py +0 -0
  90. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/intigers/tvec.py +0 -0
  91. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/__init__.py +0 -0
  92. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/ag_ext.py +0 -0
  93. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/csrch.py +0 -0
  94. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/iseq.py +0 -0
  95. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/matfactor_eval.py +0 -0
  96. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/minmax_freq.py +0 -0
  97. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/n2m.py +0 -0
  98. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/n2m_function.py +0 -0
  99. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/n2m_index.py +0 -0
  100. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/ngram.py +0 -0
  101. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/nsfr.py +0 -0
  102. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/puc.py +0 -0
  103. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/sp_op.py +0 -0
  104. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/vs_fit.py +0 -0
  105. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/vs_fit_mem.py +0 -0
  106. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/vs_fit_op.py +0 -0
  107. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/mini_dm/vs_srch.py +0 -0
  108. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/__init__.py +0 -0
  109. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/gg_gen.py +0 -0
  110. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/idt_gen.py +0 -0
  111. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/mdr_gen.py +0 -0
  112. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/optri_gen.py +0 -0
  113. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/rch_gen.py +0 -0
  114. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/sb_crypt.py +0 -0
  115. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/shadow_gen.py +0 -0
  116. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/ssi_load.py +0 -0
  117. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild/seqgen/ssi_netop.py +0 -0
  118. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild.egg-info/SOURCES.txt +0 -0
  119. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild.egg-info/dependency_links.txt +0 -0
  120. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild.egg-info/requires.txt +0 -0
  121. {seqbuild-0.0.41 → seqbuild-0.0.43}/seqbuild.egg-info/top_level.txt +0 -0
  122. {seqbuild-0.0.41 → seqbuild-0.0.43}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seqbuild
3
- Version: 0.0.41
3
+ Version: 0.0.43
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.41"
3
+ version = "0.0.43"
4
4
  dependencies = [
5
5
  "numpy>=1.22.1",
6
6
  "matplotlib>=3.5.3",
@@ -0,0 +1,180 @@
1
+ from .not_equals import *
2
+ from .fraction import *
3
+ from morebs2.poly_interpolation import *
4
+ from morebs2.numerical_generator import prg__constant
5
+
6
+ DEFAULT_FIT22_PARTITION_SIZE_RANGE = (5,103)
7
+
8
+ DEFAULT_POLYNOMIAL_PARTITION_SIZE_RANGE = (50,1000)
9
+ DEFAULT_POLYNOMIAL_POINT_SIZE_RANGE = (5,21)
10
+
11
+ class Fit22ValueOutputter(GenericIntSeqOp):
12
+
13
+ def __init__(self,px,length_outputter,range_outputter,bool_outputter,\
14
+ point_conn_type:int,adjustment_type:int=1):
15
+ assert type(px) in {MethodType,FunctionType}
16
+ assert point_conn_type in {1,2}
17
+ assert type(bool_outputter) in {MethodType,FunctionType}
18
+
19
+ self.px = px
20
+ self.point_conn_type = point_conn_type
21
+ self.b_out = bool_outputter
22
+
23
+ self.p0 = None
24
+ self.p1 = None
25
+ self.H = None
26
+
27
+ self.x_ = None
28
+ self.x2_ = None
29
+ self.a_ = None
30
+ self.ax = None
31
+
32
+ super().__init__(length_outputter,range_outputter,adjustment_type)
33
+ return
34
+
35
+ def set_next_value(self):
36
+ if type(self.x_) == type(None):
37
+ self.update_points()
38
+ elif self.x_ > self.x2_:
39
+ self.update_points()
40
+ else: pass
41
+
42
+ if self.ax:
43
+ sx = self.H.f(self.x_)
44
+ else:
45
+ sx = self.H.g(self.x_)
46
+ self.x_ += self.a_
47
+
48
+ sx_ = float_to_string(sx,True,True)
49
+ self.s = sx_
50
+ return
51
+
52
+ def update_points(self):
53
+ # case: start
54
+ if type(self.p0) == type(None):
55
+ self.p0 = self.px()
56
+ self.p1 = self.px()
57
+ # output 1 or 2 new points
58
+ elif self.point_conn_type == 1:
59
+ self.p0 = self.p1
60
+ self.p1 = self.px()
61
+ else:
62
+ self.p0,self.p1 = self.px(),self.px()
63
+
64
+ self.fix_equal_points()
65
+
66
+ # instantiate either <LogFit22> or <Exp2Fit22>
67
+ mx = np.array([self.p0,self.p1]) if \
68
+ self.p0[1] < self.p1[1] else \
69
+ np.array([self.p1,self.p0])
70
+ lORe = self.b_out() % 2
71
+
72
+ if lORe:
73
+ self.H = LogFit22(mx,direction=[0,1])
74
+ else:
75
+ self.H = Exp2Fit22(mx,direction=[0,1])
76
+
77
+ # set delta variables for exploring the fitter
78
+ self.ax = self.b_out() % 2
79
+
80
+ ax_ = (self.ax + 1) % 2
81
+ self.x_ = min(self.H.ps[:,ax_])
82
+ self.x2_ = max(self.H.ps[:,ax_])
83
+
84
+ ap = modulo_in_range(self.l_out(),DEFAULT_FIT22_PARTITION_SIZE_RANGE)
85
+ self.a_ = (self.x2_ - self.x_) / ap
86
+
87
+
88
+ def fix_equal_points(self):
89
+
90
+ self.p0 = np.array(self.p0)
91
+ self.p1 = np.array(self.p1)
92
+
93
+ self.p0,self.p1 = \
94
+ not_equals__pairvec(self.p0,self.p1,self.px,indices=None)
95
+
96
+
97
+
98
+ """
99
+ LPS stands for Lagrange Polynomial Solver, interpolation of a
100
+ polynomial's span of points using the Lagrange basis.
101
+ """
102
+ class LPSValueOutputter(GenericIntSeqOp):
103
+
104
+ def __init__(self,px,length_outputter,range_outputter,\
105
+ adjustment_type:int=1):
106
+
107
+ assert type(px) in {MethodType,FunctionType}
108
+ self.px = px
109
+
110
+ self.p0,self.p1 = None,None
111
+ self.adder_end,self.adder,self.adder_i = None,None,None
112
+
113
+ super().__init__(length_outputter,range_outputter,adjustment_type)
114
+
115
+ #--------------------------------------------------------------------------
116
+
117
+ def set_next_value(self):
118
+ if type(self.p0) == type(None):
119
+ self.update_points()
120
+ elif self.adder_i > self.adder_end:
121
+ self.update_points()
122
+ else: pass
123
+
124
+ x = self.p0 + (self.adder_i * self.adder)
125
+ sx = self.lps.output_by_lagrange_basis(x)
126
+ sx_ = float_to_string(sx,True,True)
127
+ self.s = sx_
128
+
129
+ self.adder_i += 1
130
+
131
+ return
132
+
133
+ def update_points(self):
134
+
135
+ self.q = LPSValueOutputter.new_pointset(self.px,self.l_out)
136
+
137
+ # assumes q is a proper set of points for
138
+ # fitting via <LagrangePolySolver>
139
+ self.lps = LagrangePolySolver(self.q, prefetch = True)
140
+ self.p0,self.p1 = self.lps.minumum,self.lps.maximum
141
+
142
+ self.adder_end = modulo_in_range(self.l_out(),DEFAULT_POLYNOMIAL_PARTITION_SIZE_RANGE)
143
+ self.adder = (self.p1 - self.p0) / self.adder_end
144
+ self.adder_i = 0
145
+
146
+ """
147
+
148
+ """
149
+ @staticmethod
150
+ def new_pointset(px,l_out):
151
+
152
+ num_points = modulo_in_range(\
153
+ l_out(),DEFAULT_POLYNOMIAL_POINT_SIZE_RANGE)
154
+
155
+ M = []
156
+ for _ in range(num_points):
157
+ x = px()
158
+ assert type(x) in {list,tuple} or is_vector(x)
159
+ assert len(x) == 2
160
+ M.append(x)
161
+
162
+ # NOTE: this is additional code. Guarantees matrix
163
+ # contains only unique numbers.
164
+ M = np.round(np.array(M),5)
165
+ q = np.array(M.flatten() * 10 ** 5,dtype=int)
166
+
167
+ x = prg__constant(2.5)
168
+ q = intlist_no_dups_no_zero_abs__maintain_size(q,x,False)
169
+ q = np.round(np.array(q) / (10 ** 5),5)
170
+ M = q.reshape((num_points,2))
171
+
172
+ submat_type = l_out() % 4
173
+ t = DEFAULT_SUBMAT_TYPES[submat_type]
174
+
175
+ I = np.argsort(M[:,1])
176
+ M = M[I]
177
+
178
+ # NOTE: first method may yield crashes (equal values retained)
179
+ return not_equals__matrix_whole(M,l_out,t)
180
+
@@ -45,7 +45,8 @@ class GenericIntSeqOp:
45
45
  assert type(i) in {int,np.int32,np.int64}
46
46
 
47
47
  mrange = self.r_out()
48
- assert is_valid_range(mrange,False,False)
48
+ mrange = (float(mrange[0]),float(mrange[1]))
49
+ assert is_valid_range(mrange,False,False), "got {}".format(mrange)
49
50
 
50
51
  if self.adj_type == 1:
51
52
  return self.adjustment_type1(i,mrange)
@@ -36,13 +36,13 @@ class CommLangParser:
36
36
  def __str__(self):
37
37
 
38
38
  def map_str(s):
39
- if s != "method": return s
39
+ if s not in {"method","function"}: return s
40
40
  return "generator"
41
41
 
42
42
  dx = ""
43
43
  for k,v in self.vartable.items():
44
44
  s = str(k)
45
- s = s + "\t" + map_str(parse_object_to_str(v))
45
+ s = s + "\t" + map_str(parse_object_to_str(v))
46
46
  dx += s + "\n"
47
47
  return dx
48
48
 
@@ -25,9 +25,6 @@ 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
-
29
-
30
-
31
28
  # TODO:
32
29
  DEFAULT_TBCLF_TMP_CL_FILE_FOR_VECTORGEN = "tmp_SeqBuild_CL_file"
33
30
 
@@ -282,8 +282,15 @@ def prg__single_to_range_outputter(prg):
282
282
  q2 = prg()
283
283
  if q1 < q2:
284
284
  return (q1,q2)
285
- q2 = (q1 + 1) + q1 - q2
285
+
286
+ x = q2
287
+ q2 = (q1 + 1) + q1 - x
288
+
289
+ # NOTE: strange case. May have to do with Python install!
290
+ if q1 > q2:
291
+ return (q2,q1)
286
292
  return (q1,q2)
293
+
287
294
  return f
288
295
 
289
296
  def prg__single_to_bounds_outputter(prg,bound_length):
@@ -307,7 +314,9 @@ def prg__single_to_ndim_index_outputter(lcg,dim):
307
314
  def f():
308
315
  x = np.zeros((len(dim),),dtype=np.int32)
309
316
  for i in range(len(dim)):
310
- x[i] = int(lcg()) % dim[i]
317
+
318
+ x[i] = int(lcg() % dim[i])
319
+
311
320
  return x
312
321
  return f
313
322
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seqbuild
3
- Version: 0.0.41
3
+ Version: 0.0.43
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.41',
8
+ version='0.0.43',
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
File without changes