# [−]Trait nalgebra::RealField

```pub trait RealField: ComplexField<RealField = Self> + Lattice + RelativeEq<Self, Epsilon = Self, Epsilon = Self> + UlpsEq<Self> + Bounded + Signed {
fn is_sign_positive(self) -> bool;
fn is_sign_negative(self) -> bool;
fn max(self, other: Self) -> Self;
fn min(self, other: Self) -> Self;
fn atan2(self, other: Self) -> Self;
fn pi() -> Self;
fn two_pi() -> Self;
fn frac_pi_2() -> Self;
fn frac_pi_3() -> Self;
fn frac_pi_4() -> Self;
fn frac_pi_6() -> Self;
fn frac_pi_8() -> Self;
fn frac_1_pi() -> Self;
fn frac_2_pi() -> Self;
fn frac_2_sqrt_pi() -> Self;
fn e() -> Self;
fn log2_e() -> Self;
fn log10_e() -> Self;
fn ln_2() -> Self;
fn ln_10() -> Self;
}```

Trait shared by all reals.

Reals are equipped with functions that are commonly used on reals. The results of those functions only have to be approximately equal to the actual theoretical values.

## Implementations on Foreign Types

### `impl RealField for f32`

#### `fn pi() -> f32`

Archimedes' constant.

2.0 * pi.

pi / 2.0.

pi / 3.0.

pi / 4.0.

pi / 6.0.

pi / 8.0.

1.0 / pi.

2.0 / pi.

2.0 / sqrt(pi).

Euler's number.

log2(e).

log10(e).

ln(2.0).

ln(10.0).

### `impl RealField for f64`

#### `fn pi() -> f64`

Archimedes' constant.

2.0 * pi.

pi / 2.0.

pi / 3.0.

pi / 4.0.

pi / 6.0.

pi / 8.0.

1.0 / pi.

2.0 / pi.

2.0 / sqrt(pi).

Euler's number.

log2(e).

log10(e).

ln(2.0).

ln(10.0).