~ubuntu-branches/debian/squeeze/gmsh/squeeze

« back to all changes in this revision

Viewing changes to contrib/MathEval/node.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme, Christophe Prud'homme
  • Date: 2009-07-13 15:49:21 UTC
  • mfrom: (7.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20090713154921-zer07j8wixwa07ig
Tags: 2.3.1.dfsg-4
[Christophe Prud'homme]
* Bug fix: "gmsh with cgns write support", thanks to Oliver Borm
  (Closes: #529972).
* debian/rules: make sure that Gmsh is built with occ support on all
  platforms thanks to Denis Barbier (#536435).

Show diffs side-by-side

added added

removed removed

Lines of Context:
502
502
     */
503
503
    else if (!strcmp(node->data.function.record->name, "Fabs"))
504
504
      return node_create('b', '/', node_create('b', '*', node_derivative(node->data.function.child, name, symbol_table), node_copy(node->data.function.child)), node_create('f', symbol_table_lookup(symbol_table, "Sqrt"), node_create('b', '^', node_copy(node->data.function.child), node_create('c', 2.0))));
 
505
 
 
506
     /*
 
507
     * Apply rule of step function derivative. 
 
508
     */
 
509
    else if (!strcmp(node->data.function.record->name, "Step"))
 
510
      return node_create('b', '*',node_derivative(node->data.function.child, name, symbol_table), node_create('f', symbol_table_lookup(symbol_table,"Delta"), node_copy(node->data.function.child)));
 
511
 
 
512
    /*
 
513
     * Apply rule of floor function derivative. 
 
514
     */
 
515
    else if (!strcmp(node->data.function.record->name, "Floor"))
 
516
       return node_create('b', '*', node_derivative(node->data.function.child, name, symbol_table), node_create('f',symbol_table_lookup(symbol_table, "Delta"), node_copy(node->data.function.child)));
 
517
 
 
518
    /*
 
519
     * Apply rule of smoothed heaviside function derivative. 
 
520
     */
 
521
    else if (!strcmp(node->data.function.record->name, "HeavS")){
 
522
      //printf("********************************  Derivative of smoothed heaviside function not implemented yet, return a Delta function ...");
 
523
      return node_create('b', '*',node_derivative(node->data.function.child, name, symbol_table), node_create('f', symbol_table_lookup(symbol_table,"Delta"), node_copy(node->data.function.child)));
 
524
    }
 
525
 
 
526
    /*
 
527
     * Apply rule of delta function derivative. 
 
528
     */
 
529
    else if (!strcmp(node->data.function.record->name, "Delta"))
 
530
      return node_create('b', '*',node_derivative(node->data.function.child, name,symbol_table),node_create('f',symbol_table_lookup(symbol_table, "NanDelta"), node_copy(node->data.function.child)));
 
531
     
 
532
 
 
533
    /*
 
534
     * Apply rule of nandelta function derivative. 
 
535
     */
 
536
    else if (!strcmp(node->data.function.record->name, "NanDelta"))
 
537
      return node_create('b', '*', node_derivative(node->data.function.child, name, symbol_table), node_create('f',symbol_table_lookup(symbol_table, "NanDelta"), node_copy(node->data.function.child)));
 
538
 
 
539
 
 
540
 
 
541
 
505
542
    
506
543
  case 'u':
507
544
    switch (node->data.un_op.operatorr) {