Home | History | Annotate | Download | only in demos

Lines Matching refs:rhs

105     struct {struct expr *lhs, *rhs;} ops;
864 RHS and left hand side lhs. Put the result in R. */
866 makeexp (expr_t *r, enum op_t op, expr_t lhs, expr_t rhs)
872 res -> operands.ops.rhs = rhs;
884 if (e->operands.ops.rhs != NULL)
885 free_expr (e->operands.ops.rhs);
897 mpz_t lhs, rhs;
905 mpz_init (lhs); mpz_init (rhs);
907 mpz_eval_expr (rhs, e->operands.ops.rhs);
908 mpz_add (r, lhs, rhs);
909 mpz_clear (lhs); mpz_clear (rhs);
912 mpz_init (lhs); mpz_init (rhs);
914 mpz_eval_expr (rhs, e->operands.ops.rhs);
915 mpz_sub (r, lhs, rhs);
916 mpz_clear (lhs); mpz_clear (rhs);
919 mpz_init (lhs); mpz_init (rhs);
921 mpz_eval_expr (rhs, e->operands.ops.rhs);
922 mpz_mul (r, lhs, rhs);
923 mpz_clear (lhs); mpz_clear (rhs);
926 mpz_init (lhs); mpz_init (rhs);
928 mpz_eval_expr (rhs, e->operands.ops.rhs);
929 mpz_fdiv_q (r, lhs, rhs);
930 mpz_clear (lhs); mpz_clear (rhs);
933 mpz_init (rhs);
934 mpz_eval_expr (rhs, e->operands.ops.rhs);
935 mpz_abs (rhs, rhs);
936 mpz_eval_mod_expr (r, e->operands.ops.lhs, rhs);
937 mpz_clear (rhs);
946 mpz_init (rhs);
948 mpz_eval_expr (powrhs, e->operands.ops.lhs->operands.ops.rhs);
949 mpz_eval_expr (rhs, e->operands.ops.rhs);
950 mpz_powm (r, powlhs, powrhs, rhs);
951 if (mpz_cmp_si (rhs, 0L) < 0)
955 mpz_clear (rhs);
959 mpz_init (lhs); mpz_init (rhs);
961 mpz_eval_expr (rhs, e->operands.ops.rhs);
962 mpz_fdiv_r (r, lhs, rhs);
963 mpz_clear (lhs); mpz_clear (rhs);
967 mpz_init (lhs); mpz_init (rhs);
969 mpz_eval_expr (rhs, e->operands.ops.rhs);
970 mpz_invert (r, lhs, rhs);
971 mpz_clear (lhs); mpz_clear (rhs);
975 mpz_init (lhs); mpz_init (rhs);
979 /* For 0^rhs and 1^rhs, we just need to verify that
980 rhs is well-defined. For (-1)^rhs we need to
981 determine (rhs mod 2). For simplicity, compute
982 (rhs mod 2) for all three cases. */
987 makeexp (&et, MOD, e->operands.ops.rhs, two);
988 e->operands.ops.rhs = et;
991 mpz_eval_expr (rhs, e->operands.ops.rhs);
992 if (mpz_cmp_si (rhs, 0L) == 0)
1003 mpz_set_si (r, (mpz_get_ui (rhs) & 1) ? -1L : 1L);
1004 else if (mpz_cmp_si (rhs, 0L) < 0)
1012 if (mpz_cmp_ui (rhs, ~(unsigned long int) 0) > 0)
1015 y = mpz_get_ui (rhs);
1033 mpz_clear (lhs); mpz_clear (rhs);
1037 mpz_clear (lhs); mpz_clear (rhs);
1040 mpz_init (lhs); mpz_init (rhs);
1042 mpz_eval_expr (rhs, e->operands.ops.rhs);
1043 mpz_gcd (r, lhs, rhs);
1044 mpz_clear (lhs); mpz_clear (rhs);
1048 mpz_init (lhs); mpz_init (rhs);
1050 mpz_eval_expr (rhs, e->operands.ops.rhs);
1051 mpz_lcm (r, lhs, rhs);
1052 mpz_clear (lhs); mpz_clear (rhs);
1056 mpz_init (lhs); mpz_init (rhs);
1058 mpz_eval_expr (rhs, e->operands.ops.rhs);
1059 mpz_and (r, lhs, rhs);
1060 mpz_clear (lhs); mpz_clear (rhs);
1063 mpz_init (lhs); mpz_init (rhs);
1065 mpz_eval_expr (rhs, e->operands.ops.rhs);
1066 mpz_ior (r, lhs, rhs);
1067 mpz_clear (lhs); mpz_clear (rhs);
1071 mpz_init (lhs); mpz_init (rhs);
1073 mpz_eval_expr (rhs, e->operands.ops.rhs);
1074 mpz_xor (r, lhs, rhs);
1075 mpz_clear (lhs); mpz_clear (rhs);
1099 mpz_init (lhs); mpz_init (rhs);
1101 mpz_eval_expr (rhs, e->operands.ops.rhs);
1102 if (mpz_sgn (rhs) <= 0)
1105 mpz_clear (lhs); mpz_clear (rhs);
1108 if (mpz_sgn (lhs) < 0 && (mpz_get_ui (rhs) & 1) == 0)
1111 mpz_clear (lhs); mpz_clear (rhs);
1116 unsigned long int nth = mpz_get_ui (rhs);
1117 if (mpz_cmp_ui (rhs, ~(unsigned long int) 0) > 0)
1126 mpz_clear (lhs); mpz_clear (rhs);
1148 mpz_init (lhs); mpz_init (rhs);
1150 mpz_eval_expr (rhs, e->operands.ops.rhs);
1151 cnt = mpz_hamdist (lhs, rhs);
1152 mpz_clear (lhs); mpz_clear (rhs);
1171 mpz_init (lhs); mpz_init (rhs);
1173 mpz_eval_expr (rhs, e->operands.ops.rhs);
1177 mpz_clear (lhs); mpz_clear (rhs);
1180 if (mpz_cmp_ui (rhs, 256) >= 0)
1183 mpz_clear (lhs); mpz_clear (rhs);
1186 cnt = mpz_sizeinbase (lhs, mpz_get_ui (rhs));
1188 mpz_clear (lhs); mpz_clear (rhs);
1280 mpz_init (lhs); mpz_init (rhs);
1282 mpz_eval_expr (rhs, e->operands.ops.rhs);
1285 if (mpz_cmp_ui (rhs, ~(unsigned long int) 0) > 0)
1288 mpz_clear (lhs); mpz_clear (rhs);
1291 k = mpz_get_ui (rhs);
1294 mpz_clear (lhs); mpz_clear (rhs);
1313 mpz_t lhs, rhs;
1318 mpz_init (lhs); mpz_init (rhs);
1320 mpz_eval_expr (rhs, e->operands.ops.rhs);
1321 mpz_powm (r, lhs, rhs, mod);
1322 mpz_clear (lhs); mpz_clear (rhs);
1325 mpz_init (lhs); mpz_init (rhs);
1327 mpz_eval_mod_expr (rhs, e->operands.ops.rhs, mod);
1328 mpz_add (r, lhs, rhs);
1333 mpz_clear (lhs); mpz_clear (rhs);
1336 mpz_init (lhs); mpz_init (rhs);
1338 mpz_eval_mod_expr (rhs, e->operands.ops.rhs, mod);
1339 mpz_sub (r, lhs, rhs);
1344 mpz_clear (lhs); mpz_clear (rhs);
1347 mpz_init (lhs); mpz_init (rhs);
1349 mpz_eval_mod_expr (rhs, e->operands.ops.rhs, mod);
1350 mpz_mul (r, lhs, rhs);
1352 mpz_clear (lhs); mpz_clear (rhs);