00001 /* 00002 * $Id$ 00003 * 00004 * Author: David Fournier 00005 * Copyright (c) 2008-2012 Regents of the University of California 00006 */ 00011 #include "fvar.hpp" 00012 00017 dvar4_array sqrt(const dvar4_array& m) 00018 { 00019 dvar4_array tmp; 00020 tmp.allocate(m); 00021 for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++) 00022 { 00023 tmp(i)=sqrt(m(i)); 00024 } 00025 return tmp; 00026 } 00027 00032 dvar4_array exp(const dvar4_array& m) 00033 { 00034 dvar4_array tmp; 00035 tmp.allocate(m); 00036 for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++) 00037 { 00038 tmp(i)=exp(m(i)); 00039 } 00040 return tmp; 00041 } 00042 00047 dvar4_array mfexp(const dvar4_array& m) 00048 { 00049 dvar4_array tmp; 00050 tmp.allocate(m); 00051 for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++) 00052 { 00053 tmp(i)=mfexp(m(i)); 00054 } 00055 return tmp; 00056 } 00057 00062 dvar4_array log(const dvar4_array& m) 00063 { 00064 dvar4_array tmp; 00065 tmp.allocate(m); 00066 for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++) 00067 { 00068 tmp(i)=log(m(i)); 00069 } 00070 return tmp; 00071 } 00072 00077 dvariable sum(const dvar4_array& m) 00078 { 00079 RETURN_ARRAYS_INCREMENT(); 00080 dvariable tmp=0.; 00081 for (int i=m.indexmin();i<=m.indexmax();i++) 00082 { 00083 tmp+=sum(m.elem(i)); 00084 } 00085 RETURN_ARRAYS_DECREMENT(); 00086 return tmp; 00087 }
Generated on Tue Mar 8 2016 19:51:32 for ADMB Documentation by 1.8.0 |