1493 const Type *t1 = phase->type( in(1) ); 1494 if( t1 == Type::TOP ) return Type::TOP; 1495 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1496 double d = t1->getd(); 1497 return TypeD::make( StubRoutines::intrinsic_sin( d ) ); 1498 } 1499 1500 //============================================================================= 1501 //------------------------------Value------------------------------------------ 1502 // Compute tan 1503 const Type *TanDNode::Value( PhaseTransform *phase ) const { 1504 const Type *t1 = phase->type( in(1) ); 1505 if( t1 == Type::TOP ) return Type::TOP; 1506 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1507 double d = t1->getd(); 1508 return TypeD::make( StubRoutines::intrinsic_tan( d ) ); 1509 } 1510 1511 //============================================================================= 1512 //------------------------------Value------------------------------------------ 1513 // Compute log 1514 const Type *LogDNode::Value( PhaseTransform *phase ) const { 1515 const Type *t1 = phase->type( in(1) ); 1516 if( t1 == Type::TOP ) return Type::TOP; 1517 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1518 double d = t1->getd(); 1519 return TypeD::make( StubRoutines::intrinsic_log( d ) ); 1520 } 1521 1522 //============================================================================= 1523 //------------------------------Value------------------------------------------ 1524 // Compute log10 1525 const Type *Log10DNode::Value( PhaseTransform *phase ) const { 1526 const Type *t1 = phase->type( in(1) ); 1527 if( t1 == Type::TOP ) return Type::TOP; 1528 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1529 double d = t1->getd(); 1530 return TypeD::make( StubRoutines::intrinsic_log10( d ) ); 1531 } 1532 1533 //============================================================================= 1534 //------------------------------Value------------------------------------------ 1535 // Compute pow 1536 const Type *PowDNode::Value( PhaseTransform *phase ) const { 1537 const Type *t1 = phase->type( in(1) ); 1538 if( t1 == Type::TOP ) return Type::TOP; 1539 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1540 const Type *t2 = phase->type( in(2) ); 1541 if( t2 == Type::TOP ) return Type::TOP; 1542 if( t2->base() != Type::DoubleCon ) return Type::DOUBLE; 1543 double d1 = t1->getd(); | 1493 const Type *t1 = phase->type( in(1) ); 1494 if( t1 == Type::TOP ) return Type::TOP; 1495 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1496 double d = t1->getd(); 1497 return TypeD::make( StubRoutines::intrinsic_sin( d ) ); 1498 } 1499 1500 //============================================================================= 1501 //------------------------------Value------------------------------------------ 1502 // Compute tan 1503 const Type *TanDNode::Value( PhaseTransform *phase ) const { 1504 const Type *t1 = phase->type( in(1) ); 1505 if( t1 == Type::TOP ) return Type::TOP; 1506 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1507 double d = t1->getd(); 1508 return TypeD::make( StubRoutines::intrinsic_tan( d ) ); 1509 } 1510 1511 //============================================================================= 1512 //------------------------------Value------------------------------------------ 1513 // Compute log10 1514 const Type *Log10DNode::Value( PhaseTransform *phase ) const { 1515 const Type *t1 = phase->type( in(1) ); 1516 if( t1 == Type::TOP ) return Type::TOP; 1517 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1518 double d = t1->getd(); 1519 return TypeD::make( StubRoutines::intrinsic_log10( d ) ); 1520 } 1521 1522 //============================================================================= 1523 //------------------------------Value------------------------------------------ 1524 // Compute pow 1525 const Type *PowDNode::Value( PhaseTransform *phase ) const { 1526 const Type *t1 = phase->type( in(1) ); 1527 if( t1 == Type::TOP ) return Type::TOP; 1528 if( t1->base() != Type::DoubleCon ) return Type::DOUBLE; 1529 const Type *t2 = phase->type( in(2) ); 1530 if( t2 == Type::TOP ) return Type::TOP; 1531 if( t2->base() != Type::DoubleCon ) return Type::DOUBLE; 1532 double d1 = t1->getd(); |