I've tried to compile your project, but so far no luck. GCC complains about a missing crtdef.h, so I believe it means it must be compiled using MSVC.
But MSVC has problem too. I'm using VS 2012 express. Here is the "debug" output ("release" is a lot more worse)
1>------ Début de la génération : Projet : ans, Configuration : Debug x64 ------ 1> ans_fast.cpp 1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtgmath.h(86): error C2244: 'cb::acos_asserting' : impossible de faire correspondre la définition de fonction avec une déclaration existante 1> c:\my program files\dev\compression\entropy\bloom\ans\cblib/FloatUtil.h(964) : voir la déclaration de 'cb::acos_asserting' 1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtgmath.h(87): error C2244: 'cb::asin_asserting' : impossible de faire correspondre la définition de fonction avec une déclaration existante 1> c:\my program files\dev\compression\entropy\bloom\ans\cblib/FloatUtil.h(963) : voir la déclaration de 'cb::asin_asserting' 1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtgmath.h(105): error C2244: 'cb::sqrt_asserting' : impossible de faire correspondre la définition de fonction avec une déclaration existante 1> c:\my program files\dev\compression\entropy\bloom\ans\cblib/FloatUtil.h(962) : voir la déclaration de 'cb::sqrt_asserting' ========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
Is there any chance to have or build a "reduced dependency" version of fast ANS ?
I'm trying to get your code included into an open source portable program, but the amount of dependency with cblib is quite deep (and afaik cblib is only for Windows).
"02-18-14 - Understanding ANS - Conclusion"
3 Comments -
I've tried to compile your project, but so far no luck. GCC complains about a missing crtdef.h, so I believe it means it must be compiled using MSVC.
But MSVC has problem too. I'm using VS 2012 express. Here is the "debug" output ("release" is a lot more worse)
1>------ Début de la génération : Projet : ans, Configuration : Debug x64 ------
1> ans_fast.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtgmath.h(86): error C2244: 'cb::acos_asserting' : impossible de faire correspondre la définition de fonction avec une déclaration existante
1> c:\my program files\dev\compression\entropy\bloom\ans\cblib/FloatUtil.h(964) : voir la déclaration de 'cb::acos_asserting'
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtgmath.h(87): error C2244: 'cb::asin_asserting' : impossible de faire correspondre la définition de fonction avec une déclaration existante
1> c:\my program files\dev\compression\entropy\bloom\ans\cblib/FloatUtil.h(963) : voir la déclaration de 'cb::asin_asserting'
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtgmath.h(105): error C2244: 'cb::sqrt_asserting' : impossible de faire correspondre la définition de fonction avec une déclaration existante
1> c:\my program files\dev\compression\entropy\bloom\ans\cblib/FloatUtil.h(962) : voir la déclaration de 'cb::sqrt_asserting'
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
February 18, 2014 at 4:01 PM
Is there any chance to have or build a "reduced dependency" version of fast ANS ?
I'm trying to get your code included into an open source portable program, but the amount of dependency with cblib is quite deep (and afaik cblib is only for Windows).
March 28, 2014 at 11:16 AM
I'd love to do nice open source versions of lots of stuff. (LZ-ANS anyone?) But I just don't have free time and noone is paying me to do it.
I think it should be pretty easy though. I would just take the core functions and only port those. (you don't need string or fileenum)
vector_s can be replaced with just a C array and a 'size' variable.
cb::sum is trivial
check_value_cast can be replaced with static_cast
You have to use STL or write a heap.
etc.
March 28, 2014 at 2:41 PM