Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Julia 1.0 Programming Cookbook

You're reading from  Julia 1.0 Programming Cookbook

Product type Book
Published in Nov 2018
Publisher Packt
ISBN-13 9781788998369
Pages 460 pages
Edition 1st Edition
Languages
Authors (2):
Bogumił Kamiński Bogumił Kamiński
Profile icon Bogumił Kamiński
Przemysław Szufel Przemysław Szufel
Profile icon Przemysław Szufel
View More author details
Toc

Table of Contents (18) Chapters close

Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
1. Installing and Setting Up Julia 2. Data Structures and Algorithms 3. Data Engineering in Julia 4. Numerical Computing with Julia 5. Variables, Types, and Functions 6. Metaprogramming and Advanced Typing 7. Handling Analytical Data 8. Julia Workflow 9. Data Science 10. Distributed Computing 1. Other Books You May Enjoy Index

Implementing a custom pseudo-random number generator


In many situations in Julia, you might want to extend some abstract type defined in the base language. In this recipe, we will show how you can implement a simple pseudo-random number generator extending AbstractRNG.

Getting ready

In order to create your own pseudo-random number generator, you have to define a concrete type that is a subtype of the AbstractRNG abstract type and which implements methods for the seed!, rand, and rng_native_52 functions. In this recipe, we will show how you can achieve this.

The generator we will implement is called 64-bit Xorshift. It was proposed by George Marsaglia in the paper, Xorshift RNGs, published in the Journal of Statistical Software, Vol 8(2003), Issue 14.

Before running this recipe, make sure that you have the StatsBase.jl and BenchmarkTools.jl packages installed. If it is missing make sure that you have it by running the following commands:

julia> using Pkg

julia> Pkg.add("BenchmarkTools"...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}