Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 4 additions & 11 deletions apps/benchmark/dataset/real/af.json
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,7 @@
{
"sym": "lbRk_IsLeapMonth",
"features": [
"branch",
"arithmetic"
"branch"
],
"prependC": "typedef int s32;\n#define lbRk_KYUU_LEAP_MONTH 13",
"funcC": "s32 lbRk_IsLeapMonth(s32 month) {\n if (month == lbRk_KYUU_LEAP_MONTH) {\n return 1;\n }\n\n return 0;\n}",
Expand Down Expand Up @@ -137,8 +136,7 @@
"features": [
"branch",
"arithmetic",
"pointer",
"nested"
"pointer"
],
"prependC": "typedef short s16;\ntypedef int s32;\n#define TRUE 1\n#define FALSE 0",
"funcC": "s32 chase_s3(s16* pValue, s16 target, s16 step) {\n if (step) {\n s32 diff = target - *pValue;\n\n if (diff < 0) {\n step = -step;\n }\n\n if (diff >= 0x8000) {\n step = -step;\n diff = -0xFFFF - -diff;\n } else if (diff <= -0x8000) {\n step = -step;\n diff += 0xFFFF;\n }\n\n *pValue += step;\n\n if ((diff * step) <= 0) {\n *pValue = target;\n return TRUE;\n }\n\n } else if (target == *pValue) {\n return TRUE;\n }\n return FALSE;\n}",
Expand All @@ -159,8 +157,7 @@
"sym": "check_percent_abs",
"features": [
"float",
"branch",
"nested"
"branch"
],
"prependC": "typedef int s32;\ntypedef float f32;",
"funcC": "f32 check_percent_abs(f32 x, f32 min, f32 max, f32 scale, s32 shiftMin) {\n if ((-min <= x) && (x <= min)) {\n return 0.0f;\n }\n if (x >= max) {\n return 1.0f;\n }\n if (x <= -max) {\n return -1.0f;\n }\n if (shiftMin) {\n if (x > 0.0f) {\n return (x - min) * scale;\n } else {\n return (x + min) * scale;\n }\n } else {\n return x * scale;\n }\n}",
Expand Down Expand Up @@ -404,8 +401,6 @@
"features": [
"float",
"matrix",
"array",
"nested",
"arithmetic"
],
"funcC": "void Skin_Matrix_MulMatrix(MtxF* mfA, MtxF* mfB, MtxF* dest) {\n f32 cx;\n f32 cy;\n f32 cz;\n f32 cw;\n\n f32 rx = mfA->xx;\n f32 ry = mfA->xy;\n f32 rz = mfA->xz;\n f32 rw = mfA->xw;\n\n cx = mfB->xx;\n cy = mfB->yx;\n cz = mfB->zx;\n cw = mfB->wx;\n dest->xx = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xy;\n cy = mfB->yy;\n cz = mfB->zy;\n cw = mfB->wy;\n dest->xy = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xz;\n cy = mfB->yz;\n cz = mfB->zz;\n cw = mfB->wz;\n dest->xz = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xw;\n cy = mfB->yw;\n cz = mfB->zw;\n cw = mfB->ww;\n dest->xw = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n rx = mfA->yx;\n ry = mfA->yy;\n rz = mfA->yz;\n rw = mfA->yw;\n\n cx = mfB->xx;\n cy = mfB->yx;\n cz = mfB->zx;\n cw = mfB->wx;\n dest->yx = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xy;\n cy = mfB->yy;\n cz = mfB->zy;\n cw = mfB->wy;\n dest->yy = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xz;\n cy = mfB->yz;\n cz = mfB->zz;\n cw = mfB->wz;\n dest->yz = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xw;\n cy = mfB->yw;\n cz = mfB->zw;\n cw = mfB->ww;\n dest->yw = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n rx = mfA->zx;\n ry = mfA->zy;\n rz = mfA->zz;\n rw = mfA->zw;\n\n cx = mfB->xx;\n cy = mfB->yx;\n cz = mfB->zx;\n cw = mfB->wx;\n dest->zx = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xy;\n cy = mfB->yy;\n cz = mfB->zy;\n cw = mfB->wy;\n dest->zy = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xz;\n cy = mfB->yz;\n cz = mfB->zz;\n cw = mfB->wz;\n dest->zz = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xw;\n cy = mfB->yw;\n cz = mfB->zw;\n cw = mfB->ww;\n dest->zw = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n rx = mfA->wx;\n ry = mfA->wy;\n rz = mfA->wz;\n rw = mfA->ww;\n\n cx = mfB->xx;\n cy = mfB->yx;\n cz = mfB->zx;\n cw = mfB->wx;\n dest->wx = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xy;\n cy = mfB->yy;\n cz = mfB->zy;\n cw = mfB->wy;\n dest->wy = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xz;\n cy = mfB->yz;\n cz = mfB->zz;\n cw = mfB->wz;\n dest->wz = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n\n cx = mfB->xw;\n cy = mfB->yw;\n cz = mfB->zw;\n cw = mfB->ww;\n dest->ww = (rx * cx) + (ry * cy) + (rz * cz) + (rw * cw);\n}",
Expand Down Expand Up @@ -503,9 +498,7 @@
"sym": "atans_table",
"features": [
"float",
"branch",
"table",
"global"
"branch"
],
"funcC": "s16 atans_table(f32 x, f32 y) {\n s32 tbl;\n\n if (y >= 0.0f) {\n if (x >= 0.0f) {\n if (y <= x) {\n if (y != 0.0f) {\n tbl = U_GetAtanTable(y, x);\n } else {\n tbl = 0;\n }\n } else {\n tbl = 0x4000 - U_GetAtanTable(x, y);\n }\n } else {\n if (-x < y) {\n tbl = U_GetAtanTable(-x, y) + 0x4000;\n } else {\n tbl = 0x8000 - U_GetAtanTable(y, -x);\n }\n }\n } else if (x < 0.0f) {\n if (-y <= -x) {\n tbl = U_GetAtanTable(-y, -x) + 0x8000;\n } else {\n tbl = 0xC000 - U_GetAtanTable(-x, -y);\n }\n } else {\n if (x < -y) {\n tbl = U_GetAtanTable(x, -y) + 0xC000;\n } else {\n tbl = -U_GetAtanTable(-y, x);\n }\n }\n return tbl;\n}",
"prependC": "typedef unsigned char u8; /* unsigned 8-bit */\ntypedef unsigned short u16; /* unsigned 16-bit */\ntypedef unsigned long u32; /* unsigned 32-bit */\ntypedef unsigned long long u64; /* unsigned 64-bit */\ntypedef signed char s8; /* signed 8-bit */\ntypedef short s16; /* signed 16-bit */\ntypedef long s32; /* signed 32-bit */\ntypedef long long s64; /* signed 64-bit */\ntypedef float f32; /* single prec floating point */\ntypedef double f64; /* double prec floating point */\ntypedef struct xyz_t {\n /* 0x0 */ f32 x;\n /* 0x4 */ f32 y;\n /* 0x8 */ f32 z;\n} xyz_t; // size = 0xC\n\ntypedef float MtxF_t[4][4];\ntypedef union {\n MtxF_t mf;\n struct {\n float xx, yx, zx, wx, xy, yy, zy, wy, xz, yz, zz, wz, xw, yw, zw, ww;\n };\n} MtxF; // size = 0x40\ntypedef long\tMtx_t[4][4];\n\ntypedef union {\n Mtx_t\t\tm;\n long long int\tforce_structure_alignment;\n} Mtx;",
Expand Down
1 change: 0 additions & 1 deletion apps/benchmark/dataset/real/kleod.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@
"sym": "ReadUnalignedU32",
"features": [
"pointer",
"cast",
"memory",
"shift"
],
Expand Down
41 changes: 21 additions & 20 deletions apps/benchmark/dataset/real/marioparty3.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,8 @@
{
"sym": "func_8000F088_FC88",
"features": [
"pointer",
"global",
"arithmetic"
"pointer"
],
"funcC": "void func_8000F088_FC88(s32 *uCodeAdresses) {\n gUCodeAddresses = uCodeAdresses;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/graphics.c#L245-L247",
Expand Down Expand Up @@ -123,7 +122,9 @@
"pointer",
"loop",
"global",
"arithmetic"
"arithmetic",
"union",
"float"
],
"funcC": "void func_800570A8_57CA8(s16 group, s16 member, s16 arg2) {\n HuSprite *sprite = HuSprGrpData[group]->members[member];\n s32 i;\n\n sprite->unk_98 = D_800D0A50_D1650[arg2];\n sprite->unk_FC.f = 1.0f;\n for (i = 0; i < 0x10; i++) {\n sprite->unk_9C[i] = 0xFFFF;\n sprite->unk_BC[i] = 0;\n }\n sprite->unk_104 = 0;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/sprman.c#L823-L834",
Expand Down Expand Up @@ -200,8 +201,7 @@
"sym": "func_8002FD48_30948",
"features": [
"struct",
"pointer",
"arithmetic"
"pointer"
],
"funcC": "void func_8002FD48_30948(HmfData *arg0) {\n arg0->unkA0 = 0;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/22EB0.c#L208-L210",
Expand All @@ -216,8 +216,7 @@
"sym": "func_80071B40_72740",
"features": [
"struct",
"pointer",
"arithmetic"
"pointer"
],
"funcC": "void func_80071B40_72740(ALVoice *voice, s16 priority) {\n voice->priority = priority;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/72740.c#L3-L5",
Expand Down Expand Up @@ -258,7 +257,6 @@
"features": [
"struct",
"pointer",
"arithmetic",
"bitwise"
],
"funcC": "void func_80047E90_48A90(omObjData *obj, s32 arg1) {\n obj->unk10 |= arg1;\n}",
Expand Down Expand Up @@ -292,7 +290,6 @@
"struct",
"pointer",
"global",
"arithmetic",
"bitwise"
],
"funcC": "HuSprite_Unk84_Unk00_Struct *func_800560D8_56CD8(s16 arg0, u16 arg1) {\n return &D_800C9530_CA130[arg0]->unk00[arg1];\n}",
Expand All @@ -303,9 +300,10 @@
{
"sym": "func_8008A0D0_8ACD0",
"features": [
"struct",
"pointer",
"arithmetic"
"union",
"array",
"field"
],
"funcC": "void func_8008A0D0_8ACD0(Mtx *arg0) {\n arg0->m[0][1] =\n arg0->m[0][3] =\n arg0->m[1][0] =\n arg0->m[1][2] =\n arg0->m[2][0] =\n arg0->m[2][1] =\n arg0->m[2][2] =\n arg0->m[2][3] =\n arg0->m[3][0] =\n arg0->m[3][1] =\n arg0->m[3][2] =\n arg0->m[3][3] = 0;\n arg0->m[0][0] = arg0->m[1][1] = 0x10000;\n arg0->m[0][2] = arg0->m[1][3] = 1;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/8ACD0.c#L3-L18",
Expand Down Expand Up @@ -336,8 +334,7 @@
"features": [
"struct",
"pointer",
"global",
"arithmetic"
"global"
],
"funcC": "void *func_80056260_56E60(s16 arg0) {\n return D_800C9530_CA130[arg0]->unk0C;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/sprman.c#L680-L682",
Expand Down Expand Up @@ -387,7 +384,10 @@
{
"sym": "GWMgNoSet",
"features": [
"arithmetic"
"global",
"struct",
"field",
"store"
],
"funcC": "void GWMgNoSet(s8 arg0) {\n GwSystem.minigame_index = arg0;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/save.c#L17-L19",
Expand Down Expand Up @@ -433,8 +433,9 @@
{
"sym": "func_8000F024_FC24",
"features": [
"pointer",
"arithmetic"
"global",
"store",
"pointer"
],
"funcC": "void func_8000F024_FC24(void **pool, u16 size, u16 segment) {\n frameBufferPool = pool;\n frameBufferCount = size;\n frameBufferSegmentID = segment;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/graphics.c#L225-L229",
Expand Down Expand Up @@ -497,8 +498,7 @@
"sym": "func_80052E14_53A14",
"features": [
"struct",
"pointer",
"arithmetic"
"pointer"
],
"funcC": "void func_80052E14_53A14(HuSprite *arg0) {\n arg0->unk_68.unk00 = arg0->unk_84;\n arg0->unk_68.unk04 = arg0->unk_88;\n arg0->unk_68.unk06 = arg0->unk_0E;\n arg0->unk_68.unk0A = arg0->unk_8A;\n arg0->unk_68.unk08 = arg0->unk_0C;\n arg0->unk_68.unk0C = arg0->unk_8C;\n arg0->unk_68.unk10 = arg0->unk_10;\n arg0->unk_68.unk16 = arg0->unk_92;\n arg0->unk_68.unk14 = arg0->unk_90;\n arg0->unk_68.unk18 = 0;\n arg0->unk_68.unk17 = 0;\n}",
"sourceUrl": "https://github.com/macabeus/marioparty3/blob/89c0fafd30375f21222c39bcefd8456bac130c53/src/sprman.c#L213-L225",
Expand Down Expand Up @@ -580,7 +580,6 @@
"sym": "DecodeData",
"features": [
"switch",
"table",
"pointer",
"branch"
],
Expand Down Expand Up @@ -651,7 +650,9 @@
"sizeof",
"pointer",
"struct",
"bitwise"
"bitwise",
"fnptr",
"global"
],
"funcC": "void *HuMemAllocTag(s32 size, s16 tag) {\n s32 alignedSize;\n void *data;\n HuMallocHeader *firstBlk;\n HuMallocHeader *newBlk;\n\n alignedSize = (size + 7) & ~7;\n data = gMallocFunc(alignedSize + sizeof(HuMallocHeader));\n newBlk = (HuMallocHeader *)((s32)data + alignedSize);\n\n firstBlk = gFirstMallocBlock;\n\n newBlk->prev = firstBlk;\n newBlk->next = firstBlk->next;\n firstBlk->next->prev = newBlk;\n firstBlk->next = newBlk;\n\n newBlk->tag = tag;\n newBlk->size = alignedSize;\n newBlk->data = data;\n newBlk->creationFrame = D_800D20AC_D2CAC;\n\n return newBlk->data;\n}",
"prependC": "#include \"common.h\"\n#include \"mallocblock.h\"",
Expand Down
Loading
Loading