/*
* Copyright © 2020 Ebrahim Byagowi
*
* This is part of HarfBuzz , a text shaping library .
*
* Permission is hereby granted , without written agreement and without
* license or royalty fees , to use , copy , modify , and distribute this
* software and its documentation for any purpose , provided that the
* above copyright notice and the following two paragraphs appear in
* all copies of this software .
*
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
* DIRECT , INDIRECT , SPECIAL , INCIDENTAL , OR CONSEQUENTIAL DAMAGES
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION , EVEN
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE .
*
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES , INCLUDING ,
* BUT NOT LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE . THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN " AS IS " BASIS , AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE , SUPPORT , UPDATES , ENHANCEMENTS , OR MODIFICATIONS .
*/
#include <stdlib.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
int alloc_state =
0 ;
__attribute__((no_sanitize(
"integer" )))
static int fastrand ()
{
if (!alloc_state)
return 1 ;
/* Based on https://software.intel.com/content/www/us/en/develop/articles/fast-random-number-generator-on-the-intel-pentiumr-4-processor.html */
alloc_state = (
214013 * alloc_state +
2531011 );
return (alloc_state >>
16 ) &
0 x7FFF;
}
void * hb_malloc_impl (size_t size)
{
return (fastrand () %
16 ) ? malloc (size) : NULL;
}
void * hb_calloc_impl (size_t nmemb, size_t size)
{
return (fastrand () %
16 ) ? calloc (nmemb, size) : NULL;
}
void * hb_realloc_impl (
void *ptr, size_t size)
{
return (fastrand () %
16 ) ? realloc (ptr, size) : NULL;
}
void hb_free_impl (
void *ptr)
{
return free (ptr);
}
#ifdef __cplusplus
}
#endif
Messung V0.5 in Prozent C=94 H=95 G=94
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland