Changeset 439


Ignore:
Timestamp:
Dec 2, 2013 8:30:22 AM (6 years ago)
Author:
kulshres
Message:

Merged 'ampi' changes from Jean Utke <utke@…>

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>
Acked-by: Andrea Walther <andrea.walther@…>

The following commits were merged:

commit a08916181e7dbe9608cab4419ad70c057f485270
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Nov 7 12:37:44 2013 +0100

If built with AMPI support rename the output library to libadolc_ampi

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>
Acked-by: Andrea Walther <andrea.walther@…>

commit 34c092c8a47c6c0d52bdc685164398b867a549ef
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Nov 7 09:25:55 2013 +0100

Revert "separate out AMPI implementation from the traditional library"

This may cause problems with incompatible versions of the compiler
that is behind mpicc/mpicxx and $CC/$CXX. (Although in my opinion
this is a broken setup).

This reverts commit 10253b63f309d4e858e9cab6a803be112b46b818.

commit 10253b63f309d4e858e9cab6a803be112b46b818
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Nov 6 15:41:19 2013 +0100

separate out AMPI implementation from the traditional library

this allows for compilation with ampi enabled, but still be able to
use the library for non-mpi/ampi applications by simply linking to
libadolc. For mpi/ampi the user should link to libadolc_ampi and libadolc

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 48922378ec069ed08d732ef8f30f0b751381714e
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Nov 5 13:16:09 2013 +0100

Add authorships and missing file preambles

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 69bfc3eb6618891bdbeb0e4990da971c3bd52c04
Author: Jean Utke <utke@…>
Date: Wed Oct 23 15:19:30 2013 -0500

adapt to interface changes done by Laurent

commit 8752b2db8b7d341e11d53fdc1eba85d28e7ff4b3
Author: Jean Utke <utke@…>
Date: Wed Oct 23 11:29:13 2013 -0500

flip to order so as to not try to access (potentially uninitialized) buffer when count is 0

commit 926d5f5fc68ccebadc4b6c4a842c23fd4beaa5bd
Author: Jean Utke <utke@…>
Date: Mon Oct 21 22:25:30 2013 -0500

cleanup these types

commit 44e478edf30c7e2abb8fc25c44baa3c23f983a17
Author: Jean Utke <utke@…>
Date: Mon Oct 21 15:39:34 2013 -0500

fix memory leak

commit fc1154661cd3558dedbfa199d0be81403ddabbf5
Merge: ea3e23a 5c5e99f
Author: Jean Utke <utke@…>
Date: Wed Oct 9 09:50:59 2013 -0500

Merge branch 'master' into ampi

commit ea3e23ae020d1953b8730a50f1c79a90f9e6928c
Author: Jean Utke <utke@…>
Date: Tue Oct 8 23:13:38 2013 -0500

should not use C++ style comments in C files

commit cfc83b0f48f18921b97ac315710340fdd3269cfa
Author: Jean Utke <utke@…>
Date: Tue Oct 8 22:49:49 2013 -0500

an immediate problem is the use of C++ style comments "" in a header file included by C sources.
while removing this problem we also simplify the logic.

commit 30e873e7b26314b784276b42c7de5dff99f6d560
Author: Jean Utke <utke@…>
Date: Tue Oct 8 14:37:29 2013 -0500

without this additional case the wrong "fixes" are applied to the clang compiler regardless if one is under cygwin or not - somebody who builds on cygwin should try to find out if these libtool "fixes" below still are truly needed...

commit ab0dbe49d5c328cff38a59dc484e9cc55120b050
Author: Jean Utke <utke@…>
Date: Fri Oct 4 15:43:20 2013 -0500

fix (un)packing for fos_forward and indentation

commit d74625e07355b3eead19f7347d098ee7d4f0ad5f
Author: Jean Utke <utke@…>
Date: Fri Oct 4 15:42:32 2013 -0500

set work modes

commit 97d60945babadd17a1d6f1d7163a2b40fb058429
Author: Jean Utke <utke@…>
Date: Fri Oct 4 11:06:38 2013 -0500

provide a setup for forward mode MPI_PROD and some logic for operation creation

commit b5e9158a4f94a448a4ee89bcb40c5c7f29b8694f
Author: Jean Utke <utke@…>
Date: Thu Oct 3 14:59:41 2013 -0500

need to deref ...

commit 440b728a2a464e416d24dfb2860e12ac832c3d45
Author: Jean Utke <utke@…>
Date: Thu Oct 3 11:33:48 2013 -0500

first stab at implementation

commit 6188fa5a97d3c128766b0239961fb5ee2280db64
Author: Jean Utke <utke@…>
Date: Thu Oct 3 11:33:06 2013 -0500

refactor taylor_begin to make sure the tape infos always have the buffer pointer for the forward run (and associated dimensions) regarless of Taylors being kept or not

commit 3b95b9d906bf4d0583c24aecf7d94440ed09a582
Author: Jean Utke <utke@…>
Date: Thu Oct 3 11:31:21 2013 -0500

comments only

commit af477e37a356d3c1c1bcc8fd7d9b59d80b395077
Author: Jean Utke <utke@…>
Date: Wed Oct 2 01:06:19 2013 -0500

ADOLC_TLM versions for forward mode

commit 2ce670537a2e2960ecf6c24b533f817c1c630307
Author: Jean Utke <utke@…>
Date: Tue Oct 1 16:12:52 2013 -0500

improve the logic to avoid consolidation and add some debugging info to gauge how frequently consolidation happens

commit 8a1b237c3c20208f0f72a4406c48a536305bc2eb
Author: Jean Utke <utke@…>
Date: Tue Oct 1 11:08:07 2013 -0500

don't leave bad pointer values around

commit 4e04dbe83f222cd434b967a5876b28137c50ed02
Author: Jean Utke <utke@…>
Date: Mon Sep 30 15:45:44 2013 -0500

without these a build in a separate build directory fails because the preprocessor cannot find adolc/adolc_settings.h

commit 57fdb4f40899c34936d442d2d8880c42668aebe2
Author: Jean Utke <utke@…>
Date: Fri Sep 27 12:16:01 2013 -0500

add logic to prevent any attempts to clean up tape/trace files which can be useful if file operations take a long time, e.g. on slow parallel file systems

commit e2b09cf9dba2b48897a3ffac68af007c1aaf5317
Author: Jean Utke <utke@…>
Date: Tue Sep 24 16:00:08 2013 -0500

first stab at adding some control logic to the way the garbage collection works for free locations

commit d94bb3a5cef3abae2a56837fc276f2ada01d9fe5
Author: Jean Utke <utke@…>
Date: Tue Sep 17 13:24:03 2013 -0500

fix printing logic

commit de44b3d7a14d34fa9102b37bdf5fa7663bab9048
Author: Jean Utke <utke@…>
Date: Tue Sep 17 13:23:45 2013 -0500

typo

commit e90b19dc764e0de8620a45e997c68baebdfb4077
Author: Jean Utke <utke@…>
Date: Tue Sep 17 01:37:13 2013 -0500

because we have the guards in place avoiding the access of values that have not been set in the MPI_IN_PLACE case (shown by valgrind) we do not need to use calloc here

commit 908d9aefe2cb8fec12d747f8e67f9181e919f77c
Author: Jean Utke <utke@…>
Date: Mon Sep 16 21:59:34 2013 -0500

avoid writing uninitialized values to file

commit 7b925083fdf9cb8e465a0984942e1769055b0ae3
Author: Jean Utke <utke@…>
Date: Mon Sep 16 21:59:06 2013 -0500

get the proper output here

commit b5a4c1da51f55c8b0711940f9f58373a3ece1017
Author: Jean Utke <utke@…>
Date: Mon Sep 16 21:48:31 2013 -0500

if this is not zeroed out and we have MPI_IN_PLACE then for that root
segment the temp buffer will not receive anything but later on we will
do an adjoint increment which could go wrong; the alternative would be
to preempt the adjoint increment for that segment.

commit bb6cbecafbc3be1d783861dd764662b9d64bf8e2
Merge: 2d4a680 a2d2de1
Author: Jean Utke <utke@…>
Date: Thu Sep 12 15:05:50 2013 -0500

Merge commit 'a2d2de1c5def616fc04e15f624211856656e68a3' into ampi

Conflicts:

ADOL-C/src/ampisupport.cpp

commit 2d4a6801a51714e2c76b74fa857e1e3599d3a773
Author: Jean Utke <utke@…>
Date: Wed Sep 11 22:15:43 2013 -0500

change to avoid writing uninitialized data in the remainder part to the file - valgrind marks this - shouldn't be an actual problem but it doesn't cost much to make this clean

commit 086fd3030e9488ddfc7895cc9841ab84c3f05257
Author: Jean Utke <utke@…>
Date: Wed Sep 11 13:19:15 2013 -0500

avoid looking at the location for the all -null case when the buffer may be invalid

commit 722b71770bae88ca565a5e412260f6637d88f735
Author: Jean Utke <utke@…>
Date: Tue Sep 10 14:56:38 2013 -0500

take care of the all null counts case

commit f8529cdd961c0afd01c6a6bc493ae6bb2637841a
Author: Jean Utke <utke@…>
Date: Tue Sep 10 13:51:12 2013 -0500

make sense of the bit counts

commit da156dbe72f0b5e6cbba9fb9f9848c224c9f4502
Author: Jean Utke <utke@…>
Date: Tue Sep 10 13:39:40 2013 -0500

refactor assertion logic (done only for cases with non-userdefined types)

commit 47236cdc38958c8ee7dc51a6e87cf2b470e76335
Author: Jean Utke <utke@…>
Date: Mon Sep 9 10:29:11 2013 -0500

mpi_in_place is allowed only for rank root - openmpi complains and fails without this fix

commit d6f9c7196ebb4089e2e09ea125c8e33b6030039b
Author: Jean Utke <utke@…>
Date: Fri Sep 6 12:41:32 2013 -0500

replicate MPI_IN_PLACE chnages previously done for gather/scatter now for gatherv/scatterv

commit d4f5217add03d572660d7c094b0d30eab02eb091
Author: Jean Utke <utke@…>
Date: Fri Sep 6 10:02:04 2013 -0500

logic to deal with MPI_IN_PLACE

commit e1ae70b5c52ff9e99df79b63f06ca4a9655ad5b2
Author: Jean Utke <utke@…>
Date: Fri Sep 6 08:56:11 2013 -0500

various fixes to the tapedoc so the ouput makes actual sense

commit a2d2de1c5def616fc04e15f624211856656e68a3
Author: Anton Bovin <fatherdeus@…>
Date: Fri Sep 6 00:51:42 2013 -0500

support for embedding structs in other structs

commit 4d58d15e603eb3f35c22d00b80e56ab27c16df84
Merge: bb6e202 128b649
Author: Anton Bovin <fatherdeus@…>
Date: Fri Sep 6 00:39:42 2013 -0500

Merge branch 'ampi' of http://git.mcs.anl.gov/adol-c into ampi

commit bb6e20218a68a31e3a30392af4ac63bf2bfaeb60
Author: Anton Bovin <fatherdeus@…>
Date: Wed Sep 4 14:26:45 2013 -0500

changed some code for efficiency and neatness, fixed allocateTempActiveBuf, implemented releaseTempActiveBuf

commit 128b649f628ed0d59641b70e95f652930d635ee7
Author: Jean Utke <utke@…>
Date: Wed Aug 28 22:37:06 2013 -0500

tapedoc forward / reverse implementation

commit 847f3f83d2ae109e44d613b68ad1441c09951096
Author: Jean Utke <utke@…>
Date: Wed Aug 28 22:35:55 2013 -0500

can't enforce the locint in the interface - it is defined to be unsigned and that may not match right away to the use; have to hope that locint size matches int size

commit 57b0b0c0cdcc326eca307ccbc923ea5fe3da83e1
Author: Jean Utke <utke@…>
Date: Tue Aug 27 17:42:12 2013 -0500

implement (part I) the variant to the external function with an expanded signature

  • remove crud from BUFFER template - locking down the first pointer type just gives trouble in the implementation and doesn't really add any more sanity to the buffer class
  • remove crud from the edf initialization
  • adapt checkpointing to the above
  • refactor the edf call to share prior and post call logic of the plain EDF variant with the newly expanded one

commit 36523c6e5c4284498b3309447e17866767a50b15
Author: Jean Utke <utke@…>
Date: Tue Aug 27 17:38:34 2013 -0500

add a variant to the external function with an expanded signature

commit 749a20f85d5722aa7b28ec2343ce5db98925521e
Author: Jean Utke <utke@…>
Date: Tue Aug 27 17:37:49 2013 -0500

allow for a putting a specified number of locations and thus make sure we have enough space...

commit 5e95f0533a68b8457fce2b479af902dffaddbee4
Author: Jean Utke <utke@…>
Date: Tue Aug 27 17:36:50 2013 -0500

add a variant to the external function with an expanded signature

commit be68973e63698c93f6f03b336b387ff67571db17
Author: ubuntu <fatherdeus@fatherdeus.(none)>
Date: Wed Aug 21 14:38:21 2013 -0500

function pointers for active buffer functions

commit 5f8137dc79155b59f0f72ba864604c585ab3dc2d
Merge: 452b268 309fc69
Author: ubuntu <fatherdeus@fatherdeus.(none)>
Date: Wed Aug 21 11:29:48 2013 -0500

Merge branch 'ampi' of http://git.mcs.anl.gov/adol-c into ampi

commit 452b26882f0d27bc393bbaa71a4b0751e1d34f7a
Author: ubuntu <fatherdeus@fatherdeus.(none)>
Date: Wed Aug 21 11:29:22 2013 -0500

functions to allocate and copy buffers containing active values

commit 309fc69e68a3c0a9cf9840cbdc72432180a0dcf7
Author: Jean Utke <utke@…>
Date: Wed Aug 21 00:31:02 2013 -0500

remaining function pointers

commit 4338c2042d4e6b8ad1d12f3426546cf19492e516
Author: Jean Utke <utke@…>
Date: Wed Aug 21 00:05:42 2013 -0500

8 more function pointers

commit 6eebfd181d5810e1d409f3972550397328e54e12
Author: Jean Utke <utke@…>
Date: Tue Aug 20 23:40:21 2013 -0500

9 more function pointers

commit 393ca02a79ed7dc362892855feb57c6924d986b3
Author: Jean Utke <utke@…>
Date: Tue Aug 20 18:02:05 2013 -0500

6 more function pointers

commit 45751dcfb55c2035c208bbde1dfc4ba57e2d67cf
Author: Jean Utke <utke@…>
Date: Tue Aug 20 17:39:13 2013 -0500

12 more function pointers used

commit 25730c27ce1f62e2ca6546be13bfbb2af10955f7
Author: Jean Utke <utke@…>
Date: Tue Aug 20 15:50:53 2013 -0500

start using the function pointers - here done for the bcast push/pop as a sanity test before we expand to all of them.

commit 3b18d41c7024881aa79c7a6b38c7452841e2494a
Author: loremipsum14 <fatherdeus@…>
Date: Fri Aug 16 15:47:15 2013 -0500

testing function for temp adouble buffer

commit 2685286e7e355b63aaa6fa7e95f3d85cbbe78265
Author: loremipsum14 <fatherdeus@…>
Date: Fri Aug 16 13:30:17 2013 -0500

removed MPI_LB/UB, shortened type-mapping function names

commit 3f8441b1125cda2837fbe145cced1df8623c7ae2
Merge: d8d5114 20cb519
Author: loremipsum14 <fatherdeus@…>
Date: Thu Aug 15 13:30:20 2013 -0500

Merge branch 'ampi' of http://git.mcs.anl.gov/adol-c into ampi

commit d8d51145a61710a0a7cf0bfc68e7627e14314273
Author: loremipsum14 <fatherdeus@…>
Date: Thu Aug 15 13:29:23 2013 -0500

MPI_LB in pack/unpack, functions to map types for MPI transfer, derived types in getAdjointCount and pushBcastInfo

commit 20cb519f2f9b1b3d4b3a4a02c049a5d88c5fa32c
Author: Jean Utke <utke@…>
Date: Wed Aug 14 17:24:18 2013 -0500

barrier implementation

commit ac8ecf84328d445aafcd89eaee135cfb0297fcb1
Author: Jean Utke <utke@…>
Date: Wed Aug 14 01:05:10 2013 -0500

allreduce implementation

commit e6c42d9d7a3013bc4399af538ad581cfd33c853a
Author: Jean Utke <utke@…>
Date: Tue Aug 13 16:48:28 2013 -0500

allgatherv

commit 2781198180e1a5b8eed05fb6e495f8dc85420469
Author: Jean Utke <utke@…>
Date: Tue Aug 13 15:14:41 2013 -0500

adapt to interface change

commit f0b3cc09bc68bd50a72c5e804dca22e88b952163
Merge: 19f3a87 c8feb7d
Author: Jean Utke <utke@…>
Date: Tue Aug 13 13:09:30 2013 -0500

Merge branch 'ampi' of ssh://login.mcs.anl.gov/home/utke/GitMain/CodeReps/adolc into ampi

commit 19f3a87916a9b1e5f66dee1d40d5c0aa70a8d7de
Author: Jean Utke <utke@…>
Date: Tue Aug 13 13:09:05 2013 -0500

all gather implementation in tapedoc fo_rev

commit 2ee66f85083514a5c8734ccbd22f05a6562edbe9
Author: Jean Utke <utke@…>
Date: Tue Aug 13 13:08:45 2013 -0500

allgather support

commit cc09426611e2233d328904f086382ae2a5dccc3b
Author: Jean Utke <utke@…>
Date: Tue Aug 13 13:08:17 2013 -0500

op code of allgather

commit c8feb7d8b40d27dc971389c04df1e7cdc69ac92b
Author: loremipsum14 <fatherdeus@…>
Date: Tue Aug 13 13:03:28 2013 -0500

rawData_DType inputs, split popReduceInfo

commit 5d02100e8aba88d9a0164c69a536d0e1f8cd3802
Merge: 2f3a3b6 50e4db6
Author: loremipsum14 <fatherdeus@…>
Date: Mon Aug 12 14:29:11 2013 -0500

Merge branch 'ampi' of http://git.mcs.anl.gov/adol-c into ampi

commit 2f3a3b6811cb15dcc4bb53f554670c4111bf83ba
Author: loremipsum14 <fatherdeus@…>
Date: Mon Aug 12 12:01:00 2013 -0500

equality operation on buffers

commit 50e4db6227d7bf55d1aaf2b57117b2e0acbb61b4
Author: Jean Utke <utke@…>
Date: Mon Aug 12 10:13:47 2013 -0500

gather/scatter tapedoc

commit f352d54b1d50ddbfa4402b3b1ce6455a92deb8e5
Author: Jean Utke <utke@…>
Date: Mon Aug 12 10:13:33 2013 -0500

gather/scatter reverse mode

commit 849fbd87c3bb9ee8a210122dc9ab94fe65b724f7
Author: Jean Utke <utke@…>
Date: Mon Aug 12 10:13:12 2013 -0500

G/S push pop; renamed ADTOOL_AMPI_popGSVcommSizeForRootOrNull to ADTOOL_AMPI_popGScommSizeForRootOrNull following the AMPI change; op code mapping and gather/scatter forward implementation

commit 81c81a81dc382adfee32c16e4d616cc4d4f499c3
Author: Jean Utke <utke@…>
Date: Mon Aug 12 10:11:24 2013 -0500

add gather/scatter opcodes

commit 9236071e0f2bbeb2c2bafafc620c32499b13d4ca
Author: Jean Utke <utke@…>
Date: Fri Aug 9 12:41:11 2013 -0500

unify the AMPI tape resets in taping.c - can remove from tapedoc

commit cc0f25695026e5b18fede40a913239c543da172d
Author: Jean Utke <utke@…>
Date: Fri Aug 9 11:32:15 2013 -0500

need to reorder includes to get config.h

commit 8d8af07a872c79185d9ef6ef098627214a91e8fd
Author: Jean Utke <utke@…>
Date: Fri Aug 9 10:15:53 2013 -0500

wrap this

commit a27587851798129d7a1b53ecba10649a8e1b2067
Author: Jean Utke <utke@…>
Date: Thu Aug 8 14:00:54 2013 -0500

make execution of all push code conditional on
if (ADOLC_CURRENT_TAPE_INFOS.traceFlag) {

commit 78931b814d30d12fdcdc123654aef6b2bc418b45
Author: loremipsum14 <fatherdeus@…>
Date: Wed Aug 7 11:03:09 2013 -0500

moved type definitions here from AdjoinableMPI

commit 956af6b1405fa7809d564e40c47bc3d76a28c317
Merge: a340b5a a46e84a
Author: Jean Utke <utke@…>
Date: Tue Aug 6 15:58:14 2013 -0500

Merge branch 'ampi' into newAmpi

commit a340b5a7881eb3f628956ec7b757ae1eb5452f7f
Author: loremipsum14 <fatherdeus@…>
Date: Tue Aug 6 15:30:38 2013 -0500

added support for derived types

commit a46e84ab7d80300e4e3b8ae5e1590099876d96af
Merge: c20ab6a 4f5f245
Author: Jean Utke <utke@…>
Date: Tue Aug 6 14:28:29 2013 -0500

Merge branch 'master' into ampi

commit c20ab6aa59954fcf5f14111065b3c053a991052a
Merge: 6e3d93c dedbda2
Author: Jean Utke <utke@…>
Date: Tue Aug 6 14:20:49 2013 -0500

Merge branch 'ampi' of git.mcs.anl.gov:adol-c into ampi

Conflicts:

ADOL-C/src/ampisupport.cpp
ADOL-C/src/fo_rev.c
ADOL-C/src/oplate.h
ADOL-C/src/tapedoc/tapedoc.c

commit 6e3d93c40409549d59cf68a210780599fabfd990
Merge: 121013a 889d1d2
Author: Jean Utke <utke@…>
Date: Fri Jul 12 15:32:33 2013 -0500

Merge commit '889d1d22d15f0f198e6477cabfc70e247bfefd42' into HEAD

Conflicts:

ADOL-C/src/ampisupport.cpp
ADOL-C/src/fo_rev.c
ADOL-C/src/oplate.h
ADOL-C/src/tapedoc/tapedoc.c

commit dedbda2f8fdde0a636014995a78de2e65531ba84
Author: loremipsum14 <fatherdeus@…>
Date: Fri Jul 12 15:01:20 2013 -0500

conflicting defs in fo_rev fixed

commit 3102a1e1f1be083800ff37f891e77b3f1d604d1e
Merge: e2c8379 121013a
Author: loremipsum14 <fatherdeus@…>
Date: Thu Jul 11 17:22:35 2013 -0500

commit again after merge

commit e2c837904af0a90f8188ebc367935c80b76eeb93
Merge: 889d1d2 d1739a3
Author: loremipsum14 <fatherdeus@…>
Date: Thu Jul 11 17:10:46 2013 -0500

Merge ssh://login.mcs.anl.gov/home/utke/GitMain/CodeReps/adolc into ampi

commit 889d1d22d15f0f198e6477cabfc70e247bfefd42
Author: loremipsum14 <fatherdeus@…>
Date: Thu Jul 11 16:50:48 2013 -0500

removed int rank from tapedoc.c

commit 550bc68878cd2b2a3058ae8c0602058676609603
Author: loremipsum14 <fatherdeus@…>
Date: Thu Jul 11 16:26:50 2013 -0500

Functions for Bcast+Reduce, cases for fo_rev.c, cases for tapedoc.c, opcodes for oplate.h

commit 121013af05b9f5695142a568be82d5475ce5e042
Author: Jean Utke <utke@…>
Date: Tue Jul 9 15:32:43 2013 -0500

gatherv/scatterv

commit a854ae8c0d95783a8a1ba7febef62243e17aa0cf
Author: Jean Utke <utke@…>
Date: Tue Jul 9 15:32:19 2013 -0500

implementation for new ADTOOL interfaces and reference to new opcodes

commit c7d0709360ddbaeaef7d56b23c8f68558ef6535f
Author: Jean Utke <utke@…>
Date: Tue Jul 9 15:31:38 2013 -0500

new opcodes

commit d44dd7d2fbbbdd50d01eff25425815132bc29938
Author: Jean Utke <utke@…>
Date: Wed Mar 13 12:13:07 2013 -0500

replace active flag with active type

commit 8e638844f395784b619870e279380d0bab1849bb
Author: Michel Schanen <schanen@…>
Date: Wed Feb 27 09:53:31 2013 +0100

Fix to the popSRinfo signature

commit 46e8b0208497d260b69ff631f0c43b062fb7672e
Author: Michel Schanen <schanen@…>
Date: Wed Feb 27 09:47:00 2013 +0100

AMPI interface changes due to dco

commit 6411cf3d8fdecb6703996b49422f8cc5742a543a
Merge: 36d5c8c 86aa51a
Author: Jean Utke <utke@…>
Date: Fri Jan 25 09:29:34 2013 -0600

Merge branch '2.3.x_ISSM' into ampi

commit 36d5c8cdb76f1694465957dfdad9b8e397c9a298
Merge: d891bd7 fc0e23e
Author: Jean Utke <utke@…>
Date: Fri Jan 25 09:22:26 2013 -0600

Merge branch 'master' into ampi

commit d891bd7432731a3777226a21e0c4fe5284b829d6
Merge: 120a0ba 032b76f
Author: Jean Utke <utke@…>
Date: Fri Jan 25 08:58:55 2013 -0600

Merge branch '2.3.x_ISSM' into ampi

commit 120a0ba02bf99bf2a04e312510e60702e1c4b164
Author: Jean Utke <utke@…>
Date: Thu Jan 24 14:36:55 2013 -0600

be consistent about using the adjointBuf

commit f899a455d1bd53faf0326976522238ca4ee72c66
Author: Jean Utke <utke@…>
Date: Thu Jan 24 12:13:09 2013 -0600

additions or irecv-send-wait

commit ac36a673810f5926be10eb66508eb01a72fce35f
Author: Jean Utke <utke@…>
Date: Thu Jan 24 10:02:38 2013 -0600

adapt for modified adtools interfaces; use the generic tape to keep MPI opaque types opaque

commit a0389f9f53849bfff2094621fa262c0bf68d87c9
Author: Jean Utke <utke@…>
Date: Wed Jan 2 17:15:37 2013 -0600

it is rp_A (not rp_T) and of course we needed the implementation of the increment and the decrement

commit ea9b3cd404ad4dd7e2d47a12e30d4b17496c8f8c
Author: Jean Utke <utke@…>
Date: Wed Jan 2 17:14:32 2013 -0600

we put more on the trace now

commit 2ac3e09235779a60e348483bde31496e84addca6
Author: Jean Utke <utke@…>
Date: Wed Jan 2 17:14:13 2013 -0600

undo a previous change

commit d51e220310d57285af9d667ef590215ac88b4f66
Author: Jean Utke <utke@…>
Date: Wed Jan 2 16:01:49 2013 -0600

need to set the count - of course

commit 903ab9374046ba9f7e4be44cf95d1d66e0942e84
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:47:17 2012 -0600

need to get the request in tapedoc too

commit 37d8b9a62a7d98a050fe3f718fb670f4366bc36a
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:46:34 2012 -0600

trace the request as an identifier to retrieve the AMPI request from the book keeping

commit 7c6cdbb18e92a3b0c7ee1c970f0d635cc9c6b895
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:43:37 2012 -0600

provide the declarations at one spot

commit 099a86d565e53a0afba519897c905fc313100dd5
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:41:23 2012 -0600

always set this because ampisupport needs it to get a hold of the buffer

commit ed510c7268d528e755de572bbd8c340be4d4f1d2
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:40:09 2012 -0600

use predefine locs count and defend against 0 alloc

commit 6b01cb33829b53099733086535b8c4b02e55f9af
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:30:41 2012 -0600

need this lib now

commit f2d4e3d1a7ce3f59e53d5b77c260621190f3e7be
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:30:08 2012 -0600

define the max locations per op code as a constant variable

commit f991c57c7a986d780f93d7203fdf34fad6628a86
Author: Jean Utke <utke@…>
Date: Wed Dec 19 12:27:27 2012 -0600

make this a little bit safer by enforcing NULL values for 0 size memory allocation;
the standard is noncommittal on this but offers NULL return as a possibility

commit f7863e21a6b98972d2239d268867ded147c8be9b
Author: Jean Utke <utke@…>
Date: Tue Dec 18 12:46:46 2012 -0600

fix up the output

commit 1cca12375b30cad22a96b04e45cdf369a011a9f2
Author: Jean Utke <utke@…>
Date: Tue Dec 18 12:46:28 2012 -0600

implement these

commit 8f023ffc33d70e21d6c9e3bfe4336b59244a7552
Author: Jean Utke <utke@…>
Date: Tue Dec 18 01:41:56 2012 -0600

cannot lump things into a placeholder opcode

commit 431fe76495a46dc97966a3a8503db288537832d6
Author: Jean Utke <utke@…>
Date: Mon Dec 17 16:12:03 2012 -0600

tapedoc conditional for AMPI and replace local hardwired macro with a configured macro

commit fbc846618106386e994c2bc661db1df9ace8930c
Author: Jean Utke <utke@…>
Date: Wed Dec 12 17:01:36 2012 -0600

baseline AMPI interpretation

commit 44bd31406cfffb2d84ac9af8cc447d9f11c7daaa
Author: Jean Utke <utke@…>
Date: Wed Dec 12 16:54:04 2012 -0600

add a preprocessor macro - make the checks dependent on the enable-ampi

commit 9c0f564ff64bfbc4eb06a4e9bc39cebc4590bca8
Author: Jean Utke <utke@…>
Date: Wed Dec 12 16:22:05 2012 -0600

increase the locint head space from 5 to 10 to allow for extra info

commit cf3aadbb3bbe1636e8b41241350814495257f215
Author: Jean Utke <utke@…>
Date: Wed Dec 12 16:21:27 2012 -0600

push the opcode and get raw data pointer

commit 2f8cd8603d411bf741fbedeb48bf59916bb7b37b
Author: Jean Utke <utke@…>
Date: Wed Dec 12 08:53:34 2012 -0600

extras

commit dd349bfdb2d91e163d3124a5ed5f03d5d6581e98
Author: Jean Utke <utke@…>
Date: Tue Dec 11 18:08:24 2012 -0600

ampi support in configuration output

commit feecf333d1785fbeb514a774ecfae2b380a2d317
Author: Jean Utke <utke@…>
Date: Tue Dec 11 18:03:54 2012 -0600

debug should be with opt level 0

commit f909b4bd395616d576aa37e6ddd61a4a75486312
Author: Jean Utke <utke@…>
Date: Tue Dec 11 11:54:34 2012 -0600

baseline

commit a7e6d0695be7910ec3c7ed2e3757a8d62e6f6fac
Author: Jean Utke <utke@…>
Date: Tue Dec 11 11:52:49 2012 -0600

ignoring things

Location:
trunk
Files:
5 added
1 deleted
84 edited

Legend:

Unmodified
Added
Removed
  • trunk/ADOL-C/Makefile.in

    r429 r439  
    5656DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    5757ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    58 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    59         $(top_srcdir)/autoconf/acx_builtin.m4 \
    60         $(top_srcdir)/configure.ac
     58am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     59        $(top_srcdir)/autoconf/ampi.m4 \
     60        $(top_srcdir)/autoconf/libtool.m4 \
     61        $(top_srcdir)/autoconf/ltoptions.m4 \
     62        $(top_srcdir)/autoconf/ltsugar.m4 \
     63        $(top_srcdir)/autoconf/ltversion.m4 \
     64        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     65        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6166am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6267        $(ACLOCAL_M4)
     
    123128ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    124129ADOLC_VERSION = @ADOLC_VERSION@
    125 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    126 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     130ADVBRANCH = @ADVBRANCH@
    127131AMTAR = @AMTAR@
    128132AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    129133AR = @AR@
    130134AS = @AS@
    131 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    132 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     135ATRIG_ERF = @ATRIG_ERF@
    133136AUTOCONF = @AUTOCONF@
    134137AUTOHEADER = @AUTOHEADER@
     
    209212ac_ct_CXX = @ac_ct_CXX@
    210213ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     214adolclib = @adolclib@
    211215am__include = @am__include@
    212216am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/examples/Makefile.am

    r354 r439  
    1313AM_CFLAGS               = @ac_adolc_cflags@
    1414AM_CXXFLAGS             = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS             = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS             = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                   = -ladolc
     17LDADD                   = -l${adolclib}
    1818AM_LDFLAGS              = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/Makefile.in

    r429 r439  
    6161        $(top_srcdir)/autoconf/depcomp
    6262ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    63 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    64         $(top_srcdir)/autoconf/acx_builtin.m4 \
    65         $(top_srcdir)/configure.ac
     63am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     64        $(top_srcdir)/autoconf/ampi.m4 \
     65        $(top_srcdir)/autoconf/libtool.m4 \
     66        $(top_srcdir)/autoconf/ltoptions.m4 \
     67        $(top_srcdir)/autoconf/ltsugar.m4 \
     68        $(top_srcdir)/autoconf/ltversion.m4 \
     69        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     70        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6671am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6772        $(ACLOCAL_M4)
     
    184189ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    185190ADOLC_VERSION = @ADOLC_VERSION@
    186 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    187 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     191ADVBRANCH = @ADVBRANCH@
    188192AMTAR = @AMTAR@
    189193AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    190194AR = @AR@
    191195AS = @AS@
    192 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    193 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     196ATRIG_ERF = @ATRIG_ERF@
    194197AUTOCONF = @AUTOCONF@
    195198AUTOHEADER = @AUTOHEADER@
     
    270273ac_ct_CXX = @ac_ct_CXX@
    271274ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     275adolclib = @adolclib@
    272276am__include = @am__include@
    273277am__leading_dot = @am__leading_dot@
     
    317321AM_CFLAGS = @ac_adolc_cflags@
    318322AM_CXXFLAGS = @ac_adolc_cxxflags@
    319 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    320 LDADD = -ladolc
     323AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     324LDADD = -l${adolclib}
    321325AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    322326MAINTAINERCLEANFILES = Makefile.in *~ *.orig ADOLC-*.tap
  • trunk/ADOL-C/examples/additional_examples/Makefile.in

    r429 r439  
    5656DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    5757ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    58 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    59         $(top_srcdir)/autoconf/acx_builtin.m4 \
    60         $(top_srcdir)/configure.ac
     58am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     59        $(top_srcdir)/autoconf/ampi.m4 \
     60        $(top_srcdir)/autoconf/libtool.m4 \
     61        $(top_srcdir)/autoconf/ltoptions.m4 \
     62        $(top_srcdir)/autoconf/ltsugar.m4 \
     63        $(top_srcdir)/autoconf/ltversion.m4 \
     64        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     65        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6166am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6267        $(ACLOCAL_M4)
     
    125130ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    126131ADOLC_VERSION = @ADOLC_VERSION@
    127 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    128 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     132ADVBRANCH = @ADVBRANCH@
    129133AMTAR = @AMTAR@
    130134AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    131135AR = @AR@
    132136AS = @AS@
    133 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    134 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     137ATRIG_ERF = @ATRIG_ERF@
    135138AUTOCONF = @AUTOCONF@
    136139AUTOHEADER = @AUTOHEADER@
     
    211214ac_ct_CXX = @ac_ct_CXX@
    212215ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     216adolclib = @adolclib@
    213217am__include = @am__include@
    214218am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/examples/additional_examples/checkpointing/Makefile.am

    r354 r439  
    1313AM_CFLAGS             = @ac_adolc_cflags@
    1414AM_CXXFLAGS           = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                 = -ladolc
     17LDADD                 = -l${adolclib}
    1818AM_LDFLAGS            = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/checkpointing/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/clock/Makefile.in

    r429 r439  
    5656DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    5757ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    58 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    59         $(top_srcdir)/autoconf/acx_builtin.m4 \
    60         $(top_srcdir)/configure.ac
     58am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     59        $(top_srcdir)/autoconf/ampi.m4 \
     60        $(top_srcdir)/autoconf/libtool.m4 \
     61        $(top_srcdir)/autoconf/ltoptions.m4 \
     62        $(top_srcdir)/autoconf/ltsugar.m4 \
     63        $(top_srcdir)/autoconf/ltversion.m4 \
     64        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     65        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6166am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6267        $(ACLOCAL_M4)
     
    8388ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    8489ADOLC_VERSION = @ADOLC_VERSION@
    85 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    86 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     90ADVBRANCH = @ADVBRANCH@
    8791AMTAR = @AMTAR@
    8892AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    8993AR = @AR@
    9094AS = @AS@
    91 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    92 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     95ATRIG_ERF = @ATRIG_ERF@
    9396AUTOCONF = @AUTOCONF@
    9497AUTOHEADER = @AUTOHEADER@
     
    169172ac_ct_CXX = @ac_ct_CXX@
    170173ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     174adolclib = @adolclib@
    171175am__include = @am__include@
    172176am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/examples/additional_examples/cuda/Makefile.in

    r429 r439  
    5656DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    5757ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    58 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    59         $(top_srcdir)/autoconf/acx_builtin.m4 \
    60         $(top_srcdir)/configure.ac
     58am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     59        $(top_srcdir)/autoconf/ampi.m4 \
     60        $(top_srcdir)/autoconf/libtool.m4 \
     61        $(top_srcdir)/autoconf/ltoptions.m4 \
     62        $(top_srcdir)/autoconf/ltsugar.m4 \
     63        $(top_srcdir)/autoconf/ltversion.m4 \
     64        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     65        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6166am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6267        $(ACLOCAL_M4)
     
    8388ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    8489ADOLC_VERSION = @ADOLC_VERSION@
    85 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    86 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     90ADVBRANCH = @ADVBRANCH@
    8791AMTAR = @AMTAR@
    8892AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    8993AR = @AR@
    9094AS = @AS@
    91 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    92 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     95ATRIG_ERF = @ATRIG_ERF@
    9396AUTOCONF = @AUTOCONF@
    9497AUTOHEADER = @AUTOHEADER@
     
    169172ac_ct_CXX = @ac_ct_CXX@
    170173ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     174adolclib = @adolclib@
    171175am__include = @am__include@
    172176am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/examples/additional_examples/detexam/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/detexam/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    120125ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    121126ADOLC_VERSION = @ADOLC_VERSION@
    122 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    123 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     127ADVBRANCH = @ADVBRANCH@
    124128AMTAR = @AMTAR@
    125129AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    126130AR = @AR@
    127131AS = @AS@
    128 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    129 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     132ATRIG_ERF = @ATRIG_ERF@
    130133AUTOCONF = @AUTOCONF@
    131134AUTOHEADER = @AUTOHEADER@
     
    206209ac_ct_CXX = @ac_ct_CXX@
    207210ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     211adolclib = @adolclib@
    208212am__include = @am__include@
    209213am__leading_dot = @am__leading_dot@
     
    253257AM_CFLAGS = @ac_adolc_cflags@
    254258AM_CXXFLAGS = @ac_adolc_cxxflags@
    255 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    256 LDADD = -ladolc
     259AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     260LDADD = -l${adolclib}
    257261AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    258262MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/ext_diff_func/Makefile.am

    r354 r439  
    1313AM_CFLAGS              = @ac_adolc_cflags@
    1414AM_CXXFLAGS            = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS            = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS            = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                  = -ladolc
     17LDADD                  = -l${adolclib}
    1818AM_LDFLAGS             = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/ext_diff_func/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/fixpoint_exam/Makefile.am

    r354 r439  
    1313AM_CFLAGS              = @ac_adolc_cflags@
    1414AM_CXXFLAGS            = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS            = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS            = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                  = -ladolc
     17LDADD                  = -l${adolclib}
    1818AM_LDFLAGS             = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/fixpoint_exam/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/helm/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/helm/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    120125ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    121126ADOLC_VERSION = @ADOLC_VERSION@
    122 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    123 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     127ADVBRANCH = @ADVBRANCH@
    124128AMTAR = @AMTAR@
    125129AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    126130AR = @AR@
    127131AS = @AS@
    128 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    129 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     132ATRIG_ERF = @ATRIG_ERF@
    130133AUTOCONF = @AUTOCONF@
    131134AUTOHEADER = @AUTOHEADER@
     
    206209ac_ct_CXX = @ac_ct_CXX@
    207210ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     211adolclib = @adolclib@
    208212am__include = @am__include@
    209213am__leading_dot = @am__leading_dot@
     
    253257AM_CFLAGS = @ac_adolc_cflags@
    254258AM_CXXFLAGS = @ac_adolc_cxxflags@
    255 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    256 LDADD = -ladolc
     259AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     260LDADD = -l${adolclib}
    257261AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    258262MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/hessmat/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/hessmat/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/ipopt/LuksanVlcek1/Makefile

    r78 r439  
    3434
    3535# CHANGEME: Additional libraries
    36 ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -ladolc $(HOME)/AD/ADOL-C/adolc_base_coin/lib/libColPack.a
     36ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -l${adolclib} $(HOME)/AD/ADOL-C/adolc_base_coin/lib/libColPack.a
    3737
    3838# CHANGEME: Additional flags for compilation (e.g., include flags)
  • trunk/ADOL-C/examples/additional_examples/ipopt/LuksanVlcek1_sparse/Makefile

    r78 r439  
    3434
    3535# CHANGEME: Additional libraries
    36 ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -ladolc $(HOME)/AD/ADOL-C/adolc_base_coin/lib/libColPack.a
     36ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -l${adolclib} $(HOME)/AD/ADOL-C/adolc_base_coin/lib/libColPack.a
    3737
    3838# CHANGEME: Additional flags for compilation (e.g., include flags)
  • trunk/ADOL-C/examples/additional_examples/ipopt/MittelmannDistCntrlNeumA/Makefile

    r78 r439  
    3434
    3535# CHANGEME: Additional libraries
    36 ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -ladolc $(HOME)/AD/ADOL-C/adolc_base_210/lib/libColPack.a
     36ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -l${adolclib} $(HOME)/AD/ADOL-C/adolc_base_210/lib/libColPack.a
    3737
    3838# CHANGEME: Additional flags for compilation (e.g., include flags)
  • trunk/ADOL-C/examples/additional_examples/ipopt/MittelmannDistCntrlNeumA_sparse/Makefile

    r78 r439  
    3434
    3535# CHANGEME: Additional libraries
    36 ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -ladolc $(HOME)/AD/ADOL-C/adolc_base_coin/lib/libColPack.a
     36ADDLIBS = -Wl,--rpath -Wl,$(ADLIBDIR) -L$(ADLIBDIR) -l${adolclib} $(HOME)/AD/ADOL-C/adolc_base_coin/lib/libColPack.a
    3737
    3838# CHANGEME: Additional flags for compilation (e.g., include flags)
  • trunk/ADOL-C/examples/additional_examples/lighthouse/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/lighthouse/Makefile.in

    r429 r439  
    6060        $(top_srcdir)/autoconf/depcomp
    6161ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    62 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    63         $(top_srcdir)/autoconf/acx_builtin.m4 \
    64         $(top_srcdir)/configure.ac
     62am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     63        $(top_srcdir)/autoconf/ampi.m4 \
     64        $(top_srcdir)/autoconf/libtool.m4 \
     65        $(top_srcdir)/autoconf/ltoptions.m4 \
     66        $(top_srcdir)/autoconf/ltsugar.m4 \
     67        $(top_srcdir)/autoconf/ltversion.m4 \
     68        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     69        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6570am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6671        $(ACLOCAL_M4)
     
    131136ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    132137ADOLC_VERSION = @ADOLC_VERSION@
    133 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    134 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     138ADVBRANCH = @ADVBRANCH@
    135139AMTAR = @AMTAR@
    136140AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    137141AR = @AR@
    138142AS = @AS@
    139 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    140 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     143ATRIG_ERF = @ATRIG_ERF@
    141144AUTOCONF = @AUTOCONF@
    142145AUTOHEADER = @AUTOHEADER@
     
    217220ac_ct_CXX = @ac_ct_CXX@
    218221ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     222adolclib = @adolclib@
    219223am__include = @am__include@
    220224am__leading_dot = @am__leading_dot@
     
    264268AM_CFLAGS = @ac_adolc_cflags@
    265269AM_CXXFLAGS = @ac_adolc_cxxflags@
    266 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    267 LDADD = -ladolc
     270AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     271LDADD = -l${adolclib}
    268272AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    269273MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/lufact/Makefile.am

    r354 r439  
    1414AM_CFLAGS            = @ac_adolc_cflags@
    1515AM_CXXFLAGS          = @ac_adolc_cxxflags@
    16 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     16AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1717
    18 LDADD                = -ladolc
     18LDADD                = -l${adolclib}
    1919AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    2020
  • trunk/ADOL-C/examples/additional_examples/lufact/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    120125ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    121126ADOLC_VERSION = @ADOLC_VERSION@
    122 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    123 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     127ADVBRANCH = @ADVBRANCH@
    124128AMTAR = @AMTAR@
    125129AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    126130AR = @AR@
    127131AS = @AS@
    128 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    129 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     132ATRIG_ERF = @ATRIG_ERF@
    130133AUTOCONF = @AUTOCONF@
    131134AUTOHEADER = @AUTOHEADER@
     
    206209ac_ct_CXX = @ac_ct_CXX@
    207210ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     211adolclib = @adolclib@
    208212am__include = @am__include@
    209213am__leading_dot = @am__leading_dot@
     
    253257AM_CFLAGS = @ac_adolc_cflags@
    254258AM_CXXFLAGS = @ac_adolc_cxxflags@
    255 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    256 LDADD = -ladolc
     259AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     260LDADD = -l${adolclib}
    257261AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    258262EXTRA_DIST = LU.h
  • trunk/ADOL-C/examples/additional_examples/ode/Makefile.am

    r354 r439  
    1414AM_CFLAGS               = @ac_adolc_cflags@
    1515AM_CXXFLAGS             = @ac_adolc_cxxflags@
    16 AM_CPPFLAGS             = -I$(top_srcdir)/ADOL-C/include
     16AM_CPPFLAGS             = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1717
    18 LDADD                = -ladolc
     18LDADD                = -l${adolclib}
    1919AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    2020
  • trunk/ADOL-C/examples/additional_examples/ode/Makefile.in

    r429 r439  
    6060        $(top_srcdir)/autoconf/depcomp
    6161ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    62 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    63         $(top_srcdir)/autoconf/acx_builtin.m4 \
    64         $(top_srcdir)/configure.ac
     62am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     63        $(top_srcdir)/autoconf/ampi.m4 \
     64        $(top_srcdir)/autoconf/libtool.m4 \
     65        $(top_srcdir)/autoconf/ltoptions.m4 \
     66        $(top_srcdir)/autoconf/ltsugar.m4 \
     67        $(top_srcdir)/autoconf/ltversion.m4 \
     68        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     69        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6570am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6671        $(ACLOCAL_M4)
     
    128133ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    129134ADOLC_VERSION = @ADOLC_VERSION@
    130 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    131 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     135ADVBRANCH = @ADVBRANCH@
    132136AMTAR = @AMTAR@
    133137AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    134138AR = @AR@
    135139AS = @AS@
    136 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    137 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     140ATRIG_ERF = @ATRIG_ERF@
    138141AUTOCONF = @AUTOCONF@
    139142AUTOHEADER = @AUTOHEADER@
     
    214217ac_ct_CXX = @ac_ct_CXX@
    215218ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     219adolclib = @adolclib@
    216220am__include = @am__include@
    217221am__leading_dot = @am__leading_dot@
     
    261265AM_CFLAGS = @ac_adolc_cflags@
    262266AM_CXXFLAGS = @ac_adolc_cxxflags@
    263 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    264 LDADD = -ladolc
     267AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     268LDADD = -l${adolclib}
    265269AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    266270MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/openmp_exam/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/openmp_exam/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    120125ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    121126ADOLC_VERSION = @ADOLC_VERSION@
    122 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    123 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     127ADVBRANCH = @ADVBRANCH@
    124128AMTAR = @AMTAR@
    125129AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    126130AR = @AR@
    127131AS = @AS@
    128 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    129 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     132ATRIG_ERF = @ATRIG_ERF@
    130133AUTOCONF = @AUTOCONF@
    131134AUTOHEADER = @AUTOHEADER@
     
    206209ac_ct_CXX = @ac_ct_CXX@
    207210ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     211adolclib = @adolclib@
    208212am__include = @am__include@
    209213am__leading_dot = @am__leading_dot@
     
    253257AM_CFLAGS = @ac_adolc_cflags@
    254258AM_CXXFLAGS = @ac_adolc_cxxflags@
    255 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    256 LDADD = -ladolc
     259AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     260LDADD = -l${adolclib}
    257261AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    258262MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/pow/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/pow/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/scal/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/scal/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/sparse/Makefile.am

    r354 r439  
    1313AM_CFLAGS               = @ac_adolc_cflags@
    1414AM_CXXFLAGS             = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS             = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS             = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                   = -ladolc
     17LDADD                   = -l${adolclib}
    1818AM_LDFLAGS              = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/sparse/Makefile.in

    r429 r439  
    6161        $(top_srcdir)/autoconf/depcomp
    6262ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    63 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    64         $(top_srcdir)/autoconf/acx_builtin.m4 \
    65         $(top_srcdir)/configure.ac
     63am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     64        $(top_srcdir)/autoconf/ampi.m4 \
     65        $(top_srcdir)/autoconf/libtool.m4 \
     66        $(top_srcdir)/autoconf/ltoptions.m4 \
     67        $(top_srcdir)/autoconf/ltsugar.m4 \
     68        $(top_srcdir)/autoconf/ltversion.m4 \
     69        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     70        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6671am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6772        $(ACLOCAL_M4)
     
    134139ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    135140ADOLC_VERSION = @ADOLC_VERSION@
    136 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    137 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     141ADVBRANCH = @ADVBRANCH@
    138142AMTAR = @AMTAR@
    139143AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    140144AR = @AR@
    141145AS = @AS@
    142 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    143 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     146ATRIG_ERF = @ATRIG_ERF@
    144147AUTOCONF = @AUTOCONF@
    145148AUTOHEADER = @AUTOHEADER@
     
    220223ac_ct_CXX = @ac_ct_CXX@
    221224ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     225adolclib = @adolclib@
    222226am__include = @am__include@
    223227am__leading_dot = @am__leading_dot@
     
    267271AM_CFLAGS = @ac_adolc_cflags@
    268272AM_CXXFLAGS = @ac_adolc_cxxflags@
    269 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    270 LDADD = -ladolc
     273AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     274LDADD = -l${adolclib}
    271275AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    272276MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/speelpenning/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/speelpenning/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
     
    249253AM_CFLAGS = @ac_adolc_cflags@
    250254AM_CXXFLAGS = @ac_adolc_cxxflags@
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    252 LDADD = -ladolc
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     256LDADD = -l${adolclib}
    253257AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    254258MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/tapesave/Makefile.am

    r356 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/tapesave/Makefile.in

    r429 r439  
    5959        $(top_srcdir)/autoconf/depcomp
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    120125ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    121126ADOLC_VERSION = @ADOLC_VERSION@
    122 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    123 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     127ADVBRANCH = @ADVBRANCH@
    124128AMTAR = @AMTAR@
    125129AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    126130AR = @AR@
    127131AS = @AS@
    128 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    129 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     132ATRIG_ERF = @ATRIG_ERF@
    130133AUTOCONF = @AUTOCONF@
    131134AUTOHEADER = @AUTOHEADER@
     
    206209ac_ct_CXX = @ac_ct_CXX@
    207210ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     211adolclib = @adolclib@
    208212am__include = @am__include@
    209213am__leading_dot = @am__leading_dot@
     
    253257AM_CFLAGS = @ac_adolc_cflags@
    254258AM_CXXFLAGS = @ac_adolc_cxxflags@
    255 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    256 LDADD = -ladolc
     259AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     260LDADD = -l${adolclib}
    257261AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    258262MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/taylor/Makefile.am

    r354 r439  
    1313AM_CFLAGS            = @ac_adolc_cflags@
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@
    15 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include
     15AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1616
    17 LDADD                = -ladolc
     17LDADD                = -l${adolclib}
    1818AM_LDFLAGS           = -L$(top_builddir)/ADOL-C/src
    1919
  • trunk/ADOL-C/examples/additional_examples/taylor/Makefile.in

    r429 r439  
    6161        $(top_srcdir)/autoconf/depcomp
    6262ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    63 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    64         $(top_srcdir)/autoconf/acx_builtin.m4 \
    65         $(top_srcdir)/configure.ac
     63am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     64        $(top_srcdir)/autoconf/ampi.m4 \
     65        $(top_srcdir)/autoconf/libtool.m4 \
     66        $(top_srcdir)/autoconf/ltoptions.m4 \
     67        $(top_srcdir)/autoconf/ltsugar.m4 \
     68        $(top_srcdir)/autoconf/ltversion.m4 \
     69        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     70        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6671am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6772        $(ACLOCAL_M4)
     
    136141ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    137142ADOLC_VERSION = @ADOLC_VERSION@
    138 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    139 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     143ADVBRANCH = @ADVBRANCH@
    140144AMTAR = @AMTAR@
    141145AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    142146AR = @AR@
    143147AS = @AS@
    144 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    145 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     148ATRIG_ERF = @ATRIG_ERF@
    146149AUTOCONF = @AUTOCONF@
    147150AUTOHEADER = @AUTOHEADER@
     
    222225ac_ct_CXX = @ac_ct_CXX@
    223226ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     227adolclib = @adolclib@
    224228am__include = @am__include@
    225229am__leading_dot = @am__leading_dot@
     
    269273AM_CFLAGS = @ac_adolc_cflags@
    270274AM_CXXFLAGS = @ac_adolc_cxxflags@
    271 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    272 LDADD = -ladolc
     275AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     276LDADD = -l${adolclib}
    273277AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    274278MAINTAINERCLEANFILES = Makefile.in *~ *.orig
  • trunk/ADOL-C/examples/additional_examples/timing/Makefile.am

    r354 r439  
    1414AM_CFLAGS               = @ac_adolc_cflags@
    1515AM_CXXFLAGS             = @ac_adolc_cxxflags@
    16 AM_CPPFLAGS             = -I$(top_srcdir)/ADOL-C/include
     16AM_CPPFLAGS             = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
    1717
    18 LDADD                   = -ladolc
     18LDADD                   = -l${adolclib}
    1919AM_LDFLAGS              = -L$(top_builddir)/ADOL-C/src
    2020
  • trunk/ADOL-C/examples/additional_examples/timing/Makefile.in

    r429 r439  
    6666        $(top_srcdir)/autoconf/depcomp
    6767ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    68 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    69         $(top_srcdir)/autoconf/acx_builtin.m4 \
    70         $(top_srcdir)/configure.ac
     68am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     69        $(top_srcdir)/autoconf/ampi.m4 \
     70        $(top_srcdir)/autoconf/libtool.m4 \
     71        $(top_srcdir)/autoconf/ltoptions.m4 \
     72        $(top_srcdir)/autoconf/ltsugar.m4 \
     73        $(top_srcdir)/autoconf/ltversion.m4 \
     74        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     75        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    7176am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    7277        $(ACLOCAL_M4)
     
    206211ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    207212ADOLC_VERSION = @ADOLC_VERSION@
    208 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    209 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     213ADVBRANCH = @ADVBRANCH@
    210214AMTAR = @AMTAR@
    211215AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    212216AR = @AR@
    213217AS = @AS@
    214 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    215 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     218ATRIG_ERF = @ATRIG_ERF@
    216219AUTOCONF = @AUTOCONF@
    217220AUTOHEADER = @AUTOHEADER@
     
    292295ac_ct_CXX = @ac_ct_CXX@
    293296ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     297adolclib = @adolclib@
    294298am__include = @am__include@
    295299am__leading_dot = @am__leading_dot@
     
    339343AM_CFLAGS = @ac_adolc_cflags@
    340344AM_CXXFLAGS = @ac_adolc_cxxflags@
    341 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include
    342 LDADD = -ladolc
     345AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include
     346LDADD = -l${adolclib}
    343347AM_LDFLAGS = -L$(top_builddir)/ADOL-C/src
    344348CTRLFILES = detexam.ctrl \
  • trunk/ADOL-C/include/Makefile.in

    r429 r439  
    5656DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    5757ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    58 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    59         $(top_srcdir)/autoconf/acx_builtin.m4 \
    60         $(top_srcdir)/configure.ac
     58am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     59        $(top_srcdir)/autoconf/ampi.m4 \
     60        $(top_srcdir)/autoconf/libtool.m4 \
     61        $(top_srcdir)/autoconf/ltoptions.m4 \
     62        $(top_srcdir)/autoconf/ltsugar.m4 \
     63        $(top_srcdir)/autoconf/ltversion.m4 \
     64        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     65        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6166am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6267        $(ACLOCAL_M4)
     
    123128ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    124129ADOLC_VERSION = @ADOLC_VERSION@
    125 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    126 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     130ADVBRANCH = @ADVBRANCH@
    127131AMTAR = @AMTAR@
    128132AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    129133AR = @AR@
    130134AS = @AS@
    131 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    132 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     135ATRIG_ERF = @ATRIG_ERF@
    133136AUTOCONF = @AUTOCONF@
    134137AUTOHEADER = @AUTOHEADER@
     
    209212ac_ct_CXX = @ac_ct_CXX@
    210213ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     214adolclib = @adolclib@
    211215am__include = @am__include@
    212216am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/include/adolc/Makefile.in

    r429 r439  
    5959        $(srcdir)/Makefile.in $(srcdir)/adolc_settings.h.in
    6060ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     61am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     62        $(top_srcdir)/autoconf/ampi.m4 \
     63        $(top_srcdir)/autoconf/libtool.m4 \
     64        $(top_srcdir)/autoconf/ltoptions.m4 \
     65        $(top_srcdir)/autoconf/ltsugar.m4 \
     66        $(top_srcdir)/autoconf/ltversion.m4 \
     67        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     68        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6469am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6570        $(ACLOCAL_M4)
     
    155160ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    156161ADOLC_VERSION = @ADOLC_VERSION@
    157 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    158 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     162ADVBRANCH = @ADVBRANCH@
    159163AMTAR = @AMTAR@
    160164AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    161165AR = @AR@
    162166AS = @AS@
    163 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    164 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     167ATRIG_ERF = @ATRIG_ERF@
    165168AUTOCONF = @AUTOCONF@
    166169AUTOHEADER = @AUTOHEADER@
     
    241244ac_ct_CXX = @ac_ct_CXX@
    242245ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     246adolclib = @adolclib@
    243247am__include = @am__include@
    244248am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/include/adolc/adolc_settings.h

    r408 r439  
    88           Do not edit this file.
    99
    10  Copyright (c) Kshitij Kulshreshtha
     10 Copyright (c) Kshitij Kulshreshtha, Jean Utke
    1111
    1212 This file is part of ADOL-C. This software is provided as open source.
     
    2626/* Enable/disable asinh, acosh,atanh, erf */
    2727#undef ATRIG_ERF
    28 // #define ATRIG_ERF 1
    2928
    3029/*--------------------------------------------------------------------------*/
    3130/* Enable/disable advanced branching */
    3231#undef ADOLC_ADVANCED_BRANCHING
    33 // #define ADOLC_ADVANCED_BRANCHING 1
    34 
    3532
    3633#endif
  • trunk/ADOL-C/include/adolc/adolc_settings.h.in

    r408 r439  
    88           Do not edit this file.
    99
    10  Copyright (c) Kshitij Kulshreshtha
     10 Copyright (c) Kshitij Kulshreshtha, Jean Utke
    1111
    1212 This file is part of ADOL-C. This software is provided as open source.
     
    2525/*--------------------------------------------------------------------------*/
    2626/* Enable/disable asinh, acosh,atanh, erf */
    27 @ATRIG_ERF_FALSE@#undef ATRIG_ERF
    28 @ATRIG_ERF_TRUE@#define ATRIG_ERF 1
     27@ATRIG_ERF@
    2928
    3029/*--------------------------------------------------------------------------*/
    3130/* Enable/disable advanced branching */
    32 @ADVBRANCH_FALSE@#undef ADOLC_ADVANCED_BRANCHING
    33 @ADVBRANCH_TRUE@#define ADOLC_ADVANCED_BRANCHING 1
    34 
     31@ADVBRANCH@
    3532
    3633#endif
  • trunk/ADOL-C/include/adolc/common.h

    r427 r439  
    3939
    4040/*--------------------------------------------------------------------------*/
    41 /* system dependend configuration */
     41/* system dependent configuration */
    4242#if defined(ADOLC_INTERNAL)
    4343#   if HAVE_CONFIG_H
  • trunk/ADOL-C/include/adolc/drivers/Makefile.in

    r429 r439  
    5858        $(srcdir)/Makefile.in
    5959ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    60 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    61         $(top_srcdir)/autoconf/acx_builtin.m4 \
    62         $(top_srcdir)/configure.ac
     60am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     61        $(top_srcdir)/autoconf/ampi.m4 \
     62        $(top_srcdir)/autoconf/libtool.m4 \
     63        $(top_srcdir)/autoconf/ltoptions.m4 \
     64        $(top_srcdir)/autoconf/ltsugar.m4 \
     65        $(top_srcdir)/autoconf/ltversion.m4 \
     66        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     67        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6368am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6469        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/include/adolc/externfcts.h

    r370 r439  
    66           functions.
    77 
    8  Copyright (c) Andreas Kowarz
     8 Copyright (c) Andreas Kowarz, Jean Utke
    99
    1010 This file is part of ADOL-C. This software is provided as open source.
     
    3232typedef int (ADOLC_ext_fct_hov_reverse) (int m, int p, double **dpp_U, int n, int d, double ***dppp_Z, short **spp_nz);
    3333
     34/**
     35 * we add a second set of function pointers with a signature expanded by a an integer array iArr
     36 * and a parameter iArrLength motivated by externalizing sparse solvers where the sparsity format
     37 * may be triples (i,j,A[i][j]) and a number of nonzero entries nz where all these integers are to
     38 * be packed into iArr. Doing this will still allow the integers to be stored in the locint part
     39 * of the tape.
     40 * The alternative to doing this is the introduction of a separate stack to contain the extra data
     41 * but this would break the self-containment of the tape.
     42 */
     43typedef int (ADOLC_ext_fct_iArr) (int iArrLength, int *iArr, int n, double *x, int m, double *y);
     44typedef int (ADOLC_ext_fct_iArr_fos_forward) (int iArrLength, int *iArr, int n, double *dp_x, double *dp_X, int m, double *dp_y, double *dp_Y);
     45typedef int (ADOLC_ext_fct_iArr_fov_forward) (int iArrLength, int *iArr, int n, double *dp_x, int p, double **dpp_X, int m, double *dp_y, double **dpp_Y);
     46typedef int (ADOLC_ext_fct_iArr_hos_forward) (int iArrLength, int *iArr, int n, double *dp_x, int d, double **dpp_X, int m, double *dp_y, double **dpp_Y);
     47typedef int (ADOLC_ext_fct_iArr_hov_forward) (int iArrLength, int *iArr, int n, double *dp_x, int d, int p, double ***dppp_X, int m, double *dp_y, double ***dppp_Y);
     48typedef int (ADOLC_ext_fct_iArr_fos_reverse) (int iArrLength, int *iArr, int m, double *dp_U, int n, double *dp_Z, double *dp_x, double *dp_y);
     49typedef int (ADOLC_ext_fct_iArr_fov_reverse) (int iArrLength, int *iArr, int m, int p, double **dpp_U, int n, double **dpp_Z, double *dp_x, double *dp_y);
     50typedef int (ADOLC_ext_fct_iArr_hos_reverse) (int iArrLength, int *iArr, int m, double *dp_U, int n, int d, double **dpp_Z);
     51typedef int (ADOLC_ext_fct_iArr_hov_reverse) (int iArrLength, int *iArr, int m, int p, double **dpp_U, int n, int d, double ***dppp_Z, short **spp_nz);
     52
    3453
    3554/**
     
    4463   */
    4564  ADOLC_ext_fct *function; 
     65  ADOLC_ext_fct_iArr *function_iArr;
    4666
    4767  /**
     
    6585   */
    6686  ADOLC_ext_fct *zos_forward;
     87  ADOLC_ext_fct_iArr *zos_forward_iArr;
    6788
    6889  /**
     
    7293   */
    7394  ADOLC_ext_fct_fos_forward *fos_forward;
     95  ADOLC_ext_fct_iArr_fos_forward *fos_forward_iArr;
    7496
    7597  /**
     
    79101   */
    80102  ADOLC_ext_fct_fov_forward *fov_forward;
     103  ADOLC_ext_fct_iArr_fov_forward *fov_forward_iArr;
    81104  /**
    82105   * higher order scalar forward for external functions  is currently not implemented in uni5_for.c
    83106   */
    84107  ADOLC_ext_fct_hos_forward *hos_forward;
     108  ADOLC_ext_fct_iArr_hos_forward *hos_forward_iArr;
    85109  /**
    86110   * higher order vector forward for external functions  is currently not implemented in uni5_for.c
    87111   */
    88112  ADOLC_ext_fct_hov_forward *hov_forward;
     113  ADOLC_ext_fct_iArr_hov_forward *hov_forward_iArr;
    89114  /**
    90115   * this points to a  method computing the projection dp_Z=transpose(dp_U) * Jacobian
     
    92117   */
    93118  ADOLC_ext_fct_fos_reverse *fos_reverse;
     119  ADOLC_ext_fct_iArr_fos_reverse *fos_reverse_iArr;
    94120  /**
    95121   * this points to a  method computing the projection dpp_Z=transpose(dpp_U) * Jacobian
     
    97123   */
    98124  ADOLC_ext_fct_fov_reverse *fov_reverse;
     125  ADOLC_ext_fct_iArr_fov_reverse *fov_reverse_iArr;
    99126  /**
    100127   * higher order scalar reverse for external functions  is currently not implemented in ho_rev.c
    101128   */
    102129  ADOLC_ext_fct_hos_reverse *hos_reverse;
     130  ADOLC_ext_fct_iArr_hos_reverse *hos_reverse_iArr;
    103131  /**
    104132   * higher order vector reverse for external functions  is currently not implemented in ho_rev.c
    105133   */
    106134  ADOLC_ext_fct_hov_reverse *hov_reverse;
     135  ADOLC_ext_fct_iArr_hov_reverse *hov_reverse_iArr;
    107136
    108137
     
    195224   * track maximal value of n when function is invoked
    196225   */
    197   int max_n;
     226  locint max_n;
    198227
    199228  /**
    200229   * track maximal value of m when function is invoked
    201230   */
    202   int max_m;
     231  locint max_m;
    203232
    204233  /**
     
    234263
    235264ADOLC_DLL_EXPORT ext_diff_fct *reg_ext_fct(ADOLC_ext_fct ext_fct);
     265ADOLC_DLL_EXPORT ext_diff_fct *reg_ext_fct(ADOLC_ext_fct_iArr ext_fct);
    236266
    237267ADOLC_DLL_EXPORT int call_ext_fct (ext_diff_fct *edfct,
    238268                                   int n, double *xp, adouble *xa,
    239269                                   int m, double *yp, adouble *ya);
     270ADOLC_DLL_EXPORT int call_ext_fct (ext_diff_fct *edfct,
     271                                   int iArrLength, int* iArr,
     272                                   int n, double *xp, adouble *xa,
     273                                   int m, double *yp, adouble *ya);
    240274
    241275#endif /* __CPLUSPLUS */
  • trunk/ADOL-C/include/adolc/sparse/Makefile.in

    r429 r439  
    5858        $(srcdir)/Makefile.in
    5959ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    60 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    61         $(top_srcdir)/autoconf/acx_builtin.m4 \
    62         $(top_srcdir)/configure.ac
     60am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     61        $(top_srcdir)/autoconf/ampi.m4 \
     62        $(top_srcdir)/autoconf/libtool.m4 \
     63        $(top_srcdir)/autoconf/ltoptions.m4 \
     64        $(top_srcdir)/autoconf/ltsugar.m4 \
     65        $(top_srcdir)/autoconf/ltversion.m4 \
     66        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     67        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6368am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6469        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/include/adolc/tapedoc/Makefile.in

    r429 r439  
    5858        $(srcdir)/Makefile.in
    5959ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    60 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    61         $(top_srcdir)/autoconf/acx_builtin.m4 \
    62         $(top_srcdir)/configure.ac
     60am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     61        $(top_srcdir)/autoconf/ampi.m4 \
     62        $(top_srcdir)/autoconf/libtool.m4 \
     63        $(top_srcdir)/autoconf/ltoptions.m4 \
     64        $(top_srcdir)/autoconf/ltsugar.m4 \
     65        $(top_srcdir)/autoconf/ltversion.m4 \
     66        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     67        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6368am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6469        $(ACLOCAL_M4)
     
    116121ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    117122ADOLC_VERSION = @ADOLC_VERSION@
    118 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    119 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     123ADVBRANCH = @ADVBRANCH@
    120124AMTAR = @AMTAR@
    121125AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    122126AR = @AR@
    123127AS = @AS@
    124 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    125 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     128ATRIG_ERF = @ATRIG_ERF@
    126129AUTOCONF = @AUTOCONF@
    127130AUTOHEADER = @AUTOHEADER@
     
    202205ac_ct_CXX = @ac_ct_CXX@
    203206ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     207adolclib = @adolclib@
    204208am__include = @am__include@
    205209am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/include/adolc/taping.h

    r354 r439  
    5959ADOLC_DLL_EXPORT void ensureContiguousLocations(size_t n);
    6060
     61/*
     62 * free location block sorting/consolidation upon calls to ensureContiguousLocations
     63 * happens when  the ratio between allocated and used locations exceeds gcTriggerRatio or
     64 * the allocated locations exceed gcTriggerMaxSize
     65 */
     66ADOLC_DLL_EXPORT void setStoreManagerControl(double gcTriggerRatio, size_t gcTriggerMaxSize);
     67
    6168END_C_DECLS
    6269
     
    8794 * sizes for a given tape */
    8895ADOLC_DLL_EXPORT int trace_on(short tnum, int keepTaylors,
    89         uint obs, uint lbs, uint vbs, uint tbs);
     96        uint obs, uint lbs, uint vbs, uint tbs, int skipFileCleanup=0);
    9097
    9198/* Stop Tracing. Cleans up, and turns off trace_flag. Flag not equal zero
  • trunk/ADOL-C/src/Makefile.am

    r429 r439  
    1414AM_CXXFLAGS          = @ac_adolc_cxxflags@ -DADOLC_INTERNAL=1
    1515
    16 AM_CPPFLAGS          = -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
     16AM_CPPFLAGS          = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
    1717
    1818if SPARSE
     
    2424MAINTAINERCLEANFILES = Makefile.in *~ *.orig adolc_config.h config.h.in
    2525
    26 EXTRA_DIST           = uni5_for.c fo_rev.c ho_rev.c \
    27                        oplate.h taping_p.h malloc.h storemanager.h \
    28                        externfcts_p.h checkpointing_p.h buffer_temp.h
     26EXTRA_DIST           = uni5_for.c fo_rev.c ho_rev.c
    2927
    3028
     29
     30if BUILD_ADOLC_AMPI_SUPPORT
     31lib_LTLIBRARIES      = libadolc_ampi.la
     32noinst_LTLIBRARIES   = libadolc.la
     33libadolc_ampi_la_LDFLAGS  = -version-info 2:1:1 -no-undefined
     34libadolc_la_LDFLAGS  =
     35libadolc_ampi_la_LIBADD = libadolc.la
     36libadolc_ampi_la_SOURCES = ampisupport.cpp ampisupportAdolc.cpp \
     37                           ampisupportAdolc.h
     38else
    3139lib_LTLIBRARIES      = libadolc.la
     40libadolc_la_LDFLAGS  = -version-info 2:1:1 -no-undefined
     41endif
    3242
    33 libadolc_la_LDFLAGS  = -version-info 2:1:1 -no-undefined
    3443
    35 if SPARSE
    3644libadolc_la_SOURCES  = adalloc.c malloc.c adouble.cpp \
    3745                       convolut.c fortutils.c \
    3846                       interfaces.cpp interfacesf.c \
    39                        taping_p.h taping.c tape_handling.cpp \
    40                        zos_forward.c fos_forward.c fov_forward.c \
    41                        hos_forward.c hov_forward.c hov_wk_forward.c \
    42                        fos_reverse.c fov_reverse.c \
    43                        hos_reverse.c hos_ov_reverse.c hov_reverse.c \
    44                        forward_partx.c \
    45                        externfcts.cpp checkpointing.cpp \
    46                        fixpoint.cpp fov_offset_forward.c revolve.c \
    47                        int_forward_s.c int_forward_t.c \
    48                        indopro_forward_s.c indopro_forward_t.c \
    49                        nonl_ind_forward_s.c nonl_ind_forward_t.c \
    50                        nonl_ind_old_forward_s.c nonl_ind_old_forward_t.c \
    51                        int_reverse_s.c int_reverse_t.c advector.cpp \
    52                        adouble_tl.cpp
    53 
    54 libadolc_la_LIBADD   = drivers/libdrivers.la sparse/libsparse.la \
    55                        tapedoc/libtapedoc.la
    56 libadolc_la_LDFLAGS  += @COLPACK_LIBS@
    57 else
    58 libadolc_la_SOURCES  = adalloc.c malloc.c adouble.cpp \
    59                        convolut.c fortutils.c\
    60                        interfaces.cpp interfacesf.c \
    6147                       taping.c tape_handling.cpp \
     48                       oplate.h taping_p.h malloc.h storemanager.h \
     49                       externfcts_p.h checkpointing_p.h buffer_temp.h \
    6250                       zos_forward.c fos_forward.c fov_forward.c \
    6351                       hos_forward.c hov_forward.c hov_wk_forward.c \
     
    7159libadolc_la_LIBADD   = drivers/libdrivers.la tapedoc/libtapedoc.la
    7260
     61if SPARSE
     62libadolc_la_SOURCES  += int_forward_s.c int_forward_t.c \
     63                       indopro_forward_s.c indopro_forward_t.c \
     64                       nonl_ind_forward_s.c nonl_ind_forward_t.c \
     65                       nonl_ind_old_forward_s.c nonl_ind_old_forward_t.c \
     66                       int_reverse_s.c int_reverse_t.c
     67
     68libadolc_la_LIBADD   += sparse/libsparse.la
     69libadolc_la_LDFLAGS  += @COLPACK_LIBS@
    7370endif
    74 
  • trunk/ADOL-C/src/Makefile.in

    r429 r439  
    5454build_triplet = @build@
    5555host_triplet = @host@
    56 @SPARSE_TRUE@am__append_1 = @COLPACK_LIBS@
     56@SPARSE_TRUE@am__append_1 = int_forward_s.c int_forward_t.c \
     57@SPARSE_TRUE@                       indopro_forward_s.c indopro_forward_t.c \
     58@SPARSE_TRUE@                       nonl_ind_forward_s.c nonl_ind_forward_t.c \
     59@SPARSE_TRUE@                       nonl_ind_old_forward_s.c nonl_ind_old_forward_t.c \
     60@SPARSE_TRUE@                       int_reverse_s.c int_reverse_t.c
     61
     62@SPARSE_TRUE@am__append_2 = sparse/libsparse.la
     63@SPARSE_TRUE@am__append_3 = @COLPACK_LIBS@
    5764subdir = ADOL-C/src
    5865DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
    5966        $(srcdir)/config.h.in $(top_srcdir)/autoconf/depcomp
    6067ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    61 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    62         $(top_srcdir)/autoconf/acx_builtin.m4 \
    63         $(top_srcdir)/configure.ac
     68am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     69        $(top_srcdir)/autoconf/ampi.m4 \
     70        $(top_srcdir)/autoconf/libtool.m4 \
     71        $(top_srcdir)/autoconf/ltoptions.m4 \
     72        $(top_srcdir)/autoconf/ltsugar.m4 \
     73        $(top_srcdir)/autoconf/ltversion.m4 \
     74        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     75        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6476am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6577        $(ACLOCAL_M4)
     
    96108  }
    97109am__installdirs = "$(DESTDIR)$(libdir)"
    98 LTLIBRARIES = $(lib_LTLIBRARIES)
    99 @SPARSE_FALSE@libadolc_la_DEPENDENCIES = drivers/libdrivers.la \
    100 @SPARSE_FALSE@  tapedoc/libtapedoc.la
    101 @SPARSE_TRUE@libadolc_la_DEPENDENCIES = drivers/libdrivers.la \
    102 @SPARSE_TRUE@   sparse/libsparse.la tapedoc/libtapedoc.la
     110LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
     111libadolc_la_DEPENDENCIES = drivers/libdrivers.la tapedoc/libtapedoc.la \
     112        $(am__append_2)
    103113am__libadolc_la_SOURCES_DIST = adalloc.c malloc.c adouble.cpp \
    104114        convolut.c fortutils.c interfaces.cpp interfacesf.c taping.c \
    105         tape_handling.cpp zos_forward.c fos_forward.c fov_forward.c \
    106         hos_forward.c hov_forward.c hov_wk_forward.c fos_reverse.c \
    107         fov_reverse.c hos_reverse.c hos_ov_reverse.c hov_reverse.c \
    108         forward_partx.c externfcts.cpp checkpointing.cpp fixpoint.cpp \
    109         fov_offset_forward.c revolve.c advector.cpp adouble_tl.cpp \
    110         taping_p.h int_forward_s.c int_forward_t.c indopro_forward_s.c \
    111         indopro_forward_t.c nonl_ind_forward_s.c nonl_ind_forward_t.c \
    112         nonl_ind_old_forward_s.c nonl_ind_old_forward_t.c \
    113         int_reverse_s.c int_reverse_t.c
    114 @SPARSE_FALSE@am_libadolc_la_OBJECTS = adalloc.lo malloc.lo adouble.lo \
    115 @SPARSE_FALSE@  convolut.lo fortutils.lo interfaces.lo \
    116 @SPARSE_FALSE@  interfacesf.lo taping.lo tape_handling.lo \
    117 @SPARSE_FALSE@  zos_forward.lo fos_forward.lo fov_forward.lo \
    118 @SPARSE_FALSE@  hos_forward.lo hov_forward.lo hov_wk_forward.lo \
    119 @SPARSE_FALSE@  fos_reverse.lo fov_reverse.lo hos_reverse.lo \
    120 @SPARSE_FALSE@  hos_ov_reverse.lo hov_reverse.lo \
    121 @SPARSE_FALSE@  forward_partx.lo externfcts.lo checkpointing.lo \
    122 @SPARSE_FALSE@  fixpoint.lo fov_offset_forward.lo revolve.lo \
    123 @SPARSE_FALSE@  advector.lo adouble_tl.lo
    124 @SPARSE_TRUE@am_libadolc_la_OBJECTS = adalloc.lo malloc.lo adouble.lo \
    125 @SPARSE_TRUE@   convolut.lo fortutils.lo interfaces.lo \
    126 @SPARSE_TRUE@   interfacesf.lo taping.lo tape_handling.lo \
    127 @SPARSE_TRUE@   zos_forward.lo fos_forward.lo fov_forward.lo \
    128 @SPARSE_TRUE@   hos_forward.lo hov_forward.lo hov_wk_forward.lo \
    129 @SPARSE_TRUE@   fos_reverse.lo fov_reverse.lo hos_reverse.lo \
    130 @SPARSE_TRUE@   hos_ov_reverse.lo hov_reverse.lo forward_partx.lo \
    131 @SPARSE_TRUE@   externfcts.lo checkpointing.lo fixpoint.lo \
    132 @SPARSE_TRUE@   fov_offset_forward.lo revolve.lo int_forward_s.lo \
    133 @SPARSE_TRUE@   int_forward_t.lo indopro_forward_s.lo \
    134 @SPARSE_TRUE@   indopro_forward_t.lo nonl_ind_forward_s.lo \
    135 @SPARSE_TRUE@   nonl_ind_forward_t.lo nonl_ind_old_forward_s.lo \
     115        tape_handling.cpp oplate.h taping_p.h malloc.h storemanager.h \
     116        externfcts_p.h checkpointing_p.h buffer_temp.h zos_forward.c \
     117        fos_forward.c fov_forward.c hos_forward.c hov_forward.c \
     118        hov_wk_forward.c fos_reverse.c fov_reverse.c hos_reverse.c \
     119        hos_ov_reverse.c hov_reverse.c forward_partx.c externfcts.cpp \
     120        checkpointing.cpp fixpoint.cpp fov_offset_forward.c revolve.c \
     121        advector.cpp adouble_tl.cpp int_forward_s.c int_forward_t.c \
     122        indopro_forward_s.c indopro_forward_t.c nonl_ind_forward_s.c \
     123        nonl_ind_forward_t.c nonl_ind_old_forward_s.c \
     124        nonl_ind_old_forward_t.c int_reverse_s.c int_reverse_t.c
     125@SPARSE_TRUE@am__objects_1 = int_forward_s.lo int_forward_t.lo \
     126@SPARSE_TRUE@   indopro_forward_s.lo indopro_forward_t.lo \
     127@SPARSE_TRUE@   nonl_ind_forward_s.lo nonl_ind_forward_t.lo \
     128@SPARSE_TRUE@   nonl_ind_old_forward_s.lo \
    136129@SPARSE_TRUE@   nonl_ind_old_forward_t.lo int_reverse_s.lo \
    137 @SPARSE_TRUE@   int_reverse_t.lo advector.lo adouble_tl.lo
     130@SPARSE_TRUE@   int_reverse_t.lo
     131am_libadolc_la_OBJECTS = adalloc.lo malloc.lo adouble.lo convolut.lo \
     132        fortutils.lo interfaces.lo interfacesf.lo taping.lo \
     133        tape_handling.lo zos_forward.lo fos_forward.lo fov_forward.lo \
     134        hos_forward.lo hov_forward.lo hov_wk_forward.lo fos_reverse.lo \
     135        fov_reverse.lo hos_reverse.lo hos_ov_reverse.lo hov_reverse.lo \
     136        forward_partx.lo externfcts.lo checkpointing.lo fixpoint.lo \
     137        fov_offset_forward.lo revolve.lo advector.lo adouble_tl.lo \
     138        $(am__objects_1)
    138139libadolc_la_OBJECTS = $(am_libadolc_la_OBJECTS)
    139140AM_V_lt = $(am__v_lt_@AM_V@)
     
    143144        $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
    144145        $(CXXFLAGS) $(libadolc_la_LDFLAGS) $(LDFLAGS) -o $@
     146@BUILD_ADOLC_AMPI_SUPPORT_FALSE@am_libadolc_la_rpath = -rpath \
     147@BUILD_ADOLC_AMPI_SUPPORT_FALSE@        $(libdir)
     148@BUILD_ADOLC_AMPI_SUPPORT_TRUE@am_libadolc_la_rpath =
     149@BUILD_ADOLC_AMPI_SUPPORT_TRUE@libadolc_ampi_la_DEPENDENCIES =  \
     150@BUILD_ADOLC_AMPI_SUPPORT_TRUE@ libadolc.la
     151am__libadolc_ampi_la_SOURCES_DIST = ampisupport.cpp \
     152        ampisupportAdolc.cpp ampisupportAdolc.h
     153@BUILD_ADOLC_AMPI_SUPPORT_TRUE@am_libadolc_ampi_la_OBJECTS =  \
     154@BUILD_ADOLC_AMPI_SUPPORT_TRUE@ ampisupport.lo \
     155@BUILD_ADOLC_AMPI_SUPPORT_TRUE@ ampisupportAdolc.lo
     156libadolc_ampi_la_OBJECTS = $(am_libadolc_ampi_la_OBJECTS)
     157libadolc_ampi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
     158        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
     159        $(AM_CXXFLAGS) $(CXXFLAGS) $(libadolc_ampi_la_LDFLAGS) \
     160        $(LDFLAGS) -o $@
     161@BUILD_ADOLC_AMPI_SUPPORT_TRUE@am_libadolc_ampi_la_rpath = -rpath \
     162@BUILD_ADOLC_AMPI_SUPPORT_TRUE@ $(libdir)
    145163DEFAULT_INCLUDES = -I.@am__isrc@
    146164depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
     
    185203am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
    186204am__v_GEN_0 = @echo "  GEN     " $@;
    187 SOURCES = $(libadolc_la_SOURCES)
    188 DIST_SOURCES = $(am__libadolc_la_SOURCES_DIST)
     205SOURCES = $(libadolc_la_SOURCES) $(libadolc_ampi_la_SOURCES)
     206DIST_SOURCES = $(am__libadolc_la_SOURCES_DIST) \
     207        $(am__libadolc_ampi_la_SOURCES_DIST)
    189208RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
    190209        html-recursive info-recursive install-data-recursive \
     
    237256ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    238257ADOLC_VERSION = @ADOLC_VERSION@
    239 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    240 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     258ADVBRANCH = @ADVBRANCH@
    241259AMTAR = @AMTAR@
    242260AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    243261AR = @AR@
    244262AS = @AS@
    245 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    246 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     263ATRIG_ERF = @ATRIG_ERF@
    247264AUTOCONF = @AUTOCONF@
    248265AUTOHEADER = @AUTOHEADER@
     
    323340ac_ct_CXX = @ac_ct_CXX@
    324341ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     342adolclib = @adolclib@
    325343am__include = @am__include@
    326344am__leading_dot = @am__leading_dot@
     
    370388AM_CFLAGS = @ac_adolc_cflags@ -DADOLC_INTERNAL=1 -std=gnu99
    371389AM_CXXFLAGS = @ac_adolc_cxxflags@ -DADOLC_INTERNAL=1
    372 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
     390AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
    373391@SPARSE_FALSE@SUBDIRS = drivers tapedoc
    374392@SPARSE_TRUE@SUBDIRS = drivers sparse tapedoc
    375393MAINTAINERCLEANFILES = Makefile.in *~ *.orig adolc_config.h config.h.in
    376 EXTRA_DIST = uni5_for.c fo_rev.c ho_rev.c \
    377                        oplate.h taping_p.h malloc.h storemanager.h \
    378                        externfcts_p.h checkpointing_p.h buffer_temp.h
    379 
    380 lib_LTLIBRARIES = libadolc.la
    381 libadolc_la_LDFLAGS = -version-info 2:1:1 -no-undefined \
    382         $(am__append_1)
    383 @SPARSE_FALSE@libadolc_la_SOURCES = adalloc.c malloc.c adouble.cpp \
    384 @SPARSE_FALSE@                       convolut.c fortutils.c\
    385 @SPARSE_FALSE@                       interfaces.cpp interfacesf.c \
    386 @SPARSE_FALSE@                       taping.c tape_handling.cpp \
    387 @SPARSE_FALSE@                       zos_forward.c fos_forward.c fov_forward.c \
    388 @SPARSE_FALSE@                       hos_forward.c hov_forward.c hov_wk_forward.c \
    389 @SPARSE_FALSE@                       fos_reverse.c fov_reverse.c \
    390 @SPARSE_FALSE@                       hos_reverse.c hos_ov_reverse.c hov_reverse.c \
    391 @SPARSE_FALSE@                       forward_partx.c \
    392 @SPARSE_FALSE@                       externfcts.cpp checkpointing.cpp \
    393 @SPARSE_FALSE@                       fixpoint.cpp fov_offset_forward.c revolve.c \
    394 @SPARSE_FALSE@                       advector.cpp adouble_tl.cpp
    395 
    396 @SPARSE_TRUE@libadolc_la_SOURCES = adalloc.c malloc.c adouble.cpp \
    397 @SPARSE_TRUE@                       convolut.c fortutils.c \
    398 @SPARSE_TRUE@                       interfaces.cpp interfacesf.c \
    399 @SPARSE_TRUE@                       taping_p.h taping.c tape_handling.cpp \
    400 @SPARSE_TRUE@                       zos_forward.c fos_forward.c fov_forward.c \
    401 @SPARSE_TRUE@                       hos_forward.c hov_forward.c hov_wk_forward.c \
    402 @SPARSE_TRUE@                       fos_reverse.c fov_reverse.c \
    403 @SPARSE_TRUE@                       hos_reverse.c hos_ov_reverse.c hov_reverse.c \
    404 @SPARSE_TRUE@                       forward_partx.c \
    405 @SPARSE_TRUE@                       externfcts.cpp checkpointing.cpp \
    406 @SPARSE_TRUE@                       fixpoint.cpp fov_offset_forward.c revolve.c \
    407 @SPARSE_TRUE@                       int_forward_s.c int_forward_t.c \
    408 @SPARSE_TRUE@                       indopro_forward_s.c indopro_forward_t.c \
    409 @SPARSE_TRUE@                       nonl_ind_forward_s.c nonl_ind_forward_t.c \
    410 @SPARSE_TRUE@                       nonl_ind_old_forward_s.c nonl_ind_old_forward_t.c \
    411 @SPARSE_TRUE@                       int_reverse_s.c int_reverse_t.c advector.cpp \
    412 @SPARSE_TRUE@                       adouble_tl.cpp
    413 
    414 @SPARSE_FALSE@libadolc_la_LIBADD = drivers/libdrivers.la tapedoc/libtapedoc.la
    415 @SPARSE_TRUE@libadolc_la_LIBADD = drivers/libdrivers.la sparse/libsparse.la \
    416 @SPARSE_TRUE@                       tapedoc/libtapedoc.la
    417 
     394EXTRA_DIST = uni5_for.c fo_rev.c ho_rev.c
     395@BUILD_ADOLC_AMPI_SUPPORT_FALSE@lib_LTLIBRARIES = libadolc.la
     396@BUILD_ADOLC_AMPI_SUPPORT_TRUE@lib_LTLIBRARIES = libadolc_ampi.la
     397@BUILD_ADOLC_AMPI_SUPPORT_TRUE@noinst_LTLIBRARIES = libadolc.la
     398@BUILD_ADOLC_AMPI_SUPPORT_TRUE@libadolc_ampi_la_LDFLAGS = -version-info 2:1:1 -no-undefined
     399@BUILD_ADOLC_AMPI_SUPPORT_FALSE@libadolc_la_LDFLAGS = -version-info \
     400@BUILD_ADOLC_AMPI_SUPPORT_FALSE@        2:1:1 -no-undefined \
     401@BUILD_ADOLC_AMPI_SUPPORT_FALSE@        $(am__append_3)
     402@BUILD_ADOLC_AMPI_SUPPORT_TRUE@libadolc_la_LDFLAGS = $(am__append_3)
     403@BUILD_ADOLC_AMPI_SUPPORT_TRUE@libadolc_ampi_la_LIBADD = libadolc.la
     404@BUILD_ADOLC_AMPI_SUPPORT_TRUE@libadolc_ampi_la_SOURCES = ampisupport.cpp ampisupportAdolc.cpp \
     405@BUILD_ADOLC_AMPI_SUPPORT_TRUE@                           ampisupportAdolc.h
     406
     407libadolc_la_SOURCES = adalloc.c malloc.c adouble.cpp convolut.c \
     408        fortutils.c interfaces.cpp interfacesf.c taping.c \
     409        tape_handling.cpp oplate.h taping_p.h malloc.h storemanager.h \
     410        externfcts_p.h checkpointing_p.h buffer_temp.h zos_forward.c \
     411        fos_forward.c fov_forward.c hos_forward.c hov_forward.c \
     412        hov_wk_forward.c fos_reverse.c fov_reverse.c hos_reverse.c \
     413        hos_ov_reverse.c hov_reverse.c forward_partx.c externfcts.cpp \
     414        checkpointing.cpp fixpoint.cpp fov_offset_forward.c revolve.c \
     415        advector.cpp adouble_tl.cpp $(am__append_1)
     416libadolc_la_LIBADD = drivers/libdrivers.la tapedoc/libtapedoc.la \
     417        $(am__append_2)
    418418all: config.h
    419419        $(MAKE) $(AM_MAKEFLAGS) all-recursive
     
    500500          rm -f $${locs}; \
    501501        }
     502
     503clean-noinstLTLIBRARIES:
     504        -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
     505        @list='$(noinst_LTLIBRARIES)'; \
     506        locs=`for p in $$list; do echo $$p; done | \
     507              sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
     508              sort -u`; \
     509        test -z "$$locs" || { \
     510          echo rm -f $${locs}; \
     511          rm -f $${locs}; \
     512        }
    502513libadolc.la: $(libadolc_la_OBJECTS) $(libadolc_la_DEPENDENCIES) $(EXTRA_libadolc_la_DEPENDENCIES)
    503         $(AM_V_CXXLD)$(libadolc_la_LINK) -rpath $(libdir) $(libadolc_la_OBJECTS) $(libadolc_la_LIBADD) $(LIBS)
     514        $(AM_V_CXXLD)$(libadolc_la_LINK) $(am_libadolc_la_rpath) $(libadolc_la_OBJECTS) $(libadolc_la_LIBADD) $(LIBS)
     515libadolc_ampi.la: $(libadolc_ampi_la_OBJECTS) $(libadolc_ampi_la_DEPENDENCIES) $(EXTRA_libadolc_ampi_la_DEPENDENCIES)
     516        $(AM_V_CXXLD)$(libadolc_ampi_la_LINK) $(am_libadolc_ampi_la_rpath) $(libadolc_ampi_la_OBJECTS) $(libadolc_ampi_la_LIBADD) $(LIBS)
    504517
    505518mostlyclean-compile:
     
    513526@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adouble_tl.Plo@am__quote@
    514527@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/advector.Plo@am__quote@
     528@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ampisupport.Plo@am__quote@
     529@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ampisupportAdolc.Plo@am__quote@
    515530@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkpointing.Plo@am__quote@
    516531@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convolut.Plo@am__quote@
     
    846861
    847862clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
    848         mostlyclean-am
     863        clean-noinstLTLIBRARIES mostlyclean-am
    849864
    850865distclean: distclean-recursive
     
    920935.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
    921936        all all-am check check-am clean clean-generic \
    922         clean-libLTLIBRARIES clean-libtool cscopelist \
    923         cscopelist-recursive ctags ctags-recursive distclean \
    924         distclean-compile distclean-generic distclean-hdr \
     937        clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
     938        cscopelist cscopelist-recursive ctags ctags-recursive \
     939        distclean distclean-compile distclean-generic distclean-hdr \
    925940        distclean-libtool distclean-tags distdir dvi dvi-am html \
    926941        html-am info info-am install install-am install-data \
  • trunk/ADOL-C/src/adalloc.c

    r364 r439  
    3737/*--------------------------------------------------------------------------*/
    3838double* myalloc1(size_t m) {
    39     double* A = (double*)ADOLC_MALLOC(m,sizeof(double));
    40     if (A == NULL) {
     39    double* A = NULL; 
     40    if (m>0) {
     41      A=(double*)ADOLC_MALLOC(m,sizeof(double));
     42      if (A == NULL) {
    4143        fprintf(DIAG_OUT,"ADOL-C error: myalloc1 cannot allocate %zd bytes\n",
    4244                (size_t)(m*sizeof(double)));
    4345        exit (-1);
     46      }
    4447    }
    4548    return A;
     
    4851/*--------------------------------------------------------------------------*/
    4952double** myalloc2(size_t m, size_t n) {
    50     double *Adum = (double*)ADOLC_MALLOC(m*n,sizeof(double));
    51     double   **A = (double**)malloc(m*sizeof(double*));
    52     int i;
    53     if (Adum == NULL) {
     53    double **A=NULL;
     54    if (m>0 && n>0)  {
     55      double *Adum = (double*)ADOLC_MALLOC(m*n,sizeof(double));
     56      A = (double**)malloc(m*sizeof(double*));
     57      int i;
     58      if (Adum == NULL) {
    5459        fprintf(DIAG_OUT,"ADOL-C error: myalloc2 cannot allocate %zd bytes\n",
    5560                (size_t)(m*n*sizeof(double)));
    5661        exit (-1);
    57     }
    58     if (A == NULL) {
     62      }
     63      if (A == NULL) {
    5964        fprintf(DIAG_OUT,"ADOL-C error: myalloc2 cannot allocate %zd bytes\n",
    6065                (size_t)(m*sizeof(double*)));
    6166        exit (-1);
    62     }
    63     for (i=0; i<m; i++) {
     67      }
     68      for (i=0; i<m; i++) {
    6469        A[i] = Adum;
    6570        Adum += n;
     71      }
    6672    }
    6773    return A;
     
    7076/*--------------------------------------------------------------------------*/
    7177double*** myalloc3(size_t m, size_t n, size_t p) { /* This function allocates 3-tensors contiguously */
    72     double *Adum = (double*) ADOLC_MALLOC(m*n*p,sizeof(double));
    73     double **Apt = (double**)malloc(m*n*sizeof(double*));
    74     double  ***A = (double***)malloc(m*sizeof(double**));
    75     int i,j;
    76     if (Adum == NULL) {
     78    double  ***A = NULL;
     79    if (m>0 && n>0 && p > 0)  {
     80      double *Adum = (double*) ADOLC_MALLOC(m*n*p,sizeof(double));
     81      double **Apt = (double**)malloc(m*n*sizeof(double*));
     82      A = (double***)malloc(m*sizeof(double**));
     83      int i,j;
     84      if (Adum == NULL) {
    7785        fprintf(DIAG_OUT,"ADOL-C error: myalloc3 cannot allocate %zd bytes\n",
    7886                (size_t)(m*n*p*sizeof(double)));
    7987        exit (-1);
    80     }
    81     if (Apt == NULL) {
     88      }
     89      if (Apt == NULL) {
    8290        fprintf(DIAG_OUT,"ADOL-C error: myalloc3 cannot allocate %zd bytes\n",
    8391                (size_t)(m*n*sizeof(double*)));
    8492        exit (-1);
    85     }
    86     if (A == NULL) {
     93      }
     94      if (A == NULL) {
    8795        fprintf(DIAG_OUT,"ADOL-C error: myalloc3 cannot allocate %zd bytes\n",
    8896                (size_t)(m*sizeof(double**)));
    8997        exit (-1);
    90     }
    91     for (i=0; i<m; i++) {
     98      }
     99      for (i=0; i<m; i++) {
    92100        A[i] = Apt;
    93101        for (j=0; j<n; j++) {
    94             *Apt++ =  Adum;
    95             Adum += p;
     102          *Apt++ =  Adum;
     103          Adum += p;
    96104        }
     105      }
    97106    }
    98107    return A;
     
    101110/*--------------------------------------------------------------------------*/
    102111void myfree1(double   *A) {
    103     free((char*) A);
     112    if (A) free((char*) A);
    104113}
    105114
    106115/*--------------------------------------------------------------------------*/
    107116void myfree2(double  **A) {
    108     free((char*)*A);
    109     free((char*) A);
     117    if (A && *A) free((char*)*A);
     118    if (A) free((char*) A);
    110119}
    111120
    112121/*--------------------------------------------------------------------------*/
    113122void myfree3(double ***A) {
    114     free((char*)**A);
    115     free((char*)*A);
    116     free((char*) A);
     123    if (A && *A && **A) free((char*)**A);
     124    if (A && *A) free((char*)*A);
     125    if (A) free((char*) A);
    117126}
    118127
  • trunk/ADOL-C/src/buffer_temp.h

    r438 r439  
    77           - intended to be used with structs
    88 
    9  Copyright (c) Andreas Kowarz
     9 Copyright (c) Andreas Kowarz, Kshitij Kulshreshtha, Jean Utke
    1010 
    1111 This file is part of ADOL-C. This software is provided as open source.
     
    2727#include <cstdlib>
    2828
    29 #define BUFFER Buffer<SubBufferElement, FunctionPointer, _subBufferSize>
    30 #define BUFFER_TEMPLATE template<class SubBufferElement,\
    31    class FunctionPointer, IndexType _subBufferSize>
     29#define BUFFER Buffer<SubBufferElement, _subBufferSize>
     30#define BUFFER_TEMPLATE template<class SubBufferElement, IndexType _subBufferSize>
    3231
    3332typedef locint IndexType;
     
    6362        initFunction = _initFunction;
    6463    }
    65     SubBufferElement *append(FunctionPointer functionPointer);
     64    SubBufferElement *append();
    6665    SubBufferElement *getElement(IndexType index);
    6766
     
    9089
    9190BUFFER_TEMPLATE
    92 SubBufferElement *BUFFER::append(FunctionPointer functionPointer) {
     91SubBufferElement *BUFFER::append() {
    9392    SubBuffer *currentSubBuffer=firstSubBuffer, *previousSubBuffer=NULL;
    9493    IndexType index, tmp=numEntries;
    95 
    96     if (functionPointer==NULL) fail(ADOLC_BUFFER_NULLPOINTER_FUNCTION);
    9794
    9895    while (tmp>=subBufferSize) {
     
    113110
    114111    currentSubBuffer->elements[index].index=numEntries;
    115     currentSubBuffer->elements[index].function=functionPointer;
    116112    ++numEntries;
    117113
  • trunk/ADOL-C/src/checkpointing.cpp

    r370 r439  
    55 Contents: checkpointing algorithms
    66 
    7  Copyright (c) Andreas Kowarz
     7 Copyright (c) Andreas Kowarz, Jean Utke
    88 
    99 This file is part of ADOL-C. This software is provided as open source.
     
    5959    ADOLC_OPENMP_THREAD_NUMBER;
    6060    ADOLC_OPENMP_GET_THREAD_NUMBER;
    61 
    62     return ADOLC_EXT_DIFF_FCTS_BUFFER.append(timeStepFunction);
     61    CpInfos* theCpInfos=ADOLC_EXT_DIFF_FCTS_BUFFER.append();
     62    theCpInfos->function=timeStepFunction;
     63    return theCpInfos;
    6364}
    6465
  • trunk/ADOL-C/src/checkpointing_p.h

    r106 r439  
    55 Contents: private functions for the checkpointing functions.
    66 
    7  Copyright (c) Andreas Kowarz
     7 Copyright (c) Andreas Kowarz, Jean Utke
    88 
    99 This file is part of ADOL-C. This software is provided as open source.
     
    4040#if defined(__cplusplus)
    4141
    42 #define ADOLC_BUFFER_TYPE \
    43    Buffer< CpInfos, ADOLC_TimeStepFuncion, CP_BLOCK_SIZE >
     42#define ADOLC_BUFFER_TYPE Buffer< CpInfos, CP_BLOCK_SIZE >
    4443extern ADOLC_BUFFER_TYPE ADOLC_EXT_DIFF_FCTS_BUFFER_DECL;
    4544
  • trunk/ADOL-C/src/config.h.in

    r429 r439  
    66/* ADOL-C adouble zeroing mode */
    77#undef ADOLC_ADOUBLE_STDCZERO
     8
     9/* defined if adjoinable MPI support is to be compiled in */
     10#undef ADOLC_AMPI_SUPPORT
    811
    912/* ADOL-C debug mode */
     
    1821/* ADOL-C Subversion */
    1922#undef ADOLC_SUBVERSION
     23
     24/* ADOL-C tape_doc routine computes values */
     25#undef ADOLC_TAPE_DOC_VALUES
    2026
    2127/* ADOL-C thread save errno mode */
  • trunk/ADOL-C/src/drivers/Makefile.am

    r354 r439  
    1414AM_CXXFLAGS               = @ac_adolc_cxxflags@ -DADOLC_INTERNAL=1
    1515AM_LDFLAGS                = -no-undefined
    16 AM_CPPFLAGS               = -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
     16AM_CPPFLAGS               = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
    1717
    1818MAINTAINERCLEANFILES      = Makefile.in *~ *.orig
  • trunk/ADOL-C/src/drivers/Makefile.in

    r429 r439  
    5858        $(top_srcdir)/autoconf/depcomp
    5959ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    60 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    61         $(top_srcdir)/autoconf/acx_builtin.m4 \
    62         $(top_srcdir)/configure.ac
     60am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     61        $(top_srcdir)/autoconf/ampi.m4 \
     62        $(top_srcdir)/autoconf/libtool.m4 \
     63        $(top_srcdir)/autoconf/ltoptions.m4 \
     64        $(top_srcdir)/autoconf/ltsugar.m4 \
     65        $(top_srcdir)/autoconf/ltversion.m4 \
     66        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     67        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6368am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6469        $(ACLOCAL_M4)
     
    115120ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    116121ADOLC_VERSION = @ADOLC_VERSION@
    117 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    118 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     122ADVBRANCH = @ADVBRANCH@
    119123AMTAR = @AMTAR@
    120124AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    121125AR = @AR@
    122126AS = @AS@
    123 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    124 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     127ATRIG_ERF = @ATRIG_ERF@
    125128AUTOCONF = @AUTOCONF@
    126129AUTOHEADER = @AUTOHEADER@
     
    201204ac_ct_CXX = @ac_ct_CXX@
    202205ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     206adolclib = @adolclib@
    203207am__include = @am__include@
    204208am__leading_dot = @am__leading_dot@
     
    249253AM_CXXFLAGS = @ac_adolc_cxxflags@ -DADOLC_INTERNAL=1
    250254AM_LDFLAGS = -no-undefined
    251 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
     255AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
    252256MAINTAINERCLEANFILES = Makefile.in *~ *.orig
    253257noinst_LTLIBRARIES = libdrivers.la
  • trunk/ADOL-C/src/externfcts.cpp

    r427 r439  
    55 Contents: functions and data types for extern (differentiated) functions.
    66 
    7  Copyright (c) Andreas Kowarz
     7 Copyright (c) Andreas Kowarz, Jean Utke
    88 
    99 This file is part of ADOL-C. This software is provided as open source.
     
    2626
    2727#define ADOLC_BUFFER_TYPE \
    28    Buffer< ext_diff_fct, ADOLC_ext_fct, EDFCTS_BLOCK_SIZE >
    29 static ADOLC_BUFFER_TYPE buffer(init_ext_diff_fct);
    30 static int oldTraceFlag;
    31 
    32 ext_diff_fct *reg_ext_fct(ADOLC_ext_fct ext_fct) {
    33 
    34   // this call sets edf->function and edf->index:
    35   ext_diff_fct * edf=buffer.append(ext_fct);
    36 
    37   // for sanity make sure everything else is properly nullified
     28   Buffer< ext_diff_fct, EDFCTS_BLOCK_SIZE >
     29static ADOLC_BUFFER_TYPE buffer(edf_init);
     30
     31void edf_init(ext_diff_fct *edf) {
     32  // sanity settings
     33  edf->function=0;
     34  edf->function_iArr=0;
     35
    3836  edf->zos_forward=0;
     37  edf->zos_forward_iArr=0;
    3938
    4039  edf->fos_forward=0;
     40  edf->fos_forward_iArr=0;
    4141  edf->hos_forward=0;
     42  edf->hos_forward_iArr=0;
    4243  edf->fov_forward=0;
     44  edf->fov_forward_iArr=0;
    4345  edf->hov_forward=0;
     46  edf->hov_forward_iArr=0;
    4447
    4548  edf->fos_reverse=0;
     49  edf->fos_reverse_iArr=0;
    4650  edf->hos_reverse=0;
     51  edf->hos_reverse_iArr=0;
    4752  edf->fov_reverse=0;
     53  edf->fov_reverse_iArr=0;
    4854  edf->hov_reverse=0;
    49  
     55  edf->hov_reverse_iArr=0;
     56
    5057  edf->dp_x=0;
    5158  edf->dp_X=0;
     
    7178  edf->dp_x_changes=true;
    7279  edf->dp_y_priorRequired=true;
    73 
     80}
     81
     82ext_diff_fct *reg_ext_fct(ADOLC_ext_fct ext_fct) {
     83  // this call sets edf->index:
     84  ext_diff_fct * edf=buffer.append();
     85  edf->function=ext_fct;
    7486  return edf;
     87}
     88
     89ext_diff_fct *reg_ext_fct(ADOLC_ext_fct_iArr ext_fct) {
     90  // this call sets  edf->index:
     91  ext_diff_fct * edf=buffer.append();
     92  edf->function_iArr=ext_fct;
     93  return edf;
     94}
     95
     96void call_ext_fct_commonPrior(ext_diff_fct *edfct,
     97                              int n, double *xp, adouble *xa,
     98                              int m, double *yp, adouble *ya,
     99                              int &numVals,
     100                              double *&vals,
     101                              int &oldTraceFlag) {
     102  ADOLC_OPENMP_THREAD_NUMBER;
     103  ADOLC_OPENMP_GET_THREAD_NUMBER;
     104
     105  if (xa[n-1].loc()-xa[0].loc()!=(unsigned)n-1 || ya[m-1].loc()-ya[0].loc()!=(unsigned)m-1) fail(ADOLC_EXT_DIFF_LOCATIONGAP);
     106  if (edfct==NULL) fail(ADOLC_EXT_DIFF_NULLPOINTER_STRUCT);
     107  if (ADOLC_CURRENT_TAPE_INFOS.traceFlag) {
     108    ADOLC_PUT_LOCINT(edfct->index);
     109    ADOLC_PUT_LOCINT(n);
     110    ADOLC_PUT_LOCINT(m);
     111    ADOLC_PUT_LOCINT(xa[0].loc());
     112    ADOLC_PUT_LOCINT(ya[0].loc());
     113    ADOLC_PUT_LOCINT(0);               /* keep space for checkpointing index */
     114    oldTraceFlag=ADOLC_CURRENT_TAPE_INFOS.traceFlag;
     115    ADOLC_CURRENT_TAPE_INFOS.traceFlag=0;
     116  }
     117  else oldTraceFlag=0;
     118  if (edfct->nestedAdolc) {
     119    numVals = ADOLC_GLOBAL_TAPE_VARS.storeSize;
     120    vals = new double[numVals];
     121    memcpy(vals, ADOLC_GLOBAL_TAPE_VARS.store,
     122           numVals * sizeof(double));
     123  }
     124  edfct->max_n=(edfct->max_n<n)?n:edfct->max_n;
     125  edfct->max_m=(edfct->max_m<m)?m:edfct->max_m;
     126
     127  /* update taylor buffer if keep != 0 ; possible double counting as in
     128   * adouble.cpp => correction in taping.c */
     129
     130  if (oldTraceFlag != 0) {
     131    if (edfct->dp_x_changes) ADOLC_CURRENT_TAPE_INFOS.numTays_Tape += n;
     132    if (edfct->dp_y_priorRequired) ADOLC_CURRENT_TAPE_INFOS.numTays_Tape += m;
     133    if (ADOLC_CURRENT_TAPE_INFOS.keepTaylors) {
     134      if (edfct->dp_x_changes) for (int i=0; i<n; ++i) ADOLC_WRITE_SCAYLOR(xa[i].getValue());
     135      if (edfct->dp_y_priorRequired) for (int i=0; i<m; ++i) ADOLC_WRITE_SCAYLOR(ya[i].getValue());
     136    }
     137  }
     138
     139  for (int i=0; i<n; ++i) xp[i]=xa[i].getValue();
     140  if (edfct->dp_y_priorRequired) for (int i=0; i<m; ++i) yp[i]=ya[i].getValue();
     141}
     142
     143void call_ext_fct_commonPost(ext_diff_fct *edfct,
     144                              int n, double *xp, adouble *xa,
     145                              int m, double *yp, adouble *ya,
     146                              int &numVals,
     147                              double *&vals,
     148                              int &oldTraceFlag) {
     149  ADOLC_OPENMP_THREAD_NUMBER;
     150  ADOLC_OPENMP_GET_THREAD_NUMBER;
     151  if (edfct->nestedAdolc) {
     152    memcpy(ADOLC_GLOBAL_TAPE_VARS.store, vals,
     153        numVals * sizeof(double));
     154    delete[] vals;
     155    vals=0;
     156  }
     157  /* write back */
     158  if (edfct->dp_x_changes) for (int i=0; i<n; ++i) xa[i].setValue(xp[i]);
     159  for (int i=0; i<m; ++i) ya[i].setValue(yp[i]);
     160  ADOLC_CURRENT_TAPE_INFOS.traceFlag=oldTraceFlag;
    75161}
    76162
    77163int call_ext_fct(ext_diff_fct *edfct,
    78164                 int n, double *xp, adouble *xa,
    79                  int m, double *yp, adouble *ya)
    80 {
    81     int i = 0, ret;
    82     locint numVals = 0;
    83     double *vals = NULL;
    84     ADOLC_OPENMP_THREAD_NUMBER;
    85     ADOLC_OPENMP_GET_THREAD_NUMBER;
    86 
    87     if (xa[n-1].loc()-xa[0].loc()!=(unsigned)n-1 || ya[m-1].loc()-ya[0].loc()!=(unsigned)m-1) fail(ADOLC_EXT_DIFF_LOCATIONGAP);
    88     if (edfct==NULL) fail(ADOLC_EXT_DIFF_NULLPOINTER_STRUCT);
    89 
    90     if (ADOLC_CURRENT_TAPE_INFOS.traceFlag) {
    91         put_op(ext_diff);
    92         ADOLC_PUT_LOCINT(edfct->index);
    93         ADOLC_PUT_LOCINT(n);
    94         ADOLC_PUT_LOCINT(m);
    95         ADOLC_PUT_LOCINT(xa[i].loc());
    96         ADOLC_PUT_LOCINT(ya[i].loc());
    97         ADOLC_PUT_LOCINT(0);               /* keep space for checkpointing index */
    98 
    99         oldTraceFlag=ADOLC_CURRENT_TAPE_INFOS.traceFlag;
    100         ADOLC_CURRENT_TAPE_INFOS.traceFlag=0;
    101     } else oldTraceFlag=0;
    102 
    103     if (edfct->nestedAdolc) {
    104       numVals = ADOLC_GLOBAL_TAPE_VARS.storeSize;
    105       vals = new double[numVals];
    106       memcpy(vals, ADOLC_GLOBAL_TAPE_VARS.store,
    107              numVals * sizeof(double));
    108     }
    109 
    110     edfct->max_n=(edfct->max_n<n)?n:edfct->max_n;
    111     edfct->max_m=(edfct->max_m<m)?m:edfct->max_m;
    112 
    113     /* update taylor buffer if keep != 0 ; possible double counting as in
    114      * adouble.cpp => correction in taping.c */
    115 
    116     if (oldTraceFlag != 0) {
    117       if (edfct->dp_x_changes) ADOLC_CURRENT_TAPE_INFOS.numTays_Tape += n;
    118       if (edfct->dp_y_priorRequired) ADOLC_CURRENT_TAPE_INFOS.numTays_Tape += m;
    119       if (ADOLC_CURRENT_TAPE_INFOS.keepTaylors) {
    120         if (edfct->dp_x_changes) for (i=0; i<n; ++i) ADOLC_WRITE_SCAYLOR(xa[i].getValue());
    121         if (edfct->dp_y_priorRequired) for (i=0; i<m; ++i) ADOLC_WRITE_SCAYLOR(ya[i].getValue());
    122       }
    123     }
    124 
    125     for (i=0; i<n; ++i) xp[i]=xa[i].getValue();
    126     if (edfct->dp_y_priorRequired) for (i=0; i<m; ++i) yp[i]=ya[i].getValue();
    127 
    128     ret=edfct->function(n, xp, m, yp);
    129 
    130     if (edfct->nestedAdolc) {
    131       memcpy(ADOLC_GLOBAL_TAPE_VARS.store, vals,
    132           numVals * sizeof(double));
    133       delete[] vals;
    134     }
    135 
    136     /* write back */
    137     if (edfct->dp_x_changes) for (i=0; i<n; ++i) xa[i].setValue(xp[i]);
    138     for (i=0; i<m; ++i) ya[i].setValue(yp[i]);
    139 
    140     ADOLC_CURRENT_TAPE_INFOS.traceFlag=oldTraceFlag;
    141 
    142     return ret;
     165                 int m, double *yp, adouble *ya) {
     166  int ret;
     167  int numVals = 0;
     168  double *vals = NULL;
     169  int oldTraceFlag;
     170  ADOLC_OPENMP_THREAD_NUMBER;
     171  ADOLC_OPENMP_GET_THREAD_NUMBER;
     172  if (ADOLC_CURRENT_TAPE_INFOS.traceFlag) put_op(ext_diff);
     173  call_ext_fct_commonPrior (edfct,n,xp,xa,m,yp,ya,numVals,vals,oldTraceFlag);
     174  ret=edfct->function(n, xp, m, yp);
     175  call_ext_fct_commonPost (edfct,n,xp,xa,m,yp,ya,numVals,vals,oldTraceFlag);
     176  return ret;
     177}
     178
     179int call_ext_fct(ext_diff_fct *edfct,
     180                 int iArrLength, int *iArr,
     181                 int n, double *xp, adouble *xa,
     182                 int m, double *yp, adouble *ya) {
     183  int ret;
     184  int numVals = 0;
     185  double *vals = NULL;
     186  int oldTraceFlag;
     187  ADOLC_OPENMP_THREAD_NUMBER;
     188  ADOLC_OPENMP_GET_THREAD_NUMBER;
     189  if (ADOLC_CURRENT_TAPE_INFOS.traceFlag) {
     190    put_op_reserve(ext_diff_iArr,iArrLength+2);
     191    ADOLC_PUT_LOCINT(iArrLength);
     192    for (int i=0; i<iArrLength; ++i) ADOLC_PUT_LOCINT(iArr[i]);
     193    ADOLC_PUT_LOCINT(iArrLength); // do it again so we can read in either direction
     194  }
     195  call_ext_fct_commonPrior (edfct,n,xp,xa,m,yp,ya,numVals,vals,oldTraceFlag);
     196  ret=edfct->function_iArr(iArrLength, iArr, n, xp, m, yp);
     197  call_ext_fct_commonPost (edfct,n,xp,xa,m,yp,ya,numVals,vals,oldTraceFlag);
     198  return ret;
    143199}
    144200
     
    147203}
    148204
    149 void init_ext_diff_fct(ext_diff_fct *edfct) {
    150     char *ptr;
    151 
    152     ptr = (char *)edfct;
    153     for (unsigned int i = 0; i < sizeof(ext_diff_fct); ++i) ptr[i]=0;
    154 }
    155 
    156205/****************************************************************************/
    157206/*                                                               THAT'S ALL */
  • trunk/ADOL-C/src/externfcts_p.h

    r106 r439  
    66           functions.
    77 
    8  Copyright (c) Andreas Kowarz
     8 Copyright (c) Andreas Kowarz, Jean Utke
    99 
    1010 This file is part of ADOL-C. This software is provided as open source.
     
    2828ext_diff_fct *get_ext_diff_fct(int index);
    2929
    30 void init_ext_diff_fct(ext_diff_fct *edfct);
     30/**
     31 * initialize with defaults
     32 */
     33void edf_init(ext_diff_fct *edfct);
    3134
    3235END_C_DECLS
  • trunk/ADOL-C/src/fo_rev.c

    r427 r439  
    2323 Any use, reproduction, or distribution of the software constitutes
    2424 recipient's acceptance of the terms of the accompanying license file.
    25            
     25         
    2626----------------------------------------------------------------------------*/
    2727
     
    196196
    197197#include <math.h>
     198#ifdef ADOLC_AMPI_SUPPORT
     199#include "ampi/ampi.h"
     200#include "ampi/libCommon/modified.h"
     201#endif
    198202
    199203BEGIN_C_DECLS
     
    329333# define ADOLC_EXT_FCT_Z edfct->dp_Z
    330334# define ADOLC_EXT_FCT_POINTER fos_reverse
     335# define ADOLC_EXT_FCT_IARR_POINTER fos_reverse_iArr
    331336# define ADOLC_EXT_FCT_COMPLETE \
    332337  fos_reverse(m, edfct->dp_U, n, edfct->dp_Z, edfct->dp_x, edfct->dp_y)
     338# define ADOLC_EXT_FCT_IARR_COMPLETE \
     339  fos_reverse_iArr(iArrLength,iArr, m, edfct->dp_U, n, edfct->dp_Z, edfct->dp_x, edfct->dp_y)
    333340# define ADOLC_EXT_FCT_SAVE_NUMDIRS
    334341#else
     
    336343# define ADOLC_EXT_FCT_Z edfct->dpp_Z
    337344# define ADOLC_EXT_FCT_POINTER fov_reverse
     345# define ADOLC_EXT_FCT_IARR_POINTER fov_reverse_iArr
    338346# define ADOLC_EXT_FCT_COMPLETE \
    339347  fov_reverse(m, p, edfct->dpp_U, n, edfct->dpp_Z, edfct->dp_x, edfct->dp_y)
     348# define ADOLC_EXT_FCT_IARR_COMPLETE \
     349  fov_reverse_iArr(iArrLength, iArr, m, p, edfct->dpp_U, n, edfct->dpp_Z, edfct->dp_x, edfct->dp_y)
    340350# define ADOLC_EXT_FCT_SAVE_NUMDIRS ADOLC_CURRENT_TAPE_INFOS.numDirs_rev = nrows
    341351#endif
     
    343353    locint n, m;
    344354    ext_diff_fct *edfct;
     355    int iArrLength;
     356    int *iArr;
    345357    int loop;
    346358    int ext_retc;
    347359    int oldTraceFlag;
    348360#endif
    349 
     361#ifdef ADOLC_AMPI_SUPPORT
     362    MPI_Op op;
     363    void *buf, *rbuf;
     364    int count, rcount;
     365    MPI_Datatype datatype, rtype;
     366    int src;
     367    int tag;
     368    enum AMPI_PairedWith_E pairedWith;
     369    MPI_Comm comm;
     370    MPI_Status* status;
     371    struct AMPI_Request_S request;
     372#endif
    350373
    351374    ADOLC_OPENMP_THREAD_NUMBER;
     
    453476
    454477#if !defined(_NTIGHT_)
     478
    455479    ADOLC_CURRENT_TAPE_INFOS.rp_T = rp_T;
    456480
     
    17561780                        fprintf(DIAG_OUT, "ADOL-C warning: index out of bounds while subscripting (ref) n=%zu, idx=%zu\n", numval, idx);
    17571781                    arg1 = (size_t)trunc(fabs(TRES));
    1758                     // This is actually NOP
    1759                     // basically all we need is that arg1 == vectorloc+idx
    1760                     // so doing a check here is probably good
     1782                    /*
     1783                     * This is actually NOP
     1784                     * basically all we need is that arg1 == vectorloc+idx
     1785                     * so doing a check here is probably good
     1786                     */
    17611787                    if (arg1 != vectorloc+idx) {
    17621788                        fprintf(DIAG_OUT, "ADOL-C error: indexed active position does not match referenced position\nindexed = %zu, referenced = %d\n", vectorloc+idx, arg1);
     
    22512277
    22522278                break;
     2279            case ext_diff_iArr:                       /* extern differntiated function */
     2280                ADOLC_CURRENT_TAPE_INFOS.cpIndex = get_locint_r();
     2281                ADOLC_CURRENT_TAPE_INFOS.lowestYLoc_rev = get_locint_r();
     2282                ADOLC_CURRENT_TAPE_INFOS.lowestXLoc_rev = get_locint_r();
     2283                m = get_locint_r();
     2284                n = get_locint_r();
     2285                ADOLC_CURRENT_TAPE_INFOS.ext_diff_fct_index = get_locint_r();
     2286                iArrLength=get_locint_r();
     2287                iArr=(int*)malloc(iArrLength*sizeof(int));
     2288                for (loop=iArrLength-1;loop>=0;--loop) iArr[loop]=get_locint_r();
     2289                get_locint_r(); /* get it again */
     2290                ADOLC_EXT_FCT_SAVE_NUMDIRS;
     2291                edfct = get_ext_diff_fct(ADOLC_CURRENT_TAPE_INFOS.ext_diff_fct_index);
     2292
     2293                oldTraceFlag = ADOLC_CURRENT_TAPE_INFOS.traceFlag;
     2294                ADOLC_CURRENT_TAPE_INFOS.traceFlag = 0;
     2295
     2296                if (edfct->ADOLC_EXT_FCT_IARR_POINTER == NULL)
     2297                    fail(ADOLC_EXT_DIFF_NULLPOINTER_FUNCTION);
     2298                if (m>0) {
     2299                    if (ADOLC_EXT_FCT_U == NULL) fail(ADOLC_EXT_DIFF_NULLPOINTER_ARGUMENT);
     2300                    if (edfct->dp_y==NULL) fail(ADOLC_EXT_DIFF_NULLPOINTER_ARGUMENT);
     2301                }
     2302                if (n>0) {
     2303                    if (ADOLC_EXT_FCT_Z == NULL) fail(ADOLC_EXT_DIFF_NULLPOINTER_ARGUMENT);
     2304                    if (edfct->dp_x==NULL) fail(ADOLC_EXT_DIFF_NULLPOINTER_ARGUMENT);
     2305                }
     2306                arg = ADOLC_CURRENT_TAPE_INFOS.lowestYLoc_rev;
     2307                for (loop = 0; loop < m; ++loop) {
     2308                    FOR_0_LE_l_LT_p {
     2309                        ADOLC_EXT_FCT_U_L_LOOP = ADJOINT_BUFFER_ARG_L;
     2310                    }
     2311                    ++arg;
     2312                }
     2313
     2314                arg = ADOLC_CURRENT_TAPE_INFOS.lowestXLoc_rev;
     2315                for (loop = 0; loop < n; ++loop) {
     2316                    FOR_0_LE_l_LT_p {
     2317                        ADOLC_EXT_FCT_Z_L_LOOP = ADJOINT_BUFFER_ARG_L;
     2318                    }
     2319                    ++arg;
     2320                }
     2321                arg = ADOLC_CURRENT_TAPE_INFOS.lowestXLoc_rev;
     2322                for (loop = 0; loop < n; ++loop,++arg) {
     2323                  edfct->dp_x[loop]=TARG;
     2324                }
     2325                arg = ADOLC_CURRENT_TAPE_INFOS.lowestYLoc_rev;
     2326                for (loop = 0; loop < m; ++loop,++arg) {
     2327                  edfct->dp_y[loop]=TARG;
     2328                }
     2329                ext_retc = edfct->ADOLC_EXT_FCT_IARR_COMPLETE;
     2330                MINDEC(ret_c, ext_retc);
     2331
     2332                res = ADOLC_CURRENT_TAPE_INFOS.lowestYLoc_rev;
     2333                for (loop = 0; loop < m; ++loop) {
     2334                    FOR_0_LE_l_LT_p {
     2335                        ADJOINT_BUFFER_RES_L = 0.; /* \bar{v}_i = 0 !!! */
     2336                    }
     2337                    ++res;
     2338                }
     2339                res = ADOLC_CURRENT_TAPE_INFOS.lowestXLoc_rev;
     2340                for (loop = 0; loop < n; ++loop) {
     2341                    FOR_0_LE_l_LT_p {
     2342                        ADJOINT_BUFFER_RES_L = ADOLC_EXT_FCT_Z_L_LOOP;
     2343                    }
     2344                    ++res;
     2345                }
     2346                if (edfct->dp_y_priorRequired) {
     2347                  arg = ADOLC_CURRENT_TAPE_INFOS.lowestYLoc_rev+m-1;
     2348                  for (loop = 0; loop < m; ++loop,--arg) {
     2349                    ADOLC_GET_TAYLOR(arg);
     2350                  }
     2351                }
     2352                if (edfct->dp_x_changes) {
     2353                  arg = ADOLC_CURRENT_TAPE_INFOS.lowestXLoc_rev+n-1;
     2354                  for (loop = 0; loop < n; ++loop,--arg) {
     2355                    ADOLC_GET_TAYLOR(arg);
     2356                  }
     2357                }
     2358                ADOLC_CURRENT_TAPE_INFOS.traceFlag = oldTraceFlag;
     2359
     2360                break;
     2361#ifdef ADOLC_AMPI_SUPPORT
     2362                /*--------------------------------------------------------------------------*/
     2363            case ampi_send: {
     2364              BW_AMPI_Send(buf,
     2365                           count,
     2366                           datatype,
     2367                           src,
     2368                           tag,
     2369                           pairedWith,
     2370                           comm);
     2371              break;
     2372            }
     2373            case ampi_recv: {
     2374              BW_AMPI_Recv(buf,
     2375                           count,
     2376                           datatype,
     2377                           src,
     2378                           tag,
     2379                           pairedWith,
     2380                           comm,
     2381                           status);
     2382              break;
     2383            }
     2384          case ampi_isend: {
     2385            BW_AMPI_Isend(buf,
     2386                          count,
     2387                          datatype,
     2388                          src,
     2389                          tag,
     2390                          pairedWith,
     2391                          comm,
     2392                          &request);
     2393            break;
     2394          }
     2395          case ampi_irecv: {
     2396            BW_AMPI_Irecv(buf,
     2397                          count,
     2398                          datatype,
     2399                          src,
     2400                          tag,
     2401                          pairedWith,
     2402                          comm,
     2403                          &request);
     2404            break;
     2405          }
     2406          case ampi_wait: {
     2407            BW_AMPI_Wait(&request,
     2408                         status);
     2409            break;
     2410          }
     2411          case ampi_barrier: {
     2412            BW_AMPI_Barrier(comm);
     2413            break;
     2414          }
     2415          case ampi_gather: {
     2416            BW_AMPI_Gather(buf,
     2417                           count,
     2418                           datatype,
     2419                           rbuf,
     2420                           rcount,
     2421                           rtype,
     2422                           src,
     2423                           comm);
     2424            break;
     2425          }
     2426          case ampi_scatter: {
     2427            BW_AMPI_Scatter(rbuf,
     2428                            rcount,
     2429                            rtype,
     2430                            buf,
     2431                            count,
     2432                            datatype,
     2433                            src,
     2434                            comm);
     2435            break;
     2436          }
     2437          case ampi_allgather: {
     2438            BW_AMPI_Allgather(buf,
     2439                              count,
     2440                              datatype,
     2441                              rbuf,
     2442                              rcount,
     2443                              rtype,
     2444                              comm);
     2445            break;
     2446          }
     2447          case ampi_gatherv: {
     2448            BW_AMPI_Gatherv(buf,
     2449                            count,
     2450                            datatype,
     2451                            rbuf,
     2452                            NULL,
     2453                            NULL,
     2454                            rtype,
     2455                            src,
     2456                            comm);
     2457            break;
     2458          }
     2459          case ampi_scatterv: {
     2460            BW_AMPI_Scatterv(rbuf,
     2461                             NULL,
     2462                             NULL,
     2463                             rtype,
     2464                             buf,
     2465                             count,
     2466                             datatype,
     2467                             src,
     2468                             comm);
     2469            break;
     2470          }
     2471          case ampi_allgatherv: {
     2472            BW_AMPI_Allgatherv(buf,
     2473                               count,
     2474                               datatype,
     2475                               rbuf,
     2476                               NULL,
     2477                               NULL,
     2478                               rtype,
     2479                               comm);
     2480            break;
     2481          }
     2482          case ampi_bcast: {
     2483            BW_AMPI_Bcast(buf,
     2484                          count,
     2485                          datatype,
     2486                          src,
     2487                          comm);
     2488            break;
     2489          }
     2490          case ampi_reduce: {
     2491            BWB_AMPI_Reduce(buf,
     2492                           rbuf,
     2493                           count,
     2494                           datatype,
     2495                           op,
     2496                           src,
     2497                           comm);
     2498            break;
     2499          }
     2500          case ampi_allreduce: {
     2501            BW_AMPI_Allreduce(buf,
     2502                              rbuf,
     2503                              count,
     2504                              datatype,
     2505                              op,
     2506                              comm);
     2507            break;
     2508          }
     2509#endif
    22532510#endif /* !_INT_REV_ */
    22542511                /*--------------------------------------------------------------------------*/
  • trunk/ADOL-C/src/ho_rev.c

    r427 r439  
    21122112                        fprintf(DIAG_OUT, "ADOL-C warning: index out of bounds while subscripting (ref) n=%zu, idx=%zu\n", numval, idx);
    21132113                    arg1 = (size_t)trunc(fabs(TRES));
    2114                     // This is actually NOP
    2115                     // basically all we need is that arg1 == vectorloc[idx]
    2116                     // so doing a check here is probably good
     2114                    /*
     2115                     * This is actually NOP
     2116                     * basically all we need is that arg1 == vectorloc[idx]
     2117                     * so doing a check here is probably good
     2118                     */
    21172119                    if (arg1 != vectorloc+idx) {
    21182120                        fprintf(DIAG_OUT, "ADOL-C error: indexed active position does not match referenced position\nindexed = %zu, referenced = %d\n", vectorloc+idx, arg1);
     
    21632165                /* double value. (=) */
    21642166                coval = get_val_r();
    2165                 // fallthrough
     2167                /* fallthrough */
    21662168            case ref_assign_d_zero: /* assign an adouble a        assign_d_zero */
    21672169            case ref_assign_d_one:  /* double value. (=)           assign_d_one */
  • trunk/ADOL-C/src/oplate.h

    r360 r439  
    8282  floor_op,
    8383  ext_diff,
     84  ext_diff_iArr,
    8485  ignore_me,
    8586  subscript = 80,
     
    106107  gt_a_a,
    107108  ge_a_a,
    108   lt_a_a
     109  lt_a_a,
     110  ampi_send,
     111  ampi_recv,
     112  ampi_isend,
     113  ampi_irecv,
     114  ampi_wait,
     115  ampi_barrier,
     116  ampi_gather,
     117  ampi_scatter,
     118  ampi_allgather,
     119  ampi_gatherv,
     120  ampi_scatterv,
     121  ampi_allgatherv,
     122  ampi_bcast,
     123  ampi_reduce,
     124  ampi_allreduce
    109125};
    110126
  • trunk/ADOL-C/src/sparse/Makefile.in

    r429 r439  
    5858        $(top_srcdir)/autoconf/depcomp
    5959ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    60 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    61         $(top_srcdir)/autoconf/acx_builtin.m4 \
    62         $(top_srcdir)/configure.ac
     60am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     61        $(top_srcdir)/autoconf/ampi.m4 \
     62        $(top_srcdir)/autoconf/libtool.m4 \
     63        $(top_srcdir)/autoconf/ltoptions.m4 \
     64        $(top_srcdir)/autoconf/ltsugar.m4 \
     65        $(top_srcdir)/autoconf/ltversion.m4 \
     66        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     67        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6368am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6469        $(ACLOCAL_M4)
     
    114119ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    115120ADOLC_VERSION = @ADOLC_VERSION@
    116 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    117 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     121ADVBRANCH = @ADVBRANCH@
    118122AMTAR = @AMTAR@
    119123AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    120124AR = @AR@
    121125AS = @AS@
    122 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    123 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     126ATRIG_ERF = @ATRIG_ERF@
    124127AUTOCONF = @AUTOCONF@
    125128AUTOHEADER = @AUTOHEADER@
     
    200203ac_ct_CXX = @ac_ct_CXX@
    201204ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     205adolclib = @adolclib@
    202206am__include = @am__include@
    203207am__leading_dot = @am__leading_dot@
  • trunk/ADOL-C/src/storemanager.h

    r435 r439  
    99
    1010 Copyright (c) 2006 Johannes Willkomm <johannes.willkomm@rwth-aachen.de>
    11                2011-2012 Kshitij Kulshreshtha <kshitij@math.upb.de>
     11               2011-2013 Kshitij Kulshreshtha <kshitij@math.upb.de>
    1212               2012 Benjamin Letschert <letschi@mail.upb.de>
     13               2013 Jean Utke <utke@mcs.anl.gov>
    1314
    1415 This file is part of ADOL-C.
     
    7071protected:
    7172  static size_t const initialSize = 4;
    72 public:
     73  double myGcTriggerRatio;
     74  size_t myGcTriggerMaxSize;
     75public:
     76  StoreManager() : myGcTriggerRatio(1.5), myGcTriggerMaxSize(initialSize) {}
    7377  virtual ~StoreManager() {}
    74 
    7578  virtual locint next_loc() = 0;
    7679  virtual void free_loc(locint) = 0;
    7780  virtual void ensure_block(size_t n) = 0;
     81  void setStoreManagerControl(double gcTriggerRatio, size_t gcTriggerMaxSize) { myGcTriggerRatio=gcTriggerRatio; myGcTriggerMaxSize=gcTriggerMaxSize;}
     82  double gcTriggerRatio() const {return myGcTriggerRatio;}
     83  size_t gcTriggerMaxSize() const {return myGcTriggerMaxSize;}
    7884
    7985//   // effectively the current size of the store array
     
    8389  virtual size_t size() const = 0;
    8490};
    85 
    86 
    8791
    8892class StoreManagerLocint : public StoreManager {
     
    133137
    134138    void consolidateBlocks();
     139#ifdef ADOLC_LOCDEBUG
     140    unsigned int ensure_blockCallsSinceLastConsolidateBlocks;
     141#endif
    135142private:
    136143    /**
  • trunk/ADOL-C/src/tape_handling.cpp

    r435 r439  
    66
    77 Copyright (c) Andreas Kowarz, Andrea Walther, Kshitij Kulshreshtha,
    8                Benjamin Letschert
     8               Benjamin Letschert, Jean Utke
    99
    1010 This file is part of ADOL-C. This software is provided as open source.
     
    436436    if (newTI) ADOLC_TAPE_INFOS_BUFFER.push_back(newTapeInfos);
    437437
     438    newTapeInfos->pTapeInfos.skipFileCleanup=0;
     439
    438440    /* set the new tape infos as current */
    439441    memcpy(&ADOLC_CURRENT_TAPE_INFOS, newTapeInfos, sizeof(TapeInfos));
     
    727729                (*tiIter)->loc_file = NULL;
    728730            }
    729             if ((*tiIter)->tay_file!=NULL) {
     731            if ((*tiIter)->tay_file!=NULL && (*tiIter)->pTapeInfos.skipFileCleanup==0 ) {
    730732                fclose((*tiIter)->tay_file);
    731733                (*tiIter)->tay_file = NULL;
     
    778780                (*tiIter)->stats[LOC_FILE_ACCESS] +
    779781                (*tiIter)->stats[VAL_FILE_ACCESS];
    780             if ( (filesWritten > 0) && ((*tiIter)->pTapeInfos.keepTape == 0) )
     782            if ( (filesWritten > 0) && ((*tiIter)->pTapeInfos.keepTape == 0) && (*tiIter)->pTapeInfos.skipFileCleanup==0 )
    781783            {
    782784                /* try to remove all tapes (even those not written by this
     
    925927
    926928int trace_on(short tnum, int keepTaylors,
    927         uint obs, uint lbs, uint vbs, uint tbs)
     929        uint obs, uint lbs, uint vbs, uint tbs, int skipFileCleanup)
    928930{
    929931    int retval = 0;
     
    938940    ADOLC_CURRENT_TAPE_INFOS.stats[TAY_BUFFER_SIZE] = tbs;
    939941    ADOLC_CURRENT_TAPE_INFOS.keepTaylors=keepTaylors;
     942    ADOLC_CURRENT_TAPE_INFOS.pTapeInfos.skipFileCleanup=skipFileCleanup;
    940943    if (keepTaylors!=0) ADOLC_CURRENT_TAPE_INFOS.deg_save=1;
    941944    start_trace();
     
    11821185StoreManagerLocintBlock::StoreManagerLocintBlock(double * &storePtr, size_t &size, size_t &numlives) :
    11831186    storePtr(storePtr),
    1184     maxsize(size), currentfill(numlives)
    1185 {
     1187    maxsize(size),
     1188    currentfill(numlives)
     1189#ifdef ADOLC_LOCDEBUG
     1190    ,ensure_blockCallsSinceLastConsolidateBlocks(0)
     1191#endif
     1192  {
    11861193    indexFree.clear();
    11871194#ifdef ADOLC_LOCDEBUG
     
    12101217    double * &storePtr, size_t &size, size_t &numlives) :
    12111218    storePtr(storePtr),
    1212     maxsize(size), currentfill(numlives)
    1213 {
     1219    maxsize(size),
     1220    currentfill(numlives)
     1221#ifdef ADOLC_LOCDEBUG
     1222    ,ensure_blockCallsSinceLastConsolidateBlocks(0)
     1223#endif
     1224  {
    12141225#ifdef ADOLC_LOCDEBUG
    12151226    std::cerr << "StoreManagerInteger::StoreManagerInteger()\n";
     
    12521263void StoreManagerLocintBlock::ensure_block(size_t n) {
    12531264    bool found = false;
    1254 
    12551265#ifdef ADOLC_LOCDEBUG
     1266    ++ensure_blockCallsSinceLastConsolidateBlocks;
    12561267    std::cerr << "StoreManagerLocintBlock::ensure_Block: required " << n << " ... ";
    12571268    std::cerr << "searching for big enough block " << endl;
    12581269#endif
    1259     consolidateBlocks();
    1260     list<struct FreeBlock>::iterator iter = indexFree.begin();
    1261     for (; iter != indexFree.end() ; iter++ ) {
    1262         if ( iter->size >= n) {
    1263             if (iter != indexFree.begin() ) {
    1264                 struct FreeBlock tmp(*iter);
    1265                 iter = indexFree.erase(iter);
    1266                 indexFree.push_front(tmp);
    1267             }
    1268             found = true;
    1269             break;
    1270         }
     1270    if (maxSize()-size()>n) {
     1271      if (indexFree.front().size>=n) found = true;
     1272      if ((!found) && (double(maxSize())/double(size()))>gcTriggerRatio() || maxSize()>gcTriggerMaxSize()) {
     1273        consolidateBlocks();
     1274#ifdef ADOLC_LOCDEBUG
     1275        std::cerr << "ADOLC: GC called consolidateBlocks because " << maxSize() << "/" << size() << ">" << gcTriggerRatio() << " or " << maxSize() << ">" << gcTriggerMaxSize() << " after " << ensure_blockCallsSinceLastConsolidateBlocks << std::endl;
     1276        ensure_blockCallsSinceLastConsolidateBlocks=0;
     1277#endif
     1278        list<struct FreeBlock>::iterator iter = indexFree.begin();
     1279        for (; iter != indexFree.end() ; iter++ ) {
     1280          if ( iter->size >= n) {
     1281            if (iter != indexFree.begin() ) {
     1282              struct FreeBlock tmp(*iter);
     1283              iter = indexFree.erase(iter);
     1284              indexFree.push_front(tmp);
     1285            }
     1286            found = true;
     1287            break;
     1288          }
     1289        }
     1290      }
    12711291    }
    12721292    if (!found) {
     
    14041424    ADOLC_OPENMP_GET_THREAD_NUMBER;
    14051425    ADOLC_GLOBAL_TAPE_VARS.storeManagerPtr->ensure_block(n);
     1426}
     1427
     1428void setStoreManagerControl(double gcTriggerRatio, size_t gcTriggerMaxSize) {
     1429  ADOLC_OPENMP_THREAD_NUMBER;
     1430  ADOLC_OPENMP_GET_THREAD_NUMBER;
     1431  ADOLC_GLOBAL_TAPE_VARS.storeManagerPtr->setStoreManagerControl(gcTriggerRatio,gcTriggerMaxSize);
    14061432}
    14071433
  • trunk/ADOL-C/src/tapedoc/Makefile.am

    r354 r439  
    1515AM_CXXFLAGS               = @ac_adolc_cxxflags@ -DADOLC_INTERNAL=1
    1616AM_LDFLAGS                = -no-undefined
    17 AM_CPPFLAGS               = -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
     17AM_CPPFLAGS               = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
    1818
    1919MAINTAINERCLEANFILES      = Makefile.in *~ *.orig
  • trunk/ADOL-C/src/tapedoc/Makefile.in

    r429 r439  
    5858        $(top_srcdir)/autoconf/depcomp
    5959ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    60 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
    61         $(top_srcdir)/autoconf/acx_builtin.m4 \
    62         $(top_srcdir)/configure.ac
     60am__aclocal_m4_deps = $(top_srcdir)/autoconf/acx_builtin.m4 \
     61        $(top_srcdir)/autoconf/ampi.m4 \
     62        $(top_srcdir)/autoconf/libtool.m4 \
     63        $(top_srcdir)/autoconf/ltoptions.m4 \
     64        $(top_srcdir)/autoconf/ltsugar.m4 \
     65        $(top_srcdir)/autoconf/ltversion.m4 \
     66        $(top_srcdir)/autoconf/lt~obsolete.m4 \
     67        $(top_srcdir)/autoconf/mpi.m4 $(top_srcdir)/configure.ac
    6368am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    6469        $(ACLOCAL_M4)
     
    114119ADOLC_SUBVERSION = @ADOLC_SUBVERSION@
    115120ADOLC_VERSION = @ADOLC_VERSION@
    116 ADVBRANCH_FALSE = @ADVBRANCH_FALSE@
    117 ADVBRANCH_TRUE = @ADVBRANCH_TRUE@
     121ADVBRANCH = @ADVBRANCH@
    118122AMTAR = @AMTAR@
    119123AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
    120124AR = @AR@
    121125AS = @AS@
    122 ATRIG_ERF_FALSE = @ATRIG_ERF_FALSE@
    123 ATRIG_ERF_TRUE = @ATRIG_ERF_TRUE@
     126ATRIG_ERF = @ATRIG_ERF@
    124127AUTOCONF = @AUTOCONF@
    125128AUTOHEADER = @AUTOHEADER@
     
    200203ac_ct_CXX = @ac_ct_CXX@
    201204ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
     205adolclib = @adolclib@
    202206am__include = @am__include@
    203207am__leading_dot = @am__leading_dot@
     
    248252AM_CXXFLAGS = @ac_adolc_cxxflags@ -DADOLC_INTERNAL=1
    249253AM_LDFLAGS = -no-undefined
    250 AM_CPPFLAGS = -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
     254AM_CPPFLAGS = -I$(top_builddir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/include -I$(top_srcdir)/ADOL-C/src
    251255MAINTAINERCLEANFILES = Makefile.in *~ *.orig
    252256noinst_LTLIBRARIES = libtapedoc.la
  • trunk/ADOL-C/src/tapedoc/tapedoc.c

    r427 r439  
    2323#include <string.h>
    2424
     25#ifdef ADOLC_AMPI_SUPPORT
     26#include "ampi/ampi.h"
     27#include "ampi/tape/support.h"
     28#endif
     29
    2530BEGIN_C_DECLS
    26 
    27 /****************************************************************************/
    28 /*                                                                   MACROS */
    29 #define computenumbers true
    30 
    3131
    3232/****************************************************************************/
     
    4343static char baseName[]="tape_";
    4444static char extension[]=".tex";
    45 
    46 /*--------------------------------------------------------------------------*/
    47 /* operation names */
    48 static char* a[] =  {  "death not",
    49                        "assign ind",
    50                        "assign dep",
    51                        "assign a",
    52                        "assign d",
    53                        "eq plus d",
    54                        "eq plus a",
    55                        "eq min d",
    56                        "eq min a",
    57                        "eq mult d",
    58                        "eq mult a",
    59                        "plus a a",
    60                        "plus d a",
    61                        "min a a",
    62                        "min d a",
    63                        "mult a a",
    64                        "mult d a",
    65                        "div a a",
    66                        "div d a",
    67                        "exp op",
    68                        "cos op",
    69                        "sin op",
    70                        "atan op",
    71                        "log op",
    72                        "pow op",
    73                        "asin op",
    74                        "acos op",
    75                        "sqrt op",
    76                        "asinh_op",
    77                        "acosh_op",
    78                        "atanh_op",
    79                        "gen quad",
    80                        "end of tape",
    81                        "start of tape",
    82                        "end of op",
    83                        "end of int",
    84                        "end of val",
    85                        "cond assign $\\longrightarrow$",
    86                        "cond assign s $\\longrightarrow$",
    87                        "take stock op",
    88                        "assign d one",
    89                        "assign d zero",
    90                        "incr a",
    91                        "decr a",
    92                        "neg sign a",
    93                        "pos sign a",
    94                        "min op",
    95                        "abs val",
    96                        "eq zero",
    97                        "neq zero",
    98                        "le zero",
    99                        "gt zero",
    100                        "ge zero",
    101                        "lt zero",
    102                        "eq plus prod",
    103                        "eq min prod",
    104                        "erf op",
    105                        "ceil op",
    106                        "floor op",
    107                        "extern fctn"
    108                        "ignore_me"
    109                     };
    11045
    11146/****************************************************************************/
     
    12762        exit(1);
    12863    }
     64    free((void*)fileName);
    12965    fprintf(fp,"\\documentclass{article}\n");
    13066    fprintf(fp,"\\headheight0cm\n");
     
    13672    fprintf(fp,"\\begin{document}\n");
    13773    fprintf(fp,"\\tiny\n");
    138 #ifdef computenumbers
     74#ifdef ADOLC_TAPE_DOC_VALUES
    13975    fprintf(fp,"\\begin{tabular}{|r|r|r|l|r|r|r|r||r|r||r|r|r|r|} \\hline \n");
    14076    fprintf(fp," & & code & op & loc & loc & loc & loc & double & double & value & value & value & value \\\\ \\hline \n");
     
    14379    fprintf(fp,"\\begin{tabular}{|r|r|r|l|r|r|r|r||r|r|} \\hline \n");
    14480    fprintf(fp," & & code & op & loc & loc & loc & loc & double & double \\\\ \\hline \n");
    145     fprintf(fp," & & %i & start of tape & & & & & & & \\\\ \\hline \n",opcode);
     81    fprintf(fp," & & %i & start of tape & & & & & & \\\\ \\hline \n",opcode);
    14682#endif
    14783    pagelength = 0;
    14884}
    14985
    150 /****************************************************************************/
    151 /* filewrite( opcode number, number locations, locations, values,           */
    152 /*            number constants, constants )                                 */
    153 /****************************************************************************/
    154 void filewrite( unsigned short opcode, int nloc, int *loc,
    155                 double *val,int ncst, double* cst) {
    156     int i;
    157 
    158     ++op_cnt;
    159     --rev_op_cnt;
    160 
     86void checkPageBreak() {
    16187    if (pagelength == 100) { /* 101 lines per page */
    16288        fprintf(fp,"\\end{tabular}\\\\\n");
    16389        fprintf(fp,"\\newpage\n");
    164 #ifdef computenumbers
     90#ifdef ADOLC_TAPE_DOC_VALUES
    16591        fprintf(fp,"\\begin{tabular}{|r|r|r|l|r|r|r|r||r|r||r|r|r|r|} \\hline \n");
    16692        fprintf(fp," & & code & op & loc & loc & loc & loc & double & double & value & value & value & value \\\\ \\hline \n");
     
    17197        pagelength=-1;
    17298    }
     99}
     100
     101/****************************************************************************/
     102/* filewrite( opcode number,  op name, number locations, locations, values,           */
     103/*            number constants, constants )                                 */
     104/****************************************************************************/
     105void filewrite( unsigned short opcode, const char* opString, int nloc, int *loc,
     106                double *val,int ncst, double* cst) {
     107    int i;
     108
     109    ++op_cnt;
     110    --rev_op_cnt;
     111
     112    checkPageBreak();
    173113
    174114    /* write opcode counters and  number */
     
    176116
    177117    /* write opcode name if available */
    178     i=0;
    179     while (a[opcode][i]) {
    180         fprintf(fp,"%c",a[opcode][i]);
    181         i++;
    182     }
    183 
     118    if (opString) fprintf(fp,"%s",opString);
     119   
    184120    /* write locations (max 4) right-justified */
    185121    fprintf(fp," &");
     
    198134
    199135    /* write values */
    200 #ifdef computenumbers /* values + constants */
     136#ifdef ADOLC_TAPE_DOC_VALUES /* values + constants */
    201137    /* constants (max 2) */
    202138    if (opcode==ext_diff)
     
    225161        for(i=0; i<ncst-1; i++)
    226162            fprintf(fp,"$ %e $ &",cst[i]);
    227         fprintf(fp,"$ %e $",val[ncst-1]);
     163        fprintf(fp,"$ %e $",cst[ncst-1]);
    228164    } else {
    229165        fprintf(fp," &");
     
    233169
    234170    fprintf(fp,"\\\\ \\hline \n"); /* end line */
     171    fflush(fp);
    235172    pagelength++;
    236173}
     174
     175#ifdef ADOLC_AMPI_SUPPORT
     176/****************************************************************************/
     177/* filewrite_ampi( opcode number,  op name, number locations, locations )   */
     178/****************************************************************************/
     179void filewrite_ampi( unsigned short opcode, const char* opString, int nloc, int *loc) {
     180    int i;
     181
     182    ++op_cnt;
     183    --rev_op_cnt;
     184
     185    checkPageBreak();
     186
     187    /* write opcode counters and  number */
     188    fprintf(fp,"%i & %i & %i & ",op_cnt, rev_op_cnt, opcode);
     189   
     190    /* write opcode name if available */
     191    if (opString) fprintf(fp,"%s",opString);
     192
     193#ifdef ADOLC_TAPE_DOC_VALUES /* values + constants */
     194    fprintf(fp," & \\multicolumn{10}{|l|}{");
     195#else
     196    fprintf(fp," & \\multicolumn{6}{|l|}{(");
     197#endif
     198    for(i=0; i<(nloc-1); i++) fprintf(fp," %i, ",loc[i]);
     199    if (nloc) fprintf(fp," %i",loc[nloc-1]);
     200    fprintf(fp,")} ");
     201    fprintf(fp,"\\\\ \\hline \n"); /* end line */
     202    fflush(fp);
     203    pagelength++;
     204}
     205#endif
    237206
    238207/*--------------------------------------------------------------------------*/
     
    240209    ++op_cnt;
    241210    --rev_op_cnt;
    242 #ifdef computenumbers
     211#ifdef ADOLC_TAPE_DOC_VALUES
    243212  fprintf(fp," %i & %i & %i & end of tape & & & & & & & & & &  \\\\ \\hline \n",op_cnt,rev_op_cnt, opcode);
    244213#else
    245     fprintf(fp," %i & %i & %i & end of tape & & & & & & & \\\\ \\hline \n",op_cnt,rev_op_cnt,opcode);
     214    fprintf(fp," %i & %i & %i & end of tape & & & & & & \\\\ \\hline \n",op_cnt,rev_op_cnt,opcode);
    246215#endif
    247216    fprintf(fp,"\\end{tabular}");
     
    280249
    281250    /* interface temporaries */
    282     int loc_a[4];
    283     double val_a[4], cst_d[2];
     251    int loc_a[maxLocsPerOp];
     252    double val_a[4]={0,0,0,0}, cst_d[2]={0,0};
     253    const char* opName;
    284254
    285255    ADOLC_OPENMP_THREAD_NUMBER;
     
    288258    /****************************************************************************/
    289259    /*                                                                    INITs */
    290 
     260#ifdef ADOLC_AMPI_SUPPORT
     261    MPI_Datatype anMPI_Datatype;
     262    MPI_Comm anMPI_Comm;
     263    MPI_Request anMPI_Request;
     264    MPI_Op anMPI_Op;
     265    int i;
     266    double aDouble;
     267#endif
    291268    init_for_sweep(tnum);
    292269    tag = tnum;
     
    318295                /*--------------------------------------------------------------------------*/
    319296            case end_of_op:                                          /* end_of_op */
    320                 filewrite(operation,0,loc_a,val_a,0,cst_d);
     297                filewrite(operation,"end of op",0,loc_a,val_a,0,cst_d);
    321298                get_op_block_f();
    322299                operation=get_op_f();
     
    326303                /*--------------------------------------------------------------------------*/
    327304            case end_of_int:                                        /* end_of_int */
    328                 filewrite(operation,0,loc_a,val_a,0,cst_d);
     305                filewrite(operation,"end of int",0,loc_a,val_a,0,cst_d);
    329306                get_loc_block_f();
    330307                break;
     
    332309                /*--------------------------------------------------------------------------*/
    333310            case end_of_val:                                        /* end_of_val */
    334                 filewrite(operation,0,loc_a,val_a,0,cst_d);
     311                filewrite(operation,"end of val",0,loc_a,val_a,0,cst_d);
    335312                get_val_block_f();
    336313                break;
     
    351328                /*--------------------------------------------------------------------------*/
    352329            case eq_zero  :                                            /* eq_zero */
     330                arg  = get_locint_f();
     331                loc_a[0] = arg;
     332#ifdef ADOLC_TAPE_DOC_VALUES
     333                val_a[0] = dp_T0[arg];
     334#endif
     335                filewrite(operation,"eq zero",1,loc_a,val_a,0,cst_d);
     336                break;
    353337            case neq_zero :                                           /* neq_zero */
     338                arg  = get_locint_f();
     339                loc_a[0] = arg;
     340#ifdef ADOLC_TAPE_DOC_VALUES
     341                val_a[0] = dp_T0[arg];
     342#endif
     343                filewrite(operation,"neq zero",1,loc_a,val_a,0,cst_d);
     344                break;
    354345            case le_zero  :                                            /* le_zero */
     346                arg  = get_locint_f();
     347                loc_a[0] = arg;
     348#ifdef ADOLC_TAPE_DOC_VALUES
     349                val_a[0] = dp_T0[arg];
     350#endif
     351                filewrite(operation,"le zero",1,loc_a,val_a,0,cst_d);
     352                break;
    355353            case gt_zero  :                                            /* gt_zero */
     354                arg  = get_locint_f();
     355                loc_a[0] = arg;
     356#ifdef ADOLC_TAPE_DOC_VALUES
     357                val_a[0] = dp_T0[arg];
     358#endif
     359                filewrite(operation,"gt zero",1,loc_a,val_a,0,cst_d);
     360                break;
    356361            case ge_zero  :                                            /* ge_zero */
     362                arg  = get_locint_f();
     363                loc_a[0] = arg;
     364#ifdef ADOLC_TAPE_DOC_VALUES
     365                val_a[0] = dp_T0[arg];
     366#endif
     367                filewrite(operation,"ge zero",1,loc_a,val_a,0,cst_d);
     368                break;
    357369            case lt_zero  :                                            /* lt_zero */
    358370                arg  = get_locint_f();
    359371                loc_a[0] = arg;
    360 #ifdef computenumbers
     372#ifdef ADOLC_TAPE_DOC_VALUES
    361373                val_a[0] = dp_T0[arg];
    362374#endif
    363                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     375                filewrite(operation,"lt zero",1,loc_a,val_a,0,cst_d);
    364376                break;
    365377
     
    375387                loc_a[0]=arg;
    376388                loc_a[1]=res;
    377 #ifdef computenumbers
     389#ifdef ADOLC_TAPE_DOC_VALUES
    378390                val_a[0]=dp_T0[arg];
    379391                dp_T0[res]= dp_T0[arg];
    380392                val_a[1]=dp_T0[res];
    381393#endif
    382                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     394                filewrite(operation,"assign a",2,loc_a,val_a,0,cst_d);
    383395                break;
    384396
     
    389401                cst_d[0]=get_val_f();
    390402                loc_a[0]=res;
    391 #ifdef computenumbers
     403#ifdef ADOLC_TAPE_DOC_VALUES
    392404                dp_T0[res]= cst_d[0];
    393405                val_a[0]=dp_T0[res];
    394406#endif
    395                 filewrite(operation,1,loc_a,val_a,1,cst_d);
     407                filewrite(operation,"assigne d",1,loc_a,val_a,1,cst_d);
    396408                break;
    397409
     
    401413                res  = get_locint_f();
    402414                loc_a[0]=res;
    403 #ifdef computenumbers
     415#ifdef ADOLC_TAPE_DOC_VALUES
    404416                dp_T0[res]= 1.0;
    405417                val_a[0]=dp_T0[res];
    406418#endif
    407                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     419                filewrite(operation,"assign d one",1,loc_a,val_a,0,cst_d);
    408420                break;
    409421
     
    413425                res  = get_locint_f();
    414426                loc_a[0]=res;
    415 #ifdef computenumbers
     427#ifdef ADOLC_TAPE_DOC_VALUES
    416428                dp_T0[res]= 0.0;
    417429                val_a[0]=dp_T0[res];
    418430#endif
    419                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     431                filewrite(operation,"assign d zero",1,loc_a,val_a,0,cst_d);
    420432                break;
    421433
     
    425437                res  = get_locint_f();
    426438                loc_a[0]=res;
    427 #ifdef computenumbers
     439#ifdef ADOLC_TAPE_DOC_VALUES
    428440                dp_T0[res]= basepoint[indexi];
    429441                cst_d[0]= basepoint[indexi];
    430442                val_a[0]=dp_T0[res];
    431                 filewrite(operation,1,loc_a,val_a,1,cst_d);
     443                filewrite(operation,"assign ind",1,loc_a,val_a,1,cst_d);
    432444#else
    433                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     445                filewrite(operation,"assign ind",1,loc_a,val_a,0,cst_d);
    434446#endif
    435447                indexi++;
     
    441453                res = get_locint_f();
    442454                loc_a[0]=res;
    443 #ifdef computenumbers
     455#ifdef ADOLC_TAPE_DOC_VALUES
    444456                val_a[0]=dp_T0[res];
    445457                valuepoint[indexd++]=dp_T0[res];
    446458#endif
    447                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     459                filewrite(operation,"assign dep",1,loc_a,val_a,0,cst_d);
    448460                break;
    449461
     
    459471                loc_a[0] = res;
    460472                cst_d[0] = coval;
    461 #ifdef computenumbers
     473#ifdef ADOLC_TAPE_DOC_VALUES
    462474                dp_T0[res] += coval;
    463475                val_a[0] = dp_T0[res];
    464476#endif
    465                 filewrite(operation,1,loc_a,val_a,1,cst_d);
     477                filewrite(operation,"eq plus d",1,loc_a,val_a,1,cst_d);
    466478                break;
    467479
     
    473485                loc_a[0]=arg;
    474486                loc_a[1]=res;
    475 #ifdef computenumbers
     487#ifdef ADOLC_TAPE_DOC_VALUES
    476488                val_a[0]=dp_T0[arg];
    477489                dp_T0[res]+= dp_T0[arg];
    478490                val_a[1]=dp_T0[res];
    479491#endif
    480                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     492                filewrite(operation,"eq plus a",2,loc_a,val_a,0,cst_d);
    481493                break;
    482494
     
    490502                loc_a[1]=arg2;
    491503                loc_a[2]=res;
    492 #ifdef computenumbers
     504#ifdef ADOLC_TAPE_DOC_VALUES
    493505                val_a[0]=dp_T0[arg1];
    494506                val_a[1]=dp_T0[arg2];
     
    496508                val_a[2]=dp_T0[res];
    497509#endif
    498                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     510                filewrite(operation,"eq plus prod",3,loc_a,val_a,0,cst_d);
    499511                break;
    500512
     
    506518                loc_a[0] = res;
    507519                cst_d[0] = coval;
    508 #ifdef computenumbers
     520#ifdef ADOLC_TAPE_DOC_VALUES
    509521                dp_T0[res] -= coval;
    510522                val_a[0] = dp_T0[res];
    511523#endif
    512                 filewrite(operation,1,loc_a,val_a,1,cst_d);
     524                filewrite(operation,"eq min d",1,loc_a,val_a,1,cst_d);
    513525                break;
    514526
     
    520532                loc_a[0]=arg;
    521533                loc_a[1]=res;
    522 #ifdef computenumbers
     534#ifdef ADOLC_TAPE_DOC_VALUES
    523535                val_a[0]=dp_T0[arg];
    524536                dp_T0[res]-= dp_T0[arg];
    525537                val_a[1]=dp_T0[res];
    526538#endif
    527                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     539                filewrite(operation,"eq min a",2,loc_a,val_a,0,cst_d);
    528540                break;
    529541
     
    537549                loc_a[1]=arg2;
    538550                loc_a[2]=res;
    539 #ifdef computenumbers
     551#ifdef ADOLC_TAPE_DOC_VALUES
    540552                val_a[0]=dp_T0[arg1];
    541553                val_a[1]=dp_T0[arg2];
     
    543555                val_a[2]=dp_T0[res];
    544556#endif
    545                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     557                filewrite(operation,"eq min prod",3,loc_a,val_a,0,cst_d);
    546558                break;
    547559
     
    553565                loc_a[0] = res;
    554566                cst_d[0] = coval;
    555 #ifdef computenumbers
     567#ifdef ADOLC_TAPE_DOC_VALUES
    556568                dp_T0[res] *= coval;
    557569                val_a[0] = dp_T0[res];
    558570#endif
    559                 filewrite(operation,1,loc_a,val_a,1,cst_d);
     571                filewrite(operation,"eq mult d",1,loc_a,val_a,1,cst_d);
    560572                break;
    561573
     
    567579                loc_a[0]=arg;
    568580                loc_a[1]=res;
    569 #ifdef computenumbers
     581#ifdef ADOLC_TAPE_DOC_VALUES
    570582                val_a[0]=dp_T0[arg];
    571583                dp_T0[res]*= dp_T0[arg];
    572584                val_a[1]=dp_T0[res];
    573585#endif
    574                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     586                filewrite(operation,"eq mult a",2,loc_a,val_a,0,cst_d);
    575587                break;
    576588
     
    579591                res = get_locint_f();
    580592                loc_a[0] = res;
    581 #ifdef computenumbers
     593#ifdef ADOLC_TAPE_DOC_VALUES
    582594                dp_T0[res]++;
    583595                val_a[0] = dp_T0[res];
    584596#endif
    585                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     597                filewrite(operation,"incr a",1,loc_a,val_a,0,cst_d);
    586598                break;
    587599
     
    590602                res = get_locint_f();
    591603                loc_a[0] = res;
    592 #ifdef computenumbers
     604#ifdef ADOLC_TAPE_DOC_VALUES
    593605                dp_T0[res]--;
    594606                val_a[0] = dp_T0[res];
    595607#endif
    596                 filewrite(operation,1,loc_a,val_a,0,cst_d);
     608                filewrite(operation,"decr a",1,loc_a,val_a,0,cst_d);
    597609                break;
    598610
     
    609621                loc_a[1]=arg2;
    610622                loc_a[2]=res;
    611 #ifdef computenumbers
     623#ifdef ADOLC_TAPE_DOC_VALUES
    612624                val_a[0]=dp_T0[arg1];
    613625                val_a[1]=dp_T0[arg2];
     
    615627                val_a[2]=dp_T0[res];
    616628#endif
    617                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     629                filewrite(operation,"plus a a",3,loc_a,val_a,0,cst_d);
    618630                break;
    619631
     
    627639                loc_a[1] = res;
    628640                cst_d[0] = coval;
    629 #ifdef computenumbers
     641#ifdef ADOLC_TAPE_DOC_VALUES
    630642                val_a[0]=dp_T0[arg];
    631643                dp_T0[res]= dp_T0[arg] + coval;
    632644                val_a[1]=dp_T0[res];
    633645#endif
    634                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     646                filewrite(operation,"plus d a",2,loc_a,val_a,1,cst_d);
    635647                break;
    636648
     
    644656                loc_a[1]=arg2;
    645657                loc_a[2]=res;
    646 #ifdef computenumbers
     658#ifdef ADOLC_TAPE_DOC_VALUES
    647659                val_a[0]=dp_T0[arg1];
    648660                val_a[1]=dp_T0[arg2];
     
    650662                val_a[2]=dp_T0[res];
    651663#endif
    652                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     664                filewrite(operation,"min a a",3,loc_a,val_a,0,cst_d);
    653665                break;
    654666
     
    662674                loc_a[1] = res;
    663675                cst_d[0] = coval;
    664 #ifdef computenumbers
     676#ifdef ADOLC_TAPE_DOC_VALUES
    665677                val_a[0] = dp_T0[arg];
    666678                dp_T0[res]  = coval - dp_T0[arg];
    667679                val_a[1] = dp_T0[res];
    668680#endif
    669                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     681                filewrite(operation,"min d a",2,loc_a,val_a,1,cst_d);
    670682                break;
    671683
     
    678690                loc_a[1]=arg2;
    679691                loc_a[2]=res;
    680 #ifdef computenumbers
     692#ifdef ADOLC_TAPE_DOC_VALUES
    681693                val_a[0]=dp_T0[arg1];
    682694                val_a[1]=dp_T0[arg2];
     
    684696                val_a[2]=dp_T0[res];
    685697#endif
    686                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     698                filewrite(operation,"mult a a",3,loc_a,val_a,0,cst_d);
    687699                break;
    688700
     
    696708                loc_a[1] = res;
    697709                cst_d[0] = coval;
    698 #ifdef computenumbers
     710#ifdef ADOLC_TAPE_DOC_VALUES
    699711                val_a[0] = dp_T0[arg];
    700712                dp_T0[res]  = coval * dp_T0[arg];
    701713                val_a[1] = dp_T0[res];
    702714#endif
    703                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     715                filewrite(operation,"mult d a",2,loc_a,val_a,1,cst_d);
    704716                break;
    705717
     
    713725                loc_a[1]=arg2;
    714726                loc_a[2]=res;
    715 #ifdef computenumbers
     727#ifdef ADOLC_TAPE_DOC_VALUES
    716728                val_a[0]=dp_T0[arg1];
    717729                val_a[1]=dp_T0[arg2];
     
    719731                val_a[2]=dp_T0[res];
    720732#endif
    721                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     733                filewrite(operation,"div a a",3,loc_a,val_a,0,cst_d);
    722734                break;
    723735
     
    730742                loc_a[1] = res;
    731743                cst_d[0] = coval;
    732 #ifdef computenumbers
     744#ifdef ADOLC_TAPE_DOC_VALUES
    733745                val_a[0] = dp_T0[arg];
    734746                dp_T0[res]  = coval / dp_T0[arg];
    735747                val_a[1] = dp_T0[res];
    736748#endif
    737                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     749                filewrite(operation,"div d a",2,loc_a,val_a,1,cst_d);
    738750                break;
    739751
     
    748760                loc_a[0]=arg;
    749761                loc_a[1]=res;
    750 #ifdef computenumbers
     762#ifdef ADOLC_TAPE_DOC_VALUES
    751763                val_a[0]=dp_T0[arg];
    752764                dp_T0[res]= dp_T0[arg];
    753765                val_a[1]=dp_T0[res];
    754766#endif
    755                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     767                filewrite(operation,"pos sign a",2,loc_a,val_a,0,cst_d);
    756768                break;
    757769
     
    762774                loc_a[0]=arg;
    763775                loc_a[1]=res;
    764 #ifdef computenumbers
     776#ifdef ADOLC_TAPE_DOC_VALUES
    765777                val_a[0]=dp_T0[arg];
    766778                dp_T0[res]= -dp_T0[arg];
    767779                val_a[1]=dp_T0[res];
    768780#endif
    769                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     781                filewrite(operation,"neg sign a",2,loc_a,val_a,0,cst_d);
    770782                break;
    771783
     
    780792                loc_a[0]=arg;
    781793                loc_a[1]=res;
    782 #ifdef computenumbers
     794#ifdef ADOLC_TAPE_DOC_VALUES
    783795                val_a[0]=dp_T0[arg];
    784796                dp_T0[res]= exp(dp_T0[arg]);
     
    786798                val_a[1]=dp_T0[res];
    787799#endif
    788                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     800                filewrite(operation,"exp op",2,loc_a,val_a,0,cst_d);
    789801                break;
    790802
     
    797809                loc_a[1]=arg2;
    798810                loc_a[2]=res;
    799 #ifdef computenumbers
     811#ifdef ADOLC_TAPE_DOC_VALUES
    800812                /* olvo 980923 changed order to allow x=sin(x) */
    801813                val_a[0]=dp_T0[arg1];
     
    806818                val_a[2]=dp_T0[res];
    807819#endif
    808                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     820                filewrite(operation,"sin op",3,loc_a,val_a,0,cst_d);
    809821                break;
    810822
     
    817829                loc_a[1]=arg2;
    818830                loc_a[2]=res;
    819 #ifdef computenumbers
     831#ifdef ADOLC_TAPE_DOC_VALUES
    820832                /* olvo 980923 changed order to allow x=cos(x) */
    821833                val_a[0]=dp_T0[arg1];
     
    826838                val_a[2]=dp_T0[res];
    827839#endif
    828                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     840                filewrite(operation,"cos op",3,loc_a,val_a,0,cst_d);
    829841                break;
    830842
     
    837849                loc_a[1]=arg2;
    838850                loc_a[2]=res;
    839 #ifdef computenumbers
     851#ifdef ADOLC_TAPE_DOC_VALUES
    840852                val_a[0]=dp_T0[arg1];
    841853                dp_T0[res] = atan(dp_T0[arg1]);
     
    844856                val_a[2]=dp_T0[res];
    845857#endif
    846                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     858                filewrite(operation,"atan op",3,loc_a,val_a,0,cst_d);
    847859                break;
    848860
     
    855867                loc_a[1]=arg2;
    856868                loc_a[2]=res;
    857 #ifdef computenumbers
     869#ifdef ADOLC_TAPE_DOC_VALUES
    858870                val_a[0]=dp_T0[arg1];
    859871                dp_T0[res] = asin(dp_T0[arg1]);
     
    862874                val_a[2]=dp_T0[res];
    863875#endif
    864                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     876                filewrite(operation,"asin op",3,loc_a,val_a,0,cst_d);
    865877                break;
    866878
     
    873885                loc_a[1]=arg2;
    874886                loc_a[2]=res;
    875 #ifdef computenumbers
     887#ifdef ADOLC_TAPE_DOC_VALUES
    876888                val_a[0]=dp_T0[arg1];
    877889                dp_T0[res] = acos(dp_T0[arg1]);
     
    880892                val_a[2]=dp_T0[res];
    881893#endif
    882                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     894                filewrite(operation,"acos op",3,loc_a,val_a,0,cst_d);
    883895                break;
    884896
     
    893905                loc_a[1]=arg2;
    894906                loc_a[2]=res;
    895 #ifdef computenumbers
     907#ifdef ADOLC_TAPE_DOC_VALUES
    896908                val_a[0]=dp_T0[arg1];
    897909                dp_T0[res] = asinh(dp_T0[arg1]);
     
    900912                val_a[2]=dp_T0[res];
    901913#endif
    902                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     914                filewrite(operation,"asinh op",3,loc_a,val_a,0,cst_d);
    903915                break;
    904916
     
    911923                loc_a[1]=arg2;
    912924                loc_a[2]=res;
    913 #ifdef computenumbers
     925#ifdef ADOLC_TAPE_DOC_VALUES
    914926                val_a[0]=dp_T0[arg1];
    915927                dp_T0[res] = acosh(dp_T0[arg1]);
     
    918930                val_a[2]=dp_T0[res];
    919931#endif
    920                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     932                filewrite(operation,"acosh op",3,loc_a,val_a,0,cst_d);
    921933                break;
    922934
     
    929941                loc_a[1]=arg2;
    930942                loc_a[2]=res;
    931 #ifdef computenumbers
     943#ifdef ADOLC_TAPE_DOC_VALUES
    932944                val_a[0]=dp_T0[arg1];
    933945                dp_T0[res] = atanh(dp_T0[arg1]);
     
    936948                val_a[2]=dp_T0[res];
    937949#endif
    938                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     950                filewrite(operation,"atanh op",3,loc_a,val_a,0,cst_d);
    939951                break;
    940952
     
    947959                loc_a[1]=arg2;
    948960                loc_a[2]=res;
    949 #ifdef computenumbers
     961#ifdef ADOLC_TAPE_DOC_VALUES
    950962                val_a[0]=dp_T0[arg1];
    951963                dp_T0[res] = erf(dp_T0[arg1]);
     
    954966                val_a[2]=dp_T0[res];
    955967#endif
    956                 filewrite(operation,3,loc_a,val_a,0,cst_d);
     968                filewrite(operation,"erf op",3,loc_a,val_a,0,cst_d);
    957969                break;
    958970
     
    964976                loc_a[0]=arg;
    965977                loc_a[1]=res;
    966 #ifdef computenumbers
     978#ifdef ADOLC_TAPE_DOC_VALUES
    967979                val_a[0]=dp_T0[arg];
    968980                dp_T0[res]= log(dp_T0[arg]);
     
    970982                val_a[1]=dp_T0[res];
    971983#endif
    972                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     984                filewrite(operation,"log op",2,loc_a,val_a,0,cst_d);
    973985                break;
    974986
     
    981993                loc_a[0]=arg;
    982994                loc_a[1]=res;
    983 #ifdef computenumbers
     995#ifdef ADOLC_TAPE_DOC_VALUES
    984996                val_a[0]=dp_T0[arg];
    985997                dp_T0[res] = pow(dp_T0[arg],coval);
     
    987999                val_a[1]=dp_T0[res];
    9881000#endif
    989                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     1001                filewrite(operation,"pow op",2,loc_a,val_a,1,cst_d);
    9901002                break;
    9911003
     
    9961008                loc_a[0]=arg;
    9971009                loc_a[1]=res;
    998 #ifdef computenumbers
     1010#ifdef ADOLC_TAPE_DOC_VALUES
    9991011                val_a[0]=dp_T0[arg];
    10001012                dp_T0[res]= sqrt(dp_T0[arg]);
     
    10021014                val_a[1]=dp_T0[res];
    10031015#endif
    1004                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     1016                filewrite(operation,"sqrt op",2,loc_a,val_a,0,cst_d);
    10051017                break;
    10061018
     
    10151027                loc_a[1]=arg2;
    10161028                loc_a[2]=res;
    1017 #ifdef computenumbers
     1029#ifdef ADOLC_TAPE_DOC_VALUES
    10181030                val_a[0]=dp_T0[arg1];
    10191031                dp_T0[res] = cst_d[1];
     
    10211033                val_a[2]=dp_T0[res];
    10221034#endif
    1023                 filewrite(operation,3,loc_a,val_a,2,cst_d);
     1035                filewrite(operation,"gen quad",3,loc_a,val_a,2,cst_d);
    10241036                break;
    10251037
     
    10341046                loc_a[2] = res;
    10351047                cst_d[0] = coval;
    1036 #ifdef computenumbers
     1048#ifdef ADOLC_TAPE_DOC_VALUES
    10371049                val_a[0] = dp_T0[arg1];
    10381050                val_a[1] = dp_T0[arg2];
     
    10431055                val_a[2] = dp_T0[res];
    10441056#endif
    1045                 filewrite(operation,3,loc_a,val_a,1,cst_d);
     1057                filewrite(operation,"min op",3,loc_a,val_a,1,cst_d);
    10461058                break;
    10471059
     
    10541066                loc_a[1] = res;
    10551067                cst_d[0] = coval;
    1056 #ifdef computenumbers
     1068#ifdef ADOLC_TAPE_DOC_VALUES
    10571069                val_a[0] = dp_T0[arg];
    10581070                dp_T0[res]  = fabs(dp_T0[arg]);
    10591071                val_a[1] = dp_T0[res];
    10601072#endif
    1061                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     1073                filewrite(operation,"abs val",2,loc_a,val_a,1,cst_d);
    10621074                break;
    10631075
     
    10701082                loc_a[1] = res;
    10711083                cst_d[0] = coval;
    1072 #ifdef computenumbers
     1084#ifdef ADOLC_TAPE_DOC_VALUES
    10731085                val_a[0] = dp_T0[arg];
    10741086                dp_T0[res]  = ceil(dp_T0[arg]);
    10751087                val_a[1] = dp_T0[res];
    10761088#endif
    1077                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     1089                filewrite(operation,"ceil op",2,loc_a,val_a,1,cst_d);
    10781090                break;
    10791091
     
    10861098                loc_a[1] = res;
    10871099                cst_d[0] = coval;
    1088 #ifdef computenumbers
     1100#ifdef ADOLC_TAPE_DOC_VALUES
    10891101                val_a[0] = dp_T0[arg];
    10901102                dp_T0[res]  = floor(dp_T0[arg]);
    10911103                val_a[1] = dp_T0[res];
    10921104#endif
    1093                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     1105                filewrite(operation,"floor op",2,loc_a,val_a,1,cst_d);
    10941106                break;
    10951107
     
    11101122                loc_a[3]=res;
    11111123                cst_d[0]=coval;
    1112 #ifdef computenumbers
     1124#ifdef ADOLC_TAPE_DOC_VALUES
    11131125                val_a[0]=dp_T0[arg];
    11141126                val_a[1]=dp_T0[arg1];
     
    11201132                val_a[3]=dp_T0[res];
    11211133#endif
    1122                 filewrite(operation,4,loc_a,val_a,1,cst_d);
     1134                filewrite(operation,"cond assign $\\longrightarrow$",4,loc_a,val_a,1,cst_d);
    11231135                break;
    11241136
     
    11331145                loc_a[2]=res;
    11341146                cst_d[0]=coval;
    1135 #ifdef computenumbers
     1147#ifdef ADOLC_TAPE_DOC_VALUES
    11361148                val_a[0]=dp_T0[arg];
    11371149                val_a[1]=dp_T0[arg1];
     
    11401152                val_a[2]=dp_T0[res];
    11411153#endif
    1142                 filewrite(operation,3,loc_a,val_a,1,cst_d);
     1154                filewrite(operation,"cond assign s $\\longrightarrow$",3,loc_a,val_a,1,cst_d);
    11431155                break;
    11441156
     
    11551167                loc_a[1] = res;
    11561168                cst_d[0] = d[0];
    1157 #ifdef computenumbers
     1169#ifdef ADOLC_TAPE_DOC_VALUES
    11581170                for (l=0; l<size; l++)
    11591171                    dp_T0[res+l] = d[l];
     
    11611173                val_a[1] = dp_T0[res];
    11621174#endif
    1163                 filewrite(operation,2,loc_a,val_a,1,cst_d);
     1175                filewrite(operation,"take stock op",2,loc_a,val_a,1,cst_d);
    11641176                break;
    11651177
     
    11701182                loc_a[0]=arg1;
    11711183                loc_a[1]=arg2;
    1172                 filewrite(operation,2,loc_a,val_a,0,cst_d);
     1184                filewrite(operation,"death not",2,loc_a,val_a,0,cst_d);
    11731185                break;
    11741186
     
    11811193                loc_a[3] = get_locint_f(); /* ya[0].loc */
    11821194                loc_a[3] = get_locint_f(); /* dummy */
    1183                 filewrite(operation, 3, loc_a, val_a, 0, cst_d);
    1184                 break;
    1185 
     1195                filewrite(operation, "extern diff",3, loc_a, val_a, 0, cst_d);
     1196                break;
     1197
     1198            case ext_diff_iArr:
     1199                loc_a[0] = get_locint_f(); /* iArr length */
     1200                for (l=0; l<loc_a[0];++l) get_locint_f(); /* iArr */
     1201                get_locint_f(); /* iArr length again */
     1202                loc_a[0] = get_locint_f() + 1; /* index */
     1203                loc_a[1] = get_locint_f(); /* n */
     1204                loc_a[2] = get_locint_f(); /* m */
     1205                loc_a[3] = get_locint_f(); /* xa[0].loc */
     1206                loc_a[3] = get_locint_f(); /* ya[0].loc */
     1207                loc_a[3] = get_locint_f(); /* dummy */
     1208                filewrite(operation, "extern diff iArr",3, loc_a, val_a, 0, cst_d);
     1209                break;
     1210
     1211#ifdef ADOLC_AMPI_SUPPORT
     1212            case ampi_send:
     1213                loc_a[0] = get_locint_f();   /* start loc */
     1214                TAPE_AMPI_read_int(loc_a+1); /* count */
     1215                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype);
     1216                TAPE_AMPI_read_int(loc_a+2); /* endpoint */
     1217                TAPE_AMPI_read_int(loc_a+3); /* tag */
     1218                TAPE_AMPI_read_int(loc_a+4); /* pairedWith */
     1219                TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1220                filewrite_ampi(operation, "ampi send",5, loc_a);
     1221                break;
     1222
     1223            case ampi_recv:
     1224                loc_a[0] = get_locint_f();   /* start loc */
     1225                TAPE_AMPI_read_int(loc_a+1); /* count */
     1226                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype);
     1227                TAPE_AMPI_read_int(loc_a+2); /* endpoint */
     1228                TAPE_AMPI_read_int(loc_a+3); /* tag */
     1229                TAPE_AMPI_read_int(loc_a+4); /* pairedWith */
     1230                TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1231                filewrite_ampi(operation, "ampi recv",5, loc_a);
     1232                break;
     1233
     1234            case ampi_isend:
     1235              /* push is delayed to the accompanying completion */
     1236              TAPE_AMPI_read_MPI_Request(&anMPI_Request);
     1237              filewrite_ampi(operation, "ampi isend",0, loc_a);
     1238              break;
     1239
     1240            case ampi_irecv:
     1241              /* push is delayed to the accompanying completion */
     1242              TAPE_AMPI_read_MPI_Request(&anMPI_Request);
     1243              filewrite_ampi(operation, "ampi irecv",0, loc_a);
     1244              break;
     1245
     1246            case ampi_wait:
     1247              /* for the operation we had been waiting for */
     1248              size=0;
     1249              loc_a[size++] = get_locint_f(); /* start loc */
     1250              TAPE_AMPI_read_int(loc_a+size++); /* count */
     1251              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype);
     1252              TAPE_AMPI_read_int(loc_a+size++); /* endpoint */
     1253              TAPE_AMPI_read_int(loc_a+size++); /* tag */
     1254              TAPE_AMPI_read_int(loc_a+size++); /* pairedWith */
     1255              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1256              TAPE_AMPI_read_MPI_Request(&anMPI_Request);
     1257              TAPE_AMPI_read_int(loc_a+size++); /* origin */
     1258              filewrite_ampi(operation, "ampi wait",size, loc_a);
     1259              break;
     1260
     1261            case ampi_barrier:
     1262              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1263              filewrite_ampi(operation, "ampi barrier",0, loc_a);
     1264              break;
     1265
     1266            case ampi_bcast:
     1267              loc_a[0] = get_locint_f();   /* start loc */
     1268              TAPE_AMPI_read_int(loc_a+1); /* count */
     1269              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype);
     1270              TAPE_AMPI_read_int(loc_a+2); /* root */
     1271              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1272              filewrite_ampi(operation, "ampi bcast",3, loc_a);
     1273              break;
     1274
     1275            case ampi_reduce:
     1276              loc_a[0] = get_locint_f();   /* rbuf */
     1277              loc_a[1] = get_locint_f();   /* sbuf */
     1278              TAPE_AMPI_read_int(loc_a+2); /* count */
     1279              TAPE_AMPI_read_int(loc_a+3); /* pushResultData */
     1280              i=0; /* read stored double array into dummy variable */
     1281              while (i<loc_a[2]) { TAPE_AMPI_read_double(&aDouble); i++; }
     1282              if (loc_a[3]) {
     1283                i=0; /* for root, also read stored reduction result */
     1284                while (i<loc_a[2]) { TAPE_AMPI_read_double(&aDouble); i++; }
     1285              }
     1286              TAPE_AMPI_read_int(loc_a+3); /* pushResultData again */
     1287              TAPE_AMPI_read_MPI_Op(&anMPI_Op);
     1288              TAPE_AMPI_read_int(loc_a+4); /* root */
     1289              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1290              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype);
     1291              TAPE_AMPI_read_int(loc_a+2); /* count again */
     1292              filewrite_ampi(operation, "ampi reduce",5, loc_a);
     1293              break;
     1294
     1295            case ampi_allreduce:
     1296              loc_a[0] = get_locint_f();   /* rbuf */
     1297              loc_a[1] = get_locint_f();   /* sbuf */
     1298              TAPE_AMPI_read_int(loc_a+2); /* count */
     1299              TAPE_AMPI_read_int(loc_a+3); /* pushResultData */
     1300              i=0; /* read off stored double array into dummy variable */
     1301              while (i<loc_a[2]) { TAPE_AMPI_read_double(&aDouble); i++; }
     1302              if (loc_a[3]) {
     1303                i=0; /* for root, also read off stored reduction result */
     1304                while (i<loc_a[2]) { TAPE_AMPI_read_double(&aDouble); i++; }
     1305              }
     1306              TAPE_AMPI_read_int(loc_a+3); /* pushResultData again */
     1307              TAPE_AMPI_read_MPI_Op(&anMPI_Op);
     1308              TAPE_AMPI_read_int(loc_a+4); /* root */
     1309              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1310              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype);
     1311              TAPE_AMPI_read_int(loc_a+2); /* count again */
     1312              filewrite_ampi(operation, "ampi allreduce",5, loc_a);
     1313              break;
     1314
     1315            case ampi_gather:
     1316              size=0;
     1317              TAPE_AMPI_read_int(loc_a+size++); /* commSizeForRootOrNull */
     1318              if (*(loc_a+0)>0) {
     1319                loc_a[size++] = get_locint_f(); /* rbuf loc */
     1320                TAPE_AMPI_read_int(loc_a+size++); /* rcnt */
     1321                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* rtype */
     1322              }
     1323              loc_a[size++]=get_locint_f(); /* buf loc */
     1324              TAPE_AMPI_read_int(loc_a+size++); /* count */
     1325              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* type */
     1326              TAPE_AMPI_read_int(loc_a+size++); /* root */
     1327              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1328              TAPE_AMPI_read_int(loc_a+0); /* commSizeForRootOrNull */
     1329              filewrite_ampi(operation, "ampi gather",size, loc_a);
     1330              break;
     1331
     1332            case ampi_scatter:
     1333              size=0;
     1334              TAPE_AMPI_read_int(loc_a+size++); /* commSizeForRootOrNull */
     1335              if (*(loc_a+0)>0) {
     1336                loc_a[size++] = get_locint_f(); /* rbuf loc */
     1337                TAPE_AMPI_read_int(loc_a+size++); /* rcnt */
     1338                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* rtype */
     1339              }
     1340              loc_a[size++]=get_locint_f(); /* buf loc */
     1341              TAPE_AMPI_read_int(loc_a+size++); /* count */
     1342              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* type */
     1343              TAPE_AMPI_read_int(loc_a+size++); /* root */
     1344              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1345              TAPE_AMPI_read_int(loc_a+0); /* commSizeForRootOrNull */
     1346              filewrite_ampi(operation, "ampi scatter",size, loc_a);
     1347              break;
     1348
     1349            case ampi_allgather:
     1350              TAPE_AMPI_read_int(loc_a+1); /* commSizeForRootOrNull */
     1351              if (*(loc_a+1)>0) {
     1352                TAPE_AMPI_read_int(loc_a+2); /* rcnt */
     1353                loc_a[2] = get_locint_f(); /* rbuf loc */
     1354                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* rtype */
     1355              }
     1356              TAPE_AMPI_read_int(loc_a+3); /* count */
     1357              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* type */
     1358              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1359              TAPE_AMPI_read_int(loc_a+1); /* commSizeForRootOrNull */
     1360              filewrite_ampi(operation, "ampi allgather",4, loc_a);
     1361              break;
     1362
     1363            case ampi_gatherv:
     1364              size=0;
     1365              TAPE_AMPI_read_int(loc_a+size++); /* commSizeForRootOrNull */
     1366              if (*(loc_a+0)>0) {
     1367                loc_a[size++] = get_locint_f(); /* rbuf loc */
     1368                TAPE_AMPI_read_int(loc_a+size++); /* rcnt[0] */
     1369                TAPE_AMPI_read_int(loc_a+size++); /* displs[0] */
     1370              }
     1371              for (l=1;l<*(loc_a+0);++l) {
     1372                TAPE_AMPI_read_int(loc_a+size);
     1373                TAPE_AMPI_read_int(loc_a+size);
     1374              }
     1375              if (*(loc_a+0)>0) {
     1376                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* rtype */
     1377              }
     1378              loc_a[size++] = get_locint_f(); /* buf loc */
     1379              TAPE_AMPI_read_int(loc_a+size++); /* count */
     1380              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* type */
     1381              TAPE_AMPI_read_int(loc_a+size++); /* root */
     1382              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1383              TAPE_AMPI_read_int(loc_a+0); /* commSizeForRootOrNull */
     1384              filewrite_ampi(operation, "ampi gatherv",size, loc_a);
     1385                break;
     1386
     1387            case ampi_scatterv:
     1388              size=0;
     1389              TAPE_AMPI_read_int(loc_a+size++); /* commSizeForRootOrNull */
     1390              if (*(loc_a+0)>0) {
     1391                loc_a[size++] = get_locint_f(); /* rbuf loc */
     1392                TAPE_AMPI_read_int(loc_a+size++); /* rcnt[0] */
     1393                TAPE_AMPI_read_int(loc_a+size++); /* displs[0] */
     1394              }
     1395              for (l=1;l<*(loc_a+0);++l) {
     1396                TAPE_AMPI_read_int(loc_a+size);
     1397                TAPE_AMPI_read_int(loc_a+size);
     1398              }
     1399              if (*(loc_a+0)>0) {
     1400                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* rtype */
     1401              }
     1402              loc_a[size++] = get_locint_f(); /* buf loc */
     1403              TAPE_AMPI_read_int(loc_a+size++); /* count */
     1404              TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* type */
     1405              TAPE_AMPI_read_int(loc_a+size++); /* root */
     1406              TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1407              TAPE_AMPI_read_int(loc_a+0); /* commSizeForRootOrNull */
     1408              filewrite_ampi(operation, "ampi scatterv",size, loc_a);
     1409              break;
     1410
     1411            case ampi_allgatherv:
     1412                TAPE_AMPI_read_int(loc_a+1); /* commSizeForRootOrNull */
     1413                for (l=0;l<*(loc_a+1);++l) {
     1414                  TAPE_AMPI_read_int(loc_a+2); /* rcnts */
     1415                  TAPE_AMPI_read_int(loc_a+2); /* displs */
     1416                }
     1417                if (*(loc_a+1)>0) {
     1418                  loc_a[2] = get_locint_f(); /* rbuf loc */
     1419                  TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* rtype */
     1420                }
     1421                TAPE_AMPI_read_int(loc_a+3); /* count */
     1422                TAPE_AMPI_read_MPI_Datatype(&anMPI_Datatype); /* type */
     1423                TAPE_AMPI_read_MPI_Comm(&anMPI_Comm);
     1424                TAPE_AMPI_read_int(loc_a+1); /* commSizeForRootOrNull */
     1425                filewrite_ampi(operation, "ampi allgatherv",4, loc_a);
     1426                break;
     1427#endif
    11861428                /*--------------------------------------------------------------------------*/
    11871429            default:                                                   /* default */
     
    12011443    };
    12021444
    1203     free(dp_T0);
     1445    if (dp_T0) free(dp_T0);
    12041446    dp_T0 = NULL;
    12051447
  • trunk/ADOL-C/src/taping.c

    r427 r439  
    2424#include <sys/types.h>
    2525#include <sys/stat.h>
     26
     27#ifdef ADOLC_AMPI_SUPPORT
     28#include "ampi/ampi.h"
     29#include "ampi/tape/support.h"
     30#endif
    2631
    2732#if defined(_WINDOWS) && !__STDC__
     
    329334
    330335/* the base names of every tape type */
    331 char *tapeBaseNames[4];
     336char *tapeBaseNames[4]={0,0,0,0};
    332337
    333338void clearTapeBaseNames() {
    334339    int i;
    335     for(i=0;i<4;i++)
    336         free(tapeBaseNames[i]);
     340    for(i=0;i<4;i++) {
     341        if (tapeBaseNames[i]) {
     342            free(tapeBaseNames[i]);
     343            tapeBaseNames[i]=0;
     344        }
     345    }
    337346}
    338347
     
    340349/* The subroutine get_fstr appends to the tape base name of type tapeType   */
    341350/* the number fnum and ".tap" and returns a pointer to the resulting string.*/
    342 /* The result string must be freed be thy caller!                           */
     351/* The result string must be freed be the caller!                           */
    343352/****************************************************************************/
    344353char *createFileName(short tapeID, int tapeType) {
     
    652661/* Set up statics for writing taylor data                                   */
    653662/****************************************************************************/
    654 void taylor_begin(uint bufferSize, double **Tg, int degreeSave) {
     663void taylor_begin(uint bufferSize, int degreeSave) {
    655664    ADOLC_OPENMP_THREAD_NUMBER;
    656665    ADOLC_OPENMP_GET_THREAD_NUMBER;
     
    672681
    673682    /* initial setups */
    674     ADOLC_CURRENT_TAPE_INFOS.dpp_T = Tg;
    675683    if (ADOLC_CURRENT_TAPE_INFOS.tayBuffer != NULL)
    676684        free(ADOLC_CURRENT_TAPE_INFOS.tayBuffer);
     
    10721080    /* initialize value stack if necessary */
    10731081    if (ADOLC_CURRENT_TAPE_INFOS.keepTaylors)
    1074         taylor_begin(ADOLC_CURRENT_TAPE_INFOS.stats[TAY_BUFFER_SIZE], NULL, 0);
     1082        taylor_begin(ADOLC_CURRENT_TAPE_INFOS.stats[TAY_BUFFER_SIZE], 0);
    10751083
    10761084    /* mark possible (hard disk) tape creation */
     
    14361444    ADOLC_CURRENT_TAPE_INFOS.numVals_Tape = number;
    14371445    ADOLC_CURRENT_TAPE_INFOS.currVal = ADOLC_CURRENT_TAPE_INFOS.valBuffer;
     1446#ifdef ADOLC_AMPI_SUPPORT
     1447    TAPE_AMPI_resetBottom();
     1448#endif
    14381449}
    14391450
     
    15531564    ADOLC_CURRENT_TAPE_INFOS.currVal =
    15541565        ADOLC_CURRENT_TAPE_INFOS.valBuffer + number;
     1566#ifdef ADOLC_AMPI_SUPPORT
     1567    TAPE_AMPI_resetTop();
     1568#endif
    15551569}
    15561570
     
    15791593/* --- Operations --- */
    15801594
     1595const int maxLocsPerOp=10;
     1596
    15811597/****************************************************************************/
    15821598/* Puts an operation into the operation buffer. Ensures that location buffer*/
    15831599/* and constants buffer are prepared to take the belonging stuff.           */
    15841600/****************************************************************************/
    1585 void put_op(unsigned char op) {
    1586     ADOLC_OPENMP_THREAD_NUMBER;
    1587     ADOLC_OPENMP_GET_THREAD_NUMBER;
    1588     /* every operation writes <5 locations */
    1589     if (ADOLC_CURRENT_TAPE_INFOS.currLoc + 5 > ADOLC_CURRENT_TAPE_INFOS.lastLocP1) {
    1590         *(ADOLC_CURRENT_TAPE_INFOS.lastLocP1 - 1) = ADOLC_CURRENT_TAPE_INFOS.lastLocP1 -
    1591                 ADOLC_CURRENT_TAPE_INFOS.currLoc;
     1601void put_op_reserve(unsigned char op, unsigned int reserveExtraLocations) {
     1602    ADOLC_OPENMP_THREAD_NUMBER;
     1603    ADOLC_OPENMP_GET_THREAD_NUMBER;
     1604    /* make sure we have enough slots to write the locs */
     1605    if (ADOLC_CURRENT_TAPE_INFOS.currLoc + maxLocsPerOp + reserveExtraLocations > ADOLC_CURRENT_TAPE_INFOS.lastLocP1) {
     1606        size_t remainder = ADOLC_CURRENT_TAPE_INFOS.lastLocP1 - ADOLC_CURRENT_TAPE_INFOS.currLoc;
     1607        if (remainder>0) memset(ADOLC_CURRENT_TAPE_INFOS.currLoc,0,(remainder-1)*sizeof(locint));
     1608        *(ADOLC_CURRENT_TAPE_INFOS.lastLocP1 - 1) = remainder;
    15921609        put_loc_block(ADOLC_CURRENT_TAPE_INFOS.lastLocP1);
    15931610        /* every operation writes 1 opcode */
     
    16031620    /* every operation writes <5 values --- 3 should be sufficient */
    16041621    if (ADOLC_CURRENT_TAPE_INFOS.currVal + 5 > ADOLC_CURRENT_TAPE_INFOS.lastValP1) {
    1605         ADOLC_PUT_LOCINT(ADOLC_CURRENT_TAPE_INFOS.lastValP1 - ADOLC_CURRENT_TAPE_INFOS.currVal);
     1622        locint valRemainder=ADOLC_CURRENT_TAPE_INFOS.lastValP1 - ADOLC_CURRENT_TAPE_INFOS.currVal;
     1623        ADOLC_PUT_LOCINT(valRemainder);
     1624        /* avoid writing uninitialized memory to the file and get valgrind upset */
     1625        memset(ADOLC_CURRENT_TAPE_INFOS.currVal,0,valRemainder*sizeof(double));
    16061626        put_val_block(ADOLC_CURRENT_TAPE_INFOS.lastValP1);
    16071627        /* every operation writes 1 opcode */
  • trunk/ADOL-C/src/taping_p.h

    r370 r439  
    55 Contents: declarations for used by taping routines
    66 
    7  Copyright (c) Andreas Kowarz
     7 Copyright (c) Andreas Kowarz, Jean Utke
    88
    99 This file is part of ADOL-C. This software is provided as open source.
     
    194194                     - this information can only be given at taping time and
    195195                       must survive all other actions on the tape */
     196
     197    /**
     198     * defaults to 0, if 1 skips file removal (when file operations are costly)
     199     */
     200    int skipFileCleanup;
     201
    196202} PersistantTapeInfos;
     203
     204/**
     205 * maximal number of locations writen per op code
     206 */
     207extern const int maxLocsPerOp;
    197208
    198209typedef struct TapeInfos {
     
    252263    /* evaluation forward */
    253264    double *dp_T0;
     265    int gDegree, numTay;
     266    enum WORKMODES workMode;
     267    /*
     268     * Taylor coefficient array  allocated like this:
     269     * dpp_T[ADOLC_CURRENT_TAPE_INFOS.stats[NUM_MAX_LIVES][numTay*gDegree]
     270     */
    254271    double **dpp_T;
    255272