KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums kdb+ C++ convert large decimal to KDB Re: C++ convert large decimal to KDB

  • rocuinneagain

    Member
    October 26, 2021 at 12:00 am

    These are examples of using the C interface to extend the Kdb+ database.

     

    Documentation is here:

    https://code.kx.com/q/interfaces/using-c-functions/

    It shows an example of writing a new ‘add’ function in C:

    #include"k.h" 
    #ifdef __cplusplus extern "C"{ #endif K add(K x,K y) { if(x->t!=-KJ||y->t!=-KJ) 
         return krr("type"); 
         return kj(x->j+y->j); } 
    #ifdef __cplusplus } #endif

    Then this can be used from inside a Kdb+ process:

    q)add:(`add 2:(`add;2)) 
    q)add[3;4] 
    7

    This is a possible method to add math functions for 128-bit floating point numbers inside Kdb+.