require "narray" if /cygwin|mingw/ =~ RUBY_PLATFORM begin require "glib2" rescue LoadError end end require "numru/dcl_raw" module NumRu module DCL #<<< private functions >>> def not_nary( na ) if defined?(NArrayMiss) !na.is_a?(NArray) && !na.is_a?(NArrayMiss) else !na.is_a?(NArray) end end module_function :not_nary private_class_method :not_nary #<<< ??p(set|stx|get) >>> %w!gl sl sg uc ud ue ug ul um uu uz!.each do |pkg| %w!set stx!.each do |set| eval <<-EOS def #{pkg}p#{set}( name, value ) case name when /^l/i DCL.#{pkg}l#{set}(name,value) when /^[i-n]/i DCL.#{pkg}i#{set}(name,value) else DCL.#{pkg}r#{set}(name,value) end end module_function :#{pkg}p#{set} EOS end eval <<-EOS def #{pkg}pget( name ) case name when /^l/i DCL.#{pkg}lget(name) when /^[i-n]/i DCL.#{pkg}iget(name) else DCL.#{pkg}rget(name) end end module_function :#{pkg}pget EOS end %w!us!.each do |pkg| %w!set stx!.each do |set| eval <<-EOS def #{pkg}p#{set}( name, value ) case name when /^c/i DCL.#{pkg}c#{set}(name,value) when /^l/i DCL.#{pkg}l#{set}(name,value) when /^[i-n]/i DCL.#{pkg}i#{set}(name,value) else DCL.#{pkg}r#{set}(name,value) end end module_function :#{pkg}p#{set} EOS end eval <<-EOS def #{pkg}pget( name ) case name when /^c/i DCL.#{pkg}cget(name) when /^l/i DCL.#{pkg}lget(name) when /^[i-n]/i DCL.#{pkg}iget(name) else DCL.#{pkg}rget(name) end end module_function :#{pkg}pget EOS end @@sw_char_params = [/^WSNAME/i,/^FONT/i,/^CL2TN$/i,/^FNAME$/i,/^TITLE$/i, /^CLRMAP$/i,/^LPR$/i] %w!set stx!.each do |set| eval <<-EOS def swp#{set}(name, value) case name when *@@sw_char_params DCL.swl#{set}(name,value) when /^l/i DCL.swl#{set}(name,value) when /^[i-n]/i DCL.swi#{set}(name,value) else DCL.swr#{set}(name,value) end end module_function :swp#{set} EOS end def swpget( name ) case name when *@@sw_char_params DCL.swcget(name) when /^l/i DCL.swlget(name) when /^[i-n]/i DCL.swiget(name) else DCL.swrget(name) end end module_function :swpget #<<< to eliminate array length arguments >>>