45 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 P p1(b, b+4, p);30 P p2(b, b+4, p);31 assert(p1 == p2);32 }33 {34 typedef std::piecewise_constant_distribution<> D;35 typedef D::param_type P;36 double b[] = {10, 14, 16, 17};37 double p[] = {25, 62.5, 12.5};38 P p1(b, b+3, p);39 P p2(b, b+4, p);40 assert(p1 != p2);41 }42 43 return 0;44}45