Current section
Files
Jump to
Current section
Files
src/acrostic/helper.gleam
import gleam/erlang/charlist.{type Charlist}
import gleam/int
// const mask32bit = 0xFFFFFFFF
const mask64bit = 0xFFFFFFFFFFFFFFFF
/// logic shift right
pub fn lsr(n: Int, bits: Int) -> Int {
int.bitwise_shift_right(int.bitwise_and(n, mask64bit), bits)
}
/// logic shift left
pub fn lsl(n: Int, bits: Int) -> Int {
int.bitwise_shift_left(int.bitwise_and(n, mask64bit), bits)
}
@external(erlang, "os", "cmd")
fn do_cmd(command: Charlist) -> String
pub fn cmd(command: String) -> String {
do_cmd(charlist.from_string(command))
}