Files
SaraP bf3a3fa297 Extern :
- aggiunta libreria vroni 7.6.
2023-11-23 12:09:32 +01:00

118 lines
3.1 KiB
C

/*****************************************************************************/
/* */
/* Copyright (C) 1999-2023 M. Held */
/* */
/* This code is not in the public domain. All rights reserved! Please make */
/* sure to read the full copyright statement contained in "README.txt" or in */
/* the "main" file of this code, such as "main.c". */
/* */
/*****************************************************************************/
/* */
/* Written by: Martin Held */
/* */
/* E-Mail: held@cs.sbg.ac.at */
/* Fax Mail: (+43 662) 8044-611 */
/* Voice Mail: (+43 662) 8044-6304 */
/* Snail Mail: Martin Held */
/* FB Informatik */
/* Universitaet Salzburg */
/* A-5020 Salzburg, Austria */
/* */
/*****************************************************************************/
#ifndef VRONI_BASIC_H
#define VRONI_BASIC_H
#include "consts.h"
#include "util.h"
#include "types.h"
#define BASIC_MINI 1.0e-20
#ifndef RAND
#define RND_MAX 2147483647
#define UniformRandom(x) \
{\
x = ((double) random()) / RND_MAX; }
#define RandomInteger(N) \
(\
assert(N > 0), \
basic_i_local = random(), \
basic_i_local - (basic_i_local / (N)) * (N))
#define InitRandom(seed) \
{\
srandom(seed); }
#else
#ifdef RAND_MAX
#define RND_MAX RAND_MAX
#else
#define RND_MAX 32767
#endif
#define UniformRandom(x) \
{\
x = ((double) rand()) / RND_MAX; \
}
#define RandomInteger(N) \
(\
assert(N > 0), \
basic_i_local = rand(), \
basic_i_local - (basic_i_local / (N)) * (N))
#define InitRandom(seed) \
{\
srand(seed); }
#endif
/*
#define ScaleX(xc) (scale_factor * (xc - shift.x))
#define ScaleY(yc) (scale_factor * (yc - shift.y))
#define ScaleV(value) (value * scale_factor)
#define UnscaleX(xc) (assert(scale_factor > 0.0), xc / scale_factor + shift.x)
#define UnscaleY(yc) (assert(scale_factor > 0.0), yc / scale_factor + shift.y)
#define UnscaleV(value) (assert(scale_factor > 0.0), value / scale_factor)
*/
#define CirBBox(p, r, bb_min, bb_max) {\
(bb_min).x = (p).x - r; \
(bb_min).y = (p).y - r; \
(bb_max).x = (p).x + r; \
(bb_max).y = (p).y + r; }
#define TriBBox(a, b, c, bb_min, bb_max) {\
MinMax3((a).x, (b).x, (c).x, (bb_min).x, (bb_max).x); \
MinMax3((a).y, (b).y, (c).y, (bb_min).y, (bb_max).y); }
#endif