Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



55 Commits

Repository files navigation


A small Dynamic Time Warping (DTW) single header library for C++

DTW.hpp computes the DTW distance between two c++ vectors a and b!

Build Status Coverage Status


  • Supports N-Dimensional data
  • a and bcan have different number of data points
  • Compute the distance using any p-norm
  • DTW::dtw_distance_only(a, b, p); function which returns only the DTW distance
  • DTW::DTW MyDtw (a, b, p); class contains the pairwise distance vector, DTW distance vector, DTW distance, and a function to calculate the DTW alignment path

What is Dynamic Time Warping ?

Dynamic Time Warping (DTW) is an algorithm to measure the similarity between two temporal curves. The wiki page on DTW is a great place to learn more.

Image of two different curves

Consider the above Numerical and Experimental curves in 2D space. DTW can be used to measure the similarity between the two curves. A DTW distance of zero would mean that the warped curves match exactly.

The order of data points matters. Each curve is a sequence of data points, with a known beginning and ending.


Check out the two examples.


Run in a linux environment.

  • travisci tests using Ubuntu Xenial and g++ version 5.4.0
  • also tested on openSUSE Leap 15.1 and g++ version 7.4.0


  • C++11 standard or later


No releases published


No packages published