zadt 1.1.6 → 1.1.7
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/README.md +1 -1
- data/lib/ADT_requireables.rb +25 -5
- data/lib/zadt/AbstractDataTypes/Geometrics/circle.rb +0 -13
- data/lib/zadt/AbstractDataTypes/Geometrics/hypersphere.rb +1 -13
- data/lib/zadt/AbstractDataTypes/Geometrics/sphere.rb +1 -6
- data/lib/zadt/AbstractDataTypes/Geometrics/universe.rb +0 -12
- data/lib/zadt/AbstractDataTypes/Graph/face.rb +0 -2
- data/lib/zadt/AbstractDataTypes/Graph/face_graph.rb +1 -14
- data/lib/zadt/AbstractDataTypes/Graph/graph.rb +0 -14
- data/lib/zadt/AbstractDataTypes/LinkedList/DoublyLinkedList.rb +0 -15
- data/lib/zadt/AbstractDataTypes/LinkedList/LinkedList.rb +0 -14
- data/lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb +0 -8
- data/lib/zadt/AbstractDataTypes/StackQueue/MinMaxStackQueue.rb +0 -8
- data/lib/zadt/AbstractDataTypes/StackQueue/Queue.rb +0 -8
- data/lib/zadt/AbstractDataTypes/StackQueue/Stack.rb +0 -8
- data/lib/zadt/AbstractDataTypes/StackQueue/StackQueue.rb +0 -8
- data/lib/zadt/HelpModules/Functionality/Geometrics/circle.rb +18 -0
- data/lib/zadt/HelpModules/Functionality/Geometrics/hypersphere.rb +16 -0
- data/lib/zadt/HelpModules/Functionality/Geometrics/point.rb +15 -0
- data/lib/zadt/HelpModules/Functionality/Geometrics/sphere.rb +12 -0
- data/lib/zadt/HelpModules/Functionality/Geometrics/universe.rb +17 -0
- data/lib/zadt/HelpModules/Functionality/Graph/face_graph.rb +18 -0
- data/lib/zadt/HelpModules/Functionality/Graph/graph.rb +17 -0
- data/lib/zadt/HelpModules/Functionality/LinkedList/DoublyLinkedList.rb +18 -0
- data/lib/zadt/HelpModules/Functionality/LinkedList/LinkedList.rb +17 -0
- data/lib/zadt/HelpModules/Functionality/StackQueue/MinMaxStack.rb +11 -0
- data/lib/zadt/HelpModules/Functionality/StackQueue/MinMaxStackQueue.rb +11 -0
- data/lib/zadt/HelpModules/Functionality/StackQueue/Queue.rb +11 -0
- data/lib/zadt/HelpModules/Functionality/StackQueue/Stack.rb +11 -0
- data/lib/zadt/HelpModules/Functionality/StackQueue/StackQueue.rb +11 -0
- data/lib/zadt/HelpModules/{adt_geometrics_help.rb → HelpMessages/adt_geometrics_help.rb} +7 -1
- data/lib/zadt/HelpModules/{adt_graph_help.rb → HelpMessages/adt_graph_help.rb} +0 -0
- data/lib/zadt/HelpModules/{adt_help.rb → HelpMessages/adt_help.rb} +0 -0
- data/lib/zadt/HelpModules/{adt_linkedlist_help.rb → HelpMessages/adt_linkedlist_help.rb} +0 -0
- data/lib/zadt/HelpModules/{adt_stackqueue_help.rb → HelpMessages/adt_stackqueue_help.rb} +0 -0
- data/lib/zadt/version.rb +1 -1
- metadata +21 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e077ecc13dfd06489a8588c926dfa0f23447dcb9
|
4
|
+
data.tar.gz: 3c792b1cc7a6dee406d972044a8f0ac8bd2444d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 080cc8814ba043c655fce9a3f0758bfcfe3807e3616dc755d30dba50b1e6f3f5385d8d0cf9f3835e3b8f78691969194cda25f38a1bc331808da4a18f111114e0
|
7
|
+
data.tar.gz: 7902c95e1ca70a81332b5d083d945b22d0e5367b9ea773a4e7282b10c50fbf8911f171c40abfcfdbca1f420d54e25c8e0839f7b4957f30359c2de0a3554ef2ef
|
data/README.md
CHANGED
@@ -125,7 +125,7 @@ In addition, the universe has the class method Universe.distance(pointA, pointB)
|
|
125
125
|
|
126
126
|
A HyperSphere is a set of points within a certain number of dimensions that are equidistant (equal distance) from a given point. The number of dimensions is defined by the number of coordinates in its center. For example, a two-dimensional sphere (called a Circle) has a center of (x,y).
|
127
127
|
|
128
|
-
Upon creation, a HyperSphere is given a radius and a center (default is the 4-dimensional Unit Sphere, of radius 1 and center [0,0,0,0]). HyperSpheres are immutable.
|
128
|
+
Upon creation, a HyperSphere is given a radius and a center (default is the 4-dimensional Unit Sphere, of radius 1 and center [0,0,0,0]). HyperSpheres are immutable, meaning the radius and center cannot be changed.
|
129
129
|
|
130
130
|
A HyperSphere has the following methods
|
131
131
|
* on?(point) will return if a point is on the HyperSphere.
|
data/lib/ADT_requireables.rb
CHANGED
@@ -2,11 +2,31 @@
|
|
2
2
|
# This is so the client does not have access to these private classes
|
3
3
|
# Ex. A client cannot make an edge other than within a graph.
|
4
4
|
|
5
|
-
require_relative 'zadt/HelpModules/adt_help.rb'
|
6
|
-
require_relative 'zadt/HelpModules/adt_stackqueue_help.rb'
|
7
|
-
require_relative 'zadt/HelpModules/adt_graph_help.rb'
|
8
|
-
require_relative 'zadt/HelpModules/adt_geometrics_help.rb'
|
9
|
-
require_relative 'zadt/HelpModules/adt_linkedlist_help.rb'
|
5
|
+
require_relative 'zadt/HelpModules/HelpMessages/adt_help.rb'
|
6
|
+
require_relative 'zadt/HelpModules/HelpMessages/adt_stackqueue_help.rb'
|
7
|
+
require_relative 'zadt/HelpModules/HelpMessages/adt_graph_help.rb'
|
8
|
+
require_relative 'zadt/HelpModules/HelpMessages/adt_geometrics_help.rb'
|
9
|
+
require_relative 'zadt/HelpModules/HelpMessages/adt_linkedlist_help.rb'
|
10
|
+
|
11
|
+
|
12
|
+
require_relative 'zadt/HelpModules/Functionality/StackQueue/Queue.rb'
|
13
|
+
require_relative 'zadt/HelpModules/Functionality/StackQueue/Stack.rb'
|
14
|
+
require_relative 'zadt/HelpModules/Functionality/StackQueue/StackQueue.rb'
|
15
|
+
require_relative 'zadt/HelpModules/Functionality/StackQueue/MinMaxStack.rb'
|
16
|
+
require_relative 'zadt/HelpModules/Functionality/StackQueue/MinMaxStackQueue.rb'
|
17
|
+
|
18
|
+
require_relative 'zadt/HelpModules/Functionality/Geometrics/circle.rb'
|
19
|
+
require_relative 'zadt/HelpModules/Functionality/Geometrics/hypersphere.rb'
|
20
|
+
require_relative 'zadt/HelpModules/Functionality/Geometrics/point.rb'
|
21
|
+
require_relative 'zadt/HelpModules/Functionality/Geometrics/sphere.rb'
|
22
|
+
require_relative 'zadt/HelpModules/Functionality/Geometrics/universe.rb'
|
23
|
+
|
24
|
+
require_relative 'zadt/HelpModules/Functionality/Graph/face_graph.rb'
|
25
|
+
require_relative 'zadt/HelpModules/Functionality/Graph/graph.rb'
|
26
|
+
|
27
|
+
require_relative 'zadt/HelpModules/Functionality/LinkedList/LinkedList.rb'
|
28
|
+
require_relative 'zadt/HelpModules/Functionality/LinkedList/DoublyLinkedList.rb'
|
29
|
+
|
10
30
|
|
11
31
|
require_relative 'zadt/AbstractDataTypes/StackQueue/Stack.rb'
|
12
32
|
require_relative 'zadt/AbstractDataTypes/StackQueue/Queue.rb'
|
@@ -6,14 +6,6 @@ class Circle < HyperSphere
|
|
6
6
|
super(radius, center, pct_error)
|
7
7
|
end
|
8
8
|
|
9
|
-
def help
|
10
|
-
Circle.help
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.help
|
14
|
-
Circle.show_help_message
|
15
|
-
end
|
16
|
-
|
17
9
|
def area
|
18
10
|
dim_check(2)
|
19
11
|
Math::PI * (@radius ** 2)
|
@@ -30,11 +22,6 @@ class Circle < HyperSphere
|
|
30
22
|
|
31
23
|
private
|
32
24
|
|
33
|
-
def self.show_help_message
|
34
|
-
super
|
35
|
-
Zadt::ADT::show_circle_help_message
|
36
|
-
end
|
37
|
-
|
38
25
|
def circle_equation
|
39
26
|
dim_check(2)
|
40
27
|
center_point = @center.dup
|
@@ -10,14 +10,6 @@ class HyperSphere
|
|
10
10
|
@pct_error = pct_error
|
11
11
|
end
|
12
12
|
|
13
|
-
def self.help
|
14
|
-
Sphere.show_help_message
|
15
|
-
end
|
16
|
-
|
17
|
-
def help
|
18
|
-
Sphere.help
|
19
|
-
end
|
20
|
-
|
21
13
|
def on?(point)
|
22
14
|
Zadt::Universe.distance(@center, point).round(2) == radius.round(2)
|
23
15
|
end
|
@@ -36,7 +28,7 @@ class HyperSphere
|
|
36
28
|
|
37
29
|
def equation
|
38
30
|
dims = @center.dims
|
39
|
-
return circle_equation if
|
31
|
+
return circle_equation if is_a?(Circle)
|
40
32
|
center_point = @center.dup
|
41
33
|
# Only get the variables used in that dimension
|
42
34
|
coord_names = ("a".."z").to_a.slice(-dims, dims)
|
@@ -65,8 +57,4 @@ class HyperSphere
|
|
65
57
|
raise "dimension error" unless num == @center.dims
|
66
58
|
end
|
67
59
|
|
68
|
-
def self.show_help_message
|
69
|
-
Zadt::ADT::show_hypersphere_help_message
|
70
|
-
end
|
71
|
-
|
72
60
|
end
|
@@ -3,11 +3,11 @@ require_relative "hypersphere.rb"
|
|
3
3
|
class Sphere < HyperSphere
|
4
4
|
|
5
5
|
def initialize(radius = 1, center = [0,0,0], pct_error = 1)
|
6
|
+
raise "Sphere must be in 3-dimensions" unless center.length == 3
|
6
7
|
super(radius, center, pct_error)
|
7
8
|
end
|
8
9
|
|
9
10
|
def volume
|
10
|
-
dim_check(3)
|
11
11
|
Math::PI * (@radius ** 3) * 4.0 / 3.0
|
12
12
|
end
|
13
13
|
|
@@ -22,11 +22,6 @@ class Sphere < HyperSphere
|
|
22
22
|
|
23
23
|
private
|
24
24
|
|
25
|
-
def self.show_help_message
|
26
|
-
super
|
27
|
-
Zadt::ADT::show_sphere_help_message
|
28
|
-
end
|
29
|
-
|
30
25
|
def close_enough(guess, exact)
|
31
26
|
range = Array.new
|
32
27
|
range[0] = exact *(100.0 - @pct_error)/100.0
|
@@ -11,14 +11,6 @@ module Zadt
|
|
11
11
|
@objects = []
|
12
12
|
end
|
13
13
|
|
14
|
-
def self.help
|
15
|
-
Universe.show_help_message
|
16
|
-
end
|
17
|
-
|
18
|
-
def help
|
19
|
-
Universe.help
|
20
|
-
end
|
21
|
-
|
22
14
|
def self.distance(pointa, pointb)
|
23
15
|
raise "different dimensions" if pointa.dims != pointb.dims
|
24
16
|
coordinate_distances = Array.new
|
@@ -47,9 +39,5 @@ module Zadt
|
|
47
39
|
return if !@num_dim
|
48
40
|
raise "Wrong number of dimensions" if point.dims != @num_dim
|
49
41
|
end
|
50
|
-
|
51
|
-
def self.show_help_message
|
52
|
-
Zadt::ADT::show_universe_help_message
|
53
|
-
end
|
54
42
|
end
|
55
43
|
end
|
@@ -16,15 +16,6 @@ module Zadt
|
|
16
16
|
super
|
17
17
|
end
|
18
18
|
|
19
|
-
def self.help
|
20
|
-
FaceGraph.show_help_message
|
21
|
-
end
|
22
|
-
|
23
|
-
def help
|
24
|
-
FaceGraph.help
|
25
|
-
end
|
26
|
-
|
27
|
-
|
28
19
|
def add_face(edges_array)
|
29
20
|
edge_array_check(edges_array)
|
30
21
|
face = Face.new(edges_array)
|
@@ -124,7 +115,7 @@ module Zadt
|
|
124
115
|
neighbors - [face]
|
125
116
|
end
|
126
117
|
|
127
|
-
|
118
|
+
private
|
128
119
|
|
129
120
|
def vertex_array_check(vertex_array)
|
130
121
|
raise "invalid vertex array" unless vertex_array.is_a?(Array)
|
@@ -157,9 +148,5 @@ module Zadt
|
|
157
148
|
face2.remove_neighbor(face1)
|
158
149
|
face1.remove_neighbor(face2)
|
159
150
|
end
|
160
|
-
|
161
|
-
def self.show_help_message
|
162
|
-
Zadt::ADT::show_face_graph_help_message
|
163
|
-
end
|
164
151
|
end
|
165
152
|
end
|
@@ -20,14 +20,6 @@ module Zadt
|
|
20
20
|
@value = Hash.new
|
21
21
|
end
|
22
22
|
|
23
|
-
def help
|
24
|
-
Graph.help
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.help
|
28
|
-
Graph.show_help_message
|
29
|
-
end
|
30
|
-
|
31
23
|
# Add a vertex
|
32
24
|
def add_vertex
|
33
25
|
vertex = Vertex.new
|
@@ -98,11 +90,5 @@ module Zadt
|
|
98
90
|
raise "Vertices are not connected"
|
99
91
|
end
|
100
92
|
end
|
101
|
-
|
102
|
-
private
|
103
|
-
|
104
|
-
def self.show_help_message
|
105
|
-
Zadt::ADT::show_graph_help_message
|
106
|
-
end
|
107
93
|
end
|
108
94
|
end
|
@@ -21,20 +21,5 @@ module Zadt
|
|
21
21
|
@prev = node
|
22
22
|
node.next = self if node.next != self
|
23
23
|
end
|
24
|
-
|
25
|
-
def help
|
26
|
-
LinkedListNode.help
|
27
|
-
end
|
28
|
-
|
29
|
-
def self.help
|
30
|
-
LinkedListNode.show_help_message
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
def self.show_help_message
|
36
|
-
Zadt::ADT::show_linkedlistnode_help_message
|
37
|
-
end
|
38
|
-
|
39
24
|
end
|
40
25
|
end
|
@@ -5,19 +5,5 @@ module Zadt
|
|
5
5
|
@val = val
|
6
6
|
@next = next_
|
7
7
|
end
|
8
|
-
|
9
|
-
def help
|
10
|
-
LinkedListNode.help
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.help
|
14
|
-
LinkedListNode.show_help_message
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def self.show_help_message
|
20
|
-
Zadt::ADT::show_linkedlist_help_message
|
21
|
-
end
|
22
8
|
end
|
23
9
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative "../../../AbstractDataTypes/Geometrics/hypersphere.rb"
|
2
|
+
|
3
|
+
class Circle < HyperSphere
|
4
|
+
def help
|
5
|
+
Circle.help
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.help
|
9
|
+
Circle.show_help_message
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def self.show_help_message
|
15
|
+
super
|
16
|
+
Zadt::ADT::show_circle_help_message
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative "../../../AbstractDataTypes/Graph/face_graph.rb"
|
2
|
+
module Zadt
|
3
|
+
class FaceGraph < Graph
|
4
|
+
def self.help
|
5
|
+
FaceGraph.show_help_message
|
6
|
+
end
|
7
|
+
|
8
|
+
def help
|
9
|
+
FaceGraph.help
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def self.show_help_message
|
15
|
+
Zadt::ADT::show_face_graph_help_message
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Zadt
|
2
|
+
class DoublyLinkedListNode
|
3
|
+
def help
|
4
|
+
LinkedListNode.help
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.help
|
8
|
+
LinkedListNode.show_help_message
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def self.show_help_message
|
14
|
+
Zadt::ADT::show_linkedlistnode_help_message
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -7,6 +7,12 @@ module Zadt
|
|
7
7
|
puts "#self.distance(pointA, pointB)"
|
8
8
|
end
|
9
9
|
|
10
|
+
def self.show_point_help_message
|
11
|
+
puts "Here are the methods for Point:"
|
12
|
+
puts "#coords,"
|
13
|
+
puts "#dims, the number of dimensions in the coordinates"
|
14
|
+
end
|
15
|
+
|
10
16
|
def self.show_hypersphere_help_message
|
11
17
|
puts "Here are the methods for HyperSphere:"
|
12
18
|
puts "#on?(point)"
|
@@ -21,7 +27,7 @@ module Zadt
|
|
21
27
|
puts "#surface_area"
|
22
28
|
puts "#equation, which returns a string in the form of (x-a)^2 + (y-b)^2 + (z-c)^2 = r^2"
|
23
29
|
end
|
24
|
-
|
30
|
+
|
25
31
|
def self.show_circle_help_message
|
26
32
|
puts "The following methods are specific to a Circle (2-dimensions):"
|
27
33
|
puts "#area"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/zadt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zadt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Zagorski
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -96,11 +96,25 @@ files:
|
|
96
96
|
- lib/zadt/AbstractDataTypes/StackQueue/Queue.rb
|
97
97
|
- lib/zadt/AbstractDataTypes/StackQueue/Stack.rb
|
98
98
|
- lib/zadt/AbstractDataTypes/StackQueue/StackQueue.rb
|
99
|
-
- lib/zadt/HelpModules/
|
100
|
-
- lib/zadt/HelpModules/
|
101
|
-
- lib/zadt/HelpModules/
|
102
|
-
- lib/zadt/HelpModules/
|
103
|
-
- lib/zadt/HelpModules/
|
99
|
+
- lib/zadt/HelpModules/Functionality/Geometrics/circle.rb
|
100
|
+
- lib/zadt/HelpModules/Functionality/Geometrics/hypersphere.rb
|
101
|
+
- lib/zadt/HelpModules/Functionality/Geometrics/point.rb
|
102
|
+
- lib/zadt/HelpModules/Functionality/Geometrics/sphere.rb
|
103
|
+
- lib/zadt/HelpModules/Functionality/Geometrics/universe.rb
|
104
|
+
- lib/zadt/HelpModules/Functionality/Graph/face_graph.rb
|
105
|
+
- lib/zadt/HelpModules/Functionality/Graph/graph.rb
|
106
|
+
- lib/zadt/HelpModules/Functionality/LinkedList/DoublyLinkedList.rb
|
107
|
+
- lib/zadt/HelpModules/Functionality/LinkedList/LinkedList.rb
|
108
|
+
- lib/zadt/HelpModules/Functionality/StackQueue/MinMaxStack.rb
|
109
|
+
- lib/zadt/HelpModules/Functionality/StackQueue/MinMaxStackQueue.rb
|
110
|
+
- lib/zadt/HelpModules/Functionality/StackQueue/Queue.rb
|
111
|
+
- lib/zadt/HelpModules/Functionality/StackQueue/Stack.rb
|
112
|
+
- lib/zadt/HelpModules/Functionality/StackQueue/StackQueue.rb
|
113
|
+
- lib/zadt/HelpModules/HelpMessages/adt_geometrics_help.rb
|
114
|
+
- lib/zadt/HelpModules/HelpMessages/adt_graph_help.rb
|
115
|
+
- lib/zadt/HelpModules/HelpMessages/adt_help.rb
|
116
|
+
- lib/zadt/HelpModules/HelpMessages/adt_linkedlist_help.rb
|
117
|
+
- lib/zadt/HelpModules/HelpMessages/adt_stackqueue_help.rb
|
104
118
|
- lib/zadt/version.rb
|
105
119
|
- zadt.gemspec
|
106
120
|
homepage: https://github.com/MrMicrowaveOven/zadt.git
|