Ignore:
Timestamp:
Aug 9, 2016 8:51:09 AM (3 years ago)
Author:
kulshres
Message:

merge branch 'master' of 'gitclone' into 'svn'

The following commits have been merged:

commit 4c3cee7867eedfda0dfdd9354657208b355952f7
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Aug 8 12:47:29 2016 +0200

add more inline wrappers for pdouble

the proper function isn't resolved if getparam() or mkparam() is called
within a unary function. The compiler tries to resolve it to the
std::* function trying to convert pdouble to double,
instead of the ADOL-C function by converting pdouble to adub.

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

commit 6761846ac1130845ee0096b6a96a1736daf0fd00
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Aug 8 12:44:28 2016 +0200

make badouble copy constructor protected again

newer g++ or even clang++ does not require it. and we really don't want
badouble objects to be copied from user's code.

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

commit 53dfb77db382259c7354efba347f0195f4241fb5
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri Aug 5 13:50:42 2016 +0200

Add actual vector mode code for CUDA adoubles

This seemingly did not exist. I don't know why. Perhaps scalar mode
code autmatically gets vectorized over threads. I'm not even sure
of the side effects of using NUMBER_DIRECTIONS > 1.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ADOL-C/include/adolc/param.h

    r593 r709  
    152152{ return fmin(a,adub(b)); }
    153153
     154/* unary operators (friends) */
     155inline adub exp  ( const pdouble& p)  { return exp(adub(p));   }
     156inline adub log  ( const pdouble& p)  { return log(adub(p));   }
     157inline adub sqrt ( const pdouble& p)  { return sqrt(adub(p));  }
     158inline adub sin  ( const pdouble& p)  { return sin(adub(p));   }
     159inline adub cos  ( const pdouble& p)  { return cos(adub(p));   }
     160inline adub tan  ( const pdouble& p)  { return tan(adub(p));   }
     161inline adub asin ( const pdouble& p)  { return asin(adub(p));  }
     162inline adub acos ( const pdouble& p)  { return acos(adub(p));  }
     163inline adub atan ( const pdouble& p)  { return atan(adub(p));  }
     164
     165/*--------------------------------------------------------------------------*/
     166/* special operators (friends) */
     167/* no internal use of condassign: */
     168inline adub    pow   ( const pdouble& p, double q) { return pow(adub(p),q); }
     169inline adub    log10 ( const pdouble& p) { return log10(adub(p)); }
     170
     171/* Additional ANSI C standard Math functions Added by DWJ on 8/6/90 */
     172inline adub sinh  ( const pdouble& p) { return sinh(adub(p)); }
     173inline adub cosh  ( const pdouble& p) { return cosh(adub(p)); }
     174inline adub tanh  ( const pdouble& p) { return tanh(adub(p)); }
     175#if defined(ATRIG_ERF)
     176inline adub asinh ( const pdouble& p) { return asinh(adub(p)); }
     177inline adub acosh ( const pdouble& p) { return acosh(adub(p)); }
     178inline adub atanh ( const pdouble& p) { return atanh(adub(p)); }
     179inline adub erf   ( const pdouble& p) { return erf(adub(p));   }
     180#endif
     181
     182inline adub fabs  ( const pdouble& p) { return fabs(adub(p));  }
     183inline adub ceil  ( const pdouble& p) { return ceil(adub(p));  }
     184inline adub floor ( const pdouble& p) { return floor(adub(p)); }
     185
     186inline adub fmax ( const pdouble& p, const pdouble& q)
     187{ return fmax(adub(p),adub(q)); }
     188inline adub fmax ( double p, const pdouble& q)
     189{ return fmax(p,adub(q)); }
     190inline adub fmax ( const pdouble& p, double q)
     191{ return fmax(adub(p),q); }
     192inline adub fmin ( const pdouble& p, const pdouble& q)
     193{ return fmin(adub(p),adub(q)); }
     194inline adub fmin ( double p, const pdouble& q)
     195{ return fmin(p,adub(q)); }
     196inline adub fmin ( const pdouble& p, double q)
     197{ return fmin(adub(p),q); }
     198
     199inline adub ldexp ( const pdouble& p, int n)
     200{ return ldexp(adub(p),n); }
     201inline adub frexp ( const pdouble& p, int* n)
     202{ return frexp(adub(p),n); }
     203
     204/*--------------------------------------------------------------------------*/
    154205#endif
    155206
Note: See TracChangeset for help on using the changeset viewer.