gecoder 0.8.2 → 0.8.3
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.
- data/CHANGES +14 -0
- data/ext/gecoder.cpp +181 -0
- data/ext/gecoder.h +94 -0
- data/ext/vararray.cpp +3 -3
- data/lib/gecoder/bindings/bindings.rb +104 -46
- data/lib/gecoder/interface/binding_changes.rb +1 -301
- data/lib/gecoder/interface/branch.rb +15 -11
- data/lib/gecoder/interface/constraints/bool/boolean.rb +56 -52
- data/lib/gecoder/interface/constraints/bool/channel.rb +1 -16
- data/lib/gecoder/interface/constraints/bool_enum/channel.rb +13 -8
- data/lib/gecoder/interface/constraints/bool_enum/extensional.rb +48 -0
- data/lib/gecoder/interface/constraints/extensional_regexp.rb +101 -0
- data/lib/gecoder/interface/constraints/int/channel.rb +1 -13
- data/lib/gecoder/interface/constraints/int_enum/channel.rb +15 -35
- data/lib/gecoder/interface/constraints/int_enum/extensional.rb +130 -0
- data/lib/gecoder/interface/constraints/set/channel.rb +54 -0
- data/lib/gecoder/interface/constraints/set_enum/channel.rb +37 -6
- data/lib/gecoder/interface/constraints/set_var_constraints.rb +1 -0
- data/lib/gecoder/interface/constraints.rb +38 -0
- data/lib/gecoder/interface/model.rb +110 -85
- data/lib/gecoder/interface/variables.rb +3 -21
- data/lib/gecoder/version.rb +1 -1
- data/specs/branch.rb +16 -1
- data/specs/constraints/bool_enum_relation.rb +6 -6
- data/specs/constraints/boolean.rb +31 -25
- data/specs/constraints/channel.rb +102 -4
- data/specs/constraints/extensional.rb +185 -2
- data/specs/constraints/reification_sugar.rb +2 -46
- data/specs/model.rb +85 -7
- data/tasks/dependencies.txt +1 -0
- data/vendor/rust/rust/class.rb +33 -35
- data/vendor/rust/rust/templates/ClassDeclarations.rusttpl +1 -1
- data/vendor/rust/rust/templates/CxxClassDefinitions.rusttpl +10 -1
- metadata +185 -184
- data/example/raw_bindings.rb +0 -44
- data/ext/missing.cpp +0 -328
- data/ext/missing.h +0 -120
- data/specs/binding_changes.rb +0 -76
    
        metadata
    CHANGED
    
    | @@ -3,8 +3,8 @@ rubygems_version: 0.9.4 | |
| 3 3 | 
             
            specification_version: 1
         | 
| 4 4 | 
             
            name: gecoder
         | 
| 5 5 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 6 | 
            -
              version: 0.8. | 
| 7 | 
            -
            date: 2008- | 
| 6 | 
            +
              version: 0.8.3
         | 
| 7 | 
            +
            date: 2008-07-28 00:00:00 +02:00
         | 
| 8 8 | 
             
            summary: Ruby interface to Gecode, an environment for constraint programming.
         | 
| 9 9 | 
             
            require_paths: 
         | 
| 10 10 | 
             
            - lib
         | 
| @@ -29,212 +29,211 @@ post_install_message: | |
| 29 29 | 
             
            authors: 
         | 
| 30 30 | 
             
            - - Gecode/R Development Team
         | 
| 31 31 | 
             
            files: 
         | 
| 32 | 
            -
            - Rakefile
         | 
| 33 | 
            -
            - CHANGES
         | 
| 34 | 
            -
            - COPYING
         | 
| 35 32 | 
             
            - README
         | 
| 36 33 | 
             
            - LGPL-LICENSE
         | 
| 37 | 
            -
            -  | 
| 38 | 
            -
            -  | 
| 39 | 
            -
            -  | 
| 40 | 
            -
            - lib/gecoder | 
| 41 | 
            -
            - lib/gecoder/ | 
| 42 | 
            -
            - lib/gecoder/interface/ | 
| 43 | 
            -
            - lib/gecoder/interface/ | 
| 44 | 
            -
            - lib/gecoder/interface/ | 
| 34 | 
            +
            - CHANGES
         | 
| 35 | 
            +
            - COPYING
         | 
| 36 | 
            +
            - Rakefile
         | 
| 37 | 
            +
            - lib/gecoder.rb
         | 
| 38 | 
            +
            - lib/gecoder/bindings.rb
         | 
| 39 | 
            +
            - lib/gecoder/interface/branch.rb
         | 
| 40 | 
            +
            - lib/gecoder/interface/enum_matrix.rb
         | 
| 41 | 
            +
            - lib/gecoder/interface/search.rb
         | 
| 42 | 
            +
            - lib/gecoder/interface/constraints.rb
         | 
| 43 | 
            +
            - lib/gecoder/interface/variables.rb
         | 
| 44 | 
            +
            - lib/gecoder/interface/enum_wrapper.rb
         | 
| 45 | 
            +
            - lib/gecoder/interface/model.rb
         | 
| 46 | 
            +
            - lib/gecoder/interface/constraints/set_var_constraints.rb
         | 
| 47 | 
            +
            - lib/gecoder/interface/constraints/extensional_regexp.rb
         | 
| 48 | 
            +
            - lib/gecoder/interface/constraints/int_enum_constraints.rb
         | 
| 49 | 
            +
            - lib/gecoder/interface/constraints/set/channel.rb
         | 
| 50 | 
            +
            - lib/gecoder/interface/constraints/set/cardinality.rb
         | 
| 51 | 
            +
            - lib/gecoder/interface/constraints/set/operation.rb
         | 
| 52 | 
            +
            - lib/gecoder/interface/constraints/set/connection.rb
         | 
| 53 | 
            +
            - lib/gecoder/interface/constraints/set/domain.rb
         | 
| 54 | 
            +
            - lib/gecoder/interface/constraints/set/relation.rb
         | 
| 55 | 
            +
            - lib/gecoder/interface/constraints/int/channel.rb
         | 
| 45 56 | 
             
            - lib/gecoder/interface/constraints/int/arithmetic.rb
         | 
| 46 57 | 
             
            - lib/gecoder/interface/constraints/int/linear.rb
         | 
| 47 | 
            -
            - lib/gecoder/interface/constraints/int/ | 
| 58 | 
            +
            - lib/gecoder/interface/constraints/int/domain.rb
         | 
| 59 | 
            +
            - lib/gecoder/interface/constraints/set_enum_constraints.rb
         | 
| 60 | 
            +
            - lib/gecoder/interface/constraints/bool/channel.rb
         | 
| 48 61 | 
             
            - lib/gecoder/interface/constraints/bool/boolean.rb
         | 
| 49 62 | 
             
            - lib/gecoder/interface/constraints/bool/linear.rb
         | 
| 50 | 
            -
            - lib/gecoder/interface/constraints/bool/channel.rb
         | 
| 51 | 
            -
            - lib/gecoder/interface/constraints/set/relation.rb
         | 
| 52 | 
            -
            - lib/gecoder/interface/constraints/set/connection.rb
         | 
| 53 | 
            -
            - lib/gecoder/interface/constraints/set/operation.rb
         | 
| 54 | 
            -
            - lib/gecoder/interface/constraints/set/cardinality.rb
         | 
| 55 | 
            -
            - lib/gecoder/interface/constraints/set/domain.rb
         | 
| 56 | 
            -
            - lib/gecoder/interface/constraints/int_enum/equality.rb
         | 
| 57 | 
            -
            - lib/gecoder/interface/constraints/int_enum/distinct.rb
         | 
| 58 | 
            -
            - lib/gecoder/interface/constraints/int_enum/sort.rb
         | 
| 59 63 | 
             
            - lib/gecoder/interface/constraints/int_enum/channel.rb
         | 
| 60 | 
            -
            - lib/gecoder/interface/constraints/int_enum/ | 
| 61 | 
            -
            - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
         | 
| 64 | 
            +
            - lib/gecoder/interface/constraints/int_enum/distinct.rb
         | 
| 62 65 | 
             
            - lib/gecoder/interface/constraints/int_enum/element.rb
         | 
| 66 | 
            +
            - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
         | 
| 67 | 
            +
            - lib/gecoder/interface/constraints/int_enum/count.rb
         | 
| 63 68 | 
             
            - lib/gecoder/interface/constraints/int_enum/extensional.rb
         | 
| 64 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 69 | 
            +
            - lib/gecoder/interface/constraints/int_enum/equality.rb
         | 
| 70 | 
            +
            - lib/gecoder/interface/constraints/int_enum/sort.rb
         | 
| 71 | 
            +
            - lib/gecoder/interface/constraints/bool_var_constraints.rb
         | 
| 65 72 | 
             
            - lib/gecoder/interface/constraints/bool_enum_constraints.rb
         | 
| 66 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 73 | 
            +
            - lib/gecoder/interface/constraints/bool_enum/channel.rb
         | 
| 74 | 
            +
            - lib/gecoder/interface/constraints/bool_enum/extensional.rb
         | 
| 75 | 
            +
            - lib/gecoder/interface/constraints/bool_enum/relation.rb
         | 
| 67 76 | 
             
            - lib/gecoder/interface/constraints/int_var_constraints.rb
         | 
| 68 77 | 
             
            - lib/gecoder/interface/constraints/reifiable_constraints.rb
         | 
| 69 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 70 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 71 | 
            -
            - lib/gecoder/interface/ | 
| 72 | 
            -
            - lib/gecoder/interface/ | 
| 78 | 
            +
            - lib/gecoder/interface/constraints/set_enum/channel.rb
         | 
| 79 | 
            +
            - lib/gecoder/interface/constraints/set_enum/distinct.rb
         | 
| 80 | 
            +
            - lib/gecoder/interface/constraints/set_enum/operation.rb
         | 
| 81 | 
            +
            - lib/gecoder/interface/constraints/set_enum/selection.rb
         | 
| 73 82 | 
             
            - lib/gecoder/interface/binding_changes.rb
         | 
| 74 | 
            -
            - lib/gecoder/interface/enum_wrapper.rb
         | 
| 75 | 
            -
            - lib/gecoder/interface/search.rb
         | 
| 76 | 
            -
            - lib/gecoder/interface/constraints.rb
         | 
| 77 | 
            -
            - lib/gecoder/interface/enum_matrix.rb
         | 
| 78 | 
            -
            - lib/gecoder/interface/variables.rb
         | 
| 79 | 
            -
            - lib/gecoder/bindings/bindings.rb
         | 
| 80 | 
            -
            - lib/gecoder/bindings.rb
         | 
| 81 | 
            -
            - lib/gecoder/interface.rb
         | 
| 82 83 | 
             
            - lib/gecoder/version.rb
         | 
| 83 | 
            -
            - lib/gecoder.rb
         | 
| 84 | 
            +
            - lib/gecoder/interface.rb
         | 
| 85 | 
            +
            - lib/gecoder/bindings/bindings.rb
         | 
| 84 86 | 
             
            - example/queens.rb
         | 
| 85 | 
            -
            - example/send_more_money.rb
         | 
| 86 87 | 
             
            - example/send_most_money.rb
         | 
| 88 | 
            +
            - example/magic_sequence.rb
         | 
| 89 | 
            +
            - example/send_more_money.rb
         | 
| 87 90 | 
             
            - example/sudoku-set.rb
         | 
| 88 | 
            -
            - example/ | 
| 91 | 
            +
            - example/sudoku.rb
         | 
| 89 92 | 
             
            - example/square_tiling.rb
         | 
| 90 | 
            -
            - example/magic_sequence.rb
         | 
| 91 93 | 
             
            - example/example_helper.rb
         | 
| 92 | 
            -
            - example/sudoku.rb
         | 
| 93 | 
            -
            - vendor/rust/test
         | 
| 94 | 
            -
            - vendor/rust/test/lib
         | 
| 95 | 
            -
            - vendor/rust/test/lib/extension-test.rb
         | 
| 96 | 
            -
            - vendor/rust/test/dummyclass.hh
         | 
| 97 | 
            -
            - vendor/rust/test/operators.rb
         | 
| 98 | 
            -
            - vendor/rust/test/cwrapper.rb
         | 
| 99 | 
            -
            - vendor/rust/test/test-cppclass.rb
         | 
| 100 | 
            -
            - vendor/rust/test/test-constants.rb
         | 
| 101 | 
            -
            - vendor/rust/test/cppclass.cc
         | 
| 102 | 
            -
            - vendor/rust/test/test-operators.rb
         | 
| 103 | 
            -
            - vendor/rust/test/operators.cc
         | 
| 104 | 
            -
            - vendor/rust/test/test-cwrapper.rb
         | 
| 105 | 
            -
            - vendor/rust/test/cwrapper.c
         | 
| 106 | 
            -
            - vendor/rust/test/cppclass.hh
         | 
| 107 | 
            -
            - vendor/rust/test/cwrapper.h
         | 
| 108 | 
            -
            - vendor/rust/test/cppclass.rb
         | 
| 109 | 
            -
            - vendor/rust/test/operators.hh
         | 
| 110 | 
            -
            - vendor/rust/test/Makefile
         | 
| 111 | 
            -
            - vendor/rust/test/constants.rb
         | 
| 112 | 
            -
            - vendor/rust/include
         | 
| 113 | 
            -
            - vendor/rust/include/rust_conversions.hh
         | 
| 114 | 
            -
            - vendor/rust/include/rust_checks.hh
         | 
| 115 94 | 
             
            - vendor/rust/bin
         | 
| 116 95 | 
             
            - vendor/rust/bin/cxxgenerator.rb
         | 
| 96 | 
            +
            - vendor/rust/README
         | 
| 117 97 | 
             
            - vendor/rust/rust
         | 
| 98 | 
            +
            - vendor/rust/rust/cwrapper.rb
         | 
| 99 | 
            +
            - vendor/rust/rust/bindings.rb
         | 
| 100 | 
            +
            - vendor/rust/rust/element.rb
         | 
| 101 | 
            +
            - vendor/rust/rust/cxxclass.rb
         | 
| 102 | 
            +
            - vendor/rust/rust/type.rb
         | 
| 103 | 
            +
            - vendor/rust/rust/class.rb
         | 
| 104 | 
            +
            - vendor/rust/rust/container.rb
         | 
| 118 105 | 
             
            - vendor/rust/rust/templates
         | 
| 106 | 
            +
            - vendor/rust/rust/templates/ModuleDeclarations.rusttpl
         | 
| 107 | 
            +
            - vendor/rust/rust/templates/EnumDeclarations.rusttpl
         | 
| 108 | 
            +
            - vendor/rust/rust/templates/BindingsUnit.rusttpl
         | 
| 109 | 
            +
            - vendor/rust/rust/templates/ConstructorStub.rusttpl
         | 
| 110 | 
            +
            - vendor/rust/rust/templates/EnumDefinitions.rusttpl
         | 
| 119 111 | 
             
            - vendor/rust/rust/templates/FunctionInitBinding.rusttpl
         | 
| 120 112 | 
             
            - vendor/rust/rust/templates/CWrapperClassDefinitions.rusttpl
         | 
| 121 | 
            -
            - vendor/rust/rust/templates/BindingsHeader.rusttpl
         | 
| 122 | 
            -
            - vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl
         | 
| 123 | 
            -
            - vendor/rust/rust/templates/AttributeDefinition.rusttpl
         | 
| 124 | 
            -
            - vendor/rust/rust/templates/ModuleDeclarations.rusttpl
         | 
| 125 | 
            -
            - vendor/rust/rust/templates/ModuleDefinitions.rusttpl
         | 
| 126 | 
            -
            - vendor/rust/rust/templates/AttributeInitBinding.rusttpl
         | 
| 127 113 | 
             
            - vendor/rust/rust/templates/FunctionInitAlias.rusttpl
         | 
| 128 | 
            -
            - vendor/rust/rust/templates/ConstructorStub.rusttpl
         | 
| 129 | 
            -
            - vendor/rust/rust/templates/CxxClassDefinitions.rusttpl
         | 
| 130 114 | 
             
            - vendor/rust/rust/templates/ClassInitialize.rusttpl
         | 
| 131 | 
            -
            - vendor/rust/rust/templates/VariableFunctionCall.rusttpl
         | 
| 132 | 
            -
            - vendor/rust/rust/templates/EnumDeclarations.rusttpl
         | 
| 133 | 
            -
            - vendor/rust/rust/templates/CxxStandaloneClassDefinitions.rusttpl
         | 
| 134 | 
            -
            - vendor/rust/rust/templates/BindingsUnit.rusttpl
         | 
| 135 | 
            -
            - vendor/rust/rust/templates/FunctionDefinition.rusttpl
         | 
| 136 115 | 
             
            - vendor/rust/rust/templates/ClassDeclarations.rusttpl
         | 
| 137 | 
            -
            - vendor/rust/rust/templates/ | 
| 138 | 
            -
            - vendor/rust/rust/templates/EnumDefinitions.rusttpl
         | 
| 116 | 
            +
            - vendor/rust/rust/templates/CxxStandaloneClassDefinitions.rusttpl
         | 
| 139 117 | 
             
            - vendor/rust/rust/templates/CxxMethodStub.rusttpl
         | 
| 140 | 
            -
            - vendor/rust/rust/ | 
| 141 | 
            -
            - vendor/rust/rust/ | 
| 142 | 
            -
            - vendor/rust/rust/ | 
| 143 | 
            -
            - vendor/rust/rust/ | 
| 144 | 
            -
            - vendor/rust/rust/ | 
| 145 | 
            -
            - vendor/rust/rust/ | 
| 146 | 
            -
            - vendor/rust/rust/ | 
| 147 | 
            -
            - vendor/rust/rust/ | 
| 118 | 
            +
            - vendor/rust/rust/templates/MethodInitBinding.rusttpl
         | 
| 119 | 
            +
            - vendor/rust/rust/templates/ModuleDefinitions.rusttpl
         | 
| 120 | 
            +
            - vendor/rust/rust/templates/VariableFunctionCall.rusttpl
         | 
| 121 | 
            +
            - vendor/rust/rust/templates/AttributeInitBinding.rusttpl
         | 
| 122 | 
            +
            - vendor/rust/rust/templates/BindingsHeader.rusttpl
         | 
| 123 | 
            +
            - vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl
         | 
| 124 | 
            +
            - vendor/rust/rust/templates/FunctionDefinition.rusttpl
         | 
| 125 | 
            +
            - vendor/rust/rust/templates/AttributeDefinition.rusttpl
         | 
| 126 | 
            +
            - vendor/rust/rust/templates/CxxClassDefinitions.rusttpl
         | 
| 148 127 | 
             
            - vendor/rust/rust/cppifaceparser.rb
         | 
| 149 | 
            -
            - vendor/rust/rust/cxxclass.rb
         | 
| 150 | 
            -
            - vendor/rust/rust/element.rb
         | 
| 151 128 | 
             
            - vendor/rust/rust/constants.rb
         | 
| 129 | 
            +
            - vendor/rust/rust/attribute.rb
         | 
| 152 130 | 
             
            - vendor/rust/rust/namespace.rb
         | 
| 131 | 
            +
            - vendor/rust/rust/enum.rb
         | 
| 132 | 
            +
            - vendor/rust/rust/function.rb
         | 
| 133 | 
            +
            - vendor/rust/test
         | 
| 134 | 
            +
            - vendor/rust/test/cppclass.rb
         | 
| 135 | 
            +
            - vendor/rust/test/cwrapper.h
         | 
| 136 | 
            +
            - vendor/rust/test/test-constants.rb
         | 
| 137 | 
            +
            - vendor/rust/test/cwrapper.rb
         | 
| 138 | 
            +
            - vendor/rust/test/operators.hh
         | 
| 139 | 
            +
            - vendor/rust/test/cppclass.cc
         | 
| 140 | 
            +
            - vendor/rust/test/Makefile
         | 
| 141 | 
            +
            - vendor/rust/test/test-cppclass.rb
         | 
| 142 | 
            +
            - vendor/rust/test/operators.rb
         | 
| 143 | 
            +
            - vendor/rust/test/cppclass.hh
         | 
| 144 | 
            +
            - vendor/rust/test/dummyclass.hh
         | 
| 145 | 
            +
            - vendor/rust/test/operators.cc
         | 
| 146 | 
            +
            - vendor/rust/test/constants.rb
         | 
| 147 | 
            +
            - vendor/rust/test/test-cwrapper.rb
         | 
| 148 | 
            +
            - vendor/rust/test/cwrapper.c
         | 
| 149 | 
            +
            - vendor/rust/test/lib
         | 
| 150 | 
            +
            - vendor/rust/test/lib/extension-test.rb
         | 
| 151 | 
            +
            - vendor/rust/test/test-operators.rb
         | 
| 152 | 
            +
            - vendor/rust/include
         | 
| 153 | 
            +
            - vendor/rust/include/rust_checks.hh
         | 
| 154 | 
            +
            - vendor/rust/include/rust_conversions.hh
         | 
| 153 155 | 
             
            - vendor/rust/rust.rb
         | 
| 154 | 
            -
            - vendor/rust/README
         | 
| 155 | 
            -
            - tasks/all_tasks.rb
         | 
| 156 | 
            -
            - tasks/distribution.rake
         | 
| 157 156 | 
             
            - tasks/website.rake
         | 
| 157 | 
            +
            - tasks/specs.rake
         | 
| 158 158 | 
             
            - tasks/svn.rake
         | 
| 159 159 | 
             
            - tasks/rcov.rake
         | 
| 160 | 
            -
            - tasks/ | 
| 160 | 
            +
            - tasks/all_tasks.rb
         | 
| 161 161 | 
             
            - tasks/dependencies.txt
         | 
| 162 | 
            +
            - tasks/distribution.rake
         | 
| 163 | 
            +
            - specs/logging.rb
         | 
| 164 | 
            +
            - specs/branch.rb
         | 
| 165 | 
            +
            - specs/enum_matrix.rb
         | 
| 166 | 
            +
            - specs/search.rb
         | 
| 167 | 
            +
            - specs/bool_var.rb
         | 
| 168 | 
            +
            - specs/distribution.rb
         | 
| 169 | 
            +
            - specs/spec_helper.rb
         | 
| 170 | 
            +
            - specs/int_var.rb
         | 
| 171 | 
            +
            - specs/enum_wrapper.rb
         | 
| 172 | 
            +
            - specs/model.rb
         | 
| 173 | 
            +
            - specs/set_var.rb
         | 
| 162 174 | 
             
            - specs/constraints
         | 
| 163 | 
            -
            - specs/constraints/boolean.rb
         | 
| 164 175 | 
             
            - specs/constraints/channel.rb
         | 
| 165 | 
            -
            - specs/constraints/ | 
| 176 | 
            +
            - specs/constraints/bool_enum_relation.rb
         | 
| 166 177 | 
             
            - specs/constraints/distinct.rb
         | 
| 178 | 
            +
            - specs/constraints/set_operation.rb
         | 
| 179 | 
            +
            - specs/constraints/element.rb
         | 
| 167 180 | 
             
            - specs/constraints/set_domain.rb
         | 
| 168 | 
            -
            - specs/constraints/ | 
| 169 | 
            -
            - specs/constraints/ | 
| 170 | 
            -
            - specs/constraints/int_relation.rb
         | 
| 171 | 
            -
            - specs/constraints/sort.rb
         | 
| 181 | 
            +
            - specs/constraints/arithmetic.rb
         | 
| 182 | 
            +
            - specs/constraints/constraints.rb
         | 
| 172 183 | 
             
            - specs/constraints/count.rb
         | 
| 184 | 
            +
            - specs/constraints/cardinality.rb
         | 
| 173 185 | 
             
            - specs/constraints/set_relation.rb
         | 
| 174 | 
            -
            - specs/constraints/ | 
| 175 | 
            -
            - specs/constraints/arithmetic.rb
         | 
| 176 | 
            -
            - specs/constraints/reification_sugar.rb
         | 
| 186 | 
            +
            - specs/constraints/extensional.rb
         | 
| 177 187 | 
             
            - specs/constraints/equality.rb
         | 
| 188 | 
            +
            - specs/constraints/boolean.rb
         | 
| 189 | 
            +
            - specs/constraints/int_relation.rb
         | 
| 190 | 
            +
            - specs/constraints/sort.rb
         | 
| 191 | 
            +
            - specs/constraints/constraint_helper.rb
         | 
| 192 | 
            +
            - specs/constraints/int_domain.rb
         | 
| 193 | 
            +
            - specs/constraints/reification_sugar.rb
         | 
| 194 | 
            +
            - specs/constraints/selection.rb
         | 
| 178 195 | 
             
            - specs/constraints/connection.rb
         | 
| 179 | 
            -
            - specs/constraints/cardinality.rb
         | 
| 180 | 
            -
            - specs/constraints/constraints.rb
         | 
| 181 196 | 
             
            - specs/constraints/linear.rb
         | 
| 182 | 
            -
            - specs/constraints/set_operation.rb
         | 
| 183 | 
            -
            - specs/constraints/extensional.rb
         | 
| 184 | 
            -
            - specs/constraints/bool_enum_relation.rb
         | 
| 185 | 
            -
            - specs/branch.rb
         | 
| 186 | 
            -
            - specs/model.rb
         | 
| 187 | 
            -
            - specs/binding_changes.rb
         | 
| 188 | 
            -
            - specs/int_var.rb
         | 
| 189 | 
            -
            - specs/bool_var.rb
         | 
| 190 | 
            -
            - specs/set_var.rb
         | 
| 191 | 
            -
            - specs/enum_wrapper.rb
         | 
| 192 | 
            -
            - specs/search.rb
         | 
| 193 | 
            -
            - specs/logging.rb
         | 
| 194 | 
            -
            - specs/enum_matrix.rb
         | 
| 195 | 
            -
            - specs/spec_helper.rb
         | 
| 196 | 
            -
            - specs/distribution.rb
         | 
| 197 197 | 
             
            - specs/examples.rb
         | 
| 198 | 
            -
            - ext/ | 
| 198 | 
            +
            - ext/gecoder.cpp
         | 
| 199 199 | 
             
            - ext/vararray.cpp
         | 
| 200 | 
            -
            - ext/ | 
| 200 | 
            +
            - ext/gecoder.h
         | 
| 201 201 | 
             
            - ext/vararray.h
         | 
| 202 202 | 
             
            - ext/extconf.rb
         | 
| 203 203 | 
             
            test_files: 
         | 
| 204 | 
            -
            - specs/ | 
| 204 | 
            +
            - specs/logging.rb
         | 
| 205 | 
            +
            - specs/branch.rb
         | 
| 206 | 
            +
            - specs/enum_matrix.rb
         | 
| 207 | 
            +
            - specs/search.rb
         | 
| 208 | 
            +
            - specs/bool_var.rb
         | 
| 209 | 
            +
            - specs/distribution.rb
         | 
| 210 | 
            +
            - specs/spec_helper.rb
         | 
| 211 | 
            +
            - specs/int_var.rb
         | 
| 212 | 
            +
            - specs/enum_wrapper.rb
         | 
| 213 | 
            +
            - specs/model.rb
         | 
| 214 | 
            +
            - specs/set_var.rb
         | 
| 205 215 | 
             
            - specs/constraints/channel.rb
         | 
| 206 | 
            -
            - specs/constraints/ | 
| 216 | 
            +
            - specs/constraints/bool_enum_relation.rb
         | 
| 207 217 | 
             
            - specs/constraints/distinct.rb
         | 
| 218 | 
            +
            - specs/constraints/set_operation.rb
         | 
| 219 | 
            +
            - specs/constraints/element.rb
         | 
| 208 220 | 
             
            - specs/constraints/set_domain.rb
         | 
| 209 | 
            -
            - specs/constraints/ | 
| 210 | 
            -
            - specs/constraints/ | 
| 211 | 
            -
            - specs/constraints/int_relation.rb
         | 
| 212 | 
            -
            - specs/constraints/sort.rb
         | 
| 221 | 
            +
            - specs/constraints/arithmetic.rb
         | 
| 222 | 
            +
            - specs/constraints/constraints.rb
         | 
| 213 223 | 
             
            - specs/constraints/count.rb
         | 
| 224 | 
            +
            - specs/constraints/cardinality.rb
         | 
| 214 225 | 
             
            - specs/constraints/set_relation.rb
         | 
| 215 | 
            -
            - specs/constraints/ | 
| 216 | 
            -
            - specs/constraints/arithmetic.rb
         | 
| 217 | 
            -
            - specs/constraints/reification_sugar.rb
         | 
| 226 | 
            +
            - specs/constraints/extensional.rb
         | 
| 218 227 | 
             
            - specs/constraints/equality.rb
         | 
| 228 | 
            +
            - specs/constraints/boolean.rb
         | 
| 229 | 
            +
            - specs/constraints/int_relation.rb
         | 
| 230 | 
            +
            - specs/constraints/sort.rb
         | 
| 231 | 
            +
            - specs/constraints/constraint_helper.rb
         | 
| 232 | 
            +
            - specs/constraints/int_domain.rb
         | 
| 233 | 
            +
            - specs/constraints/reification_sugar.rb
         | 
| 234 | 
            +
            - specs/constraints/selection.rb
         | 
| 219 235 | 
             
            - specs/constraints/connection.rb
         | 
| 220 | 
            -
            - specs/constraints/cardinality.rb
         | 
| 221 | 
            -
            - specs/constraints/constraints.rb
         | 
| 222 236 | 
             
            - specs/constraints/linear.rb
         | 
| 223 | 
            -
            - specs/constraints/set_operation.rb
         | 
| 224 | 
            -
            - specs/constraints/extensional.rb
         | 
| 225 | 
            -
            - specs/constraints/bool_enum_relation.rb
         | 
| 226 | 
            -
            - specs/branch.rb
         | 
| 227 | 
            -
            - specs/model.rb
         | 
| 228 | 
            -
            - specs/binding_changes.rb
         | 
| 229 | 
            -
            - specs/int_var.rb
         | 
| 230 | 
            -
            - specs/bool_var.rb
         | 
| 231 | 
            -
            - specs/set_var.rb
         | 
| 232 | 
            -
            - specs/enum_wrapper.rb
         | 
| 233 | 
            -
            - specs/search.rb
         | 
| 234 | 
            -
            - specs/logging.rb
         | 
| 235 | 
            -
            - specs/enum_matrix.rb
         | 
| 236 | 
            -
            - specs/spec_helper.rb
         | 
| 237 | 
            -
            - specs/distribution.rb
         | 
| 238 237 | 
             
            - specs/examples.rb
         | 
| 239 238 | 
             
            rdoc_options: 
         | 
| 240 239 | 
             
            - --title
         | 
| @@ -249,53 +248,55 @@ extra_rdoc_files: | |
| 249 248 | 
             
            - README
         | 
| 250 249 | 
             
            - CHANGES
         | 
| 251 250 | 
             
            - LGPL-LICENSE
         | 
| 252 | 
            -
            - lib/gecoder | 
| 253 | 
            -
            - lib/gecoder/ | 
| 254 | 
            -
            - lib/gecoder/interface/ | 
| 255 | 
            -
            - lib/gecoder/interface/ | 
| 256 | 
            -
            - lib/gecoder/interface/ | 
| 257 | 
            -
            - lib/gecoder/interface/constraints | 
| 258 | 
            -
            - lib/gecoder/interface/ | 
| 259 | 
            -
            - lib/gecoder/interface/ | 
| 251 | 
            +
            - lib/gecoder.rb
         | 
| 252 | 
            +
            - lib/gecoder/bindings.rb
         | 
| 253 | 
            +
            - lib/gecoder/interface/branch.rb
         | 
| 254 | 
            +
            - lib/gecoder/interface/enum_matrix.rb
         | 
| 255 | 
            +
            - lib/gecoder/interface/search.rb
         | 
| 256 | 
            +
            - lib/gecoder/interface/constraints.rb
         | 
| 257 | 
            +
            - lib/gecoder/interface/variables.rb
         | 
| 258 | 
            +
            - lib/gecoder/interface/enum_wrapper.rb
         | 
| 259 | 
            +
            - lib/gecoder/interface/model.rb
         | 
| 260 | 
            +
            - lib/gecoder/interface/constraints/set_var_constraints.rb
         | 
| 261 | 
            +
            - lib/gecoder/interface/constraints/extensional_regexp.rb
         | 
| 262 | 
            +
            - lib/gecoder/interface/constraints/int_enum_constraints.rb
         | 
| 263 | 
            +
            - lib/gecoder/interface/constraints/set/channel.rb
         | 
| 264 | 
            +
            - lib/gecoder/interface/constraints/set/cardinality.rb
         | 
| 265 | 
            +
            - lib/gecoder/interface/constraints/set/operation.rb
         | 
| 266 | 
            +
            - lib/gecoder/interface/constraints/set/connection.rb
         | 
| 267 | 
            +
            - lib/gecoder/interface/constraints/set/domain.rb
         | 
| 268 | 
            +
            - lib/gecoder/interface/constraints/set/relation.rb
         | 
| 269 | 
            +
            - lib/gecoder/interface/constraints/int/channel.rb
         | 
| 260 270 | 
             
            - lib/gecoder/interface/constraints/int/arithmetic.rb
         | 
| 261 271 | 
             
            - lib/gecoder/interface/constraints/int/linear.rb
         | 
| 262 | 
            -
            - lib/gecoder/interface/constraints/int/ | 
| 272 | 
            +
            - lib/gecoder/interface/constraints/int/domain.rb
         | 
| 273 | 
            +
            - lib/gecoder/interface/constraints/set_enum_constraints.rb
         | 
| 274 | 
            +
            - lib/gecoder/interface/constraints/bool/channel.rb
         | 
| 263 275 | 
             
            - lib/gecoder/interface/constraints/bool/boolean.rb
         | 
| 264 276 | 
             
            - lib/gecoder/interface/constraints/bool/linear.rb
         | 
| 265 | 
            -
            - lib/gecoder/interface/constraints/bool/channel.rb
         | 
| 266 | 
            -
            - lib/gecoder/interface/constraints/set/relation.rb
         | 
| 267 | 
            -
            - lib/gecoder/interface/constraints/set/connection.rb
         | 
| 268 | 
            -
            - lib/gecoder/interface/constraints/set/operation.rb
         | 
| 269 | 
            -
            - lib/gecoder/interface/constraints/set/cardinality.rb
         | 
| 270 | 
            -
            - lib/gecoder/interface/constraints/set/domain.rb
         | 
| 271 | 
            -
            - lib/gecoder/interface/constraints/int_enum/equality.rb
         | 
| 272 | 
            -
            - lib/gecoder/interface/constraints/int_enum/distinct.rb
         | 
| 273 | 
            -
            - lib/gecoder/interface/constraints/int_enum/sort.rb
         | 
| 274 277 | 
             
            - lib/gecoder/interface/constraints/int_enum/channel.rb
         | 
| 275 | 
            -
            - lib/gecoder/interface/constraints/int_enum/ | 
| 276 | 
            -
            - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
         | 
| 278 | 
            +
            - lib/gecoder/interface/constraints/int_enum/distinct.rb
         | 
| 277 279 | 
             
            - lib/gecoder/interface/constraints/int_enum/element.rb
         | 
| 280 | 
            +
            - lib/gecoder/interface/constraints/int_enum/arithmetic.rb
         | 
| 281 | 
            +
            - lib/gecoder/interface/constraints/int_enum/count.rb
         | 
| 278 282 | 
             
            - lib/gecoder/interface/constraints/int_enum/extensional.rb
         | 
| 279 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 283 | 
            +
            - lib/gecoder/interface/constraints/int_enum/equality.rb
         | 
| 284 | 
            +
            - lib/gecoder/interface/constraints/int_enum/sort.rb
         | 
| 285 | 
            +
            - lib/gecoder/interface/constraints/bool_var_constraints.rb
         | 
| 280 286 | 
             
            - lib/gecoder/interface/constraints/bool_enum_constraints.rb
         | 
| 281 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 287 | 
            +
            - lib/gecoder/interface/constraints/bool_enum/channel.rb
         | 
| 288 | 
            +
            - lib/gecoder/interface/constraints/bool_enum/extensional.rb
         | 
| 289 | 
            +
            - lib/gecoder/interface/constraints/bool_enum/relation.rb
         | 
| 282 290 | 
             
            - lib/gecoder/interface/constraints/int_var_constraints.rb
         | 
| 283 291 | 
             
            - lib/gecoder/interface/constraints/reifiable_constraints.rb
         | 
| 284 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 285 | 
            -
            - lib/gecoder/interface/constraints/ | 
| 286 | 
            -
            - lib/gecoder/interface/ | 
| 287 | 
            -
            - lib/gecoder/interface/ | 
| 292 | 
            +
            - lib/gecoder/interface/constraints/set_enum/channel.rb
         | 
| 293 | 
            +
            - lib/gecoder/interface/constraints/set_enum/distinct.rb
         | 
| 294 | 
            +
            - lib/gecoder/interface/constraints/set_enum/operation.rb
         | 
| 295 | 
            +
            - lib/gecoder/interface/constraints/set_enum/selection.rb
         | 
| 288 296 | 
             
            - lib/gecoder/interface/binding_changes.rb
         | 
| 289 | 
            -
            - lib/gecoder/interface/enum_wrapper.rb
         | 
| 290 | 
            -
            - lib/gecoder/interface/search.rb
         | 
| 291 | 
            -
            - lib/gecoder/interface/constraints.rb
         | 
| 292 | 
            -
            - lib/gecoder/interface/enum_matrix.rb
         | 
| 293 | 
            -
            - lib/gecoder/interface/variables.rb
         | 
| 294 | 
            -
            - lib/gecoder/bindings/bindings.rb
         | 
| 295 | 
            -
            - lib/gecoder/bindings.rb
         | 
| 296 | 
            -
            - lib/gecoder/interface.rb
         | 
| 297 297 | 
             
            - lib/gecoder/version.rb
         | 
| 298 | 
            -
            - lib/gecoder.rb
         | 
| 298 | 
            +
            - lib/gecoder/interface.rb
         | 
| 299 | 
            +
            - lib/gecoder/bindings/bindings.rb
         | 
| 299 300 | 
             
            executables: []
         | 
| 300 301 |  | 
| 301 302 | 
             
            extensions: 
         | 
    
        data/example/raw_bindings.rb
    DELETED
    
    | @@ -1,44 +0,0 @@ | |
| 1 | 
            -
            require File.dirname(__FILE__) + '/example_helper'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            # An example of using the raw bindings. Solves the send+more=money problem.
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            # Variables
         | 
| 6 | 
            -
            space = Gecode::Raw::Space.new
         | 
| 7 | 
            -
            letters = Gecode::Raw::IntVarArray.new(space, 8, 0, 9)
         | 
| 8 | 
            -
            space.own(letters, 'letters')
         | 
| 9 | 
            -
            s, e, n, d, m, o, r, y = (0..7).to_a.map{ |i| letters.at(i) }
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            # Constraints
         | 
| 12 | 
            -
            Gecode::Raw::post(space, (s * 1000 + e * 100 + n * 10  + d   + 
         | 
| 13 | 
            -
                                 m * 1000 + o * 100 + r * 10  + e).
         | 
| 14 | 
            -
                        equal(m * 10000 + o * 1000 + n * 100 + e * 10  + y ), 
         | 
| 15 | 
            -
                        Gecode::Raw::ICL_DEF, Gecode::Raw::PK_DEF)
         | 
| 16 | 
            -
            Gecode::Raw::rel(space, s, Gecode::Raw::IRT_NQ, 0, Gecode::Raw::ICL_DEF, 
         | 
| 17 | 
            -
              Gecode::Raw::PK_DEF)
         | 
| 18 | 
            -
            Gecode::Raw::rel(space, m, Gecode::Raw::IRT_NQ, 0, Gecode::Raw::ICL_DEF, 
         | 
| 19 | 
            -
              Gecode::Raw::PK_DEF)
         | 
| 20 | 
            -
            Gecode::Raw::distinct(space, letters, Gecode::Raw::ICL_DEF, Gecode::Raw::PK_DEF)
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            # Branching.
         | 
| 23 | 
            -
            Gecode::Raw::branch(space, letters, 
         | 
| 24 | 
            -
              Gecode::Raw::INT_VAR_SIZE_MIN, Gecode::Raw::INT_VAL_MIN)
         | 
| 25 | 
            -
             | 
| 26 | 
            -
            # Search
         | 
| 27 | 
            -
            COPY_DIST = 16
         | 
| 28 | 
            -
            ADAPTATION_DIST = 4 
         | 
| 29 | 
            -
            dfs = Gecode::Raw::DFS.new(space, COPY_DIST, ADAPTATION_DIST, 
         | 
| 30 | 
            -
              Gecode::Raw::Search::Stop.new)
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            space = dfs.next
         | 
| 33 | 
            -
            if space.nil?
         | 
| 34 | 
            -
              puts 'Failed'
         | 
| 35 | 
            -
            else
         | 
| 36 | 
            -
              puts 'Solution:'
         | 
| 37 | 
            -
              correct_letters = space.intVarArray('letters')
         | 
| 38 | 
            -
              arr = []
         | 
| 39 | 
            -
              correct_letters.size.times do |i|
         | 
| 40 | 
            -
                arr << correct_letters.at(i).val
         | 
| 41 | 
            -
              end
         | 
| 42 | 
            -
              puts arr.join(' ')
         | 
| 43 | 
            -
            end
         | 
| 44 | 
            -
             |