mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-12 09:58:03 +02:00
Global: removes FFlist::elementSize
Improves performance of module Sound and PhysicalMemory
This commit is contained in:
+3
-3
@@ -112,9 +112,9 @@ int main(void) {
|
||||
|
||||
#ifndef _WIN32 // Windows doesn't have setenv
|
||||
{
|
||||
ffListInit(&instance.config.display.constants, sizeof(FFstrbuf));
|
||||
ffStrbufInitStatic(ffListAdd(&instance.config.display.constants), "CONST1");
|
||||
ffStrbufInitStatic(ffListAdd(&instance.config.display.constants), "CONST2");
|
||||
ffListInit(&instance.config.display.constants);
|
||||
ffStrbufInitStatic(FF_LIST_ADD(FFstrbuf, instance.config.display.constants), "CONST1");
|
||||
ffStrbufInitStatic(FF_LIST_ADD(FFstrbuf, instance.config.display.constants), "CONST2");
|
||||
setenv("FF_TEST", "ENVVAR", 1);
|
||||
VERIFY("output({$FF_TEST})", "", "output(ENVVAR)");
|
||||
VERIFY("output({$1})", "", "output(CONST1)");
|
||||
|
||||
+20
-24
@@ -10,7 +10,7 @@ __attribute__((__noreturn__)) static void testFailed(const FFlist* list, const c
|
||||
fputs(FASTFETCH_TEXT_MODIFIER_ERROR, stderr);
|
||||
fprintf(stderr, "[%d] %s, list:", lineNo, expression);
|
||||
for (uint32_t i = 0; i < list->length; ++i) {
|
||||
fprintf(stderr, "%u ", *(uint32_t*) ffListGet(list, i));
|
||||
fprintf(stderr, "%u ", *FF_LIST_GET(uint32_t, *list, i));
|
||||
}
|
||||
fputc('\n', stderr);
|
||||
fputs(FASTFETCH_TEXT_MODIFIER_RESET, stderr);
|
||||
@@ -18,8 +18,8 @@ __attribute__((__noreturn__)) static void testFailed(const FFlist* list, const c
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static bool numEqualsAdapter(const void* first, const void* second) {
|
||||
return *(uint32_t*) first == *(uint32_t*) second;
|
||||
static bool numEqualsAdapter(const uint32_t* first, const uint32_t* second) {
|
||||
return *first == *second;
|
||||
}
|
||||
|
||||
#define VERIFY(expression) \
|
||||
@@ -31,9 +31,8 @@ int main(void) {
|
||||
|
||||
// initA
|
||||
|
||||
ffListInit(&list, sizeof(uint32_t));
|
||||
ffListInit(&list);
|
||||
|
||||
VERIFY(list.elementSize == sizeof(uint32_t));
|
||||
VERIFY(list.capacity == 0);
|
||||
VERIFY(list.length == 0);
|
||||
|
||||
@@ -43,18 +42,17 @@ int main(void) {
|
||||
}
|
||||
|
||||
// shift
|
||||
VERIFY(!ffListShift(&list, &n));
|
||||
VERIFY(!FF_LIST_SHIFT(list, &n));
|
||||
VERIFY(list.length == 0);
|
||||
|
||||
// pop
|
||||
VERIFY(!ffListPop(&list, &n));
|
||||
VERIFY(!FF_LIST_POP(list, &n));
|
||||
VERIFY(list.length == 0);
|
||||
|
||||
// add
|
||||
for (uint32_t i = 1; i <= FF_LIST_DEFAULT_ALLOC + 1; ++i) {
|
||||
*(uint32_t*) ffListAdd(&list) = i;
|
||||
*FF_LIST_ADD(uint32_t, list) = i;
|
||||
|
||||
VERIFY(list.elementSize == sizeof(uint32_t));
|
||||
VERIFY(list.length == i);
|
||||
|
||||
if (i <= FF_LIST_DEFAULT_ALLOC) {
|
||||
@@ -63,8 +61,8 @@ int main(void) {
|
||||
VERIFY(list.capacity == FF_LIST_DEFAULT_ALLOC * 2);
|
||||
}
|
||||
|
||||
VERIFY(*(uint32_t*) ffListGet(&list, 0) == 1);
|
||||
VERIFY(*(uint32_t*) ffListGet(&list, i - 1) == i);
|
||||
VERIFY(*FF_LIST_GET(uint32_t, list, 0) == 1);
|
||||
VERIFY(*FF_LIST_GET(uint32_t, list, i - 1) == i);
|
||||
}
|
||||
VERIFY(list.length == FF_LIST_DEFAULT_ALLOC + 1);
|
||||
|
||||
@@ -77,40 +75,38 @@ int main(void) {
|
||||
|
||||
// ffListFirstIndexComp
|
||||
n = 10;
|
||||
VERIFY(ffListFirstIndexComp(&list, &n, numEqualsAdapter) == 9);
|
||||
VERIFY(ffListFirstIndexComp(&list, sizeof(n), &n, (void*) numEqualsAdapter) == 9);
|
||||
n = 999;
|
||||
VERIFY(ffListFirstIndexComp(&list, &n, numEqualsAdapter) == list.length);
|
||||
VERIFY(ffListFirstIndexComp(&list, sizeof(n), &n, (void*) numEqualsAdapter) == list.length);
|
||||
|
||||
// ffListContains
|
||||
n = 10;
|
||||
VERIFY(ffListContains(&list, &n, numEqualsAdapter));
|
||||
VERIFY(FF_LIST_CONTAINS(list, &n, numEqualsAdapter));
|
||||
n = 999;
|
||||
VERIFY(!ffListContains(&list, &n, numEqualsAdapter));
|
||||
VERIFY(!FF_LIST_CONTAINS(list, &n, numEqualsAdapter));
|
||||
|
||||
// shift
|
||||
VERIFY(ffListShift(&list, &n));
|
||||
VERIFY(FF_LIST_SHIFT(list, &n));
|
||||
VERIFY(n == 1);
|
||||
VERIFY(list.length == FF_LIST_DEFAULT_ALLOC);
|
||||
VERIFY(*(uint32_t*) ffListGet(&list, 0) == 2);
|
||||
VERIFY(*(uint32_t*) ffListGet(&list, list.length - 1) == FF_LIST_DEFAULT_ALLOC + 1);
|
||||
VERIFY(*FF_LIST_GET(uint32_t, list, 0) == 2);
|
||||
VERIFY(*FF_LIST_GET(uint32_t, list, list.length - 1) == FF_LIST_DEFAULT_ALLOC + 1);
|
||||
|
||||
// pop
|
||||
VERIFY(ffListPop(&list, &n));
|
||||
VERIFY(FF_LIST_POP(list, &n));
|
||||
VERIFY(n == FF_LIST_DEFAULT_ALLOC + 1);
|
||||
VERIFY(list.length == FF_LIST_DEFAULT_ALLOC - 1);
|
||||
VERIFY(*(uint32_t*) ffListGet(&list, 0) == 2);
|
||||
VERIFY(*(uint32_t*) ffListGet(&list, list.length - 1) == FF_LIST_DEFAULT_ALLOC);
|
||||
VERIFY(*FF_LIST_GET(uint32_t, list, 0) == 2);
|
||||
VERIFY(*FF_LIST_GET(uint32_t, list, list.length - 1) == FF_LIST_DEFAULT_ALLOC);
|
||||
|
||||
// Destroy
|
||||
ffListDestroy(&list);
|
||||
|
||||
VERIFY(list.elementSize == sizeof(uint32_t));
|
||||
VERIFY(list.capacity == 0);
|
||||
VERIFY(list.length == 0);
|
||||
|
||||
{
|
||||
FF_LIST_AUTO_DESTROY test = ffListCreate(1);
|
||||
VERIFY(test.elementSize == 1);
|
||||
FF_LIST_AUTO_DESTROY test = ffListCreate();
|
||||
VERIFY(test.capacity == 0);
|
||||
VERIFY(test.length == 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user