113
edits
Changes
A-Team
,→Final Profile
=== Assignment 1 ===
Our group decided to profile a couple of different solutions, the first being a simple neural network and ray tracing solution, in order to determine the best project to generate a solution for.
======Sebastian's findings======
I found a simple [https://gist.github.com/sbugrov/7f373f0e4788f8e076b8efa2abfd227a neural network] that takes a MNIST data set and preforms training on batches of the data. For a quick illustration MNIST is a numerical data set that contains many written numbers --in a gray scale format at 28 x 28 pixels in size. As well as the corresponding numerical values; between 0 and 9. The reason for this data set is to train networks such that they will be able to recognize written numbers when they confront them.
ReluPrime = f(x) = {0 for x > 0, 1 otherwise}
=====Code Snippets=====
// Back propagation
return output;
}
index % time self children called name 0.02 1.24 1/15 SphereTest() [26] 0.02 1.24 1/15 CuboidTest() [22] 0.02 1.24 1/15 SetDifferenceTest() [21] 0.02 1.24 1/15 CylinderTest() [23] 0.02 1.24 1/15 SpheroidTest() [24] 0.02 1.24 1/15 SetIntersectionTest() [19] 0.02 1.24 1/15 MultipleSphereTest() [25] 0.02 1.24 1/15 PolyhedraTest() [27] 0.02 1.24 1/15 BitDonutTest() [20] 0.02 1.24 1/15 SaturnTest() [18] 0.02 1.24 1/15 DodecahedronOverlapTest() [28] 0.02 1.24 1/15 BlockTest() [17] 0.02 1.24 1/15 ChessBoardTest() [16] 0.04 2.48 2/15 TorusTest(char const*, double) [12][1] 99.3 0.33 18.64 15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.67 17.36 12440000/12440000 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9] 0.00 0.62 15/15 lodepng::encode(std::string const&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [33] 0.00 0.00 15/15 lodepng::encode(std::string const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, LodePNGColorType, unsigned int) [147]-----------------------------------------------[2] 94.4 0.67 17.36 12440000+20912644 <cycle 4 as a whole> [2] 0.17 9.87 8573986 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5] 0.20 7.37 18609329 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9] 0.25 0.12 3262804 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int argmax , double&) const <cycle 4> [40] 0.05 0.00 2906525 Imager::Scene::CalculateReflection(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [58]----------------------------------------------- <spontaneous>[3] 92.9 0.00 17.73 UnitTests() [3] 0.00 2.53 2/2 TorusTest(char const*, double) [12] 0.00 1.28 1/1 ChessBoardTest() [16] 0.00 1.27 1/1 BlockTest() [17] 0.00 1.27 1/1 SaturnTest() [18] 0.00 1.27 1/1 SetIntersectionTest() [19] 0.00 1.27 1/1 BitDonutTest() [20] 0.00 1.27 1/1 SetDifferenceTest() [21] 0.00 1.26 1/1 CylinderTest() [23] 0.00 1.26 1/1 CuboidTest() [22] 0.00 1.26 1/1 SpheroidTest() [24] 0.00 1.26 1/1 MultipleSphereTest() [25] 0.00 1.26 1/1 DodecahedronOverlapTest() [28] 0.00 1.26 1/1 PolyhedraTest() [27] 0.00 0.00 1/1 Algebra::UnitTest() [91]----------------------------------------------- 0.03 0.10 170828/14003920 Imager::SolidObject::Contains(Imager::Vector const&) const [48] 0.04 0.12 205218/14003920 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 1.10 3.46 5760000/14003920 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10] 1.50 4.72 7867874/14003920 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7][4] 58.0 2.67 8.40 14003920 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4] 8.38 0.00 406030768/406030768 Algebra::SolveLinearEquations(double, double, double, double, double, double, double, double, double, double, double, double, double&, double&, double&) [8] 0.02 0.00 3538132/3538132 Imager::TriangleMesh::NormalVector( Imager::TriangleMesh::Triangle const &) const [70] 0.00 0.00 8/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector <floatImager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 8573986 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9][5] 52.6 0.17 9.87 8573986 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5] 0.60 9.17 8534998/8534998 Imager::Scene::CalculateMatte(Imager::Intersection const&) const [6] 0.04 0.04 3522280/3522280 Imager::SolidObject_Reorientable::SurfaceOptics(Imager::Vector const&, void const*) const [53] 0.03 0.00 3617416/3617416 Imager::SolidObject::SurfaceOptics(Imager::Vector const&, void const*) const [66] 0.00 0.00 1395302/1395302 Imager::TriangleMesh::SurfaceOptics(Imager::Vector const&, void const*) const [105] 3262804 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40] 2906525 Imager::Scene::CalculateReflection(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [58]----------------------------------------------- 0.60 9.17 8534998/8534998 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4>[5][6] 51.1 0.60 9.17 8534998 Imager::Scene::CalculateMatte(Imager::Intersection const&) const [6] 0.17 9.00 22928551/22928551 Imager::Scene::HasClearLineOfSight(Imager::Vector const& m , Imager::Vector const&) const [7]----------------------------------------------- 0.17 9.00 22928551/22928551 Imager::Scene::CalculateMatte(Imager::Intersection const&) const [6][7] 48.0 0.17 9.00 22928551 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7] 1.50 4.72 7867874/14003920 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4] 0.19 0.83 15801057/50859850 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11] 0.84 0.00 38169893/66701722 Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [14] 0.00 0.30 2698530/5946530 Imager::SetIntersection::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [30] 0.00 0.30 2698530/11893060 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.00 0.16 2486753/13944693 Imager::SetUnion::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [29] 0.14 0.00 64537354/83146683 Imager::PickClosestIntersection(std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > const&, Imager::Intersection&) [47]----------------------------------------------- 8.38 0.00 406030768/406030768 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4][8] 43.9 8.38 0.00 406030768 Algebra::SolveLinearEquations(double, double, double, double, double, double, double, double, double, double, double, double, double&, double&, double&) [8]----------------------------------------------- 2906525 Imager::Scene::CalculateReflection(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [58] 3262804 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40] 0.67 17.36 12440000/12440000 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1][9] 39.6 0.20 7.37 18609329 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9] 0.21 7.13 18609329/18609329 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10] 0.04 0.00 18609329/83146683 Imager::PickClosestIntersection(std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > const&, Imager::Intersection&) [47] 8573986 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5]----------------------------------------------- 0.21 7.13 18609329/18609329 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9][10] 38.4 0.21 7.13 18609329 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10] 1.10 3.46 5760000/14003920 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4] 0.15 0.64 12094646/50859850 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11] 0.57 0.00 25863441/66701722 Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [14] 0.01 0.47 7280621/13944693 Imager::SetUnion::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [29] 0.01 0.37 3248000/5946530 Imager::SetIntersection::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [30] 0.01 0.36 3248000/11893060 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15]----------------------------------------------- 0.05 0.22 4177319/50859850 Imager::SetComplement::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [35] 0.06 0.25 4842135/50859850 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.15 0.64 12094646/50859850 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10] 0.17 0.73 13944693/50859850 Imager::SetUnion::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [29] 0.19 0.83 15801057/50859850 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7][11] 17.2 0.62 2.67 50859850 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11] 1.55 0.33 34580399/34580399 Imager::Cuboid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [13] 0.04 0.49 5171490/5171490 Imager::Torus::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [37] 0.08 0.04 3115245/3115245 Imager::Spheroid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [50] 0.11 0.00 7514037/7514037 Imager::ThinRing::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [51] 0.00 0.04 478679/478679 Imager::Cylinder::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [60]----------------------------------------------- 0.00 2.53 2/2 UnitTests() [3][12] 13.3 0.00 2.53 2 TorusTest(char const*, double) [12] 0.04 2.48 2/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 2/6 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 2/7 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 2/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 4/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 4/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 4/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 2/18 Imager::SolidObject_Reorientable::RotateX(double) [133] 0.00 0.00 2/15 Imager::Scene::~Scene() [146] 0.00 0.00 2/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 1.55 0.33 34580399/34580399 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11][13] 9.9 1.55 0.33 34580399 Imager::Cuboid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [13] 0.33 0.00 108617482/118023768 Imager::Cuboid::ObjectSpace_Contains(Imager::Vector const&) const [42] 0.00 0.00 9/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.02 0.00 1090769/66701722 Imager::SetComplement::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [35] 0.03 0.00 1577619/66701722 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.57 0.00 25863441/66701722 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10] 0.84 0.00 38169893/66701722 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7][14] 7.7 1.48 0.00 66701722 Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [14] 0.00 0.00 24/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.00 0.30 2698530/11893060 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7] 0.01 0.36 3248000/11893060 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10] 0.01 0.66 5946530/11893060 Imager::SetIntersection::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [30][15] 7.0 0.02 1.32 11893060 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.01 0.57 5268088/5268088 Imager::SetComplement::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [35] 0.06 0.25 4842135/50859850 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11] 0.04 0.12 205218/14003920 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4] 0.02 0.14 170828/170828 Imager::SolidObject::Contains(Imager::Vector const&) const [48] 0.01 0.04 3170898/3170898 Imager::SetComplement::Contains(Imager::Vector const&) const [57] 0.03 0.00 1577619/66701722 Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [14] 0.01 0.01 2068572/9484218 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52] 0.01 0.00 1497631/11368907 Imager::Sphere::Contains(Imager::Vector const&) const [55] 0.00 0.00 23/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.00 1.28 1/1 UnitTests() [3][16] 6.7 0.00 1.28 1 ChessBoardTest() [16] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.02 0.00 1/1 Imager::SolidObject_Reorientable::RotateZ(double) [69] 0.00 0.00 1/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 3/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 3/6 Imager::Optics::SetOpacity(double) [152] 0.00 0.00 3/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 3/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 1/1 Imager::ChessBoard::ChessBoard(double, double, double, double, Imager::Color const&, Imager::Color const&, Imager::Color const&) [172] 0.00 0.00 1/18 Imager::SolidObject_Reorientable::RotateX(double) [133] 0.00 0.00 1/15 Imager::Scene::~Scene() [146]----------------------------------------------- 0.00 1.27 1/1 UnitTests() [3][17] 6.6 0.00 1.27 1 BlockTest() [17] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/6 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 1/7 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 1/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 2/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 1/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/1425505 Imager::Optics::SetMatteColor(Imager::Color const&) [72] 0.00 0.00 1/1 Imager::Optics::SetGlossColor(Imager::Color const&) [97] 0.00 0.00 3/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 2/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/6 Imager::Optics::SetOpacity(double) [152] 0.00 0.00 1/15 Imager::Scene::~Scene() [146]----------------------------------------------- 0.00 1.27 1/1 UnitTests() [3][18] 6.6 0.00 1.27 1 SaturnTest() [18] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/6 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 1/7 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 1/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 1/1 Imager::Saturn::CreateRingSystem() [92] 0.00 0.00 1/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 0.00 1.27 1/1 UnitTests() [3][19] 6.6 0.00 1.27 1 SetIntersectionTest() [19] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/6 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 1/7 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 1/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 2/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127]----------------------------------------------- 0.00 1.27 1/1 UnitTests() [3][20] 6.6 0.00 1.27 1 BitDonutTest() [20] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/6 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 1/7 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 1/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 2/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 0.00 1.27 1/1 UnitTests() [3][21] 6.6 0.00 1.27 1 SetDifferenceTest() [21] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/7 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 1/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 2/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 0.00 1.26 1/1 UnitTests() [3][22] 6.6 0.00 1.26 1 CuboidTest() [22] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 1/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/18 Imager::SolidObject_Reorientable::RotateX(double) [133] 0.00 0.00 1/15 Imager::SolidObject_Reorientable::RotateY(double) [144] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127]----------------------------------------------- 0.00 1.26 1/1 UnitTests() [3][23] 6.6 0.00 1.26 1 CylinderTest() [23] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 1/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/18 Imager::SolidObject_Reorientable::RotateX(double) [133] 0.00 0.00 1/15 Imager::SolidObject_Reorientable::RotateY(double) [144] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127]----------------------------------------------- 0.00 1.26 1/1 UnitTests() [3][24] 6.6 0.00 1.26 1 SpheroidTest() [24] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 2/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 1/18 Imager::SolidObject_Reorientable::RotateX(double) [133] 0.00 0.00 1/15 Imager::SolidObject_Reorientable::RotateY(double) [144] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 0.00 1.26 1/1 UnitTests() [3][25] 6.6 0.00 1.26 1 MultipleSphereTest() [25] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 2/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 3/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 2/6 Imager::Optics::SetOpacity(double) [152] 0.00 0.00 2/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/15 Imager::Scene::~Scene() [146]----------------------------------------------- <spontaneous>[26] 6.6 0.00 1.26 SphereTest() [26] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 1/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127]----------------------------------------------- 0.00 1.26 1/1 UnitTests() [3][27] 6.6 0.00 1.26 1 PolyhedraTest() [27] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 3/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 2/3 Imager::TriangleMesh::RotateY(double) [158] 0.00 0.00 2/3 Imager::TriangleMesh::RotateX(double) [157] 0.00 0.00 2/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132] 0.00 0.00 1/1 Imager::Icosahedron::Icosahedron(Imager::Vector, double, Imager::Optics const&) [174] 0.00 0.00 1/2 Imager::Dodecahedron::Dodecahedron(Imager::Vector, double, Imager::Optics const&) [163] 0.00 0.00 1/15 Imager::Scene::~Scene() [146]----------------------------------------------- 0.00 1.26 1/1 UnitTests() [3][28] 6.6 0.00 1.26 1 DodecahedronOverlapTest() [28] 0.02 1.24 1/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1] 0.00 0.00 3/29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127] 0.00 0.00 1/2 Imager::Dodecahedron::Dodecahedron(Imager::Vector, double, Imager::Optics const&) [163] 0.00 0.00 1/3 Imager::TriangleMesh::RotateX(double) [157] 0.00 0.00 1/3 Imager::TriangleMesh::RotateY(double) [158] 0.00 0.00 1/15 Imager::Scene::~Scene() [146] 0.00 0.00 1/20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 0.00 0.16 2486753/13944693 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7] 0.01 0.27 4177319/13944693 Imager::SetComplement::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [35] 0.01 0.47 7280621/13944693 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10][29] 4.8 0.02 0.90 13944693 Imager::SetUnion::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [29] 0.17 0.73 13944693/50859850 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11]----------------------------------------------- 0.00 0.30 2698530/5946530 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7] 0.01 0.37 3248000/5946530 Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const [10][30] 3.6 0.01 0.67 5946530 Imager::SetIntersection::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [30] 0.01 0.66 5946530/11893060 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15]----------------------------------------------- 0.00 0.62 15/15 lodepng_encode_memory(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [32][31] 3.2 0.00 0.62 15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31] 0.00 0.51 15/15 lodepng_zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [38] 0.01 0.05 3721/17010 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45] 0.01 0.01 15/15 lodepng_convert(unsigned char*, unsigned char const*, LodePNGColorMode*, LodePNGColorMode*, unsigned int, unsigned int) [67] 0.01 0.00 627238/627238 color_tree_has(ColorTree*, unsigned char, unsigned char, unsigned char, unsigned char) [76] 0.00 0.01 30/45 lodepng_add32bitInt(ucvector*, unsigned int) [73] 0.01 0.00 1841000/3682000 getPixelColorRGBA8(unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char const*, unsigned long, LodePNGColorMode const*) [74] 0.00 0.00 195/738585 ucvector_push_back(ucvector*, unsigned char) [39] 0.00 0.00 607/607 lodepng_palette_add(LodePNGColorMode*, unsigned char, unsigned char, unsigned char, unsigned char) [112] 0.00 0.00 48/48 addUnknownChunks(ucvector*, unsigned char*, unsigned long) [120] 0.00 0.00 45/45 lodepng_chunk_create(unsigned char**, unsigned long*, unsigned int, char const*, unsigned char const*) [121] 0.00 0.00 30/30 checkColorValidity(LodePNGColorType, unsigned int) [126] 0.00 0.00 15/30 lodepng_info_init(LodePNGInfo*) [125] 0.00 0.00 15/15 lodepng_info_copy(LodePNGInfo*, LodePNGInfo const*) [136] 0.00 0.00 15/15 lodepng_can_have_alpha(LodePNGColorMode const*) [139] 0.00 0.00 15/406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107] 0.00 0.00 15/45 lodepng_info_cleanup(LodePNGInfo*) [122] 0.00 0.00 15/15 preProcessScanlines(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGInfo const*, LodePNGEncoderSettings const*) [143] 0.00 0.00 15/15 zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [141]----------------------------------------------- 0.00 0.62 15/15 lodepng::encode(std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [34][32] 3.2 0.00 0.62 15 lodepng_encode_memory(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [32] 0.00 0.62 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31] 0.00 0.00 15/15 lodepng_state_init(LodePNGState*) [137] 0.00 0.00 15/45 lodepng_info_cleanup(LodePNGInfo*) [122] 0.00 0.00 15/15 lodepng_state_cleanup(LodePNGState*) [138]----------------------------------------------- 0.00 0.62 15/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1][33] 3.2 0.00 0.62 15 lodepng::encode(std::string const&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [33] 0.00 0.62 15/15 lodepng::encode(std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [34] 0.00 0.00 15/15 lodepng::save_file(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::string const&) [148]----------------------------------------------- 0.00 0.62 15/15 lodepng::encode(std::string const&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [33][34] 3.2 0.00 0.62 15 lodepng::encode(std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [34] 0.00 0.62 15/15 lodepng_encode_memory(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [32] 0.00 0.00 15/15 void std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<unsigned char*>(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned char*, unsigned char*, std::forward_iterator_tag) [149]----------------------------------------------- 0.01 0.57 5268088/5268088 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15][35] 3.0 0.01 0.57 5268088 Imager::SetComplement::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [35] 0.01 0.27 4177319/13944693 Imager::SetUnion::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [29] 0.05 0.22 4177319/50859850 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11] 0.02 0.00 1090769/66701722 Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [14]----------------------------------------------- 0.01 0.00 15/594 lodepng_add32bitInt(ucvector*, unsigned int) [73] 0.07 0.00 81/594 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.42 0.03 498/594 ucvector_push_back(ucvector*, unsigned char) [39][36] 2.8 0.51 0.03 594 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36] 0.03 0.00 5088067/5088067 string_set(char**, char const*) [64] 0.00 0.00 652842/1447152 uivector_push_back(uivector*, unsigned int) [104] 0.00 0.00 255938/255938 searchCodeIndex(unsigned int const*, unsigned long, unsigned long) [108]----------------------------------------------- 0.04 0.49 5171490/5171490 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11][37] 2.8 0.04 0.49 5171490 Imager::Torus::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [37] 0.08 0.29 5171490/5171490 Imager::Torus::SolveIntersections(Imager::Vector const&, Imager::Vector const&, double*) const [41] 0.12 0.00 1966663/1966663 Imager::Torus::SurfaceNormal(Imager::Vector const&) const [49] 0.00 0.00 13/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.00 0.51 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][38] 2.7 0.00 0.51 15 lodepng_zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [38] 0.00 0.28 15/15 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.00 0.22 369210/738585 ucvector_push_back(ucvector*, unsigned char) [39] 0.00 0.00 15/45 lodepng_add32bitInt(ucvector*, unsigned int) [73] 0.00 0.00 15/15 update_adler32(unsigned int, unsigned char const*, unsigned int) [clone .constprop.61] [142]----------------------------------------------- 0.00 0.00 195/738585 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31] 0.00 0.22 369180/738585 addBitToStream(unsigned long*, ucvector*, unsigned char) [46] 0.00 0.22 369210/738585 lodepng_zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [38][39] 2.3 0.00 0.45 738585 ucvector_push_back(ucvector*, unsigned char) [39] 0.42 0.03 498/594 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36]----------------------------------------------- 3262804 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5][40] 1.9 0.25 0.12 3262804 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40] 0.05 0.00 9132218/11368907 Imager::Sphere::Contains(Imager::Vector const&) const [55] 0.02 0.01 3203808/9484218 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52] 0.03 0.00 3262804/6856730 Algebra::SolveQuadraticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [56] 0.01 0.00 3262804/12028218 Algebra::FilterRealNumbers(int, std::complex<double> const*, double*) [59] 3262804 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9]----------------------------------------------- 0.08 0.29 5171490/5171490 Imager::Torus::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [37][41] 1.9 0.08 0.29 5171490 Imager::Torus::SolveIntersections(Imager::Vector const&, Imager::Vector const&, double*) const [41] 0.24 0.03 5171490/5171493 Algebra::SolveQuarticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [44] 0.02 0.00 5171490/12028218 Algebra::FilterRealNumbers(int, std::complex<double> const*, double*) [59]----------------------------------------------- 0.03 0.00 9406286/118023768 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52] 0.33 0.00 108617482/118023768 Imager::Cuboid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [13][42] 1.9 0.36 0.00 118023768 Imager::Cuboid::ObjectSpace_Contains(Imager::Vector const&) const [42]----------------------------------------------- 0.00 0.28 15/15 lodepng_zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [38][43] 1.5 0.00 0.28 15 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.02 0.17 12676/17010 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45] 0.07 0.00 81/594 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36] 0.00 0.01 243/243 HuffmanTree_makeFromFrequencies(HuffmanTree*, unsigned int const*, unsigned long, unsigned int) [80] 0.00 0.00 9043/2953369 addBitToStream(unsigned long*, ucvector*, unsigned char) [46] 0.00 0.00 39141/1447152 uivector_push_back(uivector*, unsigned int) [104] 0.00 0.00 243/729 uivector_resizev(uivector*, unsigned long, unsigned int) [clone .constprop.64] [111] 0.00 0.00 243/243 HuffmanTree_cleanup(HuffmanTree*) [113] 0.00 0.00 243/243 HuffmanTree_makeFromLengths2(HuffmanTree*) [114] 0.00 0.00 81/406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107]----------------------------------------------- 0.00 0.00 3/5171493 Algebra::TestKnownQuarticRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [93] 0.24 0.03 5171490/5171493 Imager::Torus::SolveIntersections(Imager::Vector const&, Imager::Vector const&, double*) const [41][44] 1.4 0.24 0.03 5171493 Algebra::SolveQuarticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [44] 0.03 0.00 5171286/5171292 Algebra::cbrt(std::complex<double>, int) [62]----------------------------------------------- 3050925 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45] 0.00 0.01 613/17010 lodepng_convert(unsigned char*, unsigned char const*, LodePNGColorMode*, LodePNGColorMode*, unsigned int, unsigned int) [67] 0.01 0.05 3721/17010 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31] 0.02 0.17 12676/17010 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43][45] 1.4 0.03 0.23 17010+3050925 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45] 0.01 0.22 2944326/2953369 addBitToStream(unsigned long*, ucvector*, unsigned char) [46] 3050925 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45]----------------------------------------------- 0.00 0.00 9043/2953369 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.01 0.22 2944326/2953369 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45][46] 1.2 0.01 0.22 2953369 addBitToStream(unsigned long*, ucvector*, unsigned char) [46] 0.00 0.22 369180/738585 ucvector_push_back(ucvector*, unsigned char) [39]----------------------------------------------- 0.04 0.00 18609329/83146683 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9] 0.14 0.00 64537354/83146683 Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const [7][47] 0.9 0.18 0.00 83146683 Imager::PickClosestIntersection(std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > const&, Imager::Intersection&) [47]----------------------------------------------- 0.02 0.14 170828/170828 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15][48] 0.8 0.02 0.14 170828 Imager::SolidObject::Contains(Imager::Vector const&) const [48] 0.03 0.10 170828/14003920 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4]----------------------------------------------- 0.12 0.00 1966663/1966663 Imager::Torus::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [37][49] 0.6 0.12 0.00 1966663 Imager::Torus::SurfaceNormal(Imager::Vector const&) const [49]----------------------------------------------- 0.08 0.04 3115245/3115245 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11][50] 0.6 0.08 0.04 3115245 Imager::Spheroid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [50] 0.03 0.00 3115245/6856730 Algebra::SolveQuadraticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [56] 0.01 0.00 3115245/12028218 Algebra::FilterRealNumbers(int, std::complex<double> const*, double*) [59] 0.00 0.00 6/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.11 0.00 7514037/7514037 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11][51] 0.6 0.11 0.00 7514037 Imager::ThinRing::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [51] 0.00 0.00 2/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.01 0.01 1779998/9484218 Imager::SetComplement::Contains(Imager::Vector const&) const [57] 0.01 0.01 2068572/9484218 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.01 0.01 2431840/9484218 Imager::SetUnion::Contains(Imager::Vector const&) const [68] 0.02 0.01 3203808/9484218 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40][52] 0.5 0.05 0.04 9484218 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52] 0.03 0.00 9406286/118023768 Imager::Cuboid::ObjectSpace_Contains(Imager::Vector const&) const [42] 0.01 0.00 77932/77932 Imager::Torus::ObjectSpace_Contains(Imager::Vector const&) const [77]----------------------------------------------- 0.04 0.04 3522280/3522280 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5][53] 0.4 0.04 0.04 3522280 Imager::SolidObject_Reorientable::SurfaceOptics(Imager::Vector const&, void const*) const [53] 0.01 0.02 1425504/1425504 Imager::ChessBoard::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const [65] 0.01 0.00 2096776/2096776 Imager::SolidObject_Reorientable::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const [75]----------------------------------------------- <spontaneous>[54] 0.3 0.07 0.00 Imager::Scene::PolarizedReflection(double, double, double, double) const [54]----------------------------------------------- 0.00 0.00 739058/11368907 Imager::SetComplement::Contains(Imager::Vector const&) const [57] 0.01 0.00 1497631/11368907 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.05 0.00 9132218/11368907 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40][55] 0.3 0.06 0.00 11368907 Imager::Sphere::Contains(Imager::Vector const&) const [55]----------------------------------------------- 0.00 0.00 2/6856730 Algebra::TestKnownQuadraticRoots(std::complex<double>, std::complex<double>, std::complex<double>) [96] 0.00 0.00 478679/6856730 Imager::Cylinder::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [60] 0.03 0.00 3115245/6856730 Imager::Spheroid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [50] 0.03 0.00 3262804/6856730 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40][56] 0.3 0.06 0.00 6856730 Algebra::SolveQuadraticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [56]----------------------------------------------- 0.01 0.04 3170898/3170898 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15][57] 0.3 0.01 0.04 3170898 Imager::SetComplement::Contains(Imager::Vector const&) const [57] 0.00 0.02 2431840/2431840 Imager::SetUnion::Contains(Imager::Vector const&) const [68] 0.01 0.01 1779998/9484218 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52] 0.00 0.00 739058/11368907 Imager::Sphere::Contains(Imager::Vector const&) const [55]----------------------------------------------- 2906525 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5][58] 0.3 0.05 0.00 2906525 Imager::Scene::CalculateReflection(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [58] 2906525 Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [9]----------------------------------------------- 0.00 0.00 478679/12028218 Imager::Cylinder::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [60] 0.01 0.00 3115245/12028218 Imager::Spheroid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [50] 0.01 0.00 3262804/12028218 Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const <cycle 4> [40] 0.02 0.00 5171490/12028218 Imager::Torus::SolveIntersections(Imager::Vector const&, Imager::Vector const&, double*) const [41][59] 0.2 0.04 0.00 12028218 Algebra::FilterRealNumbers(int, std::complex<double> const*, double*) [59]----------------------------------------------- 0.00 0.04 478679/478679 Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [11][60] 0.2 0.00 0.04 478679 Imager::Cylinder::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [60] 0.03 0.00 957358/957358 Imager::Cylinder::AppendDiskIntersection(Imager::Vector const&, Imager::Vector const&, double, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [63] 0.00 0.00 478679/6856730 Algebra::SolveQuadraticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [56] 0.00 0.00 478679/12028218 Algebra::FilterRealNumbers(int, std::complex<double> const*, double*) [59] 0.00 0.00 1/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- <spontaneous>[61] 0.2 0.03 0.00 frame_dummy [61]----------------------------------------------- 0.00 0.00 6/5171292 Algebra::SolveCubicEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [94] 0.03 0.00 5171286/5171292 Algebra::SolveQuarticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [44][62] 0.2 0.03 0.00 5171292 Algebra::cbrt(std::complex<double>, int) [62]----------------------------------------------- 0.03 0.00 957358/957358 Imager::Cylinder::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [60][63] 0.2 0.03 0.00 957358 Imager::Cylinder::AppendDiskIntersection(Imager::Vector const&, Imager::Vector const&, double, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [63] 0.00 0.00 2/88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.03 0.00 5088067/5088067 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36][64] 0.2 0.03 0.00 5088067 string_set(char**, char const*) [64]----------------------------------------------- 0.01 0.02 1425504/1425504 Imager::SolidObject_Reorientable::SurfaceOptics(Imager::Vector const&, void const*) const [53][65] 0.2 0.01 0.02 1425504 Imager::ChessBoard::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const [65] 0.00 0.02 1425504/1425505 Imager::Optics::SetMatteColor(Imager::Color const&) [72] 0.00 0.00 1137648/1137648 Imager::ChessBoard::SquareCoordinate(double) const [106]----------------------------------------------- 0.03 0.00 3617416/3617416 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5][66] 0.1 0.03 0.00 3617416 Imager::SolidObject::SurfaceOptics(Imager::Vector const&, void const*) const [66]----------------------------------------------- 0.01 0.01 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][67] 0.1 0.01 0.01 15 lodepng_convert(unsigned char*, unsigned char const*, LodePNGColorMode*, LodePNGColorMode*, unsigned int, unsigned int) [67] 0.00 0.01 613/17010 addBitsToStreamReversed(unsigned long*, ucvector*, unsigned int, unsigned long) [45] 0.01 0.00 1841000/3682000 getPixelColorRGBA8(unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char const*, unsigned long, LodePNGColorMode const*) [74] 0.00 0.00 15/406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107]----------------------------------------------- 0.00 0.02 2431840/2431840 Imager::SetComplement::Contains(Imager::Vector const&) const [57][68] 0.1 0.00 0.02 2431840 Imager::SetUnion::Contains(Imager::Vector const&) const [68] 0.01 0.01 2431840/9484218 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52]----------------------------------------------- 0.02 0.00 1/1 ChessBoardTest() [16][69] 0.1 0.02 0.00 1 Imager::SolidObject_Reorientable::RotateZ(double) [69]----------------------------------------------- 0.02 0.00 3538132/3538132 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4][70] 0.1 0.02 0.00 3538132 Imager::TriangleMesh::NormalVector(Imager::TriangleMesh::Triangle const&) const [70]----------------------------------------------- 0.00 0.00 1/1425590 Imager::Optics::SetGlossColor(Imager::Color const&) [97] 0.00 0.00 84/1425590 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.02 0.00 1425505/1425590 Imager::Optics::SetMatteColor(Imager::Color const&) [72][71] 0.1 0.02 0.00 1425590 Imager::Optics::ValidateReflectionColor(Imager::Color const&) const [71]----------------------------------------------- 0.00 0.00 1/1425505 BlockTest() [17] 0.00 0.02 1425504/1425505 Imager::ChessBoard::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const [65][72] 0.1 0.00 0.02 1425505 Imager::Optics::SetMatteColor(Imager::Color const&) [72] 0.02 0.00 1425505/1425590 Imager::Optics::ValidateReflectionColor(Imager::Color const&) const [71]----------------------------------------------- 0.00 0.00 15/45 lodepng_zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [38] 0.00 0.01 30/45 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][73] 0.1 0.00 0.01 45 lodepng_add32bitInt(ucvector*, unsigned int) [73] 0.01 0.00 15/594 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36]----------------------------------------------- 0.01 0.00 1841000/3682000 lodepng_convert(unsigned char*, unsigned char const*, LodePNGColorMode*, LodePNGColorMode*, unsigned int, unsigned int) [67] 0.01 0.00 1841000/3682000 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][74] 0.1 0.01 0.00 3682000 getPixelColorRGBA8(unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char const*, unsigned long, LodePNGColorMode const*) [74]----------------------------------------------- 0.01 0.00 2096776/2096776 Imager::SolidObject_Reorientable::SurfaceOptics(Imager::Vector const&, void const*) const [53][75] 0.1 0.01 0.00 2096776 Imager::SolidObject_Reorientable::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const [75]----------------------------------------------- 0.01 0.00 627238/627238 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][76] 0.1 0.01 0.00 627238 color_tree_has(ColorTree*, unsigned char, unsigned char, unsigned char, unsigned char) [76]----------------------------------------------- 0.01 0.00 77932/77932 Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const [52][77] 0.1 0.01 0.00 77932 Imager::Torus::ObjectSpace_Contains(Imager::Vector const&) const [77]----------------------------------------------- 0.01 0.00 3016/3016 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79][78] 0.1 0.01 0.00 3016 sort_coins(Coin*, unsigned long) [78]----------------------------------------------- 0.00 0.01 243/243 HuffmanTree_makeFromFrequencies(HuffmanTree*, unsigned int const*, unsigned long, unsigned int) [80][79] 0.1 0.00 0.01 243 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79] 0.01 0.00 3016/3016 sort_coins(Coin*, unsigned long) [78] 0.00 0.00 573312/1447152 uivector_push_back(uivector*, unsigned int) [104] 0.00 0.00 167321/406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107] 0.00 0.00 3245/3245 cleanup_coins(Coin*, unsigned long) [109] 0.00 0.00 2787/2787 append_symbol_coins(Coin*, unsigned int const*, unsigned int, unsigned long) [110]----------------------------------------------- 0.00 0.01 243/243 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43][80] 0.1 0.00 0.01 243 HuffmanTree_makeFromFrequencies(HuffmanTree*, unsigned int const*, unsigned long, unsigned int) [80] 0.00 0.01 243/243 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79]----------------------------------------------- 0.00 0.00 1/73 CuboidTest() [22] 0.00 0.00 1/73 CylinderTest() [23] 0.00 0.00 1/73 SpheroidTest() [24] 0.00 0.00 1/73 ChessBoardTest() [16] 0.00 0.00 2/73 BlockTest() [17] 0.00 0.00 4/73 TorusTest(char const*, double) [12] 0.00 0.00 5/73 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89] 0.00 0.00 14/73 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 15/73 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 29/73 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84][81] 0.1 0.01 0.00 73 Imager::SolidObject::Translate(double, double, double) [81]----------------------------------------------- <spontaneous>[82] 0.0 0.01 0.00 Imager::SolidObject_BinaryOperator::RotateZ(double) [82]-----------------------------------------------[83] 0.0 0.00 0.00 16+6 <cycle 1 as a whole> [83] 0.00 0.00 14+4 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 8 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89]----------------------------------------------- 4 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 3 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89] 0.00 0.00 1/16 SetDifferenceTest() [21] 0.00 0.00 1/16 SetIntersectionTest() [19] 0.00 0.00 1/16 BitDonutTest() [20] 0.00 0.00 1/16 SaturnTest() [18] 0.00 0.00 1/16 BlockTest() [17] 0.00 0.00 2/16 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 2/16 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 2/16 TorusTest(char const*, double) [12][84] 0.0 0.00 0.00 14+4 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 29/73 Imager::SolidObject::Translate(double, double, double) [81] 3 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89] 4 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84]-----------------------------------------------[85] 0.0 0.00 0.00 7+26 <cycle 3 as a whole> [85] 0.00 0.00 10 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 20 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130] 0.00 0.00 3 Imager::SetComplement::RotateY(double) <cycle 3> [159]----------------------------------------------- 1 Imager::SetComplement::RotateY(double) <cycle 3> [159] 2 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130] 0.00 0.00 1/7 SetDifferenceTest() [21] 0.00 0.00 1/7 SetIntersectionTest() [19] 0.00 0.00 1/7 BitDonutTest() [20] 0.00 0.00 1/7 SaturnTest() [18] 0.00 0.00 1/7 BlockTest() [17] 0.00 0.00 2/7 TorusTest(char const*, double) [12][86] 0.0 0.00 0.00 10 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86] 0.00 0.00 15/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 3/16 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89] 0.00 0.00 2/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 20 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130]-----------------------------------------------[87] 0.0 0.00 0.00 6+23 <cycle 2 as a whole> [87] 0.00 0.00 9 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 18 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134] 0.00 0.00 2 Imager::SetComplement::RotateX(double) <cycle 2> [165]----------------------------------------------- 1 Imager::SetComplement::RotateX(double) <cycle 2> [165] 2 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134] 0.00 0.00 1/6 SetIntersectionTest() [19] 0.00 0.00 1/6 BitDonutTest() [20] 0.00 0.00 1/6 SaturnTest() [18] 0.00 0.00 1/6 BlockTest() [17] 0.00 0.00 2/6 TorusTest(char const*, double) [12][88] 0.0 0.00 0.00 9 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 14/73 Imager::SolidObject::Translate(double, double, double) [81] 0.00 0.00 2/16 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89] 0.00 0.00 2/16 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 18 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134]----------------------------------------------- 3 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84] 0.00 0.00 2/16 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88] 0.00 0.00 3/16 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86][89] 0.0 0.00 0.00 8 Imager::SetComplement::Translate(double, double, double) <cycle 1> [89] 0.00 0.00 5/73 Imager::SolidObject::Translate(double, double, double) [81] 3 Imager::SolidObject_BinaryOperator::Translate(double, double, double) <cycle 1> [84]----------------------------------------------- 0.00 0.00 1/21 SphereTest() [26] 0.00 0.00 1/21 CuboidTest() [22] 0.00 0.00 1/21 CylinderTest() [23] 0.00 0.00 1/21 SaturnTest() [18] 0.00 0.00 1/21 BlockTest() [17] 0.00 0.00 2/21 SetDifferenceTest() [21] 0.00 0.00 2/21 SetIntersectionTest() [19] 0.00 0.00 2/21 MultipleSphereTest() [25] 0.00 0.00 3/21 ChessBoardTest() [16] 0.00 0.00 3/21 Imager::Saturn::CreateRingSystem() [92] 0.00 0.00 4/21 TorusTest(char const*, double) [12][90] 0.0 0.00 0.00 21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90] 0.00 0.00 84/1425590 Imager::Optics::ValidateReflectionColor(Imager::Color const&) const [71]----------------------------------------------- 0.00 0.00 1/1 UnitTests() [3][91] 0.0 0.00 0.00 1 Algebra::UnitTest() [91] 0.00 0.00 3/3 Algebra::TestKnownQuarticRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [93] 0.00 0.00 2/2 Algebra::TestKnownCubicRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [95] 0.00 0.00 2/2 Algebra::TestKnownQuadraticRoots(std::complex<double>, std::complex<double>, std::complex<double>) [96]----------------------------------------------- 0.00 0.00 1/1 SaturnTest() [18][92] 0.0 0.00 0.00 1 Imager::Saturn::CreateRingSystem() [92] 0.00 0.00 3/21 Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&) [90]----------------------------------------------- 0.00 0.00 3/3 Algebra::UnitTest() [91][93] 0.0 0.00 0.00 3 Algebra::TestKnownQuarticRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [93] 0.00 0.00 3/5171493 Algebra::SolveQuarticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [44] 0.00 0.00 12/22 Algebra::ValidatePolynomial(int, std::complex<double> const*, std::complex<double>) [129] 0.00 0.00 3/7 Algebra::CheckRoots(int, std::complex<double> const*, std::complex<double> const*) [151]----------------------------------------------- 0.00 0.00 2/2 Algebra::TestKnownCubicRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [95][94] 0.0 0.00 0.00 2 Algebra::SolveCubicEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [94] 0.00 0.00 6/5171292 Algebra::cbrt(std::complex<double>, int) [62]----------------------------------------------- 0.00 0.00 2/2 Algebra::UnitTest() [91][95] 0.0 0.00 0.00 2 Algebra::TestKnownCubicRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [95] 0.00 0.00 2/2 Algebra::SolveCubicEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [94] 0.00 0.00 6/22 Algebra::ValidatePolynomial(int, std::complex<double> const*, std::complex<double>) [129] 0.00 0.00 2/7 Algebra::CheckRoots(int, std::complex<double> const*, std::complex<double> const*) [151]----------------------------------------------- 0.00 0.00 2/2 Algebra::UnitTest() [91][96] 0.0 0.00 0.00 2 Algebra::TestKnownQuadraticRoots(std::complex<double>, std::complex<double>, std::complex<double>) [96] 0.00 0.00 2/6856730 Algebra::SolveQuadraticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*) [56] 0.00 0.00 4/22 Algebra::ValidatePolynomial(int, std::complex<double> const*, std::complex<double>) [129] 0.00 0.00 2/7 Algebra::CheckRoots(int, std::complex<double> const*, std::complex<double> const*) [151]----------------------------------------------- 0.00 0.00 1/1 BlockTest() [17][97] 0.0 0.00 0.00 1 Imager::Optics::SetGlossColor(Imager::Color const&) [97] 0.00 0.00 1/1425590 Imager::Optics::ValidateReflectionColor(Imager::Color const&) const [71]----------------------------------------------- 0.00 0.00 39141/1447152 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.00 0.00 181857/1447152 append_symbol_coins(Coin*, unsigned int const*, unsigned int, unsigned long) [110] 0.00 0.00 573312/1447152 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79] 0.00 0.00 652842/1447152 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36][104] 0.0 0.00 0.00 1447152 uivector_push_back(uivector*, unsigned int) [104] 0.00 0.00 238818/406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107]----------------------------------------------- 0.00 0.00 1395302/1395302 Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const <cycle 4> [5][105] 0.0 0.00 0.00 1395302 Imager::TriangleMesh::SurfaceOptics(Imager::Vector const&, void const*) const [105]----------------------------------------------- 0.00 0.00 1137648/1137648 Imager::ChessBoard::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const [65][106] 0.0 0.00 0.00 1137648 Imager::ChessBoard::SquareCoordinate(double) const [106]----------------------------------------------- 0.00 0.00 15/406979 lodepng_convert(unsigned char*, unsigned char const*, LodePNGColorMode*, LodePNGColorMode*, unsigned int, unsigned int) [67] 0.00 0.00 15/406979 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31] 0.00 0.00 81/406979 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.00 0.00 729/406979 uivector_resizev(uivector*, unsigned long, unsigned int) [clone .constprop.64] [111] 0.00 0.00 167321/406979 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79] 0.00 0.00 238818/406979 uivector_push_back(uivector*, unsigned int) [104][107] 0.0 0.00 0.00 406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107]----------------------------------------------- 0.00 0.00 255938/255938 encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned long, unsigned long, unsigned int) [36][108] 0.0 0.00 0.00 255938 searchCodeIndex(unsigned int const*, unsigned long, unsigned long) [108]----------------------------------------------- 0.00 0.00 3245/3245 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79][109] 0.0 0.00 0.00 3245 cleanup_coins(Coin*, unsigned long) [109]----------------------------------------------- 0.00 0.00 2787/2787 lodepng_huffman_code_lengths(unsigned int*, unsigned int const*, unsigned long, unsigned int) [79][110] 0.0 0.00 0.00 2787 append_symbol_coins(Coin*, unsigned int const*, unsigned int, unsigned long) [110] 0.00 0.00 181857/1447152 uivector_push_back(uivector*, unsigned int) [104]----------------------------------------------- 0.00 0.00 243/729 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43] 0.00 0.00 486/729 HuffmanTree_makeFromLengths2(HuffmanTree*) [114][111] 0.0 0.00 0.00 729 uivector_resizev(uivector*, unsigned long, unsigned int) [clone .constprop.64] [111] 0.00 0.00 729/406979 lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*) [107]----------------------------------------------- 0.00 0.00 607/607 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][112] 0.0 0.00 0.00 607 lodepng_palette_add(LodePNGColorMode*, unsigned char, unsigned char, unsigned char, unsigned char) [112]----------------------------------------------- 0.00 0.00 243/243 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43][113] 0.0 0.00 0.00 243 HuffmanTree_cleanup(HuffmanTree*) [113]----------------------------------------------- 0.00 0.00 243/243 lodepng_deflate(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [43][114] 0.0 0.00 0.00 243 HuffmanTree_makeFromLengths2(HuffmanTree*) [114] 0.00 0.00 486/729 uivector_resizev(uivector*, unsigned long, unsigned int) [clone .constprop.64] [111]----------------------------------------------- 0.00 0.00 120/120 Imager::Dodecahedron::AddFace(int, int, int, int, int, Imager::Optics const&, double) [128][115] 0.0 0.00 0.00 120 Imager::Dodecahedron::CheckEdge(int, int, double) const [115]----------------------------------------------- 0.00 0.00 20/92 Imager::Icosahedron::Icosahedron(Imager::Vector, double, Imager::Optics const&) [174] 0.00 0.00 24/92 Imager::Dodecahedron::Dodecahedron(Imager::Vector, double, Imager::Optics const&) [163] 0.00 0.00 48/92 Imager::Dodecahedron::AddFace(int, int, int, int, int, Imager::Optics const&, double) [128][116] 0.0 0.00 0.00 92 Imager::TriangleMesh::AddTriangle(int, int, int, Imager::Optics const&) [116] 0.00 0.00 20/20 std::vector<Imager::TriangleMesh::Triangle, std::allocator<Imager::TriangleMesh::Triangle> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::TriangleMesh::Triangle*, std::vector<Imager::TriangleMesh::Triangle, std::allocator<Imager::TriangleMesh::Triangle> > >, Imager::TriangleMesh::Triangle const&) [131]----------------------------------------------- 0.00 0.00 1/88 Imager::Cylinder::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [60] 0.00 0.00 2/88 Imager::Cylinder::AppendDiskIntersection(Imager::Vector const&, Imager::Vector const&, double, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [63] 0.00 0.00 2/88 Imager::ThinRing::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [51] 0.00 0.00 6/88 Imager::Spheroid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [50] 0.00 0.00 8/88 Imager::TriangleMesh::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [4] 0.00 0.00 9/88 Imager::Cuboid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [13] 0.00 0.00 13/88 Imager::Torus::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [37] 0.00 0.00 23/88 Imager::SetIntersection::AppendOverlappingIntersections(Imager::Vector const&, Imager::Vector const&, Imager::SolidObject const&, Imager::SolidObject const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [15] 0.00 0.00 24/88 Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const [14][117] 0.0 0.00 0.00 88 std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Intersection*, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > >, Imager::Intersection const&) [117]----------------------------------------------- 0.00 0.00 48/48 lodepng_chunk_create(unsigned char**, unsigned long*, unsigned int, char const*, unsigned char const*) [121][118] 0.0 0.00 0.00 48 lodepng_chunk_generate_crc(unsigned char*) [118] 0.00 0.00 48/48 Crc32_update_crc(unsigned char const*, unsigned int, unsigned long) [clone .constprop.62] [119]----------------------------------------------- 0.00 0.00 48/48 lodepng_chunk_generate_crc(unsigned char*) [118][119] 0.0 0.00 0.00 48 Crc32_update_crc(unsigned char const*, unsigned int, unsigned long) [clone .constprop.62] [119]----------------------------------------------- 0.00 0.00 48/48 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][120] 0.0 0.00 0.00 48 addUnknownChunks(ucvector*, unsigned char*, unsigned long) [120]----------------------------------------------- 0.00 0.00 45/45 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][121] 0.0 0.00 0.00 45 lodepng_chunk_create(unsigned char**, unsigned long*, unsigned int, char const*, unsigned char const*) [121] 0.00 0.00 48/48 lodepng_chunk_generate_crc(unsigned char*) [118]----------------------------------------------- 0.00 0.00 15/45 lodepng_info_copy(LodePNGInfo*, LodePNGInfo const*) [136] 0.00 0.00 15/45 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31] 0.00 0.00 15/45 lodepng_encode_memory(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [32][122] 0.0 0.00 0.00 45 lodepng_info_cleanup(LodePNGInfo*) [122] 0.00 0.00 45/45 LodePNGText_cleanup(LodePNGInfo*) [123] 0.00 0.00 45/45 LodePNGIText_cleanup(LodePNGInfo*) [124]----------------------------------------------- 0.00 0.00 45/45 lodepng_info_cleanup(LodePNGInfo*) [122][123] 0.0 0.00 0.00 45 LodePNGText_cleanup(LodePNGInfo*) [123]----------------------------------------------- 0.00 0.00 45/45 lodepng_info_cleanup(LodePNGInfo*) [122][124] 0.0 0.00 0.00 45 LodePNGIText_cleanup(LodePNGInfo*) [124]----------------------------------------------- 0.00 0.00 15/30 lodepng_state_init(LodePNGState*) [137] 0.00 0.00 15/30 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][125] 0.0 0.00 0.00 30 lodepng_info_init(LodePNGInfo*) [125]----------------------------------------------- 0.00 0.00 30/30 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][126] 0.0 0.00 0.00 30 checkColorValidity(LodePNGColorType, unsigned int) [126]----------------------------------------------- 0.00 0.00 1/29 SphereTest() [26] 0.00 0.00 1/29 CuboidTest() [22] 0.00 0.00 1/29 SetDifferenceTest() [21] 0.00 0.00 1/29 CylinderTest() [23] 0.00 0.00 1/29 SetIntersectionTest() [19] 0.00 0.00 1/29 SaturnTest() [18] 0.00 0.00 2/29 SpheroidTest() [24] 0.00 0.00 2/29 BitDonutTest() [20] 0.00 0.00 3/29 MultipleSphereTest() [25] 0.00 0.00 3/29 PolyhedraTest() [27] 0.00 0.00 3/29 DodecahedronOverlapTest() [28] 0.00 0.00 3/29 BlockTest() [17] 0.00 0.00 3/29 ChessBoardTest() [16] 0.00 0.00 4/29 TorusTest(char const*, double) [12][127] 0.0 0.00 0.00 29 std::vector<Imager::LightSource, std::allocator<Imager::LightSource> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::LightSource*, std::vector<Imager::LightSource, std::allocator<Imager::LightSource> > >, Imager::LightSource const&) [127]----------------------------------------------- 0.00 0.00 24/24 Imager::Dodecahedron::Dodecahedron(Imager::Vector, double, Imager::Optics const&) [163][128] 0.0 0.00 0.00 24 Imager::Dodecahedron::AddFace(int, int, int, int, int, Imager::Optics const&, double) [128] 0.00 0.00 120/120 Imager::Dodecahedron::CheckEdge(int, int, double) const [115] 0.00 0.00 48/92 Imager::TriangleMesh::AddTriangle(int, int, int, Imager::Optics const&) [116]----------------------------------------------- 0.00 0.00 4/22 Algebra::TestKnownQuadraticRoots(std::complex<double>, std::complex<double>, std::complex<double>) [96] 0.00 0.00 6/22 Algebra::TestKnownCubicRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [95] 0.00 0.00 12/22 Algebra::TestKnownQuarticRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [93][129] 0.0 0.00 0.00 22 Algebra::ValidatePolynomial(int, std::complex<double> const*, std::complex<double>) [129]----------------------------------------------- 20 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86][130] 0.0 0.00 0.00 20 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130] 0.00 0.00 12/15 Imager::SolidObject_Reorientable::RotateY(double) [144] 0.00 0.00 3/5 Imager::Sphere::RotateY(double) [154] 3 Imager::SetComplement::RotateY(double) <cycle 3> [159] 2 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86]----------------------------------------------- 0.00 0.00 20/20 Imager::TriangleMesh::AddTriangle(int, int, int, Imager::Optics const&) [116][131] 0.0 0.00 0.00 20 std::vector<Imager::TriangleMesh::Triangle, std::allocator<Imager::TriangleMesh::Triangle> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::TriangleMesh::Triangle*, std::vector<Imager::TriangleMesh::Triangle, std::allocator<Imager::TriangleMesh::Triangle> > >, Imager::TriangleMesh::Triangle const&) [131]----------------------------------------------- 0.00 0.00 1/20 SphereTest() [26] 0.00 0.00 1/20 CuboidTest() [22] 0.00 0.00 1/20 SetDifferenceTest() [21] 0.00 0.00 1/20 CylinderTest() [23] 0.00 0.00 1/20 SpheroidTest() [24] 0.00 0.00 1/20 SetIntersectionTest() [19] 0.00 0.00 1/20 BitDonutTest() [20] 0.00 0.00 1/20 SaturnTest() [18] 0.00 0.00 1/20 DodecahedronOverlapTest() [28] 0.00 0.00 2/20 MultipleSphereTest() [25] 0.00 0.00 2/20 PolyhedraTest() [27] 0.00 0.00 2/20 BlockTest() [17] 0.00 0.00 2/20 TorusTest(char const*, double) [12] 0.00 0.00 3/20 ChessBoardTest() [16][132] 0.0 0.00 0.00 20 std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::SolidObject**, std::vector<Imager::SolidObject*, std::allocator<Imager::SolidObject*> > >, Imager::SolidObject* const&) [132]----------------------------------------------- 0.00 0.00 1/18 CuboidTest() [22] 0.00 0.00 1/18 CylinderTest() [23] 0.00 0.00 1/18 SpheroidTest() [24] 0.00 0.00 1/18 ChessBoardTest() [16] 0.00 0.00 2/18 TorusTest(char const*, double) [12] 0.00 0.00 12/18 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134][133] 0.0 0.00 0.00 18 Imager::SolidObject_Reorientable::RotateX(double) [133]----------------------------------------------- 18 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88][134] 0.0 0.00 0.00 18 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134] 0.00 0.00 12/18 Imager::SolidObject_Reorientable::RotateX(double) [133] 0.00 0.00 2/3 Imager::Sphere::RotateX(double) [161] 2 Imager::SetComplement::RotateX(double) <cycle 2> [165] 2 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88]----------------------------------------------- 0.00 0.00 5/17 Imager::Icosahedron::Icosahedron(Imager::Vector, double, Imager::Optics const&) [174] 0.00 0.00 12/17 Imager::Dodecahedron::Dodecahedron(Imager::Vector, double, Imager::Optics const&) [163][135] 0.0 0.00 0.00 17 std::vector<Imager::Vector, std::allocator<Imager::Vector> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Vector*, std::vector<Imager::Vector, std::allocator<Imager::Vector> > >, Imager::Vector const&) [135]----------------------------------------------- 0.00 0.00 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][136] 0.0 0.00 0.00 15 lodepng_info_copy(LodePNGInfo*, LodePNGInfo const*) [136] 0.00 0.00 15/45 lodepng_info_cleanup(LodePNGInfo*) [122] 0.00 0.00 15/15 lodepng_color_mode_copy(LodePNGColorMode*, LodePNGColorMode const*) [140]----------------------------------------------- 0.00 0.00 15/15 lodepng_encode_memory(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [32][137] 0.0 0.00 0.00 15 lodepng_state_init(LodePNGState*) [137] 0.00 0.00 15/30 lodepng_info_init(LodePNGInfo*) [125]----------------------------------------------- 0.00 0.00 15/15 lodepng_encode_memory(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [32][138] 0.0 0.00 0.00 15 lodepng_state_cleanup(LodePNGState*) [138]----------------------------------------------- 0.00 0.00 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][139] 0.0 0.00 0.00 15 lodepng_can_have_alpha(LodePNGColorMode const*) [139]----------------------------------------------- 0.00 0.00 15/15 lodepng_info_copy(LodePNGInfo*, LodePNGInfo const*) [136][140] 0.0 0.00 0.00 15 lodepng_color_mode_copy(LodePNGColorMode*, LodePNGColorMode const*) [140]----------------------------------------------- 0.00 0.00 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][141] 0.0 0.00 0.00 15 zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [141]----------------------------------------------- 0.00 0.00 15/15 lodepng_zlib_compress(unsigned char**, unsigned long*, unsigned char const*, unsigned long, LodePNGCompressSettings const*) [38][142] 0.0 0.00 0.00 15 update_adler32(unsigned int, unsigned char const*, unsigned int) [clone .constprop.61] [142]----------------------------------------------- 0.00 0.00 15/15 lodepng_encode(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGState*) [31][143] 0.0 0.00 0.00 15 preProcessScanlines(unsigned char**, unsigned long*, unsigned char const*, unsigned int, unsigned int, LodePNGInfo const*, LodePNGEncoderSettings const*) [143]----------------------------------------------- 0.00 0.00 1/15 CuboidTest() [22] 0.00 0.00 1/15 CylinderTest() [23] 0.00 0.00 1/15 SpheroidTest() [24] 0.00 0.00 12/15 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130][144] 0.0 0.00 0.00 15 Imager::SolidObject_Reorientable::RotateY(double) [144]----------------------------------------------- 0.00 0.00 15/15 Imager::Scene::~Scene() [146][145] 0.0 0.00 0.00 15 Imager::Scene::ClearSolidObjectList() [145] 0.00 0.00 7/13 Imager::Sphere::~Sphere() [150] 0.00 0.00 2/2 Imager::SetIntersection::~SetIntersection() [167] 0.00 0.00 2/2 Imager::SetDifference::~SetDifference() [166] 0.00 0.00 2/4 Imager::SetUnion::~SetUnion() [156] 0.00 0.00 1/4 Imager::Cuboid::~Cuboid() [155] 0.00 0.00 1/1 Imager::Spheroid::~Spheroid() [180] 0.00 0.00 1/1 Imager::Cylinder::~Cylinder() [179] 0.00 0.00 1/1 Imager::ConcreteBlock::~ConcreteBlock() [176] 0.00 0.00 1/1 Imager::Saturn::~Saturn() [178] 0.00 0.00 1/2 Imager::Dodecahedron::~Dodecahedron() [164] 0.00 0.00 1/1 Imager::Icosahedron::~Icosahedron() [175] 0.00 0.00 1/1 Imager::ChessBoard::~ChessBoard() [173]----------------------------------------------- 0.00 0.00 1/15 SphereTest() [26] 0.00 0.00 1/15 CuboidTest() [22] 0.00 0.00 1/15 SetDifferenceTest() [21] 0.00 0.00 1/15 CylinderTest() [23] 0.00 0.00 1/15 SpheroidTest() [24] 0.00 0.00 1/15 SetIntersectionTest() [19] 0.00 0.00 1/15 MultipleSphereTest() [25] 0.00 0.00 1/15 PolyhedraTest() [27] 0.00 0.00 1/15 BitDonutTest() [20] 0.00 0.00 1/15 SaturnTest() [18] 0.00 0.00 1/15 DodecahedronOverlapTest() [28] 0.00 0.00 1/15 BlockTest() [17] 0.00 0.00 1/15 ChessBoardTest() [16] 0.00 0.00 2/15 TorusTest(char const*, double) [12][146] 0.0 0.00 0.00 15 Imager::Scene::~Scene() [146] 0.00 0.00 15/15 Imager::Scene::ClearSolidObjectList() [145]----------------------------------------------- 0.00 0.00 15/15 Imager::Scene::SaveImage(char const*, unsigned long, unsigned long, double, unsigned long) const [1][147] 0.0 0.00 0.00 15 lodepng::encode(std::string const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, LodePNGColorType, unsigned int) [147]----------------------------------------------- 0.00 0.00 15/15 lodepng::encode(std::string const&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [33][148] 0.0 0.00 0.00 15 lodepng::save_file(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::string const&) [148]----------------------------------------------- 0.00 0.00 15/15 lodepng::encode(std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int) [34][149] 0.0 0.00 0.00 15 void std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<unsigned char*>(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned char*, unsigned char*, std::forward_iterator_tag) [149]----------------------------------------------- 0.00 0.00 1/13 Imager::SetDifference::~SetDifference() [166] 0.00 0.00 2/13 Imager::SetComplement::~SetComplement() [160] 0.00 0.00 3/13 Imager::SetIntersection::~SetIntersection() [167] 0.00 0.00 7/13 Imager::Scene::ClearSolidObjectList() [145][150] 0.0 0.00 0.00 13 Imager::Sphere::~Sphere() [150]----------------------------------------------- 0.00 0.00 2/7 Algebra::TestKnownQuadraticRoots(std::complex<double>, std::complex<double>, std::complex<double>) [96] 0.00 0.00 2/7 Algebra::TestKnownCubicRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [95] 0.00 0.00 3/7 Algebra::TestKnownQuarticRoots(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>) [93][151] 0.0 0.00 0.00 7 Algebra::CheckRoots(int, std::complex<double> const*, std::complex<double> const*) [151]----------------------------------------------- 0.00 0.00 1/6 BlockTest() [17] 0.00 0.00 2/6 MultipleSphereTest() [25] 0.00 0.00 3/6 ChessBoardTest() [16][152] 0.0 0.00 0.00 6 Imager::Optics::SetOpacity(double) [152]----------------------------------------------- 0.00 0.00 1/5 Imager::SetDifference::~SetDifference() [166] 0.00 0.00 4/5 Imager::SetUnion::~SetUnion() [156][153] 0.0 0.00 0.00 5 Imager::Torus::~Torus() [153]----------------------------------------------- 0.00 0.00 2/5 Imager::SetComplement::RotateY(double) <cycle 3> [159] 0.00 0.00 3/5 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130][154] 0.0 0.00 0.00 5 Imager::Sphere::RotateY(double) [154]----------------------------------------------- 0.00 0.00 1/4 Imager::ConcreteBlock::~ConcreteBlock() [176] 0.00 0.00 1/4 Imager::Scene::ClearSolidObjectList() [145] 0.00 0.00 2/4 Imager::SetUnion::~SetUnion() [156][155] 0.0 0.00 0.00 4 Imager::Cuboid::~Cuboid() [155]----------------------------------------------- 1 Imager::SetUnion::~SetUnion() [156] 0.00 0.00 1/4 Imager::Saturn::~Saturn() [178] 0.00 0.00 1/4 Imager::SetComplement::~SetComplement() [160] 0.00 0.00 2/4 Imager::Scene::ClearSolidObjectList() [145][156] 0.0 0.00 0.00 4+1 Imager::SetUnion::~SetUnion() [156] 0.00 0.00 4/5 Imager::Torus::~Torus() [153] 0.00 0.00 3/3 Imager::ThinRing::~ThinRing() [162] 0.00 0.00 2/4 Imager::Cuboid::~Cuboid() [155] 1 Imager::SetUnion::~SetUnion() [156]----------------------------------------------- 0.00 0.00 1/3 DodecahedronOverlapTest() [28] 0.00 0.00 2/3 PolyhedraTest() [27][157] 0.0 0.00 0.00 3 Imager::TriangleMesh::RotateX(double) [157]----------------------------------------------- 0.00 0.00 1/3 DodecahedronOverlapTest() [28] 0.00 0.00 2/3 PolyhedraTest() [27][158] 0.0 0.00 0.00 3 Imager::TriangleMesh::RotateY(double) [158]----------------------------------------------- 3 Imager::SolidObject_BinaryOperator::NestedRotateY(Imager::SolidObject&, double, double, double) <cycle 3> [130][159] 0.0 0.00 0.00 3 Imager::SetComplement::RotateY(double) <cycle 3> [159] 0.00 0.00 2/5 Imager::Sphere::RotateY(double) [154] 1 Imager::SolidObject_BinaryOperator::RotateY(double) <cycle 3> [86]----------------------------------------------- 0.00 0.00 1/3 Imager::ConcreteBlock::~ConcreteBlock() [176] 0.00 0.00 2/3 Imager::SetDifference::~SetDifference() [166][160] 0.0 0.00 0.00 3 Imager::SetComplement::~SetComplement() [160] 0.00 0.00 2/13 Imager::Sphere::~Sphere() [150] 0.00 0.00 1/4 Imager::SetUnion::~SetUnion() [156]----------------------------------------------- 0.00 0.00 1/3 Imager::SetComplement::RotateX(double) <cycle 2> [165] 0.00 0.00 2/3 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134][161] 0.0 0.00 0.00 3 Imager::Sphere::RotateX(double) [161]----------------------------------------------- 0.00 0.00 3/3 Imager::SetUnion::~SetUnion() [156][162] 0.0 0.00 0.00 3 Imager::ThinRing::~ThinRing() [162]----------------------------------------------- 0.00 0.00 1/2 PolyhedraTest() [27] 0.00 0.00 1/2 DodecahedronOverlapTest() [28][163] 0.0 0.00 0.00 2 Imager::Dodecahedron::Dodecahedron(Imager::Vector, double, Imager::Optics const&) [163] 0.00 0.00 24/92 Imager::TriangleMesh::AddTriangle(int, int, int, Imager::Optics const&) [116] 0.00 0.00 24/24 Imager::Dodecahedron::AddFace(int, int, int, int, int, Imager::Optics const&, double) [128] 0.00 0.00 12/17 std::vector<Imager::Vector, std::allocator<Imager::Vector> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Vector*, std::vector<Imager::Vector, std::allocator<Imager::Vector> > >, Imager::Vector const&) [135]----------------------------------------------- 0.00 0.00 1/2 Imager::Scene::ClearSolidObjectList() [145] 0.00 0.00 1/2 Imager::SetIntersection::~SetIntersection() [167][164] 0.0 0.00 0.00 2 Imager::Dodecahedron::~Dodecahedron() [164]----------------------------------------------- 2 Imager::SolidObject_BinaryOperator::NestedRotateX(Imager::SolidObject&, double, double, double) <cycle 2> [134][165] 0.0 0.00 0.00 2 Imager::SetComplement::RotateX(double) <cycle 2> [165] 0.00 0.00 1/3 Imager::Sphere::RotateX(double) [161] 1 Imager::SolidObject_BinaryOperator::RotateX(double) <cycle 2> [88]----------------------------------------------- 0.00 0.00 2/2 Imager::Scene::ClearSolidObjectList() [145][166] 0.0 0.00 0.00 2 Imager::SetDifference::~SetDifference() [166] 0.00 0.00 2/3 Imager::SetComplement::~SetComplement() [160] 0.00 0.00 1/13 Imager::Sphere::~Sphere() [150] 0.00 0.00 1/5 Imager::Torus::~Torus() [153]----------------------------------------------- 0.00 0.00 2/2 Imager::Scene::ClearSolidObjectList() [145][167] 0.0 0.00 0.00 2 Imager::SetIntersection::~SetIntersection() [167] 0.00 0.00 3/13 Imager::Sphere::~Sphere() [150] 0.00 0.00 1/2 Imager::Dodecahedron::~Dodecahedron() [164]----------------------------------------------- 0.00 0.00 1/1 __libc_csu_init [325][168] 0.0 0.00 0.00 1 _GLOBAL__sub_I__Z9BlockTestv [168]----------------------------------------------- 0.00 0.00 1/1 __libc_csu_init [325][169] 0.0 0.00 0.00 1 _GLOBAL__sub_I__ZN6Imager5Scene20ClearSolidObjectListEv [169]----------------------------------------------- 0.00 0.00 1/1 __libc_csu_init [325][170] 0.0 0.00 0.00 1 _GLOBAL__sub_I__ZN6Imager6IndentERSoi [170]----------------------------------------------- 0.00 0.00 1/1 __libc_csu_init [325][171] 0.0 0.00 0.00 1 _GLOBAL__sub_I__ZN7Algebra20SolveLinearEquationsEddddddddddddRdS0_S0_ [171]----------------------------------------------- 0.00 0.00 1/1 ChessBoardTest() [16][172] 0.0 0.00 0.00 1 Imager::ChessBoard::ChessBoard(double, double, double, double, Imager::Color const&, Imager::Color const&, Imager::Color const&) [172]----------------------------------------------- 0.00 0.00 1/1 Imager::Scene::ClearSolidObjectList() [145][173] 0.0 0.00 0.00 1 Imager::ChessBoard::~ChessBoard() [173]----------------------------------------------- 0.00 0.00 1/1 PolyhedraTest() [27][174] 0.0 0.00 0.00 1 Imager::Icosahedron::Icosahedron(Imager::Vector, double, Imager::Optics const&) [174] 0.00 0.00 20/92 Imager::TriangleMesh::AddTriangle(int, int, int, Imager::Optics const&) [116] 0.00 0.00 5/17 std::vector<Imager::Vector, std::allocator<Imager::Vector> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Imager::Vector*, std::vector<Imager::Vector, std::allocator<Imager::Vector> > >, Imager::Vector const&) [135]----------------------------------------------- 0.00 0.00 1/1 Imager::Scene::ClearSolidObjectList() [145][175] 0.0 0.00 0.00 1 Imager::Icosahedron::~Icosahedron() [175]----------------------------------------------- 0.00 0.00 1/1 Imager::Scene::ClearSolidObjectList() [145][176] 0.0 0.00 0.00 1 Imager::ConcreteBlock::~ConcreteBlock() [176] 0.00 0.00 1/4 Imager::Cuboid::~Cuboid() [155] 0.00 0.00 1/3 Imager::SetComplement::~SetComplement() [160]----------------------------------------------- 0.00 0.00 1/1 Imager::Saturn::~Saturn() [178][177] 0.0 0.00 0.00 1 Imager::Planet::~Planet() [177]----------------------------------------------- 0.00 0.00 1/1 Imager::Scene::ClearSolidObjectList() [145][178] 0.0 0.00 0.00 1 Imager::Saturn::~Saturn() [178] 0.00 0.00 1/1 Imager::Planet::~Planet() [177] 0.00 0.00 1/4 Imager::SetUnion::~SetUnion() [156]----------------------------------------------- 0.00 0.00 1/1 Imager::Scene::ClearSolidObjectList() [145][179] 0.0 0.00 0.00 1 Imager::Cylinder::~Cylinder() [179]----------------------------------------------- 0.00 0.00 1/1 Imager::Scene::ClearSolidObjectList() [145][180] 0.0 0.00 0.00 1 Imager::Spheroid::~Spheroid() {[180]-----------------------------------------------�Index by function name
}
}
}
</syntaxhighlight>
|}
}
__device__ float* k_MM(float* m1, float* m2, const int m2_size) {
float* product = new float[m2_size];
}
__device__ float* k_transpose(float *m, const int C, const int R) {
/* Returns a transpose matrix of input matrix.
Inputs:
m: vector, input matrix
C: int, number of columns in the input matrix
R: int, number of rows in the input matrix
Output: vector, transpose matrix mT of input matrix m
*/
float* mT = new float[C * R];
for (unsigned n = 0; n != C * R; n++) {
unsigned i = n / C;
unsigned j = n % C;
mT[n] = m[R*j + i];
}
return mT;
}
}
}
http://developer.download.nvidia.com/assets/cuda/files/CUDADownloads/TechBrief_Dynamic_Parallelism_in_CUDA.pdf
=== Assignment 3 ===
====What we would do differently:====
There are many things, one of the major ones is to take on a more manageable task, one with proper documentation and reasoning behind chosen values.