Go to the documentation of this file.00001
00009
00010
00011
00012
00013 #include <iostream>
00014 #include <string>
00015 #include <gtest/gtest.h>
00016 #include <ecl/formatters/floats.hpp>
00017 #include <ecl/formatters/strings.hpp>
00018 #include "../../include/ecl/geometry/tension_function.hpp"
00019
00020
00021
00022
00023
00024 using std::string;
00025 using ecl::RightAlign;
00026 using ecl::Format;
00027 using ecl::TensionFunction;
00028
00029
00030
00031
00032
00033 TEST(TensionFunction,allEggsInOneBasket) {
00034
00035 SUCCEED();
00036 }
00037
00038
00039
00040
00041 int main(int argc, char **argv) {
00042
00043 Format<string> string_format; string_format.width(8); string_format.align(RightAlign);
00044 Format<double> format; format.width(8); format.precision(2); format.align(RightAlign);
00045
00046 std::cout << std::endl;
00047 std::cout << "***********************************************************" << std::endl;
00048 std::cout << " Constructors" << std::endl;
00049 std::cout << "***********************************************************" << std::endl;
00050 std::cout << std::endl;
00051
00052 TensionFunction function;
00053 function = TensionFunction::Interpolation(2.0,1.0,2.0,3.0,2.0,3.0);
00054
00055 std::cout << "f(tau,x) =" << std::endl;
00056 std::cout << function << std::endl;
00057
00058 std::cout << string_format("t=0.01");
00059 std::cout << string_format("t=1");
00060 std::cout << string_format("t=2");
00061 std::cout << string_format("t=3");
00062 std::cout << string_format("t=4");
00063 std::cout << string_format("t=10") << std::endl;
00064 for ( int i = 0; i <= 50; ++i ) {
00065 std::cout << format(function(0.01,2.0 + 0.02*i));
00066 for ( int j = 1; j < 5; j+=1 ) {
00067 std::cout << format(function(1.0*j,2.0 + 0.02*i));
00068 }
00069 std::cout << format(function(10.0,2.0 + 0.02*i));
00070 std::cout << std::endl;
00071 }
00072
00073 std::cout << std::endl;
00074 std::cout << "***********************************************************" << std::endl;
00075 std::cout << " Derivatives" << std::endl;
00076 std::cout << "***********************************************************" << std::endl;
00077 std::cout << std::endl;
00078
00079 std::cout << string_format("t=0.01");
00080 std::cout << string_format("t=1");
00081 std::cout << string_format("t=2");
00082 std::cout << string_format("t=3");
00083 std::cout << string_format("t=4");
00084 std::cout << string_format("t=10") << std::endl;
00085 for ( int i = 0; i <= 50; ++i ) {
00086 std::cout << format(function.derivative(0.01,2.0 + 0.02*i));
00087 for ( int j = 1; j < 5; j+=1 ) {
00088 std::cout << format(function.derivative(1.0*j,2.0 + 0.02*i));
00089 }
00090 std::cout << format(function.derivative(10.0,2.0 + 0.02*i));
00091 std::cout << std::endl;
00092 }
00093
00094
00095 std::cout << std::endl;
00096 std::cout << "***********************************************************" << std::endl;
00097 std::cout << " 2nd Derivatives" << std::endl;
00098 std::cout << "***********************************************************" << std::endl;
00099 std::cout << std::endl;
00100
00101 std::cout << string_format("t=0.01");
00102 std::cout << string_format("t=1");
00103 std::cout << string_format("t=2");
00104 std::cout << string_format("t=3");
00105 std::cout << string_format("t=4");
00106 std::cout << string_format("t=10") << std::endl;
00107 for ( int i = 0; i <= 50; ++i ) {
00108 std::cout << format(function.dderivative(0.01,2.0 + 0.02*i));
00109 for ( int j = 1; j < 5; j+=1 ) {
00110 std::cout << format(function.dderivative(1.0*j,2.0 + 0.02*i));
00111 }
00112 std::cout << format(function.dderivative(10.0,2.0 + 0.02*i));
00113 std::cout << std::endl;
00114 }
00115
00116
00117 std::cout << std::endl;
00118 std::cout << "***********************************************************" << std::endl;
00119 std::cout << " Passed" << std::endl;
00120 std::cout << "***********************************************************" << std::endl;
00121 std::cout << std::endl;
00122
00123 testing::InitGoogleTest(&argc,argv);
00124 return RUN_ALL_TESTS();
00125 }
00126
00127