xref: /xnu-8796.121.2/bsd/dev/dtrace/dtrace_xoroshiro128_plus.h (revision c54f35ca767986246321eb901baf8f5ff7923f6a)
1*c54f35caSApple OSS Distributions /*-
2*c54f35caSApple OSS Distributions  * Copyright (c) 2016 (Graeme Jenkinson)
3*c54f35caSApple OSS Distributions  * All rights reserved.
4*c54f35caSApple OSS Distributions  *
5*c54f35caSApple OSS Distributions  * This software was developed by BAE Systems, the University of Cambridge
6*c54f35caSApple OSS Distributions  * Computer Laboratory, and Memorial University under DARPA/AFRL contract
7*c54f35caSApple OSS Distributions  * FA8650-15-C-7558 ("CADETS"), as part of the DARPA Transparent Computing
8*c54f35caSApple OSS Distributions  * (TC) research program.
9*c54f35caSApple OSS Distributions  *
10*c54f35caSApple OSS Distributions  * Redistribution and use in source and binary forms, with or without
11*c54f35caSApple OSS Distributions  * modification, are permitted provided that the following conditions
12*c54f35caSApple OSS Distributions  * are met:
13*c54f35caSApple OSS Distributions  * 1. Redistributions of source code must retain the above copyright
14*c54f35caSApple OSS Distributions  *    notice, this list of conditions and the following disclaimer.
15*c54f35caSApple OSS Distributions  * 2. Redistributions in binary form must reproduce the above copyright
16*c54f35caSApple OSS Distributions  *    notice, this list of conditions and the following disclaimer in the
17*c54f35caSApple OSS Distributions  *    documentation and/or other materials provided with the distribution.
18*c54f35caSApple OSS Distributions  *
19*c54f35caSApple OSS Distributions  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20*c54f35caSApple OSS Distributions  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21*c54f35caSApple OSS Distributions  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22*c54f35caSApple OSS Distributions  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23*c54f35caSApple OSS Distributions  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24*c54f35caSApple OSS Distributions  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25*c54f35caSApple OSS Distributions  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26*c54f35caSApple OSS Distributions  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27*c54f35caSApple OSS Distributions  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28*c54f35caSApple OSS Distributions  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29*c54f35caSApple OSS Distributions  * SUCH DAMAGE.
30*c54f35caSApple OSS Distributions  *
31*c54f35caSApple OSS Distributions  */
32*c54f35caSApple OSS Distributions 
33*c54f35caSApple OSS Distributions #ifndef _DTRACE_XOROSHIRO128_PLUS_H
34*c54f35caSApple OSS Distributions #define _DTRACE_XOROSHIRO128_PLUS_H
35*c54f35caSApple OSS Distributions 
36*c54f35caSApple OSS Distributions #include <sys/types.h>
37*c54f35caSApple OSS Distributions #include <stdint.h>
38*c54f35caSApple OSS Distributions 
39*c54f35caSApple OSS Distributions void dtrace_xoroshiro128_plus_jump(uint64_t * const, uint64_t * const);
40*c54f35caSApple OSS Distributions uint64_t dtrace_xoroshiro128_plus_next(uint64_t * const);
41*c54f35caSApple OSS Distributions 
42*c54f35caSApple OSS Distributions #endif
43