]> gitweb.factorcode.org Git - factor.git/blob - native/primitives.c
Factor jEdit plugin!
[factor.git] / native / primitives.c
1 #include "factor.h"
2
3 XT primitives[] = {
4         undefined,
5         call,
6         primitive_execute,
7         primitive_call,
8         primitive_ifte,
9         primitive_consp,
10         primitive_cons,
11         primitive_car,
12         primitive_cdr,
13         primitive_set_car,
14         primitive_set_cdr,
15         primitive_vectorp,
16         primitive_vector,
17         primitive_vector_length,
18         primitive_set_vector_length,
19         primitive_vector_nth,
20         primitive_set_vector_nth,
21         primitive_stringp,
22         primitive_string_length,
23         primitive_string_nth,
24         primitive_string_compare,
25         primitive_string_eq,
26         primitive_string_hashcode,
27         primitive_index_of,
28         primitive_substring,
29         primitive_sbufp,
30         primitive_sbuf,
31         primitive_sbuf_length,
32         primitive_set_sbuf_length,
33         primitive_sbuf_nth,
34         primitive_set_sbuf_nth,
35         primitive_sbuf_append,
36         primitive_sbuf_to_string,
37         primitive_numberp,
38         primitive_to_fixnum,
39         primitive_to_bignum,
40         primitive_to_integer,
41         primitive_to_float,
42         primitive_number_eq,
43         primitive_fixnump,
44         primitive_bignump,
45         primitive_ratiop,
46         primitive_numerator,
47         primitive_denominator,
48         primitive_floatp,
49         primitive_str_to_float,
50         primitive_float_to_str,
51         primitive_float_to_bits,
52         primitive_complexp,
53         primitive_real,
54         primitive_imaginary,
55         primitive_to_rect,
56         primitive_from_rect,
57         primitive_add,
58         primitive_subtract,
59         primitive_multiply,
60         primitive_divint,
61         primitive_divfloat,
62         primitive_divide,
63         primitive_mod,
64         primitive_divmod,
65         primitive_and,
66         primitive_or,
67         primitive_xor,
68         primitive_not,
69         primitive_shiftleft,
70         primitive_shiftright,
71         primitive_less,
72         primitive_lesseq,
73         primitive_greater,
74         primitive_greatereq,
75         primitive_wordp,
76         primitive_word,
77         primitive_word_primitive,
78         primitive_set_word_primitive,
79         primitive_word_parameter,
80         primitive_set_word_parameter,
81         primitive_word_plist,
82         primitive_set_word_plist,
83         primitive_drop,
84         primitive_dup,
85         primitive_swap,
86         primitive_over,
87         primitive_pick,
88         primitive_nip,
89         primitive_tuck,
90         primitive_rot,
91         primitive_to_r,
92         primitive_from_r,
93         primitive_eq,
94         primitive_getenv,
95         primitive_setenv,
96         primitive_open_file,
97         primitive_gc,
98         primitive_save_image,
99         primitive_datastack,
100         primitive_callstack,
101         primitive_set_datastack,
102         primitive_set_callstack,
103         primitive_handlep,
104         primitive_exit,
105         primitive_server_socket,
106         primitive_close_fd,
107         primitive_accept_fd,
108         primitive_read_line_fd_8,
109         primitive_write_fd_8,
110         primitive_flush_fd,
111         primitive_shutdown_fd,
112         primitive_room,
113         primitive_os_env,
114         primitive_millis,
115         primitive_init_random,
116         primitive_random_int,
117         primitive_type_of,
118         primitive_size_of
119 };
120
121 CELL primitive_to_xt(CELL primitive)
122 {
123         if(primitive < 0 || primitive >= PRIMITIVE_COUNT)
124                 general_error(ERROR_BAD_PRIMITIVE,tag_fixnum(primitive));
125
126         return (CELL)primitives[primitive];
127 }