triggerflow 0.2.4__tar.gz → 0.2.6__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.
Files changed (110) hide show
  1. {triggerflow-0.2.4/src/triggerflow.egg-info → triggerflow-0.2.6}/PKG-INFO +1 -1
  2. {triggerflow-0.2.4 → triggerflow-0.2.6}/pyproject.toml +1 -1
  3. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/core.py +2 -8
  4. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/interfaces/uGT.py +25 -13
  5. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/model_template.cpp +10 -9
  6. {triggerflow-0.2.4 → triggerflow-0.2.6/src/triggerflow.egg-info}/PKG-INFO +1 -1
  7. {triggerflow-0.2.4 → triggerflow-0.2.6}/MANIFEST.in +0 -0
  8. {triggerflow-0.2.4 → triggerflow-0.2.6}/README.md +0 -0
  9. {triggerflow-0.2.4 → triggerflow-0.2.6}/setup.cfg +0 -0
  10. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/trigger_dataset/__init__.py +0 -0
  11. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/trigger_dataset/core.py +0 -0
  12. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/trigger_loader/__init__.py +0 -0
  13. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/trigger_loader/cluster_manager.py +0 -0
  14. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/trigger_loader/loader.py +0 -0
  15. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/trigger_loader/processor.py +0 -0
  16. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/__init__.py +0 -0
  17. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/cli.py +0 -0
  18. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/interfaces/__init__.py +0 -0
  19. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/mlflow_wrapper.py +0 -0
  20. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/.gitignore +0 -0
  21. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/README.md +0 -0
  22. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/cookiecutter.json +0 -0
  23. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/prompts.yml +0 -0
  24. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/.dvcignore +0 -0
  25. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/.gitignore +0 -0
  26. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/.gitlab-ci.yml +0 -0
  27. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/README.md +0 -0
  28. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/README.md +0 -0
  29. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/catalog.yml +0 -0
  30. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters.yml +0 -0
  31. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_compile.yml +0 -0
  32. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_data_processing.yml +0 -0
  33. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_load_data.yml +0 -0
  34. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_model_training.yml +0 -0
  35. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/base/parameters_model_validation.yml +0 -0
  36. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/catalog.yml +0 -0
  37. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters.yml +0 -0
  38. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_compile.yml +0 -0
  39. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_data_processing.yml +0 -0
  40. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_load_data.yml +0 -0
  41. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_model_training.yml +0 -0
  42. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/local/parameters_model_validation.yml +0 -0
  43. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/conf/logging.yml +0 -0
  44. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/.gitkeep +0 -0
  45. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/samples.json +0 -0
  46. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/01_raw/samples_dummy.json +0 -0
  47. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/02_loaded/.gitkeep +0 -0
  48. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/03_preprocessed/.gitkeep +0 -0
  49. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/04_models/.gitkeep +0 -0
  50. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/05_validation/.gitkeep +0 -0
  51. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/06_compile/.gitkeep +0 -0
  52. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/data/07_reporting/.gitkeep +0 -0
  53. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/dvc.yaml +0 -0
  54. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/environment.yml +0 -0
  55. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/pyproject.toml +0 -0
  56. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/__init__.py +0 -0
  57. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/__main__.py +0 -0
  58. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/any_object.py +0 -0
  59. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/base_dataset.py +0 -0
  60. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/meta_dataset.py +0 -0
  61. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/datasets/{{ cookiecutter.python_package }}_dataset.py +0 -0
  62. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/__init__.py +0 -0
  63. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/base_model.py +0 -0
  64. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/models/{{ cookiecutter.python_package }}_model.py +0 -0
  65. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipeline_registry.py +0 -0
  66. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/__init__.py +0 -0
  67. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/nodes.py +0 -0
  68. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/compile/pipeline.py +0 -0
  69. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/__init__.py +0 -0
  70. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/nodes.py +0 -0
  71. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/data_processing/pipeline.py +0 -0
  72. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/__init__.py +0 -0
  73. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/nodes.py +0 -0
  74. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/load_data/pipeline.py +0 -0
  75. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/__init__.py +0 -0
  76. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/nodes.py +0 -0
  77. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_training/pipeline.py +0 -0
  78. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/__init__.py +0 -0
  79. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/nodes.py +0 -0
  80. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/pipelines/model_validation/pipeline.py +0 -0
  81. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/settings.py +0 -0
  82. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/__init__.py +0 -0
  83. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/metric.py +0 -0
  84. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/src/{{ cookiecutter.python_package }}/utils/plotting.py +0 -0
  85. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/__init__.py +0 -0
  86. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/__init__.py +0 -0
  87. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/compile/__init__.py +0 -0
  88. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/compile/test_pipeline.py +0 -0
  89. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/data_processing/__init__.py +0 -0
  90. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/data_processing/test_pipeline.py +0 -0
  91. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/load_data/__init__.py +0 -0
  92. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/load_data/test_pipeline.py +0 -0
  93. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_training/__init__.py +0 -0
  94. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_training/test_pipeline.py +0 -0
  95. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_validation/__init__.py +0 -0
  96. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/pipelines/model_validation/test_pipeline.py +0 -0
  97. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/starter/{{ cookiecutter.repo_name }}/tests/test_run.py +0 -0
  98. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/build_ugt.tcl +0 -0
  99. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/data_types.h +0 -0
  100. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/makefile +0 -0
  101. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/makefile_version +0 -0
  102. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/model-gt.cpp +0 -0
  103. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow/templates/scales.h +0 -0
  104. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow.egg-info/SOURCES.txt +0 -0
  105. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow.egg-info/dependency_links.txt +0 -0
  106. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow.egg-info/entry_points.txt +0 -0
  107. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow.egg-info/requires.txt +0 -0
  108. {triggerflow-0.2.4 → triggerflow-0.2.6}/src/triggerflow.egg-info/top_level.txt +0 -0
  109. {triggerflow-0.2.4 → triggerflow-0.2.6}/tests/test.py +0 -0
  110. {triggerflow-0.2.4 → triggerflow-0.2.6}/tests/test_loader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: triggerflow
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: Utilities for ML models targeting hardware triggers
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "triggerflow"
7
- version = "0.2.4"
7
+ version = "0.2.6"
8
8
  description = "Utilities for ML models targeting hardware triggers"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -458,8 +458,7 @@ class TriggerModel:
458
458
  )
459
459
 
460
460
 
461
- if shutil.which("vivado") is not None:
462
- build_ugt_model(
461
+ build_ugt_model(
463
462
  templates_dir=self.subsystem_cfg.get("templates_dir", Path("templates")),
464
463
  firmware_dir=self.workspace_manager.workspace / "firmware",
465
464
  compiler = self.compiler,
@@ -478,12 +477,7 @@ class TriggerModel:
478
477
  object_features=self.subsystem_cfg.get("object_features"),
479
478
  global_features=self.subsystem_cfg.get("global_features")
480
479
  )
481
- else:
482
- warnings.warn(
483
- "Vivado executable not found on the system PATH. "
484
- "Skipping FW build. ",
485
- UserWarning
486
- )
480
+
487
481
 
488
482
 
489
483
  self.workspace_manager.add_artifact("firmware", self.workspace_manager.workspace / "firmware")
@@ -1,12 +1,15 @@
1
1
  from pathlib import Path
2
- import shutil
2
+ import shutil, warnings
3
3
  import pkg_resources
4
4
  from jinja2 import Template
5
5
  import re
6
6
 
7
- def _render_template(template_file: str, output_file: Path, context: dict):
8
- with open(template_file, "r") as f:
9
- template_text = f.read()
7
+
8
+ def _render_template(template_name: str, output_file: Path, context: dict):
9
+ template_bytes = pkg_resources.resource_string(
10
+ "triggerflow" , template_name
11
+ )
12
+ template_text = template_bytes.decode('utf-8')
10
13
 
11
14
  template = Template(template_text)
12
15
  rendered = template.render(**context)
@@ -108,20 +111,29 @@ def build_ugt_model(
108
111
 
109
112
  out_path = firmware_dir / "firmware/model-gt.cpp"
110
113
 
111
- _render_template(f"{templates_dir}/model-gt.cpp", out_path, context)
114
+ _render_template("templates/model-gt.cpp", out_path, context)
112
115
 
113
116
  out_path = firmware_dir / "firmware/build_ugt.tcl"
114
- _render_template(f"{templates_dir}/build_ugt.tcl", out_path, context_tcl)
117
+ _render_template("templates/build_ugt.tcl", out_path, context_tcl)
115
118
 
116
- shutil.copy(f"{templates_dir}/data_types.h", firmware_dir / "firmware")
117
-
118
-
119
- subprocess.run(
120
- ["vitis_hls", "-f", "build_ugt.tcl"],
121
- cwd=firmware_dir/"firmware",
122
- check=True
119
+ shutil.copy(
120
+ pkg_resources.resource_filename("triggerflow", "templates/data_types.h"),
121
+ firmware_dir / "firmware"
123
122
  )
124
123
 
124
+ if shutil.which("vivado") is not None:
125
+ subprocess.run(
126
+ ["vitis_hls", "-f", "build_ugt.tcl"],
127
+ cwd=firmware_dir/"firmware",
128
+ check=True
129
+ )
130
+ else:
131
+ warnings.warn(
132
+ "Vivado executable not found on the system PATH. "
133
+ "Skipping FW build. ",
134
+ UserWarning
135
+ )
136
+
125
137
 
126
138
 
127
139
 
@@ -15,18 +15,18 @@ class {{MODEL_NAME}}_emulator : public hls4mlEmulator::Model {
15
15
  private:
16
16
  typedef {{UNSCALED_TYPE}} unscaled_t;
17
17
  static const int N_INPUT_SIZE = {{N_INPUTS}};
18
+ static const int N_OUTPUT_SIZE = {{N_OUTPUTS}};
18
19
 
19
20
  unscaled_t _unscaled_input[N_INPUT_SIZE];
20
- {{MODEL_NAME}}::input_t _scaled_input;
21
- {{MODEL_NAME}}::result_t _result;
21
+ {{MODEL_NAME}}::input_t _scaled_input[N_INPUT_SIZE];
22
+ {{MODEL_NAME}}::result_t _result[N_OUTPUT_SIZE];
22
23
 
23
- // Scale the raw input array to the model input type
24
- virtual void _scaleNNInputs(unscaled_t unscaled[N_INPUT_SIZE], {{MODEL_NAME}}::input_t &scaled)
24
+ virtual void _scaleNNInputs(unscaled_t unscaled[N_INPUT_SIZE], {{MODEL_NAME}}::input_t scaled[N_INPUT_SIZE])
25
25
  {
26
26
  for (int i = 0; i < N_INPUT_SIZE; i++)
27
27
  {
28
28
  unscaled_t tmp0 = unscaled[i] - hls4ml_{{MODEL_NAME}}::ad_offsets[i];
29
- {{UNSCALED_TYPE}} tmp1 = tmp0 >> hls4ml_{{MODEL_NAME}}::ad_shift[i];
29
+ {{MODEL_NAME}}::input_t tmp1 = tmp0 >> hls4ml_{{MODEL_NAME}}::ad_shift[i];
30
30
  scaled[i] = tmp1;
31
31
  }
32
32
  }
@@ -41,13 +41,14 @@ public:
41
41
  }
42
42
 
43
43
  virtual void predict() {
44
- // Call the io_parallel model function; pass pointers
45
- {{MODEL_NAME}}::{{MODEL_NAME}}_project(&_scaled_input, &_result);
44
+ {{MODEL_NAME}}::{{MODEL_NAME}}_project(_scaled_input, _result);
46
45
  }
47
46
 
48
47
  virtual void read_result(std::any result) {
49
48
  {{MODEL_NAME}}::result_t *result_p = std::any_cast<{{MODEL_NAME}}::result_t*>(result);
50
- *result_p = _result;
49
+ for (int i = 0; i < N_OUTPUT_SIZE; i++) {
50
+ result_p[i] = _result[i];
51
+ }
51
52
  }
52
53
  };
53
54
 
@@ -57,4 +58,4 @@ extern "C" hls4mlEmulator::Model* create_model() {
57
58
 
58
59
  extern "C" void destroy_model(hls4mlEmulator::Model* m) {
59
60
  delete m;
60
- }
61
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: triggerflow
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: Utilities for ML models targeting hardware triggers
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: License :: OSI Approved :: MIT License
File without changes
File without changes
File without changes
File without changes