diff --git a/ATL.hpp b/ATL.hpp index 345b102..f8bb1aa 100644 --- a/ATL.hpp +++ b/ATL.hpp @@ -14,6 +14,10 @@ #ifndef ATL_HPP #define ATL_HPP +//SEMANTIC VERSIONING +#define ATL_VERSION_MAJOR 1 +#define ATL_VERSION_MINOR 01 +#define ATL_VERSION_PATCH 0 //#include "lib/MinMax.hpp" diff --git a/docs/draft_developers_guide.pdf b/docs/draft_developers_guide.pdf new file mode 100644 index 0000000..21c2f60 Binary files /dev/null and b/docs/draft_developers_guide.pdf differ diff --git a/docs/index.html b/docs/index.html index d7b83c4..7cef8d0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -14,12 +14,8 @@ Analytics Template Library -
- -
- -
+
@@ -47,14 +43,13 @@ - + -
@@ -69,32 +64,38 @@ + + href="./draft_developers_guide.pdf" download> - - + + + + + +
- Type: model builder + Type: Model Builder
- author: Matthew Supernaw + Author: Matthew Supernaw
The Analytics Template Library (ATL) is a scientific computing library with an emphasis on gradient based optimization. ATL leverages the power of template metaprogramming for flexibility, extensibility, and speed. This guide is intended to give the user a basic understanding of how to develop programs in ATL. The information in this document is intended for anyone interested in scientific computing in C++ and it is expected that the reader will have a basic understanding of the C++ programming language, as well as scientific computing.
+
@@ -102,7 +103,7 @@
+ -
+ + +
+ Code Repository Badges +
+ + + + + + + +
- + + +
Icons by icons8 https://icons8.com/
diff --git a/docs/static/badge_internal_active.png b/docs/static/badge_internal_active.png new file mode 100644 index 0000000..2082893 Binary files /dev/null and b/docs/static/badge_internal_active.png differ diff --git a/docs/static/icons8-checkmark-24-internal-active.png b/docs/static/icons8-checkmark-24-internal-active.png new file mode 100644 index 0000000..0c9c84d Binary files /dev/null and b/docs/static/icons8-checkmark-24-internal-active.png differ diff --git a/docs/static/icons8-email-send-24.png b/docs/static/icons8-email-send-24.png new file mode 100644 index 0000000..525b801 Binary files /dev/null and b/docs/static/icons8-email-send-24.png differ diff --git a/docs/static/noaa-fisheries-rgb-2line-horizontal-small.png b/docs/static/noaa-fisheries-rgb-2line-horizontal-small.png new file mode 100644 index 0000000..6f219dd Binary files /dev/null and b/docs/static/noaa-fisheries-rgb-2line-horizontal-small.png differ diff --git a/docs/static/simple.css b/docs/static/simple.css index 77d63b3..959dc0f 100644 --- a/docs/static/simple.css +++ b/docs/static/simple.css @@ -1,10 +1,19 @@ .container{ - display: flex; - flex-direction:column; - height: 100%; - color:#3F51B5; - margin:60px; + display: flex; + flex-direction:column; + height: 100%; + color:#0055A4; + margin:60px 100px; + font-family: Arial Narrow,Arial,sans-serif; + +} + +.mywrap_end{ + display: flex; + flex-direction:row; + align-content: center; + justify-content: flex-end; } .mywrap{ @@ -14,13 +23,19 @@ justify-content: stretch; } +.mywrap_center{ + display: flex; + flex-direction:row; + margin:auto; + padding-left: 15px; +} .title { min-width: 200px; margin-right:auto; height: 95px; - color: #3F51B5; - font-family: 'Source Sans Pro'; + color: #0055A4; + font-family: Cambria,Georgia,serif; font-size: 36px; text-align: left; padding: 5px; @@ -36,13 +51,30 @@ a{ } .badge{ - width: 95px; - background-image: url("./badge.png"); + width: 60px; + max-height: 60px; border: none; background-repeat: no-repeat; background-size: cover; } +#badge_internal_active{ +background-image: url("./badge_internal_active.png") +} + +#badge_internal_inactive{ +background-image: url("./badge_internal_inactive.png") +} + +#badge_external_active{ +background-image: url("./badge_external_active.png") +} + +#badge_external_active{ +background-image: url("./badge_external_active.png") +} + + #check{ background-image: url("./check.png"); @@ -60,19 +92,33 @@ background-image: url("./greycheck.png"); background-image: url("./greybadge.png"); } +#internal_inactive{ + background-image: url("icons8-checkmark-24-internal-inactive.png"); + background-repeat: none; + background-size: cover; +} +#internal_active{ + background-image: url("icons8-checkmark-24-internal-active.png"); + background-repeat: none; + background-size: cover; +} +#external_active{ + background-image: url("icons8-checkmark-24-external-active.png"); + background-repeat: none; + background-size: cover; +} .codelink{ width: 120px; height: 45px; color: #000000; -font-family: 'Source Sans Pro'; -font-size: 16px; +font-size: 14px; font-weight: normal; font-style: normal; text-decoration: none; text-align: center; background: #FFFFFF; -border: 3px dotted #3F51B5; +border: 3px dotted #0055A4; border-radius: 21px; margin-right: 10px; @@ -81,7 +127,7 @@ margin-right: 10px; width: 100%; height: 8px; -background-color:#3F51B5; +background-color:#0055A4; border: 0 none; margin-top: 20px; margin-bottom:20px; @@ -92,7 +138,7 @@ margin-bottom:20px; width: auto; height: 30px; -color: #3F51B5; +color: #0055A4; font-weight: bold; font-style: normal; text-decoration: none; @@ -105,7 +151,7 @@ font-size: large; .pdfIcon{ width:35px; height: 35px; -color: #3F51B5; +color: #0055A4; font-size: 24px; font-weight: normal; background-image: url("./icons8-pdf-50.png"); @@ -135,15 +181,14 @@ border-radius: 4px; width: 97px; height: 45px; color: #FFFFFF; -font-size: 14px; +font-size: 24px; font-weight: bold; font-style: normal; text-decoration: none; text-align: center; -background: rgba(63,81,181,0.5); +background: #0093D0; border: none; border-radius: 21px; -box-shadow: 0 5px 5px -5px #333; margin-left: auto; } @@ -162,26 +207,28 @@ text-align: left; .main{ font-size:16px; + padding: 0px 40px 0px 40px; } .mainText { width: auto; -min-height: 250px; +min-height: 150px; color: #000000; -font-family: sans-serif; +font-family: Arial Narrow,Arial,sans-serif; font-size: 16px; text-align: left; -padding-top: 15px; +padding: 15px 30px 15px 0; line-height: 22px; +text-align: justify; } .ref { width: 441px; height: 40px; -color: #3F51B5; +color: #0055A4; font-size: large; font-weight: normal; @@ -197,32 +244,29 @@ text-align: left; width: 30px; height: 30px; color: #FFFFFF; - font-family: 'Source Sans Pro'; font-size: 25px; font-weight: bold; - font-family: sans-serif; + font-family: Arial Narrow,Arial,sans-serif; text-decoration: none; - background: rgba(63,81,181,0.4); + background: rgba(1,1,1,0.5); border: 1px solid #FFFFFF; border-radius: 10px; - box-shadow: 0 5px 5px -5px #333; text-align: center; margin-left: auto; } -.bottom{ - display: flex; - flex-direction:row; - justify-content: flex-end; - margin-bottom: 25px; -} + ul { - list-style-type: none; + list-style-type: square; display: flex; flex-direction: column; } +#assocaited_tools{ +list-style-type: none; +} + li{ line-height:24px; font-size: 16px; @@ -245,9 +289,54 @@ li{ color: white; border-radius: 2px; font-size: 12px; - font-family: sans-serif; + font-family: Arial Narrow,Arial,sans-serif; font-weight: 400; } [data-md-tooltip]:hover:before { transform: translateX(-50%) scale(1); } + + +#line{ + border-right:1px solid black; +} + +.mylink{padding: 5px; +font-size: 14px;} + +.mylink:any-link { + color:black; + height: fit-content; +} + + +/* WebKit browsers */ +.mylink:-webkit-any-link { + color:black; + height: fit-content; +} + +#email{ + background-image: url("icons8-email-send-24.png"); + background-repeat: none; + background-size: cover; + border:none; + +} + +footer{ + display: flex; + flex-direction: row; + font-size: 12px; + color:black; + padding-left:60px; + padding-right:260px; + font-family: Cambria,Georgia,serif; + +} +.attribution{ + display: flex; + justify-content: flex-end; + font-size: 10px; + color:grey; +} diff --git a/lib/DynamicExpression.hpp b/lib/DynamicExpression.hpp index 5d8d550..b325b0c 100644 --- a/lib/DynamicExpression.hpp +++ b/lib/DynamicExpression.hpp @@ -3201,8 +3201,8 @@ namespace atl { } virtual void DifferentiatedBy(const std::vector& id) { - assert(order<=id.size()); - this->diff_id = id[order-1]; + assert(order <= id.size()); + this->diff_id = id[order - 1]; } virtual void SwapDependents(const typename std::unordered_map > >& vmap) { @@ -3230,6 +3230,11 @@ namespace atl { } }; + template + struct DynamicExpressionPostIterator { + }; + + } diff --git a/lib/Variable.hpp b/lib/Variable.hpp index 3278873..17c7ae9 100644 --- a/lib/Variable.hpp +++ b/lib/Variable.hpp @@ -32,9 +32,7 @@ namespace atl { - - - /** + /** * Base class for parameter transformations. Used in optimization * problems involving bounded parameters. * @param val @@ -139,13 +137,13 @@ namespace atl { public: virtual REAL_T External2Internal(REAL_T val, REAL_T min_, REAL_T max_)const { - if(val == min_){ - val+=std::numeric_limits::epsilon(); - }else if(val == max_){ - val-=std::numeric_limits::epsilon(); + if (val == min_) { + val += static_cast(1e-8); + } else if (val == max_) { + val -= static_cast(1e-8); } - - REAL_T p = ((val)- min_) / (max_ - min_); + + REAL_T p = ((val) - min_) / (max_ - min_); return std::log(p / (1.0 - p)); } @@ -155,15 +153,15 @@ namespace atl { } virtual REAL_T DerivativeInternal2External(REAL_T val, REAL_T min_, REAL_T max_)const { -// return ((max_-min_)*std::exp(val))/(std::exp(val)+1.0)-((max_-min_)*std::exp((2.0*val)))/std::pow((std::exp(val)+1.0),2.0); -// return ((max_−min_)*std::exp(val)/(std::exp(val)+1.0)−((max_−min_)*std::exp((2.0*val))/std::pow(std::exp(val)+1.0),2.0); + // return ((max_-min_)*std::exp(val))/(std::exp(val)+1.0)-((max_-min_)*std::exp((2.0*val)))/std::pow((std::exp(val)+1.0),2.0); + // return ((max_−min_)*std::exp(val)/(std::exp(val)+1.0)−((max_−min_)*std::exp((2.0*val))/std::pow(std::exp(val)+1.0),2.0); return (std::exp(val) * std::log(M_E)*(max_ - min_)) / (std::exp(val) + 1.0)- (std::exp(static_cast (2.0 * val)) * std::log(M_E)*(max_ - min_)) / std::pow((std::exp(val) + 1), 2.0); } }; - - + + template struct Variable; @@ -177,8 +175,222 @@ namespace atl { template<> ExpressionType ExpressionTrait >::et_type = atl::VARIABLE_SCALAR; + template + struct AssignmentTrait { + + template + static Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + return var; + } + }; + + template + struct AssignmentTrait { + + template + static Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + var.SetValue(exp.GetValue()); + return var; + } + }; + + template + struct AssignmentFunctor { + typedef AssignmentTrait assign; + assign functor; + + template + Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + // std::cout << "FIRST_ORDER_REVERSE" << std::endl; + atl::StackEntry& entry = tape.stack[index]; + exp.PushIds(entry.ids); + + entry.w = var.info; + entry.w->count++; + entry.w->is_nl = exp.IsNonlinear(); + entry.first.resize(entry.ids.size(), static_cast (0.0)); + typename atl::StackEntry::vi_iterator it; + size_t i = 0; + entry.wv = exp.GetValue(); + + + for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + entry.min_id = std::min((*it)->id, entry.min_id); + entry.max_id = std::max((*it)->id, entry.max_id); + entry.first[i] = exp.EvaluateFirstDerivative((*it)->id); + i++; + } + var.SetValue(exp.GetValue()); + + return var; + return var; + } + + }; + + template + struct AssignmentTrait { + + template + static Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + // std::cout << "FIRST_ORDER_REVERSE" << std::endl; + atl::StackEntry& entry = tape.stack[index]; + exp.PushIds(entry.ids); + + entry.w = var.info; + entry.w->count++; + entry.w->is_nl = exp.IsNonlinear(); + entry.first.resize(entry.ids.size(), static_cast (0.0)); + typename atl::StackEntry::vi_iterator it; + size_t i = 0; + entry.wv = exp.GetValue(); + + + for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + entry.min_id = std::min((*it)->id, entry.min_id); + entry.max_id = std::max((*it)->id, entry.max_id); + entry.first[i] = exp.EvaluateFirstDerivative((*it)->id); + i++; + } + var.SetValue(exp.GetValue()); + + return var; + } + }; + + template + struct FirstOrderAssignemnt : AssignmentFunctor { + typedef AssignmentTrait assign; + assign functor; + + template + Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + return assign::Assign(var, tape, exp, index); + } + }; + + template + struct AssignmentTrait { + + template + static Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + + std::cout << "SECOND_ORDER_REVERSE" << std::endl; + atl::StackEntry& entry = tape.stack[index]; + exp.PushIds(entry.ids); + + entry.w = var.info; + entry.w->count++; + entry.first.resize(entry.ids.size(), static_cast (0.0)); + typename atl::StackEntry::vi_iterator it; + typename atl::StackEntry::vi_iterator jt; + size_t i = 0; + size_t j = 0; + + entry.wv = exp.GetValue(); + entry.w->is_nl = exp.IsNonlinear(); + entry.is_nl = exp.IsNonlinear(); + + entry.second.resize(entry.ids.size() * entry.ids.size(), static_cast (0.0)); + + for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + + entry.min_id = std::min((*it)->id, entry.min_id); + entry.max_id = std::max((*it)->id, entry.max_id); + entry.first[i] = exp.EvaluateFirstDerivative((*it)->id); + j = 0; + for (jt = entry.ids.begin(); jt != entry.ids.end(); ++jt) { + entry.second[i * entry.ids.size() + j] = exp.EvaluateSecondDerivative((*it)->id, (*jt)->id); + j++; + } + i++; + } + + var.SetValue(exp.GetValue()); + + return var; + } + }; + + template + struct SecondOrderAssignemnt : AssignmentFunctor { + typedef AssignmentTrait assign; + assign functor; + + template + Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + return assign::Assign(var, tape, exp, index); + } + }; + + template + struct AssignmentTrait { + + template + static Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + + std::cout << "THIRD_ORDER_REVERSE" << std::endl; + atl::StackEntry& entry = tape.stack[index]; + exp.PushIds(entry.ids); + + entry.w = var.info; + entry.w->count++; + entry.w->is_nl = true; + entry.first.resize(entry.ids.size(), static_cast (0.0)); + typename atl::StackEntry::vi_iterator it; + typename atl::StackEntry::vi_iterator jt; + typename atl::StackEntry::vi_iterator kt; + size_t i = 0; + size_t j = 0; + size_t k = 0; + entry.wv = exp.GetValue(); + + entry.w->is_nl = exp.IsNonlinear(); + entry.is_nl = exp.IsNonlinear(); + + entry.second.resize(entry.ids.size() * entry.ids.size(), static_cast (0.0)); + entry.third.resize(entry.ids.size() * entry.ids.size() * entry.ids.size(), static_cast (0.0)); + for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + (*it)->live++; + entry.min_id = std::min((*it)->id, entry.min_id); + entry.max_id = std::max((*it)->id, entry.max_id); + entry.first[i] = exp.EvaluateFirstDerivative((*it)->id); + j = 0; + for (jt = entry.ids.begin(); jt != entry.ids.end(); ++jt) { + entry.second[i * entry.ids.size() + j] = exp.EvaluateSecondDerivative((*it)->id, (*jt)->id); + k = 0; + for (kt = entry.ids.begin(); kt != entry.ids.end(); ++kt) { + + entry.third[i * entry.ids.size() * entry.ids.size() + j * entry.ids.size() + k] = + exp.EvaluateThirdDerivative((*it)->id, (*jt)->id, (*kt)->id); + k++; + } + j++; + } + i++; + } + + var.SetValue(exp.GetValue()); + + return var; + } + }; + + template + struct ThirdOrderAssignemnt : AssignmentFunctor { + typedef AssignmentTrait assign; + assign functor; + + template + Variable& Assign(Variable& var, atl::Tape& tape, const ExpressionBase& exp, size_t index) { + return assign::Assign(var, tape, exp, index); + } + }; + template struct Variable : atl::ExpressionBase > { + static std::vector* > assignment_operators; + typedef typename std::shared_ptr > VariableInfoPtr; static Tape tape; typedef REAL_T base_type; @@ -413,6 +625,7 @@ namespace atl { if (tape.recording) { + atl::StackEntry& entry = tape.stack[index]; exp.PushIds(entry.ids); @@ -427,6 +640,7 @@ namespace atl { size_t j = 0; size_t k = 0; entry.wv = exp.GetValue(); + switch (tape.derivative_trace_level) { case FIRST_ORDER_REVERSE: @@ -437,20 +651,19 @@ namespace atl { i++; } break; - - case FIRST_ORDER_REVERSE_COMPLEX_STEP: - for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { - entry.min_id = std::min((*it)->id, entry.min_id); - entry.max_id = std::max((*it)->id, entry.max_id); - entry.first[i] = exp.ComplexEvaluate((*it)->id).imag()/1e-20; - i++; - } - break; + + // case FIRST_ORDER_REVERSE_COMPLEX_STEP: + // // for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + // // entry.min_id = std::min((*it)->id, entry.min_id); + // // entry.max_id = std::max((*it)->id, entry.max_id); + // // entry.first[i] = exp.ComplexEvaluate((*it)->id).imag()/1e-20; + // // i++; + // // } + // break; case SECOND_ORDER_REVERSE: entry.w->is_nl = exp.IsNonlinear(); entry.is_nl = exp.IsNonlinear(); - entry.second.resize(entry.ids.size() * entry.ids.size(), static_cast (0.0)); for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { @@ -493,6 +706,7 @@ namespace atl { i++; } break; + case atl::UTPM_REVERSE: for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { @@ -519,6 +733,22 @@ namespace atl { } entry.exp = exp.ToDynamic(); + break; + + case FIRST_ORDER_FORWARD: + for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + + } + + + break; + case SECOND_ORDER_FORWARD: + for (it = entry.ids.begin(); it != entry.ids.end(); ++it) { + + } + break; + case THIRD_ORDER_FORWARD: + break; default: std::cout << "Unknown Derivative Trace Level.\n"; @@ -626,16 +856,15 @@ namespace atl { ParameterTransformation& GetParameterTransformation() { return this->transformation; } - + /** * Returns the variables transformation functor. * @return */ void SetParameterTransformation(ParameterTransformation* trans) { - this->transformation = trans; + this->transformation = trans; } - /** * Returns the max boundary. * @@ -668,15 +897,15 @@ namespace atl { * Sets the min boundary. */ void SetMinBoundary(REAL_T min_boundary) { - this->bounded_m = true; + this->bounded_m = true; this->min_boundary_m = min_boundary; } bool IsBounded() const { return this->bounded_m; } - - /** + + /** * Sets the boundary values for this variable. * * @param min_boundary @@ -988,11 +1217,18 @@ namespace atl { template Tape Variable::tape(10000); + template + std::vector* > Variable::assignment_operators = { + new FirstOrderAssignemnt(), + new SecondOrderAssignemnt(), + new ThirdOrderAssignemnt() + }; + template bool Variable::show = false; template - std::shared_ptr > Variable::default_transformation(new atl::LogitParameterTransformation()); + std::shared_ptr > Variable::default_transformation(new atl::SinParameterTransformation()); template std::ostream& operator<<(std::ostream& out, const Variable& v) { diff --git a/nbproject/Makefile-Debug.mk b/nbproject/Makefile-Debug.mk index e32edf5..33c09a9 100644 --- a/nbproject/Makefile-Debug.mk +++ b/nbproject/Makefile-Debug.mk @@ -17,7 +17,7 @@ RANLIB=ranlib CC=gcc CCC=g++ CXX=g++ -FC=gfortran +FC=g77 AS=as # Macros diff --git a/nbproject/Makefile-Release.mk b/nbproject/Makefile-Release.mk index d716bf0..2912269 100644 --- a/nbproject/Makefile-Release.mk +++ b/nbproject/Makefile-Release.mk @@ -17,7 +17,7 @@ RANLIB=ranlib CC=gcc CCC=clang++ CXX=clang++ -FC=gfortran +FC=g77 AS=as # Macros diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index c003fd2..9b36828 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -5,92 +5,95 @@ displayName="Header Files" projectFiles="true"> - - ATL/support/cs_sparse.hpp - ATL/support/port.hpp - - - ATL/third_party/HashContainers.hpp - ATL/third_party/get_numericalsolvers.sh - - - - ATL/Utilities/IO/Console.hpp - ATL/Utilities/IO/StreamedDataFile.hpp + + + lib/support/cs_sparse.hpp + lib/support/port.hpp + + + lib/third_party/HashContainers.hpp + lib/third_party/get_numericalsolvers.sh - ATL/Utilities/BigFloat.hpp - ATL/Utilities/CLFAllocator.hpp - ATL/Utilities/Combinations.hpp - ATL/Utilities/MemoryPool.hpp - ATL/Utilities/Platform.hpp - ATL/Utilities/Plots.hpp - ATL/Utilities/Profile.hpp - ATL/Utilities/Profiler.hpp - ATL/Utilities/SIMD.hpp - ATL/Utilities/StdMath.hpp - ATL/Utilities/StringUtil.hpp - ATL/Utilities/compressed_vector.hpp - ATL/Utilities/flat_map.hpp - ATL/Utilities/flat_set.hpp - ATL/Utilities/lazyflatset.hpp - ATL/Utilities/short_alloc.hpp - ATL/Utilities/small_set.hpp + + + lib/Utilities/IO/Console.hpp + lib/Utilities/IO/StreamedDataFile.hpp + + lib/Utilities/BigFloat.hpp + lib/Utilities/CLFAllocator.hpp + lib/Utilities/Combinations.hpp + lib/Utilities/MemoryPool.hpp + lib/Utilities/Platform.hpp + lib/Utilities/Plots.hpp + lib/Utilities/Profile.hpp + lib/Utilities/Profiler.hpp + lib/Utilities/SIMD.hpp + lib/Utilities/StdMath.hpp + lib/Utilities/StringUtil.hpp + lib/Utilities/compressed_vector.hpp + lib/Utilities/flat_map.hpp + lib/Utilities/flat_set.hpp + lib/Utilities/lazyflatset.hpp + lib/Utilities/short_alloc.hpp + lib/Utilities/small_set.hpp + + lib/ACos.hpp + lib/ASin.hpp + lib/ATL.hpp + lib/ATL_RSD.docx + lib/ATan.hpp + lib/Add.hpp + lib/CLFAllocator.hpp + lib/Ceil.hpp + lib/Cos.hpp + lib/Cosh.hpp + lib/DerivativeChecker.hpp + lib/Divide.hpp + lib/DynamicExpression.hpp + lib/Exp.hpp + lib/Expression.hpp + lib/Fabs.hpp + lib/Floor.hpp + lib/FunctionMinimizer.hpp + lib/Helpers.hpp + lib/LICENSE.md + lib/Live-variables-Hessian.pdf + lib/Log.hpp + lib/Log10.hpp + lib/Makefile + lib/Matrix.hpp + lib/MatrixUtilities.hpp + lib/MinMax.hpp + lib/Multiply.hpp + lib/Optimization.hpp + lib/Optimization.hpp_backup + lib/Optimization.hpp_backup2 + lib/Platform.hpp + lib/Pow.hpp + lib/README.md + lib/Real.hpp + lib/SIMD.hpp + lib/Serialize.hpp + lib/Sign.h + lib/Sin.hpp + lib/Sinh.hpp + lib/Sqrt.hpp + lib/Subtract.hpp + lib/Tan.hpp + lib/Tanh.hpp + lib/Tape.hpp + lib/ThreadPool.hpp + lib/Traits.hpp + lib/Transformations.h + lib/Variable.hpp + lib/VariableInfo.hpp + lib/Vector.hpp + lib/ad_cmath.hpp + lib/clfmalloc.h + lib/higher_order_rm_ad.pdf + lib/notes.txt - ATL/ACos.hpp - ATL/ASin.hpp - ATL/ATL.hpp - ATL/ATL_RSD.docx - ATL/ATan.hpp - ATL/Add.hpp - ATL/CLFAllocator.hpp - ATL/Ceil.hpp - ATL/Cos.hpp - ATL/Cosh.hpp - ATL/DerivativeChecker.hpp - ATL/Divide.hpp - ATL/DynamicExpression.hpp - ATL/Exp.hpp - ATL/Expression.hpp - ATL/Fabs.hpp - ATL/Floor.hpp - ATL/FunctionMinimizer.hpp - ATL/Helpers.hpp - ATL/LICENSE.md - ATL/Live-variables-Hessian.pdf - ATL/Log.hpp - ATL/Log10.hpp - ATL/Makefile - ATL/Matrix.hpp - ATL/MatrixUtilities.hpp - ATL/MinMax.hpp - ATL/Multiply.hpp - ATL/Optimization.hpp - ATL/Optimization.hpp_backup - ATL/Optimization.hpp_backup2 - ATL/Platform.hpp - ATL/Pow.hpp - ATL/README.md - ATL/Real.hpp - ATL/SIMD.hpp - ATL/Serialize.hpp - ATL/Sign.h - ATL/Sin.hpp - ATL/Sinh.hpp - ATL/Sqrt.hpp - ATL/Subtract.hpp - ATL/Tan.hpp - ATL/Tanh.hpp - ATL/Tape.hpp - ATL/ThreadPool.hpp - ATL/Traits.hpp - ATL/Transformations.h - ATL/Variable.hpp - ATL/VariableInfo.hpp - ATL/Vector.hpp - ATL/ad_cmath.hpp - ATL/clfmalloc.h - ATL/higher_order_rm_ad.pdf - ATL/notes.txt + ATL.hpp /Users/matthewsupernaw/NetBeansProjects/ATL_v2 ATL + lib Makefile @@ -141,167 +145,169 @@ - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - @@ -340,167 +346,169 @@ - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 8ff5e72..2f5d881 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -7,54 +7,8 @@ - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Traits.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Tape.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Utilities/StringUtil.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Utilities/IO/StreamedDataFile.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/CLFAllocator.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/DerivativeChecker.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Optimization.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Tanh.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Log.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/clfmalloc.h - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Add.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Vector.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Tests/AutoDiffTests.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Cosh.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Ceil.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/ATL.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Divide.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Tan.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/support/cs_sparse.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/ThreadPool.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Cos.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Fabs.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/main.cpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Sqrt.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Sinh.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/DynamicExpression.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/VariableInfo.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Transformations.h - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Matrix.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Pow.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/ASin.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/MatrixUtilities.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Log10.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Sin.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Exp.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Tests/FunctionMinimizerTests.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Platform.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Multiply.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/SIMD.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Sign.h - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Expression.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Variable.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Subtract.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/ACos.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Real.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/support/port.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/ATan.hpp - file:/Users/matthewsupernaw/NetBeansProjects/ATL_v2/Floor.hpp + file:/Users/mattadmin/NetBeansProjects/ATL/lib/Utilities/StringUtil.hpp + file:/Users/mattadmin/NetBeansProjects/ATL/lib/DynamicExpression.hpp diff --git a/nbproject/project.xml b/nbproject/project.xml index ab021f5..491aac6 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -12,6 +12,7 @@ /Users/matthewsupernaw/NetBeansProjects/ATL_v2 ATL + lib