summaryrefslogtreecommitdiff
path: root/rand/utils
diff options
context:
space:
mode:
Diffstat (limited to 'rand/utils')
-rw-r--r--rand/utils/ci/install.sh49
-rwxr-xr-xrand/utils/ci/install_cargo_web.sh15
-rw-r--r--rand/utils/ci/miri.sh23
-rw-r--r--rand/utils/ci/script.sh27
-rwxr-xr-xrand/utils/ziggurat_tables.py125
5 files changed, 0 insertions, 239 deletions
diff --git a/rand/utils/ci/install.sh b/rand/utils/ci/install.sh
deleted file mode 100644
index 8e636e1..0000000
--- a/rand/utils/ci/install.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-# From https://github.com/japaric/trust
-
-set -ex
-
-main() {
- local target=
- if [ $TRAVIS_OS_NAME = linux ]; then
- target=x86_64-unknown-linux-musl
- sort=sort
- else
- target=x86_64-apple-darwin
- sort=gsort # for `sort --sort-version`, from brew's coreutils.
- fi
-
- # Builds for iOS are done on OSX, but require the specific target to be
- # installed.
- case $TARGET in
- aarch64-apple-ios)
- rustup target install aarch64-apple-ios
- ;;
- armv7-apple-ios)
- rustup target install armv7-apple-ios
- ;;
- armv7s-apple-ios)
- rustup target install armv7s-apple-ios
- ;;
- i386-apple-ios)
- rustup target install i386-apple-ios
- ;;
- x86_64-apple-ios)
- rustup target install x86_64-apple-ios
- ;;
- esac
-
- # This fetches latest stable release
- local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/cross \
- | cut -d/ -f3 \
- | grep -E '^v[0.1.0-9.]+$' \
- | $sort --version-sort \
- | tail -n1)
- curl -LSfs https://japaric.github.io/trust/install.sh | \
- sh -s -- \
- --force \
- --git japaric/cross \
- --tag $tag \
- --target $target
-}
-
-main
diff --git a/rand/utils/ci/install_cargo_web.sh b/rand/utils/ci/install_cargo_web.sh
deleted file mode 100755
index b35f069..0000000
--- a/rand/utils/ci/install_cargo_web.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-set -euo pipefail
-IFS=$'\n\t'
-
-CARGO_WEB_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/koute/cargo-web/releases/latest)
-CARGO_WEB_VERSION=$(echo $CARGO_WEB_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/')
-CARGO_WEB_URL="https://github.com/koute/cargo-web/releases/download/$CARGO_WEB_VERSION/cargo-web-x86_64-unknown-linux-gnu.gz"
-
-echo "Downloading cargo-web from: $CARGO_WEB_URL"
-curl -L $CARGO_WEB_URL | gzip -d > cargo-web
-chmod +x cargo-web
-
-mkdir -p ~/.cargo/bin
-mv cargo-web ~/.cargo/bin
diff --git a/rand/utils/ci/miri.sh b/rand/utils/ci/miri.sh
deleted file mode 100644
index 209adf2..0000000
--- a/rand/utils/ci/miri.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-set -ex
-
-MIRI_NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)
-echo "Installing latest nightly with Miri: $MIRI_NIGHTLY"
-rustup default "$MIRI_NIGHTLY"
-
-rustup component add miri
-cargo miri setup
-
-cargo miri test --no-default-features -- -- -Zunstable-options --exclude-should-panic
-cargo miri test --features=log -- -- -Zunstable-options --exclude-should-panic
-cargo miri test --manifest-path rand_core/Cargo.toml
-cargo miri test --manifest-path rand_core/Cargo.toml --features=serde1
-cargo miri test --manifest-path rand_core/Cargo.toml --no-default-features
-#cargo miri test --manifest-path rand_distr/Cargo.toml # no unsafe and lots of slow tests
-cargo miri test --manifest-path rand_isaac/Cargo.toml --features=serde1
-cargo miri test --manifest-path rand_pcg/Cargo.toml --features=serde1
-cargo miri test --manifest-path rand_xorshift/Cargo.toml --features=serde1
-cargo miri test --manifest-path rand_xoshiro/Cargo.toml --features=serde1
-cargo miri test --manifest-path rand_chacha/Cargo.toml --no-default-features
-cargo miri test --manifest-path rand_hc/Cargo.toml
-cargo miri test --manifest-path rand_jitter/Cargo.toml
-cargo miri test --manifest-path rand_os/Cargo.toml
diff --git a/rand/utils/ci/script.sh b/rand/utils/ci/script.sh
deleted file mode 100644
index 852a850..0000000
--- a/rand/utils/ci/script.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-# Derived from https://github.com/japaric/trust
-
-set -ex
-
-main() {
- cross test --target $TARGET --tests --no-default-features
- # TODO: add simd_support feature:
- cross test --target $TARGET --features=log
- cross test --target $TARGET --examples
- cross test --target $TARGET --manifest-path rand_core/Cargo.toml
- cross test --target $TARGET --manifest-path rand_core/Cargo.toml --features=serde1
- cross test --target $TARGET --manifest-path rand_core/Cargo.toml --no-default-features
- cross test --target $TARGET --manifest-path rand_distr/Cargo.toml
- cross test --target $TARGET --manifest-path rand_isaac/Cargo.toml --features=serde1
- cross test --target $TARGET --manifest-path rand_pcg/Cargo.toml --features=serde1
- cross test --target $TARGET --manifest-path rand_xorshift/Cargo.toml --features=serde1
- cross test --target $TARGET --manifest-path rand_xoshiro/Cargo.toml --features=serde1
- cross test --target $TARGET --manifest-path rand_chacha/Cargo.toml
- cross test --target $TARGET --manifest-path rand_hc/Cargo.toml
- cross test --target $TARGET --manifest-path rand_os/Cargo.toml
- cross test --target $TARGET --manifest-path rand_jitter/Cargo.toml
-}
-
-# we don't run the "test phase" when doing deploys
-if [ -z $TRAVIS_TAG ]; then
- main
-fi
diff --git a/rand/utils/ziggurat_tables.py b/rand/utils/ziggurat_tables.py
deleted file mode 100755
index 88cfdab..0000000
--- a/rand/utils/ziggurat_tables.py
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2018 Developers of the Rand project.
-# Copyright 2013 The Rust Project Developers.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-# This creates the tables used for distributions implemented using the
-# ziggurat algorithm in `rand::distributions;`. They are
-# (basically) the tables as used in the ZIGNOR variant (Doornik 2005).
-# They are changed rarely, so the generated file should be checked in
-# to git.
-#
-# It creates 3 tables: X as in the paper, F which is f(x_i), and
-# F_DIFF which is f(x_i) - f(x_{i-1}). The latter two are just cached
-# values which is not done in that paper (but is done in other
-# variants). Note that the adZigR table is unnecessary because of
-# algebra.
-#
-# It is designed to be compatible with Python 2 and 3.
-
-from math import exp, sqrt, log, floor
-import random
-
-# The order should match the return value of `tables`
-TABLE_NAMES = ['X', 'F']
-
-# The actual length of the table is 1 more, to stop
-# index-out-of-bounds errors. This should match the bitwise operation
-# to find `i` in `zigurrat` in `libstd/rand/mod.rs`. Also the *_R and
-# *_V constants below depend on this value.
-TABLE_LEN = 256
-
-# equivalent to `zigNorInit` in Doornik2005, but generalised to any
-# distribution. r = dR, v = dV, f = probability density function,
-# f_inv = inverse of f
-def tables(r, v, f, f_inv):
- # compute the x_i
- xvec = [0]*(TABLE_LEN+1)
-
- xvec[0] = v / f(r)
- xvec[1] = r
-
- for i in range(2, TABLE_LEN):
- last = xvec[i-1]
- xvec[i] = f_inv(v / last + f(last))
-
- # cache the f's
- fvec = [0]*(TABLE_LEN+1)
- for i in range(TABLE_LEN+1):
- fvec[i] = f(xvec[i])
-
- return xvec, fvec
-
-# Distributions
-# N(0, 1)
-def norm_f(x):
- return exp(-x*x/2.0)
-def norm_f_inv(y):
- return sqrt(-2.0*log(y))
-
-NORM_R = 3.6541528853610088
-NORM_V = 0.00492867323399
-
-NORM = tables(NORM_R, NORM_V,
- norm_f, norm_f_inv)
-
-# Exp(1)
-def exp_f(x):
- return exp(-x)
-def exp_f_inv(y):
- return -log(y)
-
-EXP_R = 7.69711747013104972
-EXP_V = 0.0039496598225815571993
-
-EXP = tables(EXP_R, EXP_V,
- exp_f, exp_f_inv)
-
-
-# Output the tables/constants/types
-
-def render_static(name, type, value):
- # no space or
- return 'pub static %s: %s =%s;\n' % (name, type, value)
-
-# static `name`: [`type`, .. `len(values)`] =
-# [values[0], ..., values[3],
-# values[4], ..., values[7],
-# ... ];
-def render_table(name, values):
- rows = []
- # 4 values on each row
- for i in range(0, len(values), 4):
- row = values[i:i+4]
- rows.append(', '.join('%.18f' % f for f in row))
-
- rendered = '\n [%s]' % ',\n '.join(rows)
- return render_static(name, '[f64, .. %d]' % len(values), rendered)
-
-
-with open('ziggurat_tables.rs', 'w') as f:
- f.write('''// Copyright 2018 Developers of the Rand project.
-// Copyright 2013 The Rust Project Developers.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Tables for distributions which are sampled using the ziggurat
-// algorithm. Autogenerated by `ziggurat_tables.py`.
-
-pub type ZigTable = &\'static [f64, .. %d];
-''' % (TABLE_LEN + 1))
- for name, tables, r in [('NORM', NORM, NORM_R),
- ('EXP', EXP, EXP_R)]:
- f.write(render_static('ZIG_%s_R' % name, 'f64', ' %.18f' % r))
- for (tabname, table) in zip(TABLE_NAMES, tables):
- f.write(render_table('ZIG_%s_%s' % (name, tabname), table))