Module: SeisRuby::Data::Sac::Ascii::Head

Defined in:
lib/seis_ruby/data/sac/ascii/head.rb

Constant Summary collapse

N_LINES =
30
RANGES_15_BY_5 =
[[(0..14), (15..29), (30..44), (45..59), (60..-1)]]
RANGE_10_BY_5 =
[[(0..9), (10..19), (20..29), (30..39), (40..-1)]]
RANGES_8_BY_3 =
[[(0..7), (8..15), (16..-1)]]
RANGES =
[
  *(RANGES_15_BY_5*14),
  *(RANGE_10_BY_5*8),
  [(0..7), (8..-1)],
  *(RANGES_8_BY_3*7),
]
FORMATS_15_7G_BY_5 =
["%#15.7g", "%#15.7g", "%#15.7g", "%#15.7g", "%#15.7g\n"]
FORMATS_10I_BY_5 =
["%10i", "%10i", "%10i", "%10i", "%10i\n"]
FORMATS_8S_BY_3 =
["%-8s", "%-8s", "%-8s\n"]
FORMATS =
[
  *(FORMATS_15_7G_BY_5*14),
  *(FORMATS_10I_BY_5*8),
  "%-8s", "%-16s\n",
  *(FORMATS_8S_BY_3*7),
]

Class Method Summary collapse

Class Method Details

.convert_from_head_str(head_str) ⇒ Object



25
26
27
28
# File 'lib/seis_ruby/data/sac/ascii/head.rb', line 25

def convert_from_head_str(head_str)
  ::SeisRuby::Data::Sac::Head\
    .convert_from_head(split_head_str(head_str))
end

.convert_to_head_str(head) ⇒ Object



30
31
32
33
34
# File 'lib/seis_ruby/data/sac/ascii/head.rb', line 30

def convert_to_head_str(head)
  array = ::SeisRuby::Data::Sac::Head\
    .convert_to_head(head)
  sprintf(FORMATS.join, *array)
end