najaeda 0.2.5__cp313-cp313t-macosx_11_0_arm64.whl → 0.2.6__cp313-cp313t-macosx_11_0_arm64.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 najaeda might be problematic. Click here for more details.

@@ -23,7 +23,7 @@ In this model:
23
23
  - **n-input gates** have a **single scalar output** and a **bus input terminal** (of size *n*).
24
24
  - **n-output gates** have a **scalar input** and a **bus output terminal** (of size *n*).
25
25
 
26
- All terminals in these generic instances are **unnamed**,
26
+ All terminals in these generic instances are **unnamed** (see :py:attr:`najaeda.netlist.Instance.is_unnamed`).
27
27
 
28
28
  Instance Attributes
29
29
  -------------------
@@ -52,8 +52,15 @@ Installation
52
52
 
53
53
  Bug Reports
54
54
  -----------
55
- Please report any bugs to the `najaeda` issue tracker at
56
- https://github.com/najaeda/naja/issues .
55
+
56
+ If you encounter any bugs, please report them on the `najaeda` issue tracker:
57
+ https://github.com/najaeda/naja/issues
58
+
59
+ You’re also welcome to join the discussion on Matrix:
60
+
61
+ .. image:: https://img.shields.io/badge/Matrix-Join%20Chat-success?logo=matrix
62
+ :target: https://matrix.to/#/#naja:fossi-chat.org
63
+ :alt: Join the Matrix chat
57
64
 
58
65
  License
59
66
  -------
najaeda/libnaja_dnl.dylib CHANGED
Binary file
najaeda/libnaja_nl.dylib CHANGED
Binary file
najaeda/libnaja_opt.dylib CHANGED
Binary file
Binary file
najaeda/naja.so CHANGED
Binary file
najaeda/netlist.py CHANGED
@@ -562,10 +562,10 @@ class Term:
562
562
  :rtype: bool
563
563
  """
564
564
  for term in self.get_instance().get_bit_terms():
565
- clockRelatedInputs = term.get_instance().get_clock_related_inputs(term)
565
+ clockRelatedInputs = term.get_clock_related_inputs()
566
566
  if self in clockRelatedInputs:
567
567
  return True
568
- clockRelatedOutputs = term.get_instance().get_clock_related_outputs(term)
568
+ clockRelatedOutputs = term.get_clock_related_outputs()
569
569
  if self in clockRelatedOutputs:
570
570
  return True
571
571
  if (len(clockRelatedInputs) > 0 or len(clockRelatedOutputs) > 0) and (term == self):
@@ -635,6 +635,56 @@ class Term:
635
635
  elif snlterm.getDirection() == naja.SNLTerm.Direction.InOut:
636
636
  return Term.Direction.INOUT
637
637
 
638
+ def get_combinatorial_inputs(self):
639
+ """Get all combinatorial input terms of this instance.
640
+
641
+ :return: a list of combinatorial input terms.
642
+ :rtype: List[Term]
643
+ """
644
+ terms = self.__get_snl_model().getCombinatorialInputs(
645
+ get_snl_term_for_ids(self.pathIDs, self.termIDs))
646
+ # Convert SNL terms to Term objects
647
+ return [Term(self.pathIDs, term) for term in terms]
648
+
649
+ def get_combinatorial_outputs(self):
650
+ """Get all combinatorial output terms of this instance.
651
+
652
+ :return: a list of combinatorial output terms.
653
+ :rtype: List[Term]
654
+ """
655
+ terms = self.__get_snl_model().getCombinatorialOutputs(
656
+ get_snl_term_for_ids(self.pathIDs, self.termIDs))
657
+ # Convert SNL terms to Term objects
658
+ return [Term(self.pathIDs, term) for term in terms]
659
+
660
+ def get_clock_related_inputs(self):
661
+ """Get all input terms that are related to the given clock term.
662
+
663
+ :param clock_term: the clock term to check for related inputs.
664
+ :return: a list of input terms that are related to the clock term.
665
+ :rtype: List[Term]
666
+ """
667
+ terms = self.__get_snl_model().getClockRelatedInputs(
668
+ get_snl_term_for_ids(self.pathIDs, self.termIDs))
669
+ # Convert SNL terms to Term objects
670
+ return [Term(self.pathIDs, term) for term in terms]
671
+
672
+ def get_clock_related_outputs(self):
673
+ """Get all output terms that are related to the given clock term.
674
+
675
+ :param clock_term: the clock term to check for related outputs.
676
+ :return: a list of output terms that are related to the clock term.
677
+ :rtype: List[Term]
678
+ """
679
+ terms = self.__get_snl_model().getClockRelatedOutputs(
680
+ get_snl_term_for_ids(self.pathIDs, self.termIDs))
681
+ # Convert SNL terms to Term objects
682
+ return [Term(self.pathIDs, term) for term in terms]
683
+
684
+ def __get_snl_model(self):
685
+ snlterm = get_snl_term_for_ids(self.pathIDs, self.termIDs)
686
+ return snlterm.getDesign()
687
+
638
688
  def __get_snl_bitnet(self, bit) -> Net:
639
689
  # single bit
640
690
  path = get_snl_path_from_id_list(self.pathIDs)
@@ -1572,18 +1622,6 @@ class Instance:
1572
1622
  get_snl_term_for_ids(clock_term.pathIDs,
1573
1623
  clock_term.termIDs))
1574
1624
 
1575
- def get_clock_related_inputs(self, clock_term: Term) -> List[Term]:
1576
- """Get all input terms that are related to the given clock term.
1577
-
1578
- :param clock_term: the clock term to check for related inputs.
1579
- :return: a list of input terms that are related to the clock term.
1580
- :rtype: List[Term]
1581
- """
1582
- terms = self.__get_snl_model().getClockRelatedInputs(
1583
- get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs))
1584
- # Convert SNL terms to Term objects
1585
- return [Term(clock_term.pathIDs, term) for term in terms]
1586
-
1587
1625
  def add_clock_related_outputs(self, clock_term: Term, output_terms: List[Term]):
1588
1626
  """Add output terms that are related to the given clock term.
1589
1627
 
@@ -1596,18 +1634,6 @@ class Instance:
1596
1634
  self.__get_snl_model().addClockToOutputsArcs(
1597
1635
  get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs), snlterms)
1598
1636
 
1599
- def get_clock_related_outputs(self, clock_term: Term) -> List[Term]:
1600
- """Get all output terms that are related to the given clock term.
1601
-
1602
- :param clock_term: the clock term to check for related outputs.
1603
- :return: a list of output terms that are related to the clock term.
1604
- :rtype: List[Term]
1605
- """
1606
- terms = self.__get_snl_model().getClockRelatedOutputs(
1607
- get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs))
1608
- # Convert SNL terms to Term objects
1609
- return [Term(clock_term.pathIDs, term) for term in terms]
1610
-
1611
1637
  def add_combinatorial_arcs(self, input_terms: List[Term], output_terms: List[Term]):
1612
1638
  """Add input terms that are combinatorial inputs for the given output term.
1613
1639
 
@@ -1619,28 +1645,6 @@ class Instance:
1619
1645
  [get_snl_term_for_ids(term.pathIDs, term.termIDs) for term in input_terms],
1620
1646
  [get_snl_term_for_ids(term.pathIDs, term.termIDs) for term in output_terms])
1621
1647
 
1622
- def get_combinatorial_inputs(self, output_term: Term) -> List[Term]:
1623
- """Get all combinatorial input terms of this instance.
1624
-
1625
- :return: a list of combinatorial input terms.
1626
- :rtype: List[Term]
1627
- """
1628
- terms = self.__get_snl_model().getCombinatorialInputs(
1629
- get_snl_term_for_ids(output_term.pathIDs, output_term.termIDs))
1630
- # Convert SNL terms to Term objects
1631
- return [Term(self.pathIDs, term) for term in terms]
1632
-
1633
- def get_combinatorial_outputs(self, input_term: Term) -> List[Term]:
1634
- """Get all combinatorial output terms of this instance.
1635
-
1636
- :return: a list of combinatorial output terms.
1637
- :rtype: List[Term]
1638
- """
1639
- terms = self.__get_snl_model().getCombinatorialOutputs(
1640
- get_snl_term_for_ids(input_term.pathIDs, input_term.termIDs))
1641
- # Convert SNL terms to Term objects
1642
- return [Term(self.pathIDs, term) for term in terms]
1643
-
1644
1648
 
1645
1649
  def __get_top_db() -> naja.NLDB:
1646
1650
  if naja.NLUniverse.get() is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: najaeda
3
- Version: 0.2.5
3
+ Version: 0.2.6
4
4
  Summary: Naja EDA Python package
5
5
  Author-Email: Naja Authors <contact@keplertech.io>
6
6
  License: Apache License 2.0
@@ -1,28 +1,23 @@
1
- najaeda-0.2.5.dist-info/RECORD,,
2
- najaeda-0.2.5.dist-info/WHEEL,sha256=K65AJzICMUVN6ED5A5fm1lV1nZZqwk4MGF2oXTxJaVw,115
3
- najaeda-0.2.5.dist-info/METADATA,sha256=eiDQdwCVkgO-2dtr2b5a_8g5upb0uPXfpUICWWL4Apc,3435
4
- najaeda-0.2.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
- najaeda-0.2.5.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
6
- najaeda/netlist.py,sha256=ZCFc5z7auEGAn2YURizMHnK0Twljug6vefuBCdxGopw,64298
7
- najaeda/libnaja_nl.dylib,sha256=v773WRb6Pl9gpAtRNB8Z6YO0L0L1N121JPXRm9CjucI,757456
1
+ najaeda/netlist.py,sha256=V-hoHtyjXVblXzKOObNV0Jz-_MIqbirZY-zV2YnZwjw,64203
2
+ najaeda/libnaja_nl.dylib,sha256=3Ubjj002DjDDe-jmmHAdvK4e1eBfZTDhbyDyB8JWmsw,757408
8
3
  najaeda/pandas_stats.py,sha256=yOb4ka965U7rN4D6AwvSGmRyeT_O7Ed-5cmT8BFbfeo,1070
9
4
  najaeda/_version.py,sha256=c-4hT20dyE-3BcdzOqR0vd92E7ydR5u2c-VmCc6oU8A,332
10
5
  najaeda/__init__.py,sha256=6QrOzlqTfd558FH9Zm6ve54IzkHaDJ8ZO8hTCaEwsL8,218
11
- najaeda/naja.so,sha256=uozldyphs1xe3la3lzWo2MwONzFS0oja_RQQ1iFGleo,99440
6
+ najaeda/naja.so,sha256=AbBwAhOJJ3eOtJVcsFCfzUdcgMmcuS8jw9eTGQ3cw8c,99440
12
7
  najaeda/net_visitor.py,sha256=P_esjibYb-wBDuF-AyF7es9sJYw1Ha8RhTPu-qKe7G4,1940
13
- najaeda/libnaja_opt.dylib,sha256=wIG2H5rnxbqGrwLSgklJjZ5wjOkx2Shhu2RsnYQwmuE,212720
14
- najaeda/libnaja_python.dylib,sha256=hLME_4Apxgieg0T_7COVn13YH8VoFV3wMJnHqFtpi-U,961952
8
+ najaeda/libnaja_opt.dylib,sha256=vW8P49UplpYdjSxqU3TeaV2s9ck75Spq5ZcrN3ET0f4,212720
9
+ najaeda/libnaja_python.dylib,sha256=zXq_twhyMN4sI_lWfXUeFIwEGNkuuBAFpKeFi729WU4,961920
15
10
  najaeda/stats.py,sha256=g1F1CEBNVvGgzINOI7sK83123cCbclLDmyUjuep3-EU,16107
16
11
  najaeda/instance_visitor.py,sha256=JMsPSQaWNiDjxS05rxg83a0PIsrOIuTi9G35hkwdibs,1530
17
12
  najaeda/libnaja_bne.dylib,sha256=pLbGUnDr5PSGXbA8wKD-pqEyQIWHbiCb1icPpxRYrWE,136416
18
13
  najaeda/libnaja_metrics.dylib,sha256=Nj1HCvjZR1q4PiWnwKiRHIJ0XFdhsX8XwSLNxXGrl0A,106864
19
- najaeda/libnaja_dnl.dylib,sha256=tZdFzYkdrk3-MDGPPJoxwLmNjBH2_UhTCEOzueR43hE,148000
14
+ najaeda/libnaja_dnl.dylib,sha256=QJ6_p0xWdPZn0T1MmPQ74j3FRXkQliM_7E8KQiotRzg,148000
20
15
  najaeda/native/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
16
  najaeda/native/stats.py,sha256=t50hhE9pEFNtlssjES0A-K9TsO_2ZSUAb-e9L3Rt6yc,13063
22
17
  najaeda/docs/requirements.txt,sha256=1XIBGTIplm2arC9HhDCfLuAjozGdVSXkqmOj8ybuT6U,121
23
18
  najaeda/docs/.readthedocs.yaml,sha256=nN_Psro-YdfPcIiueZkJcZepts68g23rqVThhKnmVRw,790
24
19
  najaeda/docs/source/index.rst,sha256=80VMfeEGHObnOUXRBxIzISQsG_HNkgT-pUpsDZsCfOY,387
25
- najaeda/docs/source/instance.rst,sha256=4JDl4_YaTbYxJrgSCe-3vV-EkKGGKOIejXMLfbJR1jk,957
20
+ najaeda/docs/source/instance.rst,sha256=-a7QjaR6URnpMPw2L6vUJ7IOqKLAtWd78LI0Br52iKM,1010
26
21
  najaeda/docs/source/conf.py,sha256=XqCFo29gZCbaoPe1xEan9ZonYyQW5NZnWHGEWrB7p8Q,2021
27
22
  najaeda/docs/source/preprocessor.py,sha256=TK4LsTdNbv2dxkKQaJ7cEyo9PU5v_56vlrFCJYIPKf8,2625
28
23
  najaeda/docs/source/term.rst,sha256=QKWT6u1xjEjusvcZYknKQ-M83ibohO5y1EYTQnnXqak,690
@@ -32,7 +27,7 @@ najaeda/docs/source/examples.rst.in,sha256=4ZStOA3N5VHbKZgdn2kaEQZL7wPoJwODS2E1B
32
27
  najaeda/docs/source/common_classes.rst,sha256=o20u3mcpFYINwy0sVdye90ZPMQcPqoH3V4ERKcG7SZI,181
33
28
  najaeda/docs/source/equipotential.rst,sha256=0MDi-4fPEsX7K_ezWj5DB3mCalnhqN-sicYbQKYQfNc,335
34
29
  najaeda/docs/source/netlist_classes.rst,sha256=Zrha9MQVEdEwxmP2zhgC0K3iioZXXerzeFoOz5SrOXM,132
35
- najaeda/docs/source/introduction.rst,sha256=nvxL5OQ-SeVWuTF6CY93iPt7S5ReXvqk5D9bW36CUUs,2416
30
+ najaeda/docs/source/introduction.rst,sha256=zrXsg7tItEqVhcTEHF9I19d97cTLynw6q0mx7XUNynE,2656
36
31
  najaeda/docs/source/api.rst,sha256=47VCPyF4Py_1cklZ3q9fmOMhqqI17rxwU_VUJETfCwY,151
37
32
  najaeda/.dylibs/libcapnp-1.1.0.dylib,sha256=l9SvRdxPrCI2mB_UitO7QjsaC7I5mq2R3rZjoIQKEYI,709328
38
33
  najaeda/.dylibs/libtbbmalloc.2.15.dylib,sha256=ORLa9YDlOcMwtcYPZoVnNTTbBpL4lHwYcfA3YCJm_xA,126688
@@ -41,3 +36,8 @@ najaeda/.dylibs/libkj-1.1.0.dylib,sha256=pB7dMks8b8ybJ6xKWqFR_hHjKsmpf7wzbcunZaS
41
36
  najaeda/primitives/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
37
  najaeda/primitives/yosys.py,sha256=g1L70AUJoPCkd9B-b9aW4Pzc1AeR9KyIHoXvneW_UEU,8584
43
38
  najaeda/primitives/xilinx.py,sha256=Ka-jlu-OxixEZ_yR_niXLHtaUL8HxT1Bg9H9Kpnr4ns,26551
39
+ najaeda-0.2.6.dist-info/RECORD,,
40
+ najaeda-0.2.6.dist-info/WHEEL,sha256=K65AJzICMUVN6ED5A5fm1lV1nZZqwk4MGF2oXTxJaVw,115
41
+ najaeda-0.2.6.dist-info/METADATA,sha256=gF5bC4WqE1s8qne54K68ObdRuxLHpYCYmmCy9hAWB7o,3435
42
+ najaeda-0.2.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
43
+ najaeda-0.2.6.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377