MCPcopy Create free account
hub / github.com/SeaOfNodes/Simple / widen

Method widen

chapter23/src/main/java/com/seaofnodes/simple/node/Node.java:635–643  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

633 // If any input is a float, flip to a float-flavored opcode and widen any
634 // non-float input.
635 public final Node widen() {
636 if( !hasFloatInput() ) return this;
637 Node flt = copyF();
638 if( flt==null ) return this;
639 for( int i=1; i<nIns(); i++ )
640 flt.setDef(i, in(i)._type instanceof TypeFloat ? in(i) : new ToFloatNode(in(i)).peephole());
641 kill();
642 return flt;
643 }
644 private boolean hasFloatInput() {
645 for( int i=1; i<nIns(); i++ )
646 if( in(i)._type instanceof TypeFloat )

Callers 6

parseShiftMethod · 0.95
parseAdditionMethod · 0.95
opAssignMethod · 0.95
parseComparisonMethod · 0.45
parseMultiplicationMethod · 0.45
parseUnaryMethod · 0.45

Calls 7

hasFloatInputMethod · 0.95
copyFMethod · 0.95
nInsMethod · 0.95
setDefMethod · 0.95
inMethod · 0.95
killMethod · 0.95
peepholeMethod · 0.45

Tested by

no test coverage detected