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 00018 double square(const double m) 00019 { 00020 return m * m; 00021 } 00022 00028 dvector square(const dvector& m) 00029 { 00030 dvector tmp; 00031 tmp.allocate(m); 00032 for (int i=tmp.indexmin();i<=tmp.indexmax();i++) 00033 { 00034 tmp(i)=square(m(i)); 00035 } 00036 return tmp; 00037 } 00038 00039 ivector square(const ivector& v) 00040 { 00041 ivector tmp; 00042 tmp.allocate(v); 00043 for (int i = tmp.indexmin(); i <= tmp.indexmax(); i++) 00044 { 00045 tmp(i) = v(i) * v(i); 00046 } 00047 return tmp; 00048 } 00049 00055 dmatrix square(const dmatrix& m) 00056 { 00057 dmatrix tmp; 00058 tmp.allocate(m); 00059 for (int i=tmp.rowmin();i<=tmp.rowmax();i++) 00060 { 00061 tmp(i)=square(m(i)); 00062 } 00063 return tmp; 00064 } 00065 00071 d3_array square(const d3_array& m) 00072 { 00073 d3_array tmp; 00074 tmp.allocate(m); 00075 for (int i=tmp.slicemin();i<=tmp.slicemax();i++) 00076 { 00077 tmp(i)=square(m(i)); 00078 } 00079 return tmp; 00080 }
Generated on Tue Mar 8 2016 19:51:30 for ADMB Documentation by 1.8.0 |