ragni-cas 0.1.2 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 09856ab0553a66e76a5a9bd71ddc59d12ec2af28
4
- data.tar.gz: a5bd297c51c96b39731d4a561572010c74d5013a
3
+ metadata.gz: 3b2ffa2dcbd78af09927a604e69f2a565a81a37e
4
+ data.tar.gz: 134be78382ccefbada1ab75dbcc3869c4d4204e9
5
5
  SHA512:
6
- metadata.gz: ac2fc2c0e02c3991e53034fc7d56c85469191b4acb83a33933460301dddb2f8eed6822576ade3b4bafa6625a752e75e9875bf3c5a63344cc043a9ac9bd0dfd2d
7
- data.tar.gz: 533b0f98f738d4f8281d49e23a1576374b7aad6f1e3e8ec5d929b5756e607f0712c4ac977457002bf607d8d4b33474fed722b7c592c44bb4422b9e3a150b2eb1
6
+ metadata.gz: df5f85762fccdfce9d886aaadaec1b0648867e05bde256c0d24c3b8ae3b89bfb71863023bc14b36811352ca2b89f03002c5a80768a7f451da8e31566015bb643
7
+ data.tar.gz: c43b45ee2efab3ed5d4a786d76a9b4d10a1b69f0fa01949d03422b6ac21a8b35817c03aaf05f73129e2ceb2e4111892323790d83aa9a45daa0eee2f0bd822af8
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/numbers.rb CHANGED
@@ -40,12 +40,22 @@ module CAS
40
40
  # \ V / _` | '_| / _` | '_ \ / -_)
41
41
  # \_/\__,_|_| |_\__,_|_.__/_\___|
42
42
  class Variable < CAS::Op
43
+ @@counter = 0
44
+ @@vars = {}
45
+
46
+ def self.all_variables
47
+ @@vars
48
+ end
49
+
43
50
  def initialize(name = "x")
44
51
  self.is(name)
52
+ @@vars[@identifier] = self
53
+ @@counter = @@counter + 1
45
54
  end
46
55
 
47
56
  def is(name)
48
57
  @name = name
58
+ @identifier = "var[#{@@counter}]"
49
59
  end
50
60
 
51
61
  def diff(v)
@@ -64,6 +74,10 @@ module CAS
64
74
  "#{@name}"
65
75
  end
66
76
 
77
+ def to_code
78
+ "#{@identifier}"
79
+ end
80
+
67
81
  def simplify
68
82
  return self
69
83
  end
data/lib/op.rb CHANGED
@@ -45,7 +45,7 @@ module CAS
45
45
  end
46
46
 
47
47
  def to_code
48
- raise CASError, "Not implemented. This is a virtual method"
48
+ "#{@x}"
49
49
  end
50
50
 
51
51
  def +(op)
@@ -76,6 +76,18 @@ module CAS
76
76
  @x = @x.simplify
77
77
  end
78
78
  end
79
+
80
+ def inspect
81
+ self.to_code
82
+ end
83
+
84
+ def as_proc
85
+ eval <<-EOP
86
+ Proc.new do |var|
87
+ #{self.to_code}
88
+ end
89
+ EOP
90
+ end
79
91
  end # Op
80
92
 
81
93
  # ___ _ ___
data/lib/ragni-cas.rb CHANGED
@@ -7,10 +7,7 @@ require_relative 'fnc-trig.rb'
7
7
  require_relative 'fnc-trsc.rb'
8
8
 
9
9
  module CAS
10
- VERSION = [0, 1, 2]
11
-
12
- def self.as_method(binding, op)
13
- code = op.to_code
14
- puts code
10
+ def self.as_proc(obj, op)
11
+ eval("Proc.new do |var|; #{op.to_code}; end")
15
12
  end
16
13
  end
data/lib/version.rb ADDED
@@ -0,0 +1,7 @@
1
+
2
+ #!/usr/bin/env ruby
3
+
4
+ module CAS
5
+ VERSION = [0, 1, 4]
6
+ end
7
+
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ragni-cas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Ragni
@@ -29,7 +29,7 @@ cert_chain:
29
29
  XorZtzkkLImvKFj35xKLFfVkv0Vd8tGQoiL8vdmQNJjAjtE+C+Y7OI4dpiZPKO4G
30
30
  R/8JOvUuk9jPbyLxjQH/sFaFqqYGX2xo1zk2CRy/A0WhJrSaXVw1r5lEi7b0W5gg
31
31
  -----END CERTIFICATE-----
32
- date: 2016-07-19 00:00:00.000000000 Z
32
+ date: 2016-07-20 00:00:00.000000000 Z
33
33
  dependencies: []
34
34
  description:
35
35
  email: info@ragni.me
@@ -43,6 +43,7 @@ files:
43
43
  - lib/numbers.rb
44
44
  - lib/op.rb
45
45
  - lib/ragni-cas.rb
46
+ - lib/version.rb
46
47
  homepage: https://github.com/MatteoRagni/cas-rb
47
48
  licenses:
48
49
  - MIT
metadata.gz.sig CHANGED
Binary file