ADMB Documentation  11.1.2246
 All Classes Files Functions Variables Typedefs Friends Defines
df1b2pow.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id: df1b2pow.cpp 1919 2014-04-22 22:02:01Z johnoel $
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00011 #include <df1b2fun.h>
00012 
00017 double ADpow_fun(double x,double y)
00018 {
00019   return pow(x,y);
00020 }
00021 
00026 double AD_pow_1(double x,double y)
00027 {
00028   return y*pow(x,y-1);
00029 }
00030 
00035 double AD_pow_2(double x,double y)
00036 {
00037   return pow(x,y)*log(x);
00038 }
00039 
00044 double AD_pow_22(double x,double y)
00045 {
00046   return pow(x,y)*square(log(x));
00047 }
00048 
00053 double AD_pow_122(double x,double y)
00054 {
00055   double xy1=pow(x,y-1.0);
00056   double lx=log(x);
00057   return xy1*lx*(y*lx + 2.0);
00058 }
00059 
00064 double AD_pow_12(double x,double y)
00065 {
00066   double xy1=pow(x,y-1.0);
00067   return xy1*(1.0 + y*log(x));
00068 }
00069 
00074 double AD_pow_11(double x,double y)
00075 {
00076   return (y-1.0)*y*pow(x,y-2.0);
00077 }
00078 
00083 double AD_pow_111(double x,double y)
00084 {
00085   return (y-2.0)*(y-1.0)*y*pow(x,y-3.0);
00086 }
00087 
00092 double AD_pow_112(double x,double y)
00093 {
00094   return pow(x,y-2)*(2.0*y-1.0 + y*(y-1)*log(x) + x);
00095 }
00096 
00101 double AD_pow_222(double x,double y)
00102 {
00103   return pow(x,y)*cube(log(x));
00104 }
00105 
00106 df1b2function2 ADf1b2_pow(ADpow_fun,
00107  AD_pow_1,AD_pow_2,
00108  AD_pow_11,AD_pow_12,AD_pow_22,
00109  AD_pow_111,AD_pow_112,AD_pow_122,
00110  AD_pow_222);
00111 /*
00112 df1b2variable pow(const df1b2variable& x,const df1b2variable& y)
00113 {
00114   return ADf1b2_pow(x,y);
00115 }
00116 */