xrpn 2.0 → 2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9008be323da1eee11b22525fc7a1ca512a7682a12cbe03f8a7cb0964a5a80d5
4
- data.tar.gz: 2e70c297fd2e010fdb85c7b078ffa79da3bff4b06aab3154de79c083a12430be
3
+ metadata.gz: 9b24dce24109f4a7222e21c8512f6d94abc5249627b5c5fcb3c445ad3f6fd6d4
4
+ data.tar.gz: c1f0dcc7aeb1b15e9f2301305069c8845b02da91fae7a955f39bf29c533835b0
5
5
  SHA512:
6
- metadata.gz: '093cf06d45e2db7c771acde846fe23119aa040bc0a13b4f509bed71371750e0cfbcfee0563cc3e01d72d7f36acb0bbd7dd80521a419ba1749e5cf447ec7a59b3'
7
- data.tar.gz: 8041978530c6fb78fb50a8f63efb662513a588e1b4b047ac620432789b1a364c92426cb7135575e217cac198eb1d0276572ddaec0fefab3d0850a7b3aa9abfe8
6
+ metadata.gz: 6f900855140a10644b1a83bfa50de31e74c2ac1468e7fc2284f698187e69538515a19744893b0f4c1d7cb3fe88a9b749628386803be304d72a99538685ecb0ed
7
+ data.tar.gz: 25471831a90d05f1138baad38554922c3ef43efe7d7195313d521ed1e29665b459b67dbc94b99fa2d94360665204117684ca532836fbaed76a426d015826ac14
data/xlib/_xrpn_version CHANGED
@@ -1,5 +1,5 @@
1
1
  def xrpn_version
2
- puts "XRPN version: 2.0"
2
+ puts "XRPN version: 2.1"
3
3
  puts "RubyGem version: " + Gem.latest_spec_for("xrpn").version.to_s
4
4
  end
5
5
 
data/xlib/debug_mode CHANGED
@@ -9,8 +9,8 @@ def debug_mode
9
9
  @p.prstk
10
10
  @line = @debugprompt.ask(">")
11
11
  unless @line == nil or @line.length == 1
12
- @line = [@line]
13
- @line = hp_41(@line)[0]
12
+ @line = hp_41([@line])[0]
13
+ #@line = rxcmd(@line)
14
14
  end
15
15
  end
16
16
  case @line
@@ -87,6 +87,13 @@ def debug_mode
87
87
  @p.prg[@p.pg].insert(@p.pc + 1, @line.sub(/^\+\+ /, ''))
88
88
  when "--"
89
89
  @p.prg[@p.pg].delete_at(@p.pc)
90
+ when /^:/
91
+ begin
92
+ eval @line[1..-1]
93
+ rescue StandardError => err
94
+ puts err
95
+ end
96
+ break
90
97
  when nil # A simple ENTER
91
98
  @line = "lift"
92
99
  break
data/xlib/numeric CHANGED
@@ -36,12 +36,16 @@ class Numeric
36
36
  s = x.to_i.to_s
37
37
  self < 0 ? m = "-" : m = ""
38
38
  s.sub!(/-/, '')
39
- f = x.frc.to_s[0..(i + 1)].to_f
40
- f = f.to_s.sub(/../, '')
39
+ f = (x.frc * 10 ** i).round.to_i.to_s
40
+ if f.length > i # Fix rounding overflow
41
+ s = (x + 1).to_i.to_s
42
+ f = f[1..-1]
43
+ end
44
+ f = f.to_s
41
45
  i > 0 ? s.sub!(/(\d*\.)(\d{,#{i}}).*/, '\1\2') : s.sub!(/(\d*).*/, '\1')
42
46
  if e.abs >= n # If exponent kicks in
43
47
  s += "." + f.ljust(i, "0")
44
- s += "e"
48
+ s += " e"
45
49
  if ge < 0
46
50
  s += "-"
47
51
  s.sub!(/0\.(\d)/, '\1.')
data/xrpn.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'xrpn'
3
- s.version = '2.0'
3
+ s.version = '2.1'
4
4
  s.licenses = ['Unlicense']
5
5
  s.summary = "XRPN - The eXtended RPN (Reverse Polish Notation) programming language"
6
- s.description = "A full programming language and environment extending the features of the venerable HP calculator programmable calculators. With XRPN you can accomplish a wide range of modern programming tasks as well as running existing HP-41 FOCAL programs directly. XRPN gives modern life to tens of thousands of old HP calculator programs and opens the possibilities to many, many more. New in 2.0: Startup speed 4X. Added command 'cmds'."
6
+ s.description = "A full programming language and environment extending the features of the venerable HP calculator programmable calculators. With XRPN you can accomplish a wide range of modern programming tasks as well as running existing HP-41 FOCAL programs directly. XRPN gives modern life to tens of thousands of old HP calculator programs and opens the possibilities to many, many more. New in 2.0: Startup speed 4X. Added command 'cmds'. 2.1: Fixed rounding overflow bug. Added : commands to access underlying Ruby."
7
7
 
8
8
  s.authors = ["Geir Isene"]
9
9
  s.email = 'g@isene.com'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xrpn
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.0'
4
+ version: '2.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-25 00:00:00.000000000 Z
11
+ date: 2024-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-prompt
@@ -29,7 +29,8 @@ description: 'A full programming language and environment extending the features
29
29
  a wide range of modern programming tasks as well as running existing HP-41 FOCAL
30
30
  programs directly. XRPN gives modern life to tens of thousands of old HP calculator
31
31
  programs and opens the possibilities to many, many more. New in 2.0: Startup speed
32
- 4X. Added command ''cmds''.'
32
+ 4X. Added command ''cmds''. 2.1: Fixed rounding overflow bug. Added : commands to
33
+ access underlying Ruby.'
33
34
  email: g@isene.com
34
35
  executables:
35
36
  - xrpn