Source code for streaming.base.shared.scalar
# Copyright 2022-2024 MosaicML Streaming authors
# SPDX-License-Identifier: Apache-2.0
"""A numpy scalar of predetermined dtype that lives in shared memory."""
from typing import Any
from streaming.base.shared.array import SharedArray
[docs]
class SharedScalar:
"""A numpy scalar of predetermined dtype that lives in shared memory.
Args:
dtype (type): Dtype of the array.
name (str): Its name in shared memory.
"""
def __init__(self, dtype: type, name: str) -> None:
self.dtype = dtype
self.name = name
self.arr = SharedArray(1, dtype, name)
[docs]
def get(self) -> Any:
"""Get the value.
Returns:
Any: The value.
"""
return self.arr[0]
[docs]
def set(self, value: Any) -> None:
"""Set the value.
Args:
value (Any): The value.
"""
self.arr[0] = value