Skip to content

File mathtables.cc

FileList > ase > mathtables.cc

  • #include "mathutils.hh"
  • #include "api.hh"
  • #include "internal.hh"

Namespaces

Type Name
namespace Ase
The Anklang C++ API namespace.

Macros

Type Name
define DIATONIC_SCALE (scale)
define EQTEMP_12_TET (scale)
define EQTEMP_5_TET (scale)
define EQTEMP_7_TET (scale)
define INDIAN_SCALE (scale)
define KBERGER3_TEMPERAMENT (scale)
define PENTATONIC_5_LIMIT (scale)
define PENTATONIC_BLUES (scale)
define PENTATONIC_GOGO (scale)
define PYTHAGOREAN_TUNING (scale)
define QCOMMA_MEANTONE (scale)
define SCALED_INTERVAL (scale, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)
define SILBERMANN_SORGE (scale)
define SQRT2_2 1.4142135623730950488016887242097 /* 2^0.5 */
define SQRT3_2 1.2599210498948731647672106072782 /* 2^(1/3) */
define SQRT3_4 1.5874010519681994747517056392723 /* 4^(1/3) */
define SQRT4_2 1.1892071150027210667174999705605 /* 2^0.25 */
define SQRT4_8 1.6817928305074290860622509524664 /* 8^0.25 */
define WMEISTER3_TEMPERAMENT (scale)
define WMEISTER4_TEMPERAMENT (scale)
define WMEISTER5_TEMPERAMENT (scale)
define WMEISTER6_TEMPERAMENT (scale)
define YOUNG_TEMPERAMENT (scale)

Macro Definition Documentation

define DIATONIC_SCALE

#define DIATONIC_SCALE (
    scale
) SCALED_INTERVAL (scale, 1.0,                                                  \
    16 / 15.0, 9 / 8.0, 6 / 5.0, 5 / 4.0, 4 / 3.0, 45 / 32.0,                   \
    3 / 2.0, 8 / 5.0, 5 / 3.0, 16 / 9.0, 15 / 8.0)

define EQTEMP_12_TET

#define EQTEMP_12_TET (
    scale
) SCALED_INTERVAL (scale, 1.0,                                                  \
    1.0594630943592952646, 1.1224620483093729814, 1.1892071150027210667,        \
    1.2599210498948731648, 1.3348398541700343648, 1.4142135623730950488,        \
    1.4983070768766814988, 1.5874010519681994748, 1.6817928305074290861,        \
    1.7817974362806786095, 1.8877486253633869933) /* 2^(1/12*[0..11]) */

define EQTEMP_5_TET

#define EQTEMP_5_TET (
    scale
) SCALED_INTERVAL (scale,                                                       \
                   1.0,                               /* 2^(0*240/1200) */      \
                   1.0717734625362931642130063250233, /* 2^(120.0/1200) (NA) */ \
                   1.1486983549970350067986269467779, /* 2^(1*240/1200) */      \
                   1.2311444133449162844993930691677, /* 2^(360.0/1200) (NA) */ \
                   1.3195079107728942593740019712296, /* 2^(2*240/1200) */      \
                   1.3819128799677760808194941234190, /* 2^(560.0/1200) (NA) */ \
                   1.4472692374403780699545336842135, /* 2^(640.0/1200) (NA) */ \
                   1.5157165665103980823472598013064, /* 2^(3*240/1200) */      \
                   1.6245047927124710452194187655506, /* 2^(840.0/1200) (NA) */ \
                   1.7411011265922482782725400349595, /* 2^(4*240/1200) */      \
                   1.8234449771164336156322101570883, /* 2^(1040./1200) (NA) */ \
                   1.9096832078208331020817981494413) /* 2^(1120./1200) (NA) */

define EQTEMP_7_TET

#define EQTEMP_7_TET (
    scale
) SCALED_INTERVAL (scale,                                                       \
                   1.0,                               /* 2^(0*171/1200) */      \
                   1.0506265879517071439385515999019, /* 2^(85.5/1200) (NA) */  \
                   1.1038162273110462268251028980804, /* 2^(1*171/1200) */      \
                   1.1596986766255304738157085667472, /* 2^(256.5/1200) (NA) */ \
                   1.2184102636751912741300922949139, /* 2^(2*171/1200) */      \
                   1.3449010205670067009547481593893, /* 2^(3*171/1200) */      \
                   1.4129887703710829641940858921341, /* 2^(598.5/1200) (NA) */ \
                   1.4845235706290491252321849551821, /* 2^(4*171/1200) */      \
                   1.5596799337438830130108590901031, /* 2^(769.5/1200) (NA) */ \
                   1.6386412070860804772885357729621, /* 2^(5*171/1200) */      \
                   1.7216000202779154901968996860588, /* 2^(940.5/1200) (NA) */ \
                   1.8087587551221761812432481457391) /* 2^(6*171/1200) */

define INDIAN_SCALE

#define INDIAN_SCALE (
    scale
) SCALED_INTERVAL (scale, 1.0,                                          \
    16 / 15.0, 9 / 8.0, 6 / 5.0, 5 / 4.0, 4 / 3.0, 45 / 32.0,           \
    3 / 2.0, 8 / 5.0, 5 / 3.0, 27 / 16.0, 15 / 8.0)

define KBERGER3_TEMPERAMENT

#define KBERGER3_TEMPERAMENT (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   25 / 24.0, 9 / 8.0, 6 / 5.0, 5 / 4.0,                        \
                   4 / 3.0, 45 / 32.0, 3 / 2.0, 25 / 16.0,                      \
                   5 / 3.0, 16 / 9.0, 15 / 8.0)

define PENTATONIC_5_LIMIT

#define PENTATONIC_5_LIMIT (
    scale
) SCALED_INTERVAL (scale, 1.0,                                          \
    256 / 243.0, 9 / 8.0, 32 / 27.0, 5 / 4.0, 4 / 3.0, 729 / 512.0,     \
    3 / 2.0, 128 / 81.0, 5 / 3.0, 16 / 9.0, 243 / 128.0)

define PENTATONIC_BLUES

#define PENTATONIC_BLUES (
    scale
) SCALED_INTERVAL (scale, 1.0,                                          \
    256 / 243.0, 9 / 8.0, 7 / 6.0, 21 / 16.0, 4 / 3.0, 7 / 5.0,         \
    3 / 2.0, 128 / 81.0, 7 / 4.0, 16 / 9.0, 243 / 128.0)

define PENTATONIC_GOGO

#define PENTATONIC_GOGO (
    scale
) SCALED_INTERVAL (scale, 1.0,                                          \
    256 / 243.0, 9 / 8.0, 32 / 27.0, 5 / 4.0, 4 / 3.0, 729 / 512.0,     \
    3 / 2.0, 128 / 81.0, 7 / 4.0, 16 / 9.0, 243 / 128.0)

define PYTHAGOREAN_TUNING

#define PYTHAGOREAN_TUNING (
    scale
) SCALED_INTERVAL (scale, 1.0,                                          \
    256 / 243.0, 9 / 8.0, 32 / 27.0, 81 / 64.0, 4 / 3.0, 729 / 512.0,   \
    3 / 2.0, 128 / 81.0, 27 / 16.0, 16 / 9.0, 243 / 128.0)

define QCOMMA_MEANTONE

#define QCOMMA_MEANTONE (
    scale
) SCALED_INTERVAL (scale, 1.0,                                                          \
                   1.0449067265256594125050516769666, /* (2187/128)/(81/80)^1.75/16 */  \
                   1.1180339887498948482045868343656, /* (9/4)/(81/80)^.5/2 */          \
                   1.1962790249769764335295191953127, /* (8/27)*(81/80)^.75*4 */        \
                   5 / 4.0,                           /* (81/16)/(81/80)/4 */           \
                   1.3374806099528440480064661465173, /* (2/3)*(81/80)^.25*2 */         \
                   1.3975424859373685602557335429570, /* (729/64)/(81/80)^1.5/8 */      \
                   1.4953487812212205419118989941409, /* (3/2)/(81/80)^.25 */           \
                   25 / 16.0,                                                           \
                   1.6718507624410550600080826831466, /* (27/8)/(81/80)^.75/2 */        \
                   1.7888543819998317571273389349850, /* (4/9)*(81/80)^.5*4 */          \
                   1.8691859765265256773898737426761) /* (243/32)/(81/80)^1.25/4 */

define SCALED_INTERVAL

#define SCALED_INTERVAL (
    scale,
    F1,
    F2,
    F3,
    F4,
    F5,
    F6,
    F7,
    F8,
    F9,
    F10,
    F11,
    F12
) scale * (F1), scale * (F2), scale * (F3), scale * (F4), scale * (F5), scale * (F6),   \
  scale * (F7), scale * (F8), scale * (F9), scale * (F10), scale * (F11), scale * (F12)

define SILBERMANN_SORGE

#define SILBERMANN_SORGE (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   1.0509300646305402574490134498012, /* 2^(86/1200) */         \
                   1.1198716040467591250082361837530, /* 2^(196/1200) */        \
                   1.1933357430317218729952278581798, /* 2^(306/1200) */        \
                   1.2541124095502612486514063523921, /* 2^(392/1200) */        \
                   1.3363828127152655319782668003685, /* 2^(502/1200) */        \
                   1.4044448757379971820788342284695, /* 2^(588/1200) */        \
                   1.4965771640959640975810263196965, /* 2^(698/1200) */        \
                   1.5727979357879622015539138854402, /* 2^(784/1200) */        \
                   1.6759742693358971625849112463630, /* 2^(894/1200) */        \
                   1.7859190221207644704151890003616, /* 2^(1004/1200) */       \
                   1.8768759933422862606134778581222) /* 2^(1090/1200) */

define SQRT2_2

#define SQRT2_2 1.4142135623730950488016887242097       /* 2^0.5 */

define SQRT3_2

#define SQRT3_2 1.2599210498948731647672106072782       /* 2^(1/3) */

define SQRT3_4

#define SQRT3_4 1.5874010519681994747517056392723       /* 4^(1/3) */

define SQRT4_2

#define SQRT4_2 1.1892071150027210667174999705605       /* 2^0.25 */

define SQRT4_8

#define SQRT4_8 1.6817928305074290860622509524664       /* 8^0.25 */

define WMEISTER3_TEMPERAMENT

#define WMEISTER3_TEMPERAMENT (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   256 / 243.0, 64 * SQRT2_2 / 81.0, 32 / 27.0,                 \
                   256 * SQRT4_2 / 243.0, 4 / 3.0, 1024 / 729.0,                \
                   8 * SQRT4_8 / 9.0, 128 / 81.0, 1024 * SQRT4_2 / 729.0,       \
                   16 / 9.0, 128 * SQRT4_2 / 81.0)

define WMEISTER4_TEMPERAMENT

#define WMEISTER4_TEMPERAMENT (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   16384 * SQRT3_2 / 19683.0, 8 * SQRT3_2 / 9.0, 32 / 27.0,     \
                   64 * SQRT3_4 / 81.0, 4 / 3.0, 1024 / 729.0,                  \
                   32 * SQRT3_2 / 27.0, 8192 * SQRT3_2 / 6561.0,                \
                   256 * SQRT3_4 / 243.0, 9 / 8.0 * SQRT3_4, 4096 / 2187.0)

define WMEISTER5_TEMPERAMENT

#define WMEISTER5_TEMPERAMENT (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   8 * SQRT4_2 / 9.0, 9 / 8.0, SQRT4_2, 8 * SQRT2_2 / 9.0,      \
                   9 / 8.0 * SQRT4_2, SQRT2_2, 3 / 2.0, 128 / 81.0,             \
                   SQRT4_8, 3 / SQRT4_8, 4 * SQRT2_2 / 3.0)

define WMEISTER6_TEMPERAMENT

#define WMEISTER6_TEMPERAMENT (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   98 / 93.0, 28 / 25.0, 196 / 165.0, 49 / 39.0, 4 / 3.0,       \
                   196 / 139.0, 196 / 131.0, 49 / 31.0, 196 / 117.0,            \
                   98 / 55.0, 49 / 26.0)

define YOUNG_TEMPERAMENT

#define YOUNG_TEMPERAMENT (
    scale
) SCALED_INTERVAL (scale, 1.0, /* 2^(0/1200) */                                 \
                   1.0631412837780103584827404056079, /* 2^(106/1200) */        \
                   1.1211660780285088308680165651114, /* 2^(198/1200) */        \
                   1.1933357430317218729952278581798, /* 2^(306/1200) */        \
                   1.2599210498948731647672106072782, /* 2^(400/1200) */        \
                   1.3363828127152655319782668003685, /* 2^(502/1200) */        \
                   1.4174848672222598142134666752417, /* 2^(604/1200) */        \
                   1.4965771640959640975810263196965, /* 2^(698/1200) */        \
                   1.5929121092043532274138841376768, /* 2^(806/1200) */        \
                   1.6798510690641884687069808937168, /* 2^(898/1200) */        \
                   1.7859190221207644704151890003616, /* 2^(1004/1200) */       \
                   1.8899306982642323704825496345032) /* 2^(1102/1200) */


The documentation for this class was generated from the following file /__w/anklang/anklang/ase/mathtables.cc