Массив Judy для управляемых языков

Вы можете использовать функцию round () или roundup () или rounddown () в зависимости от того, что вам нужно.

Для приведенного вами примера будет работать rounddown ():

=rounddown(A1*0.001,0)

, если предположить, что число находится в ячейке A1.

Roundup () даст результат 24 из 23200 ...

11
задан Quinn Taylor 15 June 2009 в 19:55
поделиться

3 ответа

Стоит отметить, что их часто называют Judy Trees или Judy Tries, если Вы гуглите для них.

Я также искал реализацию .NET, но ничего не нашел. Также стоящий замечания, что:

Реализация в большой степени разработана на основе эффективного использования кэша, специфические особенности реализации как таковые могут очень зависеть от размера определенных конструкций, используемых в sub структурах. Управляемая реализация .NET может несколько отличаться в этом отношении.

Существуют некоторые значительные препятствия к нему, что я вижу (и существует, вероятно, больше что мое краткое пропущенное сканирование),

  • API имеет некоторые довольно анти-аспекты OO (например, нулевой указатель просматривается как пустое дерево), настолько упрощенный, переместите указатель состояния на LHS и сделайте преобразование методов экземпляра функций в C++, не работал бы.
  • Реализация sub структур я посмотрел на сделанное интенсивное использование указателей. Я не вижу их эффективно переводимые в ссылки на управляемых языках.
  • Реализация является дистилляцией большого количества очень сложных идей, которое противоречит простоте общедоступного API.
  • Кодовая база о 20K строках (большая часть из него комплекс), это не кажется мне легким портом.

Вы могли взять библиотеку и перенести код C в C++ / CLI (вероятно, просто содержащий внутренне указатель, который является c API trie, и имеющий все вызовы c указывают этому). Это обеспечило бы упрощенную реализацию, но связанные библиотеки для собственной реализации могут быть проблематичными (как мог бы выделение памяти). Необходимо было бы также, вероятно, иметь дело с преобразованием строк .NET к простому байту* на переходе также (или просто работать с байтами непосредственно),

16
ответ дан 3 December 2019 в 02:53
поделиться

Это оказывается более хитрым, чем я думал. PyJudy мог бы быть достойный внимания, как будет Связь:: Judy. Существует что-то на Softpedia и чем-то выход Ruby. Проблема, ни один из них не.NET конкретно.

2
ответ дан 3 December 2019 в 02:53
поделиться

Judy действительно не соответствует хорошо управляемым языкам. Я не думаю, что Вы сможете использовать что-то как БОЛЬШОЙ ГЛОТОК и сделать первый слой автоматически.

Я записал PyJudy, и я закончил тем, что имел необходимость внести некоторые нетривиальные изменения API для установки хорошо к Python. Например, я записал в документации:

Массивы JudyL отображают машинные слова на машинные слова. На практике слова хранят целые числа без знака или указатели. PyJudy поддерживает все четыре отображения как отличные классы.

  • pyjudy. JudyLIntInt - отображают ключи беззнаковых целых чисел к значениям беззнаковых целых чисел
  • pyjudy. JudyLIntObj - отображают ключи беззнаковых целых чисел к значениям объекта Python
  • pyjudy. JudyLObjInt - отображают ключи объекта Python к значениям беззнаковых целых чисел
  • pyjudy. JudyLObjObj - отображают ключи объекта Python к значениям объекта Python

Я не смотрел на код в течение нескольких лет, таким образом, мои памяти об этом являются довольно туманными. Это была моя первая библиотека расширения Python, и я помню, что взломал вместе своего рода шаблонную систему для генерации кода. В наше время я использовал бы что-то как genshi.

Я не могу указать на альтернативы Judy - это - одна причина, почему я ищу Stackoverflow.

Править: Мне сказали, что мои числа синхронизации в документации выключены от того, что предлагает документация Judy, потому что Judy разрабатывается для 64-разрядных строк кэша, и мой PowerBook составлял только 32 бита.

Некоторые другие ссылки:

Последнее имеет числа сравнения для различных высокоэффективных trie реализаций.

12
ответ дан 3 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: