emx-onnx-cgen 0.3.0__py3-none-any.whl → 0.3.1__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 emx-onnx-cgen might be problematic. Click here for more details.

Files changed (94) hide show
  1. emx_onnx_cgen/_build_info.py +1 -1
  2. emx_onnx_cgen/_version.py +2 -2
  3. emx_onnx_cgen/cli.py +50 -23
  4. emx_onnx_cgen/codegen/__init__.py +2 -0
  5. emx_onnx_cgen/codegen/c_emitter.py +1844 -1568
  6. emx_onnx_cgen/codegen/emitter.py +5 -0
  7. emx_onnx_cgen/compiler.py +30 -387
  8. emx_onnx_cgen/ir/context.py +87 -0
  9. emx_onnx_cgen/ir/op_base.py +193 -0
  10. emx_onnx_cgen/ir/op_context.py +65 -0
  11. emx_onnx_cgen/ir/ops/__init__.py +130 -0
  12. emx_onnx_cgen/ir/ops/elementwise.py +146 -0
  13. emx_onnx_cgen/ir/ops/misc.py +421 -0
  14. emx_onnx_cgen/ir/ops/nn.py +580 -0
  15. emx_onnx_cgen/ir/ops/reduce.py +95 -0
  16. emx_onnx_cgen/lowering/__init__.py +79 -1
  17. emx_onnx_cgen/lowering/adagrad.py +114 -0
  18. emx_onnx_cgen/lowering/arg_reduce.py +1 -1
  19. emx_onnx_cgen/lowering/attention.py +1 -1
  20. emx_onnx_cgen/lowering/average_pool.py +1 -1
  21. emx_onnx_cgen/lowering/batch_normalization.py +1 -1
  22. emx_onnx_cgen/lowering/cast.py +1 -1
  23. emx_onnx_cgen/lowering/common.py +36 -18
  24. emx_onnx_cgen/lowering/concat.py +1 -1
  25. emx_onnx_cgen/lowering/constant_of_shape.py +1 -1
  26. emx_onnx_cgen/lowering/conv.py +1 -1
  27. emx_onnx_cgen/lowering/conv_transpose.py +1 -1
  28. emx_onnx_cgen/lowering/cumsum.py +1 -1
  29. emx_onnx_cgen/lowering/depth_space.py +1 -1
  30. emx_onnx_cgen/lowering/dropout.py +1 -1
  31. emx_onnx_cgen/lowering/einsum.py +1 -1
  32. emx_onnx_cgen/lowering/elementwise.py +152 -4
  33. emx_onnx_cgen/lowering/expand.py +1 -1
  34. emx_onnx_cgen/lowering/eye_like.py +1 -1
  35. emx_onnx_cgen/lowering/flatten.py +1 -1
  36. emx_onnx_cgen/lowering/gather.py +1 -1
  37. emx_onnx_cgen/lowering/gather_elements.py +1 -1
  38. emx_onnx_cgen/lowering/gather_nd.py +1 -1
  39. emx_onnx_cgen/lowering/gemm.py +1 -1
  40. emx_onnx_cgen/lowering/global_max_pool.py +1 -1
  41. emx_onnx_cgen/lowering/grid_sample.py +1 -1
  42. emx_onnx_cgen/lowering/group_normalization.py +1 -1
  43. emx_onnx_cgen/lowering/hardmax.py +1 -1
  44. emx_onnx_cgen/lowering/identity.py +1 -1
  45. emx_onnx_cgen/lowering/instance_normalization.py +1 -1
  46. emx_onnx_cgen/lowering/layer_normalization.py +1 -1
  47. emx_onnx_cgen/lowering/logsoftmax.py +1 -1
  48. emx_onnx_cgen/lowering/lp_normalization.py +1 -1
  49. emx_onnx_cgen/lowering/lp_pool.py +1 -1
  50. emx_onnx_cgen/lowering/lrn.py +1 -1
  51. emx_onnx_cgen/lowering/lstm.py +1 -1
  52. emx_onnx_cgen/lowering/matmul.py +1 -1
  53. emx_onnx_cgen/lowering/maxpool.py +1 -1
  54. emx_onnx_cgen/lowering/mean_variance_normalization.py +1 -1
  55. emx_onnx_cgen/lowering/negative_log_likelihood_loss.py +1 -1
  56. emx_onnx_cgen/lowering/non_max_suppression.py +157 -0
  57. emx_onnx_cgen/lowering/nonzero.py +1 -1
  58. emx_onnx_cgen/lowering/one_hot.py +1 -1
  59. emx_onnx_cgen/lowering/pad.py +1 -1
  60. emx_onnx_cgen/lowering/qlinear_matmul.py +212 -0
  61. emx_onnx_cgen/lowering/quantize_linear.py +1 -1
  62. emx_onnx_cgen/lowering/range.py +1 -1
  63. emx_onnx_cgen/lowering/reduce.py +1 -1
  64. emx_onnx_cgen/lowering/registry.py +24 -5
  65. emx_onnx_cgen/lowering/reshape.py +1 -1
  66. emx_onnx_cgen/lowering/resize.py +1 -1
  67. emx_onnx_cgen/lowering/rms_normalization.py +1 -1
  68. emx_onnx_cgen/lowering/rotary_embedding.py +165 -0
  69. emx_onnx_cgen/lowering/scatter_nd.py +1 -1
  70. emx_onnx_cgen/lowering/shape.py +6 -25
  71. emx_onnx_cgen/lowering/size.py +1 -1
  72. emx_onnx_cgen/lowering/slice.py +1 -1
  73. emx_onnx_cgen/lowering/softmax.py +1 -1
  74. emx_onnx_cgen/lowering/softmax_cross_entropy_loss.py +1 -1
  75. emx_onnx_cgen/lowering/split.py +1 -1
  76. emx_onnx_cgen/lowering/squeeze.py +1 -1
  77. emx_onnx_cgen/lowering/tensor_scatter.py +110 -0
  78. emx_onnx_cgen/lowering/tile.py +1 -1
  79. emx_onnx_cgen/lowering/topk.py +25 -7
  80. emx_onnx_cgen/lowering/transpose.py +1 -1
  81. emx_onnx_cgen/lowering/trilu.py +1 -1
  82. emx_onnx_cgen/lowering/unsqueeze.py +1 -1
  83. emx_onnx_cgen/lowering/variadic.py +1 -1
  84. emx_onnx_cgen/lowering/where.py +1 -1
  85. emx_onnx_cgen/runtime/evaluator.py +325 -1
  86. emx_onnx_cgen/verification.py +9 -39
  87. {emx_onnx_cgen-0.3.0.dist-info → emx_onnx_cgen-0.3.1.dist-info}/METADATA +8 -7
  88. emx_onnx_cgen-0.3.1.dist-info/RECORD +107 -0
  89. {emx_onnx_cgen-0.3.0.dist-info → emx_onnx_cgen-0.3.1.dist-info}/WHEEL +1 -1
  90. shared/scalar_functions.py +11 -0
  91. shared/ulp.py +17 -0
  92. emx_onnx_cgen-0.3.0.dist-info/RECORD +0 -93
  93. {emx_onnx_cgen-0.3.0.dist-info → emx_onnx_cgen-0.3.1.dist-info}/entry_points.txt +0 -0
  94. {emx_onnx_cgen-0.3.0.dist-info → emx_onnx_cgen-0.3.1.dist-info}/top_level.txt +0 -0
shared/ulp.py CHANGED
@@ -36,6 +36,12 @@ def ulp_intdiff_float(f1: object, f2: object) -> int:
36
36
 
37
37
  f1_scalar = _coerce_float_scalar(f1, dtype)
38
38
  f2_scalar = _coerce_float_scalar(f2, dtype)
39
+ f1_nan = bool(np.isnan(f1_scalar))
40
+ f2_nan = bool(np.isnan(f2_scalar))
41
+ if f1_nan and f2_nan:
42
+ return 0
43
+ if f1_nan or f2_nan:
44
+ return max_ulp_value(dtype)
39
45
 
40
46
  if np.signbit(f1_scalar) != np.signbit(f2_scalar):
41
47
  zero = _coerce_float_scalar(0.0, dtype)
@@ -46,3 +52,14 @@ def ulp_intdiff_float(f1: object, f2: object) -> int:
46
52
  )
47
53
 
48
54
  return _ulp_intdiff_same_sign(f1_scalar, f2_scalar, uint_dtype)
55
+
56
+
57
+ def max_ulp_value(dtype: np.dtype) -> int:
58
+ dtype = np.dtype(dtype)
59
+ try:
60
+ uint_dtype = _FLOAT_TO_UINT[dtype]
61
+ except KeyError as exc:
62
+ raise ScalarFunctionError(
63
+ f"unsupported dtype for ULP diff: {dtype}"
64
+ ) from exc
65
+ return int(np.iinfo(uint_dtype).max)
@@ -1,93 +0,0 @@
1
- emx_onnx_cgen/__init__.py,sha256=jUSbu1kJ0krzVTYEcph3jCprBhD7tWNtiSdL6r29KrM,221
2
- emx_onnx_cgen/__main__.py,sha256=iC1lLVtR6-TmpL6OxXcy3oIntExUtajn9-q627R1XyI,140
3
- emx_onnx_cgen/_build_info.py,sha256=zS8xdzMihYIqmbd58Pfku76TrBsTlBdkLVrWqTCiUs4,112
4
- emx_onnx_cgen/_version.py,sha256=5zTqm8rgXsWYBpB2M3Zw_K1D-aV8wP7NsBLrmMKkrAQ,704
5
- emx_onnx_cgen/cli.py,sha256=hRF2xG6t2YUkkTYrAUVsOyz1lTAdjokE-1pxFffsG2c,20643
6
- emx_onnx_cgen/compiler.py,sha256=Q4a4_a1DkGmbrRJaRgpk0uyOqrJQExqDQD_BNw3AUcw,28585
7
- emx_onnx_cgen/dtypes.py,sha256=jRx3BBvk0qFW14bngoL1B7L_IRasyNJ4jqhpM5YhcOM,1335
8
- emx_onnx_cgen/errors.py,sha256=HpOv95mTgr9ZX2gYe1RtwVMbPskh7zkqjU_FgAD-uIM,363
9
- emx_onnx_cgen/onnx_import.py,sha256=IF7KZGfEP9H4H1fHYjobGbB_381fqD_67KtqZYs9AZ4,9168
10
- emx_onnx_cgen/onnxruntime_utils.py,sha256=mEsC1x00M1jyBgVBKqnKoqx6H1tdgsFFUy7rbITs3bs,308
11
- emx_onnx_cgen/ops.py,sha256=qpPOaqsYprlJrhCNLVBZ3XnREBRDdmkXbd1zaAkywOI,16732
12
- emx_onnx_cgen/testbench.py,sha256=-NbqD1aC7OXvFMLiLzd2IPObenQdHFH85cNxNSB1GeY,640
13
- emx_onnx_cgen/validation.py,sha256=KFdUdGjQbzTj1szCJcjxnTi8f5l6ywNgCB9abbBpTbM,2360
14
- emx_onnx_cgen/verification.py,sha256=eTnhl_9YObyvs0fqJAw8796TlRzp-IoFM4JuMkQ8XOc,2403
15
- emx_onnx_cgen/codegen/__init__.py,sha256=-_sxL87uyAIunaetjUvIUo2bc46ugVlaNtSsidegMRM,362
16
- emx_onnx_cgen/codegen/c_emitter.py,sha256=vYrRx3UQvve_s4ElLiuh25lsbEt7mDTCXjvr-kdkggM,422455
17
- emx_onnx_cgen/ir/__init__.py,sha256=fD2D8qxlGoCFJb0m9v6u3XTgzSxDOhB4cfLBiCLovzg,102
18
- emx_onnx_cgen/ir/model.py,sha256=SZ3K8t4dKUqWuXWe5ozApofXx4bdcf4p0WYCdeU-mFA,1265
19
- emx_onnx_cgen/lowering/__init__.py,sha256=wrxLMWcPUH1RbPJOs0Tsdb12FhXjAAeZVDYwKqcIuzw,103
20
- emx_onnx_cgen/lowering/arg_reduce.py,sha256=2AowDRCJRkIvrVBphbA0rM18oCWEpCDEV5Y4K9wSDII,3388
21
- emx_onnx_cgen/lowering/attention.py,sha256=19Jq_k0DXwH71a3pmLTWCNMttmw5uuiNK6Jhln5HC4A,16488
22
- emx_onnx_cgen/lowering/average_pool.py,sha256=9kg3pYHG7QLid_M2dbleC1VoNlVlGsKdOrsWp3pt7sc,8085
23
- emx_onnx_cgen/lowering/batch_normalization.py,sha256=_aFCm4QaC5jH-JNEvqDFYOyAMdzgUFS_3Gmo1vdPyKE,3987
24
- emx_onnx_cgen/lowering/cast.py,sha256=zKiE4wI7oWP_TjxBV4fY3-FXvZxK2zy58O6tWJ2dODQ,2852
25
- emx_onnx_cgen/lowering/common.py,sha256=OF5UTin4teEFSp-rbiUArYCJogZ636Rujhkgrm2vj_w,16083
26
- emx_onnx_cgen/lowering/concat.py,sha256=TefckPfuaIHVHxGExJiO9wlkjyRO1TGg-QAMeoW8hW0,1097
27
- emx_onnx_cgen/lowering/constant_of_shape.py,sha256=btQflQFMP_y22sK7RrhkbGdaeSSLPC_DWhLjxY7CAgk,3208
28
- emx_onnx_cgen/lowering/conv.py,sha256=I1_tssw_ySf4beKV0sCVe8DRhNxL58PqC0wxtWjD79s,7309
29
- emx_onnx_cgen/lowering/conv_transpose.py,sha256=vMbH7g3V9o68BjsW-FurNp1G8Dgr3NrV7JPLLfopHG0,11164
30
- emx_onnx_cgen/lowering/cumsum.py,sha256=eX0bDtwY-qevz0KXNHtJaDiKUUHIOhDX0uDiSxcC0ZU,4125
31
- emx_onnx_cgen/lowering/depth_space.py,sha256=M4md379jiumGWmg7EgR-CinoPzwof2RdfOiNqOzxd9o,4217
32
- emx_onnx_cgen/lowering/dropout.py,sha256=oBKPMN-J9Gnw8dRXvf-bN15L1-5W7-qKhR72Z6AgLXQ,1775
33
- emx_onnx_cgen/lowering/einsum.py,sha256=g0KEZNJb87SzH-TqDDcfNPTcAaRioq455eN6HHLZNNo,6128
34
- emx_onnx_cgen/lowering/elementwise.py,sha256=HN6vEW58lceYECp-7QWLCWOBo1ImyY66aZIg06nA5g8,6231
35
- emx_onnx_cgen/lowering/expand.py,sha256=4msnYM-6RnzMplQqde2ovOLsjmWQ4bnXEoUiEM6CT6k,5529
36
- emx_onnx_cgen/lowering/eye_like.py,sha256=76HEdT-EofDCCy7DewjIpILJdIJyJ-YVCbLXO54SX5E,1734
37
- emx_onnx_cgen/lowering/flatten.py,sha256=sGol05FDN0xoNgSl_DlVbjYvBHCHWjQC2KB15ytYfPs,2142
38
- emx_onnx_cgen/lowering/gather.py,sha256=9zMB9fcdJi1fkTmDs_-L6FvQi1fnhdk0h7RmeN5MP2M,1814
39
- emx_onnx_cgen/lowering/gather_elements.py,sha256=K-3w__F_I_gq3Kykk7LydTR5syH_Zpi-0-rdShLumbo,2329
40
- emx_onnx_cgen/lowering/gather_nd.py,sha256=_0IW93RMRa9VtXSu4KMpBBA18ovLBGTmH90Y-ANOk1M,3101
41
- emx_onnx_cgen/lowering/gemm.py,sha256=Ps2T4tZgXr5FObz5figwbLZq-Njzg44iBQ9cFmvH78k,4590
42
- emx_onnx_cgen/lowering/global_max_pool.py,sha256=xyoqQyRFpDKCXBO8bqp7JstVxVfbj9pMd06-848ix5o,2223
43
- emx_onnx_cgen/lowering/grid_sample.py,sha256=Ne-97ljxSdqfjBJtVHp2AQnEeXGQ5HE-HegCoxcNCm0,5228
44
- emx_onnx_cgen/lowering/group_normalization.py,sha256=RqXud5_xNxMu8DP5EsPr4L2b6CZghQWCcG6Bh1x2gMA,2664
45
- emx_onnx_cgen/lowering/hardmax.py,sha256=Lqnt9g48-Kpcklq_uJpA93FYdhTI8SjUu4Cnh9_BhYY,1961
46
- emx_onnx_cgen/lowering/identity.py,sha256=h8cy6T9n10IWEnOKgIGOca9sNVaw5vU1fdt_p8AAqq8,1859
47
- emx_onnx_cgen/lowering/instance_normalization.py,sha256=1Yx2KPKq_BHberCBTrGQXQswAS0FfDle9NpyeD41ypU,1950
48
- emx_onnx_cgen/lowering/layer_normalization.py,sha256=ZvqGZOhuoYh8ZPyzb-PV0kIc2bbunWTYj12wmrGu9YY,4529
49
- emx_onnx_cgen/lowering/logsoftmax.py,sha256=gdPYJdRNjwRDRXozzKOkKHV7HeOw48Zl4guiAN5pgKs,1895
50
- emx_onnx_cgen/lowering/lp_normalization.py,sha256=61CGS-2yN0bf5dby5b7Ug1PH3CStZN1xZmYWa5TysTI,1712
51
- emx_onnx_cgen/lowering/lp_pool.py,sha256=96M-CeIqOkPstVr2BEoASImG6-Z4_S7ngB8bmPQlo7M,4873
52
- emx_onnx_cgen/lowering/lrn.py,sha256=zGw1Jk7iBk1jHdjdDqfAREsV5VcSdOG3LcAmEllIB08,3370
53
- emx_onnx_cgen/lowering/lstm.py,sha256=JhGxiF3bTSY3flkw_u9mil2esRxvIjr5Tc4vSPULDr4,12305
54
- emx_onnx_cgen/lowering/matmul.py,sha256=QJ2DfMk6g5hNNpfUUfHH732cfSLL0LFzZxw-4GOuRYQ,4259
55
- emx_onnx_cgen/lowering/maxpool.py,sha256=MRLeoCEdIwO8JNWOi7iKoeIsJvukqpx_w6GCHaDaYHU,7494
56
- emx_onnx_cgen/lowering/mean_variance_normalization.py,sha256=L_6ECH9wPEnNX2mL6yroZRexZM8JV5ZnJvoPQS6IAuc,1875
57
- emx_onnx_cgen/lowering/negative_log_likelihood_loss.py,sha256=nqNETCqZP9MZhBU_Wcgaxu1w0uNKHa6VR5KTw--CWP0,9344
58
- emx_onnx_cgen/lowering/nonzero.py,sha256=d_81vdF2BkYi_Z7jbypQ3qwSe-ctNoSxaJRYO8qDMjc,1637
59
- emx_onnx_cgen/lowering/one_hot.py,sha256=twxMlNosGfm3iAeGv5LDGPliMCJ36o7Dxusn4gVJE00,4352
60
- emx_onnx_cgen/lowering/pad.py,sha256=cNlh-rA3CRPfO-u8gvJ1MeF1j-vdBMXLuJBpp2DkFTc,10416
61
- emx_onnx_cgen/lowering/quantize_linear.py,sha256=3IvZTQbWAYh61nVNAbd-CeHTpYaULUSEjSdnu-nIOI8,4771
62
- emx_onnx_cgen/lowering/range.py,sha256=xLbG3SGvQiboPqSIh5qZyw3Krbxjk0nd3YvRlUI_q64,3463
63
- emx_onnx_cgen/lowering/reduce.py,sha256=xetOc7mfZgKsD57O00K8NKmb0sEcHbMTpdDlqi4U6b4,18413
64
- emx_onnx_cgen/lowering/registry.py,sha256=rKyWnLDBFHJbHw-iyOtXv2Qc5LEBCwgopUXewvQpEpg,1392
65
- emx_onnx_cgen/lowering/reshape.py,sha256=dXZx3tTklPHSHAi-ZroiS6niCmHfHb7yGioJUYUDkLY,13452
66
- emx_onnx_cgen/lowering/resize.py,sha256=J_x53hVHlfJemLwEhq5n_11Pe1TlF9nRMEpkw6IpzN8,14644
67
- emx_onnx_cgen/lowering/rms_normalization.py,sha256=_H56Pf9T80FYbmy1m3oc7_D5TbNxRrVeJScD5VmLZRo,2536
68
- emx_onnx_cgen/lowering/scatter_nd.py,sha256=q7rBQ0AdPrwsHnsN5qpCTcnwCWyKzSaG86wpAhNiDzE,3221
69
- emx_onnx_cgen/lowering/shape.py,sha256=Vvd2zQB06wZcEe4mW5WBRrQuVF8f_tXSM9fpGxe9PEo,2913
70
- emx_onnx_cgen/lowering/size.py,sha256=Z_DTevdpx2W_3k0GoyQ2uWE3ms_PN1d_Ti7hh6HhB1Q,1261
71
- emx_onnx_cgen/lowering/slice.py,sha256=yHm_mXeHcLufDmVNvj_kv08zMdbvI39ViHcE-tVPKa0,14816
72
- emx_onnx_cgen/lowering/softmax.py,sha256=qmg9AcxFgYZcz98VyxxgyaFmSEcUCxhGtfSX6zLTRgE,1874
73
- emx_onnx_cgen/lowering/softmax_cross_entropy_loss.py,sha256=I0pbWyJdnf-9vAuX8-xsnovDKDGxynlBhfj5k_IVIa4,5230
74
- emx_onnx_cgen/lowering/split.py,sha256=ImGnsqrl7IdWbPTPazfXYjcsoRoziqsqtJBum12xTXY,5894
75
- emx_onnx_cgen/lowering/squeeze.py,sha256=ihLbOmUW3PIrV9_do78Qal-J-Ten7sxTnd4a2tm5aEo,6095
76
- emx_onnx_cgen/lowering/tile.py,sha256=fT-ybiBZfb4bqBAPrCORZCNm3KWeu4rRW2BJ_UVIVZU,3041
77
- emx_onnx_cgen/lowering/topk.py,sha256=u2FGoCt1RLI8GDCP-833Raxw5yMlXQY3ElJ-vJj-FPY,4113
78
- emx_onnx_cgen/lowering/transpose.py,sha256=TrRXUt-4UFNHZWaOpS3N5zEz5-OCK6-twZdlrnw7Pqg,1762
79
- emx_onnx_cgen/lowering/trilu.py,sha256=irA0fZV_OzKRYMhbJGuAZQPcDgxztNE0a-fMw_seU6E,3277
80
- emx_onnx_cgen/lowering/unsqueeze.py,sha256=tlmdF8OMS9u-aT3jSwmuBo_VHzgMu3QiCnf45UNMNuY,5996
81
- emx_onnx_cgen/lowering/variadic.py,sha256=hmPzRIj0kcZriGRTR2ma1YMH9g21K_4f-3FXw6qO3jE,3298
82
- emx_onnx_cgen/lowering/where.py,sha256=uiaWU9RM6o-n38N0AEINIkXS33yVK3-ohkfKIApJOoA,2655
83
- emx_onnx_cgen/runtime/__init__.py,sha256=88xGpAs1IEBlzlWL_e9tnKUlaSRdc7pQUeVCu5LC4DY,50
84
- emx_onnx_cgen/runtime/evaluator.py,sha256=Zd0RRwn0c7Lr3eW4OSvJEX9oBEX9p4cr_fmfvJK4LHY,102372
85
- shared/__init__.py,sha256=bmP79AVZdY_1aNULJap9pm76Q41Rabrza6X-0A8lDzw,45
86
- shared/scalar_functions.py,sha256=KawY6sleIcVf5FdffFABQWeh4P_I8Oz7IMPcXjMyRfw,90843
87
- shared/scalar_types.py,sha256=kEpsl5T-NVFxCcTzXqPJbtpvDiCgKHfz91dphLLZxZA,4912
88
- shared/ulp.py,sha256=o_JQ0pyeu1BD5Jx5tWuKnFQYWm1Q8zA8i8EHecf6Ys8,1371
89
- emx_onnx_cgen-0.3.0.dist-info/METADATA,sha256=Q4l5q1s5a6pLWYmAujI9CzU-kMm40d4JffGtQQwVCjw,6036
90
- emx_onnx_cgen-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
91
- emx_onnx_cgen-0.3.0.dist-info/entry_points.txt,sha256=b7Rvmz_Bi9kWyn7QayQC_FEXiRpt4cS1RnluKh49yoo,57
92
- emx_onnx_cgen-0.3.0.dist-info/top_level.txt,sha256=g39fo-blEbgiVcC_GRqAnBzN234w3LXbcVdLUoItSLk,21
93
- emx_onnx_cgen-0.3.0.dist-info/RECORD,,