summaryrefslogtreecommitdiffstats
path: root/examples
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r12865] Description:Quincey Koziol2006-11-061-3/+3
| | | | | | | Change name of H5Lunlink to H5Ldelete, per our design meeting last Friday. Tested on: Linux/32 2.6 (chicago)
* [svn-r12848] Description:Quincey Koziol2006-11-021-9/+7
| | | | | | | | | | | | | | Change H5Pset_elink_prefix to be more similar to rest of library and make a copy of the string passed in. Change H5Pget_elink_prefix to be link rest of library routines that query a string. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe & debugging turned on Linux/32 2.4 (heping) w/FORTRAN & C++ Linux/64 2.4 (mir) w/build-all & 1.6 compat enabled AIX/32 5.x (copper) w/FORTRAN & parallel
* [svn-r12842] Description:Quincey Koziol2006-11-022-18/+18
| | | | | | | | | | | | | | | | Refactor generic property list initialization code to put property list specific routines in property list modules, instead of scattered to the four winds. Also, introduce property list class initialization objects, to make adding new property list classes in the library easier. Fix daily test failure by using H5Pget_elink_prefix() API routine instead of looking at the "raw" generic property list information. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/C++ & FORTRAN Linux/64 2.4 (mir) w/build-all & 1.6 compat
* [svn-r12835] Description:Quincey Koziol2006-10-311-3/+3
| | | | | | | | | Change H5Lget_linkinfo() to H5Lget_info() to better align with coming API changes. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12831] Changed the API for "unpacking" an external link value to take ↵James Laird2006-10-301-1/+1
| | | | | | | | | | the size of the linkval buffer, per Elena and Frank's suggestions while revising the documentation. Added error checking using this size, as well as a couple of tests. Tested on juniper, kagiso, and sol.
* [svn-r12741] Added support for direct I/O to check-vfd. The direct VFD is ↵James Laird2006-10-101-2/+2
| | | | | | | | | | only tested if it is enabled. Added Direct VFD status to the configure summary. Removed a line left over from pablo support. Oops!
* [svn-r12715] Incorporated a user-submitted patch to better detect the 'tr' ↵James Laird2006-10-031-0/+1
| | | | | | | | | | | | utility and quote its arguments. Also checks for the 'socket' library on Solaris. If this patch passes the Daily Tests and makes the user happy, I'll port it back to the 1.6 branch. Tested on mir and sol.
* [svn-r12700] Alert:Quincey Koziol2006-10-022-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | File format is not stable, don't keep files produced! Description: First stage of checkins modifying the format of groups to support creation order. Implement "dense" storage for links in groups. Try to clarify some of the symbols for the H5L API. Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest file format options (including "dense" link storage in groups) Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation order tracking in groups (although no index on creation order yet). Remove --enable-group-revision configure flag, as file format issues are now handled in a backwardly/forwardly compatible way. Clean up lots of compiler warnings and other minor formatting issues. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/FORTRAN & C++ Linux/64 2.4 (mir) w/enable-v1.6 compa Mac OSX/32 10.4.8 (amazon) AIX 5.3 (copper) w/parallel & FORTRAN
* [svn-r12608] Checked in External Link C examples.James Laird2006-08-224-6/+903
| | | | | | | | Since these examples need to follow filesystem paths, the Makefiles need to create directories in the examples directory; added this to the Makefile.am. Tested on Windows, mir, juniper
* [svn-r12584] Mentioned VFD in test output to make it easier to tell which ↵James Laird2006-08-171-7/+6
| | | | | | | | | VFD is being used when a test is run. Running reconfigure also regenerated error header files (because someone edited them manually?).
* [svn-r12519] Fixed "make check-vfd"James Laird2006-07-311-2/+3
| | | | | | | | | | "make check-vfd" will now run all tests in the test directory with different file drivers (at least, all of those tests that use the testing framework's FAPL). Tests that fail will be skipped. This is not a perfect fix, but is better than nothing. Along with this change, check-vfd should be added to the Daily Tests.
* [svn-r12431] Purpose:James Laird2006-06-211-16/+14
| | | | | | | | | | | | | | Configuration feature Description: 'make install' now tests both static and shared libraries if both are installed. Solution: Previously, shared libraries were only tested when static libraries were not installed. Also cleaned up line in commence.am that was including HL library in all Makefiles. Platforms tested: mir (Makefile change only)
* [svn-r12411] Purpose:James Laird2006-06-131-0/+1
| | | | | | | | | | | | | | Bug fix - bugzilla #552 Description: On Cray X1, trying to use : as an argument confused the system. Solution: Added a test in configure to see if : as an argument is bad. If so, skipped the test. Platforms tested: mir, Cray X1 (change to configure only)
* [svn-r12358] Purpose:Albert Cheng2006-05-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix. Description: The ${TR}, though avoid the error, is inconvenient. It is needed because configure.in use the char range in the style of 'a-z'. The other style of '[a-z]' is more commonly accepted by all tr but autoconf tends to strip away [], making the syntax rather clumsy. Solution: Learned from autoconf that it avoids the use of character range by just spell all the letters out. Changed our tr commands to use those variables defined by autoconf. Also removed the definition of ${TR} since it will cause inconsistancy when autoconf also use plain 'tr' in its generated code. The Makefile.in are changed because the elimination of ${TR} from configure triggered its removal from all Makefil.in. That is okay because ${TR} is not used at all in Makefile. Platforms tested: h5committested. (sol failed to connected). also tested in shanti using both /usr/ucb/tr and /bin/tr (the bad one before.) Misc. update: Updated both INSTALL and RELEASE files.
* [svn-r12295] Purpose:James Laird2006-04-211-3/+3
| | | | | | | | | | | | | | | | | | | Several bug fixes Description: Added config file for Cray X1 (previous file was misnamed) Simplified some code in hyperslab.c test that seemed to have been confusing compiler on Cray X1. Fixed typo in config/commence.am Cleaned up hl/src/Makefile.am Solution: All four fixes should be straightforward. The failure on Cray was very difficult to debug, but involved arithmetic errors. This change seems to fix it. Platforms tested: heping, copper, sol, some Cray X1 (more testing when system comes back up)
* [svn-r12229] Purpose:Pedro Vicente Nunes2006-04-121-0/+3
| | | | | | | | | | | | | | | | | | | | | new feature Description: 1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library 2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in) 3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h Solution: Platforms tested: linux 32, 64 AIX solaris with fortran and c++ (one packet table example fails) Misc. update:
* [svn-r12149] Purpose:James Laird2006-03-231-7/+1
| | | | | | | | | | | | | | | | Bug fix Description: Previous checkin did a bad thing; 'make clean' failed in example directories. Solution: Fixed commence.am so that examples no longer break, and fixed a mistake in conclude.am. Platforms tested: heping (minor makefile change) Misc. update:
* [svn-r12143] Purpose:James Laird2006-03-231-0/+4
| | | | | | | | | | | | | | Bug fix Description: make check-clean didn't clean results of example tests Solution: Fixed Makefiles so that check-clean recurses into example directories. Also a little Makefile cleanup. Platforms tested: mir, modi4, heping, copper
* [svn-r11891] Purpose: Small bug fixElena Pourmal2006-01-251-1/+3
| | | | | | | | | | | | | | | | Description: h5_group example didn't work on VMS; it turned out that a group was not closed and since the default file close degree is "weak", file was not closed either. When program attempted to open the same file, system reported an error since the file was "locked by another user". UNIX systems apperently do not care and open the same file without any problem. Solution: Added H5Gclose calls. Platforms tested: VMS server and heping Misc. update:
* [svn-r11780] Purpose:James Laird2005-12-092-86/+44
| | | | | | | | | | | | | | | | | Added high-level example directories Description: Refactored common code out of examples Makefiles.am, added high-level example directories, added packet table examples. Solution: Examples now draw from a common config/examples.am file, which contains rules for installing, uninstalling, and cleaning examples. High-level example directories are mostly empty, except for the C and C++ packet table tests. Platforms tested: mir, sleipnir, copper, shanti
* [svn-r11741] Purpose:James Laird2005-11-181-6/+16
| | | | | | | | | | | | | | | | | Bug fix Description: Fortran type generation was broken in two ways. Fixed both. Solution: Firstly, there were a couple of path problems. Fixed a typo and specified the full path of a file. Secondly, the dependencies weren't right when building with HDF5-specific commands (make lib, make check-s, etc.). Tweaked dependencies to fix the problem. Platforms tested: mir, modi4, sleipnir
* [svn-r11738] Purpose:James Laird2005-11-181-0/+4
| | | | | | | | | | | | | | | | | | | Configure feature Description: Added 'make trace' target. Solution: Added tracing to 1.7. This was done automatically in 1.6, but left out of 1.7 until now (oops!). Tracing in 1.7 only happens manually, when the user types 'make trace.' Tracing automatically requires more framework than it's worth. I also fixed a couple of tracing bugs and ran trace. Platforms tested: mir, sleipnir, modi4 Misc. update:
* [svn-r11737] Purpose:James Laird2005-11-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Bug fix Description: Before this checkin, 'gmake check-s' would fail if there was a file in the current directory named 'check-s'. This is fixed under gmake (not sure how to fix for other makes). Solution: check, progs, install, etc. are what gmake calls "phony" targets, which means that no file should be created. These targets can be specified by a line of the form .PHONY: check progs install ... Automake adds this line for targets it knows about, but HDF5 has a lot of custom rules. This checkin adds a .PHONY line for those rules. I believe that only gmake recognizes the .PHONY line (at least, pmake doesn't seem to), but a partial solution is better than none. This error should occur very rarely anyway (the user has to manually create files with names like 'build-check-s' or '_test'). Platforms tested: mir, sleipnir, modi4
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11646] Purpose:James Laird2005-10-311-4/+14
| | | | | | | | | | | | | | | | | | Bug fix/feature Description: Added support for -shlib in h5fc and h5c++. Made check-install use -shlib when only shared libraries have been installed. Solution: h5fc and h5c++ didn't recognize -shlib. Stole code from h5cc to link against shared libraries. When static libraries are disabled, the examples Makefiles will automatically use the -shlib option to link against shared libraries. Thus, --disable-static and make check-install should work together. Platforms tested: heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
* [svn-r11612] Purpose:James Laird2005-10-271-1/+1
| | | | | | | | | | | | | Bug fix Description: Failed parallel tests now cause make to exit with an error. Solution: Edited config/conclude.am to throw an error if parallel test programs fail. Platforms tested: heping, modi4
* [svn-r11602] Purpose:James Laird2005-10-241-3/+0
| | | | | | | | | | | | Bug fix Description: Removed detection of pdb from configure.in as a corollary to removal of pdb2hdf5 tool. Platforms tested: mir, modi4
* [svn-r11573] Purpose:James Laird2005-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | Bug fix Description: Changed configure.in to use an environment variable TR to set the path to the tr utility. Solution: There are two kind of tr on Solaris with slightly different syntax. HDF5's configure relies on the "standard" tr. Traditionally, HDF5ers have needed to make sure that the "right" tr was found before the wrong one in their path; now they can use an environment variable. Platforms tested: mir, shanti, sol Misc. update: Forgot to update release notes. Off to do that now.
* [svn-r11566] Purpose:James Laird2005-10-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Makefile bug fix Description: Previously, automake didn't output rules to build perform/mpi-perf or the test/gen_* programs. Now these can be built by typing 'make mpi-perf' (or 'make foo') or by configuring with --enable-build-all. Solution: Automake doesn't like having rules for programs it doesn't build. Tricked it by having these programs built "sometimes"--whenever the user enables --build-all. This should be used mostly for testing and to ensure that these helper programs compile. ***IMPORTANT*** These programs do *not* currently compile. When --enable-build-all is used (not the default), gen_new_fill fails because it uses an old API. This is an existing "bug" that has simply been exposed by this checkin. Platforms tested: sleipnir, modi4, sol Misc. update:
* [svn-r11478] Purpose:Albert Cheng2005-09-291-8/+7
| | | | | | | | | | | | | | | | bug fix. Description: When a parallel test script test fails, make would continue because the way it was setup inside a for loop. Fixed it by issuing an exit 1 inside the loop. There was also a typo error in the newer command comparision that it must be $${chkname} in order to be valid. Also, the test script itself was not checked in the newer lists. All fixed. Platforms tested: h5committested and also hand tested in heping pp mode.
* [svn-r11470] Purpose:John Mainzer2005-09-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repair synchronization bug in the metadata cache in PHDF5 Also repair numerous other bugs that surfaced in testing the bug fix. Description: While operations modifying metadata must be collective, we allow independant reads. This allows metadata caches on different processes to adjust to different sizes, and to place the entries on their dirty lists in different orders. Since only process 0 actually writes metadata to disk (all other processes thought they did, but the writes were discarded on the theory that they had to be collective), this made it possible for another process to modify metadata, flush it, and then read it back in in its original form (pre-modification) form. The possibilities for file corruption should be obvious. Solution: Make the policy that only process 0 can write to file explicit, and visible to the metadata caches. Thus only process 0 may flush dirty entries -- all other caches must retain dirty entries until they are informed by process 0 that the entries are clean. Synchronization is handled by counting the bytes of dirty cache entries created, and then synching up between the caches whenever the sum exceeds an (eventually user specified) limit. Dirty metadata creation is consistent across all processes because all operations modifying metadata must be collective. This change uncovered may bugs which are repaired in this checkin. It also required modification of H5HL and H5O to allocate file space on insertion rather than on flush from cache. Platforms tested: H5committest, heping(parallel & serial) Misc. update:
* [svn-r11446] Purpose:James Laird2005-09-201-2/+3
| | | | | | | | | | | Bug fix Description: Massaged the newer script and config/conclude.am to make SX6 happy. Platforms tested: SX6, sol, mir
* [svn-r11431] Purpose:Albert Cheng2005-09-181-2/+3
| | | | | | | | | | | | | | | | | New feature. Description: Added the time command to the make check target to report time usage of the execute of each test and test scripts. This gives us some idea how long each test takes and some vague idea it is compute bound or not. powerpc-ibm-aix5.x: Change $RUNPARALLEL default setting to allow it being invoked by the time command. Platforms tested: h5committested.
* [svn-r11421] Purpose:James Laird2005-09-161-4/+11
| | | | | | | | | | | | | | | Feature Description: Added H5_CFLAGS, etc. to 1.7 branch. Now compilation flags can be put in H5_*FLAGS and they'll be used when building hdf5 but not in h5cc. Platforms tested: mir, sleipnir, modi4 Misc. update:
* [svn-r11420] Purpose:James Laird2005-09-161-0/+2
| | | | | | | | | | | | | | | | | Bug fix Description: Disabled C++ shared libraries for Sun Workshop compiler. Solution: This bug only seems to happen when using the -xarch=v9 flag to compile in 64-bit mode, but disabling shared libraries entirely for this compiler is an easier fix (I don't know how to detect 64 bit mode from the command line). The framework for disabling shared libraries for other C++ compilers is in place. Platforms tested: sol, mir, sleipnir, modi4
* [svn-r11418] Purpose:James Laird2005-09-151-0/+2
| | | | | | | | | | | | | | | | Bug fix/feature Description: Disabled shared libraries for a number of Fortran compilers that don't support them. This allows other compilers to support shared Fortran libraries. Solution: Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if Fortran supports shared libraries. It is set in configure.in. Platforms tested: mir, sleipnir, colonelk, heping
* [svn-r11381] Purpose:Albert Cheng2005-09-091-1/+1
| | | | | | | | | | | | | | | | | | | bug fix. Description: In Janus (Tflops), the test would seg-fault in production (compiled with -O). If compiled with -O0, it would be okay. Track down the problem to the for loop index i & j being declared with type hsize_t which is usually unsigned long int. Guess the Tflop compiler has a bug in optimization that could not handle unsigned int as for loop index. Solution: Since it is no need for i & j to be hsize_t and it makes more sense to have them with type int. Changed them to int type. Platforms tested: Passed in tflops and colonelk here.
* [svn-r11323] Purpose:Albert Cheng2005-08-312-3/+4
| | | | | | | | | | | | | | | | tidy up. Description: MPE option created *.clog file whenever it is executed in MPI. The cleanup of *.clog files were done in individual Makefile.in. Often, it is forgotten. Solution: Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am so that it is applied whenever check-clean is called. Platforms tested: heping pp using MPE.
* [svn-r11319] Purpose:James Laird2005-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Bug fixes Description: This checkin fixes an occasional error on kelgia on sol during distclean. It also causes test scripts to depend properly on the programs they're supposed to be testing. Solution: The kelgia bug was due to some files being cleaned by automake and manually. Removed the manual cleaning in src/Makefile.am. Test script dependencies now need to be specified manually, since the makefile can't guess what they test from their name. Currently all test scripts in a given directory have a single list of dependencies--this was easy and seems to be sufficient. These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am. Platforms tested: heping, mir, modi4, sol Misc. update:
* [svn-r11303] Purpose:Albert Cheng2005-08-261-23/+15
| | | | | | | | | | | | minor tidy up. Description: Changed both test programs and test scripts to use the same suffixes (.chkexe and .chklog). Changed from .log to .chklog to avoid running into potential conflicts by other "things" (e.g., config.log). Tested: Heping.
* [svn-r11245] Purpose:Quincey Koziol2005-08-1313-401/+401
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11213] Purpose:Albert Cheng2005-08-081-7/+2
| | | | | | | | | | | | | | | | | | | Bug fix and improvement. Description: The test output were not displayed for parallel tests. The serial tests output were always displayed whether the test was actually ran this time or not. Solution: Moved the display of test output inside the target where the actual tests are run. Platforms tested: Tested in heping using pp and fortran.
* [svn-r11207] Purpose:Albert Cheng2005-08-081-55/+63
| | | | | | | | | | | | | | | | | | | | | Bug fix and code minor cleanup. Description: The attempt to redirect stderr together to the log files were done in the wrong order such that stderr output goes to where stdout WAS. Fixed that. Code minor cleanup--use shell variables to hold the name of the log file and the test instead of generating them repeatedly. This makes easier code reading, less crowded and avoid typos. Only conclude.in is changed. The Makefile.in changes are all derived from automake. Platforms tested: h5committested. Misc. update:
* [svn-r11185] Purpose:James Laird2005-08-022-13/+17
| | | | | | | | | | | | | | | Makefile feature Description: 'make check-clean' now cleans *.h5 files created by tests as well as .log and .chkexe files. Solution: check-clean is now a separate target in its own right, which cleans less than mostlyclean (check-clean < mostlyclean < clean < distclean). Platforms tested: mir, heping, modi4 (serial and parallel)
* [svn-r11179] Purpose:James Laird2005-08-012-16/+23
| | | | | | | | | | | | | | | | | | | Feature: check-clean target Description: 'make check-clean' cleans up output files from tests. Solution: Tests create foo.chkexe and foo.log files. Scripts create foo.chksh and foo.logsh files. 'make check-clean' will clean these files up so that the tests can be re-run. Also suppressed some not-very-useful output of Makefiles when it would echo commands. Platforms tested: mir, sleipnir, modi4 Misc. update:
* [svn-r11095] Purpose:James Laird2005-07-211-15/+53
| | | | | | | | | | | | | | | | | | | | | | Configuration feature Description: Serial test output is now stored in log files and printed when all tests in a directory complete, or when a test fails. This should make test output more readable and useful. Also made changes to clean up ii_files directories that are created by some C++ compilers/linkers. Also fixed a few minor Makefile bugs. Solution: When serial tests run, their output is saved in *.log or *.logsh. While running, tests only print when they begin and when they complete; their more specific output (from the log file) is printed if the test fails or when all tests have completed. Comments welcome. Platforms tested: mir, modi4 (parallel and serial), copper, shanti
* [svn-r11083] Purpose:James Laird2005-07-182-10/+8
| | | | | | | | | | | | Bug fixes Description: A number of minor changes to Makefiles. Some files will now be cleaned properly, some comments are more informative, etc. Platforms tested: heping, mir, modi4
* [svn-r11042] Purpose:Quincey Koziol2005-07-071-7/+7
| | | | | | | | | | | | | | | | | | Bug fix Description: The ".chksh" file for a test script was being created in the "source" location rather than the build location. This can cause problems when multiple builds are running because "slower" machines will see the ".cshsh" file from faster machines and will not run the test script as they should. Solution: Use 'basename' command to strip off the path of the script and create the ".chksh" file in the build location. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11034] Purpose:Albert Cheng2005-07-071-4/+2
| | | | | | | | | | | | | | | | | bug fix. Description: -nt is not a universal option for the test command in all platforms. The use of it in conclude.am cause some platforms to bark at the Makefile generated. Solution: Created a command script bin/newer which tests if file1 is newer than file2. Replace the "test file1 -nt file2" by "newer file1 file2". Platforms tested: Tested in sol.
* [svn-r11016] Purpose:James Laird2005-07-042-0/+8
| | | | | | | | | | | | | | | | Bug fix Description: Added dependencies to examples Makefiles so that examples can be run in parallel. Solution: The examples directories (for C, C++, and Fortran) all have some dependencies explicitly spelled out in their Makefiles.am. This is a good short-term solution, and should prevent errors in the Daily Tests. Platforms tested: mir, modi4 (parallel and sequential)