# 24 days of Rust - the glorious tau

Important note: this article is outdated!Go to http://zsiciarz.github.io/24daysofrust/ for a recent version of all of24 days of Rustarticles. The blogpost here is kept as it is for historical reasons.

τ (*tau*) is one of the most important mathematical constants (if not *the* most important), relating circle's circumference to it's radius. See the tau manifesto for the long explanation if you're still an unbeliever. Can we use it in Rust? Of course, there's a crate for that!

Let's see this amazing number in full glory:

extern crate tau; fn main() { println!("τ = {}", tau::TAU); }

$ cargo run τ = 6.283185

We can do all sorts of important calculations with τ, just look:

extern crate num; use std::num::FloatMath; use num::complex::{Complex, Complex64}; let radius: f64 = 15.0; println!("circle circumference = τ * r = {}", tau::TAU * radius); let c: Complex64 = Complex::from_polar(&1.0, &tau::TAU); println!("Euler's identity: exp(i * τ) = {}", c); println!("Trigonometry: sin(τ) = {}, cos(τ) = {}", tau::TAU.sin(), tau::TAU.cos());

And if someone really, I mean *really* needs to refer to that other mathematical constant, it is (regrettably) possible as well.

println!("That other constant = {}", tau::TAU / 2.0);

Here's the output:

$ cargo run circle circumference = τ * r = 94.24778 Euler's identity: exp(i * τ) = 1-0i Trigonometry: sin(τ) = -0, cos(τ) = 1 That other constant = 3.141593

Code examples in this article were built with rustc 0.13.0-nightly and tau 1.0.0.

The header photo (taken by me) shows Warsaw skyline from the Siekierkowski bridge.