Skip to content
This repository was archived by the owner on Jan 8, 2025. It is now read-only.

Commit 4316698

Browse files
committed
Streamlined code for clarity
1 parent c14be3e commit 4316698

32 files changed

+672
-422
lines changed

base/containers.mojo

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,14 @@ struct ObjectContainer[T: CollectionElement]:
1616
# print("ObjectContainer.__moveinit__")
1717
self.data = existing.data
1818
self.offset = existing.offset
19+
20+
fn emplace(inout self, owned i: T) -> AnyPointer[T]:
21+
(self.data + self.offset).emplace_value(i)
22+
let ptr = (self.data + self.offset)
23+
self.offset += 1
24+
return ptr
1925

20-
fn emplace(inout self, owned i: T) -> Int:
26+
fn emplace_as_index(inout self, owned i: T) -> Int:
2127
(self.data + self.offset).emplace_value(i)
2228
let index = (self.data + self.offset).__as_index()
2329
self.offset += 1

base/fixed.mojo

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ fn seq_fixed12_to_string(fixed: Int64, result: c_void_pointer) -> c_size_t:
1818
)
1919

2020

21-
# 自定义*
21+
# Customize multiplication operation
2222
fn seq_fixed_mul(a: Int64, b: Int64) -> Int64:
2323
return external_call["seq_fixed_mul", Int64, Int64, Int64](a, b)
2424

2525

26-
# 自定义/
26+
# Customize division operation
2727
fn seq_fixed_truediv(a: Int64, b: Int64) -> Int64:
2828
return external_call["seq_fixed_truediv", Int64, Int64, Int64](a, b)
2929

@@ -115,6 +115,10 @@ struct Fixed(Stringable):
115115
_value: v,
116116
}
117117

118+
fn abs(self) -> Self:
119+
let v = -self._value if self._value < 0 else self._value
120+
return Self {_value: v}
121+
118122
fn __eq__(self, other: Self) -> Bool:
119123
return self._value == other._value
120124

@@ -133,37 +137,41 @@ struct Fixed(Stringable):
133137
fn __ge__(self, other: Self) -> Bool:
134138
return self._value >= other._value
135139

136-
# 自定义+
140+
# Customizing negation
141+
def __neg__(self) -> Self:
142+
return Self {_value: -self._value}
143+
144+
# Customizing addition
137145
fn __add__(self, other: Self) -> Self:
138146
return Self {_value: self._value + other._value}
139147

140-
# 自定义+=
148+
# Customizing +=
141149
fn __iadd__(inout self, other: Self):
142150
self._value += other._value
143151

144-
# 自定义-
152+
# Customizing subtraction
145153
fn __sub__(self, other: Self) -> Self:
146154
return Self {_value: self._value - other._value}
147155

148-
# 自定义-=
156+
# Customizing -=
149157
fn __isub__(inout self, other: Self):
150158
self._value -= other._value
151159

152-
# 自定义*
160+
# Customizing multiplication
153161
fn __mul__(self, other: Self) -> Self:
154162
let v = seq_fixed_mul(self._value, other._value)
155163
return Self {_value: v}
156164

157-
# 自定义*=
165+
# Customizing *=
158166
fn __imul__(inout self, other: Self):
159167
self._value = seq_fixed_mul(self._value, other._value)
160168

161-
# 自定义/
169+
# Customizing division
162170
fn __truediv__(self, other: Self) -> Self:
163171
let v = seq_fixed_truediv(self._value, other._value)
164172
return Self {_value: v}
165173

166-
# 自定义/=
174+
# Customizing /=
167175
fn __itruediv__(inout self, other: Self):
168176
self._value = seq_fixed_truediv(self._value, other._value)
169177

base/globals.mojo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from base.mo import seq_set_global_int, seq_get_global_int
22

33

4-
# 定义全局指针的存储Key
4+
# Define the storage key for global pointers
55
alias GLOBAL_INT_KEY_START = 10000
66
alias TRADE_EXECUTOR_PTR_KEY = GLOBAL_INT_KEY_START + 1
77
alias WS_ON_CONNECT_WRAPPER_PTR_KEY = GLOBAL_INT_KEY_START + 2
@@ -13,13 +13,13 @@ alias GLOBAL_STRING_KEY_START = 10000
1313
alias CURRENT_STRATEGY_KEY = GLOBAL_STRING_KEY_START + 1
1414

1515

16-
# 设置全局指针
16+
# Set global pointer
1717
@always_inline
1818
fn set_global_pointer(key: Int, pointer: Int):
1919
seq_set_global_int(key, pointer)
2020

2121

22-
# 获取全局指针
22+
# Get global pointer
2323
@always_inline
2424
fn get_global_pointer(key: Int) -> Int:
2525
return seq_get_global_int(key)

base/mo.mojo

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,24 @@ fn seq_int_to_voidptr(i: Int) -> c_void_pointer:
1919
return external_call["seq_int_to_voidptr", c_void_pointer, Int](i)
2020

2121

22-
# 存储全局Int值
22+
# Store global integer value
2323
fn seq_set_global_int(id: Int, i: Int) -> None:
2424
external_call["seq_set_global_int", NoneType, Int, Int](id, i)
2525

2626

27-
# 读取全局Int值
27+
# Retrieve global integer value
2828
fn seq_get_global_int(id: Int) -> Int:
2929
return external_call["seq_get_global_int", Int, Int](id)
3030

3131

32-
# 存储全局String值
32+
# Store global string value
3333
fn seq_set_global_string(id: Int, s: String) -> None:
3434
external_call["seq_set_global_string", NoneType, Int, c_char_pointer, c_size_t](
3535
id, s._buffer.data.value, len(s)
3636
)
3737

3838

39-
# 读取全局String值
39+
# Retrieve global string value
4040
fn seq_get_global_string(id: Int) -> String:
4141
var s_len: c_size_t = 0
4242
let s = external_call[
@@ -106,7 +106,7 @@ fn init_log(level: String, filename: String) -> None:
106106
seq_init_log(level_, filename)
107107

108108

109-
# 初始化日志
109+
# Initialization log
110110
fn seq_init_log(level: UInt8, filename: String) -> None:
111111
external_call["seq_init_log", NoneType, UInt8, Pointer[c_schar], c_int](
112112
level, filename._buffer.data.value, len(filename)

base/moutil.mojo

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,9 @@ def str_to_bool(s: String) -> Bool:
5656

5757
fn decimal_places(value: Float64) -> Int:
5858
"""
59-
返回小数位: 0.0001 -> 4
59+
Return decimal places: 0.0001 -> 4
6060
"""
6161
if value == 0.0:
6262
return 0
6363

64-
# 取整位数即decimal places
6564
return int(math.ceil(math.log10(1.0 / value)))

base/sj_dom.mojo

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -777,14 +777,14 @@ struct DomParser:
777777
fn parse(self, s: String) raises -> DomElement:
778778
let p = seq_simdjson_dom_parser_parse(self.p, s._buffer.data.value, len(s))
779779
if not seq_simdjson_dom_element_is_valid(p):
780-
raise Error("解析json出错: [" + s + "]")
780+
raise Error("JSON parsing error: [" + s + "]")
781781
return DomElement(p)
782782

783783
@always_inline
784784
fn parse(self, data: Pointer[c_schar], data_len: Int) raises -> DomElement:
785785
let p = seq_simdjson_dom_parser_parse(self.p, data, data_len)
786786
if not seq_simdjson_dom_element_is_valid(p):
787-
raise Error("解析json出错: [" + c_str_to_string(data, data_len) + "]")
787+
raise Error("JSON parsing error: [" + c_str_to_string(data, data_len) + "]")
788788
return DomElement(p)
789789

790790
fn __repr__(self) -> String:

base/str.mojo

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,6 @@ from .list_iterator import ListIterator
22
from memory import memcpy
33

44

5-
# @value
6-
# @register_passable("trivial")
7-
# struct Str2:
8-
# var data: DynamicVector[Int8]
9-
10-
# fn __init__(value: StringLiteral) -> Str2:
11-
# let l = len(value)
12-
# let s = String(value)
13-
# let p = Pointer[Int8].alloc(l)
14-
15-
# for i in range(l):
16-
# p.store(i, s._buffer[i])
17-
18-
# return Str(p, l)
19-
20-
215
@value
226
@register_passable
237
struct Str(Stringable):
@@ -83,13 +67,5 @@ struct Str(Stringable):
8367
memcpy(ptr, self.data, self.size)
8468
return String(ptr, self.size + 1)
8569

86-
# fn to_string_ref(self) -> StringRef:
87-
# # 返回的StringRef,需要自己释放内存,否则有泄漏问题
88-
# let ptr = Pointer[Int8]().alloc(self.size)
89-
# memcpy(ptr, self.data, self.size)
90-
# return StringRef(
91-
# ptr.bitcast[__mlir_type.`!pop.scalar<si8>`]().address, self.size
92-
# )
93-
9470
fn __str__(self) -> String:
9571
return self.to_string()

base/thread.mojo

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -347,24 +347,24 @@ struct iovec:
347347
return (ptr, self.iov_len)
348348

349349

350-
# 创建队列
350+
# Create queue
351351
fn seq_lockfree_queue_new() -> c_void_pointer:
352352
return external_call["seq_lockfree_queue_new", c_void_pointer]()
353353

354354

355-
# 销毁队列
355+
# Destroy queue
356356
fn seq_lockfree_queue_free(q: c_void_pointer) -> None:
357357
external_call["seq_lockfree_queue_free", NoneType, c_void_pointer](q)
358358

359359

360-
# 入队操作
360+
# Enqueue operation
361361
fn seq_lockfree_queue_push(q: c_void_pointer, data: Pointer[iovec]) -> Bool:
362362
return external_call[
363363
"seq_lockfree_queue_push", Bool, c_void_pointer, Pointer[iovec]
364364
](q, data)
365365

366366

367-
# 出队操作
367+
# Dequeue operation
368368
fn seq_lockfree_queue_pop(q: c_void_pointer, data: Pointer[iovec]) -> Bool:
369369
return external_call[
370370
"seq_lockfree_queue_pop", Bool, c_void_pointer, Pointer[iovec]

build.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
#!/bin/bash
22

3-
# 定义默认输出文件名变量
3+
# Define the default output filename variable
44
output=""
55

6-
# 解析输入参数
6+
# Parse input arguments
77
while [[ $# -gt 0 ]]; do
88
case $1 in
99
-o)
10-
# 获取输出文件名参数
10+
# Get the output filename argument
1111
output="$2"
1212
shift 2
1313
;;
1414
*)
15-
# 获取输入mojo文件名
15+
# Get the input mojo filename
1616
input="$1"
1717
shift
1818
;;
1919
esac
2020
done
2121

22-
# 如果没有指定输出文件名,默认设置为输入文件名
22+
# If no output filename is specified, set it to the input filename by default
2323
if [ -z "$output" ]; then
2424
output="${input%.*}"
2525
fi
2626

27-
# 构造mojoc命令
27+
# Construct mojoc command
2828
cmd="./scripts/mojoc $input -lmoxt -L . -o $output"
2929

30-
# 打印将要执行的命令
30+
# Print the command to be executed
3131
echo "Executing command: $cmd"
3232

33-
# 执行命令
33+
# Execute the command
3434
$cmd
3535

36-
# 检查返回状态
36+
# Check return status
3737
if [ $? -eq 0 ]; then
3838
echo "Command executed successfully"
3939
else

config.example.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ name = "SmartGridStrategy"
1111
[params]
1212
grid_interval = 0.01
1313
order_qty = 0.001
14-
# 设置总体止损百分比
14+
# Set overall stop-loss percentage
1515
total_sl_percent = -0.1
16-
# 设置单个格子止损百分比
16+
# Set individual grid stop-loss percentage
1717
cell_sl_percent = -0.05

0 commit comments

Comments
 (0)