//! Documentation constants for mathematical function traits.
//!
//! This module contains reusable documentation strings for mathematical function traits,
//! reducing verbosity in macro invocations and improving maintainability.

// ============================================================================
// Logarithm Function Documentation
// ============================================================================

/// Trait documentation for natural logarithm (ln).
pub const DOC_LN_TRAIT: &str = "Trait for computing the [*natural logarithm*](https://en.wikipedia.org/wiki/Natural_logarithm) (base `e`) of a number.

Provides both a fallible method that returns a [`Result`] and a panicking method that directly returns the computed value or panics on invalid input.

# Associated Types

- `Error`: The error type that is returned by the `try_ln` method. This type must implement the [`std::error::Error`] trait.

# Required Methods

- `try_ln`: Computes the *natural logarithm* of `self` and returns a [`Result`]. If the computation is successful, it returns [`Ok`] with the computed value. If an error occurs, it returns [`Err`] with the associated error.
- `ln`: Computes the *natural logarithm* of `self` and directly returns the computed value. This method may panic (in Debug mode) if the computation fails.";

/// Try method documentation for natural logarithm.
pub const DOC_LN_TRY: &str = "Computes the *natural logarithm* of `self` and returns a [`Result`].

If the computation is successful, it returns [`Ok`] with the computed value. If an error occurs, it returns [`Err`] with the associated error.

# Errors

This method returns an error if the computation fails. The error type is defined by the associated [`Ln::Error`] type.";

/// Panicking method documentation for natural logarithm.
pub const DOC_LN_PANIC: &str = "Computes the *natural logarithm* of `self` and directly returns the computed value.

This method may panic (in Debug mode) if the computation fails.

# Panics

This method may panic (in Debug mode) if the computation fails. It is recommended to use the `try_ln` method for safe computations.";

/// Error type documentation for natural logarithm.
pub const DOC_LN_ERROR: &str = "The error type that is returned by the `try_ln` method.";

// ----------------------------------------------------------------------------

/// Trait documentation for base-10 logarithm (log10).
pub const DOC_LOG10_TRAIT: &str = "Trait for computing the [*base-10 logarithm*](https://en.wikipedia.org/wiki/Common_logarithm) of a number.

Provides both a fallible method that returns a [`Result`] and a panicking method that directly returns the computed value or panics on invalid input.

# Associated Types

- `Error`: The error type that is returned by the `try_log10` method. This type must implement the [`std::error::Error`] trait.

# Required Methods

- `try_log10`: Computes the *base-10 logarithm* of `self` and returns a [`Result`]. If the computation is successful, it returns [`Ok`] with the computed value. If an error occurs, it returns [`Err`] with the associated error.
- `log10`: Computes the *base-10 logarithm* of `self` and directly returns the computed value. This method may panic (in Debug mode) if the computation fails.";

/// Try method documentation for base-10 logarithm.
pub const DOC_LOG10_TRY: &str = "Computes the *base-10 logarithm* of `self` and returns a [`Result`].

If the computation is successful, it returns [`Ok`] with the computed value. If an error occurs, it returns [`Err`] with the associated error.

# Errors

This method returns an error if the computation fails. The error type is defined by the associated [`Log10::Error`] type.";

/// Panicking method documentation for base-10 logarithm.
pub const DOC_LOG10_PANIC: &str = "Computes the *base-10 logarithm* of `self` and directly returns the computed value.

This method may panic (in Debug mode) if the computation fails.

# Panics

This method may panic (in Debug mode) if the computation fails. It is recommended to use the `try_log10` method for safe computations.";

/// Error type documentation for base-10 logarithm.
pub const DOC_LOG10_ERROR: &str = "The error type that is returned by the `try_log10` method.";

// ----------------------------------------------------------------------------

/// Trait documentation for base-2 logarithm (log2).
pub const DOC_LOG2_TRAIT: &str = "Trait for computing the [*base-2 logarithm*](https://en.wikipedia.org/wiki/Binary_logarithm) of a number.

Provides both a fallible method that returns a [`Result`] and a panicking method that directly returns the computed value or panics on invalid input.

# Associated Types

- `Error`: The error type that is returned by the `try_log2` method. This type must implement the [`std::error::Error`] trait.

# Required Methods

- `try_log2`: Computes the *base-2 logarithm* of `self` and returns a [`Result`]. If the computation is successful, it returns [`Ok`] with the computed value. If an error occurs, it returns [`Err`] with the associated error.
- `log2`: Computes the *base-2 logarithm* of `self` and directly returns the computed value. This method may panic (in Debug mode) if the computation fails.";

/// Try method documentation for base-2 logarithm.
pub const DOC_LOG2_TRY: &str = "Computes the *base-2 logarithm* of `self` and returns a [`Result`].

If the computation is successful, it returns [`Ok`] with the computed value. If an error occurs, it returns [`Err`] with the associated error.

# Errors

This method returns an error if the computation fails. The error type is defined by the associated [`Log2::Error`] type.";

/// Panicking method documentation for base-2 logarithm.
pub const DOC_LOG2_PANIC: &str = "Computes the *base-2 logarithm* of `self` and directly returns the computed value.

This method may panic (in Debug mode) if the computation fails.

# Panics

This method may panic (in Debug mode) if the computation fails. It is recommended to use the `try_log2` method for safe computations.";

/// Error type documentation for base-2 logarithm.
pub const DOC_LOG2_ERROR: &str = "The error type that is returned by the `try_log2` method.";
