Lines Matching refs:env

37 to_digit(fcode_env_t *env)
39 CHECK_DEPTH(env, 1, ">digit");
44 pic_hold(fcode_env_t *env)
46 CHECK_DEPTH(env, 1, "hold");
47 *(--env->picturebufpos) = (char) POP(DS);
51 pic_start(fcode_env_t *env)
53 env->picturebufpos = env->picturebuf + env->picturebuflen - 1;
54 *env->picturebufpos = 0;
58 pic_ustop(fcode_env_t *env)
60 CHECK_DEPTH(env, 1, "u#>");
62 push_string(env, env->picturebufpos, strlen(env->picturebufpos));
66 pic_unsigned(fcode_env_t *env)
70 CHECK_DEPTH(env, 1, "u#");
72 b = a % env->num_base;
73 TOS = (fstack_t) (a / env->num_base);
74 *(--env->picturebufpos) = DIGIT(b);
78 pic_sign(fcode_env_t *env)
82 CHECK_DEPTH(env, 1, "sign");
86 pic_hold(env);
91 pic_uremainder(fcode_env_t *env)
93 CHECK_DEPTH(env, 1, "u#s");
95 pic_unsigned(env);
100 format_number(fcode_env_t *env, int neg, int width)
102 pic_start(env);
105 pic_hold(env);
107 pic_uremainder(env);
108 if (env->num_base == 10 && neg) {
110 pic_hold(env);
112 width -= strlen(env->picturebufpos);
115 pic_hold(env);
118 pic_ustop(env);
122 convert_num(fcode_env_t *env)
126 CHECK_DEPTH(env, 1, "(.)");
128 if (env->num_base == 10 && TOS < 0) {
132 format_number(env, n, 0);
136 do_dot_r(fcode_env_t *env)
140 CHECK_DEPTH(env, 2, ".r");
143 if (env->num_base == 10 && TOS < 0) {
147 format_number(env, n, w);
148 type(env);
152 do_udot_r(fcode_env_t *env)
156 CHECK_DEPTH(env, 2, "u.r");
158 format_number(env, 0, w);
159 type(env);
163 do_dot(fcode_env_t *env)
165 CHECK_DEPTH(env, 1, ".");
167 do_dot_r(env);
171 do_dot_d(fcode_env_t *env)
175 CHECK_DEPTH(env, 1, ".d");
176 base = env->num_base;
177 env->num_base = 10;
178 do_dot(env);
179 env->num_base = base;
183 do_dot_x(fcode_env_t *env)
187 CHECK_DEPTH(env, 1, ".x");
188 base = env->num_base;
189 env->num_base = 16;
190 do_dot(env);
191 env->num_base = base;
195 do_udot(fcode_env_t *env)
197 CHECK_DEPTH(env, 1, "u.");
199 do_udot_r(env);
203 pic_dunsigned(fcode_env_t *env)
208 CHECK_DEPTH(env, 2, "#");
209 a = pop_double(env);
210 b = a % env->num_base;
211 a /= env->num_base;
212 push_double(env, a);
213 *(--env->picturebufpos) = DIGIT(b);
217 pic_dremainder(fcode_env_t *env)
219 CHECK_DEPTH(env, 2, "#s");
221 pic_dunsigned(env);
222 } while (peek_double(env));
226 pic_dstop(fcode_env_t *env)
228 CHECK_DEPTH(env, 2, "#>");
229 (void) pop_double(env);
230 push_string(env, env->picturebufpos, strlen(env->picturebufpos));
239 fcode_env_t *env = initial_env;
240 ASSERT(env);
243 env->picturebuflen = 0x100;
244 env->picturebuf = MALLOC(env->picturebuflen);