Commit Graph

16 Commits

Author SHA1 Message Date
Arthur Meyre
c9c7acf616 dev(floats): update function to mix types to support floats 2021-08-05 18:15:45 +02:00
Arthur Meyre
0c275c5f43 dev(floats): add Float class to represent a floating point value 2021-08-05 15:49:01 +02:00
Benoit Chevallier-Mames
6a80b065fc test: testing eval_op_graph_bounds_on_dataset with multiple outputs
refs #74
2021-08-04 16:22:46 +02:00
Arthur Meyre
73f21c79a6 dev: add a function to check that a program is an actual integer program 2021-08-03 18:53:09 +02:00
Benoit Chevallier-Mames
6157e4680b feat: adding constant management
refs #49
2021-08-03 16:49:46 +02:00
Arthur Meyre
a158b09f44 feat(bounds): add function to update OPGraph IR nodes in and output values
- this allows to have tighter data types by sticking to the smallest types
able to represent the ranges passed as argument
- update test_dataset_eval to check the output Value's data_type is updated
2021-08-03 11:33:13 +02:00
Arthur Meyre
b1a3b28a20 dev(dtypes): add a function to make Integers able to hold a set of values 2021-08-03 11:33:13 +02:00
Arthur Meyre
e55284b3ea feat(bounds): add a way to evaluate an operator graph on a dataset 2021-08-02 13:01:52 +02:00
Arthur Meyre
be391ca388 chore: remove reference to package name and file paths
- avoids desync with the package name and file paths (which are unstable)
2021-08-02 13:01:52 +02:00
Arthur Meyre
8925fbd2db dev(ir): add evalute to simulate the computation represented by IR nodes 2021-07-29 10:59:37 +02:00
Arthur Meyre
d739e6672d dev(ordered-inputs): update code to keep the input index in Input IR nodes
- this input index will be useful for MLIR/lower level conversions
- it represents the input index of an Input node when considering the
traced function signature
- update code preparing function parameters to keep signature order
2021-07-29 10:59:37 +02:00
Arthur Meyre
d7c1f42363 dev(dtypes): add functions to mix values and find dtype to hold two inputs
- allows to have a generic way of propagating types instead of deepcopying
input values and types in IR nodes
- supports only Integers for now
- opset checks will not be performed in those functions to keep knowledge
required on the opset to the MLIR conversion step or extra check steps
- use the mix_values_determine_holding_dtype in intermediate nodes where
appropriate
2021-07-28 11:48:44 +02:00
Arthur Meyre
deb7631a3a chore(tools): add mypy_test and mypy_ci target
- update tests that were failing with new mypy check
- mypy_test runs mypy on all .py source files in tests
- mypy_ci runs mypy and mypy_test, mypy is for source i.e. hdk/ only
2021-07-26 18:28:39 +02:00
Arthur Meyre
a060aaae99 feat(tracing): add tracing facilities
- add BaseTracer which will hold most of the boilerplate code
- add hnumpy with a bare NPTracer and tracing function
- update IR to be compatible with tracing helpers
- update test helper to properly check that graphs are equivalent
- add test tracing a simple addition
- rename common/data_types/helpers.py to .../dtypes_helpers.py to avoid
having too many files with the same name
- ignore missing type stubs in the default mypy command
- add a comfort Makefile target to get errors about missing mypy stubs
2021-07-26 17:05:53 +02:00
Arthur Meyre
1a54bc1f22 dev(data-types): create Value classes which represent values in a program
- value classes have a data_type member to know what they hold
- add __repr__ to a few classes to ease readability for debug/print
- add helper functions to perform value checks that will be used for
tracing to ease readability
- add unit tests to get 100% coverage
2021-07-26 17:05:53 +02:00
Arthur Meyre
063b2db9db feat(data-types): add skeleton of data types, add an Integer type
- add convenience functions to instantiate Integer
- add tests for the basic functions of integers
2021-07-26 17:05:53 +02:00