scs 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +17 -3
- data/ext/scs/extconf.rb +29 -0
- data/lib/scs/version.rb +1 -1
- metadata +5 -5
- data/ext/scs/Rakefile +0 -11
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 6336ca9d1433f92e77c259062923fa2ce96888d215a6070b5e780730b621571a
         | 
| 4 | 
            +
              data.tar.gz: 264f3030f2ddf34565c33dba5d1af5dc6ac8bc11f7ef1f4cf9130646825b48b5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6a8ffbd1707be25370186a84542eec3b37f13e452a7f202b04c1386c11fb0df05ccadf86d4268a926cae2266e6b21daf3f19925731bf71eb934360e5772f7b9a
         | 
| 7 | 
            +
              data.tar.gz: 850a9e91d62bade7ac1e644745f7eb3b9194d09f894ed6e54f29ab3923d746a8f6ee641c99789f9a0768563e280654b585293ff9bbd9ada09a9f613d4155434a
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -4,6 +4,8 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            :fire: Supports many different [problem types](https://www.cvxpy.org/tutorial/advanced/index.html#choosing-a-solver)
         | 
| 6 6 |  | 
| 7 | 
            +
            [](https://travis-ci.org/ankane/scs) [](https://ci.appveyor.com/project/ankane/scs/branch/master)
         | 
| 8 | 
            +
             | 
| 7 9 | 
             
            ## Installation
         | 
| 8 10 |  | 
| 9 11 | 
             
            Add this line to your application’s Gemfile:
         | 
| @@ -12,6 +14,8 @@ Add this line to your application’s Gemfile: | |
| 12 14 | 
             
            gem 'scs'
         | 
| 13 15 | 
             
            ```
         | 
| 14 16 |  | 
| 17 | 
            +
            If installation fails, you may need to install [dependencies](#dependencies).
         | 
| 18 | 
            +
             | 
| 15 19 | 
             
            ## Getting Started
         | 
| 16 20 |  | 
| 17 21 | 
             
            Prep the problem
         | 
| @@ -25,7 +29,7 @@ And solve it | |
| 25 29 |  | 
| 26 30 | 
             
            ```ruby
         | 
| 27 31 | 
             
            solver = SCS::Solver.new
         | 
| 28 | 
            -
             | 
| 32 | 
            +
            solver.solve(data, cone)
         | 
| 29 33 | 
             
            ```
         | 
| 30 34 |  | 
| 31 35 | 
             
            ## Settings
         | 
| @@ -56,6 +60,16 @@ SCS comes with two solvers: a direct solver which uses a cached LDL factorizatio | |
| 56 60 | 
             
            SCS::Solver.new(indirect: true)
         | 
| 57 61 | 
             
            ```
         | 
| 58 62 |  | 
| 63 | 
            +
            ## Dependencies
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            BLAS and LAPACK are required for SCS.
         | 
| 66 | 
            +
             | 
| 67 | 
            +
            ```sh
         | 
| 68 | 
            +
            sudo apt-get install libblas-dev liblapack-dev
         | 
| 69 | 
            +
            ```
         | 
| 70 | 
            +
             | 
| 71 | 
            +
            On Heroku, use the [heroku-apt-buildpack](https://github.com/heroku/heroku-buildpack-apt).
         | 
| 72 | 
            +
             | 
| 59 73 | 
             
            ## Resources
         | 
| 60 74 |  | 
| 61 75 | 
             
            - [Conic Optimization via Operator Splitting and Homogeneous Self-Dual Embedding](https://web.stanford.edu/~boyd/papers/scs.html)
         | 
| @@ -73,10 +87,10 @@ Everyone is encouraged to help improve this project. Here are a few ways you can | |
| 73 87 | 
             
            - Write, clarify, or fix documentation
         | 
| 74 88 | 
             
            - Suggest or add new features
         | 
| 75 89 |  | 
| 76 | 
            -
            To get started with development | 
| 90 | 
            +
            To get started with development:
         | 
| 77 91 |  | 
| 78 92 | 
             
            ```sh
         | 
| 79 | 
            -
            git clone https://github.com/ankane/scs.git
         | 
| 93 | 
            +
            git clone --recursive https://github.com/ankane/scs.git
         | 
| 80 94 | 
             
            cd scs
         | 
| 81 95 | 
             
            bundle install
         | 
| 82 96 | 
             
            bundle exec rake compile
         | 
    
        data/ext/scs/extconf.rb
    ADDED
    
    | @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            require "mkmf"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            def run(command)
         | 
| 4 | 
            +
              puts ">> #{command}"
         | 
| 5 | 
            +
              unless system(command)
         | 
| 6 | 
            +
                raise "Command failed"
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
            end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            def inreplace(file, pattern, replacement)
         | 
| 11 | 
            +
              contents = File.read(file)
         | 
| 12 | 
            +
              File.write(file, contents.gsub(pattern, replacement))
         | 
| 13 | 
            +
            end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            arch = RbConfig::CONFIG["arch"]
         | 
| 16 | 
            +
            puts "Arch: #{arch}"
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            scs = File.expand_path("../../vendor/scs", __dir__)
         | 
| 19 | 
            +
            Dir.chdir(scs) do
         | 
| 20 | 
            +
              case arch
         | 
| 21 | 
            +
              when /mingw/
         | 
| 22 | 
            +
                inreplace("scs.mk", "USE_LAPACK = 1", "USE_LAPACK = 0")
         | 
| 23 | 
            +
                run "ridk exec make"
         | 
| 24 | 
            +
              else
         | 
| 25 | 
            +
                run "make"
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            File.write("Makefile", dummy_makefile("scs").join)
         | 
    
        data/lib/scs/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: scs
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andrew Kane
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019-11- | 
| 11 | 
            +
            date: 2019-11-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -70,13 +70,13 @@ description: | |
| 70 70 | 
             
            email: andrew@chartkick.com
         | 
| 71 71 | 
             
            executables: []
         | 
| 72 72 | 
             
            extensions:
         | 
| 73 | 
            -
            - ext/scs/ | 
| 73 | 
            +
            - ext/scs/extconf.rb
         | 
| 74 74 | 
             
            extra_rdoc_files: []
         | 
| 75 75 | 
             
            files:
         | 
| 76 76 | 
             
            - CHANGELOG.md
         | 
| 77 77 | 
             
            - LICENSE.txt
         | 
| 78 78 | 
             
            - README.md
         | 
| 79 | 
            -
            - ext/scs/ | 
| 79 | 
            +
            - ext/scs/extconf.rb
         | 
| 80 80 | 
             
            - lib/scs.rb
         | 
| 81 81 | 
             
            - lib/scs/ffi.rb
         | 
| 82 82 | 
             
            - lib/scs/solver.rb
         | 
| @@ -196,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 196 196 | 
             
                - !ruby/object:Gem::Version
         | 
| 197 197 | 
             
                  version: '0'
         | 
| 198 198 | 
             
            requirements: []
         | 
| 199 | 
            -
            rubygems_version: 3.0. | 
| 199 | 
            +
            rubygems_version: 3.0.3
         | 
| 200 200 | 
             
            signing_key: 
         | 
| 201 201 | 
             
            specification_version: 4
         | 
| 202 202 | 
             
            summary: SCS - the splitting conic solver - for Ruby
         |