reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
829 if (!data->build) 832 n = isl_aff_dim(data->div, isl_dim_div); 834 if (isl_aff_involves_dims(data->div, isl_dim_div, 0, n)) 835 return extract_nonneg_mod(data); 837 hull = isl_set_simple_hull(isl_set_copy(data->build->domain)); 839 data->sign = 0; 840 data->nonneg = NULL; 842 data); 845 if (!data->sign || r < 0) { 846 isl_aff_free(data->nonneg); 849 return extract_nonneg_mod(data); 852 v1 = isl_aff_get_constant_val(data->div); 853 v2 = isl_aff_get_constant_val(data->nonneg); 854 if (data->sign < 0) { 856 v1 = isl_val_add(v1, isl_val_copy(data->d)); 860 v1 = isl_val_mod(v1, isl_val_copy(data->d)); 862 v2 = isl_val_div(isl_val_copy(v1), isl_val_copy(data->d)); 865 v2 = isl_val_mul(v2, isl_val_copy(data->d)); 868 data->nonneg = isl_aff_set_constant_val(data->nonneg, v1); 868 data->nonneg = isl_aff_set_constant_val(data->nonneg, v1); 871 if (data->sign < 0) { 872 data->div = oppose_div_arg(data->div, isl_val_copy(data->d)); 872 data->div = oppose_div_arg(data->div, isl_val_copy(data->d)); 872 data->div = oppose_div_arg(data->div, isl_val_copy(data->d)); 873 data->v = isl_val_neg(data->v); 873 data->v = isl_val_neg(data->v); 876 return extract_term_and_mod(data, 877 isl_aff_copy(data->div), data->nonneg); 877 isl_aff_copy(data->div), data->nonneg); 879 data->aff = isl_aff_free(data->aff); 879 data->aff = isl_aff_free(data->aff);