]> https://gitweb.dealii.org/ - dealii.git/log
dealii.git
5 months agoExplicitly use the combined orientation.
David Wells [Sat, 13 Apr 2024 22:11:44 +0000 (18:11 -0400)]
Explicitly use the combined orientation.

5 months agoMerge pull request #16911 from kronbichler/inline_poly
Wolfgang Bangerth [Sat, 20 Apr 2024 15:46:59 +0000 (09:46 -0600)]
Merge pull request #16911 from kronbichler/inline_poly

Polynomial: Make values_of_array always inline in release mode

5 months agoMerge pull request #16913 from drwells/tria-orientation-cleanup
Wolfgang Bangerth [Sat, 20 Apr 2024 14:30:32 +0000 (08:30 -0600)]
Merge pull request #16913 from drwells/tria-orientation-cleanup

Tria orientation cleanup

5 months agoMerge pull request #16891 from bergbauer/active_q_points
David Wells [Sat, 20 Apr 2024 12:21:36 +0000 (08:21 -0400)]
Merge pull request #16891 from bergbauer/active_q_points

FEPointEvaluation: Implement n_active_entries_per_quadrature_batch

5 months agoMerge pull request #16909 from bangerth/matrix-free
David Wells [Sat, 20 Apr 2024 12:19:49 +0000 (08:19 -0400)]
Merge pull request #16909 from bangerth/matrix-free

Use slightly better variable names in the MatrixFree::loop() functions.

5 months agoMerge pull request #16912 from kronbichler/mf_portable_minor
David Wells [Sat, 20 Apr 2024 12:17:43 +0000 (08:17 -0400)]
Merge pull request #16912 from kronbichler/mf_portable_minor

Portable tensor product kernels: Simplify loop

5 months agoUse numbers::invalid_unsigned_int. 16913/head
David Wells [Sat, 13 Apr 2024 21:25:57 +0000 (17:25 -0400)]
Use numbers::invalid_unsigned_int.

5 months agoSplit a long line.
David Wells [Sat, 13 Apr 2024 21:25:47 +0000 (17:25 -0400)]
Split a long line.

5 months agoRemove a double negative.
David Wells [Sat, 13 Apr 2024 20:31:08 +0000 (16:31 -0400)]
Remove a double negative.

5 months agoClean up some long lines.
David Wells [Sat, 13 Apr 2024 17:59:30 +0000 (13:59 -0400)]
Clean up some long lines.

5 months agoMerge pull request #16906 from bangerth/restriction
Martin Kronbichler [Sat, 20 Apr 2024 06:37:47 +0000 (08:37 +0200)]
Merge pull request #16906 from bangerth/restriction

Explain the term 'restriction' in FiniteElement.

5 months agoPortable tensor product kernels: Simplify loop 16912/head
Martin Kronbichler [Sat, 20 Apr 2024 06:25:29 +0000 (08:25 +0200)]
Portable tensor product kernels: Simplify loop

5 months agoPolynomial: Make values_of_array always inline in release mode 16911/head
Martin Kronbichler [Sat, 20 Apr 2024 06:08:26 +0000 (08:08 +0200)]
Polynomial: Make values_of_array always inline in release mode

5 months agoUse slightly better variable names in the MatrixFree::loop() functions. 16909/head
Wolfgang Bangerth [Sat, 20 Apr 2024 03:52:22 +0000 (21:52 -0600)]
Use slightly better variable names in the MatrixFree::loop() functions.

5 months agoExplain the term 'restriction' in FiniteElement. 16906/head
Wolfgang Bangerth [Fri, 19 Apr 2024 19:27:28 +0000 (13:27 -0600)]
Explain the term 'restriction' in FiniteElement.

5 months agoMerge pull request #16898 from bangerth/64
Martin Kronbichler [Fri, 19 Apr 2024 07:17:42 +0000 (09:17 +0200)]
Merge pull request #16898 from bangerth/64

Fix use of incorrect Epetra function.

5 months agoMerge pull request #16904 from bangerth/fix-anchor
Martin Kronbichler [Fri, 19 Apr 2024 07:16:52 +0000 (09:16 +0200)]
Merge pull request #16904 from bangerth/fix-anchor

Use the same style of anchor name as elsewhere.

5 months agoMerge pull request #16899 from bangerth/message
Martin Kronbichler [Fri, 19 Apr 2024 07:16:19 +0000 (09:16 +0200)]
Merge pull request #16899 from bangerth/message

Print a message on the screen when normalizing a test output.

5 months agoMerge pull request #16903 from bangerth/href
Martin Kronbichler [Fri, 19 Apr 2024 07:15:48 +0000 (09:15 +0200)]
Merge pull request #16903 from bangerth/href

When creating a reference, use 'href', not 'name'.

5 months agoMerge pull request #16895 from kronbichler/fix_rpe
Martin Kronbichler [Fri, 19 Apr 2024 06:54:21 +0000 (08:54 +0200)]
Merge pull request #16895 from kronbichler/fix_rpe

Small improvement to RemotePointEvaluation

5 months agoWhen creating a reference, use 'href', not 'name'. 16903/head
Wolfgang Bangerth [Thu, 18 Apr 2024 22:47:31 +0000 (16:47 -0600)]
When creating a reference, use 'href', not 'name'.

5 months agoUse the same style of anchor name as elsewhere. 16904/head
Wolfgang Bangerth [Thu, 18 Apr 2024 22:46:50 +0000 (16:46 -0600)]
Use the same style of anchor name as elsewhere.

5 months agoMerge pull request #16896 from kronbichler/fix_nonnested_transfer
Wolfgang Bangerth [Thu, 18 Apr 2024 21:03:04 +0000 (15:03 -0600)]
Merge pull request #16896 from kronbichler/fix_nonnested_transfer

Non-nested MG transfer: Avoid repeated access of arrays

5 months agoMerge pull request #16902 from pcafrica/vector_traits
Wolfgang Bangerth [Thu, 18 Apr 2024 21:01:03 +0000 (15:01 -0600)]
Merge pull request #16902 from pcafrica/vector_traits

Add VectorTraits to Trilinos and Tpetra wrappers

5 months agoAdd VectorTraits to Trilinos and Tpetra wrappers 16902/head
Pasquale Africa [Thu, 18 Apr 2024 13:23:43 +0000 (15:23 +0200)]
Add VectorTraits to Trilinos and Tpetra wrappers

5 months agoNon-nested MG transfer: Avoid repeated access of arrays 16896/head
Martin Kronbichler [Wed, 17 Apr 2024 16:48:32 +0000 (18:48 +0200)]
Non-nested MG transfer: Avoid repeated access of arrays

5 months agoSmall improvement to RemotePointEvaluation 16895/head
Martin Kronbichler [Wed, 17 Apr 2024 16:46:45 +0000 (18:46 +0200)]
Small improvement to RemotePointEvaluation

5 months agoPrint a message on the screen when normalizing a test output. 16899/head
Wolfgang Bangerth [Wed, 17 Apr 2024 19:51:07 +0000 (13:51 -0600)]
Print a message on the screen when normalizing a test output.

5 months agoAdd a changelog entry. 16898/head
Wolfgang Bangerth [Wed, 17 Apr 2024 19:49:27 +0000 (13:49 -0600)]
Add a changelog entry.

5 months agoFix use of incorrect Epetra function.
Wolfgang Bangerth [Wed, 17 Apr 2024 19:46:07 +0000 (13:46 -0600)]
Fix use of incorrect Epetra function.

5 months agoMerge pull request #16887 from kinnewig/nedelec_sz_get_shape_value_component
Wolfgang Bangerth [Wed, 17 Apr 2024 17:56:44 +0000 (11:56 -0600)]
Merge pull request #16887 from kinnewig/nedelec_sz_get_shape_value_component

Add get_shape_value_component() to FE_NedelecSZ

5 months agoAdd changelog entry. 16887/head
Sebastian Kinnewig [Tue, 16 Apr 2024 08:53:57 +0000 (10:53 +0200)]
Add changelog entry.

5 months agoUnify the different evaluate() functions into one templated function.
Sebastian Kinnewig [Wed, 17 Apr 2024 15:17:36 +0000 (17:17 +0200)]
Unify the different evaluate() functions into one templated function.

5 months agoMerge pull request #16894 from marcfehling/sundials-7
Daniel Arndt [Wed, 17 Apr 2024 12:29:38 +0000 (08:29 -0400)]
Merge pull request #16894 from marcfehling/sundials-7

Added changelog for #16879.

5 months agoAdded changelog for #16879. 16894/head
Marc Fehling [Wed, 17 Apr 2024 11:54:12 +0000 (13:54 +0200)]
Added changelog for #16879.

5 months agoMerge pull request #16621 from bangerth/boost-1.84
Martin Kronbichler [Wed, 17 Apr 2024 07:25:34 +0000 (09:25 +0200)]
Merge pull request #16621 from bangerth/boost-1.84

Import BOOST 1.84.

5 months agoMerge pull request #16726 from RichardYCJ/master
Martin Kronbichler [Wed, 17 Apr 2024 07:23:22 +0000 (09:23 +0200)]
Merge pull request #16726 from RichardYCJ/master

Also change out_stream condition when enable/disable_output

5 months agoMerge pull request #16880 from pcafrica/epetra_vector_access_operator
Wolfgang Bangerth [Wed, 17 Apr 2024 02:22:08 +0000 (20:22 -0600)]
Merge pull request #16880 from pcafrica/epetra_vector_access_operator

Epetra vector access operator

5 months agoMerge pull request #16886 from kinnewig/nedelec_sz_prolongation_matrix
Wolfgang Bangerth [Wed, 17 Apr 2024 02:21:56 +0000 (20:21 -0600)]
Merge pull request #16886 from kinnewig/nedelec_sz_prolongation_matrix

Add get_prolongation_matrix() to FE_NedelecSZ.

5 months agoAdd EpetraWrappers::VectorTraits class 16880/head
Pasquale Africa [Tue, 16 Apr 2024 07:49:18 +0000 (09:49 +0200)]
Add EpetraWrappers::VectorTraits class

5 months agoMerge pull request #16889 from bangerth/doc-vector
Martin Kronbichler [Tue, 16 Apr 2024 14:54:35 +0000 (16:54 +0200)]
Merge pull request #16889 from bangerth/doc-vector

Better document operator= for parallel vectors.

5 months agoAdd test 16891/head
Maximilian Bergbauer [Tue, 16 Apr 2024 13:49:24 +0000 (15:49 +0200)]
Add test

5 months agoImplement n_active_entries_per_quadrature_batch
Maximilian Bergbauer [Mon, 15 Apr 2024 14:51:06 +0000 (16:51 +0200)]
Implement n_active_entries_per_quadrature_batch

5 months agoWrite Doxygen entries for get_shape_value_component(), get_shape_grad_component(...
Sebastian Kinnewig [Tue, 16 Apr 2024 08:07:56 +0000 (10:07 +0200)]
Write Doxygen entries for get_shape_value_component(), get_shape_grad_component() and get_shape_grad_grad_component().

5 months agoImplement get_shape_value_component(), get_shape_grad_component() and get_shape_grad_...
Sebastian Kinnewig [Sun, 14 Apr 2024 16:30:15 +0000 (18:30 +0200)]
Implement get_shape_value_component(), get_shape_grad_component() and get_shape_grad_grad_component().

5 months agoMove the computation of the InternalData into a separate function.
Sebastian Kinnewig [Sun, 14 Apr 2024 13:43:25 +0000 (15:43 +0200)]
Move the computation of the InternalData into a separate function.

5 months agoImplement EpetraWrappers::internal::VectorReference
Pasquale Africa [Fri, 12 Apr 2024 14:02:16 +0000 (14:02 +0000)]
Implement EpetraWrappers::internal::VectorReference

5 months agoMinor cleanup
Pasquale Africa [Fri, 12 Apr 2024 14:02:00 +0000 (14:02 +0000)]
Minor cleanup

5 months agoAdd changelog entry. 16886/head
Sebastian Kinnewig [Tue, 16 Apr 2024 06:54:04 +0000 (08:54 +0200)]
Add changelog entry.

5 months agoMerge pull request #16879 from marcfehling/sundials-7
Wolfgang Bangerth [Tue, 16 Apr 2024 03:21:55 +0000 (21:21 -0600)]
Merge pull request #16879 from marcfehling/sundials-7

Compatibility with SUNDIALS 7.

5 months agoBetter document operator= for parallel vectors. 16889/head
Wolfgang Bangerth [Tue, 16 Apr 2024 01:45:21 +0000 (19:45 -0600)]
Better document operator= for parallel vectors.

5 months agoTesting the prolongation matrix of FE_NedelecSZ.
kinnewig [Fri, 12 Apr 2024 15:55:16 +0000 (17:55 +0200)]
Testing the prolongation matrix of FE_NedelecSZ.

5 months agoAdd get_prolongation_matrix() to FE_NedelecSZ.
kinnewig [Fri, 12 Apr 2024 15:54:56 +0000 (17:54 +0200)]
Add get_prolongation_matrix() to FE_NedelecSZ.

5 months agoMerge pull request #16885 from quangx/step-32-typo
David Wells [Mon, 15 Apr 2024 12:34:43 +0000 (08:34 -0400)]
Merge pull request #16885 from quangx/step-32-typo

Fix typo regarding templates in step 32

5 months agoMerge pull request #16884 from drwells/un-hardcode-2d-orientation
Martin Kronbichler [Mon, 15 Apr 2024 07:32:03 +0000 (09:32 +0200)]
Merge pull request #16884 from drwells/un-hardcode-2d-orientation

Un-hardcode 2d orientation.

5 months agochange <2> to <dim> 16885/head
Quang Hoang [Mon, 15 Apr 2024 02:25:46 +0000 (22:25 -0400)]
change <2> to <dim>

5 months agoIntroduce get_communicator_by_value(). 16879/head
Marc Fehling [Sat, 13 Apr 2024 19:17:42 +0000 (21:17 +0200)]
Introduce get_communicator_by_value().

5 months agoMove parentheses out of preprocessor conditionals.
Marc Fehling [Sat, 13 Apr 2024 19:17:09 +0000 (21:17 +0200)]
Move parentheses out of preprocessor conditionals.

5 months agoAdd a test. 16884/head
David Wells [Sat, 13 Apr 2024 11:43:08 +0000 (07:43 -0400)]
Add a test.

This fails on master due to twisted elements.

5 months agoFE_Q_Base: combine permutation operations.
David Wells [Sat, 13 Apr 2024 11:31:12 +0000 (07:31 -0400)]
FE_Q_Base: combine permutation operations.

5 months agoFiniteElement: remove 2d orientation assumptions.
David Wells [Sat, 13 Apr 2024 11:29:26 +0000 (07:29 -0400)]
FiniteElement: remove 2d orientation assumptions.

For mixed meshes, we need to support quadrilaterals whose faces may have either
valid line orientation.

5 months agoFE_Q_Base: clean up an assertion.
David Wells [Tue, 9 Apr 2024 23:45:04 +0000 (19:45 -0400)]
FE_Q_Base: clean up an assertion.

5 months agoFE_Q_Base: Simplify some code with 'if constexpr'.
David Wells [Tue, 9 Apr 2024 23:41:39 +0000 (19:41 -0400)]
FE_Q_Base: Simplify some code with 'if constexpr'.

5 months agoMerge pull request #16854 from kronbichler/improve_mapping_info
Martin Kronbichler [Sat, 13 Apr 2024 08:45:39 +0000 (10:45 +0200)]
Merge pull request #16854 from kronbichler/improve_mapping_info

 NonMatching::MappingInfo: Avoid memory allocations in reinit()

5 months agoMerge pull request #16881 from marcfehling/tria_base-inst
Martin Kronbichler [Sat, 13 Apr 2024 08:32:43 +0000 (10:32 +0200)]
Merge pull request #16881 from marcfehling/tria_base-inst

Clean up many explicit instantiations.

5 months agoMerge pull request #16883 from Rombur/python_binding_2
Martin Kronbichler [Sat, 13 Apr 2024 08:31:23 +0000 (10:31 +0200)]
Merge pull request #16883 from Rombur/python_binding_2

Add GridGenerator::cylinder/subdivided_cylinder/truncated_cone to the python wrappers

5 months agoMerge pull request #16882 from masterleinad/fix_atomics_kokkos
Daniel Arndt [Fri, 12 Apr 2024 21:13:32 +0000 (16:13 -0500)]
Merge pull request #16882 from masterleinad/fix_atomics_kokkos

Don't define __ATOMIC_* in bundled Kokkos

5 months agoMerge pull request #16872 from drwells/mixed-mesh-orientation
Martin Kronbichler [Fri, 12 Apr 2024 18:36:46 +0000 (20:36 +0200)]
Merge pull request #16872 from drwells/mixed-mesh-orientation

Mixed mesh orientation

5 months agoDon't define __ATOMIC_* in bundled Kokkos 16882/head
Daniel Arndt [Fri, 12 Apr 2024 15:32:51 +0000 (10:32 -0500)]
Don't define __ATOMIC_* in bundled Kokkos

5 months agoAdd changelog entry 16883/head
Bruno Turcksin [Thu, 11 Apr 2024 18:29:13 +0000 (14:29 -0400)]
Add changelog entry

5 months agoAdd GridGenerator::truncated_cone to the python wrappers
Bruno Turcksin [Thu, 4 Apr 2024 17:59:19 +0000 (13:59 -0400)]
Add GridGenerator::truncated_cone to the python wrappers

5 months agoAdd GridGenerator::subdivided_cylinder to the python wrappers
Bruno Turcksin [Thu, 4 Apr 2024 17:35:10 +0000 (13:35 -0400)]
Add GridGenerator::subdivided_cylinder to the python wrappers

5 months agoAdd GridGenerator::cylinder to the python wrappers
Bruno Turcksin [Wed, 3 Apr 2024 13:09:37 +0000 (09:09 -0400)]
Add GridGenerator::cylinder to the python wrappers

5 months agoClean up many explicit instantiations. 16881/head
Marc Fehling [Fri, 12 Apr 2024 13:35:13 +0000 (15:35 +0200)]
Clean up many explicit instantiations.

5 months agoUse alias for sundials booleantype.
Marc Fehling [Fri, 12 Apr 2024 10:40:53 +0000 (12:40 +0200)]
Use alias for sundials booleantype.

5 months agoUse correct types for sundials 7.
Marc Fehling [Fri, 12 Apr 2024 09:02:39 +0000 (11:02 +0200)]
Use correct types for sundials 7.

5 months agoMerge pull request #15773 from luca-heltai/fe-coupling-values
Wolfgang Bangerth [Thu, 11 Apr 2024 17:37:05 +0000 (11:37 -0600)]
Merge pull request #15773 from luca-heltai/fe-coupling-values

FECouplingValues.

5 months agoFECouplingValues. 15773/head
Luca Heltai [Thu, 20 Jul 2023 22:54:48 +0000 (00:54 +0200)]
FECouplingValues.

5 months agoMerge pull request #16876 from drwells/hdf5-floating-point-exceptions
Wolfgang Bangerth [Wed, 10 Apr 2024 20:34:40 +0000 (14:34 -0600)]
Merge pull request #16876 from drwells/hdf5-floating-point-exceptions

Explicitly open HDF5 and then clear its floating-point exceptions.

5 months agoMore efficient access via new Mapping::InternalDataBase::reinit 16854/head
Martin Kronbichler [Sat, 6 Apr 2024 10:12:34 +0000 (12:12 +0200)]
More efficient access via new Mapping::InternalDataBase::reinit

5 months agoNonMatching::MappingInfo: Avoid memory allocations in reinit()
Martin Kronbichler [Fri, 5 Apr 2024 08:51:02 +0000 (10:51 +0200)]
NonMatching::MappingInfo: Avoid memory allocations in reinit()

5 months agoExplicitly open HDF5 and then clear its floating-point exceptions. 16876/head
David Wells [Tue, 9 Apr 2024 23:13:57 +0000 (19:13 -0400)]
Explicitly open HDF5 and then clear its floating-point exceptions.

New versions of HDF5 detect the floating-point environment by doing several
things which trigger floating point exceptions, i.e., programs in the test suite
now abort in H5open(). Work around that by explicitly setting up HDF5 before we
turn on the 'abort on floating point exceptions' code.

5 months agoMerge pull request #16869 from peterrum/extract_level_constant_modes
Bruno Blais [Tue, 9 Apr 2024 15:11:47 +0000 (17:11 +0200)]
Merge pull request #16869 from peterrum/extract_level_constant_modes

Add DoFTools::extract_level_constant_modes()

5 months agoAdd a test. 16872/head
David Wells [Sun, 7 Apr 2024 01:28:39 +0000 (21:28 -0400)]
Add a test.

5 months agoMerge pull request #15572 from Rombur/init_finalize
Daniel Arndt [Tue, 9 Apr 2024 12:46:39 +0000 (08:46 -0400)]
Merge pull request #15572 from Rombur/init_finalize

Add InitFinalize base class of MPI_InitFinalize

5 months agoMerge pull request #16875 from bangerth/typos
Martin Kronbichler [Tue, 9 Apr 2024 07:41:02 +0000 (09:41 +0200)]
Merge pull request #16875 from bangerth/typos

Fix a whole lot of typos.

5 months agoMerge pull request #16870 from bangerth/distort-random
David Wells [Tue, 9 Apr 2024 01:41:28 +0000 (21:41 -0400)]
Merge pull request #16870 from bangerth/distort-random

Update documentation for GridTools::distort_random().

5 months agoUpdate documentation for GridTools::distort_random(). 16870/head
Wolfgang Bangerth [Sun, 7 Apr 2024 22:31:53 +0000 (16:31 -0600)]
Update documentation for GridTools::distort_random().

In particular also remove a reference to the function in the documentation of class
Triangulation. The function used to be part of that class, but has not been for a long
time.

5 months agoFix a whole lot of typos. 16875/head
Wolfgang Bangerth [Mon, 8 Apr 2024 20:32:28 +0000 (14:32 -0600)]
Fix a whole lot of typos.

5 months agoMerge pull request #16874 from bangerth/exc
David Wells [Mon, 8 Apr 2024 22:25:31 +0000 (18:25 -0400)]
Merge pull request #16874 from bangerth/exc

Remove two exceptions that are apparently no longer used.

5 months agoRemove two exceptions that are apparently no longer used. 16874/head
Wolfgang Bangerth [Mon, 8 Apr 2024 20:27:49 +0000 (14:27 -0600)]
Remove two exceptions that are apparently no longer used.

5 months agoMerge pull request #16871 from tjhei/maybe-uninit-orthogonal
Wolfgang Bangerth [Mon, 8 Apr 2024 17:29:48 +0000 (11:29 -0600)]
Merge pull request #16871 from tjhei/maybe-uninit-orthogonal

fix maybe-unused warning in grid_tools_dofhandler

5 months agoMerge pull request #16868 from masterleinad/remove_redundant_copy_assignment_vectoriz...
Wolfgang Bangerth [Mon, 8 Apr 2024 17:25:17 +0000 (11:25 -0600)]
Merge pull request #16868 from masterleinad/remove_redundant_copy_assignment_vectorizedarrayiterator

Remove redundant defaulted copy assignment operator for VectorizedArrayIterator

5 months agoexecute_refinement_isotropic(): generalize line assignment.
David Wells [Sat, 6 Apr 2024 22:09:35 +0000 (18:09 -0400)]
execute_refinement_isotropic(): generalize line assignment.

5 months agoexecute_refinement_isotropic(): inherit orientations.
David Wells [Sat, 6 Apr 2024 21:52:29 +0000 (17:52 -0400)]
execute_refinement_isotropic(): inherit orientations.

This fixes quadrilateral orientations on mixed meshes. A minor inconsistency in
this scheme is that the inner triangle faces must have different orientations on
different children.

5 months agoexecute_refinement_isotropic(): refactor.
David Wells [Sat, 6 Apr 2024 21:02:58 +0000 (17:02 -0400)]
execute_refinement_isotropic(): refactor.

5 months agoTriaAccessor: permit calling set_combined_face_orientation() in 2d.
David Wells [Sat, 6 Apr 2024 17:17:54 +0000 (13:17 -0400)]
TriaAccessor: permit calling set_combined_face_orientation() in 2d.

5 months agoexecute_refinement_isotropic(): Add a loop.
David Wells [Sat, 6 Apr 2024 17:15:47 +0000 (13:15 -0400)]
execute_refinement_isotropic(): Add a loop.

5 months agoexecute_refinement_isotropic(): Clean up some comments.
David Wells [Sat, 6 Apr 2024 17:15:17 +0000 (13:15 -0400)]
execute_refinement_isotropic(): Clean up some comments.

5 months agoexecute_refinement_isotropic(): Generalize 2d child line assignment.
David Wells [Sat, 6 Apr 2024 15:42:29 +0000 (11:42 -0400)]
execute_refinement_isotropic(): Generalize 2d child line assignment.

Quadrilateral cells in mixed meshes may have lines with reversed orientations.
We can make that case work correctly by simply generalizing the code we already
have for triangles.


In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.