TeX in C
Explore TeX with modern c compiler.
texmath.h
浏览该文件的文档.
1 #pragma once
2 #ifndef INC_TEX_MATH
21 #define INC_TEX_MATH
22 #include "global.h"
23 
24 
25 #define UNITY 65536L
26 #define TWO 131072L
28 #define INF_BAD 10000
29 
32 #define nx_plus_y(n, x, y) mult_and_add((n), (x), (y), 07777777777L)
35 #define mult_integers(n, x) mult_and_add((n), (x), 0, 017777777777L) // end group S99x109_P38x41
37 
38 
39 extern Boolean arith_error;
40 extern Scaled tex_remainder;
41 
42 extern Integer half(Integer x);
43 extern Scaled round_decimals(SmallNumber k, char digs[]); // _note_use_
44 extern void print_scaled(Scaled s);
45 // only used in [macro] nx_plus_y, mult_integers
46 extern Scaled mult_and_add(Integer n, Scaled x, Scaled y, Scaled max_ans);
47 extern Scaled x_over_n(Scaled x, Integer n);
48 extern Scaled xn_over_d(Scaled x, Integer n, Integer d);
49 extern HalfWord badness(Scaled t, Scaled s);
50 
51 #endif // INC_TEX_MATH
uint32_t HalfWord
[p43#113]: HalfWord(16=>32) .
Definition: tex_types.h:127
Scaled x_over_n(Scaled x, Integer n)
[#106]: x / n
Definition: texmath.c:80
Boolean arith_error
[#104] has arithmetic overflow occurred recently?
Definition: texmath.c:8
Integer half(Integer x)
[#100] 整除 2
Definition: texmath.c:14
Scaled tex_remainder
[#104] amount subtracted to get an exact division
Definition: texmath.c:10
Scaled xn_over_d(Scaled x, Integer n, Integer d)
[#107]: x * (n / d)
Definition: texmath.c:112
Scaled round_decimals(SmallNumber k, char digs[])
[#102]: create a scaled integer from a given decimal fraction.
Definition: texmath.c:24
HalfWord badness(Scaled t, Scaled s)
[#108]: compute the “badness” of glue.
Definition: texmath.c:153
Scaled mult_and_add(Integer n, Scaled x, Scaled y, Scaled max_ans)
[#105]: return nx + y
Definition: texmath.c:59
void print_scaled(Scaled s)
[#103]: prints scaled real, rounded to five digits
Definition: texmath.c:35
int64_t Integer
Integer(64) =
Definition: tex_types.h:42
Integer Scaled
[p38#101]: Scaled::Integer(64) = we need Pascal's Integer(32/64), dependent upon the bit size of the...
Definition: tex_types.h:106
bool Boolean
布尔类型定义
Definition: tex_types.h:11
UChar SmallNumber
[p38#101]: SmallNumber::UChar(8) = [0, 255] only need: (6bit)[0, 63] .
Definition: tex_types.h:112