Skip to content

Latest commit

 

History

History

atom

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

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