najaeda 0.2.5__cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.2.7__cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.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.so CHANGED
Binary file
najaeda/libnaja_nl.so CHANGED
Binary file
najaeda/libnaja_opt.so CHANGED
Binary file
najaeda/libnaja_python.so CHANGED
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)
@@ -1155,6 +1205,13 @@ class Instance:
1155
1205
  """
1156
1206
  return self.__get_snl_model().isSequential()
1157
1207
 
1208
+ def has_modeling(self) -> bool:
1209
+ """
1210
+ :return: True if this instance has timing modeling.
1211
+ :rtype: bool
1212
+ """
1213
+ return self.__get_snl_model().hasModeling()
1214
+
1158
1215
  def get_terms(self):
1159
1216
  """Iterate over all scalar terms and bus terms of this Instance.
1160
1217
 
@@ -1572,18 +1629,6 @@ class Instance:
1572
1629
  get_snl_term_for_ids(clock_term.pathIDs,
1573
1630
  clock_term.termIDs))
1574
1631
 
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
1632
  def add_clock_related_outputs(self, clock_term: Term, output_terms: List[Term]):
1588
1633
  """Add output terms that are related to the given clock term.
1589
1634
 
@@ -1596,18 +1641,6 @@ class Instance:
1596
1641
  self.__get_snl_model().addClockToOutputsArcs(
1597
1642
  get_snl_term_for_ids(clock_term.pathIDs, clock_term.termIDs), snlterms)
1598
1643
 
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
1644
  def add_combinatorial_arcs(self, input_terms: List[Term], output_terms: List[Term]):
1612
1645
  """Add input terms that are combinatorial inputs for the given output term.
1613
1646
 
@@ -1619,28 +1652,6 @@ class Instance:
1619
1652
  [get_snl_term_for_ids(term.pathIDs, term.termIDs) for term in input_terms],
1620
1653
  [get_snl_term_for_ids(term.pathIDs, term.termIDs) for term in output_terms])
1621
1654
 
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
1655
 
1645
1656
  def __get_top_db() -> naja.NLDB:
1646
1657
  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.7
4
4
  Summary: Naja EDA Python package
5
5
  Author-Email: Naja Authors <contact@keplertech.io>
6
6
  License: Apache License 2.0
@@ -1,16 +1,21 @@
1
- najaeda/libnaja_python.so,sha256=e9riobz03L3EgceKzVhoO6yAh4I-fPvKACJoIaxQHu0,1953969
1
+ najaeda-0.2.7.dist-info/WHEEL,sha256=A3mvWTV2IcEc7qLoVrqpNTZ0QD1zGDiFoYw9zZpB5kA,158
2
+ najaeda-0.2.7.dist-info/METADATA,sha256=rAA2O_XuESczRfT7yOrLCNvorgPp7CwtHwEmK7T06c4,3435
3
+ najaeda-0.2.7.dist-info/RECORD,,
4
+ najaeda-0.2.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
+ najaeda-0.2.7.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
6
+ najaeda/libnaja_python.so,sha256=yBZTgdrJgpfcOtQJmA6liLcFT2iUXxw1gw9Ru11CnpU,1954041
2
7
  najaeda/_version.py,sha256=c-4hT20dyE-3BcdzOqR0vd92E7ydR5u2c-VmCc6oU8A,332
3
- najaeda/libnaja_nl.so,sha256=YETeQWTGyXAJc_wfixap2mrHiySUzBkEvYL_GNA5sFQ,1646896
4
- najaeda/naja.so,sha256=vHj5W2yZ-_AUN-45WY6XKvjOQ0eGyrLHnpbXLJ88L6g,206561
8
+ najaeda/libnaja_nl.so,sha256=KW1x82ypRpSoY0I8nsjrNmk2nVljw3FILn4tb170_iw,1646952
9
+ najaeda/naja.so,sha256=hS5eXVWd5VMcuEA4lqxVhh1o0Ehi9-Dn1T67jDlfrEQ,206561
5
10
  najaeda/pandas_stats.py,sha256=yOb4ka965U7rN4D6AwvSGmRyeT_O7Ed-5cmT8BFbfeo,1070
6
11
  najaeda/stats.py,sha256=g1F1CEBNVvGgzINOI7sK83123cCbclLDmyUjuep3-EU,16107
7
12
  najaeda/libnaja_metrics.so,sha256=weTjkcgBVv_aY8Mdr2zPSJv2NtQoMgQYXJKAYrgEsRA,206361
8
13
  najaeda/libnaja_bne.so,sha256=ejZf2Zl2AXQagN41HIj8x-3oeoyEffcPTPR0YeY40ng,272577
9
14
  najaeda/__init__.py,sha256=6QrOzlqTfd558FH9Zm6ve54IzkHaDJ8ZO8hTCaEwsL8,218
10
- najaeda/libnaja_opt.so,sha256=t71JSk0NSGXY48FRSOL-j_O98iwLF1s-ppe8z8h2lZg,348713
11
- najaeda/netlist.py,sha256=ZCFc5z7auEGAn2YURizMHnK0Twljug6vefuBCdxGopw,64298
15
+ najaeda/libnaja_opt.so,sha256=oFT5aS0zO_0UJMBCqEtOnVJeQgDytasPBBtfrGsBZbA,348713
16
+ najaeda/netlist.py,sha256=e0sT0AB2f3rGjlmE2seVk4enTPMFpEf_q3RyHwrnDWc,64397
12
17
  najaeda/net_visitor.py,sha256=P_esjibYb-wBDuF-AyF7es9sJYw1Ha8RhTPu-qKe7G4,1940
13
- najaeda/libnaja_dnl.so,sha256=xr8Wn-ADZdJ8Hpe_T7lVKIPTBg7hEXvuDgD_7o8yjdA,276937
18
+ najaeda/libnaja_dnl.so,sha256=ErtKaZ2RWYxG_lqmzQXCFakI8yRItTXQEFSvDlaSCQc,276937
14
19
  najaeda/instance_visitor.py,sha256=JMsPSQaWNiDjxS05rxg83a0PIsrOIuTi9G35hkwdibs,1530
15
20
  najaeda/native/stats.py,sha256=t50hhE9pEFNtlssjES0A-K9TsO_2ZSUAb-e9L3Rt6yc,13063
16
21
  najaeda/native/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -23,20 +28,15 @@ najaeda/docs/source/netlist_classes.rst,sha256=Zrha9MQVEdEwxmP2zhgC0K3iioZXXerze
23
28
  najaeda/docs/source/examples.rst.in,sha256=4ZStOA3N5VHbKZgdn2kaEQZL7wPoJwODS2E1BO54uFY,2091
24
29
  najaeda/docs/source/equipotential.rst,sha256=0MDi-4fPEsX7K_ezWj5DB3mCalnhqN-sicYbQKYQfNc,335
25
30
  najaeda/docs/source/preprocessor.py,sha256=TK4LsTdNbv2dxkKQaJ7cEyo9PU5v_56vlrFCJYIPKf8,2625
26
- najaeda/docs/source/introduction.rst,sha256=nvxL5OQ-SeVWuTF6CY93iPt7S5ReXvqk5D9bW36CUUs,2416
31
+ najaeda/docs/source/introduction.rst,sha256=zrXsg7tItEqVhcTEHF9I19d97cTLynw6q0mx7XUNynE,2656
27
32
  najaeda/docs/source/common_classes.rst,sha256=o20u3mcpFYINwy0sVdye90ZPMQcPqoH3V4ERKcG7SZI,181
28
33
  najaeda/docs/source/net.rst,sha256=i6YEir8ZOldSY8-UmPxgVJ4Ot3y-Q6seRkBr2H-KmXc,732
29
34
  najaeda/docs/source/index.rst,sha256=80VMfeEGHObnOUXRBxIzISQsG_HNkgT-pUpsDZsCfOY,387
30
35
  najaeda/docs/source/visitors.rst,sha256=KScCr7BytrhFxWfZPyYWIrr3CEJuk5Tx-LjEuDnnBaA,227
31
36
  najaeda/docs/source/api.rst,sha256=47VCPyF4Py_1cklZ3q9fmOMhqqI17rxwU_VUJETfCwY,151
32
37
  najaeda/docs/source/term.rst,sha256=QKWT6u1xjEjusvcZYknKQ-M83ibohO5y1EYTQnnXqak,690
33
- najaeda/docs/source/instance.rst,sha256=4JDl4_YaTbYxJrgSCe-3vV-EkKGGKOIejXMLfbJR1jk,957
38
+ najaeda/docs/source/instance.rst,sha256=-a7QjaR6URnpMPw2L6vUJ7IOqKLAtWd78LI0Br52iKM,1010
34
39
  najaeda/docs/source/conf.py,sha256=XqCFo29gZCbaoPe1xEan9ZonYyQW5NZnWHGEWrB7p8Q,2021
35
- najaeda-0.2.5.dist-info/WHEEL,sha256=A3mvWTV2IcEc7qLoVrqpNTZ0QD1zGDiFoYw9zZpB5kA,158
36
- najaeda-0.2.5.dist-info/METADATA,sha256=eiDQdwCVkgO-2dtr2b5a_8g5upb0uPXfpUICWWL4Apc,3435
37
- najaeda-0.2.5.dist-info/RECORD,,
38
- najaeda-0.2.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
39
- najaeda-0.2.5.dist-info/licenses/AUTHORS,sha256=7NYEGDAX_1QZvCCHfq8YVXC5ZbwH_pbNI8DcSmm70GU,377
40
40
  najaeda.libs/libtbbmalloc-8bd2c113.so.2.15,sha256=t7EmHeYI7vtRrpUMImjQuzDv3a1gs8-lcUxotcVs3mA,198281
41
41
  najaeda.libs/libcapnp-1-d562dcbf.1.0.so,sha256=oATbFuRyIBdV6dWAaarYlY3DDt3Wvyp1nC5FvgRIyzw,1152985
42
42
  najaeda.libs/libtbb-58378cc2.so.12.15,sha256=yxzhDOGKoZHEHYUULdSu-uH9-Hr1Wh8JygBizKBxc_U,404105