da4ml 0.3.3__py3-none-any.whl → 0.4.0__py3-none-any.whl
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.
Potentially problematic release.
This version of da4ml might be problematic. Click here for more details.
- da4ml/_version.py +2 -2
- da4ml/codegen/__init__.py +4 -7
- da4ml/codegen/hls/__init__.py +4 -0
- da4ml/codegen/{cpp/cpp_codegen.py → hls/hls_codegen.py} +19 -12
- da4ml/codegen/{cpp → hls}/hls_model.py +7 -7
- da4ml/codegen/rtl/__init__.py +15 -0
- da4ml/codegen/{verilog/source → rtl/common_source}/binder_util.hh +4 -4
- da4ml/codegen/{verilog/source → rtl/common_source}/build_binder.mk +7 -1
- da4ml/codegen/{verilog/source → rtl/common_source}/build_prj.tcl +28 -7
- da4ml/codegen/{verilog/verilog_model.py → rtl/rtl_model.py} +87 -16
- da4ml/codegen/{verilog → rtl/verilog}/__init__.py +0 -2
- da4ml/codegen/{verilog → rtl/verilog}/comb.py +32 -34
- da4ml/codegen/{verilog → rtl/verilog}/io_wrapper.py +8 -8
- da4ml/codegen/{verilog → rtl/verilog}/pipeline.py +10 -10
- da4ml/codegen/{verilog → rtl/verilog}/source/negative.v +2 -1
- da4ml/codegen/rtl/vhdl/__init__.py +10 -0
- da4ml/codegen/rtl/vhdl/comb.py +192 -0
- da4ml/codegen/rtl/vhdl/io_wrapper.py +157 -0
- da4ml/codegen/rtl/vhdl/pipeline.py +71 -0
- da4ml/codegen/rtl/vhdl/source/multiplier.vhd +40 -0
- da4ml/codegen/rtl/vhdl/source/mux.vhd +102 -0
- da4ml/codegen/rtl/vhdl/source/negative.vhd +35 -0
- da4ml/codegen/rtl/vhdl/source/shift_adder.vhd +101 -0
- da4ml/codegen/rtl/vhdl/source/template.xdc +32 -0
- {da4ml-0.3.3.dist-info → da4ml-0.4.0.dist-info}/METADATA +2 -2
- da4ml-0.4.0.dist-info/RECORD +76 -0
- da4ml/codegen/cpp/__init__.py +0 -4
- da4ml-0.3.3.dist-info/RECORD +0 -66
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_binary.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_common.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_decl.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_fixed.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_fixed_base.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_fixed_ref.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_fixed_special.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_int.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_int_base.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_int_ref.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_int_special.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/ap_shift_reg.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/etc/ap_private.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/hls_math.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/hls_stream.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/ap_types/utils/x_hls_utils.h +0 -0
- /da4ml/codegen/{cpp → hls}/source/binder_util.hh +0 -0
- /da4ml/codegen/{cpp → hls}/source/build_binder.mk +0 -0
- /da4ml/codegen/{cpp → hls}/source/vitis_bitshift.hh +0 -0
- /da4ml/codegen/{verilog/source → rtl/common_source}/ioutil.hh +0 -0
- /da4ml/codegen/{verilog/source → rtl/common_source}/template.xdc +0 -0
- /da4ml/codegen/{verilog → rtl/verilog}/source/multiplier.v +0 -0
- /da4ml/codegen/{verilog → rtl/verilog}/source/mux.v +0 -0
- /da4ml/codegen/{verilog → rtl/verilog}/source/shift_adder.v +0 -0
- {da4ml-0.3.3.dist-info → da4ml-0.4.0.dist-info}/WHEEL +0 -0
- {da4ml-0.3.3.dist-info → da4ml-0.4.0.dist-info}/licenses/LICENSE +0 -0
- {da4ml-0.3.3.dist-info → da4ml-0.4.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
library ieee;
|
|
2
|
+
use ieee.std_logic_1164.all;
|
|
3
|
+
use ieee.numeric_std.all;
|
|
4
|
+
|
|
5
|
+
entity mux is
|
|
6
|
+
generic (
|
|
7
|
+
BW_INPUT0 : integer := 32;
|
|
8
|
+
BW_INPUT1 : integer := 32;
|
|
9
|
+
SIGNED0 : integer := 0;
|
|
10
|
+
SIGNED1 : integer := 0;
|
|
11
|
+
BW_OUT : integer := 32;
|
|
12
|
+
SHIFT1 : integer := 0;
|
|
13
|
+
INVERT1 : integer := 0
|
|
14
|
+
);
|
|
15
|
+
port (
|
|
16
|
+
key : in std_logic;
|
|
17
|
+
in0 : in std_logic_vector(BW_INPUT0-1 downto 0);
|
|
18
|
+
in1 : in std_logic_vector(BW_INPUT1-1 downto 0);
|
|
19
|
+
result : out std_logic_vector(BW_OUT-1 downto 0)
|
|
20
|
+
);
|
|
21
|
+
end entity mux;
|
|
22
|
+
|
|
23
|
+
architecture rtl of mux is
|
|
24
|
+
function max(L, R: integer) return integer is
|
|
25
|
+
begin
|
|
26
|
+
if L > R then
|
|
27
|
+
return L;
|
|
28
|
+
else
|
|
29
|
+
return R;
|
|
30
|
+
end if;
|
|
31
|
+
end function;
|
|
32
|
+
|
|
33
|
+
function if_then_else(cond: boolean; val_true: integer; val_false: integer) return integer is
|
|
34
|
+
begin
|
|
35
|
+
if cond then
|
|
36
|
+
return val_true;
|
|
37
|
+
else
|
|
38
|
+
return val_false;
|
|
39
|
+
end if;
|
|
40
|
+
end function;
|
|
41
|
+
|
|
42
|
+
constant IN0_NEED_BITS : integer := if_then_else(SHIFT1 < 0, BW_INPUT0 - SHIFT1, BW_INPUT0);
|
|
43
|
+
constant IN1_NEED_BITS : integer := if_then_else(SHIFT1 > 0, BW_INPUT1 + SHIFT1, BW_INPUT1);
|
|
44
|
+
constant EXTRA_PAD : integer := if_then_else(SIGNED0 /= SIGNED1, INVERT1 + 1, INVERT1);
|
|
45
|
+
constant BW_BUF : integer := max(IN0_NEED_BITS, IN1_NEED_BITS) + EXTRA_PAD;
|
|
46
|
+
|
|
47
|
+
signal in0_ext : std_logic_vector(BW_BUF-1 downto 0);
|
|
48
|
+
signal in1_ext : std_logic_vector(BW_BUF-1 downto 0);
|
|
49
|
+
signal out_buf : std_logic_vector(BW_BUF-1 downto 0);
|
|
50
|
+
|
|
51
|
+
begin
|
|
52
|
+
|
|
53
|
+
-- Extension and shifting for input 0
|
|
54
|
+
gen_in0_shift_neg: if SHIFT1 < 0 generate
|
|
55
|
+
gen_in0_signed: if SIGNED0 = 1 generate
|
|
56
|
+
in0_ext <= std_logic_vector(resize(signed(in0), BW_BUF)) sll (-SHIFT1);
|
|
57
|
+
end generate;
|
|
58
|
+
gen_in0_unsigned: if SIGNED0 = 0 generate
|
|
59
|
+
in0_ext <= std_logic_vector(resize(unsigned(in0), BW_BUF)) sll (-SHIFT1);
|
|
60
|
+
end generate;
|
|
61
|
+
end generate;
|
|
62
|
+
|
|
63
|
+
gen_in0_shift_pos: if SHIFT1 >= 0 generate
|
|
64
|
+
gen_in0_signed: if SIGNED0 = 1 generate
|
|
65
|
+
in0_ext <= std_logic_vector(resize(signed(in0), BW_BUF));
|
|
66
|
+
end generate;
|
|
67
|
+
gen_in0_unsigned: if SIGNED0 = 0 generate
|
|
68
|
+
in0_ext <= std_logic_vector(resize(unsigned(in0), BW_BUF));
|
|
69
|
+
end generate;
|
|
70
|
+
end generate;
|
|
71
|
+
|
|
72
|
+
-- Extension and shifting for input 1
|
|
73
|
+
gen_in1_shift_pos: if SHIFT1 > 0 generate
|
|
74
|
+
gen_in1_signed: if SIGNED1 = 1 generate
|
|
75
|
+
in1_ext <= std_logic_vector(resize(signed(in1), BW_BUF)) sll SHIFT1;
|
|
76
|
+
end generate;
|
|
77
|
+
gen_in1_unsigned: if SIGNED1 = 0 generate
|
|
78
|
+
in1_ext <= std_logic_vector(resize(unsigned(in1), BW_BUF)) sll SHIFT1;
|
|
79
|
+
end generate;
|
|
80
|
+
end generate;
|
|
81
|
+
|
|
82
|
+
gen_in1_shift_neg: if SHIFT1 <= 0 generate
|
|
83
|
+
gen_in1_signed: if SIGNED1 = 1 generate
|
|
84
|
+
in1_ext <= std_logic_vector(resize(signed(in1), BW_BUF));
|
|
85
|
+
end generate;
|
|
86
|
+
gen_in1_unsigned: if SIGNED1 = 0 generate
|
|
87
|
+
in1_ext <= std_logic_vector(resize(unsigned(in1), BW_BUF));
|
|
88
|
+
end generate;
|
|
89
|
+
end generate;
|
|
90
|
+
|
|
91
|
+
-- Mux logic
|
|
92
|
+
gen_invert: if INVERT1 = 1 generate
|
|
93
|
+
out_buf <= in0_ext when key = '1' else std_logic_vector(-signed(in1_ext));
|
|
94
|
+
end generate;
|
|
95
|
+
|
|
96
|
+
gen_no_invert: if INVERT1 = 0 generate
|
|
97
|
+
out_buf <= in0_ext when key = '1' else in1_ext;
|
|
98
|
+
end generate;
|
|
99
|
+
|
|
100
|
+
result <= out_buf(BW_OUT-1 downto 0);
|
|
101
|
+
|
|
102
|
+
end architecture rtl;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
library ieee;
|
|
2
|
+
use ieee.std_logic_1164.all;
|
|
3
|
+
use ieee.numeric_std.all;
|
|
4
|
+
|
|
5
|
+
entity negative is
|
|
6
|
+
generic (
|
|
7
|
+
BW_IN : integer := 32;
|
|
8
|
+
BW_OUT : integer := 32;
|
|
9
|
+
IN_SIGNED : integer := 0
|
|
10
|
+
);
|
|
11
|
+
port (
|
|
12
|
+
neg_in : in std_logic_vector(BW_IN-1 downto 0);
|
|
13
|
+
neg_out : out std_logic_vector(BW_OUT-1 downto 0)
|
|
14
|
+
);
|
|
15
|
+
end entity negative;
|
|
16
|
+
|
|
17
|
+
architecture rtl of negative is
|
|
18
|
+
signal in_ext : std_logic_vector(BW_OUT-1 downto 0);
|
|
19
|
+
begin
|
|
20
|
+
|
|
21
|
+
gen_lt : if BW_IN < BW_OUT generate
|
|
22
|
+
gen_signed : if IN_SIGNED = 1 generate
|
|
23
|
+
in_ext <= std_logic_vector(resize(signed(neg_in), BW_OUT));
|
|
24
|
+
end generate;
|
|
25
|
+
gen_unsigned : if IN_SIGNED = 0 generate
|
|
26
|
+
in_ext <= std_logic_vector(resize(unsigned(neg_in), BW_OUT));
|
|
27
|
+
end generate;
|
|
28
|
+
neg_out <= std_logic_vector(-signed(in_ext));
|
|
29
|
+
end generate;
|
|
30
|
+
|
|
31
|
+
gen_ge : if BW_IN >= BW_OUT generate
|
|
32
|
+
neg_out <= std_logic_vector(-signed(neg_in(BW_OUT-1 downto 0)));
|
|
33
|
+
end generate;
|
|
34
|
+
|
|
35
|
+
end architecture rtl;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
library ieee;
|
|
2
|
+
use ieee.std_logic_1164.all;
|
|
3
|
+
use ieee.numeric_std.all;
|
|
4
|
+
|
|
5
|
+
entity shift_adder is
|
|
6
|
+
generic (
|
|
7
|
+
BW_INPUT0 : integer := 32;
|
|
8
|
+
BW_INPUT1 : integer := 32;
|
|
9
|
+
SIGNED0 : integer := 0;
|
|
10
|
+
SIGNED1 : integer := 0;
|
|
11
|
+
BW_OUT : integer := 32;
|
|
12
|
+
SHIFT1 : integer := 0;
|
|
13
|
+
IS_SUB : integer := 0
|
|
14
|
+
);
|
|
15
|
+
port (
|
|
16
|
+
in0 : in std_logic_vector(BW_INPUT0-1 downto 0);
|
|
17
|
+
in1 : in std_logic_vector(BW_INPUT1-1 downto 0);
|
|
18
|
+
result : out std_logic_vector(BW_OUT-1 downto 0)
|
|
19
|
+
);
|
|
20
|
+
end entity shift_adder;
|
|
21
|
+
|
|
22
|
+
architecture rtl of shift_adder is
|
|
23
|
+
function max(L, R: integer) return integer is
|
|
24
|
+
begin
|
|
25
|
+
if L > R then
|
|
26
|
+
return L;
|
|
27
|
+
else
|
|
28
|
+
return R;
|
|
29
|
+
end if;
|
|
30
|
+
end function;
|
|
31
|
+
|
|
32
|
+
function if_then_else(cond: boolean; val_true: integer; val_false: integer) return integer is
|
|
33
|
+
begin
|
|
34
|
+
if cond then
|
|
35
|
+
return val_true;
|
|
36
|
+
else
|
|
37
|
+
return val_false;
|
|
38
|
+
end if;
|
|
39
|
+
end function;
|
|
40
|
+
|
|
41
|
+
constant IN0_NEED_BITS : integer := if_then_else(SHIFT1 < 0, BW_INPUT0 - SHIFT1, BW_INPUT0);
|
|
42
|
+
constant IN1_NEED_BITS : integer := if_then_else(SHIFT1 > 0, BW_INPUT1 + SHIFT1, BW_INPUT1);
|
|
43
|
+
constant EXTRA_PAD : integer := if_then_else(SIGNED0 /= SIGNED1, IS_SUB + 1, IS_SUB);
|
|
44
|
+
constant BW_ADD : integer := max(IN0_NEED_BITS, IN1_NEED_BITS) + EXTRA_PAD + 1;
|
|
45
|
+
|
|
46
|
+
signal in0_ext : std_logic_vector(BW_ADD-1 downto 0);
|
|
47
|
+
signal in1_ext : std_logic_vector(BW_ADD-1 downto 0);
|
|
48
|
+
signal accum : std_logic_vector(BW_ADD-1 downto 0);
|
|
49
|
+
|
|
50
|
+
begin
|
|
51
|
+
|
|
52
|
+
-- Extension and shifting for input 0
|
|
53
|
+
gen_in0_shift_neg: if SHIFT1 < 0 generate
|
|
54
|
+
gen_in0_signed: if SIGNED0 = 1 generate
|
|
55
|
+
in0_ext <= std_logic_vector(resize(signed(in0), BW_ADD)) sll (-SHIFT1);
|
|
56
|
+
end generate;
|
|
57
|
+
gen_in0_unsigned: if SIGNED0 = 0 generate
|
|
58
|
+
in0_ext <= std_logic_vector(resize(unsigned(in0), BW_ADD)) sll (-SHIFT1);
|
|
59
|
+
end generate;
|
|
60
|
+
end generate;
|
|
61
|
+
|
|
62
|
+
gen_in0_shift_pos: if SHIFT1 >= 0 generate
|
|
63
|
+
gen_in0_signed: if SIGNED0 = 1 generate
|
|
64
|
+
in0_ext <= std_logic_vector(resize(signed(in0), BW_ADD));
|
|
65
|
+
end generate;
|
|
66
|
+
gen_in0_unsigned: if SIGNED0 = 0 generate
|
|
67
|
+
in0_ext <= std_logic_vector(resize(unsigned(in0), BW_ADD));
|
|
68
|
+
end generate;
|
|
69
|
+
end generate;
|
|
70
|
+
|
|
71
|
+
-- Extension and shifting for input 1
|
|
72
|
+
gen_in1_shift_pos: if SHIFT1 > 0 generate
|
|
73
|
+
gen_in1_signed: if SIGNED1 = 1 generate
|
|
74
|
+
in1_ext <= std_logic_vector(resize(signed(in1), BW_ADD)) sll SHIFT1;
|
|
75
|
+
end generate;
|
|
76
|
+
gen_in1_unsigned: if SIGNED1 = 0 generate
|
|
77
|
+
in1_ext <= std_logic_vector(resize(unsigned(in1), BW_ADD)) sll SHIFT1;
|
|
78
|
+
end generate;
|
|
79
|
+
end generate;
|
|
80
|
+
|
|
81
|
+
gen_in1_shift_neg: if SHIFT1 <= 0 generate
|
|
82
|
+
gen_in1_signed: if SIGNED1 = 1 generate
|
|
83
|
+
in1_ext <= std_logic_vector(resize(signed(in1), BW_ADD));
|
|
84
|
+
end generate;
|
|
85
|
+
gen_in1_unsigned: if SIGNED1 = 0 generate
|
|
86
|
+
in1_ext <= std_logic_vector(resize(unsigned(in1), BW_ADD));
|
|
87
|
+
end generate;
|
|
88
|
+
end generate;
|
|
89
|
+
|
|
90
|
+
-- Addition/subtraction logic
|
|
91
|
+
gen_sub: if IS_SUB = 1 generate
|
|
92
|
+
accum <= std_logic_vector(signed(in0_ext) - signed(in1_ext));
|
|
93
|
+
end generate;
|
|
94
|
+
|
|
95
|
+
gen_add: if IS_SUB = 0 generate
|
|
96
|
+
accum <= std_logic_vector(signed(in0_ext) + signed(in1_ext));
|
|
97
|
+
end generate;
|
|
98
|
+
|
|
99
|
+
result <= accum(BW_OUT-1 downto 0);
|
|
100
|
+
|
|
101
|
+
end architecture rtl;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
set clock_period ${CLOCK_PERIOD}
|
|
2
|
+
|
|
3
|
+
# Clock uncertainty as percentage of clock period
|
|
4
|
+
set uncertainty_setup_r ${UNCERTAINITY_SETUP}
|
|
5
|
+
set uncertainty_hold_r ${UNCERTAINITY_HOLD}
|
|
6
|
+
set delay_max_r ${DELAY_MAX}
|
|
7
|
+
set delay_min_r ${DELAY_MIN}
|
|
8
|
+
|
|
9
|
+
# Calculate actual uncertainty values
|
|
10
|
+
set uncertainty_setup [expr {$clock_period * $uncertainty_setup_r}]
|
|
11
|
+
set uncertainty_hold [expr {$clock_period * $uncertainty_hold_r}]
|
|
12
|
+
set delay_max [expr {$clock_period * $delay_max_r}]
|
|
13
|
+
set delay_min [expr {$clock_period * $delay_min_r}]
|
|
14
|
+
|
|
15
|
+
# Create clock with variable period
|
|
16
|
+
create_clock -period $clock_period -name sys_clk [get_ports {clk}]
|
|
17
|
+
|
|
18
|
+
# Input/Output constraints
|
|
19
|
+
set_input_delay -clock sys_clk -max $delay_max [get_ports {inp[*]}]
|
|
20
|
+
set_input_delay -clock sys_clk -min $delay_min [get_ports {inp[*]}]
|
|
21
|
+
|
|
22
|
+
set_output_delay -clock sys_clk -max $delay_max [get_ports {out[*]}]
|
|
23
|
+
set_output_delay -clock sys_clk -min $delay_min [get_ports {out[*]}]
|
|
24
|
+
|
|
25
|
+
# Apply calculated uncertainty values
|
|
26
|
+
set_clock_uncertainty -setup $uncertainty_setup [get_clocks sys_clk]
|
|
27
|
+
set_clock_uncertainty -hold $uncertainty_hold [get_clocks sys_clk]
|
|
28
|
+
|
|
29
|
+
set_property HD.CLK_SRC BUFG_X0Y0 [get_ports clk]
|
|
30
|
+
|
|
31
|
+
set_property retiming_forward 1 [get_cells {stage[*]_inp}]
|
|
32
|
+
set_property retiming_backward 1 [get_cells {stage[*]_inp}]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: da4ml
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Distributed Arithmetic for Machine Learning
|
|
5
5
|
Author-email: Chang Sun <chsun@cern.ch>
|
|
6
6
|
License: GNU Lesser General Public License v3 (LGPLv3)
|
|
7
7
|
Project-URL: repository, https://github.com/calad0i/da4ml
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
da4ml/__init__.py,sha256=IETRRvzsJvPMLu1kzzi8UN5FYaM5MhNaXH2A_ZKr2_w,469
|
|
2
|
+
da4ml/_version.py,sha256=2_0GUP7yBCXRus-qiJKxQD62z172WSs1sQ6DVpPsbmM,704
|
|
3
|
+
da4ml/cmvm/__init__.py,sha256=4Tbt913k9zP0w8R1p6Oss06v5jrManbUhskyHl6e-U0,154
|
|
4
|
+
da4ml/cmvm/api.py,sha256=JpecMt6g8zutGh_uWT61_0iX8TuXct7-jq7N7HMIsgA,9626
|
|
5
|
+
da4ml/cmvm/types.py,sha256=O8BuBZ2SyucxoXt_KbulAuHNgim7Ls3M6Ovw8prLgXM,21340
|
|
6
|
+
da4ml/cmvm/core/__init__.py,sha256=bp2CXI4EOVOQSho1qwfusNs0RliZRt2dV0hZ33W_Kjo,7703
|
|
7
|
+
da4ml/cmvm/core/indexers.py,sha256=QjXgvExS-B2abHTJPDG4NufMdMEflo1i6cUhFOgJpH4,2945
|
|
8
|
+
da4ml/cmvm/core/state_opr.py,sha256=wLqO8qVuM2-qCE5LDeYJDNkUruIPHy63obsv4-x-aR8,8661
|
|
9
|
+
da4ml/cmvm/util/__init__.py,sha256=DkBlUEKA_Gu7n576ja_xZlAQfToWmNL9VXU-jmj6a-g,145
|
|
10
|
+
da4ml/cmvm/util/bit_decompose.py,sha256=SUco70HRYf4r1JU6BXwcgabDrhm_yAmucae5FC67i4I,2216
|
|
11
|
+
da4ml/cmvm/util/mat_decompose.py,sha256=eSJNlXwx_jxgqt5vLJrSLQaeq2ZXu8j9mC4d-eq883M,4094
|
|
12
|
+
da4ml/codegen/__init__.py,sha256=ldMaaixWMxEpLS6skyAgpGCcIMVHdeRCNy57-JxGn3Y,161
|
|
13
|
+
da4ml/codegen/hls/__init__.py,sha256=LkTtnKTGKX39-wpf7jb10BZ15-dpw4pIlQoATYfVOec,134
|
|
14
|
+
da4ml/codegen/hls/hls_codegen.py,sha256=XuhdYnFVNkz5FoiIF31xAnU2THKKCBytPlGEiLjsIew,6514
|
|
15
|
+
da4ml/codegen/hls/hls_model.py,sha256=mj6Oc5JaHA4ogJ3ISJ18XcqHBbJchy1muvSNUXbZEIQ,8988
|
|
16
|
+
da4ml/codegen/hls/source/binder_util.hh,sha256=ClECVxcEynE_9i4jWCV4y1dnadG3wFqLZfjxg4qHFQQ,1752
|
|
17
|
+
da4ml/codegen/hls/source/build_binder.mk,sha256=RLu4TP28aJsveyMOHxuDRGEJVoIPMo9T8WyPtqnmtbQ,584
|
|
18
|
+
da4ml/codegen/hls/source/vitis_bitshift.hh,sha256=u8wjT_cRn7bXcbC5pH3-rS76ekRbwv-VWAAdaP52-dw,765
|
|
19
|
+
da4ml/codegen/hls/source/ap_types/ap_binary.h,sha256=yOcafu2IofstDqxn0wDq8vY3JIwZQ9H5z6IY1dEqMr0,2764
|
|
20
|
+
da4ml/codegen/hls/source/ap_types/ap_common.h,sha256=1hJY9uvKOdwRSSll5uehUISZR4tsSsQ1z4PNRUc44KU,10180
|
|
21
|
+
da4ml/codegen/hls/source/ap_types/ap_decl.h,sha256=z1HsH-2RSvSoofTZR7RHeqIfAnEYVuHcIu_ute9gjEg,6473
|
|
22
|
+
da4ml/codegen/hls/source/ap_types/ap_fixed.h,sha256=3ld4qyF475nDto57AHcsLd-PfoJ7dlplDoZPLXIo6d4,12185
|
|
23
|
+
da4ml/codegen/hls/source/ap_types/ap_fixed_base.h,sha256=Cd1AJQZjHxVKbvo4w9a9ylkEyNjdXHR7VF9iUoGTb0o,85182
|
|
24
|
+
da4ml/codegen/hls/source/ap_types/ap_fixed_ref.h,sha256=TO9yZqdWf0VksXmG4SN9_n_CDYQVWU4yuja0YfkrQCw,27302
|
|
25
|
+
da4ml/codegen/hls/source/ap_types/ap_fixed_special.h,sha256=yXfQnjAc8vJv5T6R9a4L_eA0U_a0ypzK_RSn8yqzt_s,6985
|
|
26
|
+
da4ml/codegen/hls/source/ap_types/ap_int.h,sha256=nTiyrFN8IPCGRs5RYpCkLT9y4IxaqoRUHtIbpUiOLNA,10012
|
|
27
|
+
da4ml/codegen/hls/source/ap_types/ap_int_base.h,sha256=Kt4QjfUW85r8lxjY4ESqelR_CnpM0ubb4K5d2G03GMQ,71735
|
|
28
|
+
da4ml/codegen/hls/source/ap_types/ap_int_ref.h,sha256=5rsOdablweC9hKGtQ8Kktr077sEQ91gzSH5G5hM7m5Y,55218
|
|
29
|
+
da4ml/codegen/hls/source/ap_types/ap_int_special.h,sha256=HIvRRuiKGpAnCpigURX0cOQUX88dbp3lGkUWpbglMCI,6301
|
|
30
|
+
da4ml/codegen/hls/source/ap_types/ap_shift_reg.h,sha256=wqe8j3ikbdZiXwYsYlAsFbOFeQLhYXIbKoRC6fJGeuc,4894
|
|
31
|
+
da4ml/codegen/hls/source/ap_types/hls_math.h,sha256=abFBoZzYjm_pfC2wkuclVh1HuvYJ_YobnN-1Q99GRic,674
|
|
32
|
+
da4ml/codegen/hls/source/ap_types/hls_stream.h,sha256=NTkVfbE48c6XnMIfR9WzJbDwUnfe6y19xJXxBS3G--I,7480
|
|
33
|
+
da4ml/codegen/hls/source/ap_types/etc/ap_private.h,sha256=TDdxGIX0r3D6Ql8KeXoceRmHhdlwFA3Akr3-vvMVAtk,261465
|
|
34
|
+
da4ml/codegen/hls/source/ap_types/utils/x_hls_utils.h,sha256=x24cf1HyZKv0J8YQIoUvYE3uw6SNL7vWetRGIiFm2Jw,2227
|
|
35
|
+
da4ml/codegen/rtl/__init__.py,sha256=51VNqMc0JygphulBB4jjqeL9Sd18IUjGhkp2oyUDdnA,505
|
|
36
|
+
da4ml/codegen/rtl/rtl_model.py,sha256=Kb3LwNIkQ6nC591xSU8z-BuemQYwfQk-Bc55LheIHnc,14318
|
|
37
|
+
da4ml/codegen/rtl/common_source/binder_util.hh,sha256=gAcfnfzgDt2OudljfeQjtUtncNVjwRmEwu5VI7VSF6Q,2545
|
|
38
|
+
da4ml/codegen/rtl/common_source/build_binder.mk,sha256=i1CsER5jtY3GmKJCw4H8f70vh_2_FJyNVt3FTLzdJf8,1386
|
|
39
|
+
da4ml/codegen/rtl/common_source/build_prj.tcl,sha256=QkKZTJOsOfQxgDUmDw8vnrQvUluYWz_yI5VB3oyIzIo,3651
|
|
40
|
+
da4ml/codegen/rtl/common_source/ioutil.hh,sha256=QXiHbOfkprOL6b-gBQGwcEOQ39uO-bRxKxwObluiK44,3967
|
|
41
|
+
da4ml/codegen/rtl/common_source/template.xdc,sha256=GlSRy8tw_orohSuUwUSNEYJLLkAAHttGTfLTcQqRQDg,1262
|
|
42
|
+
da4ml/codegen/rtl/verilog/__init__.py,sha256=ZMFGN7atMF98kDVbbUm8dGPr0C8D8ZBfVUJnDOMEn4o,238
|
|
43
|
+
da4ml/codegen/rtl/verilog/comb.py,sha256=9pyZ5n-wefj_yoRaQxxbpY7HAlTZYUx2JY2hrBqgPwU,7174
|
|
44
|
+
da4ml/codegen/rtl/verilog/io_wrapper.py,sha256=8uSBMFbWRzSsxe7rP3yJLhiXm-MBwk5cyrLBqnantYE,5045
|
|
45
|
+
da4ml/codegen/rtl/verilog/pipeline.py,sha256=Qd_6pJOWN9yzxFhWGnsGlfxDQIEfVx4KTCbzYmwgjD0,2420
|
|
46
|
+
da4ml/codegen/rtl/verilog/source/multiplier.v,sha256=MfgRYi7jYPp4W94KLKWpc2MPu2Dg9CDiQ3lJizSIlIQ,1122
|
|
47
|
+
da4ml/codegen/rtl/verilog/source/mux.v,sha256=1PMSQKGR_Cku1EQnePBVCuX6we_dqYBXW54WBEURvs0,1928
|
|
48
|
+
da4ml/codegen/rtl/verilog/source/negative.v,sha256=YRfXVxyVQ1vu6LPCWrFzCsAFJxVIQZGZgwCoTOrMXlw,762
|
|
49
|
+
da4ml/codegen/rtl/verilog/source/shift_adder.v,sha256=qrpXBX9bhHI-o75v5zshOfq0giEATvbeGgTir20_S3Q,1915
|
|
50
|
+
da4ml/codegen/rtl/vhdl/__init__.py,sha256=ZMFGN7atMF98kDVbbUm8dGPr0C8D8ZBfVUJnDOMEn4o,238
|
|
51
|
+
da4ml/codegen/rtl/vhdl/comb.py,sha256=F6CZbL3XnQUS-ILmF3ubTX_G62kMt1xMQJZEFymCgF8,8272
|
|
52
|
+
da4ml/codegen/rtl/vhdl/io_wrapper.py,sha256=tdwIHWv5WnADPHxgAQmk4_qRldkeI7icRbkaneAkt-w,5322
|
|
53
|
+
da4ml/codegen/rtl/vhdl/pipeline.py,sha256=tjMYreqo1eHIepdOqX71GYePDLYjlsuphotpw19faKA,2641
|
|
54
|
+
da4ml/codegen/rtl/vhdl/source/multiplier.vhd,sha256=Hx63VZy_nVrv7qokwz50fTQVB7LbSBpfRKXhv4lXRAQ,1323
|
|
55
|
+
da4ml/codegen/rtl/vhdl/source/mux.vhd,sha256=tN8XbK0kD71arjEU--tidtWFpmdyxT37E7HLRC0zMYw,3442
|
|
56
|
+
da4ml/codegen/rtl/vhdl/source/negative.vhd,sha256=rTOGEdbONDcpWmOw_g3BTr3f5rZEFIhoG_0X0c_Q2NQ,1019
|
|
57
|
+
da4ml/codegen/rtl/vhdl/source/shift_adder.vhd,sha256=pIBchIa0zXmRcqwGF308_TEzh6aWOTboTEir6lMiSrE,3455
|
|
58
|
+
da4ml/codegen/rtl/vhdl/source/template.xdc,sha256=GlSRy8tw_orohSuUwUSNEYJLLkAAHttGTfLTcQqRQDg,1262
|
|
59
|
+
da4ml/converter/__init__.py,sha256=x7J2PEXYZsVWffRAkucLxbwzzU404eaijMdLwdhBxtY,57
|
|
60
|
+
da4ml/converter/hgq2/__init__.py,sha256=-gnT_7zXY-KQtPLxsqngwDKZ2TUIynn996pUjjB03B8,59
|
|
61
|
+
da4ml/converter/hgq2/parser.py,sha256=Yc5V-B_aEslqIXXJihRi3GMjF9vMkmUQ2_yHMGHMPVo,5573
|
|
62
|
+
da4ml/converter/hgq2/replica.py,sha256=aKi6BF2x4s3VUF1Q-__GE4-is9eSC3H8TGFDT05vTWc,16292
|
|
63
|
+
da4ml/trace/__init__.py,sha256=dv-rti3t8iE0RqeThfOb40mAg8FZB2WkkGQq3enJft0,282
|
|
64
|
+
da4ml/trace/fixed_variable.py,sha256=7vaXFZToCVzPtUZcHv4aoqpqJp46SHUzSWTQijVT0os,21101
|
|
65
|
+
da4ml/trace/fixed_variable_array.py,sha256=mJj9aU-jLCPVkFXrTbcRQndtUKEuhVwiFUGVSGX7PHE,12975
|
|
66
|
+
da4ml/trace/pipeline.py,sha256=AVeO9BNpQlo_WO6S1nQl7RxiHs5VFRR10tWMg_36C2o,5354
|
|
67
|
+
da4ml/trace/tracer.py,sha256=xnaVO4oTWwasfiEBqqeY9o60Lek3eX65IIbvB7JtVKQ,6099
|
|
68
|
+
da4ml/trace/ops/__init__.py,sha256=fz5Cg7ZQqPkZlUj4bIOKY6aaoA1fX_G22TeA8I1n4qY,2166
|
|
69
|
+
da4ml/trace/ops/conv_utils.py,sha256=Yn73t4F6Tcs1hBwK08L1DPOin2HYVcng4PSkU4vuZFo,8245
|
|
70
|
+
da4ml/trace/ops/einsum_utils.py,sha256=ODofbvR98FwKBTDZsJ0ObbMjU9_GjPu5AbGuWX6sdCY,11453
|
|
71
|
+
da4ml/trace/ops/reduce_utils.py,sha256=vQjEUUbvnW8inAYJWHDzgy-PbgwIdHlH-uzPzSEvrSc,3494
|
|
72
|
+
da4ml-0.4.0.dist-info/licenses/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
73
|
+
da4ml-0.4.0.dist-info/METADATA,sha256=TbsF6SmOrTNwmH7r9yAjpzfIiRJCUpYgbDADHtqvMfM,4059
|
|
74
|
+
da4ml-0.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
75
|
+
da4ml-0.4.0.dist-info/top_level.txt,sha256=N0tnKVwRqFiffFdeAzCgFq71hUNySh5-ITbNd6-R58Q,6
|
|
76
|
+
da4ml-0.4.0.dist-info/RECORD,,
|
da4ml/codegen/cpp/__init__.py
DELETED
da4ml-0.3.3.dist-info/RECORD
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
da4ml/__init__.py,sha256=IETRRvzsJvPMLu1kzzi8UN5FYaM5MhNaXH2A_ZKr2_w,469
|
|
2
|
-
da4ml/_version.py,sha256=lemL_4Kl75FgrO6lVuFrrtw6-Dcf9wtXBalKkXuzkO4,704
|
|
3
|
-
da4ml/cmvm/__init__.py,sha256=4Tbt913k9zP0w8R1p6Oss06v5jrManbUhskyHl6e-U0,154
|
|
4
|
-
da4ml/cmvm/api.py,sha256=JpecMt6g8zutGh_uWT61_0iX8TuXct7-jq7N7HMIsgA,9626
|
|
5
|
-
da4ml/cmvm/types.py,sha256=O8BuBZ2SyucxoXt_KbulAuHNgim7Ls3M6Ovw8prLgXM,21340
|
|
6
|
-
da4ml/cmvm/core/__init__.py,sha256=bp2CXI4EOVOQSho1qwfusNs0RliZRt2dV0hZ33W_Kjo,7703
|
|
7
|
-
da4ml/cmvm/core/indexers.py,sha256=QjXgvExS-B2abHTJPDG4NufMdMEflo1i6cUhFOgJpH4,2945
|
|
8
|
-
da4ml/cmvm/core/state_opr.py,sha256=wLqO8qVuM2-qCE5LDeYJDNkUruIPHy63obsv4-x-aR8,8661
|
|
9
|
-
da4ml/cmvm/util/__init__.py,sha256=DkBlUEKA_Gu7n576ja_xZlAQfToWmNL9VXU-jmj6a-g,145
|
|
10
|
-
da4ml/cmvm/util/bit_decompose.py,sha256=SUco70HRYf4r1JU6BXwcgabDrhm_yAmucae5FC67i4I,2216
|
|
11
|
-
da4ml/cmvm/util/mat_decompose.py,sha256=eSJNlXwx_jxgqt5vLJrSLQaeq2ZXu8j9mC4d-eq883M,4094
|
|
12
|
-
da4ml/codegen/__init__.py,sha256=Chdh3oO_vLR4saLbT9VxBPz_0wlEzxJldFSZaVUJo7U,331
|
|
13
|
-
da4ml/codegen/cpp/__init__.py,sha256=SIePoi_T4iJph50OQUosAnaVuLCckukYjLxp91Y8xQs,134
|
|
14
|
-
da4ml/codegen/cpp/cpp_codegen.py,sha256=I3YcxK524_oJ7jebxOlRGuYbN2uCY5mpKACoQShqZxs,6153
|
|
15
|
-
da4ml/codegen/cpp/hls_model.py,sha256=J5lnB8sAvMy0Bo5MSJOpgyUm1tzEJqBxgPTlOd38Gbg,8978
|
|
16
|
-
da4ml/codegen/cpp/source/binder_util.hh,sha256=ClECVxcEynE_9i4jWCV4y1dnadG3wFqLZfjxg4qHFQQ,1752
|
|
17
|
-
da4ml/codegen/cpp/source/build_binder.mk,sha256=RLu4TP28aJsveyMOHxuDRGEJVoIPMo9T8WyPtqnmtbQ,584
|
|
18
|
-
da4ml/codegen/cpp/source/vitis_bitshift.hh,sha256=u8wjT_cRn7bXcbC5pH3-rS76ekRbwv-VWAAdaP52-dw,765
|
|
19
|
-
da4ml/codegen/cpp/source/ap_types/ap_binary.h,sha256=yOcafu2IofstDqxn0wDq8vY3JIwZQ9H5z6IY1dEqMr0,2764
|
|
20
|
-
da4ml/codegen/cpp/source/ap_types/ap_common.h,sha256=1hJY9uvKOdwRSSll5uehUISZR4tsSsQ1z4PNRUc44KU,10180
|
|
21
|
-
da4ml/codegen/cpp/source/ap_types/ap_decl.h,sha256=z1HsH-2RSvSoofTZR7RHeqIfAnEYVuHcIu_ute9gjEg,6473
|
|
22
|
-
da4ml/codegen/cpp/source/ap_types/ap_fixed.h,sha256=3ld4qyF475nDto57AHcsLd-PfoJ7dlplDoZPLXIo6d4,12185
|
|
23
|
-
da4ml/codegen/cpp/source/ap_types/ap_fixed_base.h,sha256=Cd1AJQZjHxVKbvo4w9a9ylkEyNjdXHR7VF9iUoGTb0o,85182
|
|
24
|
-
da4ml/codegen/cpp/source/ap_types/ap_fixed_ref.h,sha256=TO9yZqdWf0VksXmG4SN9_n_CDYQVWU4yuja0YfkrQCw,27302
|
|
25
|
-
da4ml/codegen/cpp/source/ap_types/ap_fixed_special.h,sha256=yXfQnjAc8vJv5T6R9a4L_eA0U_a0ypzK_RSn8yqzt_s,6985
|
|
26
|
-
da4ml/codegen/cpp/source/ap_types/ap_int.h,sha256=nTiyrFN8IPCGRs5RYpCkLT9y4IxaqoRUHtIbpUiOLNA,10012
|
|
27
|
-
da4ml/codegen/cpp/source/ap_types/ap_int_base.h,sha256=Kt4QjfUW85r8lxjY4ESqelR_CnpM0ubb4K5d2G03GMQ,71735
|
|
28
|
-
da4ml/codegen/cpp/source/ap_types/ap_int_ref.h,sha256=5rsOdablweC9hKGtQ8Kktr077sEQ91gzSH5G5hM7m5Y,55218
|
|
29
|
-
da4ml/codegen/cpp/source/ap_types/ap_int_special.h,sha256=HIvRRuiKGpAnCpigURX0cOQUX88dbp3lGkUWpbglMCI,6301
|
|
30
|
-
da4ml/codegen/cpp/source/ap_types/ap_shift_reg.h,sha256=wqe8j3ikbdZiXwYsYlAsFbOFeQLhYXIbKoRC6fJGeuc,4894
|
|
31
|
-
da4ml/codegen/cpp/source/ap_types/hls_math.h,sha256=abFBoZzYjm_pfC2wkuclVh1HuvYJ_YobnN-1Q99GRic,674
|
|
32
|
-
da4ml/codegen/cpp/source/ap_types/hls_stream.h,sha256=NTkVfbE48c6XnMIfR9WzJbDwUnfe6y19xJXxBS3G--I,7480
|
|
33
|
-
da4ml/codegen/cpp/source/ap_types/etc/ap_private.h,sha256=TDdxGIX0r3D6Ql8KeXoceRmHhdlwFA3Akr3-vvMVAtk,261465
|
|
34
|
-
da4ml/codegen/cpp/source/ap_types/utils/x_hls_utils.h,sha256=x24cf1HyZKv0J8YQIoUvYE3uw6SNL7vWetRGIiFm2Jw,2227
|
|
35
|
-
da4ml/codegen/verilog/__init__.py,sha256=rXmW2V9sDp2RYMDAWlhj_gfMXH3G5lPNmLrFtsJjn_A,298
|
|
36
|
-
da4ml/codegen/verilog/comb.py,sha256=AnrfJxJXe3hytXiX00VGbdW91AAJDF-dLdsSSWBivdU,7961
|
|
37
|
-
da4ml/codegen/verilog/io_wrapper.py,sha256=SSs-ZRhBVLR6tpFso8GNGk-FH6JDe-p7LPvVPjTspxo,5002
|
|
38
|
-
da4ml/codegen/verilog/pipeline.py,sha256=YsPRTLp04Aofg33QMw6_ga3fNX9LeCD7Pq2PnERLWOg,2377
|
|
39
|
-
da4ml/codegen/verilog/verilog_model.py,sha256=2uyrpQN_f1cdF5fz0fBR5nh6idHlzhh_JneLkJAruQs,12172
|
|
40
|
-
da4ml/codegen/verilog/source/binder_util.hh,sha256=2sab9M0vYBsaimzJ8tWJ9LsxYKMe3xTqdFSGO7YRPbk,2521
|
|
41
|
-
da4ml/codegen/verilog/source/build_binder.mk,sha256=rQbI98itE_b1wIQ_0uCXfBzNmGK2XT4vWmRyCJNnPKk,960
|
|
42
|
-
da4ml/codegen/verilog/source/build_prj.tcl,sha256=JA-zLl7fd2PV-BFaX22-MTex04QTi0urWUXNAEUDTy0,3003
|
|
43
|
-
da4ml/codegen/verilog/source/ioutil.hh,sha256=QXiHbOfkprOL6b-gBQGwcEOQ39uO-bRxKxwObluiK44,3967
|
|
44
|
-
da4ml/codegen/verilog/source/multiplier.v,sha256=MfgRYi7jYPp4W94KLKWpc2MPu2Dg9CDiQ3lJizSIlIQ,1122
|
|
45
|
-
da4ml/codegen/verilog/source/mux.v,sha256=1PMSQKGR_Cku1EQnePBVCuX6we_dqYBXW54WBEURvs0,1928
|
|
46
|
-
da4ml/codegen/verilog/source/negative.v,sha256=YphTCLnYslktsnCPq1xjbYgIFavani5NBbqs20uwhBI,688
|
|
47
|
-
da4ml/codegen/verilog/source/shift_adder.v,sha256=qrpXBX9bhHI-o75v5zshOfq0giEATvbeGgTir20_S3Q,1915
|
|
48
|
-
da4ml/codegen/verilog/source/template.xdc,sha256=GlSRy8tw_orohSuUwUSNEYJLLkAAHttGTfLTcQqRQDg,1262
|
|
49
|
-
da4ml/converter/__init__.py,sha256=x7J2PEXYZsVWffRAkucLxbwzzU404eaijMdLwdhBxtY,57
|
|
50
|
-
da4ml/converter/hgq2/__init__.py,sha256=-gnT_7zXY-KQtPLxsqngwDKZ2TUIynn996pUjjB03B8,59
|
|
51
|
-
da4ml/converter/hgq2/parser.py,sha256=Yc5V-B_aEslqIXXJihRi3GMjF9vMkmUQ2_yHMGHMPVo,5573
|
|
52
|
-
da4ml/converter/hgq2/replica.py,sha256=aKi6BF2x4s3VUF1Q-__GE4-is9eSC3H8TGFDT05vTWc,16292
|
|
53
|
-
da4ml/trace/__init__.py,sha256=dv-rti3t8iE0RqeThfOb40mAg8FZB2WkkGQq3enJft0,282
|
|
54
|
-
da4ml/trace/fixed_variable.py,sha256=7vaXFZToCVzPtUZcHv4aoqpqJp46SHUzSWTQijVT0os,21101
|
|
55
|
-
da4ml/trace/fixed_variable_array.py,sha256=mJj9aU-jLCPVkFXrTbcRQndtUKEuhVwiFUGVSGX7PHE,12975
|
|
56
|
-
da4ml/trace/pipeline.py,sha256=AVeO9BNpQlo_WO6S1nQl7RxiHs5VFRR10tWMg_36C2o,5354
|
|
57
|
-
da4ml/trace/tracer.py,sha256=xnaVO4oTWwasfiEBqqeY9o60Lek3eX65IIbvB7JtVKQ,6099
|
|
58
|
-
da4ml/trace/ops/__init__.py,sha256=fz5Cg7ZQqPkZlUj4bIOKY6aaoA1fX_G22TeA8I1n4qY,2166
|
|
59
|
-
da4ml/trace/ops/conv_utils.py,sha256=Yn73t4F6Tcs1hBwK08L1DPOin2HYVcng4PSkU4vuZFo,8245
|
|
60
|
-
da4ml/trace/ops/einsum_utils.py,sha256=ODofbvR98FwKBTDZsJ0ObbMjU9_GjPu5AbGuWX6sdCY,11453
|
|
61
|
-
da4ml/trace/ops/reduce_utils.py,sha256=vQjEUUbvnW8inAYJWHDzgy-PbgwIdHlH-uzPzSEvrSc,3494
|
|
62
|
-
da4ml-0.3.3.dist-info/licenses/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
63
|
-
da4ml-0.3.3.dist-info/METADATA,sha256=C3NAvObpQ5xNOmQQ-cE77AJMFevKJ0gCCO-BrlQpAeA,4055
|
|
64
|
-
da4ml-0.3.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
65
|
-
da4ml-0.3.3.dist-info/top_level.txt,sha256=N0tnKVwRqFiffFdeAzCgFq71hUNySh5-ITbNd6-R58Q,6
|
|
66
|
-
da4ml-0.3.3.dist-info/RECORD,,
|
|
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
|