Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <410AEF64.90409@kleckner.net> Date: Fri, 30 Jul 2004 18:01:24 -0700 From: Jim Kleckner User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: STL std::random_shuffle behavior fails with lrand48 Content-Type: multipart/mixed; boundary="------------050902020603090208070108" X-IsSubscribed: yes --------------050902020603090208070108 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Attached is a simple test case of std::random_shuffle() that gives different answers on cygwin and RH Linux. Note that the output looks like a simple circular rotation on cygwin but works correctly on RH 7.2. The problem appears to be the implementation of lrand48(). If you undefine: #undef _GLIBCPP_HAVE_DRAND48 then it works consistently. On cygwin output is: changes before: 0 1 2 3 4 5 6 changes after: 6 0 1 2 3 4 5 changes after: 5 6 0 1 2 3 4 changes after: 4 5 6 0 1 2 3 ======== on RH7.2 output is: changes before: 0 1 2 3 4 5 6 changes after: 1 4 2 3 5 6 0 changes after: 0 6 2 1 4 5 3 changes after: 0 1 3 6 5 4 2 ========= Version of cygwin is current (see attached file for all version stamps) gcc 3.3.1-3 gcc-g++ 3.3.1-3 version of gcc/g++ on Linux is 2.96. The test program is attached as is cygcheck output. To run it just type (note that -mno-cygwin is *not* used): g++ xxx.cpp ./a.exe Is this a configuration issue? Or does lrand48 not work? Or is it a long vs. int type mismatch? Jim --------------050902020603090208070108 Content-Type: text/plain; name="cygcheck.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="cygcheck.txt" Cygwin Configuration Diagnostics Current System Time: Fri Jul 30 16:30:23 2004 Windows XP Professional Ver 5.1 Build 2600 Service Pack 1 Path: C:\cygwin\usr\local\bin C:\cygwin\bin C:\cygwin\usr\X11R6\bin c:\WINDOWS\system32 c:\WINDOWS c:\WINDOWS\System32\Wbem c:\WinUnix\vim\vim63b c:\jim\bin c:\java\j2sdk14\bin c:\Program Files\Common Files\GTK\2.0\bin Output from C:\cygwin\bin\id.exe (nontsec) UID: 1005(jim) GID: 513(None) 513(None) 545(Users) Output from C:\cygwin\bin\id.exe (ntsec) UID: 1005(jim) GID: 513(None) 0(root) 513(None) 544(Administrators) 545(Users) SysDir: C:\WINDOWS\System32 WinDir: C:\WINDOWS CYGWIN = `ntsec' HOME = `c:\Jim' PWD = `/cygdrive/c/Jim/Consult/VMI/Programs' Use `-r' to scan registry c: hd NTFS 57215Mb 95% CP CS UN PA FC e: cd CDFS 589Mb 100% CS UN TOPO_US_EAST C:\cygwin / system binmode C:\cygwin/bin /usr/bin system binmode C:\cygwin/lib /usr/lib system binmode C:\cygwin\usr\X11R6\lib\X11\fonts /usr/X11R6/lib/X11/fonts system binmode . /cygdrive system binmode,cygdrive Found: C:\cygwin\bin\awk.exe Found: C:\cygwin\bin\bash.exe Found: C:\cygwin\bin\cat.exe Found: C:\cygwin\bin\cp.exe Found: C:\cygwin\bin\cpp.exe Found: C:\cygwin\bin\find.exe Found: C:\cygwin\bin\gcc.exe Found: C:\cygwin\bin\gdb.exe Found: C:\cygwin\bin\grep.exe Found: C:\cygwin\bin\ld.exe Found: C:\cygwin\bin\ls.exe Found: C:\cygwin\bin\make.exe Found: C:\cygwin\bin\mv.exe Found: C:\cygwin\bin\rm.exe Found: C:\cygwin\bin\sed.exe Found: C:\cygwin\bin\sh.exe Found: C:\cygwin\bin\tar.exe 61k 2003/08/09 C:\cygwin\bin\cygbz2-1.dll 54k 2002/01/27 C:\cygwin\bin\cygbz21.0.dll 18k 2004/07/06 C:\cygwin\bin\cygcharset-1.dll 7k 2003/10/19 C:\cygwin\bin\cygcrypt-0.dll 841k 2004/03/17 C:\cygwin\bin\cygcrypto-0.9.7.dll 645k 2003/04/11 C:\cygwin\bin\cygcrypto.dll 617k 2004/03/22 C:\cygwin\bin\cygcurl-2.dll 22k 2004/02/10 C:\cygwin\bin\cygcygipc-2.dll 380k 2002/07/24 C:\cygwin\bin\cygdb-3.1.dll 831k 2003/09/20 C:\cygwin\bin\cygdb-4.1.dll 895k 2004/04/28 C:\cygwin\bin\cygdb-4.2.dll 487k 2002/07/24 C:\cygwin\bin\cygdb_cxx-3.1.dll 1080k 2003/09/20 C:\cygwin\bin\cygdb_cxx-4.1.dll 1156k 2004/04/28 C:\cygwin\bin\cygdb_cxx-4.2.dll 155k 2004/01/07 C:\cygwin\bin\cygexpat-0.dll 71k 2004/01/13 C:\cygwin\bin\cygexslt-0.dll 129k 2004/03/11 C:\cygwin\bin\cygfontconfig-1.dll 45k 2001/04/25 C:\cygwin\bin\cygform5.dll 35k 2002/01/09 C:\cygwin\bin\cygform6.dll 48k 2003/08/09 C:\cygwin\bin\cygform7.dll 361k 2003/10/25 C:\cygwin\bin\cygfreetype-6.dll 28k 2003/07/20 C:\cygwin\bin\cyggdbm-3.dll 30k 2003/08/11 C:\cygwin\bin\cyggdbm-4.dll 19k 2003/03/22 C:\cygwin\bin\cyggdbm.dll 15k 2003/07/20 C:\cygwin\bin\cyggdbm_compat-3.dll 15k 2003/08/11 C:\cygwin\bin\cyggdbm_compat-4.dll 349k 2003/12/08 C:\cygwin\bin\cygGraphicsMagick++-0.dll 2169k 2003/12/08 C:\cygwin\bin\cygGraphicsMagick-0.dll 1506k 2003/11/05 C:\cygwin\bin\cyggsl-0.dll 190k 2003/11/05 C:\cygwin\bin\cyggslcblas-0.dll 489k 2003/08/09 C:\cygwin\bin\cygguile-12.dll 489k 2003/07/28 C:\cygwin\bin\cygguile-12abi13.dll 24k 2003/08/09 C:\cygwin\bin\cygguile-ltdl-1.dll 24k 2003/07/28 C:\cygwin\bin\cygguile-ltdl-1abi13.dll 62k 2003/08/09 C:\cygwin\bin\cygguile-srfi-srfi-13-14-v-1-1.dll 62k 2003/07/28 C:\cygwin\bin\cygguile-srfi-srfi-13-14-v-1-1abi13.dll 23k 2003/08/09 C:\cygwin\bin\cygguile-srfi-srfi-4-v-1-1.dll 23k 2003/07/28 C:\cygwin\bin\cygguile-srfi-srfi-4-v-1-1abi13.dll 11k 2003/08/09 C:\cygwin\bin\cygguilereadline-v-12-12.dll 11k 2003/07/28 C:\cygwin\bin\cygguilereadline-v-12-12abi13.dll 17k 2001/06/28 C:\cygwin\bin\cyghistory4.dll 29k 2003/08/10 C:\cygwin\bin\cyghistory5.dll 330k 2004/02/09 C:\cygwin\bin\cyghttpd.dll 958k 2003/08/10 C:\cygwin\bin\cygiconv-2.dll 22k 2001/12/13 C:\cygwin\bin\cygintl-1.dll 37k 2003/08/10 C:\cygwin\bin\cygintl-2.dll 21k 2001/06/20 C:\cygwin\bin\cygintl.dll 48k 2003/08/10 C:\cygwin\bin\cygjbig1.dll 132k 2003/08/11 C:\cygwin\bin\cygjpeg-62.dll 119k 2002/02/09 C:\cygwin\bin\cygjpeg6b.dll 60k 2003/09/17 C:\cygwin\bin\cygkpathsea-3.dll 60k 2003/07/27 C:\cygwin\bin\cygkpathsea-3abi13.dll 32k 2003/08/18 C:\cygwin\bin\cygltdl-3.dll 349k 2003/12/26 C:\cygwin\bin\cygMagick++-6.dll 2157k 2003/03/15 C:\cygwin\bin\cygMagick-5-5-6-Q16-0.dll 2354k 2003/12/26 C:\cygwin\bin\cygMagick-6.dll 26k 2001/04/25 C:\cygwin\bin\cygmenu5.dll 20k 2002/01/09 C:\cygwin\bin\cygmenu6.dll 29k 2003/08/09 C:\cygwin\bin\cygmenu7.dll 15k 2003/11/20 C:\cygwin\bin\cygminires.dll 156k 2001/04/25 C:\cygwin\bin\cygncurses++5.dll 175k 2002/01/09 C:\cygwin\bin\cygncurses++6.dll 226k 2001/04/25 C:\cygwin\bin\cygncurses5.dll 202k 2002/01/09 C:\cygwin\bin\cygncurses6.dll 224k 2003/08/09 C:\cygwin\bin\cygncurses7.dll 15k 2001/04/25 C:\cygwin\bin\cygpanel5.dll 12k 2002/01/09 C:\cygwin\bin\cygpanel6.dll 19k 2003/08/09 C:\cygwin\bin\cygpanel7.dll 62k 2003/12/11 C:\cygwin\bin\cygpcre-0.dll 63k 2003/04/11 C:\cygwin\bin\cygpcre.dll 9k 2003/12/11 C:\cygwin\bin\cygpcreposix-0.dll 61k 2003/04/11 C:\cygwin\bin\cygpcreposix.dll 1049k 2003/11/07 C:\cygwin\bin\cygperl5_8_2.dll 168k 2003/08/10 C:\cygwin\bin\cygpng10.dll 173k 2003/08/10 C:\cygwin\bin\cygpng12.dll 22k 2002/06/09 C:\cygwin\bin\cygpopt-0.dll 108k 2001/06/28 C:\cygwin\bin\cygreadline4.dll 148k 2003/08/10 C:\cygwin\bin\cygreadline5.dll 66k 2001/11/20 C:\cygwin\bin\cygregex.dll 171k 2004/03/17 C:\cygwin\bin\cygssl-0.9.7.dll 165k 2003/04/11 C:\cygwin\bin\cygssl.dll 254k 2003/09/18 C:\cygwin\bin\cygtidy-0-99-0.dll 281k 2003/02/24 C:\cygwin\bin\cygtiff3.dll 282k 2003/08/11 C:\cygwin\bin\cygtiff4.dll 27k 2004/03/05 C:\cygwin\bin\cygungif-4.dll 2689k 2002/11/16 C:\cygwin\bin\cygxerces-c21.dll 2984k 2003/02/07 C:\cygwin\bin\cygxerces-c22.dll 3006k 2003/10/12 C:\cygwin\bin\cygxerces-c23.dll 1172k 2004/01/10 C:\cygwin\bin\cygxml2-2.dll 191k 2004/01/13 C:\cygwin\bin\cygxslt-1.dll 61k 2003/12/04 C:\cygwin\bin\cygz.dll 1126k 2004/05/26 C:\cygwin\bin\cygwin1.dll Cygwin DLL version info: DLL version: 1.5.10 DLL epoch: 19 DLL bad signal mask: 19005 DLL old termios: 5 DLL malloc env: 28 API major: 0 API minor: 116 Shared data: 4 DLL identifier: cygwin1 Mount registry: 2 Cygnus registry name: Cygnus Solutions Cygwin registry name: Cygwin Program options name: Program Options Cygwin mount registry name: mounts v2 Cygdrive flags: cygdrive flags Cygdrive prefix: cygdrive prefix Cygdrive default prefix: Build date: Tue May 25 22:07:00 EDT 2004 CVS tag: cr-0x5e6 Shared id: cygwin1S4 237k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygdps-1.dll 25k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygdpstk-1.dll 21k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygfontenc-1.dll 282k 2003/10/28 C:\cygwin\usr\X11R6\bin\cygfreetype-9.dll 36k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygFS-6.dll 431k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygGL-1.dll 437k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygGLU-1.dll 74k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygICE-6.dll 9k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygoldX-6.dll 1250k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygOSMesa-4.dll 41k 2002/05/14 C:\cygwin\usr\X11R6\bin\cygPropList-0.dll 20k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygpsres-1.dll 30k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygSM-6.dll 869k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygX11-6.dll 253k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXaw-6.dll 355k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXaw-7.dll 275k 2004/01/13 C:\cygwin\usr\X11R6\bin\cygXaw3d-7.dll 30k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXcursor-1.dll 49k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXext-6.dll 7k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXfontcache-1.dll 56k 2004/03/11 C:\cygwin\usr\X11R6\bin\cygXft-1.dll 63k 2004/03/23 C:\cygwin\usr\X11R6\bin\cygXft-2.dll 27k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXi-6.dll 124k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygxkbfile-1.dll 12k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygxkbui-1.dll 76k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXmu-6.dll 11k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXmuu-1.dll 26k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXp-6.dll 51k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXpm-4.dll 11k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXrandr-2.dll 27k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXrender-1.dll 8k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXRes-1.dll 282k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXt-6.dll 27k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXTrap-6.dll 17k 2004/04/10 C:\cygwin\usr\X11R6\bin\cygXtst-6.dll Cygwin Package Information Package Version _update-info-dir 00227-1 apache 1.3.29-2 ash 20040127-1 astyle 1.15.3-3 autoconf 2.59-1 autoconf-devel 2.59-1 autoconf-stable 2.13-5 automake 1.7.9-1 automake-devel 1.8.5-1 automake-stable 1.4p6-2 base-files 2.6-1 base-passwd 1.1-1 bash 2.05b-16 bc 1.06-1 binutils 20040312-1 bison 20030307-1 byacc 1.9-1 bzip2 1.0.2-5 ccache 2.2-1 check 0.8.4-1 clear 1.0-1 cpio 2.5-3 crypt 1.1-1 ctags 5.5-4 curl 7.11.1-1 curl-devel 7.11.1-1 cvs 1.11.6-3 cygipc 2.03-2 cygrunsrv 1.0-1 cygutils 1.2.5-1 cygwin 1.5.10-3 cygwin-doc 1.3-7 cygwin-x-doc 1.0.4-1 dejagnu 20021217-2 diffutils 2.8.7-1 dpkg 1.10.4-2 ed 0.2-1 editrights 1.01-1 ELFIO 1.0.0-1 emacs 21.2-13 enscript 1.6.3-3 expat 1.95.7-1 expect 20030128-1 file 4.09-1 fileutils 4.1-2 findutils 4.1.7-4 flex 2.5.4a-3 fontconfig 2.2.2-1 freetype2 2.1.5-1 gawk 3.1.3-4 gcc 3.3.1-3 gcc-g++ 3.3.1-3 gcc-java 3.3.1-3 gcc-mingw 20030911-4 gcc-mingw-core 20031020-1 gcc-mingw-g++ 20031020-1 gcc-mingw-java 20031020-1 gdb 20030919-1 gdbm 1.8.3-7 gettext 0.14.1-1 gettext-devel 0.14.1-1 ghostscript 7.05-2 ghostscript-base 7.05-2 ghostscript-x11 7.05-2 gperf 2.7.2-1 GraphicsMagick 1.0.4-1 grep 2.5-1 groff 1.18.1-2 gsl 1.4-2 guile 1.6.4-12 guile-devel 1.6.4-12 gzip 1.3.5-1 ImageMagick 5.5.7-2 indent 2.2.9-1 inetutils 1.3.2-28 jbigkit 1.5-3 jim-dev 0.0.1-1 jim-user 0.0.1-1 jim-user-min 0.0.1-1 jpeg 6b-11 keychain 2.0.3-2 less 381-1 libbz2_0 1.0.2-1 libbz2_1 1.0.2-5 libcharset1 1.9.2-1 libdb3.1 3.1.17-2 libdb4.1 4.1.25-1 libdb4.2 4.2.52-1 libfontconfig-devel 2.2.2-1 libfontconfig1 2.2.2-1 libfreetype2-devel 2.1.5-1 libfreetype26 2.1.5-1 libgdbm 1.8.0-5 libgdbm-devel 1.8.3-7 libgdbm3 1.8.3-3 libgdbm4 1.8.3-7 libGraphicsMagick0 1.0.4-1 libguile12 1.6.4-12 libguile12abi13 1.6.4-2 libiconv 1.9.1-3 libiconv2 1.9.1-3 libintl 0.10.38-3 libintl1 0.10.40-1 libintl2 0.12.1-3 libjpeg62 6b-11 libjpeg6b 6b-8 libkpathsea3 2.0.2-13 libkpathsea3abi13 2.0.2-2 libltdl3 1.5-3 libMagick6 5.5.7-2 libncurses5 5.2-1 libncurses6 5.2-8 libncurses7 5.3-4 libpcre 4.1-1 libpcre0 4.5-1 libpng 1.2.5-4 libpng10 1.0.15-4 libpng12 1.2.5-4 libpng12-devel 1.2.5-4 libpopt0 1.6.4-4 libPropList 0.10.1-3 libreadline4 4.1-2 libreadline5 4.3-5 libtiff-devel 3.6.0-5 libtiff3 3.6.0-2 libtiff4 3.6.0-5 libtool 1.5b-1 libtool-devel 1.5-3 libtool-stable 1.4.3-2 libungif 4.1.0-3 libxerces-c21 2.1.0-1 libxerces-c22 2.2.0-1 libxerces-c23 2.3.0-4 libXft 2.1.6-1 libXft-devel 2.1.6-1 libXft1 1.0.0-1 libXft2 2.1.6-1 libxml2 2.6.4-1 libxslt 1.1.2-1 links 0.99pre14-1 login 1.9-7 lynx 2.8.4-7 m4 1.4-1 make 3.80-1 man 1.5k-3 mingw-runtime 3.3-1 minires 0.97-1 mktemp 1.5-3 mod_auth_ntsec 1.7-1 mod_dav 1.0.3-1.3.6-1 mod_php4 4.2.0-2 mod_ssl 2.8.8-1.3.24-1 ncftp 3.1.4-1 ncurses 5.3-4 netcat 1.10-2 openbox 0.99.1-4 openssh 3.8.1p1-1 openssl 0.9.7d-1 openssl-devel 0.9.7d-1 openssl096 0.9.6j-1 patch 2.5.8-8 patchutils 0.2.30pre1-1 pcre 4.5-1 pcre-doc 4.5-1 perl 5.8.2-1 pinfo 0.6.8-1 pkgconfig 0.15.0-4 popt 1.6.4-4 postgresql 7.4.1-3 procps 010801-2 python 2.3.3-2 rcs 5.7-3 readline 4.3-5 rebase 2.3-1 regex 4.4-2 rpm 4.1-1 rsync 2.6.0-1 rxvt 2.7.10-4 sed 4.0.9-2 sh-utils 2.0.15-4 sharutils 4.2.1-3 shutdown 1.4-1 sunrpc 4.0-2 swig 1.3.19-1 tar 1.13.25-5 tcltk 20030901-1 termcap 20021106-2 terminfo 5.3_20030726-1 tetex 2.0.2-13 tetex-base 2.0.2-13 tetex-bin 2.0.2-13 tetex-devel 2.0.2-13 tetex-doc 2.0.2-13 tetex-extra 2.0.2-13 tetex-tiny 2.0.2-13 tetex-x11 2.0.2-13 texinfo 4.2-4 textutils 2.0.21-1 tidy 030901-1 tiff 3.6.0-5 time 1.7-1 transfig 3.2.4-2 unzip 5.50-5 vim 6.3-1 w32api 2.5-1 wget 1.9.1-1 which 1.5-2 WindowMaker 0.80.2-1 wtf 0.0.4-6 X-start-menu-icons 1.0.1-1 X-startup-scripts 1.0.7-1 x2x 1.30-2 Xaw3d 1.5D-5 xfig 3.2.4-6 xfig-base 3.2.4-1 xfig-bin 3.2.4-3 xfig-doc 3.2.4-2 xfig-etc 3.2.4-4 xfig-lib 3.2.4-6 xfig-man 3.2.4-2 XFree86-base 4.3.0-11 XFree86-bin 4.3.0-21 XFree86-bin-icons 4.3.0-7 XFree86-doc 4.3.0-2 XFree86-etc 4.3.0-12 XFree86-f100 4.3.0-2 XFree86-fenc 4.3.0-2 XFree86-fnts 4.3.0-2 XFree86-fscl 4.3.0-2 XFree86-fsrv 4.3.0-9 XFree86-html 4.3.0-10 XFree86-lib 4.3.0-3 XFree86-lib-compat 4.3.0-2 XFree86-man 4.3.0-10 XFree86-nest 4.3.0-8 XFree86-prog 4.3.0-21 XFree86-prt 4.3.0-6 XFree86-ps 4.3.0-2 XFree86-startup-scripts 4.3.0-1 XFree86-xserv 4.3.0-68 XFree86-xwinclip 4.3.0-3 xorg-x11-base 6.7.0.0-8 xorg-x11-bin 6.7.0.0-4 xorg-x11-bin-dlls 6.7.0.0-4 xorg-x11-bin-lndir 6.7.0.0-2 xorg-x11-devel 6.7.0.0-4 xorg-x11-etc 6.7.0.0-3 xorg-x11-f100 6.7.0.0-1 xorg-x11-fenc 6.7.0.0-2 xorg-x11-fnts 6.7.0.0-1 xorg-x11-fscl 6.7.0.0-3 xorg-x11-fsrv 6.7.0.0-1 xorg-x11-libs-data 6.7.0.0-2 xorg-x11-man-pages 6.7.0.0-2 xorg-x11-man-pages-html 6.7.0.0-2 xorg-x11-nest 6.7.0.0-2 xorg-x11-xwin 6.7.0.0-9 xterm 185-4 zip 2.3-6 zlib 1.2.1-1 Use -h to see help about each section --------------050902020603090208070108 Content-Type: text/plain; name="xxx.cpp" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="xxx.cpp" #include #include #include // Uncomment the next line to use the lesser strength rand() implementation //#undef _GLIBCPP_HAVE_DRAND48 #include int main(int argc, char** argv) { std::vector changes; changes.push_back(0.0); changes.push_back(1.0); changes.push_back(2.0); changes.push_back(3.0); changes.push_back(4.0); changes.push_back(5.0); changes.push_back(6.0); // Now construct random draws and compute the randomized bars // in a "consistent" way. printf("\nchanges before:\n"); for (unsigned int i = 0; i < changes.size(); i++) { printf("%g ", changes[i]); } std::random_shuffle(changes.begin(), changes.end()); printf("\nchanges after:\n"); for (unsigned int i = 0; i < changes.size(); i++) { printf("%g ", changes[i]); } std::random_shuffle(changes.begin(), changes.end()); printf("\nchanges after:\n"); for (unsigned int i = 0; i < changes.size(); i++) { printf("%g ", changes[i]); } std::random_shuffle(changes.begin(), changes.end()); printf("\nchanges after:\n"); for (unsigned int i = 0; i < changes.size(); i++) { printf("%g ", changes[i]); } return 0; } --------------050902020603090208070108 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --------------050902020603090208070108--