Simulizer문서
문서

Block Reference

121 blocks · 한국어

정수6실수9불리언3제어 흐름8지역 변수6배열12텐서21벡터36경계 데이터11디버그7타입2

정수

6
i32_const정수
정수 0
정수 상수 (32-bit signed)
i32_binop정수
정수 정수 + / - / × / ÷ / % / & / | / ^ / << / >> 정수
정수 이항 연산
i32_unop정수
정수 clz / ctz / popcnt / eqz / − 정수
정수 단항 연산
i32_cmp불리언
정수 == / != / < / > / <= / ≥ 정수
정수 비교 (결과: bool)
i32_random정수
정수 난수 정수 ~ 정수
정수 난수 [min, max]
input_i32정수
정수 입력
정수 입력 (C++ 실행 전용)

실수

9
f64_const실수
실수 0
실수 상수 (64-bit float)
f64_from_i32실수
정수 → 실수 정수
int → float 변환
i32_from_f64정수
실수 → 정수 실수
float → int 변환 (truncate)
f64_binop실수
실수 + / - / × / ÷ / min / max 실수
실수 이항 연산
f64_unop실수
abs / − / √ / ceil / floor / trunc / nearest / exp / ln / cos / sin 실수
실수 단항 연산
f64_cmp불리언
실수 == / != / < / > / <= / ≥ 실수
실수 비교 (결과: bool)
f64_random실수
실수 난수 [0, 1)
실수 난수 [0, 1)
f64_random_range실수
실수 난수 실수 ~ 실수
실수 난수 [min, max)
input_f64실수
실수 입력
실수 입력 (C++ 실행 전용)

불리언

3
bool_const불리언
참 / 거짓
불리언 상수 (true=1, false=0)
bool_binop불리언
불리언 그리고 / 또는 / XOR 불리언
논리 이항 연산 (AND / OR / XOR)
bool_not불리언
! 불리언
논리 NOT

제어 흐름

8
flow_ifstmt
만약 불리언그러면 { … }
조건 분기
flow_if_elsestmt
만약 불리언그러면 { … }아니면 { … }
조건 분기 (else)
flow_whilestmt
불리언 동안반복 { … }
while 반복문
flow_forstmt
변수 VAR = 정수부터 정수까지반복 { … }
for 반복문
flow_fold_regionstmt
region region{ … }
코드 영역 (접기 가능)
flow_breakstmt
반복 탈출
반복문 탈출 (break)
i32_select정수
불리언 ? 정수 : 정수
i32 select (삼항 연산자)
f64_select실수
불리언 ? 실수 : 실수
f64 select (삼항 연산자)

지역 변수

6
local_decl_i32stmt
정수 변수 NAME = 정수
int 변수 선언
local_decl_f64stmt
실수 변수 NAME = 실수
float 변수 선언
local_get_i32정수
정수 NAME
int 변수 읽기
local_get_f64실수
실수 NAME
float 변수 읽기
local_set_i32stmt
정수 NAME정수
int 변수 대입
local_set_f64stmt
실수 NAME실수
float 변수 대입

배열

12
local_array_decl_i32stmt
정수 배열 NAME[정수]
int 배열 선언
local_array_decl_f64stmt
실수 배열 NAME[정수]
float 배열 선언
array_get_i32정수
i32*[정수]
int 배열 읽기
array_get_f64실수
f64*[정수]
float 배열 읽기
array_set_i32stmt
i32*[정수] ← 정수
int 배열 쓰기
array_set_f64stmt
f64*[정수] ← 실수
float 배열 쓰기
array_assign_i32stmt
정수* NAMEi32*
int* 대입
array_assign_f64stmt
실수* NAMEf64*
float* 대입
local_array_get_i32i32*
정수* NAME
int* 변수
local_array_get_f64f64*
실수* NAME
float* 변수
array_len_i32정수
len(i32*)
int 배열 길이
array_len_f64정수
len(f64*)
float 배열 길이

텐서

21
tensor_random정수
TENSOR_RANDOM 분포:uniform / normal / truncNormal p1:실수 p2:실수 형태:i32*
랜덤 텐서 생성 (id 반환)
tensor_new정수
텐서 (동적)
텐서 초기화 (id 반환)
tensor_get정수
TENSOR_GET NAME
텐서 가져오기 (id 반환)
tensor_savestmt
TENSOR NAME = 정수
텐서 저장 TENSOR %1 = %2
tensor_binop정수
정수 + / - / @ / ⊙ 정수
텐서 이항 연산
tensor_unop정수
neg 정수
텐서 단항 연산
tensor_grad정수
grad( 정수 )
기울기 ∇f: 스칼라장 [R,C] → 벡터장 [2,R,C]
tensor_curl정수
curl( 정수 )
회전 ∇×F: 벡터장 [2,R,C] → 스칼라장 [R,C]
tensor_lapl정수
lapl( 정수 )
라플라시안 ∇²f: 스칼라장 [R,C] → 스칼라장 [R,C]
tensor_scale정수
정수 × 실수
텐서 상수배 %1 × %2
tensor_set_by_indexstmt
텐서[인덱스] = 값 (동적)
텐서 요소 설정
tensor_get_by_index실수
텐서[인덱스] (동적)
텐서 요소 읽기
tensor_perlin정수
PERLIN_NOISE 행:정수 열:정수
Perlin Noise 벡터장 텐서 생성 (2, rows, cols)
tensor_show_matstmt
행렬 표시 정수
2D 텐서 시각화
matrix_create정수
matrix rows: 정수 cols: 정수
rows×cols 0 행렬 생성 (텐서 id 반환)
matrix_matmul정수
정수 @ 정수
행렬곱 A @ B (텐서 id 반환)
matrix_transpose정수
transpose( 정수 )
전치행렬 Aᵀ (텐서 id 반환)
matrix_inverse정수
inverse( 정수 )
역행렬 A⁻¹ (텐서 id 반환)
matrix_det실수
det( 정수 )
행렬식 det(A) (스칼라 반환)
matrix_trace실수
tr( 정수 )
대각합 tr(A) (스칼라 반환)
matrix_identity정수
I( 정수 )
n×n 단위행렬 (텐서 id 반환)

벡터

36
vec2_literal벡터2
vec2( 실수 , 실수 )
f64 두 값으로 vec2 생성
vec2_get벡터2
vec2 NAME
vec2 변수 읽기
vec2_declstmt
2차원 벡터 변수 NAME = 벡터2
vec2 변수 선언 및 초기화
vec2_setstmt
vec2 NAME벡터2
vec2 변수 대입
vec2_component_setstmt
vec2 NAME .x / y실수
vec2 성분 수정
vec2_x실수
벡터2 .x
vec2의 x 성분
vec2_y실수
벡터2 .y
vec2의 y 성분
vec2_len실수
|벡터2|
vec2 크기 |v|
vec2_len_sq실수
|벡터2
vec2 크기 제곱 |v|²
vec2_add벡터2
벡터2 + 벡터2
vec2 덧셈
vec2_sub벡터2
벡터2 - 벡터2
vec2 뺄셈
vec2_scale벡터2
벡터2 × 실수
vec2 스칼라 곱
vec2_neg벡터2
-벡터2
vec2 부호 반전
vec2_normalize벡터2
normalize(벡터2)
vec2 정규화 v/|v|
vec2_dot실수
dot( 벡터2 , 벡터2 )
두 vec2의 내적
vec2_proj_scalar실수
proj( 벡터2벡터2 )
스칼라 사영 dot(a,b)/|b|
vec2_proj_vec벡터2
proj_vec( 벡터2벡터2 )
벡터 사영 (dot(a,b)/|b|²)·b
vec3_literal벡터3
vec3( 실수 , 실수 , 실수 )
f64 세 값으로 vec3 생성
vec3_get벡터3
vec3 NAME
vec3 변수 읽기
vec3_declstmt
3차원 벡터 변수 NAME = 벡터3
vec3 변수 선언 및 초기화
vec3_setstmt
vec3 NAME벡터3
vec3 변수 대입
vec3_component_setstmt
vec3 NAME .x / y / z실수
vec3 성분 수정
vec3_x실수
벡터3 .x
vec3의 x 성분
vec3_y실수
벡터3 .y
vec3의 y 성분
vec3_z실수
벡터3 .z
vec3의 z 성분
vec3_len실수
|벡터3|
vec3 크기 |v|
vec3_len_sq실수
|벡터3
vec3 크기 제곱 |v|²
vec3_add벡터3
벡터3 + 벡터3
vec3 덧셈
vec3_sub벡터3
벡터3 - 벡터3
vec3 뺄셈
vec3_scale벡터3
벡터3 × 실수
vec3 스칼라 곱
vec3_neg벡터3
-벡터3
vec3 부호 반전
vec3_normalize벡터3
normalize(벡터3)
vec3 정규화 v/|v|
vec3_dot실수
dot( 벡터3 , 벡터3 )
두 vec3의 내적
vec3_cross벡터3
벡터3 × 벡터3
두 vec3의 외적 a × b
vec3_proj_scalar실수
proj( 벡터3벡터3 )
스칼라 사영 dot(a,b)/|b|
vec3_proj_vec벡터3
proj_vec( 벡터3벡터3 )
벡터 사영 (dot(a,b)/|b|²)·b

경계 데이터

11
local_decl_bd2stmt
2차원 경계조건 변수 NAME 선언
boundary2d 반복 변수 선언 (t, x, y, tx, ty, nx, ny)
local_get_bd2실수
경계2D NAME . t / x / y / tx / ty / nx / ny
boundary2d 필드 읽기
local_get_bd2_point벡터2
경계2D NAME .점
boundary2d 위치 벡터 (x, y) → vec2
local_get_bd2_tangent벡터2
경계2D NAME .접선
boundary2d 접선 벡터 (tx, ty) → vec2
local_get_bd2_normal벡터2
경계2D NAME .법선
boundary2d 법선 벡터 (nx, ny) → vec2
local_decl_bd3stmt
3차원 경계조건 변수 NAME 선언
boundary3d 반복 변수 선언 (u, v, x, y, z, dS, nx, ny, nz)
local_get_bd3_point벡터3
경계3D NAME .점
boundary3d 위치 벡터 (x, y, z) → vec3
local_get_bd3_normal벡터3
경계3D NAME .법선
boundary3d 법선 벡터 (nx, ny, nz) → vec3
local_get_bd3실수
경계3D NAME . u / v / x / y / z / dS / nx / ny / nz
boundary3d 필드 읽기
flow_for_bd2stmt
2차원 경계조건 VAR 에서 BD 반복반복 { … }
boundary2d 배열 원소 순회
flow_for_bd3stmt
3차원 경계조건 VAR 에서 BD 반복반복 { … }
boundary3d 배열 원소 순회

디버그

7
debug_logstmt
로그 정수 | 실수 | i32* | f64* | 벡터2 | 벡터3
콘솔에 값 출력
debug_graph_arraystmt
그래프 i32* | f64*
배열 그래프 출력
debug_graph_array_rangestmt
그래프 i32* | f64* min:실수 max:실수
배열 그래프 출력 (범위 고정)
debug_series정수
시리즈
시리즈 패널 생성 (holder_id 반환)
debug_set_holderstmt
홀더 설정 정수
로그 홀더 설정 (0 = 기본 콘솔)
debug_bar정수
프로그레스 바 min:정수 max:정수
프로그레스 바 생성 (id 반환)
debug_bar_setstmt
바 설정 id:정수 값:정수
프로그레스 바 값 설정

타입

2
latex_exprstmt
LaTeX x = 3 + 7
LaTeX 수식 → 코드 생성
latex_value실수
LaTeX 3 + 7
LaTeX 수식 → 값 표현식