SparseMatrixProject 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +14 -0
- data/Gemfile +13 -0
- data/Gemfile~ +12 -0
- data/Guardfile +8 -0
- data/LICENSE.txt +1 -1
- data/LICENSE.txt~ +22 -0
- data/README.md +16 -1
- data/README.md~ +47 -0
- data/Rakefile +4 -0
- data/Rakefile~ +17 -0
- data/SparseMatrixProject.gemspec~ +23 -0
- data/bin/SparseMatrixProject +3 -0
- data/bin/SparseMatrixProject~ +0 -0
- data/lib/SparseMatrixProject/version.rb +1 -1
- data/lib/SparseMatrixProject/version.rb~ +3 -0
- data/lib/SparseMatrixProject.rb~ +5 -0
- data/lib/gcd.rb +15 -0
- data/lib/gcd.rb~ +8 -0
- data/lib/matrix_main.rb~ +71 -0
- data/lib/matriz.rb~ +507 -0
- data/lib/racional.rb +146 -0
- data/lib/racional.rb~ +146 -0
- data/spec/racional_spec.rb +119 -0
- data/spec/racional_spec.rb~ +119 -0
- data/test/tc_Matrices.rb +42 -0
- data/test/tc_Matrices.rb~ +42 -0
- metadata +31 -4
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in SparseMatrixProject.gemspec
|
4
|
+
<<<<<<< HEAD
|
4
5
|
gemspec
|
6
|
+
=======
|
7
|
+
gem 'nokogiri'
|
8
|
+
gem 'rack', '~>1.1'
|
9
|
+
gem 'rspec', :require => 'spec'
|
10
|
+
|
11
|
+
gem 'rake'
|
12
|
+
gem 'rspec'
|
13
|
+
gem 'guard'
|
14
|
+
gem 'guard-rspec'
|
15
|
+
gem 'guard-bundler'
|
16
|
+
gem 'guard-gitpusher'
|
17
|
+
>>>>>>> 74a54b5fee97668eefe84bad85ac0e0a70ac726c
|
data/Gemfile~
ADDED
data/Guardfile
ADDED
data/LICENSE.txt
CHANGED
data/LICENSE.txt~
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Jacobo Saavedra
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
<<<<<<< HEAD
|
1
2
|
# SparseMatrixProject
|
2
|
-
|
3
|
+
|
3
4
|
TODO: Write a gem description
|
4
5
|
|
5
6
|
## Installation
|
@@ -27,3 +28,17 @@ TODO: Write usage instructions here
|
|
27
28
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
29
|
4. Push to the branch (`git push origin my-new-feature`)
|
29
30
|
5. Create new Pull Request
|
31
|
+
=======
|
32
|
+
PRÁCTICA 11
|
33
|
+
---------------------
|
34
|
+
Aarón José Vera Cerdeña
|
35
|
+
|
36
|
+
Jacobo Saavedra Valdés
|
37
|
+
|
38
|
+
1.Utilizamos la práctica 10 con la estructura ya creada.
|
39
|
+
2.Añadimos a los métodos suma y producto de matrices las funciones upto,times
|
40
|
+
y collect sustituyendolo por los bucles correspondientes.
|
41
|
+
3.Comentamos todo el código siguiendo la estructura por niveles que exige el RDOC.
|
42
|
+
4.Creamos la segunda version de la gema con las nuevas implementaciones.
|
43
|
+
5.Subimos la gema a RubyGems mediante el comando gem push <gema>.
|
44
|
+
>>>>>>> 74a54b5fee97668eefe84bad85ac0e0a70ac726c
|
data/README.md~
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
<<<<<<< HEAD
|
2
|
+
# SparseMatrixProject
|
3
|
+
|
4
|
+
TODO: Write a gem description
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
gem 'SparseMatrixProject'
|
11
|
+
|
12
|
+
And then execute:
|
13
|
+
|
14
|
+
$ bundle
|
15
|
+
|
16
|
+
Or install it yourself as:
|
17
|
+
|
18
|
+
$ gem install SparseMatrixProject
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
TODO: Write usage instructions here
|
23
|
+
|
24
|
+
## Contributing
|
25
|
+
|
26
|
+
1. Fork it
|
27
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
28
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
29
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
30
|
+
5. Create new Pull Request
|
31
|
+
=======
|
32
|
+
PRÁCTICA 10
|
33
|
+
---------------------
|
34
|
+
Aarón José Vera Cerdeña
|
35
|
+
|
36
|
+
Jacobo Saavedra Valdés
|
37
|
+
|
38
|
+
1.Utilizamos la práctica 9 creamos la gema e implementamos la jerarquía de clases dentro de la misma,
|
39
|
+
donde se heredaban las mismas.
|
40
|
+
Para diseñar la estructura donde implementar los métodos que hiciesen operaciones entre operaciones
|
41
|
+
densas y dispersas.
|
42
|
+
2.En la parte Test Unit creamos un fichero tc_Matrices.rb donde realizamos las pruebas unitarias utilizando
|
43
|
+
el comando assert_equal para comprobar las operaciones entre las diferentes matrices.
|
44
|
+
3.Rellenar el archivo spec implementando las operaciones entre las matrices.
|
45
|
+
4.Implementar los nuevos métodos de máximo y mínimo para comprobar su funcionamiento con las mátrices.
|
46
|
+
5.Subir la gema a RubyGems mediante el comando gem push <gema>.
|
47
|
+
>>>>>>> 74a54b5fee97668eefe84bad85ac0e0a70ac726c
|
data/Rakefile
CHANGED
data/Rakefile~
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
<<<<<<< HEAD
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
=======
|
4
|
+
$:.unshift File.dirname(__FILE__) + 'lib'
|
5
|
+
$:.unshift './lib', './spec'
|
6
|
+
|
7
|
+
require 'rspec/core/rake_task'
|
8
|
+
RSpec::Core::RakeTask.new
|
9
|
+
task :default => :spec
|
10
|
+
|
11
|
+
desc "Run UniTest Matrices"
|
12
|
+
task :test do
|
13
|
+
sh "ruby -Ilib -Itest test/tc_Matrices.rb"
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
>>>>>>> 74a54b5fee97668eefe84bad85ac0e0a70ac726c
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'SparseMatrixProject/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "SparseMatrixProject"
|
8
|
+
spec.version = SparseMatrixProject::VERSION
|
9
|
+
spec.authors = ["Jacobo Saavedra Valdes", "Aaron Jose Vera Cerdeña"]
|
10
|
+
spec.email = ["alu0100658682@ull.edu.es", "alu0100537451@ull.edu.es"]
|
11
|
+
spec.description = %q{Gema para realizar suma y resta entre matrices densas y dispersas}
|
12
|
+
spec.summary = %q{Matrices dispersas y densas}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = ""
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
end
|
File without changes
|
data/lib/gcd.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#=gcd.rb
|
2
|
+
#
|
3
|
+
# Autores:: Aarón José Vera Cerdeña,Jacobo Saavedra Valdes
|
4
|
+
#
|
5
|
+
# == Este fichero contiene:
|
6
|
+
# Se calcula el máximo común divisor de las fracciones
|
7
|
+
#
|
8
|
+
def gcd(u, v)
|
9
|
+
u, v = u.abs, v.abs
|
10
|
+
while v > 0
|
11
|
+
u, v = v, u % v
|
12
|
+
end
|
13
|
+
u
|
14
|
+
end
|
15
|
+
|
data/lib/gcd.rb~
ADDED
data/lib/matrix_main.rb~
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
require "../lib/matriz.rb"
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
matrizden1 = Densa.new(3,3[1,3,5,2,4,6,7,8,9])
|
6
|
+
matrizden2 = Densa.new(3,3[1,3,5,2,4,6,7,8,9])
|
7
|
+
matrizdenS = Densa.new(3,3[0,0,0,0,0,0,0,0,0])
|
8
|
+
|
9
|
+
matrizdenS = matrizden1 + matrizden2
|
10
|
+
puts "#{(matrizdenS.to_s)}"
|
11
|
+
=begin
|
12
|
+
matriz2 = Matrices.new([[2,4,6],[1,3,5],[2,7,8]])
|
13
|
+
|
14
|
+
matrizs = Matrices.new([[0,0,0],[0,0,0],[0,0,0]])
|
15
|
+
|
16
|
+
matriz4 = Matrices.new([[5,5,7],[4,5,8],[7,8,9]])
|
17
|
+
|
18
|
+
matriz5 = Matrices.new([[2,4,6],[1,3,5],[2,7,8]])
|
19
|
+
|
20
|
+
matrizr = Matrices.new([[0,0,0],[0,0,0],[0,0,0]])
|
21
|
+
|
22
|
+
matrizt = Matrices.new([[5,5,7],[4,5,8],[7,8,9]])
|
23
|
+
|
24
|
+
matrizo = Matrices.new([[2,4,6],[1,3,5],[2,7,8]])
|
25
|
+
|
26
|
+
####
|
27
|
+
puts "####"
|
28
|
+
puts "#{matriz1.dispersa}"
|
29
|
+
puts "####"
|
30
|
+
####
|
31
|
+
|
32
|
+
puts "Matriz 1"
|
33
|
+
|
34
|
+
puts "#{matriz1.mostrar}"
|
35
|
+
|
36
|
+
puts "Matriz 2"
|
37
|
+
|
38
|
+
puts "#{matriz2.mostrar}"
|
39
|
+
##SUMA
|
40
|
+
matrizs = matriz1 + matriz2
|
41
|
+
|
42
|
+
puts "SUMA:"
|
43
|
+
|
44
|
+
puts "#{matrizs.mostrar}"
|
45
|
+
##RESTA
|
46
|
+
puts "RESTA:"
|
47
|
+
|
48
|
+
matrizr = matriz4 - matriz5
|
49
|
+
|
50
|
+
puts "#{matrizr.mostrar}"
|
51
|
+
##PRODUCTO
|
52
|
+
puts "PRODUCTO:"
|
53
|
+
|
54
|
+
matriz3 = matriz1 * matriz2
|
55
|
+
|
56
|
+
puts "#{matriz3.mostrar}"
|
57
|
+
##TRASPUESTAS
|
58
|
+
puts "TRASPUESTA de la primera matriz:"
|
59
|
+
|
60
|
+
puts "#{matrizt.traspuesta.mostrar}"
|
61
|
+
|
62
|
+
##OPUESTA
|
63
|
+
|
64
|
+
#
|
65
|
+
puts "OPUESTA de la segunda matriz:"
|
66
|
+
|
67
|
+
puts "#{matrizo.opuesta.mostrar}"
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
=end
|