#
# kihon9.rb
#   $Id: kihon9.rb,v 1.2 2000/11/18 19:03:33 keiko Exp $
#


require "narray"
require "numru/dcl"
include NumRu
include NMath


nmax = 40
xmin = 0.0
xmax = 4*PI
ymin = -1.0
ymax = 1.0

x = NArray.sfloat(nmax+1)
y = NArray.sfloat(nmax+1)

#-- data ---
dt = xmax/nmax
x = x.indgen * dt
y = sin(x)

#-- graph ---
iws = (ARGV[0] || (puts ' WORKSTATION ID (I)  ? ;'; DCL::sgpwsn; gets)).to_i
DCL::sgopn iws

DCL::sgfrm

#--  ラインタイプ = 4 (デフォルト) ----
DCL::sgswnd(xmin, xmax, ymin, ymax)
DCL::sgsvpt(0.0, 1.0, 0.7, 0.9)
DCL::sgstrn(1)
DCL::sgstrf

DCL::sgsplt(4)
DCL::sgplu(x, y)

#--  ラインタイプ = 4 (BITLEN*2) ----
DCL::sgswnd(xmin, xmax, ymin, ymax)
DCL::sgsvpt(0.0, 1.0, 0.5, 0.7)
DCL::sgstrn(1)
DCL::sgstrf

DCL::sgrset('BITLEN', 0.006)
DCL::sgplu(x, y)

DCL::sgrset('BITLEN', 0.003)

#--  ビットパターン ----
DCL::sgswnd(xmin, xmax, ymin, ymax)
DCL::sgsvpt(0.0, 1.0, 0.3, 0.5)
DCL::sgstrn(1)
DCL::sgstrf

#itype = bitpci('1111111100100100')
itype = '0b1111111100100100'.oct
DCL::sgsplt(itype)
DCL::sgplu(x, y)

#--  ビットパターン(倍長) ----
DCL::sgswnd(xmin, xmax, ymin, ymax)
DCL::sgsvpt(0.0, 1.0, 0.1, 0.3)
DCL::sgstrn(1)
DCL::sgstrf

DCL::sgiset('NBITS', 32)
#itype = bitpci('10010010011111000111110001111100')
itype =  '0b10010010011111000111110001111100'.oct -  ('0b1' + "0"*32).oct 
DCL::sgsplt(itype)
DCL::sgplu(x, y)

DCL::sgcls

