Package xyz.cofe.tfun

Class TFuns.Found

java.lang.Object
xyz.cofe.tfun.TFuns.Found
Enclosing class:
TFuns

public static class TFuns.Found
extends java.lang.Object
Результат поиска функций совпадающей с требуемыми типами функций
  • Constructor Summary

    Constructors 
    Constructor Description
    Found​(TFunction fun, java.util.List<java.lang.Integer> distances)  
  • Method Summary

    Modifier and Type Method Description
    boolean callable()
    Проверяет что данная функция может быть вызвана
    java.util.List<java.lang.Integer> distances()
    Дистанция между типами,
    возможно null значения - означает, что между типами нет ничего общего
    0 - полное совпадение
    меньше 0 - фактический тип аргмента ко-вариантен к искомому
    больше 0 - фактический тип аргмента контр-вариантен к искомому
    TFunction function()
    Возвращает искомую функцию
    long sdistance()
    Возвращает сумму квадратов дистанций summ += (Math.abs(d)+1) * (Math.abs(d)+1))

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Found

      public Found​(TFunction fun, java.util.List<java.lang.Integer> distances)
  • Method Details

    • function

      public TFunction function()
      Возвращает искомую функцию
      Returns:
      искомая функция
    • distances

      public java.util.List<java.lang.Integer> distances()
      Дистанция между типами,
      возможно null значения - означает, что между типами нет ничего общего
      0 - полное совпадение
      меньше 0 - фактический тип аргмента ко-вариантен к искомому
      больше 0 - фактический тип аргмента контр-вариантен к искомому
      Returns:
      дистанция между фактическими типами аргументами функции и искомыми типами
    • callable

      public boolean callable()
      Проверяет что данная функция может быть вызвана
      Returns:
      true - функция вызываемая
    • sdistance

      public long sdistance()
      Возвращает сумму квадратов дистанций summ += (Math.abs(d)+1) * (Math.abs(d)+1))
      Returns:
      дистанция или Long.MAX_VALUE когда данную функцию не возможно вызвать