コード例 #1
0
ファイル: File.c プロジェクト: 0x73/libCello
var File_New(var self, var_list vl) {
  FileData* fd = cast(self, File);
  const char* filename = as_str(var_list_get(vl));
  const char* access = as_str(var_list_get(vl));
  stream_open(self, filename, access);
  return self;
}
コード例 #2
0
ファイル: Table.c プロジェクト: kazupon/libCello
var Table_New(var self, var_list vl) {
    TableData* tab = cast(self, Table);

    tab->key_type = cast(var_list_get(vl), Type);
    tab->val_type = cast(var_list_get(vl), Type);

    tab->size = 1024;
    tab->keys = new(Array, tab->key_type);

    tab->key_buckets = malloc(tab->size * sizeof(var));
    tab->val_buckets = malloc(tab->size * sizeof(var));

    if (tab->key_buckets == NULL) {
        throw(OutOfMemoryError, "Cannot create Table. Out of memory!");
    }
    if (tab->val_buckets == NULL) {
        throw(OutOfMemoryError, "Cannot create Table. Out of memory!");
    }

    for (int i = 0; i < tab->size; i++) {
        tab->key_buckets[i] = new(Array, tab->key_type);
        tab->val_buckets[i] = new(Array, tab->val_type);
    }

    return self;
}
コード例 #3
0
ファイル: core.c プロジェクト: whatot/ma_c
local var TestType_New(var self, var_list vl)
{
	TestTypeData *ttd = cast(self, TestType);
	ttd->test_data = as_long(var_list_get(vl));
	return self;
}
コード例 #4
0
ファイル: Vec2.c プロジェクト: Shanicky/libCello
var Vec2_New(var self, var_list vl) {
  Vec2Data* v = cast(self, Vec2);
  v->x = as_double(var_list_get(vl));
  v->y = as_double(var_list_get(vl));
  return self;
}
コード例 #5
0
ファイル: Reference.c プロジェクト: whatot/ma_c
var Reference_New(var self, var_list vl)
{
	ReferenceData *rd = cast(self, Reference);
	rd->ref = var_list_get(vl);
	return rd;
}