Subversion Repositories wimsdev

Rev

Rev 16251 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 16251 Rev 17693
Line 461... Line 461...
461
  if(neucnt>0) qsort(neutral,neucnt,sizeof(neutral[0]),fsort);
461
  if(neucnt>0) qsort(neutral,neucnt,sizeof(neutral[0]),fsort);
462
  if(sign>0 && num>0 && rel==0) tprint(" +");
462
  if(sign>0 && num>0 && rel==0) tprint(" +");
463
  if(sign<0) tprint(" -");
463
  if(sign<0) tprint(" -");
464
  if(fcnt<1) tprint("1 "); // no factors why 1 - don't remove the 1 if [1,2;3,4], the 1 is useful?
464
  if(fcnt<1) tprint("1 "); // no factors why 1 - don't remove the 1 if [1,2;3,4], the 1 is useful?
465
  if(dencnt>0) {
465
  if(dencnt>0) {
466
    tprint(" {");
466
    tprint(" {\\frac{");
467
    if(numcnt==0) tprint(" 1"); // no numerator ? will write {1 over denominator}
467
    if(numcnt==0) tprint(" 1"); // no numerator ? will write {1 over denominator}
468
    else {/* numerator */
468
    else {/* numerator */
469
      if(numcnt==1 && *numerator[0]->beg=='(' &&
469
      if(numcnt==1 && *numerator[0]->beg=='(' &&
470
          find_matching(numerator[0]->beg+1,')')==(numerator[0]->end)-1) {
470
          find_matching(numerator[0]->beg+1,')')==(numerator[0]->end)-1) {
471
        *(numerator[0]->end-1)=0;
471
        *(numerator[0]->end-1)=0;
Line 473... Line 473...
473
        *(numerator[0]->end-1)=')';
473
        *(numerator[0]->end-1)=')';
474
      }
474
      }
475
      else for(i=0; i<numcnt; i++) {t_onefactor(numerator[i],i);
475
      else for(i=0; i<numcnt; i++) {t_onefactor(numerator[i],i);
476
      if(i<numcnt-1) tprint(" ");} /* add space between factors */
476
      if(i<numcnt-1) tprint(" ");} /* add space between factors */
477
    }
477
    }
478
    tprint(" \\over ");      /* Now denominator */
478
    tprint(" }{ ");      /* Now denominator */
479
    if(dencnt==1 && *denominator[0]->beg=='(' &&
479
    if(dencnt==1 && *denominator[0]->beg=='(' &&
480
      find_matching(denominator[0]->beg+1,')')==(denominator[0]->end)-1) {
480
      find_matching(denominator[0]->beg+1,')')==(denominator[0]->end)-1) {
481
       *(denominator[0]->end-1)=0;
481
       *(denominator[0]->end-1)=0;
482
       t_onestring(denominator[0]->beg+1);
482
       t_onestring(denominator[0]->beg+1);
483
       *(denominator[0]->end-1)=')';
483
       *(denominator[0]->end-1)=')';
484
    }
484
    }
485
    else for(i=0;i<dencnt;i++) {t_onefactor(denominator[i],i);
485
    else for(i=0;i<dencnt;i++) {t_onefactor(denominator[i],i);
486
    if(i<dencnt-1) tprint(" ");} /* add space between factors */
486
    if(i<dencnt-1) tprint(" ");} /* add space between factors */
487
    tprint("} ");
487
    tprint("}} ");
488
  }
488
  }
489
  for(i=0;i<neucnt;i++) {t_onefactor(neutral[i],i+dencnt);
489
  for(i=0;i<neucnt;i++) {t_onefactor(neutral[i],i+dencnt);
490
  if(i<neucnt-1) tprint(" ");} /* add space between factors */
490
  if(i<neucnt-1) tprint(" ");} /* add space between factors */
491
}
491
}
492
 
492