File: storage.py

package info (click to toggle)
pytorch-cuda 2.6.0%2Bdfsg-7
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 161,620 kB
  • sloc: python: 1,278,832; cpp: 900,322; ansic: 82,710; asm: 7,754; java: 3,363; sh: 2,811; javascript: 2,443; makefile: 597; ruby: 195; xml: 84; objc: 68
file content (76 lines) | stat: -rw-r--r-- 1,685 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import torch


def check_error(desc, fn, *required_substrings):
    try:
        fn()
    except Exception as e:
        error_message = e.args[0]
        print("=" * 80)
        print(desc)
        print("-" * 80)
        print(error_message)
        print()
        for sub in required_substrings:
            assert sub in error_message
        return
    raise AssertionError(f"given function ({desc}) didn't raise an error")


check_error("Wrong argument types", lambda: torch.FloatStorage(object()), "object")

check_error(
    "Unknown keyword argument", lambda: torch.FloatStorage(content=1234.0), "keyword"
)

check_error(
    "Invalid types inside a sequence",
    lambda: torch.FloatStorage(["a", "b"]),
    "list",
    "str",
)

check_error("Invalid size type", lambda: torch.FloatStorage(1.5), "float")

check_error(
    "Invalid offset", lambda: torch.FloatStorage(torch.FloatStorage(2), 4), "2", "4"
)

check_error(
    "Negative offset", lambda: torch.FloatStorage(torch.FloatStorage(2), -1), "2", "-1"
)

check_error(
    "Invalid size",
    lambda: torch.FloatStorage(torch.FloatStorage(3), 1, 5),
    "2",
    "1",
    "5",
)

check_error(
    "Negative size",
    lambda: torch.FloatStorage(torch.FloatStorage(3), 1, -5),
    "2",
    "1",
    "-5",
)

check_error("Invalid index type", lambda: torch.FloatStorage(10)["first item"], "str")


def assign():
    torch.FloatStorage(10)[1:-1] = "1"


check_error("Invalid value type", assign, "str")

check_error(
    "resize_ with invalid type", lambda: torch.FloatStorage(10).resize_(1.5), "float"
)

check_error(
    "fill_ with invalid type", lambda: torch.IntStorage(10).fill_("asdf"), "str"
)

# TODO: frombuffer