* parameter value incorrectly set for affine array
* handle shape=() ndarrays in args verification
* test fix: order is not guaranteed(?)
* actually drop hash suffix
* .
* flag possible bug
* add helper to lookup function by name
* undo
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* support partial dynamic sized runtime arrays
* marked TODO
* layout TODO
* fix
* expand arguments to include dimensions automatically
* remove accidental import
* working on correctness
* support calling dynamic sized functions
* return output arguments automatically
* add multi-output test
* nfc
* yapf
* allow output arrays to be passed as input args
* nfc
* support sharing of output dim args
* add check
* fix
* PR feedback
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* support arbirtary pointer levels for declared types
* handle logical_type=element
* arg values
* refactor (func name, arg_info) to FunctionInfo
* fix circular imports
* .
* support dylib
* update verify_hat_package
* verify -> verify_args
* fixes
* fix verify_args
* formatting
* add verify hat test
* refactor
* handle ndarrays as arguments
* cleanup
* runtime_array verify test
* print output
* basic test passing
* Update test_create_simple_hat_file.py
* Update test_create_simple_hat_file.py
* comments
* comments
* TODOs
* nfc
* [test] moved creation to workdir
* rename
* Print output dimension references and clarify HAT schema (#66)
* infer shapes from size, add shape order requirement
* merged
* pretty print using cross references
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* revert formatting changes
* revert more formatting only changes
* simplify
* Add input and input/output runtime_array support (#67)
* wip
* scaffold
* scaffold and initial support for input elements and input/output runtime_arrays
* .
* fixups
* don't swallow exceptions
* support cargs for non pointer args
* cleanup
* refactor
* support integer-like types when checking constant shapes
* nfc
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* test coverage for usage type Input and InputOutput
* [test] Support windows in verify_hat tests (#69)
* wip
* build for windows (#68)
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* windows tomlkit expects lists
* manual CI trigger
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
* fix windows test
* fix logic and add comment
* .
* verify_args -> verify
* args -> arguments
* PR feedback
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
- Instantiate more default objects for simple cases
- Enable modifying the list of functions in the hat file
- Make hat file functions and function_map wrap the same underlying
object
* nfc
* shadowed variable time in python 3.7
* invoke perf_counter
* nfc
* add more checks now that exceptions are swallowed
* more stringent checks for benchmark tests
Co-authored-by: Lisa Ong <onglisa@microsoft.com>
Changes:
* utility functions in `hatlib` now make use of the HAT object model (OM). Previously, `tomlkit` was being using directly and was bypassing the checks and OM construction of child objects.
* `hatlib.load` now returns a `HATPackage` object that results from deserializing the HAT file passed in. Additionally, if functions can be loaded, a non-empty `AttributeDict` is returned as a second value.
* Moved test folder to be a sibling of library folder. Now the package no longer contains the tests when installed. Additionally, the library can be tested by running `python -m unittest discover test` in the root of the repository.
* Adds YAPF style config to setup.cfg and formatted all touched files with `yapf`