aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.clang-format3
-rw-r--r--.clang-tidy3
-rw-r--r--.gitignore3
-rw-r--r--LICENSES/0BSD.txt12
l---------LICENSES/GPL-2.0-or-later.txt1
-rw-r--r--README.md3
-rw-r--r--benchmark/.clang-tidy3
-rw-r--r--benchmark/bench_bitvec.cpp18
-rw-r--r--benchmark/bench_hilbert.cpp18
-rw-r--r--benchmark/bench_utils.hpp18
-rwxr-xr-xbenchmarks/plot.py4
-rw-r--r--include/chilbert/BoundedBitVec.hpp20
-rw-r--r--include/chilbert/DynamicBitVec.hpp20
-rw-r--r--include/chilbert/SmallBitVec.hpp20
-rw-r--r--include/chilbert/StaticBitVec.hpp20
-rw-r--r--include/chilbert/chilbert.hpp20
-rw-r--r--include/chilbert/chilbert.ipp20
-rw-r--r--include/chilbert/detail/BitVecIndex.hpp20
-rw-r--r--include/chilbert/detail/BitVecIterator.hpp20
-rw-r--r--include/chilbert/detail/BitVecMask.hpp20
-rw-r--r--include/chilbert/detail/MultiBitVec.hpp20
-rw-r--r--include/chilbert/detail/gray_code_rank.hpp20
-rw-r--r--include/chilbert/detail/operations.hpp20
-rw-r--r--include/chilbert/detail/traits.hpp20
-rw-r--r--include/chilbert/operators.hpp20
-rw-r--r--meson.build2
-rw-r--r--meson/warnings/meson.build2
-rw-r--r--meson_options.txt3
-rw-r--r--src/chilbert_obj.cpp18
-rw-r--r--src/chilbert_svg.cpp18
-rw-r--r--test/.clang-tidy3
-rw-r--r--test/test_bitvec.cpp18
-rw-r--r--test/test_gray_code_rank.cpp18
-rw-r--r--test/test_hilbert.cpp18
-rw-r--r--test/test_utils.hpp18
35 files changed, 99 insertions, 385 deletions
diff --git a/.clang-format b/.clang-format
index 8b29ee3..144e26f 100644
--- a/.clang-format
+++ b/.clang-format
@@ -1,3 +1,6 @@
+# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
+
---
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
diff --git a/.clang-tidy b/.clang-tidy
index c48319c..0688e7c 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -1,3 +1,6 @@
+# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
+
Checks: >
*,
-*-avoid-c-arrays,
diff --git a/.gitignore b/.gitignore
index d163863..8cf9231 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
+# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
+
build/ \ No newline at end of file
diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt
new file mode 100644
index 0000000..8f6c550
--- /dev/null
+++ b/LICENSES/0BSD.txt
@@ -0,0 +1,12 @@
+Copyright 2008-2022 David Robillard <d@drobilla.net>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt
new file mode 120000
index 0000000..012065c
--- /dev/null
+++ b/LICENSES/GPL-2.0-or-later.txt
@@ -0,0 +1 @@
+../COPYING \ No newline at end of file
diff --git a/README.md b/README.md
index 3997b26..203829b 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
+<!-- Copyright 2018-2022 David Robillard <d@drobilla.net> -->
+<!-- SPDX-License-Identifier: GPL-2.0-or-later -->
+
CHilbert
========
diff --git a/benchmark/.clang-tidy b/benchmark/.clang-tidy
index 879423b..93f8fdf 100644
--- a/benchmark/.clang-tidy
+++ b/benchmark/.clang-tidy
@@ -1,3 +1,6 @@
+# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
+
Checks: >
-llvm-header-guard,
-readability-static-accessed-through-instance,
diff --git a/benchmark/bench_bitvec.cpp b/benchmark/bench_bitvec.cpp
index 5c885b1..6db2aa6 100644
--- a/benchmark/bench_bitvec.cpp
+++ b/benchmark/bench_bitvec.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "bench_utils.hpp"
#include "test_utils.hpp"
diff --git a/benchmark/bench_hilbert.cpp b/benchmark/bench_hilbert.cpp
index 5793d29..6973fa3 100644
--- a/benchmark/bench_hilbert.cpp
+++ b/benchmark/bench_hilbert.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "bench_utils.hpp"
#include "test_utils.hpp"
diff --git a/benchmark/bench_utils.hpp b/benchmark/bench_utils.hpp
index 620cb27..9583c68 100644
--- a/benchmark/bench_utils.hpp
+++ b/benchmark/bench_utils.hpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef BENCH_UTILS_HPP
#define BENCH_UTILS_HPP
diff --git a/benchmarks/plot.py b/benchmarks/plot.py
index b329ed4..d2ddba6 100755
--- a/benchmarks/plot.py
+++ b/benchmarks/plot.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+
+# Copyright 2018-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: GPL-2.0-or-later
import csv
import glob
diff --git a/include/chilbert/BoundedBitVec.hpp b/include/chilbert/BoundedBitVec.hpp
index ad9b9da..cae6031 100644
--- a/include/chilbert/BoundedBitVec.hpp
+++ b/include/chilbert/BoundedBitVec.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_BOUNDEDBITVEC_HPP
#define CHILBERT_BOUNDEDBITVEC_HPP
diff --git a/include/chilbert/DynamicBitVec.hpp b/include/chilbert/DynamicBitVec.hpp
index 2134839..3201c69 100644
--- a/include/chilbert/DynamicBitVec.hpp
+++ b/include/chilbert/DynamicBitVec.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DYNAMICBITVEC_HPP
#define CHILBERT_DYNAMICBITVEC_HPP
diff --git a/include/chilbert/SmallBitVec.hpp b/include/chilbert/SmallBitVec.hpp
index 37854d3..7806cf1 100644
--- a/include/chilbert/SmallBitVec.hpp
+++ b/include/chilbert/SmallBitVec.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_SMALLBITVEC_HPP
#define CHILBERT_SMALLBITVEC_HPP
diff --git a/include/chilbert/StaticBitVec.hpp b/include/chilbert/StaticBitVec.hpp
index d1481cc..056d91a 100644
--- a/include/chilbert/StaticBitVec.hpp
+++ b/include/chilbert/StaticBitVec.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_STATICBITVEC_HPP
#define CHILBERT_STATICBITVEC_HPP
diff --git a/include/chilbert/chilbert.hpp b/include/chilbert/chilbert.hpp
index 36b94cc..9540014 100644
--- a/include/chilbert/chilbert.hpp
+++ b/include/chilbert/chilbert.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_HILBERT_HPP
#define CHILBERT_HILBERT_HPP
diff --git a/include/chilbert/chilbert.ipp b/include/chilbert/chilbert.ipp
index 84626fc..3158c66 100644
--- a/include/chilbert/chilbert.ipp
+++ b/include/chilbert/chilbert.ipp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_CHILBERT_HPP
#define CHILBERT_CHILBERT_HPP
diff --git a/include/chilbert/detail/BitVecIndex.hpp b/include/chilbert/detail/BitVecIndex.hpp
index c337c70..a514c21 100644
--- a/include/chilbert/detail/BitVecIndex.hpp
+++ b/include/chilbert/detail/BitVecIndex.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_BITVECINDEX_HPP
#define CHILBERT_DETAIL_BITVECINDEX_HPP
diff --git a/include/chilbert/detail/BitVecIterator.hpp b/include/chilbert/detail/BitVecIterator.hpp
index bcc5582..cdb4126 100644
--- a/include/chilbert/detail/BitVecIterator.hpp
+++ b/include/chilbert/detail/BitVecIterator.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_BITVECITERATOR_HPP
#define CHILBERT_DETAIL_BITVECITERATOR_HPP
diff --git a/include/chilbert/detail/BitVecMask.hpp b/include/chilbert/detail/BitVecMask.hpp
index 855e4f3..3ce44cc 100644
--- a/include/chilbert/detail/BitVecMask.hpp
+++ b/include/chilbert/detail/BitVecMask.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_BITVECMASK_HPP
#define CHILBERT_DETAIL_BITVECMASK_HPP
diff --git a/include/chilbert/detail/MultiBitVec.hpp b/include/chilbert/detail/MultiBitVec.hpp
index e8ae08a..9053a04 100644
--- a/include/chilbert/detail/MultiBitVec.hpp
+++ b/include/chilbert/detail/MultiBitVec.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_MULTIBITVEC_HPP
#define CHILBERT_DETAIL_MULTIBITVEC_HPP
diff --git a/include/chilbert/detail/gray_code_rank.hpp b/include/chilbert/detail/gray_code_rank.hpp
index a326617..b049540 100644
--- a/include/chilbert/detail/gray_code_rank.hpp
+++ b/include/chilbert/detail/gray_code_rank.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_GRAY_CODE_RANK_HPP
#define CHILBERT_DETAIL_GRAY_CODE_RANK_HPP
diff --git a/include/chilbert/detail/operations.hpp b/include/chilbert/detail/operations.hpp
index 04d2689..ba9971e 100644
--- a/include/chilbert/detail/operations.hpp
+++ b/include/chilbert/detail/operations.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_OPERATIONS_HPP
#define CHILBERT_DETAIL_OPERATIONS_HPP
diff --git a/include/chilbert/detail/traits.hpp b/include/chilbert/detail/traits.hpp
index e6a2023..5bb8f5f 100644
--- a/include/chilbert/detail/traits.hpp
+++ b/include/chilbert/detail/traits.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_DETAIL_TRAITS_HPP
#define CHILBERT_DETAIL_TRAITS_HPP
diff --git a/include/chilbert/operators.hpp b/include/chilbert/operators.hpp
index 4a92e0d..619b138 100644
--- a/include/chilbert/operators.hpp
+++ b/include/chilbert/operators.hpp
@@ -1,20 +1,6 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
- Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// Copyright 2006-2007 Chris Hamilton <chamilton@cs.dal.ca>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef CHILBERT_OPERATORS_HPP
#define CHILBERT_OPERATORS_HPP
diff --git a/meson.build b/meson.build
index 69a14eb..dd01dc8 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
# Copyright 2019-2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR GPL-2.0-or-later
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
project('chilbert', ['cpp'],
version: '0.0.1',
diff --git a/meson/warnings/meson.build b/meson/warnings/meson.build
index ef0dd47..6aecf0a 100644
--- a/meson/warnings/meson.build
+++ b/meson/warnings/meson.build
@@ -1,5 +1,5 @@
# Copyright 2020-2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR GPL-3.0-only
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
# General code to enable approximately all warnings in GCC 12, clang, and MSVC.
#
diff --git a/meson_options.txt b/meson_options.txt
index 4f5c9b4..e090a29 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,6 @@
+# Copyright 2019-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
+
option('benchmarks', type: 'feature', value: 'auto', yield: true,
description: 'Build benchmarks')
diff --git a/src/chilbert_obj.cpp b/src/chilbert_obj.cpp
index 1fdd1ee..76039d0 100644
--- a/src/chilbert_obj.cpp
+++ b/src/chilbert_obj.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "chilbert/chilbert.hpp"
diff --git a/src/chilbert_svg.cpp b/src/chilbert_svg.cpp
index 7033bec..a572f68 100644
--- a/src/chilbert_svg.cpp
+++ b/src/chilbert_svg.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "chilbert/chilbert.hpp"
diff --git a/test/.clang-tidy b/test/.clang-tidy
index f0d389e..ca6167c 100644
--- a/test/.clang-tidy
+++ b/test/.clang-tidy
@@ -1,3 +1,6 @@
+# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# SPDX-License-Identifier: 0BSD OR GPL-2.0-or-later
+
Checks: >
-*-assert-side-effect,
-bugprone-implicit-widening-of-multiplication-result,
diff --git a/test/test_bitvec.cpp b/test/test_bitvec.cpp
index 892744a..aaf69a4 100644
--- a/test/test_bitvec.cpp
+++ b/test/test_bitvec.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#undef NDEBUG
diff --git a/test/test_gray_code_rank.cpp b/test/test_gray_code_rank.cpp
index 906b26c..1bb70cb 100644
--- a/test/test_gray_code_rank.cpp
+++ b/test/test_gray_code_rank.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#undef NDEBUG
diff --git a/test/test_hilbert.cpp b/test/test_hilbert.cpp
index 8aacd96..a83ee33 100644
--- a/test/test_hilbert.cpp
+++ b/test/test_hilbert.cpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#undef NDEBUG
diff --git a/test/test_utils.hpp b/test/test_utils.hpp
index c3b6edb..5f4c03f 100644
--- a/test/test_utils.hpp
+++ b/test/test_utils.hpp
@@ -1,19 +1,5 @@
-/*
- Copyright (C) 2018 David Robillard <d@drobilla.net>
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 2 of the License, or (at your option) any later
- version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-*/
+// Copyright 2018-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef TEST_UTILS_HPP
#define TEST_UTILS_HPP