xrpn 1.1.5 → 1.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/xrpn +1 -3
- data/lib/xrpn.rb +1 -1
- data/xcmd/abs +7 -0
- data/xcmd/acos +10 -0
- data/xcmd/adate +12 -0
- data/xcmd/adateiso +13 -0
- data/xcmd/add +9 -0
- data/xcmd/adv +7 -0
- data/xcmd/agsub +8 -0
- data/xcmd/aleng +8 -0
- data/xcmd/almcat +7 -0
- data/xcmd/almnow +7 -0
- data/xcmd/anum +10 -0
- data/xcmd/aoff +7 -0
- data/xcmd/aon +7 -0
- data/xcmd/appchr +13 -0
- data/xcmd/apprec +13 -0
- data/xcmd/arcl +22 -0
- data/xcmd/arcli +7 -0
- data/xcmd/arclrec +30 -0
- data/xcmd/arot +13 -0
- data/xcmd/ashf +7 -0
- data/xcmd/asin +10 -0
- data/xcmd/asroom +7 -0
- data/xcmd/asto +21 -0
- data/xcmd/asub +8 -0
- data/xcmd/atan +10 -0
- data/xcmd/atime +26 -0
- data/xcmd/atime24 +21 -0
- data/xcmd/atox +9 -0
- data/xcmd/aview +7 -0
- data/xcmd/aviewc +7 -0
- data/xcmd/beep +7 -0
- data/xcmd/bindec +8 -0
- data/xcmd/cat +26 -0
- data/xcmd/cf +7 -0
- data/xcmd/chs +7 -0
- data/xcmd/cla +7 -0
- data/xcmd/clalma +7 -0
- data/xcmd/clalmx +7 -0
- data/xcmd/cld +6 -0
- data/xcmd/clear +7 -0
- data/xcmd/clfl +13 -0
- data/xcmd/clk12 +7 -0
- data/xcmd/clk24 +7 -0
- data/xcmd/clkeys +7 -0
- data/xcmd/clock +7 -0
- data/xcmd/clp +8 -0
- data/xcmd/clralms +7 -0
- data/xcmd/clrg +7 -0
- data/xcmd/clrgx +12 -0
- data/xcmd/cls +12 -0
- data/xcmd/clst +10 -0
- data/xcmd/clx +8 -0
- data/xcmd/cmdadd +7 -0
- data/xcmd/cmddel +7 -0
- data/xcmd/correct +7 -0
- data/xcmd/cos +10 -0
- data/xcmd/crflas +9 -0
- data/xcmd/crfld +9 -0
- data/xcmd/cube +8 -0
- data/xcmd/d_r +8 -0
- data/xcmd/date +8 -0
- data/xcmd/dateplus +12 -0
- data/xcmd/ddate +11 -0
- data/xcmd/dec +7 -0
- data/xcmd/decbin +8 -0
- data/xcmd/dechex +8 -0
- data/xcmd/decoct +8 -0
- data/xcmd/deg +7 -0
- data/xcmd/degq +7 -0
- data/xcmd/delchr +14 -0
- data/xcmd/delrec +12 -0
- data/xcmd/divide +9 -0
- data/xcmd/dmy +7 -0
- data/xcmd/dot +7 -0
- data/xcmd/dow +9 -0
- data/xcmd/drop +7 -0
- data/xcmd/dropy +7 -0
- data/xcmd/dse +40 -0
- data/xcmd/ed +7 -0
- data/xcmd/emdir +7 -0
- data/xcmd/emdirx +14 -0
- data/xcmd/emroom +7 -0
- data/xcmd/end +9 -0
- data/xcmd/eng +9 -0
- data/xcmd/enter +8 -0
- data/xcmd/exp +9 -0
- data/xcmd/expx1 +9 -0
- data/xcmd/fact +9 -0
- data/xcmd/fc +7 -0
- data/xcmd/fcc +8 -0
- data/xcmd/fcs +8 -0
- data/xcmd/fix +9 -0
- data/xcmd/fixq +7 -0
- data/xcmd/flsize +7 -0
- data/xcmd/frc +8 -0
- data/xcmd/fs +7 -0
- data/xcmd/fsc +8 -0
- data/xcmd/fss +8 -0
- data/xcmd/geir +11 -0
- data/xcmd/getas +7 -0
- data/xcmd/getfile +12 -0
- data/xcmd/getfilea +11 -0
- data/xcmd/getkey +9 -0
- data/xcmd/getkeyx +10 -0
- data/xcmd/getp +13 -0
- data/xcmd/getr +13 -0
- data/xcmd/getrec +8 -0
- data/xcmd/getrx +17 -0
- data/xcmd/getsub +7 -0
- data/xcmd/getweb +12 -0
- data/xcmd/getx +12 -0
- data/xcmd/grad +7 -0
- data/xcmd/gsb +7 -0
- data/xcmd/gto +23 -0
- data/xcmd/help +14 -0
- data/xcmd/hexdec +8 -0
- data/xcmd/hms +12 -0
- data/xcmd/hmsminus +14 -0
- data/xcmd/hmsplus +13 -0
- data/xcmd/hr +11 -0
- data/xcmd/inschr +14 -0
- data/xcmd/insrec +12 -0
- data/xcmd/int +8 -0
- data/xcmd/invf +7 -0
- data/xcmd/isg +40 -0
- data/xcmd/lastx +8 -0
- data/xcmd/lbl +6 -0
- data/xcmd/lift +8 -0
- data/xcmd/ln +8 -0
- data/xcmd/ln1x +8 -0
- data/xcmd/log +8 -0
- data/xcmd/mdy +7 -0
- data/xcmd/mean +11 -0
- data/xcmd/mod +13 -0
- data/xcmd/multiply +9 -0
- data/xcmd/oct +7 -0
- data/xcmd/octdec +8 -0
- data/xcmd/off +8 -0
- data/xcmd/on +7 -0
- data/xcmd/p_r +13 -0
- data/xcmd/pack +7 -0
- data/xcmd/page +13 -0
- data/xcmd/pagedel +8 -0
- data/xcmd/pageq +7 -0
- data/xcmd/pageswap +8 -0
- data/xcmd/pasn +7 -0
- data/xcmd/pcat +14 -0
- data/xcmd/pclps +12 -0
- data/xcmd/percent +9 -0
- data/xcmd/percentch +9 -0
- data/xcmd/pi +8 -0
- data/xcmd/posa +23 -0
- data/xcmd/posfl +26 -0
- data/xcmd/pow +9 -0
- data/xcmd/pprg +27 -0
- data/xcmd/pprgx +33 -0
- data/xcmd/pra +7 -0
- data/xcmd/prflags +8 -0
- data/xcmd/prompt +8 -0
- data/xcmd/prp +7 -0
- data/xcmd/prregs +8 -0
- data/xcmd/prstk +10 -0
- data/xcmd/prx +7 -0
- data/xcmd/prxm +21 -0
- data/xcmd/pse +7 -0
- data/xcmd/psize +7 -0
- data/xcmd/purfl +14 -0
- data/xcmd/r_d +8 -0
- data/xcmd/r_p +18 -0
- data/xcmd/rad +7 -0
- data/xcmd/rand +10 -0
- data/xcmd/rcl +23 -0
- data/xcmd/rclaf +7 -0
- data/xcmd/rclflag +16 -0
- data/xcmd/rclpt +8 -0
- data/xcmd/rclpta +16 -0
- data/xcmd/rclsw +7 -0
- data/xcmd/rdn +7 -0
- data/xcmd/recip +8 -0
- data/xcmd/regmove +18 -0
- data/xcmd/regswap +19 -0
- data/xcmd/reload +7 -0
- data/xcmd/reszfl +7 -0
- data/xcmd/rnd +8 -0
- data/xcmd/root +9 -0
- data/xcmd/rtn +12 -0
- data/xcmd/rubycmd +7 -0
- data/xcmd/runsw +7 -0
- data/xcmd/rup +7 -0
- data/xcmd/saveas +7 -0
- data/xcmd/savep +7 -0
- data/xcmd/saver +24 -0
- data/xcmd/saverx +31 -0
- data/xcmd/savex +10 -0
- data/xcmd/savexm +7 -0
- data/xcmd/sci +9 -0
- data/xcmd/sdev +11 -0
- data/xcmd/seekpt +10 -0
- data/xcmd/seekpta +7 -0
- data/xcmd/sep +7 -0
- data/xcmd/setaf +7 -0
- data/xcmd/setsw +7 -0
- data/xcmd/sf +7 -0
- data/xcmd/shellcmd +7 -0
- data/xcmd/sign +19 -0
- data/xcmd/sin +10 -0
- data/xcmd/size +7 -0
- data/xcmd/sizeq +7 -0
- data/xcmd/sminus +20 -0
- data/xcmd/splus +20 -0
- data/xcmd/sqr +8 -0
- data/xcmd/sqrt +8 -0
- data/xcmd/sreg +7 -0
- data/xcmd/sregq +7 -0
- data/xcmd/stdivide +22 -0
- data/xcmd/stmultiply +22 -0
- data/xcmd/sto +21 -0
- data/xcmd/stoflag +13 -0
- data/xcmd/stop +7 -0
- data/xcmd/stopsw +7 -0
- data/xcmd/stplus +22 -0
- data/xcmd/stsubtract +22 -0
- data/xcmd/subtract +9 -0
- data/xcmd/sw +7 -0
- data/xcmd/swap +7 -0
- data/xcmd/swpt +7 -0
- data/xcmd/tan +10 -0
- data/xcmd/tenx +8 -0
- data/xcmd/time +8 -0
- data/xcmd/tx +7 -0
- data/xcmd/version +7 -0
- data/xcmd/view +7 -0
- data/xcmd/writefile +12 -0
- data/xcmd/xeq +21 -0
- data/xcmd/xeq0 +7 -0
- data/xcmd/xeqnn +9 -0
- data/xcmd/xeqy +7 -0
- data/xcmd/xf +20 -0
- data/xcmd/xgt0 +7 -0
- data/xcmd/xgteq0 +7 -0
- data/xcmd/xgteqnn +9 -0
- data/xcmd/xgteqy +7 -0
- data/xcmd/xgtnn +9 -0
- data/xcmd/xgty +7 -0
- data/xcmd/xlt0 +7 -0
- data/xcmd/xlteq0 +7 -0
- data/xcmd/xlteqnn +9 -0
- data/xcmd/xlteqy +7 -0
- data/xcmd/xltnn +9 -0
- data/xcmd/xlty +7 -0
- data/xcmd/xmexistq +15 -0
- data/xcmd/xmfileq +7 -0
- data/xcmd/xneq0 +7 -0
- data/xcmd/xneqnn +9 -0
- data/xcmd/xneqy +7 -0
- data/xcmd/xnn +21 -0
- data/xcmd/xtoa +7 -0
- data/xcmd/xy +7 -0
- data/xcmd/xyzalm +7 -0
- data/xlib/_xrpn_version +5 -0
- data/xlib/bei +18 -0
- data/xlib/check +26 -0
- data/xlib/conditional +10 -0
- data/xlib/convert_base +8 -0
- data/xlib/debug_mode +124 -0
- data/xlib/dtparse +10 -0
- data/xlib/error +10 -0
- data/xlib/fact +7 -0
- data/xlib/getpt +7 -0
- data/xlib/help +12 -0
- data/xlib/hp_41 +83 -0
- data/xlib/ind +21 -0
- data/xlib/load_xm +28 -0
- data/xlib/locate_prg +32 -0
- data/xlib/numeric +62 -0
- data/xlib/numformat +12 -0
- data/xlib/optparse +23 -0
- data/xlib/read_cmd +12 -0
- data/xlib/read_state +6 -0
- data/xlib/save_state +18 -0
- data/xlib/save_xm +5 -0
- data/xlib/setpt +5 -0
- data/xlib/string +28 -0
- data/xlib/theme +23 -0
- data/xlib/xrpn_class +34 -0
- data/xrpn.gemspec +2 -2
- metadata +287 -2
data/xcmd/stmultiply
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
class XRPN
|
2
|
+
def stmultiply (r)
|
3
|
+
case r.downcase
|
4
|
+
when "x"
|
5
|
+
@l = @x
|
6
|
+
@x *= @x
|
7
|
+
when "y"
|
8
|
+
@y *= @x
|
9
|
+
when "z"
|
10
|
+
@z *= @x
|
11
|
+
when "t"
|
12
|
+
@t *= @x
|
13
|
+
when "l"
|
14
|
+
@l *= @x
|
15
|
+
else
|
16
|
+
@reg[r] = 0 if @reg[r] == nil
|
17
|
+
@reg[r] *= @x
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# vim:ft=ruby:
|
data/xcmd/sto
ADDED
data/xcmd/stoflag
ADDED
data/xcmd/stop
ADDED
data/xcmd/stopsw
ADDED
data/xcmd/stplus
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
class XRPN
|
2
|
+
def stplus (r)
|
3
|
+
case r.downcase
|
4
|
+
when "x"
|
5
|
+
@l = @x
|
6
|
+
@x += @x
|
7
|
+
when "y"
|
8
|
+
@y += @x
|
9
|
+
when "z"
|
10
|
+
@z += @x
|
11
|
+
when "t"
|
12
|
+
@t += @x
|
13
|
+
when "l"
|
14
|
+
@l += @x
|
15
|
+
else
|
16
|
+
@reg[r] = 0 if @reg[r] == nil
|
17
|
+
@reg[r] += @x
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# vim:ft=ruby:
|
data/xcmd/stsubtract
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
class XRPN
|
2
|
+
def stsubtract (r)
|
3
|
+
case r.downcase
|
4
|
+
when "x"
|
5
|
+
@l = @x
|
6
|
+
@x -= @x
|
7
|
+
when "y"
|
8
|
+
@y -= @x
|
9
|
+
when "z"
|
10
|
+
@z -= @x
|
11
|
+
when "t"
|
12
|
+
@t -= @x
|
13
|
+
when "l"
|
14
|
+
@l -= @x
|
15
|
+
else
|
16
|
+
@reg[r] = 0 if @reg[r] == nil
|
17
|
+
@reg[r] -= @x
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# vim:ft=ruby:
|
data/xcmd/subtract
ADDED
data/xcmd/sw
ADDED
data/xcmd/swap
ADDED
data/xcmd/swpt
ADDED
data/xcmd/tan
ADDED
data/xcmd/tenx
ADDED
data/xcmd/time
ADDED
data/xcmd/tx
ADDED
data/xcmd/version
ADDED
data/xcmd/view
ADDED
data/xcmd/writefile
ADDED
data/xcmd/xeq
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class XRPN
|
2
|
+
def xeq (l)
|
3
|
+
page, pos = locate_prg (l)
|
4
|
+
if pos == nil
|
5
|
+
if l.match(/".*"/)
|
6
|
+
return "Error: No such global label: #{l}"
|
7
|
+
else
|
8
|
+
return "Error: No such label: #{l}"
|
9
|
+
end
|
10
|
+
else
|
11
|
+
if @page != @pg
|
12
|
+
@pg = page
|
13
|
+
end
|
14
|
+
@rtn.push(@pc) unless $debug
|
15
|
+
@pc = pos
|
16
|
+
$debug = false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# vim:ft=ruby:
|
data/xcmd/xeq0
ADDED
data/xcmd/xeqnn
ADDED
data/xcmd/xeqy
ADDED
data/xcmd/xf
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
class XRPN
|
2
|
+
def xf # X<>F
|
3
|
+
fsumx = 0
|
4
|
+
7.times do |f|
|
5
|
+
fl = "%02d" % [f]
|
6
|
+
fsumx += 2 ** f if @flg[fl]
|
7
|
+
fl = "%02d" % [7 - f]
|
8
|
+
fx = 2 ** (7 - f)
|
9
|
+
if @x / fx >= 1
|
10
|
+
@flg[fl] = true
|
11
|
+
@x -= fx
|
12
|
+
else
|
13
|
+
@flg[fl] = false
|
14
|
+
end
|
15
|
+
end
|
16
|
+
@x = fsumx
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# vim:ft=ruby:
|
data/xcmd/xgt0
ADDED
data/xcmd/xgteq0
ADDED
data/xcmd/xgteqnn
ADDED
data/xcmd/xgteqy
ADDED
data/xcmd/xgtnn
ADDED
data/xcmd/xgty
ADDED
data/xcmd/xlt0
ADDED
data/xcmd/xlteq0
ADDED
data/xcmd/xlteqnn
ADDED
data/xcmd/xlteqy
ADDED
data/xcmd/xltnn
ADDED
data/xcmd/xlty
ADDED
data/xcmd/xmexistq
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
class XRPN
|
2
|
+
def xmexist?
|
3
|
+
f = Dir.home + "/.xrpn/data/" + @a
|
4
|
+
if File.exist?(f + ".da")
|
5
|
+
return "YES (DA)"
|
6
|
+
elsif File.exist?(f + ".as")
|
7
|
+
return "YES (AS)"
|
8
|
+
elsif File.exist?(f + ".pr")
|
9
|
+
return "YES (PR)"
|
10
|
+
else return "NO"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# vim:ft=ruby:
|
data/xcmd/xmfileq
ADDED
data/xcmd/xneq0
ADDED
data/xcmd/xneqnn
ADDED
data/xcmd/xneqy
ADDED
data/xcmd/xnn
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class XRPN
|
2
|
+
def xnn (r) # X<> r
|
3
|
+
case r.downcase
|
4
|
+
when "x"
|
5
|
+
@l = @x
|
6
|
+
when "y"
|
7
|
+
@x, @y = @y, @x
|
8
|
+
when "z"
|
9
|
+
@x, @z = @z, @x
|
10
|
+
when "t"
|
11
|
+
@x, @t = @t, @x
|
12
|
+
when "l"
|
13
|
+
@x, @l = @l, @x
|
14
|
+
else
|
15
|
+
@reg[r] = 0 if @reg[r] == nil
|
16
|
+
@x, @reg[r] = @reg[r], @x
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# vim:ft=ruby:
|
data/xcmd/xtoa
ADDED
data/xcmd/xy
ADDED
data/xcmd/xyzalm
ADDED
data/xlib/_xrpn_version
ADDED
data/xlib/bei
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
def x2bei (x)
|
2
|
+
b = x.to_i
|
3
|
+
e = (1000 * (x - b)).to_i
|
4
|
+
i = (((1000 * x) - (1000 * x).to_i) * 100).round()
|
5
|
+
i = 1 if i == 0
|
6
|
+
return b, e, i
|
7
|
+
end
|
8
|
+
|
9
|
+
def bei2x (b, e, i)
|
10
|
+
b = b.to_i
|
11
|
+
e = e.to_i
|
12
|
+
i = 1 if i == 0
|
13
|
+
i = i.to_i
|
14
|
+
x = b.to_f + (e.to_f / 1000) + (i.to_f / 100000)
|
15
|
+
return x
|
16
|
+
end
|
17
|
+
|
18
|
+
# vim:ft=ruby:
|
data/xlib/check
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
def check(file)
|
2
|
+
load Dir.home+"/.xrpn/lib/read_cmd"
|
3
|
+
read_cmd
|
4
|
+
errors = 0
|
5
|
+
if File.exist?(file)
|
6
|
+
cfile = File.read(file).split("\n")
|
7
|
+
else
|
8
|
+
puts "No such file: #{file}"
|
9
|
+
exit
|
10
|
+
end
|
11
|
+
cfile41 = hp_41(cfile.dup)
|
12
|
+
cfile41.each_with_index do |line, i|
|
13
|
+
if line.match(/^-*[\d\.,e]+$/)
|
14
|
+
elsif line.match(/^>?".*"/)
|
15
|
+
else
|
16
|
+
l1 = line.split[0]
|
17
|
+
if not $cmd.include?(l1.downcase)
|
18
|
+
puts "Line #{i + 1}: No such command: #{cfile[i]}"
|
19
|
+
errors += 1
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
puts "Errors = #{errors}"
|
24
|
+
end
|
25
|
+
|
26
|
+
# vim:ft=ruby:
|
data/xlib/conditional
ADDED