-
Notifications
You must be signed in to change notification settings - Fork 88
Sparsification of Affine Equality Matrix #1625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 5 commits
Commits
Show all changes
279 commits
Select commit
Hold shift + click to select a range
acf5851
Split up vectorMatrix into multiple files; Removed VectorMatrix from …
feniup 32c378d
Merge remote-tracking branch 'origin/master' into file-splitting
feniup 5ce5ee8
Bugfix Matrix.map2i without side effects (different length lists)
kadameit 63506ea
Merge remote-tracking branch 'origin/master' into file-splitting
feniup 7643899
added missing module BatList
feniup 41bb6ed
RenamedFolder; Revealed modules to goblint_lib
feniup 6602d75
Directly revealed modules to goblint_lib
feniup b7d5c1a
Added missing ArrayVector module to goblint_lib
feniup b1beb54
Merge pull request #2 from CopperCableIsolator/file-splitting
feniup 8476f95
Vector List
CopperCableIsolator 5fb8041
someMatFuncs
CopperCableIsolator 8c3824f
some functions changed to use vectors
charlotte-brandt 3234896
again
charlotte-brandt fb3442b
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 251f1c9
Reimplemented some matrix functions to vector
kadameit 67c9ef4
Added find_opt and remove_nth to vector interface
kadameit 19ac2db
pushing is_zero_vec
charlotte-brandt 47f4fa1
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt a0e0f1b
Formatting
kadameit d768b46
vector functions
charlotte-brandt 74ce9fe
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 422dd54
Removed some _with functions from the AffineEqualityDomain
feniup 6afcb81
Implement inefficient rref functions
kadameit e7aa151
Merge branch 'master' into affine-equality-domain-without-with
feniup 7b4173a
ocp-indent on sparseMatrix.ml
feniup c8db710
del_cols and remove_at_indices
charlotte-brandt 24fd057
commiting again for indentation
charlotte-brandt 0e702ee
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 0c9eb46
Vector functions
kadameit 0db8b61
some vector functions
charlotte-brandt f413d51
Merge branch 'master' into affine-equality-domain-without-with
kadameit d439b20
vector conversion to array
charlotte-brandt 03fab15
Explicit types on normalize
kadameit f018a06
map2_preserve_zero
CopperCableIsolator 70dbf4d
exists, vector interface
CopperCableIsolator 215b25e
ups
CopperCableIsolator fd16be1
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 680e56b
Reimplemented normalize in SparseMatrix, some TODOs missing
kadameit 40996b7
Renamed sparseMatrix.ml to match module name
feniup cb62292
Merge branch 'master' of github.com:CopperCableIsolator/goblint-spars…
feniup 702f258
builds now + reduce_col
charlotte-brandt e556c41
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt bec7535
Moved swap, div, sub and normalize to new listMatrix.ml
kadameit ad34bc7
Renamed tV according to best practices
feniup bd81ac1
Implement vector findi and minor bugfix in ListMatrix normalize
kadameit 06a32ea
vectorfuncs, foldleftpreservezero
CopperCableIsolator 05a3dc5
Add normalize check for invalid affeq matrix
kadameit 409c01d
Vector function findi_val_opt
kadameit ad9f618
Adapting normalize and reordering deprecated functions in ListMatrix.ml
kadameit 33b8723
Implement Vector foldleft and apply_with_c
kadameit 785f75d
add column and helper functions
charlotte-brandt fe9513a
Fix del_cols duplicate edge case chech before comparing length
kadameit 7a8fab9
Fix set_nth in Vector
kadameit 519ee02
Remove double Mpqf definition
kadameit d3d998d
Renamed SparseMatrix to ListMatrix in goblint_lib.ml
feniup b339b78
Merge branch 'master' of github.com:CopperCableIsolator/goblint-spars…
feniup d68c719
Implement is_covered_by structure, but helper function still missing
kadameit 159d07e
bugfix in insert_at and reduce_col_with_vec
charlotte-brandt 1f85d28
Implement more vector functions
kadameit 793df4a
Formatting
kadameit ffa0b54
Merge branch 'master' into affine-equality-domain-without-with
charlotte-brandt abdae29
Merge pull request #3 from CopperCableIsolator/affine-equality-domain…
charlotte-brandt 6021c42
Implement is_covered_by
kadameit 97a735b
small bugfixes
charlotte-brandt b17f33e
Finish normalize first version with dec2D
kadameit 80672a1
bugfix in find_val_opt and lin_independent
charlotte-brandt 418de56
Fixed affeq_rows_are_valid helper for normalize
kadameit e10493a
better map2pz,better naming
CopperCableIsolator d2b0be7
small hickup
CopperCableIsolator 859ec26
normalize bug fix
charlotte-brandt 67c1d5c
small naming
CopperCableIsolator 71768be
fold_left2_f_preserves_zero
CopperCableIsolator 0207a73
print for debugging
charlotte-brandt 2bc4b66
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt ef0cc36
Bugfixes in Vector and more Debug prints
kadameit c038dc7
Bugfix in Vector keep_vals and to_list; Implement set_nth in Vector"
kadameit 92b784a
Bugfix insert_val_at
kadameit 8ba5777
Bugfix Matrix map2i and Vector insert_val_at again
kadameit f6a415e
Add more debug-prints
kadameit 3e7d3d6
Bugfix in Vector rev and Matrix map2i again
kadameit 0c95dc7
Bugfix in Matrix del_cols and Vector remove_at_indices
kadameit c72c77d
arraymatrix passes tests again
charlotte-brandt 09054a1
Reduced test suite; Simple normalized test with mxn-Matrix with m!=n;
feniup 99cf805
Merge branch 'master' of github.com:CopperCableIsolator/goblint-spars…
feniup 2968963
Added example source
feniup 4ef3acc
more debugging prints and added remove_zero_rows to rref_vec
charlotte-brandt 968c533
Bugfixes in ListMatrix normalize
kadameit fe6b2a6
Added a solution vector to the normalize unit test
feniup 18acca5
Normalize test for a shuffeled matrix
feniup 43e042f
Normalize test for row elimination
feniup ef07123
Normalize tests with different domains
feniup 8d1c548
Normalize tests for idempotency and negation
feniup d71d7bd
bugfix in add_empty_columns, behavious still differs from arraymatrix
charlotte-brandt db97f30
add_emtpy_cols uses arraymatrix logic here + bugfix in normalize - on…
charlotte-brandt 315dac6
appending and normalizing in is_covered_by - all tests pass
charlotte-brandt 58e34c0
Normalize tests for empty matrix, two column matrix and a normalized …
feniup 9f7cec9
Added a newline
feniup 6673aae
Changed the assert failure text for when the normalization fails
feniup fe984fb
Add some is_covered_by tests
kadameit f44f2eb
Formatting
kadameit 79f890a
Added some comments on the test setup
feniup 4b34fda
Added some comments on the test setup
feniup 586cc38
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
kadameit 1241795
bugfix in insert_zeros and use list funtionality again, uses apron st…
charlotte-brandt 091b9fa
coveredddd
CopperCableIsolator a7a4e14
Fix normalize tests for floating point and fraction
kadameit b15b9d2
small tweak in findi_val_opt, could be even a tini tiny bit faster bu…
CopperCableIsolator 0f6509b
removed prints for benchmarking
charlotte-brandt 9ea8cc2
Remove old copies in AffineEqualityDomain
kadameit ca91d48
Adapt sparseVector functions to tail recursive
kadameit 6883084
added Timingwraps to vector functions and alternative to findivalopt
charlotte-brandt 61caba2
implemented different rref_vec that doesn't use normalize
charlotte-brandt c9be718
new rref_vec should be faster
charlotte-brandt fb1f36a
removed files with debug logs that I pushed by accident
charlotte-brandt 0535677
Add apply_with_c_f_preserves_zero
kadameit c776a2b
Changed some calls in Domain to zero preserving
kadameit d3b18aa
Change rref_matrix without append and normalize, still have to benchmark
kadameit eba9d49
Remove some warnings of deprecated code
kadameit 21a839c
Merge branch 'master' into benchmarks
kadameit dd0000e
Merge branch 'benchmarks' into master
kadameit 2e80b94
removed second remove_nth
charlotte-brandt 1fa998f
Remove deprecated _with functions from Vector and Matrix interface
kadameit 1ea8040
Remove deprecated _with functions from Vector and Matrix interface
kadameit fd5689a
commenting some functions
charlotte-brandt 335d4ea
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 6186435
is_cons_vec
CopperCableIsolator d42bf5f
replace the last findi_val_opt
charlotte-brandt 0088812
ein paar maps ausgetauscht
CopperCableIsolator 92802e5
Optimize non zero-preserving Vector.map and Vector.map2i
kadameit 2c8901f
added test from lin2vareq to affeq that found mistake in dim_add
charlotte-brandt 4411280
Implement zero preserving Array Vector functions by calling normal fu…
kadameit 012104f
assert_rref
CopperCableIsolator 37190f4
assert_rref
CopperCableIsolator d7da9c7
small bugfix assert_rref
CopperCableIsolator bb15181
Bugfix rref_vec using reduce_col_with_vec
kadameit 0678f66
Change order of functions because of compilation error
kadameit 3b49ba5
Organize Vector and Matrix interface
kadameit 93463f2
Bugfix Vector is_const_vec
kadameit 6ae9bf1
Remove prints in ArrayMatrix
kadameit b8ba2bb
reordered function in vector so that they match the interface
charlotte-brandt 60f7b67
Reorder listMatrix; Some renaming
kadameit 8c931a7
Optimize get_col for sparse; Some timing_wraps for matrix
kadameit de6acc7
Fix semantics Matrix.map2, changed Matrix.map2i but might still have …
kadameit c01b627
comments
CopperCableIsolator 1a33f55
findi_f_false_at_zero
CopperCableIsolator aaadeaa
Add find2i_f_false_at_zero to ArrayVector and remove duplicate code f…
kadameit a82e652
Merge remote-tracking branch 'upstream/master'
kadameit 48925db
second version of nth, enable by setting p to false in sparseVector.ml
CopperCableIsolator 7fd6b0b
no more p
CopperCableIsolator 5e29f9c
nevermind nth'
CopperCableIsolator 38d51d9
normalize timing wrap
CopperCableIsolator 8cb9e41
removed some comments
charlotte-brandt f3ddf02
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt e117432
Remove col variable names in vector
kadameit af9e10c
Cleanup old Matrix implementations
kadameit 1ab2633
small changes and get_col_rref -- doesn't work?
charlotte-brandt 4de377a
merge
charlotte-brandt 4b2c9a7
Changed if order in get_col_rref and new calls, removed nth timing wrap
kadameit ebc3412
Changed if order in get_col_rref and new calls, removed nth timing wrap
kadameit b0fd036
Added old unit tests again
kadameit 6c1e2a7
removed unused functions
CopperCableIsolator 08d1b52
removed unused functions
CopperCableIsolator 4e04aa0
Adapted function descriptions in listMatrix and Remove old comments
kadameit 499b12b
More comments and code style
kadameit 5e5729c
removed TODO and comments for add_empty_cols
charlotte-brandt 5de1ea0
Adapted assert_ref to validate pivot positions
kadameit c9ad687
Remove assert_rref
kadameit 440e7a1
comments
CopperCableIsolator db480ca
Made to_list tail recursive
kadameit 971268d
Removed unused functions in arrayVector
kadameit 34bb6a5
minor change to to_list, fix comments
CopperCableIsolator c4be7e6
List :: codestyle
kadameit a8589e3
comment changes, changed raised error
CopperCableIsolator 3355536
Delete list.txt
kadameit c836b63
comments and naming changes
CopperCableIsolator 470e791
small comment changes
CopperCableIsolator 9627e38
ArrayMatrix get_col_upper_triangular is normal get_col and rref_vec o…
kadameit 68910d4
Update listMatrix.ml
CopperCableIsolator c8f8155
Update regtest.sh to old --html
kadameit a3988d4
comments
charlotte-brandt e08a09a
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 68ea9d8
Merge remote-tracking branch 'upstream/master'
charlotte-brandt e5a0f8a
Removed unused arrayimplementation
charlotte-brandt 9555ab0
Update tests/unit/cdomains/affineEqualityDomain/sparseImplementation/…
kadameit 07d9d5c
Update comment for add_empy_columns
kadameit 0aa86a7
Change comments about _with suffixes
charlotte-brandt 2af2769
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 8d80046
Change order of starting_from_nth parameters. Add comments for some f…
kadameit 9ecb30b
Formatting
kadameit 4890a03
Optimize to_const_opt with find_first_non_zero
charlotte-brandt 0f16126
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 1ec9fbe
Update SparseVector.show to be sparse
kadameit 5e16985
Remove V.nth from map2 - not better?
charlotte-brandt af9104e
Update src/cdomains/affineEquality/sparseImplementation/sparseVector.ml
charlotte-brandt 9e15571
Update src/cdomains/affineEquality/sparseImplementation/sparseVector.ml
charlotte-brandt 5c45990
Update src/cdomains/affineEquality/sparseImplementation/sparseVector.ml
charlotte-brandt b0feb2a
Use Bat functions to improve readability
charlotte-brandt 52a100c
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt bc2cad0
Remove references in comments to missing not-zero-preserving functions
kadameit dc0da87
Add comments to some vector functions and add some field punning for …
kadameit fd70b72
Update src/cdomains/affineEquality/sparseImplementation/sparseVector.ml
charlotte-brandt 426d739
Optimize get_pivot_positions to also return the row itself
kadameit 6fef812
Punning and List.rev_map
kadameit 335832c
Change SparseVector.of_array to BatList.fold_righti
kadameit 6819b4a
Update sparseVector exists
kadameit 15d2fb7
Split up interface and restore old domain and array implementation
charlotte-brandt b3fb4bc
Add rref_vec timing wraps and comments
kadameit 6e5332b
Rename AbstractMatrix and AbstractVector and clean up unused function…
charlotte-brandt 5f9ae05
Remove sorting for add_empty_columns and del_cols; Remove some List.l…
kadameit 1bca083
Change add_empty_columns to use List.group and List.map
kadameit 0a13546
Clean up unused sparseVector functions
charlotte-brandt 9c94901
Update sparseVector to_list
kadameit 69a4655
Update sparseVector nth
kadameit c6b1006
Remove insert_val_at from ListMatrix since it is uncalled
charlotte-brandt 6d4c154
Correct comments in ArrayMatrix
charlotte-brandt 3232935
Merge branch 'interface-splitting'
kadameit 16071d9
Change Timing.wrap to timing_wrap
kadameit 5e3f21a
Update rref_vec to filter non-relevant pivots
kadameit 9f5b2d2
Remove duplicate SparseMatrixTests from unit tests
kadameit 96e6e6d
Remove unnecessary rev in affeq domain
kadameit edbf0ec
Changed map2 back to version without V.nth
charlotte-brandt 9ab456b
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 35b5644
Add comment explaining type t of sparseVector
kadameit 52f29ed
Add and Implement compare_num_rows to Matrix, SparseMatrix, ArrayMatrix
kadameit 1f4fdf4
Merge remote-tracking branch 'upstream/master'
kadameit 165fc7a
Update find_first_non_zero
kadameit 0a4e299
Replace more Timing.wrap
charlotte-brandt 2e4b115
Remove execution of affeq unit tests in test file
kadameit 3d422cd
Add comment to domains explaining NoSideEffect domain
kadameit 431c69a
Change matrix tests such that they don't run themselves
charlotte-brandt 2e7330c
Merge branch 'master' of https://github.com/CopperCableIsolator/gobli…
charlotte-brandt 8daa4de
Move interfaces to their respective files
charlotte-brandt 282cc24
Moved ConvenienceOps into RatOps file
charlotte-brandt f86845a
Removed unnecessary Batteries assignments
charlotte-brandt 053e537
Move interfaces to the files where they are implemented
charlotte-brandt 0bbba47
Remove unnecessary rename of Array
charlotte-brandt b6fc2d0
Add Apron and No-Apron test for sparseMatrix
kadameit a8e1987
Update dead link to dune alternative dependencies
kadameit 3efe923
Add option for affeq side effect analysis
kadameit 3d1b152
Bump minimum dune version to 3.13
sim642 bceccd4
Move affeq tests back to subdir and avoid cyclic dependencies with du…
kadameit 6fa6c92
Remove old affeq test files
kadameit 514ffcb
Add copy_files stanzas to affeq-test dune
kadameit 65d0c12
replaced term "side effects" with alternative description of function…
CopperCableIsolator 5326e2b
renamed domain to fit goblint scheme
CopperCableIsolator abbde00
Change affeq sparse config from side_effect to sparse with default true
kadameit 4176d52
Remove debug files
kadameit e3cbcf7
Fix affeq analysis sparse config param and dune file
kadameit 463f360
Fix docs/api-build CI of AffineEqualityDenseDomain
kadameit 0a5fe07
Merge branch 'master' into master
DrMichaelPetter File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.