def demand
      if variables.empty?
        if dimension > 0
          shape.last.times do |i|
            dest = @dest.element INT.new( i )
            Random.new( dest, @n ).demand
          end  
        else
          if @n.typecode < INT_ or ( @n.typecode < OBJECT and @n.get.is_a? Integer )
            @dest.store @n.typecode.new( @n.get.lrand )
          else
            @dest.store @n.typecode.new( @n.get.drand )
          end
        end
        @dest
      else
        super
      end
    end
def demand
      if variables.empty?
        if dimension > 0
          shape.last.times do |i|
            dest = @dest.element INT.new( i )
            Random.new( dest, @n ).demand
          end  
        else
          if @n.typecode < INT_ or ( @n.typecode < OBJECT and @n.get.is_a? Integer )
            @dest.store @n.typecode.new( @n.get.lrand )
          else
            @dest.store @n.typecode.new( @n.get.drand )
          end
        end
        @dest
      else
        super
      end
    end
Reevaluate computation

 @return [Node,Object] Result of computation

 @see #force

 @private