Skip to content

Latest commit

 

History

History
188 lines (113 loc) · 3.16 KB

README.md

File metadata and controls

188 lines (113 loc) · 3.16 KB

atom

atom provides atomic operations for integers, floats, and strings.

Functions

new_int(value=0) -> AtomicInt

create a new AtomicInt with an optional initial value

Parameters

name type description
value int initial value, defaults to 0

Examples

basic

create a new AtomicInt with default value

load("atom", "new_int")
ai = new_int()
ai.inc()
print(ai.get())
# Output: 1

with value

create a new AtomicInt with a specific value

load("atom", "new_int")
ai = new_int(42)
ai.add(42)
print(ai.get())
# Output: 84

new_float(value=0.0) -> AtomicFloat

create a new AtomicFloat with an optional initial value

Parameters

name type description
value float initial value, defaults to 0.0

Examples

basic

create a new AtomicFloat with default value

load("atom", "new_float")
af = new_float()
print(af.get())
# Output: 0.0

with value

create a new AtomicFloat with a specific value

load("atom", "new_float")
af = new_float(3.14)
print(af.get())
# Output: 3.14

new_string(value="") -> AtomicString

create a new AtomicString with an optional initial value

Parameters

name type description
value string initial value, defaults to an empty string

Examples

basic

create a new AtomicString with default value

load("atom", "new_string")
as = new_string()
print(as.get())  # Output: ""

with value

create a new AtomicString with a specific value

load("atom", "new_string")
as = new_string("hello")
print(as.get())
# Output: "hello"

Types

AtomicInt

an atomic integer type with various atomic operations

Methods

get() -> int

returns the current value

set(value: int)

sets the value

cas(old: int, new: int) -> bool

compares and swaps the value if it matches old

add(delta: int) -> int

adds delta to the value and returns the new value

sub(delta: int) -> int

subtracts delta from the value and returns the new value

inc() -> int

increments the value by 1 and returns the new value

dec() -> int

decrements the value by 1 and returns the new value

AtomicFloat

an atomic float type with various atomic operations

Methods

get() -> float

returns the current value

set(value: float)

sets the value

cas(old: float, new: float) -> bool

compares and swaps the value if it matches old

add(delta: float) -> float

adds delta to the value and returns the new value

sub(delta: float) -> float

subtracts delta from the value and returns the new value

AtomicString

an atomic string type with various atomic operations

Methods

get() -> string

returns the current value

set(value: string)

sets the value

cas(old: string, new: string) -> bool

compares and swaps the value if it matches old