Googles appar
Huvudmeny

Post a Comment On: cbloom rants

"02-18-14 - Understanding ANS - Conclusion"

3 Comments -

1 – 3 of 3
Blogger Cyan said...

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

Blogger Cyan said...

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

Blogger cbloom said...

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

You can use some HTML tags, such as <b>, <i>, <a>

This blog does not allow anonymous comments.

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.