module Prng_Class !!# Prng Class !!Class providing a pseudo-random number generator with an xorshift128+ or xorshift1024* generator that are both suitable for parallel applications. !!This is class is thread safe, and can be used in parallel without Prngs on different threads affecting each other. !! !!If you are writing serial code, and/or do not need a parallel random number generator, you can use the overloaded functions and subroutines in [[m_random]]. See that module for more !!information. !! !!Side note: The default random number generator in Matlab and Python is the Mersenne Twister algorithm. This algorithm is not great for parallel applications. It has a huge period, !!but you cannot easily jump the state as far as I can tell. These xorshift algorithms are fantastic, they have a high enough period for most applications, and can be easily jumped in !!only a few iterations. !! !!###  Use a constructor to initialize the Prng with a random seed !!! Using display = .true. will print the randomly generated seed to the screen !!! So you can reproduce any results later if you wish. !!rng = Prng(big = .true., display = .true.) !! !!! Or you could have set the seed using this !!! seed = [Some numbers, size 16 if big == .true., size 2 if big == .false.] !!! and you can use rng = Prng(seed, .true., .true.) !! !!! Draw from a uniform distribution !!call rng%rngUniform(a) !! !!! Draw an integer between 1 and 100 inclusive !!call rng%rngInteger(id, 1, 100) !! !!! Other distributions !!call rng%rngNormal(a) !!call rng%rngExponential(a, 1.d0) !!call rng%rngWeibull(a, 1.d0, 1.d0) !!stop !!end program !!``` !! !!### Example parallel usage using OpenMP !!```Fortran !!program PrngTest !! !!use omp_lib !!use Prng_Class, only: Prng, getRandomSeed !! !!implicit none !! !!type(Prng), allocatable :: rng(:) ! Array of Prng classes, one for each thread !!integer(i64) :: seed(16) !  Get a randomly generated seed !!call getRandomSeed(seed, .true.) !! !!! Get the number of threads available !!!$omp parallel !! nThreads = omp_get_num_threads() !!!$omp end parallel !! !!! Allocate an array of Prngs, one for each thread !!allocate(rng(nThreads)) !! !!! In parallel, initialize each Prng with the same seed, and jump each prng by the thread ID it is associated with. !!! This allows all Prngs to draw from the same stream, but at different points along the stream. !!! This is better than giving each Prng its own randomly generated seed. !! !!!$omp parallel shared(rng, seed) private(iThread, a) !! iThreads = omp_get_thread_num() !! rng(iThread + 1) = Prng(seed, big = .true.) !! call rng(iThread + 1)%jump(iThread) ! Jump the current thread's Prng by its thread number. !! call rng(iThread + 1)%rngNormal(a) ! Draw from normal distribution on each thread !!!$omp end parallel !! !!stop !!end program !!``` !!## xorshift128+ !!This module contains routines to generate random numbers using the xorshift128+ method by Vigna's extensions to !!Marsaglia, G., 2003. Xorshift RNGs. Journal of Statistical Software 8, 1 - 6. !! !!This module is a modified version of the public domain code written by Shun Sakuraba in 2015-2016. !!The original code can be found [here](https://bitbucket.org/shun.sakuraba/xorshiftf90). !!The modified code in coretran is distributed under the coretran license, see the repository for that information. !! !!Vigna's xorshift128+ pseudorandom generator. !!Sebastiano Vigna. 2014. Further scramblings of Marsaglia's xorshift generators. CoRR, abs/1402.6246. !! xorshift128+ is known as a fast pseudorandom generator with reasonably good resilience to randomness tests. !! Since its primary imporance is its speed, do not forget to add inlining directives depending your compiler. !! !! !!### Why xorshift128+ ? !!The seed of the xorshift128+ can be jumped by k cycles, where each cycle jumps ahead by \(2^{64}\) random numbers, but quickly. !!This ability to jump is an important aspect for using random number generators in general but especially in parallel !!in either OpenMP or MPI paradigms. !!The time taken to generate a 64 bit integer was 1.06 ns on an IntelR CoreTM i7-4770 CPU @3.40GHz (Haswell) as shown in Vigna (2014). !!xorshift128+ is the better for less massively parallel applications. !! !!If the period of the random number generator is too small for your application, consider using the xorshift1024* !!generator which has a period of \(2^{512}\) numbers. The time to generate a 64 bit integer is slightly slower at 1.36 ns !! !!## xorshift1024* !!This module contains routines to generate random numbers using the xorshift1024* method by Vigna's extensions to !!Marsaglia, G., 2003. Xorshift RNGs. Journal of Statistical Software 8, 1 - 6. !! !!This module is a modified version of the public domain code written by Shun Sakuraba in 2015-2016. !!The original code can be found [here](https://bitbucket.org/shun.sakuraba/xorshiftf90). !!The modified code in coretran is distributed under the coretran license, see the repository for that information. !! !!Vigna's xorshift1024* pseudorandom generator. !!Sebastiano Vigna. 2014. An experimental exploration of Marsaglia's xorshift generators, scrambled. CoRR, abs/1402.6246. !!xorshift1024* is a pseudorandom generator with reasonable speed and a good size state space. !! !! !!### Why xorshift1024* ? !!The seed of the xorshift1024* can be jumped by k cycles, where each cycle jumps ahead by \(2^{512}\) random numbers, but quickly. !!This ability to jump is an important aspect for using random number generators in general but especially in parallel !!in either OpenMP or MPI paradigms. !!The time taken to generate a 64 bit integer was 1.36 ns on an IntelR CoreTM i7-4770 CPU @3.40GHz (Haswell) as shown in Vigna (2014). !!xorshift1024* is better for massively parallel applications that draw many realizations. !! !!If the size of the random number generator is too much for your application, consider using the xorshift128+ !!generator which has a period of \(2^{64}\) numbers. The time to generate a 64 bit integer is faster at 1.06 ns use iso_fortran_env, only: output_unit use variableKind, only: r64, i32, i64 use m_allocate, only: allocate use m_errors, only: eMsg use m_time, only: timeToInteger use m_indexing, only: ind2sub use m_strings, only: str, printOptions implicit none private public :: Prng public :: getRandomSeed type Prng !! Class that generates pseudo random numbers. See [[Prng_Class]] for more information on how to use this class. integer(i64) :: seed(0:15) = 0 integer(i32) :: ptr logical :: big contains procedure, public :: jump => jump_Prng !! Jumps the Prng by \(2^{64}\) numbers if the Prng was instantiated with big = .false. or \(2^{512}\) if big = .true. !! This allows the Prng to be used correctly in parallel on multiple threads for OpenMP, or ranks for MPI. generic, public :: rngExponential => rngExponential_d1_Prng_, rngExponential_d1D_Prng_, rngExponential_d2D_Prng_, rngExponential_d3D_Prng_ !! Prng%rngExponential() - Draw from an exponential distribution !! $$y = \frac{-ln(\tilde{u})}{\lambda}$$ !! where \(\tilde{u}\) is a sample from a uniform distribution procedure, private :: rngExponential_d1_Prng_ => rngExponential_d1_Prng procedure, private :: rngExponential_d1D_Prng_ => rngExponential_d1D_Prng procedure, private :: rngExponential_d2D_Prng_ => rngExponential_d2D_Prng procedure, private :: rngExponential_d3D_Prng_ => rngExponential_d3D_Prng generic, public :: rngInteger => rngInteger_i1_Prng_, rngInteger_i1D_Prng_, rngInteger_i2D_Prng_, rngInteger_i3D_Prng_ !! Prng%rngInteger() - Draw a random integer in the interval \(x_{0} <= \tilde{u} <= x_{1}\) !! $$y = x_{0} + (\tilde{u} * x_{1})$$ !! where \(\tilde{u}\) is a sample from a uniform distribution, and integers are generated such that \(x_{0} <= \tilde{u} <= x_{1}\). procedure, private :: rngInteger_i1_Prng_ => rngInteger_i1_Prng procedure, private :: rngInteger_i1D_Prng_ => rngInteger_i1D_Prng procedure, private :: rngInteger_i2D_Prng_ => rngInteger_i2D_Prng procedure, private :: rngInteger_i3D_Prng_ => rngInteger_i3D_Prng generic, public :: rngNormal => rngNormal_d1_Prng_, rngNormal_d1D_Prng_, rngNormal_d2D_Prng_, rngNormal_d3D_Prng_ !! Prng%rngNormal() - Draw from a normal distribution. procedure, private :: rngNormal_d1_Prng_ => rngNormal_d1_Prng procedure, private :: rngNormal_d1D_Prng_ => rngNormal_d1D_Prng procedure, private :: rngNormal_d2D_Prng_ => rngNormal_d2D_Prng procedure, private :: rngNormal_d3D_Prng_ => rngNormal_d3D_Prng generic, public :: rngUniform => rngUniform_d1_Prng_,rngUniform_d1D_Prng_,rngUniform_d2D_Prng_,rngUniform_d3D_Prng_ !! Prng%rngUniform() - Draw from a uniform distribution !! Draws uniform random numbers on (0, 1) using either the xorshift1024* or xorshift128+ algorithms. procedure, private :: rngUniform_d1_Prng_ => rngUniform_d1_Prng procedure, private :: rngUniform_d1D_Prng_ => rngUniform_d1D_Prng procedure, private :: rngUniform_d2D_Prng_ => rngUniform_d2D_Prng procedure, private :: rngUniform_d3D_Prng_ => rngUniform_d3D_Prng generic, public :: rngWeibull => rngWeibull_d1_Prng_,rngWeibull_d1D_Prng_,rngWeibull_d2D_Prng_,rngWeibull_d3D_Prng_ !! Prng%rngWeibull() - Draw from a Weibull distribution !! $$y = \left[ \frac{-1}{\lambda} ln(\tilde{u}) \right]^{\frac{1}{k}}$$ !! where \(\tilde{u}\) is a sample from a uniform distribution and !! \(\frac{-1}{\lambda} ln(\tilde{u})\) is a draw from an exponential distribution. procedure, private :: rngWeibull_d1_Prng_ => rngWeibull_d1_Prng procedure, private :: rngWeibull_d1D_Prng_ => rngWeibull_d1D_Prng procedure, private :: rngWeibull_d2D_Prng_ => rngWeibull_d2D_Prng procedure, private :: rngWeibull_d3D_Prng_ => rngWeibull_d3D_Prng end type interface Prng !!Overloaded Initializer for a Prng - Pseudo random number generator. !!Thread safe, xorshift1024* or xorshift128+ generator than can draw from different distributions. !!See [[Prng_Class]] for more information on how to use this class. module procedure :: initWithSetseed_Prng, initWithRandomSeed_Prng end interface public :: rngExponential_unscaled_d1 interface !====================================================================! module subroutine rngExponential_d1_Prng(this, res, lambda) !! Overloaded Type bound procedure Prng%rngExponential() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(out) :: res !! Draw from exponential distribution real(r64), intent(in) :: lambda !! Inverse scale > 0 end subroutine !====================================================================! !====================================================================! module subroutine rngExponential_d1D_Prng(this, res, lambda) !! Overloaded Type bound procedure Prng%rngExponential() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(out) :: res(:) !! Draw from exponential distribution real(r64), intent(in) :: lambda !! Inverse scale > 0 end subroutine !====================================================================! !====================================================================! module subroutine rngExponential_d2D_Prng(this, res, lambda) !! Overloaded Type bound procedure Prng%rngExponential() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(out) :: res(:,:) !! Draw from exponential distribution real(r64), intent(in) :: lambda !! Inverse scale > 0 end subroutine !====================================================================! !====================================================================! module subroutine rngExponential_d3D_Prng(this, res, lambda) !! Overloaded Type bound procedure Prng%rngExponential() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(out) :: res(:,:,:) !! Draw from exponential distribution real(r64), intent(in) :: lambda !! Inverse scale > 0 end subroutine !====================================================================! !====================================================================! module subroutine rngExponential_unscaled_d1(this, res) !====================================================================! class(Prng) :: this !! Prng Class real(r64) :: res !! Draw from exponential distribution end subroutine !====================================================================! !====================================================================! module subroutine rngInteger_i1_Prng(this, res, imin, imax) !! Overloaded Type bound procedure Prng%rngInteger() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class integer(i32), intent(out) :: res !! Random integer integer(i32), intent(in) :: imin !! Draw >= imin integer(i32), intent(in) :: imax !! Draw <= imax end subroutine !====================================================================! !====================================================================! module subroutine rngInteger_i1D_Prng(this, res, imin, imax) !! Overloaded Type bound procedure Prng%rngInteger() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class integer(i32), intent(out) :: res(:) !! Random integer integer(i32), intent(in) :: imin !! Draw >= imin integer(i32), intent(in) :: imax !! Draw <= imax end subroutine !====================================================================! !====================================================================! module subroutine rngInteger_i2D_Prng(this, res, imin, imax) !! Overloaded Type bound procedure Prng%rngInteger() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class integer(i32), intent(out) :: res(:,:) !! Random integer integer(i32), intent(in) :: imin !! Draw >= imin integer(i32), intent(in) :: imax !! Draw <= imax end subroutine !====================================================================! !====================================================================! module subroutine rngInteger_i3D_Prng(this, res, imin, imax) !! Overloaded Type bound procedure Prng%rngInteger() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class integer(i32), intent(out) :: res(:,:,:) !! Random integer integer(i32), intent(in) :: imin !! Draw >= imin integer(i32), intent(in) :: imax !! Draw <= imax end subroutine !====================================================================! !====================================================================! module subroutine rngNormal_d1_Prng(this, res, mean, std) !! Overloaded Type bound procedure Prng%rngNormal() !====================================================================! class(prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res !! Draw from random Normal real(r64), intent(in), optional :: mean !! Mean of the normal distribution real(r64), intent(in), optional :: std !! Standard deviation of the normal distribution end subroutine !====================================================================! !====================================================================! module subroutine rngNormal_d1D_Prng(this, res, mean, std) !! Overloaded Type bound procedure Prng%rngNormal() !====================================================================! class(prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res(:) !! Draw from random Normal real(r64), intent(in), optional :: mean !! Mean of the normal distribution real(r64), intent(in), optional :: std !! Standard deviation of the normal distribution end subroutine !====================================================================! !====================================================================! module subroutine rngNormal_d2D_Prng(this, res, mean, std) !! Overloaded Type bound procedure Prng%rngNormal() !====================================================================! class(prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res(:,:) !! Draw from random Normal real(r64), intent(in), optional :: mean !! Mean of the normal distribution real(r64), intent(in), optional :: std !! Standard deviation of the normal distribution end subroutine !====================================================================! !====================================================================! module subroutine rngNormal_d3D_Prng(this, res, mean, std) !! Overloaded Type bound procedure Prng%rngNormal() !====================================================================! class(prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res(:,:,:) !! Draw from random Normal real(r64), intent(in), optional :: mean !! Mean of the normal distribution real(r64), intent(in), optional :: std !! Standard deviation of the normal distribution end subroutine !====================================================================! !====================================================================! module subroutine rngUniform_d1_Prng(this, res, rmin, rmax) !! Overloaded Type bound procedure Prng%rngUniform() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res !! Random uniform real(r64), intent(in), optional :: rmin !! Minimum value to draw between. Requires rmax be used as well. real(r64), intent(in), optional :: rmax !! Maximum value to draw between. Requires rmin be used as well. end subroutine !====================================================================! !====================================================================! module subroutine rngUniform_d1D_Prng(this, res, rmin, rmax) !! Overloaded Type bound procedure Prng%rngUniform() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res(:) !! Random uniform real(r64), intent(in), optional :: rmin !! Minimum value to draw between. Requires rmax be used as well. real(r64), intent(in), optional :: rmax !! Maximum value to draw between. Requires rmin be used as well. end subroutine !====================================================================! !====================================================================! module subroutine rngUniform_d2D_Prng(this, res, rmin, rmax) !! Overloaded Type bound procedure Prng%rngUniform() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res(:,:) !! Random uniform real(r64), intent(in), optional :: rmin !! Minimum value to draw between. Requires rmax be used as well. real(r64), intent(in), optional :: rmax !! Maximum value to draw between. Requires rmin be used as well. end subroutine !====================================================================! !====================================================================! module subroutine rngUniform_d3D_Prng(this, res, rmin, rmax) !! Overloaded Type bound procedure Prng%rngUniform() !====================================================================! class(Prng), intent(inout) :: this !! Prng Class real(r64), intent(inout) :: res(:,:,:) !! Random uniform real(r64), intent(in), optional :: rmin !! Minimum value to draw between. Requires rmax be used as well. real(r64), intent(in), optional :: rmax !! Maximum value to draw between. Requires rmin be used as well. end subroutine !====================================================================! !====================================================================! module subroutine rngWeibull_d1_Prng(this, res, lambda, k) !! Overloaded Type bound procedure Prng%rngWeibull() !====================================================================! Class(Prng), intent(inout) :: this !! Prnge Class real(r64), intent(inout) :: res !! Draw from Weibull distribution real(r64), intent(in) :: lambda !! Scale of the distribution real(r64), intent(in) :: k !! Shape of the distribution end subroutine !====================================================================! !====================================================================! module subroutine rngWeibull_d1D_Prng(this, res, lambda, k) !! Overloaded Type bound procedure Prng%rngWeibull() !====================================================================! Class(Prng), intent(inout) :: this !! Prnge Class real(r64), intent(inout) :: res(:) !! Draw from Weibull distribution real(r64), intent(in) :: lambda !! Scale of the distribution real(r64), intent(in) :: k !! Shape of the distribution end subroutine !====================================================================! !====================================================================! module subroutine rngWeibull_d2D_Prng(this, res, lambda, k) !! Overloaded Type bound procedure Prng%rngWeibull() !====================================================================! Class(Prng), intent(inout) :: this !! Prnge Class real(r64), intent(inout) :: res(:,:) !! Draw from Weibull distribution real(r64), intent(in) :: lambda !! Scale of the distribution real(r64), intent(in) :: k !! Shape of the distribution end subroutine !====================================================================! !====================================================================! module subroutine rngWeibull_d3D_Prng(this, res, lambda, k) !! Overloaded Type bound procedure Prng%rngWeibull() !====================================================================! Class(Prng), intent(inout) :: this !! Prnge Class real(r64), intent(inout) :: res(:,:,:) !! Draw from Weibull distribution real(r64), intent(in) :: lambda !! Scale of the distribution real(r64), intent(in) :: k !!  Prng Class integer(i64), intent(in) :: seed(:) !! Fixed seeds of 64 bit integers. If big == true, must be length 16 else must be length 2. logical, intent(in), optional :: big !! Use the high period xorshift1024* (true) or xorshift128+ (false). Default is false. call setSeed_Prng(this, seed, big) end function !====================================================================! !====================================================================! function initWithRandomSeed_Prng(big, display) result(this) !====================================================================! type(Prng) :: this !! Prng Class logical, intent(in), optional :: big !! Use the high period xorshift1024* (true) or xorshift128+ (false). Default is false. logical, intent(in), optional :: display !! Display the randomly generated seed to the screen for reproducibility logical :: useXorshift1024star integer(i32) :: i, dt(8) integer(i64) :: t integer(i64) :: s(16) logical :: display_ useXorshift1024star = .false. if (present(big)) useXorshift1024star = big if (useXorshift1024star) then call getRandomSeed(s, .true.) else call getRandomSeed(s(1:2), .false.) endif display_ = .false. if (present(display)) display_ = display if (display_) then i = printOptions%threshold printOptions%threshold = 0 write(output_unit,'(a)') 'Random Seed: ['//str(s, delim = ',')//']' printOptions%threshold = i end if if (useXorshift1024star) then call setSeed_Prng(this, s, .true.) else call setSeed_Prng(this, s(1:2), .false.) endif end function !====================================================================! !====================================================================! subroutine getRandomSeed(seed, big) !! Gets a randomly generated seed by getting the current integer time !! and then using a splitmix algorithm to generate the necessary number of seeds. !====================================================================! integer(i64), intent(inout) :: seed(:) !! Random seeds of 64 bit integers. If big == true, must be size 16 else must be size 2. logical, intent(in), optional :: big !! Use the high period xorshift1024* (true) or xorshift128+ (false). Default is false. logical :: useXorshift1024star integer(i32) :: dt(8) integer(i32) :: i integer(i32) :: nSeeds integer(i64) :: t useXorshift1024star = .false. if (present(big)) useXorshift1024star = big nSeeds = size(seed) if (useXorshift1024star) then if (nSeeds /= 16) call eMsg('getRandomSeed: Seed must have size 16') else if (nSeeds /= 2) call eMsg('getRandomSeed: Seed must have size 2') endif call date_and_time(VALUES=dt) t = timeToInteger(dt) ! use splimix64 for initialization do i = 1, nSeeds seed(i) = splitmix64(t) end do end subroutine !====================================================================! !====================================================================! subroutine jump_Prng(this, nJumps) !====================================================================! class(Prng), intent(inout) :: this !! Prng Class integer(i32) :: nJumps !! Number of times to skip \(2^{64}\) numbers if the Prng was initialized with big = .false. !! or $2^{512}$ numbers if big was .true. integer(i32) :: i if (this%big) then do i = 1, nJumps call jumpState_1024star(this) enddo else do i = 1, nJumps call jumpState_128plus(this) enddo endif end subroutine !====================================================================! !====================================================================! subroutine setSeed_Prng(this, seed, big) !====================================================================! type(Prng), intent(inout) :: this !! Prng Class integer(i64), intent(in) :: seed(:) !! Fixed seeds of 64 bit integers. If big == true, must be length 16 else must be length 2. logical, intent(in), optional :: big !! Use the high period xorshift1024* (true) or xorshift128+ (false). Default is false. logical :: useXorshift1024star integer(i32) :: i integer(i32) :: nSeeds integer(i64) :: tmp useXorshift1024star = .false. if (present(big)) useXorshift1024star = big this%big = useXorshift1024star if (useXorshift1024star) then if (size(seed) /= 16) call eMsg('Prng: For big = .true., seed must have size 16') nSeeds = 16 else if (size(seed) /= 2) call eMsg('Prng: For big = .false., seed must have size 2') nSeeds = 2 endif if(all(seed(:) == 0_i64)) then ! initialize with some non-zero values tmp = 0 do i = 0, nSeeds-1 this%seed(i) = splitmix64(tmp) end do else this%seed(0:nSeeds-1) = seed(1:nSeeds) endif this%ptr = 0 end subroutine !====================================================================! !====================================================================! subroutine rngUniform_xorshift(this, val) !====================================================================! class(prng), intent(inout) :: this real(r64), intent(out) :: val integer(i64) :: rnd ! 1.0 / (1 << 53) real(r64), parameter :: multiplier = 1.0_r64 /<PHONE_NUMBER>740992_r64 if (this%big) then call rngInteger_1024star(this, rnd) else call rngInteger_128plus(this, rnd) endif ! 53-bit, divided by 2^53 val = real(ishft(rnd, -11), kind=r64) * multiplier end subroutine !====================================================================! !====================================================================! function splitmix64(seed) result(res) !! SplitMix64 implementation for random number seed initialization !====================================================================! integer(i64), intent(inout) :: seed integer(i64) :: res ! As of Fortran95 BOZ literals are available only in DATA stmts. ! Also, gfortran does not allow integer(8) greater than 2^63... integer(i64), parameter :: step = -7046029254386353131_i64 ! 0x9E3779B97F4A7C15 integer(i64), parameter :: mix1 = -4658895280553007687_i64 ! 0xBF58476D1CE4E5B9 integer(i64), parameter :: mix2 = -7723592293110705685_i64 ! 0x94D049BB133111EB ! gfortran may issue warning at the following lines. ! This is because splitmix64 assumes uint64 wrap-around, which is undefined in F90/95 std. ! Even though there are warnings, AFAIK, generated assembler codes are ones as expected. seed = seed + step res = seed res = ieor(res, ishft(res, -30)) * mix1 res = ieor(res, ishft(res, -27)) * mix2 res = ieor(res, ishft(res, -31)) end function !====================================================================! end module


Time.TimePickerComponent Class
Item Index
Methods
_selectTime
-
time
Parameters:
-
time
ObjectA POJO with properties for
hour
andminute
.
close
()
ACTION - Send action 'close'.
didInsertElement
()
private
handleClickOutside
()
private
scrollToElement
-
selector
Scrolls the page so that the element is in view.
Parameters:
-
selector
StringThis should be a css selector. ie. 'div.selected-item'
selectTime
-
time
Parameters:
-
time
Object
Properties
_selectedTime
Object
private
This computed property takes the selectedTime
property, which is a javascript
Date
object and returns an object with hour
and minute
properties.
classNames
Array
private
Default: `['tt-time-picker', 'container']`
displayFormat
String
Default: `hh:mm a`
output
String
Output
Options:
- date - javascript
Date
object. - timestamp - number of seconds.
- object -
Ember.Object
withyear
,month
anddate
properties.
Default: 'date'
selectedTime
Object
timeInterval
Integer
Time interval
The timeInterval
specifies the interval used for the time picker. An interval
of 10 will produce a time picker that will have times every ten minutes starting
on the hour. If set to 30, the default, the time picker will have half-hour
intervals.
Default: `30`
times
Array
private
This is an array of time objects. Each object has two properties: hour
and
minute
. There is one object for each time slot available on the time picker.
[
{ hour: 0, minute: 0 },
{ hour: 0, minute: 30 },
{ hour: 1, minute: 0 },
{ hour: 1, minute: 30 },
{ hour: 2, minute: 0 },
// ...
]


<?php
$message = 'fenced code block';
echo $message;
tilde
echo 'language identifier';
echo 'language identifier with non words';
<?php
echo "Hello World";
?>
Aura Project
the following isn't quite enough to close
```
still a fenced code block
foo
bar
<?php
echo "Hello World";


Cafe Wave Illusion
by Jonah Kagan
made with processing.js
Press the spacebar to change the ordering of the colors in each row. Changing the order of the colors will change the direction of the perceived motion as it relates to the direction of the arcs in each row. You can also shift some of the rows horizontally using the left/right arrow keys.
What's Going On
This illusion is a variation on 4-element motion illusions such as the rotating snakes illusion. It can also create an effect similar to the cafe wall illusion.
Each row in the image consists of a repeated pattern of arcs. One might expect that the illusory motion might correspond with the direction of the arcs, since they clearly seem to "point" in a certain direction. This variation shows that the illusory motion effect, which is caused by the color pattern, is much stronger than any bias generated by the direction of the arcs. For an explanation of why the color pattern creates illusory motion, see the page on 4-element motion illusions.
When the arcs line up vertically in a certain way (as they do in the initial configuration when the page loads) a tilt illusions is also produced. The horizontal gray dividing lines appear to tilt like the grout lines do in the cafe wall illusion. This may be caused by the same mechanism as the cafe wall illusion. If the blue and black arcs are grouped as one dark element, and the green and white arcs are grouped as one light element, then we see a pattern similar to the cafe wall illusion, in which the darks and lights on adjacent rows are slightly staggered, creating the illusion of tilt.


This is a simple example blending 3 channels (DAPI 1, KERATIN and ASMA) of a Microscopy image. Data credit : Rashid et al. Sci Data Manuscript 2019 (DOI: https://doi.org/10.7303/syn17865732).


Kitchen vs. Table
Posted on 7 Jun 2014 by Kyle Daugherty
After watching Shereef's Fireside Chat, I believe the DBC experience will be an incredible one. A lot of hard work and overwhelming at times...but well worth it. I expect there to be a lot of late nights, but will try to remember if I put the cereal bowl back in the fridge then it's probably time to call it a night.
I think I will do well in DBC's environment. I'm hungry to learn from everyone - teachers and students. I'll need to remember that it's okay to be vulnerable and show my ignorance. This is all part of the learning process and the more you put into it the more you'll get out of it. I like that DBC has the kind of culture where everyone is working together, in the kitchen, figuring things out.
My expectations of DBC did not change. Watching this video really just reinforced what I was expecting already. I read several blogs from DBC alumni before I applied and they all mentioned it was challenging and frustrating, but most importantly - rewarding.
Without a doubt, I'm nervous. In my current career, I deal with risk management so leaving my family and going without a job for 9 weeks is very unsettling. I do worry about not being as good as everyone else ("imposter syndrome"), but if that's the case then I will use that to my advantage to have so many people to learn from. Also, I have an introvert personality, so I'm worried about pair programming. I think it's mostly because I've never done it before and am unfamiliar with it so I'm not really sure what to expect, but am ready to challenge myself.
I'm excited to keep working through the Phase 0 prep work and learn as much as I can before leaving for Chicago.


subject
EBOOKS CATALOG JSSQPYX0081
benediction-vocal-score-9780193372238.pdf
December 02, 2016
Filetype: PDF
|
874 views
system_update_alt
Download
subject
Read
consumer-bankruptcy-101-paperback-9781609578411.pdf
August 22, 2016
Filetype: PDF
|
1315 views
system_update_alt
Download
subject
Read
thus-spake-zarathustra-quot-9781845882426.pdf
August 13, 2016
Filetype: PDF
|
1708 views
system_update_alt
Download
subject
Read
kaplan-12-practice-tests-for-the-sat-2015-2016-p-9781625231611.pdf
October 15, 2016
Filetype: PDF
|
1451 views
system_update_alt
Download
subject
Read
canzone-1819-9781436797054.pdf
October 08, 2016
Filetype: PDF
|
3279 views
system_update_alt
Download
subject
Read
caring-crochet-18-heartfelt-projects-to-let-some-9781573677707.pdf
August 10, 2016
Filetype: PDF
|
3209 views
system_update_alt
Download
subject
Read
albert-okura-the-chicken-man-with-a-50-year-plan-9781491868072.pdf
October 17, 2016
Filetype: PDF
|
2610 views
system_update_alt
Download
subject
Read
eddie-and-dog-9781848956568.pdf
August 18, 2016
Filetype: PDF
|
821 views
system_update_alt
Download
subject
Read
treason-a-catholic-novel-of-elizabethan-england-9781933184920.pdf
November 01, 2016
Filetype: PDF
|
1254 views
system_update_alt
Download
subject
Read
how-to-build-with-grid-beam-a-fast-easy-and-affo-9780865716131.pdf
August 28, 2016
Filetype: PDF
|
2497 views
system_update_alt
Download
subject
Read
modern-farmyard-buildings-paperback-9781130373196.pdf
September 12, 2016
Filetype: PDF
|
1209 views
system_update_alt
Download
subject
Read
crs-report-for-congress-israel-background-and-re-9781293278833.pdf
September 06, 2016
Filetype: PDF
|
1426 views
system_update_alt
Download
subject
Read
space-launch-operations-and-the-lean-aerospace-i-9781288405732.pdf
December 22, 2016
Filetype: PDF
|
623 views
system_update_alt
Download
subject
Read
dying-for-a-daiquiri-9781492746843.pdf
January 21, 2017
Filetype: PDF
|
1974 views
system_update_alt
Download
subject
Read
sirens-song-9788125003076.pdf
September 22, 2016
Filetype: PDF
|
1995 views
system_update_alt
Download
subject
Read
hymn-melody-method-for-guitar-2-beginning-classi-9781494286859.pdf
September 25, 2016
Filetype: PDF
|
700 views
system_update_alt
Download
subject
Read
life-according-to-dani-9781776570713.pdf
December 04, 2016
Filetype: PDF
|
618 views
system_update_alt
Download
subject
Read
compact-ultraslim-bible-nkjv-9781418547851.pdf
December 21, 2016
Filetype: PDF
|
3083 views
system_update_alt
Download
subject
Read
united-states-history-teacher-x27-s-resource-lib-9780785417798.pdf
October 11, 2016
Filetype: PDF
|
1375 views
system_update_alt
Download
subject
Read
under-the-tump-sketches-of-real-life-on-the-wels-9780571311958.pdf
October 05, 2016
Filetype: PDF
|
2692 views
system_update_alt
Download
subject
Read
how-to-hypnotize-people-easily-and-effectively-l-9781304722836.pdf
October 27, 2016
Filetype: PDF
|
1819 views
system_update_alt
Download
subject
Read
olympic-games-asian-games-afro-asian-games-and-c-9788182052437.pdf
December 11, 2016
Filetype: PDF
|
3078 views
system_update_alt
Download
subject
Read
the-healthy-times-essence-of-this-a-total-of-741-9787111401490.pdf
January 13, 2017
Filetype: PDF
|
2481 views
system_update_alt
Download
subject
Read
synopsis-of-decisions-and-recommendations-relati-9781313640688.pdf
August 25, 2016
Filetype: PDF
|
672 views
system_update_alt
Download
subject
Read
the-baylor-bulletin-volume-20-no-4-paperback-9781130266856.pdf
December 09, 2016
Filetype: PDF
|
1610 views
system_update_alt
Download
subject
Read
molecular-chaperones-and-cell-signalling-9780521177474.pdf
November 24, 2016
Filetype: PDF
|
3057 views
system_update_alt
Download
subject
Read
designing-networks-and-services-for-the-cloud-de-9781587142949.pdf
January 19, 2017
Filetype: PDF
|
2223 views
system_update_alt
Download
subject
Read
contemplating-divorce-a-step-by-step-guide-to-de-9781572245242.pdf
November 07, 2016
Filetype: PDF
|
3067 views
system_update_alt
Download
subject
Read
vertical-gardening-101-how-to-create-your-vertic-9781503355644.pdf
January 18, 2017
Filetype: PDF
|
1114 views
system_update_alt
Download
subject
Read
super-malls-orange-band-9781316503355.pdf
December 11, 2016
Filetype: PDF
|
1197 views
system_update_alt
Download
subject
Read
the-sponsor-paperback-9781475175486.pdf
September 01, 2016
Filetype: PDF
|
2239 views
system_update_alt
Download
subject
Read
dog-health-and-nutrition-for-dummies-9780764553189.pdf
August 26, 2016
Filetype: PDF
|
563 views
system_update_alt
Download
subject
Read
becoming-catholic-finding-rome-in-the-american-r-9780199964987.pdf
January 02, 2017
Filetype: PDF
|
1664 views
system_update_alt
Download
subject
Read
fragments-from-the-delta-of-venus-9781576871829.pdf
July 30, 2016
Filetype: PDF
|
342 views
system_update_alt
Download
subject
Read
coffee-bean-diet-journal-your-own-personalized-d-9781512010947.pdf
November 12, 2016
Filetype: PDF
|
2790 views
system_update_alt
Download
subject
Read
the-great-big-glorious-book-for-girls-paperback-9780241972311.pdf
October 11, 2016
Filetype: PDF
|
2131 views
system_update_alt
Download
subject
Read
thumb-of-genuine-book-lovers-ishida-clothing-ben-9787532757602.pdf
November 21, 2016
Filetype: PDF
|
2093 views
system_update_alt
Download
subject
Read
by-virtue-fall-a-song-of-the-shadowdance-paperba-9780991307425.pdf
October 09, 2016
Filetype: PDF
|
1483 views
system_update_alt
Download
subject
Read
angel-in-my-pocket-9780312641252.pdf
September 22, 2016
Filetype: PDF
|
1864 views
system_update_alt
Download
subject
Read
time-management-in-a-week-how-to-manage-your-tim-9781473610354.pdf
September 15, 2016
Filetype: PDF
|
2833 views
system_update_alt
Download
subject
Read
2010-kaoyan-ideological-and-political-point-and--9787811249194.pdf
September 14, 2016
Filetype: PDF
|
2451 views
system_update_alt
Download
subject
Read
rome-and-the-classical-west-the-illustrated-hist-9780783563022.pdf
August 07, 2016
Filetype: PDF
|
1322 views
system_update_alt
Download
subject
Read
elements-of-data-communication-and-networks-9788131804629.pdf
December 11, 2016
Filetype: PDF
|
2759 views
system_update_alt
Download
subject
Read
billy-and-blaze-9780689716089.pdf
November 13, 2016
Filetype: PDF
|
2553 views
system_update_alt
Download
subject
Read
studies-on-rutheno-cuprates-and-ca-doped-y-123-s-9783639702507.pdf
January 20, 2017
Filetype: PDF
|
2137 views
system_update_alt
Download
subject
Read
after-breast-cancer-a-common-sense-guide-to-life-9780553381627.pdf
November 29, 2016
Filetype: PDF
|
3283 views
system_update_alt
Download
subject
Read
a-man-of-the-people-9780141186894.pdf
January 08, 2017
Filetype: PDF
|
2740 views
system_update_alt
Download
subject
Read
evans-carlson-marine-raider-the-man-who-commande-9781594161940.pdf
September 06, 2016
Filetype: PDF
|
1818 views
system_update_alt
Download
subject
Read
the-movement-of-stars-a-novel-9781594487446.pdf
December 23, 2016
Filetype: PDF
|
647 views
system_update_alt
Download
subject
Read
indesign-2-for-macintosh-and-windows-visual-quic-9780201794786.pdf
October 17, 2016
Filetype: PDF
|
2658 views
system_update_alt
Download
subject
Read
the-patriot-threat-9781444795455.pdf
December 08, 2016
Filetype: PDF
|
2262 views
system_update_alt
Download
subject
Read
past-remembering-9781594931031.pdf
October 31, 2016
Filetype: PDF
|
1765 views
system_update_alt
Download
subject
Read
elements-of-language-third-course-grade-9-langua-9780030955051.pdf
December 07, 2016
Filetype: PDF
|
2022 views
system_update_alt
Download
subject
Read
essays-to-stimulate-philosophical-thought-with-t-9781499367768.pdf
August 12, 2016
Filetype: PDF
|
3304 views
system_update_alt
Download
subject
Read
world-history-connections-to-today-program-overv-9780130631107.pdf
January 10, 2017
Filetype: PDF
|
2847 views
system_update_alt
Download
subject
Read
adele-set-fire-to-the-rain-sab-x2f-piano-paperba-9781780383538.pdf
January 01, 2017
Filetype: PDF
|
1204 views
system_update_alt
Download
subject
Read
the-gamblers-9780099461180.pdf
November 22, 2016
Filetype: PDF
|
2972 views
system_update_alt
Download
subject
Read
marco-polo-reisef-uuml-hrer-costa-rica-9783829724371.pdf
November 04, 2016
Filetype: PDF
|
2418 views
system_update_alt
Download
subject
Read
puzzle-club-issue-1-1st-school-edition-9780435177928.pdf
November 09, 2016
Filetype: PDF
|
2957 views
system_update_alt
Download
subject
Read
crazy-love-more-than-200-insanely-creative-ways--9781440554841.pdf
December 12, 2016
Filetype: PDF
|
1801 views
system_update_alt
Download
subject
Read
the-rent-free-solution-how-to-stop-renting-and-b-9781502855008.pdf
November 06, 2016
Filetype: PDF
|
1351 views
system_update_alt
Download
subject
Read
cake-a-slice-of-history-9781472226846.pdf
October 26, 2016
Filetype: PDF
|
2017 views
system_update_alt
Download
subject
Read
mutiny-on-board-hms-bounty-9781472907219.pdf
September 30, 2016
Filetype: PDF
|
2606 views
system_update_alt
Download
subject
Read
analytical-chemistry-study-guide-book-chinese-ed-9787304005337.pdf
October 16, 2016
Filetype: PDF
|
3001 views
system_update_alt
Download
subject
Read
hitler-x27-s-war-9780340921821.pdf
December 06, 2016
Filetype: PDF
|
2459 views
system_update_alt
Download
subject
Read
larb-quarterly-journal-winter-2014-2014-9781940660004.pdf
December 04, 2016
Filetype: PDF
|
2388 views
system_update_alt
Download
subject
Read
coming-slowly-a-kaleidoscope-of-life-on-and-arou-9781853981494.pdf
September 25, 2016
Filetype: PDF
|
3008 views
system_update_alt
Download
subject
Read
scratch-amp-stencil-pop-star-9780762452804.pdf
October 31, 2016
Filetype: PDF
|
3007 views
system_update_alt
Download
subject
Read
divided-in-death-9780399151545.pdf
November 22, 2016
Filetype: PDF
|
2842 views
system_update_alt
Download
subject
Read
civil-service-entrance-examination-in-beijing-ch-9787502373498.pdf
January 17, 2017
Filetype: PDF
|
2340 views
system_update_alt
Download
subject
Read
self-care-for-teachers-regain-your-balance-recla-1-9781466983632.pdf
September 22, 2016
Filetype: PDF
|
1028 views
system_update_alt
Download
subject
Read
word-search-puzzles-animals-of-the-americas-9781530778867.pdf
October 19, 2016
Filetype: PDF
|
2714 views
system_update_alt
Download
subject
Read
university-physics-vol-2-3rd-edition-9787560824222.pdf
August 10, 2016
Filetype: PDF
|
901 views
system_update_alt
Download
subject
Read
studyguide-for-constructive-guidance-and-discipl-1-9781428851023.pdf
November 27, 2016
Filetype: PDF
|
3257 views
system_update_alt
Download
subject
Read
raising-third-culture-children-challenges-faced--9781500741037.pdf
September 28, 2016
Filetype: PDF
|
659 views
system_update_alt
Download
subject
Read
crs-report-for-congress-government-access-to-pho-9781293246917.pdf
November 21, 2016
Filetype: PDF
|
2395 views
system_update_alt
Download
subject
Read
word-problems-grade-2-paperback-9781483804392.pdf
September 22, 2016
Filetype: PDF
|
2468 views
system_update_alt
Download
subject
Read
the-big-book-of-reading-response-activities-grad-9780439796835.pdf
September 02, 2016
Filetype: PDF
|
1753 views
system_update_alt
Download
subject
Read
how-to-coach-youth-baseball-a-step-by-step-appro-9781599210513.pdf
September 15, 2016
Filetype: PDF
|
1069 views
system_update_alt
Download
subject
Read
cambridge-igcse-biology-third-edition-9781471837982.pdf
December 03, 2016
Filetype: PDF
|
929 views
system_update_alt
Download
subject
Read
identifying-inferences-specific-skill-series-boo-9780848417857.pdf
September 16, 2016
Filetype: PDF
|
417 views
system_update_alt
Download
subject
Read
yukio-mishima-9781780233451.pdf
November 03, 2016
Filetype: PDF
|
613 views
system_update_alt
Download
subject
Read
amadis-de-gaula-libro-primero-9781589771154.pdf
September 19, 2016
Filetype: PDF
|
458 views
system_update_alt
Download
subject
Read
patriotic-and-heroic-eloquence-a-book-for-the-pa-9781130514377.pdf
January 02, 2017
Filetype: PDF
|
2721 views
system_update_alt
Download
subject
Read
strategic-cash-flow-management-9781841123370.pdf
November 05, 2016
Filetype: PDF
|
1007 views
system_update_alt
Download
subject
Read
blast-off-on-california-mathematics-book-3-9780783622958.pdf
December 22, 2016
Filetype: PDF
|
3006 views
system_update_alt
Download
subject
Read
elementary-algebra-concepts-and-applications-5th-9780201847499.pdf
September 19, 2016
Filetype: PDF
|
3266 views
system_update_alt
Download
subject
Read
project-management-for-software-development-9788179928486.pdf
December 12, 2016
Filetype: PDF
|
3167 views
system_update_alt
Download
subject
Read
the-bibliographers-manual-of-english-literature--4-9781236851239.pdf
September 16, 2016
Filetype: PDF
|
819 views
system_update_alt
Download
subject
Read
lift-up-your-hearts-a-true-story-of-loving-one-s-9780615610573.pdf
August 27, 2016
Filetype: PDF
|
1904 views
system_update_alt
Download
subject
Read
Other Files
description
evolution-through-nutrition-how-eating-more-plan-9781505599060.pdf
[67.56 KB]
description
the-village-reformed-or-the-sunday-school-paperb-9781113312631.pdf
[67.56 KB]
description
katie-fry-private-eye-1-the-lost-kitten-paperbac-9780545666725.pdf
[67.56 KB]
description
preaching-the-four-gospels-with-confidence-9781598567021.pdf
[67.56 KB]
description
how-can-an-angel-take-my-heart-part-ii-the-arman-9781491853788.pdf
[67.56 KB]
description
introduction-to-financial-accounting-11th-intern-9780133251036.pdf
[67.56 KB]
description
the-cleansing-fire-9781478702740.pdf
[67.56 KB]
description
explorations-and-discoveries-in-mathematics-volu-9781411616578.pdf
[67.56 KB]
description
longmans-junior-school-grammar-9781230046297.pdf
[67.56 KB]
description
respiratory-physiology-of-vertebrates-life-with--9780521703024.pdf
[67.56 KB]
description
histoire-de-la-restauration-volume-1-paperback-9781236406347.pdf
[67.56 KB]
description
gradle-beyond-the-basics-paperback-9781449304676.pdf
[67.56 KB]
description
the-awakening-and-selected-stories-paperback-1-9781840225846.pdf
[67.56 KB]
description
midnight-x27-s-terror-kingdoms-of-kalamar-offici-9781889182551.pdf
[67.56 KB]
description
kid-terrific-kid-superhero-paperback-9781500783792.pdf
[67.56 KB]
description
a-dictionary-of-biomedicine-9780199549351.pdf
[67.56 KB]
description
nightmare-inspector-volume-4-yumekui-kenbun-9781421517612.pdf
[67.56 KB]
description
standard-based-scoring-vs-grading-a-classroom-gu-9781517222789.pdf
[67.56 KB]
description
oasis-the-truth-my-life-as-oasis-x27-s-drummer-9781843584995.pdf
[67.56 KB]
description
reunion-at-cardwell-ranch-reunion-at-cardwell-ra-9780263918915.pdf
[67.56 KB]
description
surviving-aids-and-cancer-a-guide-to-staying-hea-9780595431526.pdf
[67.56 KB]
description
the-legal-language-of-scottish-burghs-standardiz-9780199945153.pdf
[67.56 KB]
description
123-si-an-artistic-counting-book-in-english-and--9781595340801.pdf
[67.56 KB]
description
producing-videos-a-complete-guide-9781742370569.pdf
[67.56 KB]
description
washington-dc-not-for-tourists-2010-9780981559179.pdf
[67.56 KB]
description
genuine-the-new-book-qing-do-cong-ming-and-qing--9787300164366.pdf
[67.56 KB]
description
snapshots-of-the-savior-poems-about-the-life-of--9781511594066.pdf
[67.56 KB]
description
wizardry-of-woman-paperback-9781480964242.pdf
[67.56 KB]
description
200-home-made-treatments-for-natural-beauty-9781845435455.pdf
[67.56 KB]
description
anastasia-s-book-of-short-stories-paperback-9781522815358.pdf
[67.56 KB]
description
l-archeologo-nell-abruzzo-ulteriore-secondo-pape-9781231280560.pdf
[67.56 KB]
description
curse-of-the-spellmans-9781416526414.pdf
[67.56 KB]
description
reading-2007-leveled-reader-6-pack-grade-6-unit--2-9780328184224.pdf
[67.56 KB]
description
the-healthy-instant-pot-pressure-cooker-cookbook-9781519768704.pdf
[67.56 KB]
description
the-fundamentals-of-listing-and-selling-commerci-9780741443694.pdf
[67.56 KB]
description
no-right-to-remain-silent-what-we-ve-learned-fro-9781522696896.pdf
[67.56 KB]
description
measurements-and-their-uncertainties-a-practical-9780199566334.pdf
[67.56 KB]
description
open-court-reading-decodable-core-set-the-tv-cre-9780075697824.pdf
[67.56 KB]
description
with-my-lazy-eye-9781847249463.pdf
[67.56 KB]
description
pruning-fruit-trees-volumes-101-135-9781277712971.pdf
[67.56 KB]
description
mathematics-a-second-start-2nd-revised-edition-9781898563044.pdf
[67.56 KB]
description
the-adult-coloring-book-secret-gardens-enchanted-9781511663045.pdf
[67.56 KB]
description
eve-arnold-magnum-legacy-9783791349633.pdf
[67.56 KB]
description
molecular-biology-a-very-short-introduction-pape-9780198723882.pdf
[67.56 KB]
description
windows-server-2003-systems-management-chinese-e-9787302083962.pdf
[67.56 KB]
description
lad-a-dog-the-original-classic-edition-9781486148356.pdf
[67.56 KB]
description
fluffy-fluffy-cinnamoroll-vol-3-9781421540689.pdf
[67.56 KB]
description
coherent-nonlinear-optics-9783642814976.pdf
[67.56 KB]
description
the-porch-poems-expressions-of-a-mustard-seed-fa-9781630635756.pdf
[67.56 KB]
description
shaken-allegiances-paperback-9780982475256.pdf
[67.56 KB]
description
on-dying-well-9780715165874.pdf
[67.56 KB]
description
math-common-core-state-standards-grade-7-9781423217695.pdf
[67.56 KB]
description
understanding-english-vocabulary-paperback-9780721712949.pdf
[67.56 KB]
description
king-john-paperback-9780486796932.pdf
[67.56 KB]
description
a-special-treasure-hunt-barbie-and-her-sisters-i-9780553537178.pdf
[67.56 KB]
description
reclaimed-paperback-9781419967238.pdf
[67.56 KB]
description
das-gemeine-dentliche-bergecht-9781234289621.pdf
[67.56 KB]
description
donne-poems-hardback-9780679444671.pdf
[67.56 KB]
description
works-cousin-phillis-and-other-tales-9785875979255.pdf
[67.56 KB]
description
he-s-just-not-that-into-you-9780743578172.pdf
[67.56 KB]
description
harcourt-school-publishers-collections-take-home-1-9780153172366.pdf
[67.56 KB]
description
power-prayers-to-start-your-day-inspirational-bo-9781616269494.pdf
[67.56 KB]
description
second-grade-primary-mathematics-innovative-lear-9787542746566.pdf
[67.56 KB]
description
the-three-brothers-and-the-dragon-9788966298877.pdf
[67.56 KB]
description
l-x27-eau-d-x27-ou-vient-l-x27-eau-9789252010869.pdf
[67.56 KB]
description
beginning-rock-rhythm-guitar-english-edition-poc-9780793562107.pdf
[67.56 KB]
description
vocational-students-entrance-examination-exam-si-9787516303856.pdf
[67.56 KB]
description
the-netherworld-of-mendip-explorations-in-the-gr-9781332168149.pdf
[67.56 KB]
description
my-lord-vampire-9781420122718.pdf
[67.56 KB]
description
social-commerce-9783319170275.pdf
[67.56 KB]
description
liberating-black-theology-the-bible-and-the-blac-9781433511479.pdf
[67.56 KB]
description
pass-cambridge-bec-higher-workbook-9781133316572.pdf
[67.56 KB]
description
requiem-shark-paperback-9781478748229.pdf
[67.56 KB]
description
jake-earns-a-treat-a-life-money-book-paperback-9781456730017.pdf
[67.56 KB]
description
the-mcgraw-hill-guide-to-the-pmp-exam-9780071436793.pdf
[67.56 KB]
description
yamaha-v-star-1100-clymer-motorcycle-repair-9781599692982.pdf
[67.56 KB]
description
wedding-sanity-savers-how-to-handle-the-stickies-9780767918749.pdf
[67.56 KB]
description
the-rogue-x27-s-proposal-number-2-in-series-hous-9780349401249.pdf
[67.56 KB]
description
republic-paperback-9781502385543.pdf
[67.56 KB]
description
anti-psychiatry-9785513300861.pdf
[67.56 KB]
description
the-mill-for-grinding-old-people-young-9780571281855.pdf
[67.56 KB]
description
the-motormaniacs-9781421801711.pdf
[67.56 KB]
description
the-journey-to-parenthood-myths-reality-and-what-9781846190148.pdf
[67.56 KB]
description
explorer-books-pathfinder-spanish-science-habita-1-9781285412535.pdf
[67.56 KB]
description
official-aston-villa-2014-calendar-9781908221872.pdf
[67.56 KB]
description
the-fault-in-our-stars-by-john-green-a-30-minute-9781499513622.pdf
[67.56 KB]
description
se-descifra-el-codigo-judio-pocket-book-12-secre-9781621364108.pdf
[67.56 KB]
description
fist-me-the-complete-guide-to-fisting-9783867875271.pdf
[67.56 KB]
description
yukarism-3-3-9781421575995.pdf
[67.56 KB]
description
car-care-and-decorative-cosmetic-diy-series-of-p-9787535740052.pdf
[67.56 KB]
description
thomas-gibson-s-weekly-market-letters-1908-volum-9781231522202.pdf
[67.56 KB]
description
pre-referral-intervention-manual-the-most-common-9781878372116.pdf
[67.56 KB]
description
crs-report-for-congress-flat-tax-proposals-and-f-9781293245620.pdf
[67.56 KB]
description
mathematics-curriculum-and-pedagogy-newly-chines-9787534380341.pdf
[67.56 KB]
description
my-psalms-encouraging-poems-by-miko-d-harris-9781479121717.pdf
[67.56 KB]
description
edexcel-gce-geography-as-level-student-book-and--9781292139623.pdf
[67.56 KB]
description
dietary-approaches-to-stop-hypertension-an-overv-9781628844597.pdf
[67.56 KB]
description
the-love-dare-day-by-day-a-year-of-devotions-for-1-9781433677281.pdf
[67.56 KB]
description
best-practices-in-electoral-security-a-guide-for-9781492848752.pdf
[67.56 KB]
description
i-believe-in-yesterday-a-2000-year-tour-through--9780099492986.pdf
[67.56 KB]
description
the-vedantasutras-with-the-sribhasya-of-ramanuja-9788121500913.pdf
[67.56 KB]
description
spectrum-grade-3-paperback-9781483813226.pdf
[67.56 KB]
description
kendall-theil-robust-line-a-visual-basic-program-9781249188612.pdf
[67.56 KB]
description
advent-of-storms-book-one-of-the-dawning-days-pa-9781508560845.pdf
[67.56 KB]
description
a-guide-to-pruning-the-roots-of-fruit-trees-9781446537367.pdf
[67.56 KB]
description
english-unlimited-upper-intermediate-coursebook--1-9781107691957.pdf
[67.56 KB]
description
moonshine-a-cultural-history-of-americas-infamou-9780760345849.pdf
[67.56 KB]
description
edexcel-a-level-science-students-book-with-activ-9781408206027.pdf
[67.56 KB]
description
hunting-julian-9781420104257.pdf
[67.56 KB]
description
my-friend-whale-new-edition-9780744598056.pdf
[67.56 KB]
description
elements-of-discord-in-secessia-c-c-new-york-may-9781332436378.pdf
[67.56 KB]
description
jurassic-world-special-edition-junior-novelizati-9780553536904.pdf
[67.56 KB]
description
30-minutes-to-succeed-in-business-writing-9788175540712.pdf
[67.56 KB]
description
massive-the-missing-particle-that-sparked-the-gr-9780465058730.pdf
[67.56 KB]
description
knowledge-and-brave-boy-handmade-book-powerful-p-9787541749698.pdf
[67.56 KB]
description
there-were-no-coyotes-formerly-marsh-owls-paperb-9781492795605.pdf
[67.56 KB]
description
s-uuml-chtig-nach-gr-uuml-n-9783492253710.pdf
[67.56 KB]
description
english-diction-vol-1-the-voice-in-speech-a-prac-9781330065617.pdf
[67.56 KB]
description
3-year-fast-graphic-composition-primary-composit-9787561774892.pdf
[67.56 KB]
description
report-of-the-proceedings-of-the-annual-meeting--9781235942877.pdf
[67.56 KB]
description
appeal-book-new-york-supreme-court-9781230035291.pdf
[67.56 KB]
description
jesus-insurgency-the-church-revolution-from-the--9781426740411.pdf
[67.56 KB]
description
blessing-your-children-how-you-can-love-the-kids-9780830730797.pdf
[67.56 KB]
description
a-gladiator-dies-only-once-roma-sub-rosa-1-9781845292348.pdf
[67.56 KB]
description
summer-moon-9780345440396.pdf
[67.56 KB]
description
dissertation-9781234350963.pdf
[67.56 KB]
description
da-memo-210-7-allocation-of-general-officers-qua-9781288902002.pdf
[67.56 KB]
description
to-begin-again-paperback-9781514715574.pdf
[67.56 KB]
description
inland-printer-american-lithographer-volume-48-p-9781236353979.pdf
[67.56 KB]
description
h1-genuine-compulsory-education-in-junior-high-s-9787508007236.pdf
[67.56 KB]
description
simple-effortless-slow-cooker-recipes-mouth-wate-9781516910908.pdf
[67.56 KB]
description
tales-from-the-back-row-an-outsider-s-view-from--1-9781494565022.pdf
[67.56 KB]
description
the-tale-of-daddy-longlegs-classic-reprint-9781330709191.pdf
[67.56 KB]
description
i-became-my-heart-stories-of-a-disciple-of-param-9780989024006.pdf
[67.56 KB]
description
the-musical-herald-and-tonic-sol-fa-reporter-vol-9781130475609.pdf
[67.56 KB]
description
office-of-inspector-general-audit-report-faa-tel-9781288684946.pdf
[67.56 KB]
description
bridges-to-algebra-and-geometry-learning-in-cont-9781578374410.pdf
[67.56 KB]
description
reading-life-on-books-memory-and-travel-9780881465211.pdf
[67.56 KB]
description
complete-works-of-edgar-allen-poe-volume-4-9781234156268.pdf
[67.56 KB]
description
why-not-me-a-true-story-about-a-miracle-in-miami-9781449703011.pdf
[67.56 KB]
description
social-studies-for-the-twenty-first-century-meth-9780415749794.pdf
[67.56 KB]
description
handmade-flowers-from-paper-and-fabric-a-david-a-9780715309858.pdf
[67.56 KB]
description
protein-phosphorylation-in-aging-and-age-related-9780444515834.pdf
[67.56 KB]
description
black-seconds-9780099501725.pdf
[67.56 KB]
description
14-autumn-special-senior-teacher-coaching-grade--2-9787538397260.pdf
[67.56 KB]
description
hollywood-hellraisers-the-wild-lives-and-fast-ti-9781616080358.pdf
[67.56 KB]
description
bible-stories-for-preschoolers-9781414339641.pdf
[67.56 KB]
description
31-days-of-power-learning-to-live-in-spiritual-v-9781601423382.pdf
[67.56 KB]
description
maths-quest-7-for-the-australian-curriculum-teac-9781742162836.pdf
[67.56 KB]
description
buzzing-discover-the-poetry-in-garden-minibeasts-9781908241443.pdf
[67.56 KB]
description
medication-technician-study-guide-medication-aid-9781500356439.pdf
[67.56 KB]
description
the-religion-of-the-crescent-being-the-james-lon-9781330026045.pdf
[67.56 KB]
description
an-introduction-to-measure-and-probability-paper-9780387948300.pdf
[67.56 KB]
description
the-math-of-money-making-mathematical-sense-of-y-1-9780387950785.pdf
[67.56 KB]
description
lilting-laments-of-a-looney-lass-daily-devotiona-9781508636717.pdf
[67.56 KB]
description
empire-05-the-wolf-x27-s-gold-9781444711882.pdf
[67.56 KB]
description
pet-names-numerology-choose-the-right-name-for-y-9781634288446.pdf
[67.56 KB]
description
sign-9781409102137.pdf
[67.56 KB]
description
locked-up-locked-out-young-men-in-the-juvenile-j-1-9780826517111.pdf
[67.56 KB]
description
fluid-mechanics-2nd-edition-9788120308947.pdf
[67.56 KB]
description
the-american-farmer-volume-3-no-2-devoted-to-agr-9781232287926.pdf
[67.56 KB]
description
when-the-hurricane-blew-9780977356904.pdf
[67.56 KB]
description
geological-series-volume-2-paperback-9781130485165.pdf
[67.56 KB]
description
the-energy-we-see-a-look-at-light-lightning-bolt-9780761371045.pdf
[67.56 KB]
description
a-practical-treatise-on-the-strength-and-stiffne-9781130142082.pdf
[67.56 KB]
description
i-say-unto-you-jesus-son-of-god-or-mystic-9781938755002.pdf
[67.56 KB]
description
horses-3d-coloring-book-3-d-coloring-book-9780486494746.pdf
[67.56 KB]
description
perpetual-royalty-corporation-et-al-petitioners--9781270745341.pdf
[67.56 KB]
description
passport-to-narnia-a-newcomer-s-guide-paperback-9781571744654.pdf
[67.56 KB]
description
really-really-big-questions-about-me-9780753432594.pdf
[67.56 KB]
description
things-a-little-bird-told-me-paperback-9781447271123.pdf
[67.56 KB]
description
dynamic-operational-planning-information-pull-ve-9781479271078.pdf
[67.56 KB]
description
5-steps-to-a-5-ap-macroeconomics-2016-cross-plat-9780071843225.pdf
[67.56 KB]
description
reading-and-writing-grade-by-grade-revised-editi-9780872077683.pdf
[67.56 KB]
description
interaction-of-cdc2-with-the-origin-recognition--9783638656306.pdf
[67.56 KB]
description
trauma-nursing-core-curriculum-tncc-provider-man-9780935890112.pdf
[67.56 KB]
description
materfamilias-paperback-9781230412696.pdf
[67.56 KB]
description
9787111392989-lean-thinking-series-lean-medical--9787111392989.pdf
[67.56 KB]
description
sheep-in-a-jeep-book-amp-cd-9780618695225.pdf
[67.56 KB]
description
latest-pupils-pictures-write-words-phonetic-vers-9787800529597.pdf
[67.56 KB]
description
meerkats-paperback-9781426313424.pdf
[67.56 KB]
description
rubber-in-industry-a-story-of-the-development-ma-9781332192229.pdf
[67.56 KB]
description
the-poetical-works-of-john-dyer-paperback-9781236434869.pdf
[67.56 KB]
description
four-letters-publish-d-in-old-england-or-the-con-9781170641774.pdf
[67.56 KB]
description
2013-monthly-lottery-predictions-for-pick-3-win--9781481984386.pdf
[67.56 KB]
description
choice-theory-in-the-classroom-revised-edition-9780060952877.pdf
[67.56 KB]
description
instant-palm-reader-llewellyn-x27-s-new-age-seri-9781567182323.pdf
[67.56 KB]
description
mcgraw-hill-mathematics-daily-homework-practice--3-9780021002849.pdf
[67.56 KB]
description
the-beast-singing-with-quot-iron-maiden-quot-the-9781844548842.pdf
[67.56 KB]
description
correspondance-de-voltaire-avec-le-roi-de-prusse-1-9781512011326.pdf
[67.56 KB]
description
wheel-of-the-year-living-the-magickal-life-9780875420912.pdf
[67.56 KB]
description
abraham-lincoln-s-cardinal-traits-a-study-in-eth-9781330203576.pdf
[67.56 KB]
description
secrets-of-the-heart-mail-order-1-9781568659084.pdf
[67.56 KB]
description
men-and-citizens-in-the-theory-of-international--9780333524367.pdf
[67.56 KB]
description
the-eight-limbs-of-yoga-pathway-to-liberation-9788120834699.pdf
[67.56 KB]
description
a-slice-of-heaven-9781501226564.pdf
[67.56 KB]
description
inhibition-of-cell-proliferation-through-r-i-p-o-9783659230165.pdf
[67.56 KB]
description
the-thing-you-think-you-cannot-do-thirty-truths--9780738215525.pdf
[67.56 KB]
description
the-sonic-boom-how-sound-transforms-the-way-we-t-9780544570160.pdf
[67.56 KB]
description
el-signo-de-los-cuatro-1-conan-doyle-la-ciencia--9788498360738.pdf
[67.56 KB]
description
seizure-9780571227600.pdf
[67.56 KB]
description
poems-something-for-everybody-classic-reprint-pa-9781330681367.pdf
[67.56 KB]
description
mathematical-ciphers-from-caesar-to-rsa-9780821837306.pdf
[67.56 KB]
description
human-gait-analysis-9783659426100.pdf
[67.56 KB]
description
the-supreme-appellate-jurisdiction-a-speech-deli-9781240044146.pdf
[67.56 KB]
description
workbook-on-systems-analysis-and-design-2nd-ed-9788120317246.pdf
[67.56 KB]
description
full-committee-legislative-hearing-on-the-sba-x2-9781240529063.pdf
[67.56 KB]
description
for-authentication-purposes-paperback-9781612133867.pdf
[67.56 KB]
description
novel-unit-for-the-summer-of-riley-paperback-9781499592030.pdf
[67.56 KB]
description
conservation-and-reuse-of-shanghai-industrial-he-9787309106398.pdf
[67.56 KB]
description
megaliths-of-brittany-9782877470636.pdf
[67.56 KB]
description
the-wc4-perspective-domestic-workers-chinese-edi-9787221081209.pdf
[67.56 KB]
description
burglar-wh-thought-he-was-bogart-the-paperback-9780060872793.pdf
[67.56 KB]
description
whimsical-designs-coloring-for-everyone-creative-9781510704596.pdf
[67.56 KB]
description
demand-side-innovation-policies-9789264098879.pdf
[67.56 KB]
description
vessel-poems-9781571314673.pdf
[67.56 KB]
description
drama-threory-critical-approaches-paperback-9780719057229.pdf
[67.56 KB]
description
heal-your-life-by-forgiving-everything-paperback-9789949518494.pdf
[67.56 KB]
description
handbook-of-thermodynamic-tables-and-diagrams-a--3-9781112342103.pdf
[67.56 KB]
description
i-never-had-a-best-seller-the-story-of-a-small-p-9780781804370.pdf
[67.56 KB]
description
a-manual-of-problems-in-structural-geology-9788123913032.pdf
[67.56 KB]
description
grammar-and-usage-paperback-9780449216811.pdf
[67.56 KB]
description
the-bro-code-format-paperback-9781439110003.pdf
[67.56 KB]
description
the-impossible-rescue-9781491592144.pdf
[67.56 KB]
description
dictionnaire-du-bas-langage-ou-des-manieres-de-p-9781234430269.pdf
[67.56 KB]
description
at-the-heart-of-the-matter-a-spiritual-journey-f-9781449715960.pdf
[67.56 KB]
description
tears-of-a-tiger-hazelwood-high-trilogy-book-1-9780689806988.pdf
[67.56 KB]
description
the-kregel-pictorial-guide-to-the-story-of-the-b-9780825424632.pdf
[67.56 KB]
description
desulfurization-of-hot-metal-by-magnesium-9780912033006.pdf
[67.56 KB]
description
boogie-woogie-bugle-boy-trumpet-trio-or-ens-w-x2-9780634062339.pdf
[67.56 KB]
description
address-of-hon-henry-w-blodgett-upon-the-early-b-9781240006199.pdf
[67.56 KB]
description
mastering-c-programs-9788170087076.pdf
[67.56 KB]
description
landed-gently-9781849015011.pdf
[67.56 KB]
description
the-genius-and-the-goddess-9780099524892.pdf
[67.56 KB]
description
know-what-to-ask-forming-great-research-question-9781610806572.pdf
[67.56 KB]
description
iterations-and-other-stories-9780889954168.pdf
[67.56 KB]
description
bone-broth-health-benefits-of-bone-broth-and-way-9781523723386.pdf
[67.56 KB]
description
stochastic-processes-and-calculus-an-elementary--9783319234274.pdf
[67.56 KB]
description
the-world-crisis-and-bible-prophecies-discerning-9781621367284.pdf
[67.56 KB]
description
human-biology-13th-edition-1-9780073525488.pdf
[67.56 KB]
description
the-north-carolina-teachers-reading-circle-volum-9781130809626.pdf
[67.56 KB]


Package com.cyberfront.crdt.unittest
Class AssessmentSupport
- java.lang.Object
-
- com.cyberfront.crdt.unittest.AssessmentSupport
-
- Direct Known Subclasses:
TestCrdt.Generic
,TestCrdt.Json
,TestData.Clone
,TestData.Create
,TestData.Encoding
,TestData.Update
,TestOperator.Operator
,TestSimulation.Simulation
public class AssessmentSupport extends java.lang.Object
The AssessmentSupport class is a base class for all of the unit test classes. It manages a number of attributes for test cases which comprise the collection of its derived classes.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
abbreviated
Flag indicating whether the unit test derived from this class are to be abbreviatedprivate static boolean
ABBREVIATED
Flag used to indicate whether or not to abbreviate the testprivate static long
ABBREVIATED_FACTOR
Division factor to apply to abbreviated testsprivate long
abbreviatedFactor
Division factor to reduce the various counts when running abbreviated tests.protected static java.lang.String
ADD
Constant string for the add operationprivate static com.fasterxml.jackson.databind.ObjectMapper
mapper
The ObjectMapper used to translate between JSON and any of the classes derived from com.cyberfront.crdt.unittest.data.AbstractDataTypeprotected static java.lang.String
OP
Name of the operation tag in the JSON operationsprotected static java.util.List<java.lang.String>
OPERATIONS
Constant containing the desired operationsprotected static java.lang.String
PATH
Name of the path tag in the JSON operationsprotected static java.lang.String
REMOVE
Constant string for the remove operationprotected static java.lang.String
REPLACE
Constant string for the replace operationprivate boolean
stressed
Flag indicating whether the unit test derived from this class are to be stressedprivate static boolean
STRESSED
Flag used to indicate whether or not to perform a stress testprivate static long
STRESSED_FACTOR
Factor to apply during stress testsprivate long
stressedFactor
Factor used to enhance the various counts when attempting to test under higher stress levelsprivate static long
TRIAL_COUNT
Constant defining the number of AbstractDataType elements to create in the unit testprivate long
trialCount
Number of trials to conduct in the unit testprotected static java.lang.String
TYPE
Constant string for the type of operationprotected static java.lang.String
VALUE
Name of the value tag in the JSON operations
-
Constructor Summary
Constructors Constructor Description AssessmentSupport()
Default class constructor which initializes the members to their default values given by the corresponding static constant values.AssessmentSupport(long trialCount, long abbreviatedFactor, long stressedFactor, boolean abbreviated, boolean stressed)
Class constructor used to explicitly define the various parameters for the base test class
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<com.fasterxml.jackson.databind.JsonNode>
compareJsonSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> sources, java.util.Collection<com.fasterxml.jackson.databind.JsonNode> targets)
Compare two sequences of JsonNode documents and record the differences in the resulting collectionjava.util.Collection<com.fasterxml.jackson.databind.JsonNode>
generateDifferenceSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> documents)
Create a sequence of JSON updates from a sequence of JsonNode documentsjava.util.Collection<com.fasterxml.jackson.databind.JsonNode>
generateJsonSequence(java.util.Collection<AbstractDataType> objects)
Generate a sequence of JSON objects given a sequence of AbstractDataTypesjava.util.Collection<AbstractDataType>
generateObjectSequence(long count, double pChange)
Generate a sequence of SimpleCollection data objects from an inital state through count updates where each field has aprotected static com.fasterxml.jackson.databind.JsonNode
generateOperation(java.lang.String op, java.lang.String path, com.fasterxml.jackson.databind.JsonNode value)
Generate a of mock JsonPatch documentsprotected static com.fasterxml.jackson.databind.JsonNode
generateOperations(int count, double pBoolean, double pLong, double pDouble, double pString)
Generate and return a JsonNode containing a JsonArray of mock JsonPatch documentsprotected static java.util.Collection<com.fasterxml.jackson.databind.JsonNode>
generateOperations(int instCount, int diffCount, double pBoolean, double pLong, double pDouble, double pString)
Generate and return a collection of JsonPatch instances as a collection of JsonNode documentsprotected static java.util.UUID
genId(double pNull)
Generate an ID value, with the probability given that some of the will be null valuesprotected static java.util.Collection<java.util.UUID>
genIds(long count, double pNull)
Generate a sequence of ID's, some of which are null with likelihood given by pNullprotected static java.lang.String
genPath()
Generate a pathnameprotected static java.util.Collection<java.lang.String>
genPaths(long count)
Generate a collection of pathnamesprotected static java.lang.Long
genTimestamp(double pNull)
Generate a time stamp values, with the probability given that some of the will be null valuesprivate static com.fasterxml.jackson.databind.JsonNode
genValue(double pBoolean, double pLong, double pDouble, double pString)
Generate a JsonNode valueprotected static java.util.Collection<com.fasterxml.jackson.databind.JsonNode>
genValues(long count, double pNull, double pBoolean, double pLong, double pDouble, double pString)
Generate a collection of JsonNode valueslong
getAbbreviatedFactor()
Retrieve the abbreviation factor which is used to divide other test parameters when performing abbreviated testsprotected static com.fasterxml.jackson.databind.ObjectMapper
getMapper()
Retrieve the ObjectMapper primarily used to perform bidirectional transformations between JSON and POJO representations of objectslong
getStressedFactor()
Retrieve the stressing factor which is used to multiply other test parameters when performing stress testslong
getTrialCount()
Retrieve the number of trials to perform adjusted for stress and abbreviation factors if eith of those flags are set to rue.boolean
isAbbreviated()
Retrieve the value of the abbreviated flagboolean
isStressed()
Retrieve the value of the stressed flagjava.util.Collection<com.fasterxml.jackson.databind.JsonNode>
regenerateJsonSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> diffs)
Given a sequence of differences, reconstitute the sequence of documents iteratively produced by applying each difference in the order givenjava.util.Collection<AbstractDataType>
regenerateObjectSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> documents)
Given a collection of JsonNode documents, perform a reverse marshaling of each to generate the POJO's corresponding to the document instancesvoid
setAbbreviated(boolean abbreviated)
Set the flag to perform abbreviated testingvoid
setAbbreviatedFactor(long abbreviatedFactor)
Set the value of the abbreviation factor for abbreviated testingvoid
setStressed(boolean stressed)
Set the flag to perform stress testingvoid
setStressedFactor(long stressedFactor)
Set the value of the stress testing factorvoid
setTrialCount(long trialCount)
Set the number of trials to perform
-
-
-
Field Detail
-
ADD
protected static final java.lang.String ADD
Constant string for the add operation- See Also:
- Constant Field Values
-
REPLACE
protected static final java.lang.String REPLACE
Constant string for the replace operation- See Also:
- Constant Field Values
-
REMOVE
protected static final java.lang.String REMOVE
Constant string for the remove operation- See Also:
- Constant Field Values
-
OPERATIONS
protected static final java.util.List<java.lang.String> OPERATIONS
Constant containing the desired operations
-
PATH
protected static final java.lang.String PATH
Name of the path tag in the JSON operations- See Also:
- Constant Field Values
-
TYPE
protected static final java.lang.String TYPE
Constant string for the type of operation- See Also:
- Constant Field Values
-
VALUE
protected static final java.lang.String VALUE
Name of the value tag in the JSON operations- See Also:
- Constant Field Values
-
OP
protected static final java.lang.String OP
Name of the operation tag in the JSON operations- See Also:
- Constant Field Values
-
TRIAL_COUNT
private static final long TRIAL_COUNT
Constant defining the number of AbstractDataType elements to create in the unit test- See Also:
- Constant Field Values
-
ABBREVIATED
private static final boolean ABBREVIATED
Flag used to indicate whether or not to abbreviate the test- See Also:
- Constant Field Values
-
ABBREVIATED_FACTOR
private static final long ABBREVIATED_FACTOR
Division factor to apply to abbreviated tests- See Also:
- Constant Field Values
-
STRESSED
private static final boolean STRESSED
Flag used to indicate whether or not to perform a stress test- See Also:
- Constant Field Values
-
STRESSED_FACTOR
private static final long STRESSED_FACTOR
Factor to apply during stress tests- See Also:
- Constant Field Values
-
mapper
private static com.fasterxml.jackson.databind.ObjectMapper mapper
The ObjectMapper used to translate between JSON and any of the classes derived from com.cyberfront.crdt.unittest.data.AbstractDataType
-
trialCount
private long trialCount
Number of trials to conduct in the unit test
-
stressedFactor
private long stressedFactor
Factor used to enhance the various counts when attempting to test under higher stress levels
-
abbreviatedFactor
private long abbreviatedFactor
Division factor to reduce the various counts when running abbreviated tests.
-
stressed
private boolean stressed
Flag indicating whether the unit test derived from this class are to be stressed
-
abbreviated
private boolean abbreviated
Flag indicating whether the unit test derived from this class are to be abbreviated
-
-
Constructor Detail
-
AssessmentSupport
public AssessmentSupport()
Default class constructor which initializes the members to their default values given by the corresponding static constant values.
-
AssessmentSupport
public AssessmentSupport(long trialCount, long abbreviatedFactor, long stressedFactor, boolean abbreviated, boolean stressed)
Class constructor used to explicitly define the various parameters for the base test class- Parameters:
trialCount
- Number of trials to perform over the course of the unit testabbreviatedFactor
- Division factor to use on the argument when performing an abbreviated teststressedFactor
- Multiplication factor to use on the arguments when performing a stress testabbreviated
- Flag indicating whether this is an abbreviated teststressed
- Flag indicating whether this is a stress test
-
-
Method Detail
-
getMapper
protected static com.fasterxml.jackson.databind.ObjectMapper getMapper()
Retrieve the ObjectMapper primarily used to perform bidirectional transformations between JSON and POJO representations of objects- Returns:
- The static ObjectMapper for the AssessmentSupport class and its derived classes
-
getTrialCount
public long getTrialCount()
Retrieve the number of trials to perform adjusted for stress and abbreviation factors if eith of those flags are set to rue.- Returns:
- The number of trials to perform
-
isAbbreviated
public boolean isAbbreviated()
Retrieve the value of the abbreviated flag- Returns:
- The current value of the abbreviated flag
-
getAbbreviatedFactor
public long getAbbreviatedFactor()
Retrieve the abbreviation factor which is used to divide other test parameters when performing abbreviated tests- Returns:
- The current value of the abbreviation factor
-
isStressed
public boolean isStressed()
Retrieve the value of the stressed flag- Returns:
- The current value of the stressed flag
-
getStressedFactor
public long getStressedFactor()
Retrieve the stressing factor which is used to multiply other test parameters when performing stress tests- Returns:
- The current value of the abbreviation factor
-
setTrialCount
public void setTrialCount(long trialCount)
Set the number of trials to perform- Parameters:
trialCount
- New value of the trialCount
-
setStressedFactor
public void setStressedFactor(long stressedFactor)
Set the value of the stress testing factor- Parameters:
stressedFactor
- Value of the stress testing factor
-
setAbbreviatedFactor
public void setAbbreviatedFactor(long abbreviatedFactor)
Set the value of the abbreviation factor for abbreviated testing- Parameters:
abbreviatedFactor
- Value of the abbreviated testing factor
-
setStressed
public void setStressed(boolean stressed)
Set the flag to perform stress testing- Parameters:
stressed
- Flag for performing stress testing; stress testing will occur exactly when the flag is set to true
-
setAbbreviated
public void setAbbreviated(boolean abbreviated)
Set the flag to perform abbreviated testing- Parameters:
abbreviated
- Flag for performing stress testing; abbreviated testing will occur exactly when the flag is set to true
-
generateObjectSequence
public java.util.Collection<AbstractDataType> generateObjectSequence(long count, double pChange)
Generate a sequence of SimpleCollection data objects from an inital state through count updates where each field has a- Parameters:
count
- Number of state transitions to generatepChange
- Probability of changing a given field in the data object being changed- Returns:
- A collection of state transitions, the number being that given
-
generateJsonSequence
public java.util.Collection<com.fasterxml.jackson.databind.JsonNode> generateJsonSequence(java.util.Collection<AbstractDataType> objects)
Generate a sequence of JSON objects given a sequence of AbstractDataTypes- Parameters:
objects
- Collection of objects containing the AbstractDataType elements- Returns:
- Collection of JsonNode equivalents to the given AbstractDataTypes
-
generateDifferenceSequence
public java.util.Collection<com.fasterxml.jackson.databind.JsonNode> generateDifferenceSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> documents)
Create a sequence of JSON updates from a sequence of JsonNode documents- Parameters:
documents
- Collection of documents to compute differences- Returns:
- Collection of differences for the sequnce of JsonNode documents provided
-
regenerateJsonSequence
public java.util.Collection<com.fasterxml.jackson.databind.JsonNode> regenerateJsonSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> diffs)
Given a sequence of differences, reconstitute the sequence of documents iteratively produced by applying each difference in the order given- Parameters:
diffs
- Set of differences to use in reconstituting the sequence of JsonNode documents- Returns:
- Sequence of JsonNode documents resulting from applying the sequence of differences
-
regenerateObjectSequence
public java.util.Collection<AbstractDataType> regenerateObjectSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> documents)
Given a collection of JsonNode documents, perform a reverse marshaling of each to generate the POJO's corresponding to the document instances- Parameters:
documents
- JsonNode documents to use to produce the sequence of POJO's- Returns:
- Sequence of POJO's derived from the documents
-
compareJsonSequence
public java.util.Collection<com.fasterxml.jackson.databind.JsonNode> compareJsonSequence(java.util.Collection<com.fasterxml.jackson.databind.JsonNode> sources, java.util.Collection<com.fasterxml.jackson.databind.JsonNode> targets)
Compare two sequences of JsonNode documents and record the differences in the resulting collection- Parameters:
sources
- Collection of source documents to comparetargets
- Collection of target documents to compare- Returns:
- The sequence of differences resulting in comparing the source and target collection elements
-
genTimestamp
protected static java.lang.Long genTimestamp(double pNull)
Generate a time stamp values, with the probability given that some of the will be null values- Parameters:
pNull
- Probability the resulting timestamp instance will be null valued- Returns:
- A random timestamp value or null
-
genId
protected static java.util.UUID genId(double pNull)
Generate an ID value, with the probability given that some of the will be null values- Parameters:
pNull
- Probability the resulting ID instance will be null valued- Returns:
- A random ID value or null
-
genPaths
protected static java.util.Collection<java.lang.String> genPaths(long count)
Generate a collection of pathnames- Parameters:
count
- Number of pathnames to generate- Returns:
- Collection of pathnames generated
-
genPath
protected static java.lang.String genPath()
Generate a pathname- Returns:
- A pathname
-
genValues
protected static java.util.Collection<com.fasterxml.jackson.databind.JsonNode> genValues(long count, double pNull, double pBoolean, double pLong, double pDouble, double pString)
Generate a collection of JsonNode values- Parameters:
count
- Number of values to generatepNull
- Probability of a given value being nullpBoolean
- Probability of a given value being a Boolean valuepLong
- Probability of a given value being a Long valuepDouble
- Probability of a given value being a Double valuepString
- Probability of a given value being a String value- Returns:
- A collection of JsonNode values
-
genValue
private static com.fasterxml.jackson.databind.JsonNode genValue(double pBoolean, double pLong, double pDouble, double pString)
Generate a JsonNode value- Parameters:
pBoolean
- Probability of a given value being a Boolean valuepLong
- Probability of a given value being a Long valuepDouble
- Probability of a given value being a Double valuepString
- Probability of a given value being a String value- Returns:
- Resulting JsonNode value
-
generateOperation
protected static com.fasterxml.jackson.databind.JsonNode generateOperation(java.lang.String op, java.lang.String path, com.fasterxml.jackson.databind.JsonNode value)
Generate a of mock JsonPatch documents- Parameters:
op
- Operation to include in the documentpath
- Path of the change to include in the documentvalue
- Value at the path of the document- Returns:
- Resulting JsonNode representing the mock JsonPatch document
-
generateOperations
protected static com.fasterxml.jackson.databind.JsonNode generateOperations(int count, double pBoolean, double pLong, double pDouble, double pString)
Generate and return a JsonNode containing a JsonArray of mock JsonPatch documents- Parameters:
count
- Number of operations to producepBoolean
- Probability of a given value being a Boolean valuepLong
- Probability of a given value being a Long valuepDouble
- Probability of a given value being a Double valuepString
- Probability of a given value being a String value- Returns:
- A JsonNode containing a JsonArray of mock JsonPatch documents
-
generateOperations
protected static java.util.Collection<com.fasterxml.jackson.databind.JsonNode> generateOperations(int instCount, int diffCount, double pBoolean, double pLong, double pDouble, double pString)
Generate and return a collection of JsonPatch instances as a collection of JsonNode documents- Parameters:
instCount
- Number of instances to create in the resulting collectiondiffCount
- Number of operation elements in each difference elementpBoolean
- Probability of a given value being a Boolean valuepLong
- Probability of a given value being a Long valuepDouble
- Probability of a given value being a Double valuepString
- Probability of a given value being a String value- Returns:
- A collection of JsonPatch instances as a collection of JsonNode documents
-
genIds
protected static java.util.Collection<java.util.UUID> genIds(long count, double pNull)
Generate a sequence of ID's, some of which are null with likelihood given by pNull- Parameters:
count
- Number of ID's to generatepNull
- Probability a given ID will instead be null- Returns:
- List of ID's generated
-
-


True Romance Chad'z rating: **1/2 (out of 4 = OK) 1993, R, 116 minutes [1 hour, 56 minutes] [crime/satire] starring: Christian Slater (Clarence Worley), Patricia Arquette (Alabama Worley), Dennis Hopper (Clifford Worley), Michael Rapaport (Dick Richie), produced by Bill Unger, Steve Perry, Samuel Hadida, written by Quentin Tarantino, directed by Tony Scott.
The appeal of "True Romance" is that it has no appeal. Its offbeat nature gives the film its hook, but the motions it goes through often become overwhelming.
We meet Clarence (Slater), who isn't your typical movie hero because he's... well... a dork. He works in a comic book store, watches kung-fu movies, and talks to Elvis in his fantasies. When he meets a woman named Alabama (Arquette) at a kung-fu triple feature, the two really hit it off. It's interesting to watch these two people who are so different seem so right together. When Clarence finds out is a hooker, he's doesn't get mad because he had such a good time with her. Although there seems to be detail here, we really don't get to know the characters that well. The story is told in a manner that makes for many inferences and seems a little distant.
Somehow the two fall in love and get married. But Clarence is obsessed; he convinces himself he must get "revenge" on Alabama's pimp, but for what reason? And so the film starts to become standard in plot, but not so in script. For example, when Clarence confronts Alabama's pimp a scene of fantastic violence ensues, but he doesn't win. In fact, the nasty villains "kick him while he's down" by making fun of his driver's license!
The real adventure begins as Clarence and Alabama head out to Hollywood hoping to sell $5 million in cocaine that Clarence accidentally stole when fleeing the scene. Soon a complicated and strange string of events start to unfold involving Clarence and Alabama's cross-country trip to Hollywood not knowing the mob is on their tail. More gratuitous violence ensues, and eventually the film's attempt at being a serious crime story seems like just too much to swallow.
Clarence meets his friend Dick Richie (Rapaport) and they set up a deal to sell the coke. This enables the film to incorporate some good Hollywood satire, but what we get here isn't so much satire as it is just surrealism. Yes, it is funny at times, but it's hard to tell what's important in terms of plot, not to mention the fact the characters aren't very likable, thus it's hard to care about where the story is going. The situation comes to a head when three different parties all end up in the same room, guns blazing, fighting over the cocaine. Guess who survives?
"True Romance" could have been a better film had it not been bogged down by its weird satire. The absence of a hook is the hook, but that doesn't necessarily make for superb filmmaking.
Please visit Chad'z Movie Page @ http://members.aol.com/ChadPolenz - over 140 new and old films reviewed in depth, not just blind ratings and capsules. Also, check out The FIRST Shay Astar Web Page @ http://members.aol.com/ChadPol enz/ShayAstar.html
<EMAIL_ADDRESS>(C)1997 Chad Polenz
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Ingredients
Makes nine large rolls
- 450g flour, bread preferred, all-purpose okay
- 9g instant dry yeast
- 12g salt
- 115g sugar
- 250mL warm milk
- Amount varies by environmental factors
- 1 large egg
- 15 g soft butter
Raspberry Filling
- 200g raspberries, fresh or frozen, not juiced
- 100g white sugar
Cinnamon Filling
- 200g brown sugar
- 15g cinnamon
Directions
You can use a stand mixer with a dough hook to mix and knead the dough
- Add flour to bowl
- Add the yeast, salt, sugar, and egg on top of flour, separate around perimeter of bowl
- Gradually add milk and mix until it looks like bread dough
- Not wet, not dry
- Shaggy
- Move it to a floured surface and knead it for a while.
- Soft
- Pliable
- Lightly grease a large bowl, place the kneaded dough inside. Cover and let rise until doubled, about an hour. I create a proofing oven by placing a pot of boiling water in my oven beside the dough bowl. As the water evaporates, it warms and humidifies the air.
- After the first rise, punch down the dough and gently knead a handful of time more
- Roll flat into a rectangle 9" wide and 1/3" thick
- Spread butter on top
- Sprinkle desired filling evenly over buttered dough
- Roll up into a log similar to a swiss roll
- Slice log into nine pieces, 1" thick
- Grease a 9"x9" pan and place the slices inside. Cover and let rise 30 more minutes. I use the same proofing oven technique
- Preheat oven to 190°C (375°F)
- Bake for 15-20 minutes or until golden brown. If it smells burnt, it has been too long.
- Cool slightly, spread frosting on, and serve warm
Cream Cheese Frosting
Ingredients
- 8 oz soft cream cheese (1 package)
- 1 stick soft butter (115g), or use remaining butter from the dough rub)
- 10mL vanilla extract
- 300g powered sugar
- 1g salt
- 50g fresh raspberries (optional, I just really like raspberries)
Directions
I recommend a stand mixer with spatula paddle.
- Combine cream cheese and butter together until smooth
- Add powered sugar slowly while mixing
- Add remaining ingredients
- Beat until smooth, beat for longer for lighter frosting (adds air)


PyConDE and PyData Berlin 2023
PyCon DE has been joining hands with PyData Berlin since 2019 and it has grown to a conference that is as big as EuroPython over the past years. It’s an event that is too hard to miss and of cause, I am back.
First Day
So many attendees at @PyConDE #PyConDE pic.twitter.com/xUF3yvo8nn
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 17, 2023
In the morning, registration started at 8:30 am, 1.5 hours before the opening sessions. To avoid the huge queue that happened last year, I arrived early to get my badge. Not soon after, the venue is already packed with conference attendees.
Whole @PyConDE team for the opening 🙌🏻 pic.twitter.com/D5rgFlupEk
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 17, 2023
This year, there are 1700+ attendees and it reached the maximum capacity. The event is hybrid and there will be online participation, including video streaming and asking questions online via Slido and Discord server to join. When asked how are the first-time attendees, there are 80-90% of people show that they are first-timers. It has been a trend that most attendees are new since the conference came back to the Berlin venue last year.
Attending conference by @PyConDE for the first time 🚀
— Sofya Guseva (@SofyaGuseva_) April 17, 2023
The organization is super. I am looking forward for interesting talks and exciting insights about #python #datascience #data#PyConDe #PyDataBerlin pic.twitter.com/3TkNnRgYMr
Another highlight is that this year European Union is also supporting the conference. I think it is not common that, there are government organisations that have a presence at a tech conference. I like seeing that since open-source technology would be affected by government policies and we need more communication because of that.
Leah from NumFocus is also here to support PyData Berlin. Every year NumFocus would have a booth at eh conference. Another thing I like about this conference is there is a lot of involvement in PyLadies events.
#PyLadies and friends at #PyConDE @PyConDE be aware of these events pic.twitter.com/uOFaheSxUU
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 17, 2023
In the morning, I mostly talk to people at the booths, people that I know and organisers. I also spend some time in the quiet room to prepare my talk.
After lunch, we have our first keynote. In the first part, she talks about using Ren’Py for game development. Then she talked about her journey in Machine Learning at Telco. Next is her experience at FinTach. Last, she talked about her role at Electric which takes care of cyber security.
First keynote of #PyConDE @PyConDE by Susan Shu Chang about her rich background in multiple industries using #Python pic.twitter.com/x18uyaR0G4
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 17, 2023
Then there is a coffee break. The talk before mine is by Emeli about continuous testing of the machine learning model.
After that it was my talk, the room was full and I asked the capacity of the room it was around 100. Unfortunately, I cannot find any pictures on Twitter - people are very serious and take notes during the talk. Generally, it was a very engaging audience.
After my talk, Luis from Stack Builder come talked to me and ask how his company can help contribute to our projects as Anaconda. They are interested in packaging so I said feedback on conda would be nice. We connected on LinkedIn and will follow up if needed.
After that, I head back to my hotel to chill and attend Zoom meetings. When the meetings are done. I had to meet up with others at one Bavaria restaurant nearby. The organising team, the SciKit-lean team and Ines - founder of explosion and creator of spaCy were there. I also catch up with my old friend Alejandro who used to be living in London and had just recently moved to Berlin.
There were more of us but these are the last ones still there. It was delightful having a nice conversation with friends - old and new at #PyConDE pic.twitter.com/l6jPJEYxPm
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 18, 2023
Second Day
The second data kick-started with a keynote by Noa - in which she talked about her perspective on managing a data team. It’s refreshing to have a talk that is about career development but not technical things.
First keynote of day 2 - about managing data science team IRL - @PyConDE #PyConDE pic.twitter.com/8mVVE9ezIs
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 18, 2023
Then the rest of the day is between the hall tract and a quiet room for preparing for PyCon US. I do love both conferences but if there are not happening back to back it would have been much better.
If I am not working, I spent a lot of time socialising in the hallway. Especially when my friend Autur arrived. Even though I was busy, I managed to attend Valerio’s talk about PyScript.
@leriomaggio is talking at @pyscript_dev at @PyConDE #PyConDE pic.twitter.com/pcHQqssGPy
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 18, 2023
I volunteered to host the Lighting Talks with Miro, a very talented friend who is a polyglot and also the keynote speaker the next day. We have prepared some tricky Python questions to ask the audience while the talks are switching. It was fun and there were some awesome lightning talks as well. I also gave a lightning talk about CRA - I am raising awareness of it because I think it will be GDPR 2.0 and why there aren’t more developers talking about it?
@condaforge lighting talk at @PyConDE #PyConDE pic.twitter.com/YpU9dxNLVA
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 18, 2023
In the evening it was the social party sponsored by Octopus, everything becomes pink and there are Octopus everywhere in the hall. There were refreshments and doughnuts.
After the social event, we went out for one last drink. At our table, there were a few newcomers to the conference and it seems they are having a good time. My friend Martin and Martin (yes there are two of them) and I was giving them tips on how to make the best use of the conference to meet people who are learning more Python. I love seeing new people at the conference.
I missed the Third Day :(
Unfortunately, I have to give the third day of PyCon DE a miss because it is the travel day to PyCon US. There are some attendees and friends of mine who are also going to PyCon US on the same flight. The journey is so much more enjoyable (or more tolerable depending on how you look at it) when you have friends travelling together.
However, my friend Martin sent me a picture of PyCon DE on day 3. I was mentioned at Jürgen’s talk. I feel so honoured. Everyone’s very kind to me.
Thank you @jugmac00 for mentioning me at his talk at #PyConDE! I was on my way to #PyConUS but I will definitely watch it later ❤ and yes I love Tox pic.twitter.com/LnlRixVKTV
— Cheuk Ting Ho at #PyConUS (@cheukting_ho) April 20, 2023
I cannot agree with this tweet more, PyCon DE is an awesome conference.
There's SO many reasons why @PyConDE is a GREAT conference. On top of the community, vegan veggie delicious catering, sustainable setup, child-care, gender neutral bathrooms, inclusive language, riddles to integrate people, diverse topics & speakers... so much 🥰 pic.twitter.com/vsKzeIMAgH
— Paloma Oliveira (@pcultural) April 20, 2023
Follow PyCon DE:
| Website |


Welcome to our grocery store, Sebastian!
Today is: 13 February 2011
Please select an option
Now you are looking at a template file.


All fields need to be filled in for the error to go away. It treats all of the fields as one input.
Valid Email Required
{{ formDataOne }}