ADMB Documentation  11.1.1927
 All Classes Files Functions Variables Typedefs Friends Defines
f4arr1.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id: f4arr1.cpp 1112 2013-07-12 21:41:41Z johnoel $
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00011 #include "fvar.hpp"
00012 #include "d4arr.hpp"
00013 
00018 dvar4_array sqrt(const dvar4_array& m)
00019 {
00020   dvar4_array tmp;
00021   tmp.allocate(m);
00022   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00023   {
00024     tmp(i)=sqrt(m(i));
00025   }
00026   return tmp;
00027 }
00028 
00033 dvar4_array exp(const dvar4_array& m)
00034 {
00035   dvar4_array tmp;
00036   tmp.allocate(m);
00037   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00038   {
00039     tmp(i)=exp(m(i));
00040   }
00041   return tmp;
00042 }
00043 
00048 dvar4_array mfexp(const dvar4_array& m)
00049 {
00050   dvar4_array tmp;
00051   tmp.allocate(m);
00052   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00053   {
00054     tmp(i)=mfexp(m(i));
00055   }
00056   return tmp;
00057 }
00058 
00063 dvar4_array log(const dvar4_array& m)
00064 {
00065   dvar4_array tmp;
00066   tmp.allocate(m);
00067   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00068   {
00069     tmp(i)=log(m(i));
00070   }
00071   return tmp;
00072 }
00073 
00078 dvariable sum(const dvar4_array& m)
00079 {
00080   RETURN_ARRAYS_INCREMENT();
00081   dvariable tmp=0.;
00082   for (int i=m.indexmin();i<=m.indexmax();i++)
00083   {
00084     tmp+=sum(m.elem(i));
00085   }
00086   RETURN_ARRAYS_DECREMENT();
00087   return tmp;
00088 }