• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Ruberhauptmann / quant-met / 16150623148

08 Jul 2025 05:50PM UTC coverage: 33.046% (-67.0%) from 100.0%
16150623148

push

github

web-flow
Switch to sisl (#121)

3 of 43 branches covered (6.98%)

Branch coverage included in aggregate %.

69 of 190 new or added lines in 13 files covered. (36.32%)

47 existing lines in 3 files now uncovered.

112 of 305 relevant lines covered (36.72%)

1.1 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/quant_met/utils.py
1
"""
2
Utility functions (:mod:`quant_met.utils`)
3
==========================================
4

5
.. currentmodule:: quant_met.utils
6

7
Functions
8
---------
9

10
.. autosummary::
11
   :toctree: generated/
12

13
    generate_uniform_grid
14
"""  # noqa: D205, D400
15

UNCOV
16
import numpy as np
×
UNCOV
17
import numpy.typing as npt
×
UNCOV
18
from numba import jit
×
19

20

UNCOV
21
def generate_uniform_grid(
×
22
    ncols: int,
23
    nrows: int,
24
    corner_1: npt.NDArray[np.floating],
25
    corner_2: npt.NDArray[np.floating],
26
    origin: npt.NDArray[np.floating],
27
) -> npt.NDArray[np.floating]:
28
    """
29
    Generate a uniform grid of points in 2D.
30

31
    Parameters
32
    ----------
33
        ncols : int
34
            Number of columns
35
        nrows : int
36
            Number of rows
37
        corner_1 : :py:class:`numpy.ndarray`
38
            First corner vector
39
        corner_2 : :py:class:`numpy.ndarray`
40
            Second corner vector
41
        origin : :py:class:`numpy.ndarray`
42
            Origin point
43

44
    Returns
45
    -------
46
        :py:class:`numpy.ndarray`
47
            Grid
48

49
    """
UNCOV
50
    if ncols <= 1 or nrows <= 1:
×
UNCOV
51
        msg = "Number of columns and rows must be greater than 1."
×
UNCOV
52
        raise ValueError(msg)
×
UNCOV
53
    if np.linalg.norm(corner_1) == 0 or np.linalg.norm(corner_2) == 0:
×
UNCOV
54
        msg = "Vectors to the corners cannot be zero."
×
UNCOV
55
        raise ValueError(msg)
×
56

UNCOV
57
    grid: npt.NDArray[np.floating] = np.concatenate(
×
58
        [
59
            np.linspace(
60
                origin[0] + i / (nrows - 1) * corner_2,
61
                origin[1] + corner_1 + i / (nrows - 1) * corner_2,
62
                num=ncols,
63
            )
64
            for i in range(nrows)
65
        ]
66
    )
67

UNCOV
68
    return grid
×
69

70

UNCOV
71
@jit
×
UNCOV
72
def fermi_dirac(energy: npt.NDArray[np.floating], beta: float) -> npt.NDArray[np.floating]:
×
73
    """Fermi dirac distribution.
74

75
    Parameters
76
    ----------
77
    energy
78
    beta
79

80
    Returns
81
    -------
82
    fermi_dirac
83

84
    """
UNCOV
85
    return (
×
86
        np.where(energy < 0, 1.0, 0.0)
87
        if np.isinf(beta)
88
        else np.asarray(1 / (1 + np.exp(beta * energy)))
89
    )
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc