튜토리얼 메뉴이 페이지의 목차

유용

1 설명

이 문서에서는 libavutil 라이브러리에서 제공하는 몇 가지 일반 기능과 유틸리티에 대해 설명합니다.

2 구문

이 섹션에서는 FFmpeg 라이브러리 및 도구에서 사용하는 구문과 형식을 문서화합니다.

2.1 인용과 이스케이프

FFmpeg는 명시적으로 지정하지 않는 한 다음 인용 및 이스케이프 메커니즘을 채택합니다. 다음 규칙이 적용됩니다.

  • ''' 및 '\'는 특수 문자입니다(각각 인용 및 이스케이프에 사용됨). 그 외에도 이스케이프 및 인용이 사용되는 특정 구문에 따라 다른 특수 문자가 있을 수 있습니다.
  • 특수 문자 앞에 '\'를 붙여서 이스케이프합니다.
  • '''' 사이에 포함된 모든 문자는 문자 그대로 구문 분석된 문자열에 포함됩니다. 따옴표 문자 ''' 자체는 따옴표로 묶을 수 없으므로 따옴표를 닫고 이스케이프해야 할 수도 있습니다.
  • 이스케이프되거나 인용되지 않는 한 선행 및 후행 공백은 구문 분석된 문자열에서 제거됩니다.

채택된 쉘 언어의 구문에 따라 명령줄이나 스크립트를 사용할 때 두 번째 수준의 이스케이프를 추가해야 할 수도 있습니다.

libavutil/avstring.h에 정의된 av_get_token 함수는 위에 정의된 규칙에 따라 인용되거나 이스케이프된 토큰을 구문 분석하는 데 사용할 수 있습니다.

FFmpeg 소스 트리의 도구 tools/ffescape를 사용하면 스크립트에서 문자열을 자동으로 인용하거나 이스케이프할 수 있습니다.

2.1.1 예

  • ' 특수 문자가 포함된 Crime d'Amour 문자열을 이스케이프합니다.Crime d\'Amour
  • 위의 문자열에는 따옴표가 포함되어 있으므로 인용할 때 '를 이스케이프 처리해야 합니다.'Crime d'\''Amour'
  • 인용을 사용하여 선행 또는 후행 공백을 포함합니다.'  this string starts and ends with whitespaces  '
  • 이스케이프 처리와 인용을 함께 혼합할 수 있습니다.' The string '\'string\'' is a string '
  • 리터럴 '\'를 포함하려면 이스케이프 또는 인용을 사용할 수 있습니다.'c:\foo' can be written as c:\\foo

2.2 날짜

허용되는 구문은 다음과 같습니다.

[(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
now

값이 "now"이면 현재 시간이 걸립니다.

Z가 추가되지 않는 한 시간은 현지 시간이며, 이 경우 UTC로 해석됩니다. 연월일 부분을 지정하지 않으면 현재 연월일을 사용합니다.

2.3 기간

기간을 표현하는 데 허용되는 두 가지 구문이 있습니다.

[-][HH:]MM:SS[.m...]

HH는 시간을 나타내고, MM은 최대 2자리의 분, SS는 최대 2자리의 초를 나타냅니다. 끝의 m은 SS의 10진수 값을 나타냅니다.

또는

[-]S+[.m...][s|ms|us]

S는 선택적 소수 부분 m을 사용하여 초 수를 나타냅니다. 선택적 리터럴 접미사 's', 'ms' 또는 'us'는 값을 각각 초, 밀리초 또는 마이크로초로 해석함을 나타냅니다.

두 표현식 모두에서 선택적 '-’는 음수 기간을 나타냅니다.

2.3.1 예

다음 예는 모두 유효한 기간입니다.

'55

55초

'0.2

0.2초

'200ms

200밀리초, 즉 0.2초

'200000us

200000 마이크로초, 즉 0.2초

'12:03:45

12시간 03분 45초

'23.189

23.189초

2.4 비디오 크기

소스 비디오의 크기를 지정합니다. 너비x높이 형식의 문자열이거나 크기 약어의 이름일 수 있습니다.

다음 약어가 인식됩니다.

'ntsc

720x480

'pal

720x576

'qntsc

352x240

'qpal

352x288

'sntsc

640x480

'spal

768x576

'film

352x240

'ntsc-film

352x240

'sqcif

128x96

'qcif

176x144

'cif

352x288

'4cif

704x576

'16cif

1408x1152

'qqvga

160x120

'qvga

320x240

'vga

640x480

'svga

800x600

'xga

1024x768

'uxga

1600x1200

'qxga

2048x1536

'sxga

1280x1024

'qsxga

2560x2048

'hsxga

5120x4096

'wvga

852x480

'wxga

1366x768

'wsxga

1600x1024

'wuxga

1920x1200

'woxga

2560x1600

'wqsxga

3200x2048

'wquxga

3840x2400

'whsxga

6400x4096

'whuxga

7680x4800

'cga

320x200

'ega

640x350

'hd480

852x480

'hd720

1280x720

'hd1080

1920x1080

'2k

2048x1080

'2kflat

1998x1080

'2kscope

2048x858

'4k

4096x2160

'4kflat

3996x2160

'4kscope

4096x1716

'nhd

640x360

'hqvga

240x160

'wqvga

400x240

'fwqvga

432x240

'hvga

480x320

'qhd

960x540

'2kdci

2048x1080

'4kdci

4096x2160

'uhd2160

3840x2160

'uhd4320

7680x4320

2.5 비디오 속도

초당 생성되는 프레임 수로 표시되는 비디오의 프레임 속도를 지정합니다. 이는 frame_rate_num/frame_rate_den 형식의 문자열, 정수, 부동 소수점 숫자 또는 유효한 비디오 프레임 속도 약어여야 합니다.

다음 약어가 인식됩니다.

'ntsc

30000/1001

'pal

1월 25일

'qntsc

30000/1001

'qpal

1월 25일

'sntsc

30000/1001

'spal

1월 25일

'film

24/1

'ntsc-film

24000/1001

2.6 비율

비율은 표현식으로 표현하거나 분자:분모 형식으로 표현할 수 있습니다.

무한(1/0) 또는 음수 값을 갖는 비율은 유효한 것으로 간주되므로 해당 값을 제외하려면 반환된 값을 확인해야 합니다.

정의되지 않은 값은 "0:0" 문자열을 사용하여 표현할 수 있습니다.

2.7 색상

아래에 정의된 색상 이름(대소문자 구분 안 함) 또는 [0x|#]RRGGBB[AA] 시퀀스일 수 있으며 그 뒤에는 @ 및 알파 구성 요소를 나타내는 문자열이 올 수 있습니다.

알파 구성요소는 불투명도 값을 나타내는 0.0과 1.0 사이의 16진수 또는 10진수 또는 "0x"로 구성된 문자열일 수 있습니다('0x00' 또는 '0.0'은 완전히 투명함을 의미하고, '0xff' 또는 '1.0'). 완전히 불투명). 알파 구성 요소가 지정되지 않으면 '0xff'로 간주됩니다.

'random'이라는 문자열을 사용하면 임의의 색상이 생성됩니다.

다음과 같은 색상 이름이 인식됩니다.

'AliceBlue

0xF0F8FF

'AntiqueWhite

0xFAEBD7

'Aqua

0x00FFFF

'Aquamarine

0x7FFFD4

'Azure

0xF0FFFF

'Beige

0xF5F5DC

'Bisque

0xFFE4C4

'Black

0x000000

'BlanchedAlmond

0xFFEBCD

'Blue

0x0000FF

'BlueViolet

0x8A2BE2

'Brown

0xA52A2A

'BurlyWood

0xDEB887

'CadetBlue

0x5F9EA0

'Chartreuse

0x7FFF00

'Chocolate

0xD2691E

'Coral

0xFF7F50

'CornflowerBlue

0x6495ED

'Cornsilk

0xFFF8DC

'Crimson

0xDC143C

'Cyan

0x00FFFF

'DarkBlue

0x00008B

'DarkCyan

0x008B8B

'DarkGoldenRod

0xB8860B

'DarkGray

0xA9A9A9

'DarkGreen

0x006400

'DarkKhaki

0xBDB76B

'DarkMagenta

0x8B008B

'DarkOliveGreen

0x556B2F

'Darkorange

0xFF8C00

'DarkOrchid

0x9932CC

'DarkRed

0x8B0000

'DarkSalmon

0xE9967A

'DarkSeaGreen

0x8FBC8F

'DarkSlateBlue

0x483D8B

'DarkSlateGray

0x2F4F4F

'DarkTurquoise

0x00CED1

'DarkViolet

0x9400D3

'DeepPink

0xFF1493

'DeepSkyBlue

0x00BFFF

'DimGray

0x696969

'DodgerBlue

0x1E90FF

'FireBrick

0xB22222

'FloralWhite

0xFFFAF0

'ForestGreen

0x228B22

'Fuchsia

0xFF00FF

'Gainsboro

0xDCDCDC

'GhostWhite

0xF8F8FF

'Gold

0xFFD700

'GoldenRod

0xDAA520

'Gray

0x808080

'Green

0x008000

'GreenYellow

0xADFF2F

'HoneyDew

0xF0FFF0

'HotPink

0xFF69B4

'IndianRed

0xCD5C5C

'Indigo

0x4B0082

'Ivory

0xFFFFF0

'Khaki

0xF0E68C

'Lavender

0xE6E6FA

'LavenderBlush

0xFFF0F5

'LawnGreen

0x7CFC00

'LemonChiffon

0xFFFACD

'LightBlue

0xADD8E6

'LightCoral

0xF08080

'LightCyan

0xE0FFFF

'LightGoldenRodYellow

0xFAFAD2

'LightGreen

0x90EE90

'LightGrey

0xD3D3D3

'LightPink

0xFFB6C1

'LightSalmon

0xFFA07A

'LightSeaGreen

0x20B2AA

'LightSkyBlue

0x87CEFA

'LightSlateGray

0x778899

'LightSteelBlue

0xB0C4DE

'LightYellow

0xFFFFE0

'Lime

0x00FF00

'LimeGreen

0x32CD32

'Linen

0xFAF0E6

'Magenta

0xFF00FF

'Maroon

0x800000

'MediumAquaMarine

0x66CDAA

'MediumBlue

0x0000CD

'MediumOrchid

0xBA55D3

'MediumPurple

0x9370D8

'MediumSeaGreen

0x3CB371

'MediumSlateBlue

0x7B68EE

'MediumSpringGreen

0x00FA9A

'MediumTurquoise

0x48D1CC

'MediumVioletRed

0xC71585

'MidnightBlue

0x191970

'MintCream

0xF5FFFA

'MistyRose

0xFFE4E1

'Moccasin

0xFFE4B5

'NavajoWhite

0xFFDEAD

'Navy

0x000080

'OldLace

0xFDF5E6

'Olive

0x808000

'OliveDrab

0x6B8E23

'Orange

0xFFA500

'OrangeRed

0xFF4500

'Orchid

0xDA70D6

'PaleGoldenRod

0xEEE8AA

'PaleGreen

0x98FB98

'PaleTurquoise

0xAFEEEE

'PaleVioletRed

0xD87093

'PapayaWhip

0xFFEFD5

'PeachPuff

0xFFDAB9

'Peru

0xCD853F

'Pink

0xFFC0CB

'Plum

0xDDA0DD

'PowderBlue

0xB0E0E6

'Purple

0x800080

'Red

0xFF0000

'RosyBrown

0xBC8F8F

'RoyalBlue

0x4169E1

'SaddleBrown

0x8B4513

'Salmon

0xFA8072

'SandyBrown

0xF4A460

'SeaGreen

0x2E8B57

'SeaShell

0xFFF5EE

'Sienna

0xA0522D

'Silver

0xC0C0C0

'SkyBlue

0x87CEEB

'SlateBlue

0x6A5ACD

'SlateGray

0x708090

'Snow

0xFFFAFA

'SpringGreen

0x00FF7F

'SteelBlue

0x4682B4

'Tan

0xD2B48C

'Teal

0x008080

'Thistle

0xD8BFD8

'Tomato

0xFF6347

'Turquoise

0x40E0D0

'Violet

0xEE82EE

'Wheat

0xF5DEB3

'White

0xFFFFFF

'WhiteSmoke

0xF5F5F5

'Yellow

0xFFFF00

'YellowGreen

0x9ACD32

2.8 채널 레이아웃

채널 레이아웃은 다중 채널 오디오 스트림에서 채널의 공간적 배치를 지정합니다. 채널 레이아웃을 지정하기 위해 FFmpeg는 특수 구문을 사용합니다.

개별 채널은 아래 표에 표시된 대로 ID로 식별됩니다.

'FL

앞 왼쪽

'FR

앞 오른쪽

'FC

프론트 센터

'LFE

낮은 빈도

'BL

뒤 왼쪽

'BR

오른쪽 뒤로

'FLC

앞 중앙 왼쪽

'FRC

앞 중앙 오른쪽

'BC

뒤쪽 중앙

'SL

왼쪽

'SR

오른쪽

'TC

상단 중앙

'TFL

상단 앞 왼쪽

'TFC

상단 전면 중앙

'TFR

상단 앞 오른쪽

'TBL

상단 뒤 왼쪽

'TBC

상단 뒤 중앙

'TBR

위쪽 뒤 오른쪽

'DL

왼쪽으로 다운믹스

'DR

오른쪽으로 다운믹스

'WL

넓은 왼쪽

'WR

넓은 오른쪽

'SDL

바로 왼쪽을 둘러싸고

'SDR

바로 오른쪽으로 둘러싸기

'LFE2

저주파 2

표준 채널 레이아웃 구성은 다음 식별자를 사용하여 지정할 수 있습니다.

'mono

FC

'stereo

FL+FR

'2.1

FL+FR+LFE

'3.0

FL+FR+FC

'3.0(back)

FL+FR+BC

'4.0

FL+FR+FC+BC

'quad

FL+FR+BL+BR

'quad(side)

FL+FR+SL+SR

'3.1

FL+FR+FC+LFE

'5.0

FL+FR+FC+BL+BR

'5.0(side)

FL+FR+FC+SL+SR

'4.1

FL+FR+FC+LFE+BC

'5.1

FL+FR+FC+LFE+BL+BR

'5.1(side)

FL+FR+FC+LFE+SL+SR

'6.0

FL+FR+FC+BC+SL+SR

'6.0(front)

FL+FR+FLC+FRC+SL+SR

'3.1.2

FL+FR+FC+LFE+TFL+TFR

'hexagonal

FL+FR+FC+BL+BR+BC

'6.1

FL+FR+FC+LFE+BC+SL+SR

'6.1

FL+FR+FC+LFE+BL+BR+BC

'6.1(front)

FL+FR+LFE+FLC+FRC+SL+SR

'7.0

FL+FR+FC+BL+BR+SL+SR

'7.0(front)

FL+FR+FC+FLC+FRC+SL+SR

'7.1

FL+FR+FC+LFE+BL+BR+SL+SR

'7.1(wide)

FL+FR+FC+LFE+BL+BR+FLC+FRC

'7.1(wide-side)

FL+FR+FC+LFE+FLC+FRC+SL+SR

'5.1.2

FL+FR+FC+LFE+BL+BR+TFL+TFR

'octagonal

FL+FR+FC+BL+BR+BC+SL+SR

'cube

FL+FR+BL+BR+TFL+TFR+TBL+TBR

'5.1.4

FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR

'7.1.2

FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR

'7.1.4

FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR

'7.2.3

FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2

'9.1.4

FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR

'hexadecagonal

FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR

'downmix

DL+DR

'22.2

FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR

사용자 정의 채널 레이아웃은 '+'로 구분된 일련의 용어로 지정할 수 있습니다. 각 용어는 다음과 같습니다.

  • 단일 채널의 이름(예: 'FL', 'FR', 'FC', 'LFE' 등). 각 채널에는 선택적으로 '@' 뒤에 맞춤 이름이 포함됩니다(예: 'FL@Left', 'FR @Right', 'FC@Center', 'LFE@Low_Frequency' 등)

표준 채널 레이아웃은 다음과 같이 지정할 수 있습니다.

  • 단일 채널의 이름(예: 'FL', 'FR', 'FC', 'LFE' 등)
  • 표준 채널 레이아웃의 이름(예: '모노', '스테레오', '4.0', '쿼드', '5.0' 등)
  • 채널 수(10진수) 뒤에 'c'가 옵니다. 해당 채널 수에 대한 기본 채널 레이아웃을 생성합니다(av_channel_layout_default 함수 참조). 모든 채널 수에 기본 레이아웃이 있는 것은 아닙니다.
  • 10진수로 표시된 채널 수 뒤에 'C'가 표시되어 지정된 수의 채널이 있는 알 수 없는 채널 레이아웃이 생성됩니다. 모든 채널 레이아웃 사양 문자열이 알 수 없는 채널 레이아웃을 지원하는 것은 아닙니다.
  • "0x"로 시작하는 16진수 채널 레이아웃 마스크(libavutil/channel_layout.h의 AV_CH_* 매크로 참조)

libavutil 버전 53 이전에는 채널 수를 지정하는 후행 문자 "c"가 선택 사항이었지만 이제는 필수입니다. 채널 레이아웃 마스크는 십진수로도 지정할 수 있습니다("c" 또는 "c"가 뒤에 오지 않는 경우에만 해당). "씨").

libavutil/channel_layout.h에 정의된 av_channel_layout_from_string 함수도 참조하세요.

3 발현 평가

산술 표현식을 평가할 때 FFmpeg는 libavutil/eval.h 인터페이스를 통해 구현된 내부 수식 평가기를 사용합니다.

표현식에는 단항, 이항 연산자, 상수 및 함수가 포함될 수 있습니다.

두 표현식 expr1과 expr2를 결합하여 또 다른 표현식 "expr1;expr2"를 형성할 수 있습니다. expr1과 expr2는 차례로 평가되고 새 표현식은 expr2의 값으로 평가됩니다.

다음 이진 연산자를 사용할 수 있습니다: +, -, *, /, ^.

다음 단항 연산자를 사용할 수 있습니다: +, -.

일부 내부 변수는 중간 결과를 저장하고 로드하는 데 사용될 수 있습니다. 액세스할 내부 변수를 지정하기 위해 0에서 9까지 다양한 인덱스 인수와 함께 ld 및 st 함수를 사용하여 액세스할 수 있습니다.

다음 기능을 사용할 수 있습니다.

abs(x)

x의 절대값을 계산합니다.

acos(x)

x의 아크코사인을 계산합니다.

asin(x)

x의 아크사인을 계산합니다.

atan(x)

x의 아크탄젠트를 계산합니다.

atan2(y, x)

y/x의 아크 탄젠트의 주요 값을 계산합니다.

between(x, min, max)

x가 min보다 크거나 같고 max보다 작거나 같으면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

bitand(x, y)
bitor(x, y)

x와 y에 대한 비트 단위 및/또는 연산을 계산합니다.

x와 y의 평가 결과는 비트 연산을 실행하기 전에 정수로 변환됩니다.

정수로 변환하거나 부동 소수점으로 다시 변환하면 정밀도가 떨어질 수 있습니다. 큰 수(보통 2^53 이상)에 대한 예상치 못한 결과에 주의하세요.

ceil(expr)

표현식 expr의 값을 가장 가까운 정수로 반올림합니다. 예를 들어 "ceil(1.5)"는 "2.0"입니다.

clip(x, min, max)

최소값과 최대값 사이에 잘린 x 값을 반환합니다.

cos(x)

x의 코사인을 계산합니다.

cosh(x)

x의 쌍곡선 코사인을 계산합니다.

eq(x, y)

x와 y가 동일하면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

exp(x)

x의 지수를 계산합니다(E를 밑으로 하는 오일러 수).

floor(expr)

표현식 expr의 값을 가장 가까운 정수로 반올림합니다. 예를 들어 "floor(-1.5)"는 "-2.0"입니다.

gauss(x)

exp(-x*x/2) / sqrt(2*PI)에 해당하는 x의 가우스 함수를 계산합니다.

gcd(x, y)

x와 y의 최대 공약수를 반환합니다. x와 y가 모두 0이거나 둘 중 하나 또는 둘 다 0보다 작으면 동작이 정의되지 않습니다.

gt(x, y)

x가 y보다 크면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

gte(x, y)

x가 y보다 크거나 같으면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

hypot(x, y)

이 함수는 이름이 같은 C 함수와 유사합니다. 이는 "sqrt(x*x + y*y)", 즉 변의 길이가 x와 y인 직각 삼각형의 빗변 길이 또는 원점에서 점 (x, y)까지의 거리를 반환합니다.

if(x, y)

x를 평가하고, 결과가 0이 아니면 y 평가 결과를 반환하고, 그렇지 않으면 0을 반환합니다.

if(x, y, z)

x를 평가하고, 결과가 0이 아니면 y의 평가 결과를 반환하고, 그렇지 않으면 z의 평가 결과를 반환합니다.

ifnot(x, y)

x를 평가하고, 결과가 0이면 y의 평가 결과를 반환하고, 그렇지 않으면 0을 반환합니다.

ifnot(x, y, z)

x를 평가하고, 결과가 0이면 y 평가 결과를 반환하고, 그렇지 않으면 z 평가 결과를 반환합니다.

isinf(x)

x가 +/-INFINITY이면 1.0을 반환하고, 그렇지 않으면 0.0을 반환합니다.

isnan(x)

x가 NAN이면 1.0을 반환하고 그렇지 않으면 0.0을 반환합니다.

ld(idx)

이전에 st(idx, expr)로 저장되었던 내부 변수의 값을 인덱스 idx로 불러옵니다. 이 함수는 로드된 값을 반환합니다.

lerp(x, y, z)

x와 y 사이의 선형 보간을 z만큼 반환합니다.

log(x)

x의 자연 로그를 계산합니다.

lt(x, y)

x가 y보다 작으면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

lte(x, y)

x가 y보다 작거나 같으면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

max(x, y)

x와 y 사이의 최대값을 반환합니다.

min(x, y)

x와 y 사이의 최소값을 반환합니다.

mod(x, y)

x를 y로 나눈 나머지를 계산합니다.

not(expr)

expr이 0이면 1.0을 반환하고, 그렇지 않으면 0.0을 반환합니다.

pow(x, y)

x 상승된 y의 거듭제곱을 계산합니다. 이는 "(x)^(y)"와 같습니다.

print(t)
print(t, l)

loglevel l을 사용하여 표현식 t의 값을 인쇄합니다. l을 지정하지 않으면 기본 로그 수준이 사용됩니다. 인쇄된 표현식의 값을 반환합니다.

random(idx)

0.0에서 1.0 사이의 의사 난수 값을 반환합니다. idx는 st(idx)로 미리 저장할 수 있는 시드/상태를 저장하는 데 사용되는 내부 변수의 인덱스입니다.

시드를 초기화하려면 인덱스 idx가 있는 내부 변수에 시드 값을 64비트 부호 없는 정수로 저장해야 합니다.

예를 들어, 인덱스 0의 내부 변수에 값 42의 시드를 저장하고 몇 가지 임의의 값을 인쇄하려면 다음을 수행하십시오.st(0,42); print(random(0)); print(random(0)); print(random(0))

randomi(idx, min, max)

min과 max 사이의 간격으로 의사 난수 값을 반환합니다. idx는 이전에 st(idx)로 저장할 수 있는 시드/상태를 저장하는 데 사용되는 내부 변수의 인덱스입니다.

시드를 초기화하려면 인덱스 idx가 있는 내부 변수에 시드 값을 64비트 부호 없는 정수로 저장해야 합니다.

root(expr, max)

ld(0) 인수를 갖는 expr로 표현되는 함수가 0..max 구간에서 0인 입력 값을 찾습니다.

expr의 표현식은 연속 함수를 나타내야 합니다. 그렇지 않으면 결과가 정의되지 않습니다.

ld(0)은 함수 입력 값을 나타내는 데 사용됩니다. 즉, 주어진 식이 ld(0)을 통해 액세스할 수 있는 다양한 입력 값을 사용하여 여러 번 평가된다는 의미입니다. 표현식이 0으로 평가되면 해당 입력 값이 반환됩니다.

round(expr)

표현식 expr의 값을 가장 가까운 정수로 반올림합니다. 예를 들어 "round(1.5)"는 "2.0"입니다.

sgn(x)

x의 부호를 계산합니다.

sin(x)

x의 사인을 계산합니다.

sinh(x)

x의 쌍곡사인을 계산합니다.

sqrt(expr)

expr의 제곱근을 계산합니다. 이는 "(expr)^.5"와 동일합니다.

squish(x)

표현식 1/(1 + exp(4*x))를 계산합니다.

st(idx, expr)

표현식 expr의 값을 내부 변수에 저장합니다. idx는 값을 저장할 변수의 인덱스를 지정하며, 0부터 9까지의 값이다. 함수는 내부 변수에 저장된 값을 반환한다.

저장된 값은 ld(var)를 사용하여 검색할 수 있습니다.

참고: 변수는 현재 표현식 간에 공유되지 않습니다.

tan(x)

x의 탄젠트를 계산합니다.

tanh(x)

x의 쌍곡탄젠트를 계산합니다.

taylor(expr, x)
taylor(expr, x, idx)

0에서 함수의 ld(idx)차 도함수를 나타내는 표현식이 주어지면 x에서 테일러 급수를 계산합니다.

계열이 수렴하지 않으면 결과가 정의되지 않습니다.

ld(idx)는 expr의 파생 순서를 나타내는 데 사용됩니다. 즉, 주어진 표현식은 표현식이 ld(idx)를 통해 액세스할 수 있는 다양한 입력 값을 사용하여 여러 번 평가됩니다. idx를 지정하지 않으면 0으로 간주됩니다.

0 대신 y에 도함수가 있는 경우 taylor(expr, x-y)를 사용할 수 있습니다.

time(0)

현재(벽시계) 시간을 초 단위로 반환합니다.

trunc(expr)

표현식 expr의 값을 0 방향으로 가장 가까운 정수로 반올림합니다. 예를 들어 "trunc(-1.5)"는 "-1.0"입니다.

while(cond, expr)

표현식 cond가 0이 아닌 동안 표현식 expr을 평가하고 마지막 expr 평가 값을 반환하거나 cond가 항상 false인 경우 NAN을 반환합니다.

다음 상수를 사용할 수 있습니다:

PI

단위 디스크의 면적, 약 3.14

E

exp(1) (오일러 수), 약 2.718

PHI

황금비(1+sqrt(5))/2, 약 1.618

표현식의 값이 0이 아닌 경우 "true"로 간주된다고 가정하면 다음 사항에 유의하세요.

* AND처럼 작동합니다.

+는 OR처럼 작동합니다.

예를 들어 구성은 다음과 같습니다.

if (A AND B) then C

다음과 같습니다:

if(A*B, C)

C 코드에서는 단항 및 이진 함수 목록을 확장하고 인식된 상수를 정의하여 표현식에 사용할 수 있습니다.

평가자는 국제 시스템 단위 접두사도 인식합니다. 접두사 뒤에 'i'가 추가되면 1000의 거듭제곱 대신 1024의 거듭제곱을 기반으로 하는 이진 접두사가 사용됩니다. 'B' 접미사는 값에 8을 곱하고 단위 접두사 뒤에 추가되거나 단독으로 사용될 수 있습니다. . 예를 들어 'KB', 'MiB', 'G' 및 'B'를 숫자 접미사로 사용할 수 있습니다.

사용 가능한 국제 시스템 접두사 목록은 10과 2의 해당 거듭제곱을 나타냅니다.

y

10^-24 / 2^-80

z

10^-21 / 2^-70

a

10^-18 / 2^-60

f

10^-15 / 2^-50

p

10^-12 / 2^-40

n

10^-9 / 2^-30

u

10^-6 / 2^-20

m

10^-3 / 2^-10

c

10^-2

d

10^-1

h

10^2

k

10^3 / 2^10

K

10^3 / 2^10

M

10^6 / 2^20

G

10^9 / 2^30

T

10^12 / 2^40

P

10^15 / 2^50

E

10^18 / 2^60

Z

10^21 / 2^70

Y

10^24 / 2^80

댓글 목록
로드 중..