static VALUE sym_no_speech_prob;
static VALUE sym_speaker_turn_next;
static VALUE sym_n_tokens;
-static VALUE key_names;
extern const rb_data_type_t ruby_whisper_type;
VALUE hash = rb_hash_new();
long n_keys;
if (NIL_P(keys)) {
- keys = key_names;
+ keys = rb_ary_new3(
+ N_KEY_NAMES,
+ sym_start_time,
+ sym_end_time,
+ sym_text,
+ sym_no_speech_prob,
+ sym_speaker_turn_next
+ );
n_keys = N_KEY_NAMES;
} else {
n_keys = RARRAY_LEN(keys);
sym_no_speech_prob = ID2SYM(rb_intern("no_speech_prob"));
sym_speaker_turn_next = ID2SYM(rb_intern("speaker_turn_next"));
sym_n_tokens = ID2SYM(rb_intern("n_tokens"));
- key_names = rb_ary_new3(
- N_KEY_NAMES,
- sym_start_time,
- sym_end_time,
- sym_text,
- sym_no_speech_prob,
- sym_speaker_turn_next
- );
rb_define_alloc_func(cSegment, ruby_whisper_segment_allocate);
rb_define_method(cSegment, "start_time", ruby_whisper_segment_get_start_time, 0);
extern VALUE cToken;
extern const rb_data_type_t ruby_whisper_type;
-static VALUE key_names;
static VALUE sym_id;
static VALUE sym_tid;
static VALUE sym_probability;
long n_keys = 0;
if (NIL_P(keys)) {
- keys = key_names;
+ keys = rb_ary_new3(
+ N_KEY_NAMES,
+ sym_id,
+ sym_tid,
+ sym_probability,
+ sym_log_probability,
+ sym_pt,
+ sym_ptsum,
+ sym_t_dtw,
+ sym_voice_length,
+ sym_start_time,
+ sym_end_time,
+ sym_text
+ );
n_keys = N_KEY_NAMES;
} else {
n_keys = RARRAY_LEN(keys);
sym_start_time = ID2SYM(rb_intern("start_time"));
sym_end_time = ID2SYM(rb_intern("end_time"));
sym_text = ID2SYM(rb_intern("text"));
- key_names = rb_ary_new3(
- N_KEY_NAMES,
- sym_id,
- sym_tid,
- sym_probability,
- sym_log_probability,
- sym_pt,
- sym_ptsum,
- sym_t_dtw,
- sym_voice_length,
- sym_start_time,
- sym_end_time,
- sym_text
- );
rb_define_method(cToken, "id", ruby_whisper_token_get_id, 0);
rb_define_method(cToken, "tid", ruby_whisper_token_get_tid, 0);
static VALUE sym_start_time;
static VALUE sym_end_time;
-static VALUE key_names;
static void
rb_whisper_vad_segment_mark(void *p)
hash = rb_hash_new();
if (NIL_P(keys)) {
- keys = key_names;
+ keys = rb_ary_new3(
+ N_KEY_NAMES,
+ sym_start_time,
+ sym_end_time
+ );
n_keys = N_KEY_NAMES;
} else {
n_keys = RARRAY_LEN(keys);
sym_start_time = ID2SYM(rb_intern("start_time"));
sym_end_time = ID2SYM(rb_intern("end_time"));
- key_names = rb_ary_new3(
- N_KEY_NAMES,
- sym_start_time,
- sym_end_time
- );
rb_define_alloc_func(cVADSegment, ruby_whisper_vad_segment_s_allocate);
rb_define_method(cVADSegment, "start_time", ruby_whisper_vad_segment_get_start_time, 0);
end
def test_deconstruct_keys_with_nil
- assert_equal({}, @token.deconstruct_keys(nil))
+ keys = %i[id tid probability log_probability pt ptsum t_dtw voice_length start_time end_time text]
+ expected = keys.collect {|key| [key, @token.send(key)] }.to_h
+ assert_equal(expected, @token.deconstruct_keys(nil))
end
def test_deconstruct_keys_with_keys