Class: TEA::Key

Inherits:
Object
  • Object
show all
Defined in:
ext/tea.c

Instance Method Summary collapse

Constructor Details

#initialize(k0, k1, k2, k3) ⇒ Object



56
57
58
59
60
61
62
63
64
# File 'ext/tea.c', line 56

VALUE tkey_init(VALUE self, VALUE k0, VALUE k1, VALUE k2, VALUE k3) {
  TEAKey *key;
  Data_Get_Struct(self, TEAKey, key);
  key->key[0] = NUM2UINT(k0);
  key->key[1] = NUM2UINT(k1);
  key->key[2] = NUM2UINT(k2);
  key->key[3] = NUM2UINT(k3);
  return self;
}

Instance Method Details

#initialize_copy(orig) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
# File 'ext/tea.c', line 66

VALUE tkey_init_copy(VALUE copy, VALUE orig) {
  TEAKey *key_copy, *key_orig;
  Data_Get_Struct(copy, TEAKey, key_copy);
  Data_Get_Struct(orig, TEAKey, key_orig);

  if (TYPE(orig) != T_DATA || RDATA(orig)->dfree != (RUBY_DATA_FUNC)tkey_free)
    rb_raise(rb_eTypeError, "wrong argument type copying TEAKey");

  MEMCPY(key_copy, key_orig, TEAKey, 1);

  return copy;
}