38 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <random>10 11// template<class RealType = double>12// class piecewise_constant_distribution13// {14// class param_type;15 16#include <random>17#include <limits>18#include <cassert>19 20#include "test_macros.h"21 22int main(int, char**)23{24 {25 typedef std::piecewise_constant_distribution<> D;26 typedef D::param_type P;27 double b[] = {10, 14, 16, 17};28 double p[] = {25, 62.5, 12.5};29 const std::size_t Np = sizeof(p) / sizeof(p[0]);30 P p0(b, b+Np+1, p);31 P p1;32 p1 = p0;33 assert(p1 == p0);34 }35 36 return 0;37}38