lexlib 2.0.1

library with miscellaneous stuff
Documentation
// Copyright 2023 alexevier <alexevier@proton.me>
// licensed under the zlib license <https://www.zlib.net/zlib_license.html>

#ifndef test_h
#define test_h

#include<lexlib/common.h>
#include<stdint.h>

LEXLIB_EXTERN void testStart(const char *label);
LEXLIB_EXTERN void testEnd(const char *err);

LEXLIB_EXTERN void benchmarkStart(const char *label);
LEXLIB_EXTERN void benchmarkEnd(void);

LEXLIB_EXTERN void printInfo(void);

void testCFile(void);
void testColorBlend(void);
void testColorGray(void);
void testImage(void);
void testImageBmp(void);
void testImagePng(void);
void testMemReverseN(void);
void testStr(void);
void testStrPath(void);
void testVec(void);
void testVec4(void);

#define LOOP 10240000 /* ten million two hundred forty thousand */

struct Data {
	const char *os;
	uint64_t start;
	struct Test {
		uint32_t count;
		uint32_t fail;
		uint32_t success;
	} test;
	struct Benchmark {
		uint64_t start;
		uint8_t yes;
	} benchmark;
};

LEXLIB_EXTERN struct Data DATA;

#endif