]> https://gitweb.dealii.org/ - dealii.git/log
dealii.git
15 months agoUpdate comment and add changelog 15974/head
Maximilian Bergbauer [Thu, 14 Sep 2023 08:09:12 +0000 (10:09 +0200)]
Update comment and add changelog

15 months agoDon't allow call to shrink_to_fit after replicate
Maximilian Bergbauer [Tue, 12 Sep 2023 14:39:48 +0000 (16:39 +0200)]
Don't allow call to shrink_to_fit after replicate

15 months agoImplement shrink_to_fit
Maximilian Bergbauer [Fri, 8 Sep 2023 13:47:59 +0000 (15:47 +0200)]
Implement shrink_to_fit

16 months agoMerge pull request #15933 from kronbichler/try_to_fix_warning
Martin Kronbichler [Mon, 28 Aug 2023 06:37:30 +0000 (08:37 +0200)]
Merge pull request #15933 from kronbichler/try_to_fix_warning

Avoid some loops that get never entered

16 months agoAvoid some loops that get never entered 15933/head
Martin Kronbichler [Sun, 27 Aug 2023 12:09:55 +0000 (14:09 +0200)]
Avoid some loops that get never entered

16 months agoMerge pull request #15917 from kronbichler/simplify_tensor_product_polynomials
Martin Kronbichler [Sat, 26 Aug 2023 06:20:01 +0000 (08:20 +0200)]
Merge pull request #15917 from kronbichler/simplify_tensor_product_polynomials

Use common code for tensor product polynomial evaluation

16 months agoReindent 15917/head
Martin Kronbichler [Fri, 25 Aug 2023 18:20:21 +0000 (20:20 +0200)]
Reindent

16 months agoUpdate source/base/tensor_product_polynomials.cc
Martin Kronbichler [Fri, 25 Aug 2023 18:08:42 +0000 (20:08 +0200)]
Update source/base/tensor_product_polynomials.cc

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
16 months agoSimplify some code because separate loops don't pay off
Martin Kronbichler [Tue, 22 Aug 2023 20:04:15 +0000 (22:04 +0200)]
Simplify some code because separate loops don't pay off

16 months agoPass number of derivatives to polynomial class to reduce operation count
Martin Kronbichler [Tue, 22 Aug 2023 19:42:26 +0000 (21:42 +0200)]
Pass number of derivatives to polynomial class to reduce operation count

16 months agoMake some inner loop faster by avoiding redundant operations
Martin Kronbichler [Tue, 22 Aug 2023 19:23:16 +0000 (21:23 +0200)]
Make some inner loop faster by avoiding redundant operations

16 months agoUse common code for tensor product polynomial evaluation
Martin Kronbichler [Tue, 22 Aug 2023 16:23:56 +0000 (18:23 +0200)]
Use common code for tensor product polynomial evaluation

16 months agoMerge pull request #15929 from kronbichler/fix_ci_indent
Peter Munch [Fri, 25 Aug 2023 11:22:07 +0000 (13:22 +0200)]
Merge pull request #15929 from kronbichler/fix_ci_indent

Fix indentation CI

16 months agoFix indentation CI 15929/head
Martin Kronbichler [Fri, 25 Aug 2023 11:04:20 +0000 (13:04 +0200)]
Fix indentation CI

16 months agoMerge pull request #15928 from bangerth/subset
Martin Kronbichler [Fri, 25 Aug 2023 07:57:31 +0000 (09:57 +0200)]
Merge pull request #15928 from bangerth/subset

Introduce IndexSet::is_subset_of().

16 months agoMerge pull request #15842 from peterrum/timing_step_37_gc
Martin Kronbichler [Fri, 25 Aug 2023 07:56:18 +0000 (09:56 +0200)]
Merge pull request #15842 from peterrum/timing_step_37_gc

Add a version of timing_step_37 using MGTransferMF

16 months agoMerge pull request #15922 from kronbichler/improve_shape_info_rt
Martin Kronbichler [Fri, 25 Aug 2023 07:55:54 +0000 (09:55 +0200)]
Merge pull request #15922 from kronbichler/improve_shape_info_rt

Matrix-free Raviart-Thomas: Set symmetry/even-odd in ShapeInfo

16 months agoAdd a changelog entry. 15928/head
Wolfgang Bangerth [Thu, 24 Aug 2023 23:34:41 +0000 (17:34 -0600)]
Add a changelog entry.

16 months agoAdd a test.
Wolfgang Bangerth [Fri, 25 Aug 2023 00:11:19 +0000 (18:11 -0600)]
Add a test.

16 months agoIntroduce IndexSet::is_subset_of().
Wolfgang Bangerth [Thu, 24 Aug 2023 23:33:47 +0000 (17:33 -0600)]
Introduce IndexSet::is_subset_of().

16 months agoMerge pull request #15923 from bergbauer/neon
Matthias Maier [Thu, 24 Aug 2023 22:37:56 +0000 (22:37 +0000)]
Merge pull request #15923 from bergbauer/neon

VectorizedArray for ARM NEON

16 months agoMerge pull request #15926 from kronbichler/remove_unnecessary_include2
Marc Fehling [Thu, 24 Aug 2023 19:48:03 +0000 (13:48 -0600)]
Merge pull request #15926 from kronbichler/remove_unnecessary_include2

Remove unnecessary include file

16 months agoMerge pull request #15820 from peterrum/non_nested_transfer_simplex
Peter Munch [Thu, 24 Aug 2023 18:26:29 +0000 (20:26 +0200)]
Merge pull request #15820 from peterrum/non_nested_transfer_simplex

MGTwoLevelTransferNonNested: enable simplex

16 months agoRemove unnecessary include file 15926/head
Martin Kronbichler [Thu, 24 Aug 2023 17:12:59 +0000 (19:12 +0200)]
Remove unnecessary include file

16 months agoMerge pull request #15925 from masterleinad/use_qualifier_alignment_left
Wolfgang Bangerth [Thu, 24 Aug 2023 16:58:32 +0000 (10:58 -0600)]
Merge pull request #15925 from masterleinad/use_qualifier_alignment_left

clang-format: Use QualifierAlignment: Left

16 months agoImplement ARM Neon intrinsics 15923/head
Maximilian Bergbauer [Mon, 14 Aug 2023 10:49:40 +0000 (12:49 +0200)]
Implement ARM Neon intrinsics

16 months agoMGTwoLevelTransferNonNested: enable simplex 15820/head
Peter Munch [Sun, 28 May 2023 10:23:04 +0000 (12:23 +0200)]
MGTwoLevelTransferNonNested: enable simplex

16 months agoclang-format: Use QualifierAlignment: Left 15925/head
Daniel Arndt [Thu, 24 Aug 2023 12:42:42 +0000 (08:42 -0400)]
clang-format: Use QualifierAlignment: Left

16 months agoMatrix-free Raviart-Thomas: Set symmetry/even-odd in ShapeInfo 15922/head
Martin Kronbichler [Wed, 23 Aug 2023 09:24:26 +0000 (11:24 +0200)]
Matrix-free Raviart-Thomas: Set symmetry/even-odd in ShapeInfo

16 months agoMerge pull request #15899 from luca-heltai/rpe_AdditionalData_non_nested
Peter Munch [Thu, 24 Aug 2023 05:45:32 +0000 (07:45 +0200)]
Merge pull request #15899 from luca-heltai/rpe_AdditionalData_non_nested

Expose RemotePointEvaluation parameters in non-nested multigrid

16 months agoMerge pull request #15924 from masterleinad/restrict_non_nested_multigrid_04
Peter Munch [Thu, 24 Aug 2023 05:39:32 +0000 (07:39 +0200)]
Merge pull request #15924 from masterleinad/restrict_non_nested_multigrid_04

non_nested_multigrid_04 needs Trilinos

16 months agonon_nested_multigrid_04 needs Trilinos 15924/head
Daniel Arndt [Thu, 24 Aug 2023 02:42:33 +0000 (22:42 -0400)]
non_nested_multigrid_04 needs Trilinos

16 months agoimprove documentation of AdditionaData 15899/head
Marco Feder [Tue, 22 Aug 2023 08:53:36 +0000 (08:53 +0000)]
improve documentation of AdditionaData

16 months agoMerge pull request #15903 from tamiko/update_clang_format
Matthias Maier [Wed, 23 Aug 2023 22:27:21 +0000 (22:27 +0000)]
Merge pull request #15903 from tamiko/update_clang_format

Infrastructure: Update bundled clang-format to version 16

16 months agoclang-format: run indent-all 15903/head
Matthias Maier [Wed, 23 Aug 2023 18:29:59 +0000 (13:29 -0500)]
clang-format: run indent-all

16 months agoclang-format: unify clang-format configuration, update to c++20
Matthias Maier [Tue, 22 Aug 2023 03:35:29 +0000 (22:35 -0500)]
clang-format: unify clang-format configuration, update to c++20

16 months agoTest: tensors/tensor_31: use clang-format off to avoid declaration / statement confusion
Matthias Maier [Mon, 21 Aug 2023 23:37:04 +0000 (18:37 -0500)]
Test: tensors/tensor_31: use clang-format off to avoid  declaration / statement confusion

16 months agoclang-format: update indent and compile script to version 16.0.6
Matthias Maier [Mon, 21 Aug 2023 18:50:43 +0000 (13:50 -0500)]
clang-format: update indent and compile script to version 16.0.6

16 months agoMerge pull request #15843 from peterrum/fep_simplices
Peter Munch [Wed, 23 Aug 2023 13:13:57 +0000 (15:13 +0200)]
Merge pull request #15843 from peterrum/fep_simplices

FEPointEvaluation/MappingInfo for simplices

16 months agoApply review 15843/head
Peter Munch [Wed, 23 Aug 2023 09:20:18 +0000 (11:20 +0200)]
Apply review

16 months agoMerge pull request #15906 from bangerth/default-2
Martin Kronbichler [Wed, 23 Aug 2023 07:05:31 +0000 (09:05 +0200)]
Merge pull request #15906 from bangerth/default-2

Add a default constructor to AffineConstraints. (And be more terse about default arguments.)

16 months agoMerge pull request #15907 from marcfehling/islands
Peter Munch [Wed, 23 Aug 2023 05:52:34 +0000 (07:52 +0200)]
Merge pull request #15907 from marcfehling/islands

Disable eliminate_unrefined_islands in create_geometric_coarsening_sequence().

16 months agoFEPointEvaluation/MappingInfo for simplices
Peter Munch [Sat, 5 Aug 2023 12:44:42 +0000 (14:44 +0200)]
FEPointEvaluation/MappingInfo for simplices

16 months agoMerge pull request #15913 from kronbichler/simplify_rt_init
Peter Munch [Wed, 23 Aug 2023 05:36:11 +0000 (07:36 +0200)]
Merge pull request #15913 from kronbichler/simplify_rt_init

Matrix-free ShapeInfo: Simplify initialization of Raviart-Thomas

16 months agoMerge pull request #15905 from kronbichler/cleanup_shape_info
Peter Munch [Wed, 23 Aug 2023 05:33:30 +0000 (07:33 +0200)]
Merge pull request #15905 from kronbichler/cleanup_shape_info

MatrixFree ShapeInfo: Move some code to UnivariateShapeData

16 months agoMerge pull request #15918 from marcfehling/step75-3d
Peter Munch [Wed, 23 Aug 2023 05:31:29 +0000 (07:31 +0200)]
Merge pull request #15918 from marcfehling/step75-3d

step-75: enable pseudo-3d solution

16 months agoUse a delegating constructor. 15906/head
Wolfgang Bangerth [Wed, 23 Aug 2023 02:07:48 +0000 (20:07 -0600)]
Use a delegating constructor.

16 months agoBe more terse about AffineConstraint default arguments.
Wolfgang Bangerth [Mon, 21 Aug 2023 22:50:55 +0000 (16:50 -0600)]
Be more terse about AffineConstraint default arguments.

16 months agoAdd a default constructor to AffineConstraints.
Wolfgang Bangerth [Mon, 21 Aug 2023 22:46:48 +0000 (16:46 -0600)]
Add a default constructor to AffineConstraints.

16 months agoMerge pull request #15915 from kronbichler/remove_outdated_documentation
Wolfgang Bangerth [Wed, 23 Aug 2023 01:58:52 +0000 (19:58 -0600)]
Merge pull request #15915 from kronbichler/remove_outdated_documentation

Tensor polynomials: Remove nonsensical comments

16 months agostep-75: enable pseudo-3d solution 15918/head
Marc Fehling [Wed, 23 Aug 2023 00:33:45 +0000 (18:33 -0600)]
step-75: enable pseudo-3d solution

16 months agoDisable eliminate_unrefined_islands in create_geometric_coarsening_sequence(). 15907/head
Marc Fehling [Mon, 21 Aug 2023 23:36:19 +0000 (17:36 -0600)]
Disable eliminate_unrefined_islands in create_geometric_coarsening_sequence().

16 months agoAllow set_mesh_smoothing() on non-empty triangulations.
Marc Fehling [Mon, 21 Aug 2023 23:35:13 +0000 (17:35 -0600)]
Allow set_mesh_smoothing() on non-empty triangulations.

16 months agoMerge pull request #15909 from tamiko/const-2
Martin Kronbichler [Tue, 22 Aug 2023 17:25:32 +0000 (19:25 +0200)]
Merge pull request #15909 from tamiko/const-2

Standardize on 'const X' instead of 'X const', part II

16 months agoMerge pull request #15914 from peterrum/mapping_q_normal
Martin Kronbichler [Tue, 22 Aug 2023 17:00:52 +0000 (19:00 +0200)]
Merge pull request #15914 from peterrum/mapping_q_normal

MappingQ: don't require update_JxW_values or update_normal_vectors

16 months agoMerge pull request #15912 from stefanozampini/proper-fix-for-algebraic-constraints
Matthias Maier [Tue, 22 Aug 2023 15:11:42 +0000 (15:11 +0000)]
Merge pull request #15912 from stefanozampini/proper-fix-for-algebraic-constraints

Fix for https://github.com/dealii/dealii/issues/15882

16 months agoTensor polynomials: Remove nonsensical comments 15915/head
Martin Kronbichler [Tue, 22 Aug 2023 13:38:44 +0000 (15:38 +0200)]
Tensor polynomials: Remove nonsensical comments

16 months agoMerge pull request #15807 from peterrum/FineDoFHandlerViewBase
Martin Kronbichler [Tue, 22 Aug 2023 13:19:24 +0000 (15:19 +0200)]
Merge pull request #15807 from peterrum/FineDoFHandlerViewBase

MGTwoLevelTransfer: specialize setup for FCP and p-mg

16 months agoMatrix-free ShapeInfo: Simplify initialization of Raviart-Thomas 15913/head
Martin Kronbichler [Tue, 22 Aug 2023 12:04:29 +0000 (14:04 +0200)]
Matrix-free ShapeInfo: Simplify initialization of Raviart-Thomas

16 months agoFix two garbled up comments 15909/head
Matthias Maier [Tue, 22 Aug 2023 03:31:50 +0000 (22:31 -0500)]
Fix two garbled up comments

16 months agoStandardize on 'const X' instead of 'X const', part II
Matthias Maier [Tue, 22 Aug 2023 03:14:09 +0000 (22:14 -0500)]
Standardize on 'const X' instead of 'X const', part II

16 months agoMappingQ: don't require update_JxW_values or update_normal_vectors 15914/head
Peter Munch [Tue, 22 Aug 2023 12:30:33 +0000 (14:30 +0200)]
MappingQ: don't require update_JxW_values or update_normal_vectors

16 months agoMatrixFree ShapeInfo: Move some code to UnivariateShapeData 15905/head
Martin Kronbichler [Mon, 21 Aug 2023 21:23:54 +0000 (23:23 +0200)]
MatrixFree ShapeInfo: Move some code to UnivariateShapeData

16 months agoMerge pull request #15901 from peterrum/GlobalCoarseningFineDoFHandlerView_assert
Martin Kronbichler [Tue, 22 Aug 2023 11:44:54 +0000 (13:44 +0200)]
Merge pull request #15901 from peterrum/GlobalCoarseningFineDoFHandlerView_assert

GlobalCoarseningFineDoFHandlerView: add assert

16 months agoMerge pull request #15911 from kronbichler/fix_tests
David Wells [Tue, 22 Aug 2023 11:35:20 +0000 (07:35 -0400)]
Merge pull request #15911 from kronbichler/fix_tests

Fix some failing tests

16 months agoproper fix for algebraic constraints 15912/head
Stefano Zampini [Tue, 22 Aug 2023 08:58:00 +0000 (17:58 +0900)]
proper fix for algebraic constraints

16 months agoFix some failing tests 15911/head
Martin Kronbichler [Tue, 22 Aug 2023 08:34:39 +0000 (10:34 +0200)]
Fix some failing tests

16 months agoGlobalCoarseningFineDoFHandlerView: add assert 15901/head
Peter Munch [Mon, 21 Aug 2023 15:34:00 +0000 (17:34 +0200)]
GlobalCoarseningFineDoFHandlerView: add assert

16 months agoMerge pull request #15908 from bangerth/const
Matthias Maier [Tue, 22 Aug 2023 03:10:33 +0000 (03:10 +0000)]
Merge pull request #15908 from bangerth/const

Standardize on 'const X' instead of 'X const'.

16 months agoStandardize on 'const X' instead of 'X const'. 15908/head
Wolfgang Bangerth [Tue, 22 Aug 2023 02:43:03 +0000 (20:43 -0600)]
Standardize on 'const X' instead of 'X const'.

16 months agoMerge pull request #15892 from peterrum/mg_nonnested_comp_assert
David Wells [Mon, 21 Aug 2023 18:37:17 +0000 (14:37 -0400)]
Merge pull request #15892 from peterrum/mg_nonnested_comp_assert

Non-nested transfer: add assert

16 months agoMerge pull request #15900 from kronbichler/fix_mf_performance
Martin Kronbichler [Mon, 21 Aug 2023 15:26:13 +0000 (17:26 +0200)]
Merge pull request #15900 from kronbichler/fix_mf_performance

Always inline a new function to restore performance

16 months agoMerge pull request #15897 from peterrum/CellIDTranslator_AssertThrow
Daniel Arndt [Mon, 21 Aug 2023 13:47:38 +0000 (09:47 -0400)]
Merge pull request #15897 from peterrum/CellIDTranslator_AssertThrow

16 months agoAllow throwing if not all points have been found
Marco Feder [Mon, 21 Aug 2023 09:57:30 +0000 (09:57 +0000)]
Allow throwing if not all points have been found

16 months agoAlways inline a new function to restore performance 15900/head
Martin Kronbichler [Mon, 21 Aug 2023 10:31:21 +0000 (12:31 +0200)]
Always inline a new function to restore performance

16 months agoMerge pull request #15898 from bangerth/default
Martin Kronbichler [Mon, 21 Aug 2023 09:55:41 +0000 (11:55 +0200)]
Merge pull request #15898 from bangerth/default

Be terser in specifying default arguments: ComponentMask.

16 months agoMerge pull request #15895 from drwells/fe-values-split-2
Martin Kronbichler [Mon, 21 Aug 2023 08:47:47 +0000 (10:47 +0200)]
Merge pull request #15895 from drwells/fe-values-split-2

Move the internal FEValuesViews functions into a new file.

16 months agoExplicitly spell out a loop. 15895/head
David Wells [Mon, 21 Aug 2023 01:56:24 +0000 (21:56 -0400)]
Explicitly spell out a loop.

16 months agoImprove aliasing by explicitly copying a value.
David Wells [Mon, 21 Aug 2023 01:26:45 +0000 (21:26 -0400)]
Improve aliasing by explicitly copying a value.

16 months agoMerge pull request #15891 from kronbichler/restructure_tensor_product
David Wells [Mon, 21 Aug 2023 01:20:24 +0000 (21:20 -0400)]
Merge pull request #15891 from kronbichler/restructure_tensor_product

Restructure tensor-product kernels via 1d interpolants

16 months agoBe terser in specifying default arguments: ComponentMask. 15898/head
Wolfgang Bangerth [Sun, 20 Aug 2023 22:55:39 +0000 (16:55 -0600)]
Be terser in specifying default arguments: ComponentMask.

16 months agoExpose rpe parameters through AdditionalData
Marco Feder [Sun, 20 Aug 2023 17:12:47 +0000 (17:12 +0000)]
Expose rpe parameters through AdditionalData

16 months agoCellIDTranslator: make Assert ot AssertThrow 15897/head
Peter Munch [Sun, 20 Aug 2023 20:17:57 +0000 (22:17 +0200)]
CellIDTranslator: make Assert ot AssertThrow

16 months agoApply changes 15807/head
Peter Munch [Sun, 20 Aug 2023 15:55:18 +0000 (17:55 +0200)]
Apply changes

16 months agoMGTwoLevelTransfer: specialize setup for FCP and p-mg
Peter Munch [Fri, 28 Jul 2023 07:49:18 +0000 (09:49 +0200)]
MGTwoLevelTransfer: specialize setup for FCP and p-mg

16 months agoMerge pull request #15896 from peterrum/smart_pointer_get
Peter Munch [Sun, 20 Aug 2023 15:54:17 +0000 (17:54 +0200)]
Merge pull request #15896 from peterrum/smart_pointer_get

Introduce SmartPointer::get()

16 months agoIntroduce SmartPointer::get() 15896/head
Peter Munch [Sun, 20 Aug 2023 11:43:48 +0000 (13:43 +0200)]
Introduce SmartPointer::get()

16 months agoMove the internal FEValuesViews functions into a new file.
David Wells [Fri, 18 Aug 2023 15:59:34 +0000 (11:59 -0400)]
Move the internal FEValuesViews functions into a new file.

Most of the compilation work for FEValues is actually the inner functions used
by FEValuesViews objects. Explicitly instantiating these functions in their own
translation unit significantly lowers compilation time. Here are the numbers for
release mode:

master:
- fe_values_views: 7:58 wall time, 4.5 GB max RSS

feature:
- fe_values_views: 0:32 wall time, 1.6 GB max RSS
- fe_values_views_internal: 2:58 wall time, 2.8 GB max RSS

I had to adjust the type signatures (on the first ArrayView argument) to avoid
instantiating things for 'const float' rather than float et al.

16 months agoReduce test 15842/head
Peter Munch [Fri, 18 Aug 2023 21:21:10 +0000 (23:21 +0200)]
Reduce test

16 months agoNon-nested transfer: add assert 15892/head
Peter Munch [Fri, 18 Aug 2023 20:28:36 +0000 (22:28 +0200)]
Non-nested transfer: add assert

16 months agoRestructure tensor-product kernels via 1d interpolants 15891/head
Martin Kronbichler [Thu, 17 Aug 2023 21:11:16 +0000 (23:11 +0200)]
Restructure tensor-product kernels via 1d interpolants

16 months agoMerge pull request #15890 from bangerth/tolerance
Martin Kronbichler [Fri, 18 Aug 2023 08:18:45 +0000 (10:18 +0200)]
Merge pull request #15890 from bangerth/tolerance

Use a relative tolerance.

16 months agoUse relative tolerances. 15890/head
Wolfgang Bangerth [Thu, 17 Aug 2023 20:28:15 +0000 (14:28 -0600)]
Use relative tolerances.

16 months agoBe explicit about types.
Wolfgang Bangerth [Thu, 17 Aug 2023 20:25:18 +0000 (14:25 -0600)]
Be explicit about types.

16 months agoMerge pull request #15889 from drwells/more-if-constexpr
Wolfgang Bangerth [Thu, 17 Aug 2023 22:54:02 +0000 (16:54 -0600)]
Merge pull request #15889 from drwells/more-if-constexpr

Use if constexpr in some more places.

16 months agoUse if constexpr in some more places. 15889/head
David Wells [Thu, 17 Aug 2023 19:03:57 +0000 (15:03 -0400)]
Use if constexpr in some more places.

16 months agoMerge pull request #15885 from Rombur/fix_python
Marc Fehling [Thu, 17 Aug 2023 18:00:53 +0000 (12:00 -0600)]
Merge pull request #15885 from Rombur/fix_python

Fix notebook: use list of Triangulation in merge_triangulations

16 months agoMerge pull request #15877 from bangerth/fix-clear
Marc Fehling [Thu, 17 Aug 2023 18:00:35 +0000 (12:00 -0600)]
Merge pull request #15877 from bangerth/fix-clear

Clear some forgotten fields in Triangulation::clear().

16 months agoClear maps, rather than reset pointers. 15877/head
Wolfgang Bangerth [Thu, 17 Aug 2023 11:54:03 +0000 (05:54 -0600)]
Clear maps, rather than reset pointers.

16 months agoClear some forgotten fields in Triangulation::clear().
Wolfgang Bangerth [Tue, 15 Aug 2023 11:20:03 +0000 (05:20 -0600)]
Clear some forgotten fields in Triangulation::clear().


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.