seqbuild 0.0.52__tar.gz → 0.0.53__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.
- {seqbuild-0.0.52 → seqbuild-0.0.53}/PKG-INFO +1 -1
- {seqbuild-0.0.52 → seqbuild-0.0.53}/pyproject.toml +1 -1
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/approximators.py +62 -7
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/nvec_gen.py +19 -9
- seqbuild-0.0.53/seqbuild/seqgen/fit22_gen.py +65 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/gg_gen.py +1 -6
- seqbuild-0.0.53/seqbuild/seqgen/lps_gen.py +43 -0
- seqbuild-0.0.53/seqbuild/seqgen/n2mv_gen.py +91 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild.egg-info/PKG-INFO +1 -1
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild.egg-info/SOURCES.txt +3 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/setup.py +1 -1
- {seqbuild-0.0.52 → seqbuild-0.0.53}/LICENSE.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/README.md +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/__init__.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/__init__.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/differentials.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/fraction.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/multi_metric.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/not_equals.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/prng_dec_delta.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/desi/seqcov_perm.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/__init__.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/cl_guide_parser.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/cmd_proc.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/comm_lang.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/easy_gen_struct.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/make_cmd.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commlang_guide.md +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_11.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_12error.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_13.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_14.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_15.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_16.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_17.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_18.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_19.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_20.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_21.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_22.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_23.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_24.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_25.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_26.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_27.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_28.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_29.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_30.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_31.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_32.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_33.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_34.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_41.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_42.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_eight.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_five.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_four.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_lcg_cmp.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_lcg_cmp2.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_nine.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_one.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_seven.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_six.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_ten.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commond_three.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/commondeth.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/dummy_obj.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/example_command.md +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_base_screen.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_help_cmd.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_help_make.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_help_screen.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_load_c9.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_realtime_command.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_show_numbers.png +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sb_ui.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/__init__.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/extraneous.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/idectree.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/idt_proc.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/intfactor.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/lcg_v2.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/lcg_v3.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/mdr_v2.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/mod_prng.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/modulo_ops.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/n2mvf_autogen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/pof_autogen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/poly_output_fitter_.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/prng_pw_op.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/process_seq.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/seq_struct.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/intigers/tvec.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/__init__.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/affine_fit_search.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/affine_io_fit.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/affine_ops.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/ag_ext.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/csrch.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/iseq.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/matfactor_eval.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/minmax_freq.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/n2m.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/n2m_function.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/n2m_index.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/ngram.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/nsfr.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/puc.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/mini_dm/sp_op.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/__init__.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/idt_gen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/mdr_gen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/optri_gen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/rch_gen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/sb_crypt.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/shadow_gen.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/ssi_load.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/seqgen/ssi_netop.py +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild.egg-info/dependency_links.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild.egg-info/requires.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild.egg-info/top_level.txt +0 -0
- {seqbuild-0.0.52 → seqbuild-0.0.53}/setup.cfg +0 -0
|
@@ -8,17 +8,39 @@ DEFAULT_FIT22_PARTITION_SIZE_RANGE = (5,103)
|
|
|
8
8
|
DEFAULT_POLYNOMIAL_PARTITION_SIZE_RANGE = (50,1000)
|
|
9
9
|
DEFAULT_POLYNOMIAL_POINT_SIZE_RANGE = (5,21)
|
|
10
10
|
|
|
11
|
+
def default_length_outputter(prg_2vec):
|
|
12
|
+
x = list(prg_2vec()) + list(prg_2vec())
|
|
13
|
+
q = prg__LCG(x[0],x[1],x[2],x[3])
|
|
14
|
+
return prg__single_to_int(q)
|
|
15
|
+
|
|
16
|
+
def default_range_outputter(prg_2vec):
|
|
17
|
+
x = list(prg_2vec()) + list(prg_2vec())
|
|
18
|
+
q = prg__LCG(x[0],x[1],x[2],x[3])
|
|
19
|
+
return prg__single_to_range_outputter(q)
|
|
20
|
+
|
|
21
|
+
def default_bool_outputter(prg_2vec):
|
|
22
|
+
return wrap_ranged_modulo_over_generator(\
|
|
23
|
+
default_length_outputter(prg_2vec),[0,2])
|
|
24
|
+
|
|
25
|
+
def prg__nvec_to_int_type(px):
|
|
26
|
+
|
|
27
|
+
def f():
|
|
28
|
+
return np.array(px(),dtype=int)
|
|
29
|
+
return f
|
|
30
|
+
|
|
11
31
|
class Fit22ValueOutputter(GenericIntSeqOp):
|
|
12
32
|
|
|
13
33
|
def __init__(self,px,length_outputter,range_outputter,bool_outputter,\
|
|
14
34
|
point_conn_type:int,adjustment_type:int=1):
|
|
15
35
|
assert type(px) in {MethodType,FunctionType}
|
|
36
|
+
assert type(length_outputter) in {type(None),MethodType,FunctionType}
|
|
37
|
+
assert type(range_outputter) in {type(None),MethodType,FunctionType}
|
|
38
|
+
assert type(bool_outputter) in {type(None),MethodType,FunctionType}
|
|
39
|
+
|
|
16
40
|
assert point_conn_type in {1,2}
|
|
17
|
-
assert type(bool_outputter) in {MethodType,FunctionType}
|
|
18
41
|
|
|
19
|
-
self.px = px
|
|
42
|
+
self.px = px
|
|
20
43
|
self.point_conn_type = point_conn_type
|
|
21
|
-
self.b_out = bool_outputter
|
|
22
44
|
|
|
23
45
|
self.p0 = None
|
|
24
46
|
self.p1 = None
|
|
@@ -29,6 +51,21 @@ class Fit22ValueOutputter(GenericIntSeqOp):
|
|
|
29
51
|
self.a_ = None
|
|
30
52
|
self.ax = None
|
|
31
53
|
|
|
54
|
+
if type(length_outputter) != type(None):
|
|
55
|
+
length_outputter = prg__single_to_int(length_outputter)
|
|
56
|
+
else:
|
|
57
|
+
length_outputter = default_length_outputter(px)
|
|
58
|
+
|
|
59
|
+
if type(range_outputter) == type(None):
|
|
60
|
+
range_outputter = default_range_outputter(px)
|
|
61
|
+
|
|
62
|
+
if type(bool_outputter) == type(None):
|
|
63
|
+
bool_outputter = default_bool_outputter(px)
|
|
64
|
+
else:
|
|
65
|
+
bool_outputter = wrap_ranged_modulo_over_generator(\
|
|
66
|
+
prg__single_to_int(bool_outputter),[0,2])
|
|
67
|
+
|
|
68
|
+
self.b_out = bool_outputter
|
|
32
69
|
super().__init__(length_outputter,range_outputter,adjustment_type)
|
|
33
70
|
return
|
|
34
71
|
|
|
@@ -39,10 +76,18 @@ class Fit22ValueOutputter(GenericIntSeqOp):
|
|
|
39
76
|
self.update_points()
|
|
40
77
|
else: pass
|
|
41
78
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
79
|
+
# do check on input before function apply
|
|
80
|
+
A = (self.ax + 1) % 2
|
|
81
|
+
qmin = np.min(self.H.ps[:,A])
|
|
82
|
+
qmax = np.max(self.H.ps[:,A])
|
|
83
|
+
x_ = modulo_in_range(self.x_,[qmin,qmax])
|
|
84
|
+
|
|
85
|
+
QF = self.H.f if self.ax else self.H.g
|
|
86
|
+
try:
|
|
87
|
+
sx = QF(self.x_)
|
|
88
|
+
except:
|
|
89
|
+
sx = QF(x_)
|
|
90
|
+
|
|
46
91
|
self.x_ += self.a_
|
|
47
92
|
|
|
48
93
|
sx_ = float_to_string(sx,True,True)
|
|
@@ -105,11 +150,21 @@ class LPSValueOutputter(GenericIntSeqOp):
|
|
|
105
150
|
adjustment_type:int=1):
|
|
106
151
|
|
|
107
152
|
assert type(px) in {MethodType,FunctionType}
|
|
153
|
+
assert type(length_outputter) in {type(None),MethodType,FunctionType}
|
|
154
|
+
assert type(range_outputter) in {type(None),MethodType,FunctionType}
|
|
108
155
|
self.px = px
|
|
109
156
|
|
|
110
157
|
self.p0,self.p1 = None,None
|
|
111
158
|
self.adder_end,self.adder,self.adder_i = None,None,None
|
|
112
159
|
|
|
160
|
+
if type(length_outputter) != type(None):
|
|
161
|
+
length_outputter = prg__single_to_int(length_outputter)
|
|
162
|
+
else:
|
|
163
|
+
length_outputter = default_length_outputter(px)
|
|
164
|
+
|
|
165
|
+
if type(range_outputter) == type(None):
|
|
166
|
+
range_outputter = default_range_outputter(px)
|
|
167
|
+
|
|
113
168
|
super().__init__(length_outputter,range_outputter,adjustment_type)
|
|
114
169
|
|
|
115
170
|
#--------------------------------------------------------------------------
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from ..mini_dm.affine_ops import *
|
|
2
2
|
from math import ceil
|
|
3
|
-
from morebs2.numerical_generator import prg_partition_for_sz__n_rounds
|
|
3
|
+
from morebs2.numerical_generator import prg_partition_for_sz__n_rounds,prg__single_to_int
|
|
4
|
+
from intigers.extraneous import prg__single_to_range_outputter
|
|
4
5
|
from types import MethodType,FunctionType
|
|
5
6
|
|
|
6
7
|
DEFAULT_POINTSET_PARTSIZE_RATIO_RANGE = (0.15,0.23)
|
|
@@ -20,10 +21,16 @@ class PointSetGen__TypeAffine:
|
|
|
20
21
|
|
|
21
22
|
def __init__(self,num_points,prg,ro_prg,ro_prg2,ro_prg3=None):
|
|
22
23
|
assert type(prg) in {FunctionType,MethodType}
|
|
23
|
-
assert type(ro_prg) in {FunctionType,MethodType}
|
|
24
|
-
assert type(ro_prg2) in {FunctionType,MethodType}
|
|
24
|
+
assert type(ro_prg) in {FunctionType,MethodType,type(None)}
|
|
25
|
+
assert type(ro_prg2) in {FunctionType,MethodType,type(None)}
|
|
25
26
|
assert type(ro_prg3) in {FunctionType,MethodType,type(None)}
|
|
26
27
|
|
|
28
|
+
if type(ro_prg) == type(None):
|
|
29
|
+
ro_prg = prg__single_to_range_outputter(deepcopy(prg))
|
|
30
|
+
if type(ro_prg2) == type(None):
|
|
31
|
+
ro_prg2 = prg__single_to_range_outputter(deepcopy(prg))
|
|
32
|
+
|
|
33
|
+
|
|
27
34
|
self.num_points = None
|
|
28
35
|
self.set_num_points(num_points)
|
|
29
36
|
# outputs single integers
|
|
@@ -65,7 +72,7 @@ class PointSetGen__TypeAffine:
|
|
|
65
72
|
rx = int(ceil(n * r))
|
|
66
73
|
var = 0.5
|
|
67
74
|
num_rounds = 5
|
|
68
|
-
prt = prg_partition_for_sz__n_rounds(n,rx,self.prg,var,num_rounds)
|
|
75
|
+
prt = prg_partition_for_sz__n_rounds(n,rx,prg__single_to_int(self.prg),var,num_rounds)
|
|
69
76
|
return prt
|
|
70
77
|
|
|
71
78
|
def set_num_points(self,n):
|
|
@@ -92,7 +99,7 @@ class PointSetGen__TypeAffine:
|
|
|
92
99
|
self.gen_ad_parameters = [None,None,None]
|
|
93
100
|
|
|
94
101
|
def one_new_AffineDelta(self):
|
|
95
|
-
return AffineDelta.one_instance_(self.prg,\
|
|
102
|
+
return AffineDelta.one_instance_(prg__single_to_int(self.prg),\
|
|
96
103
|
self.ro_prg,self.ro_prg2,dim_range=self.gen_ad_parameters[0],\
|
|
97
104
|
ma_order=self.gen_ad_parameters[1])
|
|
98
105
|
|
|
@@ -100,7 +107,7 @@ class PointSetGen__TypeAffine:
|
|
|
100
107
|
assert is_valid_range(size_range,inclusive=False)
|
|
101
108
|
|
|
102
109
|
ad = self.one_new_AffineDelta()
|
|
103
|
-
num_points = modulo_in_range(self.prg(), size_range)
|
|
110
|
+
num_points = modulo_in_range(int(self.prg()), size_range)
|
|
104
111
|
L = []
|
|
105
112
|
L0 = []
|
|
106
113
|
for _ in range(num_points):
|
|
@@ -162,9 +169,12 @@ class PointSetGen__TypeAffine:
|
|
|
162
169
|
lx = len(self.point_seq)
|
|
163
170
|
for i in range(self.num_points):
|
|
164
171
|
adi = modulo_in_range(int(self.prg()),index_range)
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
self.
|
|
172
|
+
|
|
173
|
+
x,q = self.one_io_pair(self.ad_seq[adi])
|
|
174
|
+
q = self.modulate_point(q)
|
|
175
|
+
|
|
176
|
+
self.input_seq.append(x)
|
|
177
|
+
self.point_seq.append(q)
|
|
168
178
|
self.ad_indices_seq[adi].append(i+lx)
|
|
169
179
|
|
|
170
180
|
return
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from ..desi.approximators import *
|
|
2
|
+
|
|
3
|
+
DEFAULT_FIT22GEN_ADJTYPE_RATE_CHANGE = [13,69]
|
|
4
|
+
DEFAULT_FIT22GEN_ADJTYPE_RATE_CHANGE_2 = [9,95]
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Fit22Gen(Fit22ValueOutputter):
|
|
8
|
+
|
|
9
|
+
def __init__(self,prg1,prg2,prg3,prg4,adjtype1_rate_change_range = DEFAULT_FIT22GEN_ADJTYPE_RATE_CHANGE,\
|
|
10
|
+
adjtype2_rate_change_range= DEFAULT_FIT22GEN_ADJTYPE_RATE_CHANGE_2):
|
|
11
|
+
assert type(prg1) in {MethodType,FunctionType}
|
|
12
|
+
|
|
13
|
+
assert is_valid_range(adjtype1_rate_change_range,True,False)
|
|
14
|
+
assert adjtype1_rate_change_range[0] > 0
|
|
15
|
+
|
|
16
|
+
assert is_valid_range(adjtype2_rate_change_range,True,False)
|
|
17
|
+
assert adjtype2_rate_change_range[0] > 0
|
|
18
|
+
|
|
19
|
+
prg1 = prg__single_to_nvec(prg1,2)
|
|
20
|
+
|
|
21
|
+
if type(prg3) in {MethodType,FunctionType}:
|
|
22
|
+
prg3 = prg__single_to_range_outputter(prg3)
|
|
23
|
+
|
|
24
|
+
super().__init__(prg1,prg2,prg3,prg4,\
|
|
25
|
+
point_conn_type=1,adjustment_type=1)
|
|
26
|
+
|
|
27
|
+
self.atr_crange = adjtype1_rate_change_range
|
|
28
|
+
self.atr2_crange = adjtype2_rate_change_range
|
|
29
|
+
self.change1_threshold = self.atr_crange[0]
|
|
30
|
+
self.change2_threshold = self.atr2_crange[0]
|
|
31
|
+
|
|
32
|
+
self.c1 = 0
|
|
33
|
+
self.c2 = 0
|
|
34
|
+
|
|
35
|
+
def next_change_threshold(self,v,type_number):
|
|
36
|
+
assert type_number in {1,2}
|
|
37
|
+
|
|
38
|
+
if type_number == 1:
|
|
39
|
+
self.change1_threshold = modulo_in_range(int(v),self.atr_crange)
|
|
40
|
+
else:
|
|
41
|
+
self.change2_threshold = modulo_in_range(int(v),self.atr2_crange)
|
|
42
|
+
|
|
43
|
+
def switch_mode(self,x,type_number):
|
|
44
|
+
if type_number == 1:
|
|
45
|
+
if self.c1 >= self.change1_threshold:
|
|
46
|
+
self.c1 = 0
|
|
47
|
+
self.adj_type = modulo_in_range((self.adj_type + 1),[1,3])
|
|
48
|
+
self.next_change_threshold(x,type_number)
|
|
49
|
+
return
|
|
50
|
+
|
|
51
|
+
if self.c2 >= self.change2_threshold:
|
|
52
|
+
self.c2 = 0
|
|
53
|
+
self.point_conn_type = modulo_in_range((self.point_conn_type + 1),[1,3])
|
|
54
|
+
self.next_change_threshold(x,type_number)
|
|
55
|
+
|
|
56
|
+
def __next__(self):
|
|
57
|
+
|
|
58
|
+
x = super().__next__()
|
|
59
|
+
|
|
60
|
+
self.c1 += 1
|
|
61
|
+
self.c2 += 1
|
|
62
|
+
|
|
63
|
+
self.switch_mode(x,1)
|
|
64
|
+
self.switch_mode(x,2)
|
|
65
|
+
return x
|
|
@@ -220,12 +220,7 @@ class GaugeGuidedGen:
|
|
|
220
220
|
scp = SeqCoveragePermuter(V,coverage_delta,\
|
|
221
221
|
DEFAULT_AGV2GG_COVERAGE_RADIUS,sub_range,self.base_prg,delta_type=1)
|
|
222
222
|
scp.set_partition(self.cat_size)
|
|
223
|
-
return scp.apply()
|
|
224
|
-
|
|
225
|
-
def permute_uwpd(self,V):
|
|
226
|
-
sub_range = self.active_ranges[int(self.base_prg()) % len(self.active_ranges)]
|
|
227
|
-
sup = SeqUWPDPermuter(V,uwpd_delta,sub_range,self.base_prg)
|
|
228
|
-
return sup.apply()
|
|
223
|
+
return scp.apply()
|
|
229
224
|
|
|
230
225
|
def compare_with_previous(self,V):
|
|
231
226
|
if len(self.mvec) == 0: return None,None,None
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
from ..desi.approximators import *
|
|
3
|
+
|
|
4
|
+
DEFAULT_LPSGEN_ADJTYPE_RATE_CHANGE_RANGE = [10,91]
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
Subclass of class<LPSValueOutputter>. Initialized with 1-3 PRNGs, all
|
|
8
|
+
of them outputting single real numbers at every call. Reformatted
|
|
9
|
+
to output lengths and ranges, before instantiating class<LPSValueOutputter>.
|
|
10
|
+
"""
|
|
11
|
+
class LPSGen(LPSValueOutputter):
|
|
12
|
+
|
|
13
|
+
def __init__(self,prg1,prg2,prg3,adjustment_type_rate_change_range=DEFAULT_LPSGEN_ADJTYPE_RATE_CHANGE_RANGE):
|
|
14
|
+
assert type(prg1) in {MethodType,FunctionType}
|
|
15
|
+
assert is_valid_range(adjustment_type_rate_change_range,True,False)
|
|
16
|
+
assert adjustment_type_rate_change_range[0] > 0
|
|
17
|
+
|
|
18
|
+
prg1 = prg__single_to_nvec(prg1,2)
|
|
19
|
+
|
|
20
|
+
if type(prg3) in {MethodType,FunctionType}:
|
|
21
|
+
prg3 = prg__single_to_range_outputter(prg3)
|
|
22
|
+
|
|
23
|
+
super().__init__(prg1,prg2,prg3,\
|
|
24
|
+
adjustment_type=1)
|
|
25
|
+
|
|
26
|
+
self.atr_crange = adjustment_type_rate_change_range
|
|
27
|
+
self.change_threshold = self.atr_crange[0]
|
|
28
|
+
self.c = 0
|
|
29
|
+
|
|
30
|
+
def next_change_threshold(self,v):
|
|
31
|
+
self.change_threshold = modulo_in_range(int(v),self.atr_crange)
|
|
32
|
+
|
|
33
|
+
def __next__(self):
|
|
34
|
+
|
|
35
|
+
x = super().__next__()
|
|
36
|
+
|
|
37
|
+
self.c += 1
|
|
38
|
+
if self.c >= self.change_threshold:
|
|
39
|
+
self.c = 0
|
|
40
|
+
self.adj_type = modulo_in_range((self.adj_type + 1),[1,3])
|
|
41
|
+
self.next_change_threshold(x)
|
|
42
|
+
|
|
43
|
+
return x
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
from ..intigers.n2mvf_autogen import *
|
|
2
|
+
from morebs2.numerical_generator import prg__LCG,prg__single_to_nvec
|
|
3
|
+
from collections import deque
|
|
4
|
+
|
|
5
|
+
DEFAULT_N2MV_GEN_FILLER_PRG2_MODULO = 7891
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
The PRNG `prg` is the primary generator: this generator uses `prg`
|
|
9
|
+
to produce input vectors of dimension n to output m-vectors from the
|
|
10
|
+
current <N2MVectorFunction>.
|
|
11
|
+
|
|
12
|
+
The main `__next__` function outputs values from its queue.
|
|
13
|
+
|
|
14
|
+
When `queue` is empty, generator has its <N2MVectorFunctionGen> produce
|
|
15
|
+
a <N2MVectorFunction> F. Then F outputs an m-vector. That m-vector is added
|
|
16
|
+
to `queue`. After some k >= (s in `update_frequency_range`) output values,
|
|
17
|
+
this generator instantiates another <N2MVectorFunctionGen>.
|
|
18
|
+
|
|
19
|
+
See file<intigers.n2mvf_autogen> for more details on
|
|
20
|
+
"""
|
|
21
|
+
class N2MVGen:
|
|
22
|
+
|
|
23
|
+
def __init__(self,nm_range,prg,prg2,update_frequency_range):
|
|
24
|
+
assert is_valid_range(nm_range,True,False)
|
|
25
|
+
assert type(prg) in {FunctionType,MethodType}
|
|
26
|
+
assert type(prg2) in {FunctionType,MethodType,type(None)}
|
|
27
|
+
assert is_valid_range(update_frequency_range,True,False)
|
|
28
|
+
|
|
29
|
+
self.nm_range = nm_range
|
|
30
|
+
self.prg = prg__single_to_int(prg)
|
|
31
|
+
|
|
32
|
+
self.prg2 = prg2
|
|
33
|
+
if type(self.prg2) != type(None):
|
|
34
|
+
self.prg2 = prg__single_to_int(prg2)
|
|
35
|
+
|
|
36
|
+
self.nvfg = None
|
|
37
|
+
|
|
38
|
+
self.queue = deque()
|
|
39
|
+
|
|
40
|
+
self.nvfg = None
|
|
41
|
+
self.current_input_dim = None
|
|
42
|
+
|
|
43
|
+
self.uf_range = update_frequency_range
|
|
44
|
+
self.update_threshold = None
|
|
45
|
+
self.update_ctr = 0
|
|
46
|
+
self.filler_prg2()
|
|
47
|
+
self.next_NVMVFGen()
|
|
48
|
+
|
|
49
|
+
def __next__(self):
|
|
50
|
+
if len(self.queue) == 0:
|
|
51
|
+
self.next_vector()
|
|
52
|
+
return self.queue.popleft()
|
|
53
|
+
|
|
54
|
+
def next_NVMVFGen(self):
|
|
55
|
+
|
|
56
|
+
n = modulo_in_range(int(self.prg()),self.nm_range)
|
|
57
|
+
m = modulo_in_range(int(self.prg()),self.nm_range)
|
|
58
|
+
|
|
59
|
+
nm = (n,m)
|
|
60
|
+
self.current_input_dim = n
|
|
61
|
+
|
|
62
|
+
mode = "replace" if int(self.prg()) % 2 else "accumulate"
|
|
63
|
+
self.nvfg = N2MVectorFunctionGen(nm,self.prg,self.prg2,mode)
|
|
64
|
+
|
|
65
|
+
self.update_threshold = modulo_in_range(int(self.prg()),self.uf_range)
|
|
66
|
+
self.update_ctr = 0
|
|
67
|
+
|
|
68
|
+
def next_vector(self):
|
|
69
|
+
q = prg__single_to_nvec(self.prg,self.current_input_dim)()
|
|
70
|
+
F = self.nvfg.one_N2MVF()
|
|
71
|
+
mvec = F.apply(q)
|
|
72
|
+
|
|
73
|
+
self.update_ctr += len(mvec)
|
|
74
|
+
|
|
75
|
+
self.queue.extend(mvec)
|
|
76
|
+
|
|
77
|
+
if self.update_ctr >= self.update_threshold:
|
|
78
|
+
self.next_NVMVFGen()
|
|
79
|
+
|
|
80
|
+
"""
|
|
81
|
+
an LCG, in cases where `prg2` is null.
|
|
82
|
+
"""
|
|
83
|
+
def filler_prg2(self):
|
|
84
|
+
if type(self.prg2) != type(None):
|
|
85
|
+
return
|
|
86
|
+
|
|
87
|
+
x = prg_unique_sequence(self.prg,4)
|
|
88
|
+
if x[-1] == 0:
|
|
89
|
+
x[-1] = DEFAULT_N2MV_GEN_FILLER_PRG2_MODULO
|
|
90
|
+
self.prg2 = prg__LCG(x[0],x[1],x[2],x[3])
|
|
91
|
+
|
|
@@ -106,9 +106,12 @@ seqbuild/mini_dm/nsfr.py
|
|
|
106
106
|
seqbuild/mini_dm/puc.py
|
|
107
107
|
seqbuild/mini_dm/sp_op.py
|
|
108
108
|
seqbuild/seqgen/__init__.py
|
|
109
|
+
seqbuild/seqgen/fit22_gen.py
|
|
109
110
|
seqbuild/seqgen/gg_gen.py
|
|
110
111
|
seqbuild/seqgen/idt_gen.py
|
|
112
|
+
seqbuild/seqgen/lps_gen.py
|
|
111
113
|
seqbuild/seqgen/mdr_gen.py
|
|
114
|
+
seqbuild/seqgen/n2mv_gen.py
|
|
112
115
|
seqbuild/seqgen/optri_gen.py
|
|
113
116
|
seqbuild/seqgen/rch_gen.py
|
|
114
117
|
seqbuild/seqgen/sb_crypt.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{seqbuild-0.0.52 → seqbuild-0.0.53}/seqbuild/face/sample_script/seqbuild_realtime_command.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|