home *** CD-ROM | disk | FTP | other *** search
- /*fm_mathcommands.h fcodes header file*/
- /* for FrameMath: Sept. 13, 1989 */
- /* Copyright Ron Avitzur 1988 */
-
- /* node types */
- #define NUM_OP 0x1000
- #define PROMPT_OP 0x1001
- #define ATOMIC_OP 0x1002
- #define DUMMY_OP 0x1003
- #define STRING_OP 0x1004
- #define INDICES_OP 0x1005
- #define CHEM_OP 0x1006
- #define TENSOR_OP 0x1007
- #define MATRIX 0x1008
- #define VLIST_OP 0x1009
- #define SEMI_OP 0x100a
- #define MULT_OP 0x100b
- #define FXN_OP 0x100c
- #define PLUS_OP 0x100d
- #define EQUAL_OP 0x100e
- #define COMMALIST_OP 0x100f
- #define JOTDOT_OP 0x1010
- #define JOTCROSS_OP 0x1011
- #define JOTPLUS_OP 0x1012
- #define MAP_OP 0x1013
- #define GOESTO_OP 0x1014
- #define SWAP_OP 0x1015
- #define ARROWDBLLEFT_OP 0x1016
- #define ARROWDBLRIGHT_OP 0x1017
- #define ARROWDBLBOTH_OP 0x1018
- #define NEQ_OP 0x1019
- #define LESS_OP 0x101a
- #define LESSEQ_OP 0x101b
- #define GREATER_OP 0x101c
- #define GREATEREQ_OP 0x101d
- #define MUCHGREATER_OP 0x101e
- #define MUCHLESS_OP 0x101f
- #define EQUIV_OP 0x1020
- #define PROPTO_OP 0x1021
- #define APPROX_OP 0x1022
- #define CONGRUENT_OP 0x1023
- #define SIMILAR_OP 0x1024
- #define PERPENDICULAR_OP 0x1025
- #define PARALLEL_OP 0x1026
- #define INTERSECTION_OP 0x1027
- #define UNION_OP 0x1028
- #define PROPERSUPERSET_OP 0x1029
- #define REFLEXSUPERSET_OP 0x102a
- #define PROPERSUBSET_OP 0x102b
- #define REFLEXSUBSET_OP 0x102c
- #define NOTSUBSET_OP 0x102d
- #define ELEMENTOF_OP 0x102e
- #define NOTELEMENT_OP 0x102f
- #define LOGICALAND_OP 0x1030
- #define LOGICALOR_OP 0x1031
- #define SUCHTHAT_OP 0x1032
- #define DOTMATH_OP 0x1033
- #define SUBST_OP 0x1034
- #define FACT_OP 0x1035
- #define DAGGER_OP 0x1036
- #define COMPCONJ_OP 0x1037
- #define PLUSORMINUS_OP 0x1038
- #define MINUSORPLUS_OP 0x1039
- #define NEG_OP 0x103a
- #define SIN_OP 0x103b
- #define COS_OP 0x103c
- #define TAN_OP 0x103d
- #define COT_OP 0x103e
- #define CSC_OP 0x103f
- #define SEC_OP 0x1040
- #define ASIN_OP 0x1041
- #define ACOS_OP 0x1042
- #define ATAN_OP 0x1043
- #define ACOT_OP 0x1044
- #define ACSC_OP 0x1045
- #define ASEC_OP 0x1046
- #define SINH_OP 0x1047
- #define COSH_OP 0x1048
- #define TANH_OP 0x1049
- #define COTH_OP 0x104a
- #define CSCH_OP 0x104b
- #define SECH_OP 0x104c
- #define ASINH_OP 0x104d
- #define ACOSH_OP 0x104e
- #define ATANH_OP 0x104f
- #define ACOTH_OP 0x1050
- #define ACSCH_OP 0x1051
- #define ASECH_OP 0x1052
- #define SGN_OP 0x1053
- #define LOG_OP 0x1054
- #define SQRT_OP 0x1055
- #define DEL_OP 0x1056
- #define DELDOT_OP 0x1057
- #define DELCROSS_OP 0x1058
- #define LAP_OP 0x1059
- #define BOX_OP 0x105a
- #define BOXDOT_OP 0x105b
- #define BOX2_OP 0x105c
- #define UNARYEQ_OP 0x105d
- #define ANGLE_OP 0x105e
- #define LOGICALNOT_OP 0x105f
- #define THEREFORE_OP 0x1060
- #define FORALL_OP 0x1061
- #define THEREEXISTS_OP 0x1062
- #define DIFFERENTIAL_OP 0x1063
- #define VARIATIONAL_OP 0x1064
- #define PARTIALDIFF_OP 0x1065
- #define DELTA_OP 0x1066
- #define COMMA_OP 0x1067
- #define COVAR_OP 0x1068
- #define TOTALOP_OP 0x1069
- #define PARTIALOP_OP 0x106a
- #define SUM_OP 0x106b
- #define PRODUCT_OP 0x106c
- #define INTEGRAL_OP 0x106d
- #define LOOPINT_OP 0x106e
- #define EXTUNION_OP 0x106f
- #define EXTINTERSXN_OP 0x1070
- #define LEFTBRACE_OP 0x1071
- #define RIGHTBRACE_OP 0x1072
- #define BTMBRACE_OP 0x1073
- #define TOPBRACE_OP 0x1074
- #define ID_OP 0x1075
- #define ABS_OP 0x1076
- #define NORM_OP 0x1077
- #define EXPECT_OP 0x1078
- #define BRA_OP 0x1079
- #define KET_OP 0x107a
- #define OVERBAR_OP 0x107b
- #define DIV_OP 0x107c
- #define TOTHE_OP 0x107d
- #define TENTOTHE_OP 0x107e
- #define LIMIT_OP 0x107f
- #define CHOICE_OP 0x1080
- #define COMMUTATOR_OP 0x1081
- #define ANTICOMMUTATOR_OP 0x1082
- #define BRACKET_OP 0x1083
- #define INNERPROD_OP 0x1084
- #define DOT_OP 0x1085
- #define CROSS_OP 0x1086
- #define DIVIDE_OP 0x1087
- #define FRACTION_OP 0x1088
- #define FLOOR_OP 0x1089
- #define CIELING_OP 0x108a
- #define LN_OP 0x108b
- #define EXP_OP 0x108c
- #define ARG_OP 0x108d
- #define IMAG_OP 0x108e
- #define REAL_OP 0x108f
-
- #define PARTIAL_OP 0x1f91
- #define TOTAL_OP 0x1f92
-
- /* fxn-codes for greek atoms */
- #define c_ALPHA 0x1300
- #define c_BETA 0x1301
- #define c_CHI 0x1302
- #define c_delta 0x1303
- #define c_DELTA 0x1304
- #define c_EPSILON 0x1305
- #define c_phi 0x1306
- #define c_phi1 0x1307
- #define c_PHI 0x1308
- #define c_gamma 0x1309
- #define c_GAMMA 0x130a
- #define c_ETA 0x130b
- #define c_IOTA 0x130c
- #define c_KAPPA 0x130d
- #define c_lambda 0x130e
- #define c_LAMBDA 0x130f
- #define c_MU 0x1310
- #define c_NU 0x1311
- #define c_pi 0x1312
- #define c_PI 0x1313
- #define c_theta 0x1314
- #define c_theta1 0x1315
- #define c_THETA 0x1316
- #define c_RHO 0x1317
- #define c_sigma 0x1318
- #define c_sigma1 0x1319
- #define c_SIGMA 0x131a
- #define c_TAU 0x131b
- #define c_upsilon 0x131c
- #define c_Upsilon 0x131d
- #define c_omega 0x131e
- #define c_omega1 0x131f
- #define c_OMEGA 0x1320
- #define c_xi 0x1321
- #define c_XI 0x1322
- #define c_psi 0x1323
- #define c_PSI 0x1324
- #define c_ZETA 0x1325
- #define c_INFINITY 0x1326
- #define c_PERPENDICULAR 0x1327
- #define c_ELLIPSIS 0x1328
- #define c_ALEPH 0x1329
- #define c_IFRAKTUR 0x132a
- #define c_RFRAKTUR 0x132b
- #define c_WEIERSTRAUSS 0x132c
- #define c_EMPTYSET 0x132d
- #define c_PARTIALDIFF 0x132e
- #define c_DELCHAR 0x132f
- #define c_MINUTE 0x1330
- #define c_SECOND 0x1331
- #define c_DEGREE 0x1332
-
- /* fxn-codes for diacritical marks */
- #define d_DOT 0x1500
- #define d_TILDE 0x1501
- #define d_BAR 0x1502
- #define d_PRIME 0x1503
- #define d_HAT 0x1504
- #define d_VECTOR 0x1505
- #define d_SUBTILDE 0x1506
- #define d_SUBBOX 0x1507
- #define d_DUMMY 0x1508
-
- /* fxn-codes to move the insertion point */
- #define TAB_CODE 0x1600
- #define ARROW_UP 0x1601
- #define ARROW_DOWN 0x1602
- #define ARROW_RIGHT 0x1603
- #define ARROW_LEFT 0x1604
- #define SPACE_UP 0x1605
- #define SPACE_DOWN 0x1606
- #define SPACE_RIGHT 0x1607
- #define SPACE_LEFT 0x1608
- #define DELETE_CODE 0x1609
-
- /* fxn-codes for micro-positioning */
- #define ADJUST_ONE_UP 0x1700
- #define ADJUST_ONE_DOWN 0x1701
- #define ADJUST_ONE_LEFT 0x1702
- #define ADJUST_ONE_RIGHT 0x1703
- #define ADJUST_FIFTH_UP 0x1704
- #define ADJUST_FIFTH_DOWN 0x1705
- #define ADJUST_FIFTH_LEFT 0x1706
- #define ADJUST_FIFTH_RIGHT 0x1707
- #define ADJUST_HOME 0x1708
- #define ADJUST_HOMEALL 0x1709
- #define SHIM_PLUS_UP 0x170a
- #define SHIM_PLUS_DOWN 0x170b
- #define SHIM_PLUS_LEFT 0x170c
- #define SHIM_PLUS_RIGHT 0x170d
- #define SHIM_MINUS_UP 0x170e
- #define SHIM_MINUS_DOWN 0x170f
- #define SHIM_MINUS_LEFT 0x1710
- #define SHIM_MINUS_RIGHT 0x1711
- #define SHIM_REMOVE_ALL 0x1712
-
- /* fxn-codes for alignment */
- #define MATH_ALIGN_LEFT 0x1740
- #define MATH_ALIGN_RIGHT 0x1741
- #define MATH_ALIGN_CENTER 0x1742
- #define MATH_ALIGN_TOP 0x1743
- #define MATH_ALIGN_BOTTOM 0x1744
- #define MATH_ALIGN_BASELINE 0x1745
- #define MATH_ALIGN_EQUAL 0x1746
- #define MATH_ALIGN_EQUAL_L 0x1747
- #define MARK_ALIGN_RIGHT 0x1748
- #define MARK_ALIGN_LEFT 0x1749
- #define MARK_ALIGN_CLEAR 0x174a
- #define MATRIX_FIXED_WIDTH 0x174b
- #define MATRIX_PROP_WIDTH 0x174c
- #define MATRIX_TOGGLE_WIDTH 0x174d
- #define MATRIX_FIXED_HEIGHT 0x174e
- #define MATRIX_PROP_HEIGHT 0x174f
- #define MATRIX_TOGGLE_HEIGHT 0x1750
-
- /* fxn-codes misc new */
- #define MAKE_PLAIN 0x1780
- #define MAKE_BOLD 0x1781
- #define MAKE_ITALIC 0x1782
- #define LINE_BREAK_RIGHT 0x1783
- #define LINE_BREAK_LEFT 0x1784
- #define LINE_BREAK_CLEAR 0x1785
- #define MATH_EXP1_INC_KLUGE 0x17c0
- #define MATH_EXP1_DEC_KLUGE 0x17c1
- #define MATH_EXP2_INC_KLUGE 0x17c2
- #define MATH_EXP2_DEC_KLUGE 0x17c3
-
- /* fxn-codes for composite templates */
- #define o_SUBST 0x1800
- #define o_SUBST2 0x1801
- #define o_LOGB 0x1802
- #define o_SUM 0x1803
- #define o_PRODUCT 0x1804
- #define o_IND_INT 0x1805
- #define o_INTEGRAL 0x1806
- #define o_LOOPINT 0x1807
- #define o_PATHINT 0x1808
- #define o_TOTAL 0x1809
- #define o_PARTIAL 0x180a
-
- #define o_NEWCOL 0x18a0
- #define o_NEWROW 0x18a1
- #define o_DELROW 0x18a2
- #define o_DELCOL 0x18a3
- #define o_ADDINDEX 0x18a4
- #define o_UPPER 0x18a5
- #define o_LOWER 0x18a6
- #define o_PREUPPER 0x18a7
- #define o_PRELOWER 0x18a8
-
- /* special fxn-codes having to do with templates */
- #define o_NEGATE 0x1900
- #define o_EQUAL 0x1901
- #define o_NEWOPERAND 0x1902
- #define o_TOGGLEINLINE 0x1904
-
- /* fxn codes for rewrite rules */
- #define r_SIMPLIFY 0x2000
- #define r_SIMPLIFYSOME 0x2001
- #define r_MULTIPLYOUT 0x2002
- #define r_MULTIPLYOUTONCE 0x2003
- #define r_DIFFERENTIATE 0x2004
- #define r_DIFFERENTIATEONCE 0x2005
- #define r_INTEGRATE 0x2006
- #define r_NUMBERCRUNCH 0x2007
- #define r_SHOWALLDIGITS 0x2008
- #define r_PULLOUTONETERM 0x2009
- #define r_PULLOUTALLTERMS 0x200a
- #define r_EVALSUBSTITUTION 0x200b
- #define r_FACTOR 0x200c
- #define r_FACTORSOME 0x200d
- #define r_LONGDIVISION 0x200e
- #define r_MATRIXTRANSPOSE 0x200f
- #define r_DISTRIBUTEOVEREQUALITY 0x2010
- #define r_DISTRIBUTE 0x2011
- #define r_REMOVEDIVISION 0x2012
- #define r_REMOVEDIVISIONONELEVEL 0x2013
- #define r_REMOVENEGPOWERS 0x2014
- #define r_REMOVENEGPOWERSONELEVEL 0x2015
- #define r_SOLVEFOR 0x2016
- #define r_MATRIXALGEBRA 0x2017
- #define r_ORDERSUM 0x2018
- #define r_ORDERSUMOTHERWAY 0x2019
- #define r_ADDFRACTIONS 0x201a
- #define r_EVALUATE 0x201b
- #define r_REMOVEPARENSFLATTEN 0x201c
- #define r_COPYPASTECRUNCH 0x201d
- #define r_TRIGTOBASETRIG 0x201e
- #define r_TRIGTOEXPONENTS 0x201f
- #define r_VECTORSTOMATRICES 0x2020
- #define r_TAYLOREXPAND 0x2021
- #define r_SPHERICAL 0x2022
- #define r_CYLINDRICAL 0x2023
- #define r_RECTANGULAR 0x2024
- #define r_STOR 0x2025
- #define r_RTOS 0x2026
- #define r_CTOR 0x2027
- #define r_RTOC 0x2028
-
- #define r_MOVERIGHT 0x2100
- #define r_MOVERIGHTINTO 0x2101
- #define r_MOVERIGHTALLTHEWAY 0x2102
- #define r_MOVELEFT 0x2103
- #define r_MOVELEFTINTO 0x2104
- #define r_MOVELEFTALLTHEWAY 0x2105
- #define r_MOVEUP 0x2106
- #define r_MOVEDOWN 0x2107
- #define r_MOVELEFTSWAP 0x2108
- #define r_MOVERIGHTSWAP 0x2109
-
- #define r_CUT 0x2200
- #define r_COPY 0x2201
- #define r_PASTE 0x2202
- #define r_CLEAR 0x2203
- #define r_DEFINEFROMSINGLE 0x2204
- #define r_APPLYDEFINITION 0x2205
-
-
- typedef struct GreekCharInfo
- {
- char* str;
- char f,c;
- } GreekCharInfo;
-
- #define GREEK_CHAR(n) Greek_Stuff[(n) - c_ALPHA].c
- extern GreekCharInfo Greek_Stuff[];
- #define NUM_GREEK 0x26
-
- #define s_ALPHA 'a'
- #define s_BETA 'b'
- #define s_CHI 'c'
- #define s_delta 'd'
- #define s_DELTA 'D'
- #define s_EPSILON 'e'
- #define s_phi 'f'
- #define s_phi1 'j'
- #define s_PHI 'F'
- #define s_gamma 'g'
- #define s_GAMMA 'G'
- #define s_ETA 'h'
- #define s_IOTA 'i'
- #define s_KAPPA 'k'
- #define s_lambda 'l'
- #define s_LAMBDA 'L'
- #define s_MU 'm'
- #define s_NU 'n'
- #define s_pi 'p'
- #define s_PI 'P'
- #define s_theta 'q'
- #define s_theta1 'J'
- #define s_THETA 'Q'
- #define s_RHO 'r'
- #define s_sigma 's'
- #define s_sigma1 'V'
- #define s_SIGMA 'S'
- #define s_TAU 't'
- #define s_upsilon 'u'
- #define s_Upsilon 0xa1
- #define s_omega 'w'
- #define s_omega1 'v'
- #define s_OMEGA 'W'
- #define s_xi 'x'
- #define s_XI 'X'
- #define s_psi 'y'
- #define s_PSI 'Y'
- #define s_ZETA 'z'
- #define s_INFINITY 0xa5
- #define s_PERPENDICULAR 0x5e
- #define s_ELLIPSIS 0xbc
- #define s_ALEPH 0xc0
- #define s_IFRAKTUR 0xc1
- #define s_RFRAKTUR 0xc2
- #define s_WEIERSTRAUSS 0xc3
- #define s_EMPTYSET 0xc6
- #define s_PARTIALDIFF 0xb6
- #define s_MINUTE 0xa2
- #define s_SECOND 0xb2
- #define s_DEGREE 0xb0
-
-