|
Nugget
Bare-metal libraries and examples for the original PlayStation
|

Macros | |
| #define | CESTER_NO_SIGNAL |
| #define | CESTER_NO_TIME |
| #define | EXIT_SUCCESS 0 |
| #define | EXIT_FAILURE 1 |
| #define | SWEEP_MAX 200 |
| #define | SWEEP_SLACK 8 |
Functions | |
| CESTER_BODY (void *__wrap_memcpy(void *dest, const void *src, size_t n);) | |
| cester_assert_ptr_equal (result, out) | |
| cester_assert_uint_eq (out[0], in[0]) | |
| cester_assert_uint_eq (out[1], in[1]) | |
| cester_assert_uint_eq (out[2], in[2]) | |
| cester_assert_uint_eq (out[3], 0) | |
| CESTER_TEST (fastmemcpyLarger, test_instance, char in[]={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };char out[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0 };void *result=__wrap_memcpy(out, in, sizeof(in));cester_assert_ptr_equal(result, out);cester_assert_uint_eq(out[0], in[0]);cester_assert_uint_eq(out[1], in[1]);cester_assert_uint_eq(out[2], in[2]);cester_assert_uint_eq(out[3], in[3]);cester_assert_uint_eq(out[4], in[4]);cester_assert_uint_eq(out[5], in[5]);cester_assert_uint_eq(out[6], in[6]);cester_assert_uint_eq(out[7], in[7]);cester_assert_uint_eq(out[8], in[8]);cester_assert_uint_eq(out[9], in[9]);cester_assert_uint_eq(out[10], in[10]);) CESTER_TEST(fastmemcpyLargest | |
| for (unsigned i=0;i< 50;i++) | |
| CESTER_TEST (fastmemcpyDestUnaligned, test_instance, char in[50];char out[51]={ 0 };for(unsigned i=0;i< 50;i++) { in[i]=i;} void *result=__wrap_memcpy(out+1, in, sizeof(in));cester_assert_ptr_equal(result, out+1);cester_assert_equal(out[0], 0);for(unsigned i=0;i< 50;i++) { cester_assert_equal(out[i+1], i);}) CESTER_TEST(fastmemcpySrcUnaligned | |
| CESTER_TEST (fastmemcpyBothLikeUnaligned, test_instance, char in[51];char out[51]={ 0 };for(unsigned i=0;i< 51;i++) { in[i]=i;} void *result=__wrap_memcpy(out+1, in+1, 50);cester_assert_ptr_equal(result, out+1);cester_assert_equal(out[0], 0);for(unsigned i=0;i< 50;i++) { cester_assert_equal(out[i+1], i+1);}) CESTER_TEST(fastmemcpyBothUnlikeUnaligned | |
| cester_assert_ptr_equal (result, out+1) | |
| cester_assert_equal (out[0], 0) | |
| CESTER_TEST (memcpySmall, test_instance, char in[4]={ 1, 2, 3, 4 };char out[4]={ 0, 0, 0, 0 };void *result=__builtin_memcpy(out, in, 3);cester_assert_ptr_equal(result, out);cester_assert_uint_eq(out[0], in[0]);cester_assert_uint_eq(out[1], in[1]);cester_assert_uint_eq(out[2], in[2]);cester_assert_uint_eq(out[3], 0);) CESTER_TEST(memcpyLarger | |
| cester_assert_uint_eq (out[3], in[3]) | |
| cester_assert_uint_eq (out[4], in[4]) | |
| cester_assert_uint_eq (out[5], in[5]) | |
| cester_assert_uint_eq (out[6], in[6]) | |
| cester_assert_uint_eq (out[7], in[7]) | |
| cester_assert_uint_eq (out[8], in[8]) | |
| cester_assert_uint_eq (out[9], in[9]) | |
| cester_assert_uint_eq (out[10], in[10]) | |
| CESTER_TEST (memcpyLargest, test_instance, char in[50];char out[50]={ 0 };for(unsigned i=0;i< 50;i++) { in[i]=i;} void *result=__builtin_memcpy(out, in, sizeof(in));cester_assert_ptr_equal(result, out);for(unsigned i=0;i< 50;i++) { cester_assert_equal(out[i], i);}) CESTER_TEST(memcpyDestUnaligned | |
| CESTER_TEST (memcpySrcUnaligned, test_instance, char in[51];char out[50]={ 0 };for(unsigned i=0;i< 51;i++) { in[i]=i;} void *result=__builtin_memcpy(out, in+1, sizeof(out));cester_assert_ptr_equal(result, out);for(unsigned i=0;i< 50;i++) { cester_assert_equal(out[i], i+1);}) CESTER_TEST(memcpyBothLikeUnaligned | |
| CESTER_TEST (memcpyBothUnlikeUnaligned, test_instance, char in[51];char out[50]={ 0 };for(unsigned i=0;i< 51;i++) { in[i]=i;} void *result=__builtin_memcpy(out+1, in+2, 49);cester_assert_ptr_equal(result, out+1);cester_assert_equal(out[0], 0);for(unsigned i=0;i< 49;i++) { cester_assert_equal(out[i+1], i+2);}) CESTER_BODY(static unsigned char s_sweepSrc[SWEEP_MAX+2 *SWEEP_SLACK] | |
Variables | |
| char | out [4] = { 0, 0, 0, 0 } |
| void * | result = __wrap_memcpy(out, in, 3) |
| test_instance | |
| char | in [50] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } |
| #define CESTER_NO_SIGNAL |
| #define CESTER_NO_TIME |
| #define EXIT_FAILURE 1 |
| #define EXIT_SUCCESS 0 |
| #define SWEEP_MAX 200 |
| #define SWEEP_SLACK 8 |
| cester_assert_equal | ( | out | [0], |
| 0 | |||
| ) |
| cester_assert_uint_eq | ( | out | [3], |
| 0 | |||
| ) |
| CESTER_BODY | ( | void *__wrap_memcpy(void *dest, const void *src, size_t n); | ) |
| CESTER_TEST | ( | fastmemcpyBothLikeUnaligned | , |
| test_instance | , | ||
| char in;char | out[51][51] = { 0 }; for (unsigned i = 0; i < 51; i++) { in[i] = i; } void* result = __wrap_memcpy(out + 1, in + 1, 50); cester_assert_ptr_equal(result, out + 1); cester_assert_equal(out[0], 0); for (unsigned i = 0; i < 50; i++) { cester_assert_equal(out[i + 1], i + 1); } |
||
| ) |
| CESTER_TEST | ( | fastmemcpyDestUnaligned | , |
| test_instance | , | ||
| char in;char | out[50][51] = { 0 }; for (unsigned i = 0; i < 50; i++) { in[i] = i; } void* result = __wrap_memcpy(out + 1, in, sizeof(in)); cester_assert_ptr_equal(result, out + 1); cester_assert_equal(out[0], 0); for (unsigned i = 0; i < 50; i++) { cester_assert_equal(out[i + 1], i); } |
||
| ) |
| CESTER_TEST | ( | fastmemcpyLarger | , |
| test_instance | , | ||
| char | in[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; char out[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; void* result = __wrap_memcpy(out, in, sizeof(in)); cester_assert_ptr_equal(result, out); cester_assert_uint_eq(out[0], in[0]); cester_assert_uint_eq(out[1], in[1]); cester_assert_uint_eq(out[2], in[2]); cester_assert_uint_eq(out[3], in[3]); cester_assert_uint_eq(out[4], in[4]); cester_assert_uint_eq(out[5], in[5]); cester_assert_uint_eq(out[6], in[6]); cester_assert_uint_eq(out[7], in[7]); cester_assert_uint_eq(out[8], in[8]); cester_assert_uint_eq(out[9], in[9]); cester_assert_uint_eq(out[10], in[10]); |
||
| ) |
| CESTER_TEST | ( | memcpyBothUnlikeUnaligned | , |
| test_instance | , | ||
| char in;char | out[51][50] = { 0 };for(unsigned i=0;i< 51;i++) { in[i]=i;} void *result=__builtin_memcpy(out+1, in+2, 49);cester_assert_ptr_equal(result, out+1);cester_assert_equal(out[0], 0);for(unsigned i=0;i< 49;i++) { cester_assert_equal(out[i+1], i+2);} |
||
| ) |
| CESTER_TEST | ( | memcpyLargest | , |
| test_instance | , | ||
| char in;char | out[50][50] = { 0 }; for (unsigned i = 0; i < 50; i++) { in[i] = i; } void* result = __builtin_memcpy(out, in, sizeof(in)); cester_assert_ptr_equal(result, out); for (unsigned i = 0; i < 50; i++) { cester_assert_equal(out[i], i); } |
||
| ) |
| CESTER_TEST | ( | memcpySmall | , |
| test_instance | , | ||
| char | in[4] = { 1, 2, 3, 4 }; char out[4] = { 0, 0, 0, 0 }; void* result = __builtin_memcpy(out, in, 3); cester_assert_ptr_equal(result, out); cester_assert_uint_eq(out[0], in[0]); cester_assert_uint_eq(out[1], in[1]); cester_assert_uint_eq(out[2], in[2]); cester_assert_uint_eq(out[3], 0); |
||
| ) |
| CESTER_TEST | ( | memcpySrcUnaligned | , |
| test_instance | , | ||
| char in;char | out[51][50] = { 0 }; for (unsigned i = 0; i < 51; i++) { in[i] = i; } void* result = __builtin_memcpy(out, in + 1, sizeof(out)); cester_assert_ptr_equal(result, out); for (unsigned i = 0; i < 50; i++) { cester_assert_equal(out[i], i + 1); } |
||
| ) |
| for | ( | ) |
| char in = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } |
| char out[51] = { 0, 0, 0, 0 } |
| test_instance |